pdf-tools로 AUCTeX가 PDF를 열도록하는 방법


11

일부 TeX / LaTeX 편집기는 PDF 뷰어 임베딩 및 앞으로 / 뒤로 검색 지원을 지원합니다.

이 결과에 대해 AUCTeX 및 pdf-tools를 구성하고 싶습니다.

메일 링리스트에서 토론을 찾았습니다.

https://lists.gnu.org/archive/html/auctex/2015-02/msg00013.html

Emacs에서 pdf-tools로이 여는 PDF 파일을 구현하는 방법을 제공합니다. 나는 그것을 따랐지만 작동하지 않습니다.

내 구성은 다음과 같습니다.

(require 'tex-site)
(require 'latex)

;;; AUCTeX config
(setq TeX-auto-save t
      TeX-parse-self t)

(setq-default TeX-master nil)

;; automatic detection of master file
(defun guess-TeX-master (filename)
  "Guess the master file for FILENAME from currently open .tex files."
  (let ((candidate nil)
        (filename (file-name-nondirectory filename)))
    (save-excursion
      (dolist (buffer (buffer-list))
        (with-current-buffer buffer
          (let ((name (buffer-name))
                (file buffer-file-name))
            (if (and file (string-match "\\.tex$" file))
                (progn
                  (goto-char (point-min))
                  (if (re-search-forward (concat "\\\\input{" filename "}") nil t)
                      (setq candidate file))
                  (if (re-search-forward (concat "\\\\include{" (file-name-sans-extension filename) "}") nil t)
                      (setq candidate file))))))))
    (if candidate
        (message "TeX master document: %s" (file-name-nondirectory candidate)))
    candidate))

(add-hook 'LaTeX-mode-hook
          '(lambda ()
             (setq TeX-master (guess-TeX-master (buffer-file-name)))
             ))

;; enable RefTeX in AUCTeX (LaTeX-mode)
(setq reftex-plug-into-AUCTeX t)
(add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
(add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode

;; view generated PDF with `pdf-tools'.
(unless (assoc "PDF Tools" TeX-view-program-list-builtin)
  (add-to-list 'TeX-view-program-list-builtin
               '("PDF Tools" TeX-pdf-tools-sync-view)))
(add-to-list 'TeX-view-program-selection
             '(output-pdf "PDF Tools"))

;; LaTeX source code block syntax highlighting.
;; [ minted ]
;; toggle shell escape using [C-c C-t x].
(defun TeX-toggle-escape ()
  "Toggle Shell Escape"
  (interactive)
  (setq-local LaTeX-command
              (if (string= LaTeX-command "latex") "latex -shell-escape"
                "latex"))
  (message (concat "shell escape "
                   (if (string= LaTeX-command "latex -shell-escape")
                       "enabled"
                     "disabled"))
           ))
(add-hook 'LaTeX-mode-hook
          '(lambda ()
             (local-set-key (kbd "C-c C-t x") 'TeX-toggle-escape)))

답변:


13

다음은 auctex-11.89및 설정을 사용한 설정입니다 pdf-tools-20151224.1159.

;; Use pdf-tools to open PDF files
(setq TeX-view-program-selection '((output-pdf "PDF Tools"))
      TeX-source-correlate-start-server t)

;; Update PDF buffers after successful LaTeX runs
(add-hook 'TeX-after-compilation-finished-functions
           #'TeX-revert-document-buffer)

2
주석 : 만 TeX-PDF-modeAUCTeX 11.88부터 기본적으로 활성화됩니다.
giordano

나는 당신의 방법을 시도했는데, emacs -q패키지를 사용 하고로드 할 때 작동 할 수 있습니다 . 내 구성에 문제가 있습니다. 이유를 알 수있는 방법이 있습니까?
stardiviner

내가 생각할 수있는 것 : 구성 파일을 이등분하고 조각으로 주석을 달고 내 솔루션과 충돌하는 코드로 수정하려고합니다.
Manuel Uberti

1
참고 : 찾을 수 없습니다 TeX-after-TeX-LaTeX-command-finished-hook. TeX-after-compilation-finished-functions이제 관련 후크 인 것처럼 보입니다 (또는 docstring이 말합니다).
Dan

@Dan 적어도 12.1 버전 (2017-12-04)의 TeX-after-compilation-finished-hook경우 AUCTeX 매뉴얼 만 참조하십시오 . 나는 더 이상 TeX-after-TeX-LaTeX-command-finished-hook또는 생각하지 않습니다 TeX-after-compilation-finished-functions.
Adam Liter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.