将文本插入 hrulefill

将文本插入 hrulefill

有没有简单的方法可以使文本看起来像这样?

--- text ---

哪里---填充了一定的宽度?我试过

\centerline{\rule{2cm}{.4pt}text\rule{2cm}{.4pt}}

但是在这里,如果“文本”在一种情况下是“text_1”,而在另一种情况下是“text_123”,那么文本加上规则的总宽度在每种情况下都会有所不同。

答案1

您可以使用\leaders来指定规则的样式:

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\newcommand*{\myrulefill}[3][]{%
  \makebox[#2]{#1%
    \leaders\hrule height \dimexpr.5ex+.2pt\relax depth \dimexpr -.5ex+.2pt\relax \hfill% Left rule
    \enskip{#3}\enskip% Text (and surrounding spaces)
    \leaders\hrule height \dimexpr.5ex+.2pt\relax depth \dimexpr -.5ex+.2pt\relax \hfill\kern0pt}% Right rule
}
\begin{document}
\myrulefill{10em}{text} \par
\myrulefill{.5\linewidth}{Here is some more text} \par
\myrulefill[\color{olive}]{150pt}{\color{black}SoMe MoRe TeXT}
\end{document}

所提供的\myrulefill[<stuff>]{<len>}{<text>}插入内容<text>位于长度框的中间<len>,并且在两侧添加了规则。<stuff>是一个可选参数,如果您想(比如说)更改颜色,可以指定它。

答案2

您只需使用 即可\noindent\hrulefill text\hrulefill

以下是输出的比较:

在此处输入图片描述

参考:

代码:

\documentclass{article}
\usepackage{showframe}

\begin{document}

\centerline{\rule{2cm}{.4pt}text\rule{2cm}{.4pt}}

\noindent\hrulefill text\hrulefill
\end{document}

相关内容