如何将单词均匀分布在几行中?

如何将单词均匀分布在几行中?

在 TeX 中,我可以使用

\hbox to 1in{foo bar baz}

要得到
在此处输入图片描述

是否有可能推广使用,以获得这样的结果:

在此处输入图片描述

通过输入一个段落foo bar baz test text only

我尝试\break在段落末尾换行,或者设置\parfillskip=0pt,但结果是错误的:

在此处输入图片描述

应该设置什么参数来告诉 TeX 的换行算法得到这个“丑陋”的结果?

答案1

\documentclass{article}
\begin{document}

\parbox{1in}{\sloppy\parfillskip=0pt
foo bar baz test text only}

\end{document}

在此处输入图片描述

答案2

没有什么很普遍的想法。你需要让 TeX 相信你想要的两行比它给你的要好。这对你的特定示例来说就是这样。

\hsize1in
\parfillskip0pt
\parindent0pt
\fontdimen3\font.25in
foo bar baz test text only
\bye

它将当前字体中的字体尺寸参数 3(正常空间的拉伸量)设置为四分之一英寸。

我猜这种方法对较大的文本有用。使用\frenchspacing句子间距与单词间距相同并删除大小,它会产生或多或少合理的结果(我认为如此;我不确定您的确切要求是什么)。

\parfillskip0pt
\parindent0pt
\fontdimen3\font.25in
\frenchspacing
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
\bye

乱码

相关内容