跨多行的和与差

跨多行的和与差

我正在尝试实现与此类似的格式:

例子

因此,本质上,我在这里有两个对齐点,一个位于 = 的右端和 + 或 - 的左端之间,另一个位于 + 或 - 的右端和实际项之间。我在这里使用单项式作为项作为示例,但在我的实际应用中,每个项中可能都有任意表达式。上面的示例我确实排版如下:

\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让第一行的间距与后面几行的间距相匹配至关重要。我喜欢这一点的一点是,对齐后的隐式使{}我的 + 和 - 使用间距适合二进制使用,而不是像在行首看到的那样使用一元。然而,我写这个的方式并没有满足我所有的期望。

  1. 传统上,将对齐点等号,即 写成&=而不是=&。看看对齐等号后的间距详细来说,我认为按照我上面的方法,= 和 + 之间的间距将是二元运算符周围的间距,而不是关系周围的间距。不过,仅通过查看结果,我无法判断,特别是因为它们不在同一行,所以也许我不必担心。

  2. 如果我要添加方程编号,那么这个方程的每一行都会被单独编号。我认为写类似的东西会更简洁,A &= \begin{…}…\end{…}但我不知道这里有合适的环境。{gathered}将使其内容垂直和水平居中,而我需要它向左对齐并与第一行对齐。

  3. 在我的上下文中,如果我也可以将其用于内联数学,以与第一行基线对齐的方式,那就更好了。这是因为如果可能的话,我想将此公式放在环境中{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

相关内容