据我所知,align
和之间的主要区别equation
在于空格和align
不能与一起使用。split
从印刷角度来看,什么是首选做法?原因如下:
- 混合
equation
并align
放在一个文档中(即equation
用于一行方程和align
多行方程), - 仅使用
equation
(split
用于多行), - 仅使用
align
, - 使用其他可能性?
编辑
如果打算在有多行方程时使用更多空间,即如果倾向于混合align
和equation
,那么人们可能会进一步问:为什么不以align
这种方式实现,即为什么它检测它是单行方程还是多行方程并在方程前后添加适当的空间?
答案1
对于您要进行的印刷比较,我们需要区分生成显示样式方程的两组环境:
生成(大多数)单线方程的方法,例如
\[ ... \]
方法和displaymath
、equation
和equation*
环境。生成多线方程的方法(尽管它们可以被滥用来创建单线方程),例如
gather
、align
和multline
环境。
从印刷术的角度来看,这种区别很重要,因为后者总是在相应环境的上方和下方插入\abovedisplayskip
和\belowdisplayskip
。相比之下,前一组检查紧接在环境之前的行的长度:如果该行是短的和代替\abovedisplayshortskip
和\belowdisplayshortskip
插入。仅当前一行很长时\abovedisplayskip
,\belowdisplayskip
后两个长度参数才会起作用。
结果是,通过\[ ... \]
方法和displaymath
、equation
和equation*
环境,LaTeX 有机会更紧凑地排版数学材料——如果gather
和/或align
环境被(误)用于单行显示方程式,则不可能发生这种情况。
split
另一个重要方面是,在和环境中不可能有分页符,而在和环境aligned
中可以有分页符(例如,通过发出指令)。gather
align
\allowdisplaybreaks
答案2
阅读amsmath
软件包文档你会发现split
(仅在其他环境中可用)适用于将单个方程拆分为多行(例如当方程太长时),而align
环境是排版多个方程(可能相互关联)在同一显示环境中对齐
我认为这回答了你的问题:根据你要排版的内容,你可以选择最佳的环境。
答案3
您想要一个方程式吗?那么使用equation
或\[ .. \]
(equation*
如果您不想给它编号)。您想要多个方程式放在一起,中间没有文字吗?那么使用gather(*)
(如果不需要对齐) 或 ,align(*)
如果您想在某些点对齐它们。对我来说,这就是决定使用什么的方法。
现在,如果它是一个需要拆分成几行的单个方程,那么请split
在其中使用。如果您需要该方程内的特定对齐(例如定义映射\!\begin{aligned} f \colon A &\to B \\ x &\mapsto f(x) \end{aligned}
或multlined
当方程的某个部分太长而必须拆分时使用)。
当然,也可能有例外,但我认为这是选择(而不是选择、理解)使用什么环境的直接方法。