在数学模式下使用 AUCTeX-GNUEmacs 调试文档时出现奇怪的行为

在数学模式下使用 AUCTeX-GNUEmacs 调试文档时出现奇怪的行为

当我尝试编译此文档时

\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

调用latexwith-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 的一个错误,请参阅这个帖子进行简短讨论。看起来开发版本中已经修复了一些行为,但我还没有机会在我的计算机上进行测试。

相关内容