Emacs Auctex:如何在当前光标位置在 evince 中打开 pdf

Han*_*ans 10 latex emacs evince auctex

我使用 emacs auctex 编写乳胶文件。由于文本很长,并且我倾向于在不同的地方更改内容,因此我希望 emacs 打开 pdf 以便文本中的位置显示为光标在源文件中的位置。

我在带有 MikTex/Texniccenter/Acroreader 的 Windows 机器上看到过这个。是否可以在 emacs/auctex/evince 中的 Ubuntu 上执行此操作?

dbd*_*ezz 5

为此,您需要将以下行添加到 .emacs 文件中,以便当您使用 evince 查看 pdf 时,它会告诉 evince 页码:

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))
(setq TeX-view-program-selection '((output-pdf "Evince")))
Run Code Online (Sandbox Code Playgroud)

然后,在 emacs 中打开 tex 文件后,您需要使用以下命令打开源相关性:

C-c C-t C-s
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想每次都手动启动它,请将以下行添加到您的 .emacs 中:

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
Run Code Online (Sandbox Code Playgroud)

另外,如果您想阻止 emacs 提示您是否要启动相关服务器,请添加以下行:

(setq TeX-source-correlate-start-server t)
Run Code Online (Sandbox Code Playgroud)

应该就是这样。

编辑:实际上,事实证明您不应该使用 pdfsync 包,因此我删除了对它的所有引用。这个解决方案不需要它(显然它现在已内置到所有基于 TeX 的引擎中)并且使用它实际上似乎会引起问题(对我来说,它似乎使用表破坏了代码)。

编辑 2:我在使用 .emacs 自动启用 TeX-source-correlate-mode 时遇到问题,但现在它们似乎已经消失了。不确定这是因为我更新了 emacs 还是因为我删除了 pdfsync。不管怎样,现在可以了:)