\降低 \领导者

\降低 \领导者

我正在使用\leaders来制定灵活的宽度规则,使用语句\leaders 0pt plus 1fil\hrule,但我还想将文本放在此线上方。\rlap{text}\leaders工作正常,只是文本非常靠近线条(这不太美观)。我喜欢 的外观\underbar{text},但我需要线条进一步延伸,因此我尝试使用更通用\leaders来实现这一点。据我所知,这无法使用 来完成\vbox,因为一旦进入不是我要格式化的框,粘合就不会像我希望的那样扩展。所以,我尝试使用\lower 2pt\leaders。这会失败,因为\lower需要一个框作为参数。我曾想过可以通过使用框来改进这一点,但是仍然必须有一个领导者语句才能使框达到全尺寸,并且我找不到方法来设置,例如,将此尺寸设置为\box0这个尺寸(这似乎是不可能的,因为如果框已经构造好,它就是不灵活的)。我尝试过\lastbox直接使用和设置框,但都不起作用,因为框已经构造好。

我想象的最终产品看起来会像这个最小的非工作示例(或者可能会使用具有深度的盒子或其他技巧):

\line{\hfil\leaders\hbox{\lower2pt\hrule}\hfil}

在我看来,这显然没有违反 TeX 盒子和胶水模型的任何部分,所以我认为这是可能的。我该如何构造它?

答案1

类似构造的问题\leaders\vtop{\vskip2in\hrule width 1pt}在于,如果将引线与框一起使用而不是与规则一起使用,其行为会有所不同:引线不会始终填满整个宽度,而是只会获得框的完整副本。因此,最好使用简单的规则。

您无法轻松地绘制\lower规则,但您可以从一开始就将其绘制得更低。\hrule默认情况下,A 的高度为 0.4pt,深度为 0pt,因此要使规则低 2pt,您可以使用

abc
\rlap{text}\leaders\hrule height -1.6pt depth 2pt\hfil
\penalty-10000 % Make sure that we actually have some space to fill
some more text
\bye

在此处输入图片描述

相关内容