本文已加入专栏文章目录,归入「概论」文章系列。
情况描述
使用一些 latex 环境时, 可能遇到环境前后有极大纵向间距(空白)的问题。这些环境包括(但不限于)
- 控制段落对齐方式的环境,如
{center}
- 列表环境,如
{enumerate}
- 自己定义的定理环境,如通过
newtheorem
定义
简单解释
- 上述环境在输出时,会在首末插入可拉伸的纵向间距。
- 在纵向两端对齐的页面中,如果内容的高度不足,latex 就会拉伸(可拉伸的)纵向间距。
- 如果纵向间距过度拉伸,在视觉上就会带来大段空白,出现本文第一节描述的情况。
详细解释
- 可拉伸纵向间距的来源
- 上述环境在输出时,都把内容嵌套在一个
{trivlist}
环境中 {trivlist}
环境的首尾有纵向间距parsep
,初始值与parskip
相同- 标准文档类中,
parskip
的初始值为0pt plus 1pt
,是可伸长的距离(glue)
- 上述环境在输出时,都把内容嵌套在一个
- 页面纵向对齐方式
- latex2e kernel 提供了两种纵向对齐方式:
- 两端对齐,对应命令
flushbottom
,视觉效果是每一(自然填满的文字)页的首行和末行,文字的基线高度分别相等。(印刷质量有保证时,把双面印刷的纸张对着光源,能看出首末行基线高度分别相等的排印效果。如果两页都是纯正文页,甚至能看出每一行的基线高度分别相等的排印效果。) - 顶
- 两端对齐,对应命令
- latex2e kernel 提供了两种纵向对齐方式: