在我的优化过程中,我发现了一些我无法解释的虚假的东西,我想了解一下。因此,\fontsize
请设置字体大小和基线跳过。但是,第二个参数的行为对我来说有点不清楚,因为如果你将其减少太多,在某个时候,基线跳过会再次变大。让我给你看我的例子:
\documentclass[landscape]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{lipsum,multicol}
\begin{document}
\begin{multicols}{4}
\fontsize{10}{11}\selectfont
\lipsum[1]
\columnbreak
\fontsize{10}{10}\selectfont
\lipsum[1]
\columnbreak
\fontsize{10}{9}\selectfont
\lipsum[1]
\columnbreak
\fontsize{10}{8}\selectfont
\lipsum[1]
\columnbreak
\end{multicols}
\end{document}
如果你编译它,你的结果将如下所示:
现在从第一列到第三列,似乎合乎逻辑的是,基线跳跃减少了,因此排版所需的垂直空间也减少了。但是对于第三列,即使基线跳跃进一步减少,它总体上仍然需要更多的垂直空间。然而奇怪的是,例如从第 11 行到第 12 行(以 tus 和 lum 开头),间距似乎比第 3 列窄,而在许多行中间距更大。将基线跳跃更改为较低的值(低至 0)不会进一步修改垂直对齐。
这种行为的目的是什么?是故意的吗?我看不出这样做有什么好处,而且我有点困惑。
答案1
如果你添加
\lineskiplimit = -\maxdimen
你就得到了上述内容。
TeX 尝试保持均匀的基线间距,如所设置的那样\baselineskip
(由的第二个参数\fontsize
和其他地方设置)。但是,通常如果行中的文本太大(例如内联数学分数),您不想保持均匀的间距并过度打印周围的行,因此如果需要添加的空间低于TeX,则放弃均匀间距并仅在行之间\lineskiplimit
插入固定空间。默认情况下为 1pt,并且为 0pt。\lineskip
\lineskip
\lineskiplimit
通过设置合适的大负值,\lineskiplimit
您可以强制均匀间距,即使以过度打印为代价。
在最后一栏你可以看到: