如何提高水平线?

如何提高水平线?

我试图在某些文本的右侧和页面的末尾画一条水平线,但由于文本长度是可变的,我选择使用\hrulefill而不是\rule,以便自动计算所画水平线的长度。

例如,下面的 MWE 1 显示了默认值的\hrulefill工作方式。

微波能量吸收 1

\documentclass{article}

\begin{document}

Hi \hrulefill

Hello \hrulefill

\end{document}

随后,我想自定义它的粗细,并找到了一些代码来实现。具体来说,下面的 MWE 2 将线条的粗细从默认的 0.4 pt 更改为 1.5 pt。

微波辐射计 2

\documentclass{article}

\renewcommand{\hrulefill}{%
    \leavevmode\leaders\hrule height 1.5 pt\hfill\kern 0 pt}

\begin{document}

Hi \hrulefill

Hello \hrulefill

\end{document}

最后,我希望线条从单词的中心开始绘制,即略高于上述 MWE 产生的线条。因此,我想知道如何进一步调整代码\renewcommand以包括线条绘制的“高度”。

我注意到有人问过类似的问题,并且给出了一些解决方案这里,但我希望找到一个简单地调整\renewcommand上述代码的解决方案!

任何直观的解释或建议都将不胜感激!

答案1

规则还有第三个字段(连同它们的宽度和高度),即深度。负深度将提高规则。具体来说,深度为d、高度为 的规则h似乎会降低d,宽度为h+d。因此,您可以将定义更改为:

\renewcommand{\hrulefill}[2][0pt]{%
    \leavevmode\leaders\hrule height \dimexpr#1+#2\relax depth -#1\hfill\kern0pt}

这将创建\hrulefill接受其宽度作为其强制参数并将其提升量作为其可选参数的实例。

相关内容