有没有简单的方法可以使文本看起来像这样?
--- 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
。
以下是输出的比较:
参考:
- 另一种方法是使用
leaders
。请参阅想要用重复的字符串填充行
代码:
\documentclass{article}
\usepackage{showframe}
\begin{document}
\centerline{\rule{2cm}{.4pt}text\rule{2cm}{.4pt}}
\noindent\hrulefill text\hrulefill
\end{document}