如何修复 LaTeX 中的行间跳过问题?

如何修复 LaTeX 中的行间跳过问题?

据我所知,\baselineskip\lineskip是固定长度,没有任何plus/ minus-es,但行与行之间的距离取决于页面。即使在\raggedbottom命令之后,TeX 仍然可以使 100% 填充页面的行间距离更短,而使文档末尾或章节末尾页面的行间距离更大(\newpage'd 等)。是否有任何胶水负责行间间距或任何命令使其永远不可扩展和不压缩?

答案1

\baselineskip除了和之外,还有几个因素\lineskip也会影响整个页面的基线之间的距离。

  • \parskip通常被定义为拉伸,因此一个段落的底部距离下一个段落第一行的底部可以比标称的更远\baselineskip

  • \lineskip\lineskiplimit如果一行包含“高”元素(例如全尺寸分数或矩阵),则可以用它来在行之间添加额外的空间。

  • 段落的基线直到段落结束才会“冻结”。但是,tex 在显示数学之前会采用“不可见的”段落分隔符,并且如果显示的字体大小从默认值更改(通常是将其变小),则更改后的大小的基线值可以应用于前面的文本,(通常)导致该(部分)段落中的行比默认基线值更接近。(许多人甚至没有注意到这一点,但它确实导致整个页面看起来“有趣”,并且有了一些经验,人们可以一眼就学会识别它。

  • 引文和脚注的大小通常与正文不同,因此基线也不同。如果基线的统一很重要,则必须采取特殊措施。

  • 在“普通”tex 模型中,显示数学甚至不会尝试保持统一的基线。拖船文章作者:kaveh bazergan(Steven Segletes 在评论中提到)解决了如何遵守符合统一基线的网格的问题。

  • 许多文档类(至少是我熟悉的那些)在将大小选项(例如[12pt])应用于时不会改变页面长度\documentclass,因此页面上的行数不会是\baselineskip加上的确切倍数\topskip。反过来,这需要在段落之间或显示数学中进行拉伸才能实现\flushbottom

可能还有更多。如果我想到任何这样的情况,我会将它们添加到此列表中。

相关内容