编译时,括号里的数字代表什么?

编译时,括号里的数字代表什么?

当通过编译文件时pdflatex(也许其他情况也是如此),命令行的输出显示一系列括号中的增加的数字,例如

[13] (/usr/local/texlive/2016/texmf-dist/tex/latex/microtype/mt-euf.cfg)
[14] [15] [16] [17] [18]
(/usr/local/texlive/2016/texmf-dist/tex/latex/doublestroke/Udsrom.fd) [19]
[20]

这些也出现在.log文件中。

它们指的是什么?

此外,还会出现空括号,例如

Overfull \hbox (60.0pt too wide) in paragraph at lines 231--231
 [] [] 
  []

它们属于什么?

答案1

每次 TeX 弹出一个页面(写入 DVI/PDF 文件并从内存中删除页面材料)时,它都会通过写入来将这一事实记录在日志文件中

[<page number>]

其中<page number>是 的当前值\count0。在 LaTeX 中,\value{page}与 相同\count0

\count0实际上,从到 的所有计数器\count9都会被记录,但只有到最后一个非零值的值才会写入日志文件。因此,如果\count0\count2\count3的值为 4、0 和 2,且以下计数器为 0,[4.0.2]则将显示

(方括号)符号也用于显示盒子内容。例如,当发出过满/未满的盒子消息时,会显示有问题的盒子的表示。从我做的一个测试中,我得到了

Underfull \hbox (badness 10000) in paragraph at lines 25--25
|[]\TU/lmr/m/it/10 su-per-cal-

在终端上

Underfull \hbox (badness 10000) in paragraph at lines 25--25
|[]\TU/lmr/m/it/10 su-per-cal-
 []

在日志文件中。

[]开头的空组表示无法详细显示的项目(通常是盒子或小玩意)。|代表规则。

尾部[]只能在日志文件中看到,而不能在终端输出中看到。它代表了框的过满/欠满的详细表示;细节级别由参数\showboxdepth和控制\showboxbreadth,LaTeX 将其设置为 -1。如果我们增加它们的值,我们可以在日志文件中看到更多信息:

Underfull \hbox (badness 10000) in paragraph at lines 25--25
|[]\TU/lmr/m/it/10 su-per-cal-

\hbox(8.39996+3.60004)x56.9055, direction TLT
.\rule(8.39996+3.60004)x0.0
.\whatsit3121978=5
.\kern3.0
.\glue 0.0
.\TU/lmr/m/it/10 s
.\TU/lmr/m/it/10 u
.\discretionary (penalty 50)
..< \TU/lmr/m/it/10 -
.\TU/lmr/m/it/10 p
.\kern -0.51
.\TU/lmr/m/it/10 e
.\TU/lmr/m/it/10 r
.\discretionary (penalty 50)
..< \TU/lmr/m/it/10 -
..= \kern -0.51
.\TU/lmr/m/it/10 c
.\kern -0.51
.\TU/lmr/m/it/10 a
.\TU/lmr/m/it/10 l
.\TU/lmr/m/it/10 -
.\discretionary (penalty 50)
.\glue(\rightskip) 0.0

(这里使用了 LuaTeX,但在这方面它与其他引擎没有区别)。

因此,您会看到,[]在简短的表示中,它代表了 whatsit、kern 和 glue 的组合。

相关内容