当我尝试编译此文档时
\documentclass{article}
\usepackage{amsmath}
\begin{document}
A simple fraction with an error $\frac{a}{b$
\end{document}
}
我显然会收到一个错误,因为分数缺失,然后迷你缓冲区显示:
LaTeX errors in `*c:/Program Files/emacs-23.3/bin/debug_error output*'. Use C-c ` to display.
所以我按下C-c `,然后窗口一分为二,我有两个缓冲区:下面是预期的 TeX 帮助缓冲区,上面是一个奇怪的空缓冲区,称为 Nroff 模式下的 MiKTeX 2.8。我还注意到,当数学命令或类似命令出现错误时,就会发生这种情况。
如何防止 MiKTeX 2.8 缓冲区出现?如果有一个解决方法就好了。
编辑:阅读文档后我发现了这一点:
C-c ‘应该始终停留在当前窗口,即使找到新文件也是如此。
答案1
调用latex
with-file-line-error-style
可以解决大部分问题。但是,您的示例却不能。您可以阅读这个 Stack Overflow 上的答案。其中提到的一种解决方法是将默认文件更改为主文件。这样,当latex
无法说出错误在哪个文件中时,AUCTeX 会假设它在您正在编辑的文件中。我怀疑这在 90% 以上的时间里都是正确的,而其余时间则非常令人困惑。:-)
将以下建议添加到您的.emacs
文件中应该可以解决问题。
(defadvice TeX-parse-reset (after make-master-file-default () activate)
(push (concat (substring (buffer-name) 1 (- (length (buffer-name)) 8))
"." TeX-default-extension) TeX-error-file)
(push nil TeX-error-offset))
答案2
这似乎是 AUCTeX 的一个错误,请参阅这个帖子进行简短讨论。看起来开发版本中已经修复了一些行为,但我还没有机会在我的计算机上进行测试。