所以我最近玩了一下,我注意到文本和和之间的空行会\begin{align}
产生很大的垂直空白,而文本和之间的空行则不会出现这种情况\begin{equation}
,尽管方程式可能会产生非常微妙的影响,但我并不完全确定。我对此没有任何问题,但我很好奇为什么确实会发生这种情况。据我所知,LaTeX 通常不会忽略空行,例如形成段落。那么为什么在方程式环境前设置空行时会出现这种情况呢?
示例代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Line of text directly followed by "align"
\begin{align}
a + b = c
\end{align}
Line of text followed by an empty line and then "align"
\begin{align}
a + b = c
\end{align}
Line of text directly followed by "equation"
\begin{equation}
a + b = c
\end{equation}
Line of text followed by an empty line and then "equation"
\begin{equation}
a + b = c
\end{equation}
\end{document}
答案1
Enrico 完全正确:“不要在显示环境周围使用空行”(《LaTeX Companion》,第二版,第 481 页底部)。
但要解释一下区别:
之前的空行equation/align
提供了额外的垂直空间\baselineskip
(实际上,该行看起来是空的,但技术上并不空:它包含\indent
框)。但是,equation
然后使用的垂直空间\abovedisplayshortskip
默认为 0pt(加上一些拉伸)。
无空行equation
的垂直间距为\abovedisplayskip
,默认情况下为 10pt(加上一些拉伸)。这几乎与 相同\baselineskip
。
环境align
使用“显示对齐”,其大约为
$$\halign{ . . .}$$
这是低级 TeX 的array
环境等效物。不过,它前面总是有垂直空格\abovedisplayskip
。
因此,align
在获得和之前有一个空\baselineskip
行abovedisplayskip
。
查看:设置\abovedisplayshortskip
为\abovedisplayskip
,并且equation
获取与 相同的间距align
。
答案2
有时,我发现 LaTeX 中的标准间距不一定是错误的,只是不是我想要的,或者在上下文中不美观:将图像与文本行对齐,或者在表格或文本之间对齐,或任何其他示例。
也许这些会在 LaTeX3 中再次改变?谁知道呢?
同时,我只使用 \vspace 或 \space*(有时带负值)来实现我想要的效果。