比较一下
\nonstopmode
\tracingonline=1
\showboxdepth=\maxdimen
\showboxbreadth=\maxdimen
\output={\shipout\vbox{
\unvbox255
\showlists
}}
\nopagenumbers
\noindent A
\bye
和这个
\nonstopmode
\tracingonline=1
\showboxdepth=\maxdimen
\showboxbreadth=\maxdimen
\newbox\pagebox
\let\oldshipout\shipout
\def\shipout{\global\let\shipout\oldshipout\afterassignment\myboat\setbox\pagebox=}
\def\myboat{\aftergroup\myship}
\def\myship{\setbox\pagebox=\vbox{
\unvbox\pagebox
\showlists
}\shipout\box\pagebox}
\nopagenumbers
\noindent A
\bye
与第一个例子相比,第二条跟踪中我们有一些额外的输出,即:
- 在两个示例的相同输出之前,第二个示例的附加输出:
\vbox(0.0+0.0)x469.75499, glue set 14.0fil
.\glue -22.5
.\hbox(8.5+0.0)x469.75499, glue set 469.75499fil
..\vbox(8.5+0.0)x0.0
..\glue 0.0 plus 1.0fil
.\glue 0.0 plus 1.0fil minus 1.0fil
\vbox(643.20255+0.0)x469.75499, glue set 633.20255fill
- 两个示例的输出相同之后,第二个示例的附加输出:
\glue(\baselineskip) 24.0
\hbox(0.0+0.0)x469.75499, glue set 469.75499fil
.\glue 0.0 plus 1.0fil
其中643.20255
等于 8.9 英寸(即11 - 1 - 1 - 0.1
) 和469.75499
等于 6.5 英寸(即8.5 - 1 - 1
)
问题是关于这个额外的输出 —— 它是什么意思以及为什么它出现在第二个例子中?
答案1
在第一种情况下,您只看到 box255,在第二种情况下,您正在使用纯 tex 输出例程并挂接到,\shipout
因此您看到
\shipout\vbox{\makeheadline\pagebody\makefootline}%
您看到的额外框是标题和脚注,因为它们是白色的,\nopagenumbers
但是框和粘合结构仍然存在。