我是 Emacs 和 AUCTeX 的新手。在我的家用电脑(Windows XP)上,我可以成功编译 .tex 文件,然后再次使用 Cc Cc 启动 pdf 查看器(Adobe Reader 或 Sumatra)来查看该文件。
但是,在我的工作电脑(Windows 7)上,我可以使用 Cc Cc 成功将 .tex 文件编译为 pdf,但是当我再次执行 Cc Cc 进行查看时,显示的默认查看命令是start "" "a.pdf"
。按 Enter 会显示 Windows 错误消息Windows cannot find 'a.pdf'. Make sure you typed the name correctly, and then try again.
如果我更改命令以使其包含文件的完整位置(例如 )start "" "//servername/mark/a.pdf"
,则 pdf 查看器会打开。在家里,无需更改默认命令start "" "a.pdf"
。
如果有人能告诉我如何打开 pdf 查看器而不必每次都编辑命令,我将不胜感激。在工作中我使用的是 AUCTeX 版本 11.86。
答案1
您的默认 PDF 查看器由两个变量控制,分别称为TeX-view-program-list
和TeX-view-program-selection
。有几种方法可以修改它们:
通过 Emacs 的界面
M-x customize-group <RET>
AUCTeX
选择名为:的组Tex Command
,然后找到TeX View
。下面TeX View Program List
是用于查看生成的 PDF 的所有已知命令列表。就我而言,我使用 SumatraPDF.exe,它也在我的全局PATH
变量中。插入以下内容:
Name: SumatraPDF
Command: SumatraPDF.exe %o
在默认的查看器下TeX View Program Selection
可以选择pdf和dvi。选择之前定义的SumatraPDF。
在 .emacs 中插入设置
.emacs
只需在您的配置文件中插入以下代码:
(setq TeX-output-view-style '("^pdf$" "." "SumatraPDF.exe %o"))
(setq TeX-view-program-list
'(("SumatraPDF" "SumatraPDF.exe %o")
))
(cond
((eq system-type 'windows-nt)
(add-hook 'LaTeX-mode-hook
(lambda ()
(setq TeX-view-program-selection '((output-pdf "SumatraPDF")
(output-dvi "Yap"))))))
((eq system-type 'gnu/linux)
(add-hook 'LaTeX-mode-hook
(lambda ()
(setq TeX-view-program-selection '((output-pdf "Okular")
(output-dvi "Okular")))))))
如果您不使用 SumatraPDF(我强烈建议您使用),请更改名称和命令。请记住将您的 pdf 查看器放在您的 PATH 中或通过完整路径直接引用它。
答案2
我在 Windows 7 下遇到了同样的问题,不久前我偶然发现start "" "a.pdf"
手动编辑到start "a.pdf"
可以正确打开 Sumatra PDF。按照另一个答案的开头,我发现我可以通过相应地将 下的 、扩展名 更改为 来永久解决该问题。command
您Tex Output View Style
可以^pdf$
通过以下方式找到该选项:start "" %o
start %o
Tex Output View Style
M-x customize-group <RET>
AUCTeX
并选择该组Tex Command
。