有时,你并不关心 TeX 换行算法的“美观性”,而只是想要文档中多出一两行。当遇到这种情况时,我会~
在适当的地方开始添加,并希望 TeX 能找到使用较少行数的换行。而且通常确实如此!
TeX 换行参数的值是否会导致结果偏向于(对齐)段落中的行数较少。请注意,我已经使用了悬挂标点符号。
答案1
从TeX 按主题分类(部分19.1.4 段落的行数,第 178 页):
用户可以通过参数强制偏离最佳行数(即由将段落分成行的最佳方式产生的行数)
\looseness
。此参数在每次清除形状参数时都会重置(请参阅第 18 章),表示当前段落应比最佳行数长多少行。负值将\looseness
尝试使段落缩短行数,该行数是参数的绝对值。TeX在受 的影响而延长或缩短段落时仍会观察
\pretolerance
和的值(见下文) 。因此,TeX 只会在不超过这些参数的情况下尽可能延长或缩短段落。\tolerance
\looseness
实际操作中的示例(并且可以调整行数):
\documentclass{article}
\usepackage{geometry,lipsum}
\geometry{margin=1in}% Just for this example
\begin{document}
\lipsum[1]
\looseness=-1% Try one fewer line for the following paragraph
\lipsum[1]
\end{document}
答案2
我认为这个问题没有绝对的答案。你可以调整几个选项,而且对于你可以调整多少个单词间空间,没有明显的限制,直到它变得荒谬为止。
也就是说,你可以直接告诉 TeX 你想让某个段落比\looseness=-1
该段落短一行:
\documentclass{article}
\usepackage[american]{babel}
\usepackage{blindtext}
\usepackage{lineno} % just to see the effect
\begin{document}
\section{Normal}
\begin{linenumbers*}
Here is an example.
\blindtext
\end{linenumbers*}
\section{Tighter}
\begin{linenumbers*}
\looseness=-1
Here is an example.
\blindtext
\end{linenumbers*}
\end{document}
(但是,不能保证 TeX 会因为你的要求而找到一种方法来做到这一点。)