除非应用程序已运行,否则我的 PDF 不会显示在 Skim 中

除非应用程序已运行,否则我的 PDF 不会显示在 Skim 中

我的 Emacs/AucTeX/Skim 开发环境已全部设置完毕,并且运行正常……几乎。我唯一的问题是,当我选择查看 PDF 时,

  • 如果 Skim 正在运行,PDF 将显示在 Skim 中,并且
  • 如果 Skim 没有运行,PDF 将显示在我的默认 PDF 查看器中。

如果 Skim 尚未运行,我希望它能够启动。我该怎么做?

.emacs这是我的文件的相关部分:

;; Enable synctex
(setq LaTeX-command "latex -synctex=1")

;; The following only works with AUCTeX loaded
(require 'tex-site)
(add-hook 'TeX-mode-hook
    (lambda ()
        (add-to-list 'TeX-output-view-style
            '("^pdf$" "."
              "/Applications/Skim.app/Contents/SharedSupport/displayline %n %o %b")))
)

;; Use PDF mode by default
(setq-default TeX-PDF-mode t)
;; Make emacs aware of multi-file projects
(setq-default TeX-master nil)

答案1

您应该自定义TeX-view-program-selectionTeX-view-program-list。我从未触摸过TeX-output-view-style选择 PDF 查看器。还请注意,使用这次提交已启用对 Mac OS 查看器的内置支持,这将包含在未来的 AUCTeX 11.88 版本中。

例如,将此代码添加到初始化文件中以设置查看器并将其与每种文件类型关联:

(setq
 ;; Set the list of viewers for Mac OS X.
 TeX-view-program-list
 '(("Preview.app" "open -a Preview.app %o")
   ("Skim" "open -a Skim.app %o")
   ("displayline" "displayline %n %o %b")
   ("open" "open %o"))
 ;; Select the viewers for each file type.
 TeX-view-program-selection
 '((output-dvi "open")
   (output-pdf "Skim")
   (output-html "open")))

这将是 AUCTeX 11.88 的默认行为,但 Skim 设置为 PDF 查看器除外。

相关内容