LuaTeX:对于调整节点,子类型 normal 和 pre 是什么?

LuaTeX:对于调整节点,子类型 normal 和 pre 是什么?

LuaTeX 中,子类型 normal 和调整节点的子类型 pre 之间有什么区别?何时选择一个而不是另一个?在回答我的问题时这里,我选择了子类型“pre”,子类型normal也可以工作(将vspace()和的顺序addpenalty()互换)。

luatex 文档的截图:

luatex 文档的屏幕截图

答案1

节点normal adjust的作用类似于\vadjust{<您在 .head 中写入的内容> },而pre adjust节点的作用将类似于\vadjust pre{<您在 .head 中写入的内容> }。这留下了一个问题,它\vadjust pre正在做什么。这是一个 pdfTeX 功能,因此我们可以在 pdfTeX 手册中查找它:

\vadjust [⟨pre spec⟩] ⟨filler⟩ {⟨vertical mode material⟩}(时,分)

pdfTEX 的实现为原始的同名 TeX 基元\vadjust添加了一个可选限定符⟨pre spec⟩,即字符串。如果没有给出,则其行为与原始基元完全相同(参见 TeXbook,第 281 页):它将从 创建的调整项附加到当前列表中prepre\vadjust⟨vertical mode material⟩出现的行\vadjust。但是,使用限定词时pre,调整项被放入出现的行\vadjust pre

因此,基本上,adjust子类型的节点会在换行后将pre内容添加到行上方而不是行下方adjust

相关内容