我正在使用以下函数在 emacs 中的乳胶文件上运行 latexmk:
(defun my-run-latex ()
(interactive)
(if (buffer-modified-p)
(progn
(setq TeX-save-query nil)
(TeX-save-document (TeX-master-file))
(TeX-command "Latexmk" 'TeX-master-file -1))
(TeX-view)))
(取自https://stackoverflow.com/a/14699078/406686)。
假设我有一个简单的文档 ( test.tex
),其中有一些错误,例如:
\documentclass{article}
\begin{document}
\error1
\error2
\end{document}
现在,如果我按例如 Space 然后 Backspace (或进行任何更改并撤消它)然后运行my-run-latex
latexmk 运行并说所有目标都是最新的。问题是然后我丢失了错误列表,所以TeX-next-error
不会有任何影响。
我想这个问题可以通过(buffer-modified-p)
在这种情况下替换为阻止运行 latexmk 的东西来解决(最好通过相同的测试 latexmk 来检查自上次运行以来文件是否更改)。知道怎么做吗?