无限制模式和内部垂直模式之间的区别

无限制模式和内部垂直模式之间的区别

在处理文档的任何阶段,TeX 可以处于以下七种模式之一:无模式(\write我认为只有在和类似命令中)、数学模式($...$)、显示数学模式($$...$$)、受限水平模式(\hbox{...})、不限制水平(段落)、内部垂直模式(\vbox{...})或在主垂直列表中。

两种垂直模式有何区别?

显然,在 中不能有分页符\vbox,所以我将问题细化为:假设 TeX 目前位于主垂直列表中,那么执行

\setbox0\vbox{... material ...}\unvbox0

... material ...直接放入主垂直列表中?

答案1

就排版而言,据我所知,没有任何区别(与你这样做的情况相反)

\setbox0\hbox{... material ...}\unhbox0

如果我没记错的话,它处理语言节点的方式有些不同(没有 TB)。但当然有一个区别,即如果“材料”中的任何本地分配发生在框内,则将被还原,但如果直接输入,则显然不会还原。

正如所指出的,另一个区别是,在主垂直列表中,不允许删除诸如\unkern、和 之\unskip类的内容,而可以在 中使用它们。因此,在准备材料时,vbox 可以具有一些操作优势。\lastbox`\unpenalty\vbox

答案2

(参考 TeXbook)

\lastbox在不受限制的垂直模式下不允许执行该操作(第 222 页)。

\end并且\dump不允许在内部垂直模式下。

还要注意,在内部垂直模式下发出的标记不会迁移(第 259 页),因此,除非构造\vbox\vtop拆箱,否则它们将不被看到。

相关内容