答案1
它们的效果相似,但编程方式不同。equation*
基于 amsmath 宏构建,因此与其他 amsmath 环境和命令更兼容。
例如,在 LaTeX环境中,即使加载了 amsmath,也displaymath
无法使用环境。但在其中却是可能的。split
equation*
amsmath 重新定义\displaymath
,以便使用equation*
。这意味着,在加载 amsmath 后,这两个环境之间将不再有区别。此外,LaTeXdisplaymath
很脆弱,而 amsmath 使其变得坚固。
为了看到这一点,这里有两行latex.ltx
:
\def\displaymath{\[}
\def\enddisplaymath{\]\@ignoretrue}
这两行位于amsmath.sty
:
\DeclareRobustCommand{\[}{\begin{equation*}}
\DeclareRobustCommand{\]}{\end{equation*}}
总而言之,如果您使用非常适合数学文本的 amsmath,那么您不必担心\displaymath
。
答案2
您可以在的第 55.2 节source2e.pdf
和amsmath.sty
LaTeX 别名的第 2523–2667 行中找到相关定义,其中和是带有一些检查的包装器。 重新定义\begin{displaymath}
为\[
和,后者又带有一些检查的包装器。 因此它们执行相同的操作,正如 Stefan 指出的那样,一旦您加载,它们实际上就会执行相同的操作。\end{displaymath}
\]
\[
\]
$$
amsmath
\[
\begin{equation*}
\]
\end{equation*}
$$
amsmath