在一本大书中寻找错误

在一本大书中寻找错误

我正在写一本大书(在基础文档 PaP.tex 中分别包含 11 个章节),当我排版时,我在控制台(和 .log 文件)中得到以下输出:

(./PaP.aux (./PaPCh1.aux) (./PaPCh2.aux) (./PaPCh3.aux) (./PaPCh4.aux)
(./PaPCh5.aux) (./PaPCh6.aux) (./PaPCh7.aux) (./PaPCh8.aux) (./PaPCh9.aux)
(./PaPCh10.aux) (./PaPCh11.aux
! Undefined control sequence.
l.171 \cit

显然,我错误地输入了 \cite,漏掉了“e”某处在这本大书中。

如果我点击转到错误我转到基础文档 (PaP.tex) 的第 171 行,其中没有包含错误。我猜想,由于错误列在 PaPCh11.aux(第 11 章)之后,所以错误应该在该章中,但同样,没有运气……肯定不在第 11 章的第 171 行。

我只能经历每一个章节并搜索每一个“\cit”(或“\cit”)查看它是否出现在每一章中。这是一个极其繁琐的过程,因为我有超过 800 条引文参考。

在我的大量复合文件中,找到错误的 \cit 的最快、最有效的方法是什么?

答案1

正如 Phelype 所说,错误发生在第 171 行(几乎肯定是最后一行),因为PaPCh11.aux每次运行 latex 时都会重新创建该文件,所以您可以删除它,然后再次运行 latex。

到目前为止,最常见的破坏辅助文件并留下部分写入的命令的方式是通过快捷键(例如 control-c)或关闭终端窗口(Windows 右上角的 x 图标)来终止 latex 作业。如果出现 tex 错误,请允许 tex 干净地完成并通过键入x错误?提示来完成任何文件写入。如果您终止该进程,则当前打开的任何文件都可能因未完成的行而损坏(由于系统相关的缓存文件写入不受 TeX 的控制)。

请注意,当 TeX输入文件时以及到达文件末尾时,它会记录(和文件名,因此)

(./PaPCh11.aux
! Undefined control sequence.
l.171 \cit

明确指向第 171 行PaPCh11.aux

答案2

我还有另一个想法。你的意思是如果你搜索\cit,编辑器会将\cite你不想要的内容一起显示给你。但是当你写 时\cite,它通常跟在卷曲括号 后面{...}。那么你只需在源文件中搜索 即可\cit{找到此错误。

相关内容