如何在 Plain TeX 中制作长下划线?

如何在 Plain TeX 中制作长下划线?

我看过这个问题这里这里但我不知道如何在纯 TeX 中生成长下划线,如以下示例所示。

Date _____________________________

我最接近的是明显不受欢迎的连接,它在渲染的输出中留下了空白。

Date  \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

答案1

使用负高度和稍大的深度:

\vrule height -3pt depth 3.4pt width 7cm

进行调整以适应。

在此处输入图片描述

同样的思路也适用于“凸起的规则”(深度为负)。如果深度 + 高度为负,则不会出现规则。

如果你想要一个填充给定空间的“低规则”,则应该使用领导者:

\def\lowhrulefill{%
  \leavevmode % be sure to be in horizontal mode
  \leaders\hrule height height -3pt depth 3.4pt\hfill % fill all available space
  \kern0pt % so \par won't remove the rule
}

请注意,这\leavevmode是必要的,因为在垂直模式下出现的命令会引发错误\hfill(并且也不会产生任何好处)。

答案2

Plain TeX 已经定义了一个\hrulefill可以执行此操作的命令。使用方法如下:

\noindent
Date \hbox to 3cm{\hrulefill}

\bye

生产

在此处输入图片描述

如果您希望将线画得稍微低一些,请尝试以下操作:

\noindent
Date \lower.2ex\hbox to 3cm{\hrulefill}

\bye

如果您要多次使用它,那么您可以创建一个宏:

\def\filler#1{\noindent\lower.3ex\hbox to #1{\hrulefill}}

\noindent
Date \filler{3cm}

\bigskip
\noindent
Name: \filler{2in}

\bigskip
\filler{\hsize}

\bye

在此处输入图片描述

相关内容