我在编译时收到一些对我来说难以理解的错误和警告。根据我能找到的几乎所有互联网资源的建议,我深入研究了 .log 文件。问题是,我不知道如何解释我看到的内容。
我不想占用别人的时间,那么,在哪里可以找到《初学者阅读 LaTex .log 文件》文档?
答案1
以下是.log
文件的一些元素:
该
.log
文件首先会提供一些有关您正在运行的编译器的信息。例如,运行latex
或pdflatex
输出为This is pdfTeX, Version 3.1415926-2.3-1.40.12 (Web2C 2011)
运行时
xelatex
会输出This is XeTeX, Version 3.1415926-2.3-0.9997.5 (Web2C 2011)
加载的每个文件(包括文档类
.cls
和样式.sty
文件)都以开头的“(
”和文件名开头。文件加载完成后,以结尾的“)
”结尾。该文件加载过程中发生的所有消息都写在括号内。有时,这包括文件版本或文件的简短描述(由软件包作者编写)。(./test.tex (./hello.tex This is a message from hello.tex) [1] )
页码写在
[
]
方括号中。每当框(一般的 TeX 布局结构)中包含的内容不适合时,LaTeX 就会发出“坏框”警告。这是一个小的工作示例
\documentclass{article} \begin{document} Thisisaverylonglinethatdoesnotbreakproperlyattheendofthelineandcausesanoverfulhbox \end{document}
产生
Overfull \hbox (46.52866pt too wide) in paragraph at lines 3--4 []\OT1/cmr/m/n/10 Thisisaverylonglinethatdoesnotbreakproperlyattheendofthelinea ndcausesanoverfulhbox []
在您的
.log
文件中。这意味着框(在本例中为宽度为 的框)的内容在代码的第 3-4 行\linewidth
超出46.52866pt
。实际输出代码段也是可见的,其中加载了字体以排版文档的“坏”部分(OT1/cmr/m/n/10
)。这些“坏框”被统计并显示在编译的最后(尽管这不构成实际文件的一部分.log
):LaTeX-Result: 0 Error(s), 0 Warning(s), 1 Bad Box(es), 1 Page(s)
您有时可能会收到以下警告
LaTeX Warning: Reference myref on page 1 undefined on input line 6.
这意味着您使用了
\ref
或其相关项之一,但没有适当的\label
。在这种情况下,您还将获得LaTeX Warning: There were undefined references.
在文件末尾
log
。\label
类似地,如果你在多个地方定义相同的,那么你将得到LaTeX Warning: Label `mypage' multiply defined.
这将导致
LaTeX Warning: There were multiply-defined labels.
在文件末尾
log
。有时找不到字体。字体形状(例如倾斜)或某些请求的字体大小不可用。然后您会收到如下消息:
LaTeX Font Warning: Font shape `OT1/cmr/m/bx' undefined (Font) using `OT1/cmr/m/n' instead on input line 3.
或者
LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <5.42497> not available (Font) size <5> substituted on input line 72.
上述许多信息都是通过问题 获得的,\typeout{<stuff>}
该问题输出<stuff>
到终端窗口(随后进入文件.log
)。警告和错误(也包含在文件中).log
来自问题\<cmd>Warning
或 ,\<cmd>Error
其中<cmd>
或 指的是Class
或Package
。
在某种程度上,可以.log
通过使用silence
包裹. 它提供了一种过滤或激活来自包的警告、错误或其他消息的方法。
答案2
有关错误和警告,请参阅《LaTeX Companion》第 2 版附录 B:跟踪和解决问题