我确信这是一个重复,但我还是会继续:
LaTeX 将其许多消息与文件中的行相关联。例如:
LaTeX Font Info: Try loading font information for OT1+lmtt on input line 81.
但通常不清楚它指的是哪个文件的哪一行。它是否总是 .tex 文件,或者可能是 .sty 或 .cls;它是原始格式的文件,还是经过宏扩展后的文件;等等。如果您尝试在消息之前的行中查找文件名,您会发现许多文件名,其中没有一个是您编写的(例如,,,epstopdf-sys.cfg
取自同一个示例 - 我不会在这里完整列出,因为这个问题比较笼统)。grfext.sty
omslmsy.fd
那么是否存在一个简单的规则或确定消息与输入中的位置相关?
答案1
如果你查看日志文件,每次 TeX 打开一个文件时,它都会打印一个,(
后面跟着该文件的路径;当它关闭一个文件时,它会打印一个,)
所以通过匹配(或者更有可能让你的编辑器为你匹配)对,()
你可以找出日志中任何消息的当前打开的文件。
对于给出编号的错误消息也需要同样的操作,l.56
但是现代 TeX 系统有一个命令行选项(--file-line-error
)可以将文件名放入错误消息中,但即使使用了该选项,该名称也不适用于宏生成的消息。