如何更改数学显示上方和下方的空白?

如何更改数学显示上方和下方的空白?

我希望使用 amsmath 将用 LaTeX 编写的文章压缩到一定页数。

在文本中,我有许多编号的数学显示,我会在整篇文章中引用它们。但是,它们占用了相当多的垂直空间。因此,我想更改它们上方和下方空白的高度。

我曾尝试使用负垂直空间,但它们往往会弄乱其他东西。

答案1

有四个参数定义这个空间,你可以查看它们的值,例如通过

\showthe\abovedisplayskip
\showthe\belowdisplayskip
\showthe\abovedisplayshortskip
\showthe\belowdisplayshortskip

如果前一行文本的内容少于公式的宽度,则使用“..short..” 。在标准 LaTeX 的情况下displaymath(或\[...\]简称),它的行为有点奇怪,因为它.6\linewidth在垂直模式下开始时会在这种显示前面添加一个宽度为的明确空框。因此,您会在显示屏前面看到一个空行,并且此外 \abovedisplayskip被使用。这不是针对equation环境进行的(这里低级 TeX 添加了空行,但它只包含一个\indent框),所以这是一个奇怪的历史“特征”。

这些参数的值取决于字体大小,在默认类(例如article)中,LaTeX 将它们设置为执行\normalsize\small或的一部分\footnotesize。其他字体大小命令不会更改它们,可能是因为 Leslie 认为在类似命令中\huge不会排版任何显示。

因此,您可以根据自己的喜好进行更改\setlength,例如

\setlength\abovedisplayskip{5pt plus 2pt minus 2pt}

或者任何你认为适合你的设计的值(加号和减号部分定义了空间在必要时可以拉伸或收缩的程度)。但那个定义必须替换字体大小命令中的定义,或者至少必须添加到它的末尾,以便它覆盖先前设置的任何内容。一个简单的方法是

\makeatletter
\g@addto@macro \normalsize {%
 \setlength\abovedisplayskip{5pt plus 2pt minus 2pt}%
 \setlength\belowdisplayskip{5pt plus 2pt minus 2pt}%
}
\makeatother

只要您不排版显示\small\footnotesize就不需要向这些命令附加值,但如果是这样,可以使用相同的方法。

(感谢 egreg 指出我的错误,没有记住这是与尺寸相关的)

答案2

除了 Frank 列出的参数之外,还要注意如果在\begin{equation}此参数上方有一个空白行,则会导致显示屏上方生成一个空行。

相关内容