AUCTex 的行号信息不起作用

AUCTex 的行号信息不起作用

我的设置:AUCTex 11.89.4、MikTeX 2.9 64 位、Windows 10 上的 Emacs 24。除了将查看器设置为 SumatraPDF 和一些颜色和字体外,没有其他重要的定制。

问题:我使用 AUCTex 内部的 pdflatex 编译了一个很长的多部分文件(一本书)。我故意\dasdasa在某行上添加了一个伪命令。AUCTex 正确识别了错误,pdflatex 报告了错误文件和行号信息

photons.tex:579: Undefined control sequence

但 AUCTex 无法在文件中找到错误的位置。它系统地转到错误的行!有什么提示吗?

答案1

这是 MiKTeX 的问题。您必须向 MiKTeX 开发人员投诉,因为该发行版中包含的 *tex 程序在使用file:line:error消息样式时提供的详细信息较少,而消息样式应该提供更多信息。您可以向此错误报告添加评论:https://sourceforge.net/p/miktex/bugs/2310/

为了解决此问题,您必须通过使用来设置TeX-file-line-error为,或者在 init 文件中添加以下行:nilM-x customize-variable RET TeX-file-line-error RET

(setq TeX-file-line-error nil)

另请参阅经常问的问题在 AUCTeX 手册中:

8. 为什么TeX-next-errorC-c `)会失败?

如果TeX-file-line-error设置为 nil(不是默认值),这些失败可能与以下事实有关:在写入日志文件时,TeX 将与文件相关的信息(包括错误消息)放在一对括号之间。在这种情况下,AUCTeX 通过解析日志文件并计算括号数来确定发生错误的文件。当存在其他不匹配的括号时,这可能会失败。

激活日志文件的所谓file:line:error消息通常可以解决此问题,因为这类消息更容易解析;但是,它们可能缺少一些细节。可以在 TeX 系统的配置中激活(请参阅其手册以了解其位置),也可以简单地将变量保持TeX-file-line-error为非零的默认值。

也可以看看使用 AUCTeX 时出现不明确的错误消息

相关内容