在某些文本的左右绘制水平线(单线)

在某些文本的左右绘制水平线(单线)

我想要一些文本左右两侧各有一条水平线,宽度最多为一行。这些行应大小相等,以便填充剩余的水平空间(例如\hfilla 中的两个 s \hbox)。

如果不清楚我想要什么,此页面顶部有一排按钮标有问题 | 标签 | 用户 | 徽章 | 未回答。那排按钮上方是两条水平线,填充了符号周围的剩余空间。这就是我想在 LaTeX 中实现的。

答案1

您可以使用 添加线条\hrulefill,然后使用 创建线条\makebox[\linewidth]。垂直对齐有点棘手。我不知道如何提高填充物,所以一种方法是先降低文本,然后再使用线条将其提高。

\documentclass{article}

\newcommand*\ruleline[1]{\par\noindent\raisebox{.8ex}{\makebox[\linewidth]{\hrulefill\hspace{1ex}\raisebox{-.8ex}{#1}\hspace{1ex}\hrulefill}}}

\begin{document}

\hrule
Before\\
\ruleline{TestXg}
After

\end{document}

结果:

结果

答案2

\documentclass{minimal}

\def\headline#1{\hbox to \hsize{\hrulefill\quad\lower.3em\hbox{#1}\quad\hrulefill}}

\begin{document}    
\headline{Centered \ddag{} Symbol} 
\end{document}

标题宏示例

诚然,这是一个 TeX 解决方案,但我认为它很合适,因为 TeX 在这方面真的很出色。如果您在标题后需要一些垂直空间,您可以在定义\medskip的最后一个右括号前添加一个右括号\headline。再想想:.3em应该使用 更好地表达维度ex

相关内容