如何让行末的填空空格长度自动缩短?

2019-11-15 12:46发布

我希望生成一个填空空格,在行末需要它的长度可变(比如最长3cm,最短2cm)以适应行宽。我用`\hspace*{}`可以做到。 现在我希望在空格中填入文字,达到相同的效果,不知道该怎么实现。我试了`...

我希望生成一个填空空格,在行末需要它的长度可变(比如最长3cm,最短2cm)以适应行宽。我用`\hspace*{<橡皮长度>}`可以做到。 现在我希望在空格中填入文字,达到相同的效果,不知道该怎么实现。我试了`\makebox[橡皮长度]{文字}`,但得到的盒子宽度并不能自动伸缩,橡皮长度不起作用。 ```tex \documentclass{ctexart} \usepackage{showframe} \newlength{\blank} \setlength\blank{3cm minus 1cm} \begin{document} 白日依山尽黄河入海流欲穷千里目更上一层楼\uline{\hspace*{\blank}}。 %这一行行末有足够空间,下划线长度为\blank的最大值3cm。 白日依山尽黄河入海流欲穷千里目更上一层楼白日依山尽\uline{\hspace*{\blank}}。 %这一行行末不足3cm,但超过2cm,下划线长度自动缩短至行末。 白日依山尽黄河入海流欲穷千里目更上一层楼\uline{\makebox[\blank]{黄河}}。 %这一行行末有足够空间,下划线长度为\blank的最大值3cm。 白日依山尽黄河入海流欲穷千里目更上一层楼白日依山尽\uline{\makebox[\blank]{黄河}}。 %这一行行末不足3cm,超过2cm,但下划线长度没有自动缩短至行末,而是超出了右边界,橡皮长度没有起作用。 \end{document} ``` ![最后一行空格长度不能自动伸缩](https://pics.latexstudio.net/data/images/201911/3101900af422659.png "最后一行空格长度不能自动伸缩")
2条回答
registor
2019-11-15 17:24
排版习题,还是建议你使用类似`xsim`这样的专用宏包。 在问答主站里也有许多试卷模板,也可以参考一下,如:[https://www.latexstudio.net/archives/51635.html](https://www.latexstudio.net/archives/51635.html "https://www.latexstudio.net/archives/51635.html")

一周热门 更多>