如何\hrule
像本代码示例中那样取消装箱:
\setbox0=\vbox{1\hrule2\hfil\break3}
\unvbox0
\setbox0=\lastbox % line 3
\unskip % \baselineskip
\unpenalty % \break
\setbox0=\lastbox % line 2
\unskip % \parskip
% Unbox \hrule?
\end
答案1
TeX 有一些用于“回顾”和移除节点并将其存储到寄存器中的原语:、 和\lastskip
。\lastkern
其他类型的节点无法检查或移除。\lastpenalty
\lastbox
请注意,\lastskip
只保留有关最后一次跳过的大小的信息,无论它来自“真实”跳过还是\leaders
,因此在这种情况下有关领导者的信息会丢失。
如果最后一个节点属于请求的类型,则它们全部不执行任何操作,即存储一个空值。像往常一样,框是特殊的:\lastbox
本身将删除最后一个盒子(如果列表中的最后一个节点是盒子),然后重新插入它(参见\lastbox 的用法)。
但是,规则节点不是框,因此\lastbox
不会执行任何明智的操作。更明确地说:您不能删除规则节点,也不能检查它。