与命令类似\dotfill
,但使用您自己的文本,而不是点。
如果字符串是:kitty!
整行看起来如下:
kitty!kitty!kitty!kitty!kitty!kitty!kitty!kitty!kitty!
有什么办法可以做到这一点?
答案1
实现此目的的方法之一是使用领导者:
\documentclass{article}
\newcommand\kitty{\leavevmode\xleaders\hbox{kitty!}\hfill\kern0pt}
\begin{document}
This is a test. \kitty \par
This is a test.
\noindent \kitty
\end{document}
构造引线的一般格式是\leaders<box or rule><glue>
(重复<box or rule>
)。您可以使用三种类型的引线:\leaders
和。以下是每种类型的非正式描述,摘自\cleaders
\xleaders
高级 TeXBook:
使用时,TeX 首先找到 包含命令的
\leaders
最内层框。然后从左侧开始用领导者的副本填充。右侧可能还留有一些空间。...A
\leader
A
该
\cleaders
命令将引线置于引线窗口的中心,而不管封闭框的大小如何A
。窗口的两侧通常都留有一些空间。\xleaders
仍然不同。它将窗口空间均匀地分布在引线的各个副本之间。
这里,只是为了好玩,使用\kitty
with\leaders
和\cleaders
之间的区别\xleaders
:
\documentclass{article}
\usepackage{showframe}% http://showframe
\begin{document}
\noindent \leaders\hbox{kitty!}\hfill\kern0pt \par
\noindent \cleaders\hbox{kitty!}\hfill\kern0pt \par
\noindent \xleaders\hbox{kitty!}\hfill\kern0pt
\end{document}
另请参阅 TeXBook 以供参考(第21 制作盒子,第 223 页):
您在这里看到的点……被称为“引线”,因为它们引导您的视线穿过页面;这些东西通常用于索引或目录中。一般的想法是重复一个框,直到填满给定的空间。TeX 将引线视为胶水的一种特殊情况;不,等等,情况正好相反:TeX 将胶水视为引线的一种特殊情况。普通胶水用任何东西填充空间,而引线用任何想要的东西填充空间。在水平模式下,您可以说
\leaders<box or rule>\hskip<glue>
其效果与你刚才说的 相同
\hskip<glue>
,只是空间将被指定的 的副本所占据<box or rule>
。粘连会以通常的方式拉伸或收缩。