【发布时间】:2013-09-12 23:55:02
【问题描述】:
我正在尝试在 emacs 中使用 flymake 来编辑我的 .tex 文件。
在我输入一个不平衡的大括号{ 或} 之前,我已经完成了所有工作。当flymake启动时,它会返回错误:
Flymake:运行时出现配置错误(pdflatex -file-line-error -draftmode -interaction=nonstopmode /home/matt/test_flymake.tex)。 Flymake 将被关闭。
为了完整起见,这里是我的.emacs 文件的相关部分:
(defun flymake-get-tex-args (file-name)
(list "pdflatex"
(list "-file-line-error" "-draftmode" "-interaction=nonstopmode" file-name)))
看着 flymake manual 暗示正在发生的事情:
CFGERR:语法检查过程返回非零退出代码,但没有报告错误/警告。这表明可能存在配置错误(例如,语法检查工具没有合适的错误消息模式)。
所以,挖掘日志 (flymake-log-value = 3) 我发现问题在于运行 pdflatex,因为解析器返回非零退出代码,但不会生成 flymake 识别的内容作为一个错误。具体来说:
parsed 'Runaway argument?', no line-err-info
parsed '{Conclusions \bibliographystyle {plain} \bibliography {ma\ETC.', no line-err-info
parsed '! File ended while scanning use of \@xdblarg.', no line-err-info
parsed '<inserted text> ', no line-err-info
parsed ' \par ', no line-err-info
parsed '<*> /home/matt/test_flymake.tex', no line-err-info
parsed ' ', no line-err-info
parsed '! Emergency stop.', no line-err-info
parsed '<*> /home/matt/test_flymake.tex', no line-err-info
parsed ' ', no line-err-info
parsed '! ==> Fatal error occurred, no output PDF file produced!', no line-err-info
所以,pdflatex 对我的“失控论点”很生气,但不会产生 flymake 认为是错误的东西。深入研究flymake.el 文件显示flymake-err-line-patterns 中有这个模式:
("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
所以...最后一个问题似乎是 flymake 没有将 Runaway argument? 识别为错误消息。
现在,我的问题是:我错过了什么吗?我不能成为第一个遇到这个问题的人,但我找不到任何关于它的东西。我很难相信每个人都只是构建了一个自定义解决方案来修改错误模式,特别是因为我没有做任何不寻常的事情,只是想让它开箱即用。
以防万一,我在 Ubuntu 12.04 上使用 emacs 24.3 并运行 pdflatex (pdftex) 2012。
我错过了什么?感谢大家提供的任何建议。
【问题讨论】:
标签: emacs latex tex pdflatex flymake