我正在尝试实现与此类似的格式:
因此,本质上,我在这里有两个对齐点,一个位于 = 的右端和 + 或 - 的左端之间,另一个位于 + 或 - 的右端和实际项之间。我在这里使用单项式作为项作为示例,但在我的实际应用中,每个项中可能都有任意表达式。上面的示例我确实排版如下:
\begin{align*}
A =& \mathbin{\phantom+} 17\,a^2\,b^{16}\,c^5 \\
&+ 3\,a^2\,c^4\,d \\
&- a\,b^6 \\
B =& \mathbin{\phantom+} a^2\,b^6 \\
&- 5\,a\,b^7
\end{align*}
\mathbin
让第一行的间距与后面几行的间距相匹配至关重要。我喜欢这一点的一点是,对齐后的隐式使{}
我的 + 和 - 使用间距适合二进制使用,而不是像在行首看到的那样使用一元。然而,我写这个的方式并没有满足我所有的期望。
传统上,将对齐点前等号,即 写成
&=
而不是=&
。看看对齐等号后的间距详细来说,我认为按照我上面的方法,= 和 + 之间的间距将是二元运算符周围的间距,而不是关系周围的间距。不过,仅通过查看结果,我无法判断,特别是因为它们不在同一行,所以也许我不必担心。如果我要添加方程编号,那么这个方程的每一行都会被单独编号。我认为写类似的东西会更简洁,
A &= \begin{…}…\end{…}
但我不知道这里有合适的环境。{gathered}
将使其内容垂直和水平居中,而我需要它向左对齐并与第一行对齐。在我的上下文中,如果我也可以将其用于内联数学,以与第一行基线对齐的方式,那就更好了。这是因为如果可能的话,我想将此公式放在环境中
{description}
,因此我希望描述标签与公式的第一行对齐。不过,如果其他方法行不通,可能会尝试使用迷你页面。
您能想到一种方法来改进上述一个或多个要点吗?
答案1
这里有几种使用的方法alignat
,其中split
添加了 以允许编号。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
A ={}&&& 17\,a^2\,b^{16}\,c^5 \\
&+{}&& 3\,a^2\,c^4\,d \\
&-{}&& a\,b^6 \\
B ={}&&& a^2\,b^6 \\
&-{}&& 5\,a\,b^7
\end{alignat*}
\begin{alignat}{2}
\begin{split}
A = \phantom{{}+{}}& 17\,a^2\,b^{16}\,c^5 \\
{}+{}& 3\,a^2\,c^4\,d \\
{}-{}& a\,b^6
\end{split} \\
\begin{split}
B = \phantom{{}+{}}& a^2\,b^6 \\
{}-{}& 5\,a\,b^7
\end{split}
\end{alignat}
\end{document}
编辑:align
第二个例子更简单地用而不是 来输入alignat
。正如@egreg 在评论中所解释的那样, 中的单个对齐点split
也被视为 的对齐点align
。