可变宽度的框,可以延伸至剩余宽度或被封顶

可变宽度的框,可以延伸至剩余宽度或被封顶

是否可以构造一个指定了最大宽度的框,但在该宽度比一行中剩余的宽度更宽的情况下,该框只使用剩余的空间?

我的用例是一本有填空题的书。每个填空题都有一个宽度,比如说 15em。如果填空题打印成一个 15em 宽的框,那就太好了。但有时填空题会接近行尾,并延伸到边距。我更希望它以一个较短的框结尾。(我更喜欢这样,而不是任何类型的包装。)

考虑到我的用例,这里是我所追求的一种伪语法:\framebox[min(15em, width of an hfill)]{\strut}

答案1

一种方法是使用\leaders

在此处输入图片描述

\documentclass{article}

\def\zz{\leavevmode\vrule height 10pt\nobreak\leaders\vbox{\vskip-.4pt\hrule width .4pt\vskip 10pt \hrule\vskip-.4pt} \hskip 15em minus 15em \nobreak\hbox{\vrule height 10pt}}

\begin{document}

x\hspace{15em}X
zzzzzzzzzz \zz\   zzzzzzzzzzz \zz\ zzzzzzzzzzzzzz \zz\
zzzzzzzzzz \zz\   zzzzzzzzzzz \zz\ zzzzzzzzzzzzzz \zz

aaaa aaaaaaaaaaa aaaaaaaaaaaaaaaaa\zz

ZZZZZZZZZ aaaa aaaaaaaaaaa aaaaaaaaaaaaaaaaa\zz

ZZZZZZZZZZZZZZ aaaa aaaaaaaaaaa aaaaaaaaaaaaaaaaa\zz

ZZZZZZZZZZZZZZZZZZ aaaa aaaaaaaaaaa aaaaaaaaaaaaaaaaa\zz

\end{document}

答案2

您可以使用进球线\line­goal提供扩展到线的剩余长度的伪长度的包。

相关内容