当 (La)TeX 说“输入行 XYZ 上有某些消息”时——那行在哪里?

当 (La)TeX 说“输入行 XYZ 上有某些消息”时——那行在哪里?

我确信这是一个重复,但我还是会继续:

LaTeX 将其许多消息与文件中的行相关联。例如:

LaTeX Font Info:    Try loading font information for OT1+lmtt on input line 81.

但通常不清楚它指的是哪个文件的哪一行。它是否总是 .tex 文件,或者可能是 .sty 或 .cls;它是原始格式的文件,还是经过宏扩展后的文件;等等。如果您尝试在消息之前的行中查找文件名,您会发现许多文件名,其中没有一个是您编写的(例如,,,epstopdf-sys.cfg取自同一个示例 - 我不会在这里完整列出,因为这个问题比较笼统)。grfext.styomslmsy.fd

那么是否存在一个简单的规则或确定消息与输入中的位置相关?

答案1

如果你查看日志文件,每次 TeX 打开一个文件时,它都会打印一个,(后面跟着该文件的路径;当它关闭一个文件时,它会打印一个,)所以通过匹配(或者更有可能让你的编辑器为你匹配)对,()你可以找出日志中任何消息的当前打开的文件。

对于给出编号的错误消息也需要同样的操作,l.56但是现代 TeX 系统有一个命令行选项(--file-line-error)可以将文件名放入错误消息中,但即使使用了该选项,该名称也不适用于宏生成的消息。

相关内容