我的室友\flalign
在 LaTeX 中编写所有方程式,经过思考,我发现这样做很有道理。环境\equation
不是更具限制性吗?使用环境有什么好处吗\equation
?
这仅仅是\flalign
需要amsmath
包吗?
答案1
作为埃格尔他在评论中提到,当使用equation
和flalign
时,如果紧接在公式之前的文本行在数学表达式之前停止,则公式周围的垂直间距会有所不同。在下面的示例中,可以使用借助 TikZ 绘制的一些视觉指导线来看到这一点:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand\myline[2][red]{%
\draw[#1] ([yshift=#2]current page.west) -- ([yshift=#2]current page.east);
}
\begin{document}
Short line
\begin{equation}
a=b
\end{equation}
Short line
\begin{flalign}
a=b
\end{flalign}
Short line
A not so short line of text for the example
\begin{equation}
a=b
\end{equation}
A not so short line of text for the example
\begin{flalign}
a=b
\end{flalign}
A not so short line of text for the example
\begin{tikzpicture}[remember picture,overlay]
\myline{262}
\myline{250}
\myline[blue]{232}
\myline[blue]{210}
\myline{177}
\myline{154}
\myline[blue]{132}
\myline[blue]{111}
\end{tikzpicture}
\end{document}
红色规则对应equation
,蓝色规则对应flalign
。
间距的差异是因为,对于equation
环境,控制公式周围的垂直间距的长度不同,这取决于公式前的行是否在公式前停止。
有四种长度用于控制显示的方程周围的垂直间距:\abovedisplayskip
,\belowdisplayskip
,\abovedisplayshortskip
, 。它们在类中\belowdisplayshortskip
的默认值为:article
10pt
\abovedisplayskip=10pt plus 2pt minus 5pt
\belowdisplayskip=10pt plus 2pt minus 5pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayshortskip=6pt plus 3pt minus 3pt
如果公式之前的文本行在短变体之前结束,则将适用于equation
,但不适用于。flalign
那么,使用 有什么好处呢equation
?当行在公式之前结束时,equation
会在公式周围引入较少的垂直空间,因此表达式(请记住,在本例中我们考虑的是一行表达式)不会显得与周围的文本脱节太远。