运行查看器命令仅适用于主文本,不适用于子文本文件

运行查看器命令仅适用于主文本,不适用于子文本文件

我在 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

相关内容