想要用重复的字符串填充行

想要用重复的字符串填充行

与命令类似\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\leaderA

\cleaders命令将引线置于引线窗口的中心,而不管封闭框的大小如何A。窗口的两侧通常都留有一些空间。\xleaders仍然不同。它将窗口空间均匀地分布在引线的各个副本之间。

这里,只是为了好玩,使用\kittywith\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>。粘连会以通常的方式拉伸或收缩。

相关内容