Pages

Wednesday, May 11, 2011

AUCTeX + latexmk + synctex

먼저 synctex을 설정한다.

1: (add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
2: (setq TeX-source-correlate-method 'synctex)

다음으로 latexmk

1: (eval-after-load "tex"
2:   '(add-to-list 'TeX-command-list 
3:                 '("LaTeXMK" 
4:                    "latexmk -CF -bibtex -ps -e '$latex=q/latex -synctex=1 %%O %%S/' -pdfps %s" 
5:                    TeX-run-TeX nil t) t))

다음으로 viewer 설정 (여기를 참고하였음)

01: (when sys-linux-p ;; 리눅스
02:   ;; okular cannot handle dvi inverse search
03:   (defun okular-make-url () (concat
04:                              "file://"
05:                              (expand-file-name (funcall file "pdf" t)
06:                                                (file-name-directory (TeX-master-file)))
07:                              "#src:"
08:                              (TeX-current-line)
09:                              (TeX-current-file-name-master-relative)))
10: 
11:   (setq TeX-view-program-list '(("Okular" "okular --unique %u")))
12:   (setq TeX-view-program-selection '((output-pdf "Okular") (output-dvi "Okular")))
13:   (add-hook 'LaTeX-mode-hook 
14:             (lambda () 
15:               (add-to-list 'TeX-expand-list
16:                            '("%u" okular-make-url)))))
17: 
18: (when sys-mac-p ;; 맥
19:   (defun skim-make-url () (concat
20:                            (TeX-current-line)
21:                            " "
22:                            (expand-file-name (funcall file (TeX-output-extension) t)
23:                                              (file-name-directory (TeX-master-file)))
24:                            " "
25:                            (buffer-file-name)))
26:   (setq TeX-view-program-list '(("Skim" "/Applications/Skim.app/Contents/SharedSupport/displayline %q")))
27:   (setq TeX-view-program-selection '((output-pdf "Skim")))
28:   (add-hook 'LaTeX-mode-hook 
29:             (lambda () 
30:               (add-to-list 'TeX-expand-list
31:                            '("%q" skim-make-url)))))

0 개의 덧글:

Post a Comment