为什么领导者跳过似乎在 \vsplit 中被忽略了?

为什么领导者跳过似乎在 \vsplit 中被忽略了?

我在带有引线的盒子上得到了预期的结果\vplit。引线具有固定量的胶水,加上拉伸和收缩。固定量似乎在尺寸计算中被忽略了,否则 TeX 会收缩以在分割框中获得比它需要的更多的内容。考虑一下:

\setbox1=\vbox{
 \vbox to 50pt{}
 \nobreak
 \leaders \hbox{} \vskip25pt plus 100pt minus 25pt
 \allowbreak
 \nointerlineskip
 \vbox to 50pt{}
 \nobreak
 \leaders \hbox{} \vskip25pt plus 100pt minus 25pt
 \allowbreak
 \nointerlineskip
 \vbox to 50pt{}
 \nobreak
 \leaders \hbox{} \vskip25pt plus 100pt minus 25pt
 \allowbreak}

然后:

\setbox3=\vsplit1 to 150pt

\showbox3
> \box3=
\vbox(150.0+0.0)x0.0, glue set - 1.0
.\vbox(50.0+0.0)x0.0
.\penalty 10000
.\leaders 25.0 plus 100.0 minus 25.0
..\hbox(0.0+0.0)x0.0
.\penalty 0
.\vbox(50.0+0.0)x0.0
.\penalty 10000
.\leaders 25.0 plus 100.0 minus 25.0
..\hbox(0.0+0.0)x0.0
.\penalty 0
.\vbox(50.0+0.0)x0.0
.\penalty 10000
.\leaders 25.0 plus 100.0 minus 25.0
..\hbox(0.0+0.0)x0.0
.\penalty 0

如您所见,TeX 将所有三个内部框都放入 中\box3,尽管它们的自然高度(包括前导框)为 225pt。有足够的空间来仅包含两个内部框并获得高度为 150pt 的框。所以我的问题是:为什么 TeX 不遵守\leader上述示例中的 固定粘合量?

(我不知道是否\tracingsplits存在与 类似的\tracingpages显示计算结果的 。)

答案1

TeX 不使用拉伸,因为收缩适合所有三个盒子,原来的盒子里没有留下任何东西。

\penalty -10000请注意,被分割的盒子的垂直材料末尾有一个隐含的内容[TeXbook 第 124 页]。

相关内容