原  文:Aligning equations with amsmath
译  者:Xovee
翻译时间:2020年6月27日

Aligning equations with amsmath

amsmath包提供了许多有助于输入公式的命令。你可以选择适合文档类型的公式样式,输入长公式,甚至是在同一行中包含多个公式。

介绍

LaTeX 自带的公式输入功能可能缺乏一些灵活性,当公式过长的时候,你可能会遇到公式重叠、甚至丢失一部分位于边缘的公式。我们可以使用amsmath包来克服这些困难。请看一个例子:

\begin{equation} \label{eq1}
\begin{split}
A & = \frac{\pi r^2}{2} \\
 & = \frac{1}{2} \pi r^2
\end{split}
\end{equation}

如果你想让公式编号,那么你需要把公式放在 equation 环境之中,否则,你需要使用 equation* 环境(多了一个星号)。在 equation 环境之中,使用 split 环境来将公式分割为更小的片段,这些片段将会相应地对齐。双反斜杠的作用是进入一个新行。而 & 符号的作用是设置对齐的位置。

在 Oerleaf 中打开这个例子。

使用 amsmath 包

这个步骤非常简单,在文档的序言部分输入:

\usepackage{amsmath}

在 Oerleaf 中打开这个例子。

输入一个公式

如果只需要输入一个公式,你需要使用 equationequation* 环境。另外,你可能需要给公式一个标签,以备之后在文档中引用这个公式。

\begin{equation} \label{eu_eqn}
e^{\pi i} + 1 = 0
\end{equation}

The beautiful equation \ref{eu_eqn} is known as the Euler equation

在这里插入图片描述

在 Oerleaf 中打开这个例子。\

输入长公式

对于长度大于列宽的公式,请使用 multiline 环境。在需要分割公式的地方输入一个双反斜杠。公式的第一部分将会向左对其,而第二个部分将会向右对齐。

另外,在环境名中包含一个星号意味着这个公式将不再被编号。

\begin{multline*}
p(x) = 3x^6 + 14x^5y + 590x^4y^2 + 19x^3y^3\\ 
- 12x^2y^4 - 12xy^5 + 2y^6 - a^3b^3
\end{multline*}

在这里插入图片描述

在 Oerleaf 中打开这个例子。

分割、对齐一个公式

split 环境与 multline 环境非常相似。使用 split 环境就像是把公式写在一个表格之中,每一行是公式的一个部分。这个环境必须包含在 equation 环境之中。本文开头有一个相关的例子,读者可以参考。

对齐多个公式

如果你想垂直对齐多个公式,请使用 align 环境:

\begin{align*} 
2x - 5y &=  8 \\ 
3x + 9y &=  -12
\end{align*}

在这里插入图片描述
一般来说,数学公式中的二元操作符(例如 >、<、=)是常用的对齐位置。

如前所述,& 符号指定了对齐的位置。下面是一个更复杂的例子:

\begin{align*}
x&=y           &  w &=z              &  a&=b+c\\
2x&=-y         &  3w&=\frac{1}{2}z   &  a&=b\\
-4 + 5x&=2+y   &  w+2&=-1+w          &  ab&=cb
\end{align*}

x = y w = z a = b + c 2 x = − y 3 w = 1 2 z a = b − 4 + 5 x = 2 + y w + 2 = − 1 + w a b = c b \begin{aligned} x&=y & w &=z & a&=b+c\\ 2x&=-y & 3w&=\frac{1}{2}z & a&=b\\ -4 + 5x&=2+y & w+2&=-1+w & ab&=cb \end{aligned} x2x4+5x=y=y=2+yw3ww+2=z=21z=1+waaab=b+c=b=cb

在这个例子中,我们把公式组织为三列。每个公式由两个部分组成,以 & 为界;相同的,公式之间也以 & 为界。

以及,在环境名中使用 * 来输入无编号公式。在编号启用的情况下,你可以给每一行公式单独指定一个标签。

在 Oerleaf 中打开这个例子。

公式分组和公式居中

如果你打算输入一系列连续的、居中的公式,而不需要去对齐它们,那么,请使用 gather 环境。星号 * 依旧可以控制编号的有无。

\begin{gather*} 
2x - 5y =  8 \\ 
3x^2 + 9y =  3a + c
\end{gather*}

在这里插入图片描述
在 Oerleaf 中打开这个例子。

延伸阅读

更多信息请见:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐