LaTeX \规则填补了这条线

Kon*_*lph 13 latex rule

为什么以下命令在行结束之前不会产生填充空格的水平规则?

Hello \rule[0.5em]{\fill}{1pt}
Run Code Online (Sandbox Code Playgroud)

我的理解是,这应该打印文本" Hello"后跟一个水平规则,该规则一直延伸到行尾,类似于\hfill实际等效的宏\hspace\fill.- 但实际上,这个命令只生成文本" Hello",没有规则.

我知道效果可以产生,\hrulefill但它不能在这里使用,因为我想要一个凸起的规则,\hrulefill不能\raisebox与我一起工作,我希望我的规则挂在基线之上(最好在线的中间).

RTB*_*ard 12

我没有一个令人满意的答案,为什么你提出的命令不起作用,但我可以提供一个有效的解决方法.放

% Raised Rule Command:
%  Arg 1 (Optional) - How high to raise the rule
%  Arg 2            - Thickness of the rule
\newcommand{\raisedrule}[2][0em]{\leaders\hbox{\rule[#1]{1pt}{#2}}\hfill}
Run Code Online (Sandbox Code Playgroud)

进入你的文档的前言,然后你就可以完成你希望的目标:

Hello \raisedrule[0.5em]{1pt}
Run Code Online (Sandbox Code Playgroud)

  • 那部分我可以解释一下.领导者是TeX胶水的一般情况; 通常,胶水填充空间没有任何东西.但领导者用你想要的任何东西填补空间.这个的一般形式是`\ leaders {box或rule}\hskip {glue}`,因为`\ hfill`是一种特殊的无限可伸缩的粘合剂,所以leader命令有两个它需要的东西:重复的元素和胶水告诉它延长重复的距离. (4认同)

Ale*_*tov 6

横向规则为1pt高度并上升1.5pt.

Hello \leaders\vrule height 2.5pt depth -1.5pt \hfill \null
Run Code Online (Sandbox Code Playgroud)