重叠材料

重叠材料

另一个问题,Harald 展示了如何制作垂直引线。掌握了这些知识后,我开始回答另一个问题,但由于我尝试将此类引线与其他材料一起放入一页,因此引线填充总是占据整个页面。

是否有一种通用的方法可以将某些内容排版到页面上,然后由 TeX 处理,就好像根本没有排版一样(即,它不会占用其他材料的任何空间)?

例子:

\newbox\needlebox\setbox\needlebox=\vbox{\hsize=2em$\cdot$}
\def\needlefill{\cleaders\copy\needlebox\vskip0pt plus 1fill}
\llap{\hbox to 2em{\vbox to\vsize{\hsize=2em\needlefill}}} Blah
\bye

(“Blah” 转到第二页)

答案1

\llap是正确的方向,但你仍然需要一个垂直版本:

\newbox\needlebox\setbox\needlebox=\vbox{\hsize=2em$\cdot$}
\def\needlefill{\cleaders\copy\needlebox\vskip0pt plus 1fill}
\llap{\vbox to 0pt{\hbox to 2em{\vbox to\vsize{\hsize=2em\needlefill}}\vss}} Blah
\bye

也可以看看这次讨论在 ctt 上我开始研究\blap\tlap

答案2

(未经测试)

垂直模式中的盒子被设置并保持垂直模式。您需要退出垂直模式。

\llap在之前将\leavevmode您置于水平模式。

您可能还想赋予 \vbox 一行文本的高度,以避免其排列在底部。 \vbox to Npt{...}其中 N = 第一行的高度;的高度\mathstrut可能是一个很好的值。

相关内容