可能重复:
有没有办法测量一行文本的剩余空间?
我有一些文本,想在行尾添加一个 \hrulefill,后面跟着一个句点。但是,如果行的文本太接近行尾,规则将被省略,结果只有一个句点 -- 或者 -- 会创建一个新行,规则将被省略,并且行以句点开头。
如何确定行尾是否有足够的空间来容纳指定长度的足够大小的 hrulefill?
答案1
以下怎么样(使用\qed
amsart.cls 中的命令的想法):
\newcommand{\myrulefill}{\unskip\penalty9999 \hbox{}\nobreak\hrulefill
\hbox to 1em{\hrulefill}.}
这保证了 hrulefill 至少有 1em(当然,你可以将 1em 改为其他长度),并防止 hrulefill 单独占一行。你只需将命令放在\myrulefill
段落末尾即可。