我使用 Eclipse 中的 Texclipse 完成了此操作,每次编辑或刷新后都会调用一个脚本。我想知道在 Emacs 中是否可以做到这一点?
对于 Emacs,我通过调用 手动编译M-x tex-compile pdflatex
,然后使用 刷新我的 pdf 视图M-x tex-compile \doc-view "MyDocument.pdf"
。有人设置过这个吗?有没有关于如何实现此功能的教程?
答案1
使用“auto-save-buffers”,输入到你的.emacs中:
(require 'auto-save-buffers)
(run-with-idle-timer 1.5 t 'auto-save-buffers)
(global-set-key [f7] 'auto-save-buffers-toggle)
(auto-save-buffers-toggle)
然后使用“latexmk”编译 *.tex 文件。为了让一切更快,你可以用 pdflatex 构建一个称为“格式”的东西。大致如下:
pdflatex -ini -jobname="Brief" "&pdflatex" mylatexformat.ltx "Musterbrief.tex""
然后将其插入到您的 *.tex 文件中作为第一行:%&Brief
。这有一些缺点,例如,如果您更改序言,则必须制作一种新的格式……
要在 Windows 下打开命令窗口,您可以在 .emacs 文件中插入另一个快捷方式:
;; http://stackoverflow.com/a/13509208/1171221
(defun start-cmd () (interactive)
(let ((proc (start-process "cmd" nil "cmd.exe" "/C" "start" "cmd.exe")))
(set-process-query-on-exit-flag proc nil)))
因此,使用 Mx start-cmd 您可以在 texfile 文件夹中获得命令行。这使得启动 latexmk 的速度更快。
答案2
该解决方案基于Linux。
如果您使用 evince(我想还有其他 pdf 查看器,但我使用 evince)打开您的 pdf,它将在 emacs 内部编译后刷新。
为了不使用 AUCTeX 并在第一个命令后使用较短的命令进行编译,您可以M-x recompile
通过在文件中添加以下命令来绑定它.el
:
(global-set-key (kbd "key-bindings wanted") 'recompile)
请注意,绑定也适用于其他编译。