![\leaders 位于行首](https://linux22.com/image/324907/%5Cleaders%20%E4%BD%8D%E4%BA%8E%E8%A1%8C%E9%A6%96.png)
我遇到一个问题,我\leaders
偶尔会落在队伍的开头,结果没有出现领导者。
例如我有:
\hsize 9.2cm
Lorem ipsum dolor sit amet\leaders\hbox{.}\hfill 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit\leaders\hbox{.}\hfill 2
\end
结果是:
Lorem ipsum dolor sit amet ............................ 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit
2
如果我\penalty0\hbox{}\penalty10000
在之前添加\leaders
,我得到
Lorem ipsum dolor sit amet ............................ 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit
....................................................... 2
但我真正想要的是这个:
Lorem ipsum dolor sit amet ............................ 1
Lorem ipsum dolor sit amet, consectetur adipiscing
elit .................................................. 2
我尝试添加\penalty
其他内容,但似乎没有一个能给我带来想要的结果。我是不是忽略了一些简单的事情?
答案1
胶水(和引线)在换行符处被移除;因此,您添加的想法\nobreak
很好,但是您破坏了它,因为\penalty0
这会在空框和引线之前引入可行的换行符。
只需使用\nobreak
。我还添加了一些固定宽度,以便无论如何都会打印一些点\raggedright
。
\def\mydotfill{\unskip\nobreak\leaders\hbox{.}\hskip 4em plus 1fill\relax}
\hsize 8.5cm \raggedright
\noindent
Lorem ipsum dolor sit amet\mydotfill 1
\noindent
Lorem ipsum dolor sit amet, consectetur adipiscing elit\mydotfill 2
\end