我在 Mac 上的 emacs 24.3.1 下使用 Auctex。我正在制作主 .tex 文件和许多我称之为子 .tex 文件的文件。无论是从主文件还是从子文件运行,运行 Latex 和运行 bibtex 命令都可以正常工作,但我无法查看主文件以外的输出。非常感谢您的回答。提前致谢。Ayman
答案1
在每个“子”文件的最末尾添加以下内容:
% Local Variables:
% TeX-master: "./my-master-file.tex"
% End:
如果您已经有Local Variables
块,只需添加相应的行。
关闭并重新打开文件;这应该会设置变量。(M-x normal-mode
如果不想关闭文件,也可以调用。)
答案2
我相信我已经找到问题所在了。这是 .emacs 文件中 skim 和 latexmk 的配置问题。真正有效的完美设置如下
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Skim's displayline is used for forward search (from .tex to .pdf)
;; option -b highlights the current line
;; option -g opens Skim in the background
;; option -o open Skim in the foreground with full application focus.
'(LaTeX-command "latex -synctex=1")
(require 'tex-site)
(add-hook 'TeX-mode-hook
(lambda ()
(add-to-list 'TeX-output-view-style
'("^pdf$" "."
"/Applications/Skim.app/Contents/SharedSupport/displayline -b %n %o %b")))
)
(server-start)
(setq TeX-PDF-mode t)
(setq TeX-source-correlate-mode t)
(setq TeX-source-correlate-method 'synctex)
(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
;; make latexmk available via C-c C-c
;; Note: SyncTeX is setup via ~/.latexmkrc (see below)
(add-hook 'LaTeX-mode-hook (lambda ()
(push
'("latexmk" "latexmk -pdf %s" TeX-run-TeX nil t
:help "Run latexmk on file")
TeX-command-list)))
(add-hook 'TeX-mode-hook '(lambda () (setq TeX-command-default "latexmk")))
;; use Skim as default pdf viewer
;; Skim's displayline is used for forward search (from .tex to .pdf)
;; option -b highlights the current line; option -g opens Skim in the background
(setq TeX-view-program-selection '((output-pdf "PDF Viewer")))
(setq TeX-view-program-list
'(("PDF Viewer" "/Applications/Skim.app/Contents/SharedSupport/displayline -b -g %n %o %b")))
(server-start); start emacs in server mode so that skim can talk to it
(add-hook 'LaTeX-mode-hook
(lambda () (local-set-key (kbd "<S-s-mouse-1>") #'TeX-view))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
当然,在 skim 中你必须执行 Preferences>Sync>Check for file changes 和 Preset>Emacs