我正在尝试在emacs中使用flymake来编辑我的.tex文件。
我已经将其全部设置好了,直到我输入不平衡的大括号{或}。当flymake启动时,它会返回以下错误:
“Flymake:在运行(pdflatex-file-line-error-draftmode-interaction = nonstopmode / home / matt / test_flymake.tex)时发生配置错误。 Flymake将被关闭。”
为了完整起见,这是我.emacs文件的相关部分:
看看flymake手册可以了解一下正在发生什么:manual。
我已经将其全部设置好了,直到我输入不平衡的大括号{或}。当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。
因此,深入研究日志(flymake-log-value = 3),我发现问题出在运行CFGERR:语法检查进程返回了非零退出代码,但未报告任何错误/警告。这可能表明存在配置错误(例如,语法检查工具没有合适的错误消息模式)。
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
报告“runaway argument”错误,但没有生成 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。
我错过了什么?感谢您能提供的任何建议。