我有一个多行方程,希望其中的一些行与附加符号对齐。下面是一个例子,其中所有行都与等号对齐,但第 2 行和第 3 行还应与乘号对齐:
y = a + b + c +
(5 - 3) x (10 - 5) +
(10 - 30) x (10 - 1) +
e + f + g + h
目前我使用
\begin{align}
\begin{split}\label{mylabel}
y ={}&a + b + c +
&(5 - 3) \times (10 - 5) +
&(10 - 30) \times (10 - 1) +
&e + f + g + h
\end{split}
\end{align}
将等式与等号后面的等式对齐。
有没有办法在\times
第 2 行和第 3 行添加对齐,而无需强制将整个第一行和最后一行“放在对齐的一侧”?
答案1
您可以使用aligned
或alignedat
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
\begin{split}\label{mylabel}
y &= a + b + c\\
&\quad
\!\begin{alignedat}[t]{2}
&+ (5 - 3) &&\times (10 - 5) \\
&+ (10 - 30) &&\times (10 - 1) \\
\end{alignedat}\\
&\quad + e + f + g + h
\end{split}
\end{align}
\end{document}
alignedat
提供了多对列,第一对列右对齐,下一对列左对齐,等等。环境前会自动插入一个标准的小空格,我用负片细空格将其取消\!
。
我保留了你的外部,aligned
假设你有充分的理由这样做,但equation
在这个具体案例中看起来更合适。此外,我还将二元运算符相对于换行符移动,以提供更标准的外观。如果你真的想把它们放在行尾,那么你必须+{}\\
每次都写一遍才能得到正确的间距:
\begin{align}
\begin{split}\label{mylabel}
y ={}& a + b + c +{}\\
&
\!\begin{alignedat}[t]{2}
&(5 - 3) &&\times (10 - 5) +{}\\
&(10 - 30) &&\times (10 - 1) +{}\\
\end{alignedat}\\
&e + f + g + h
\end{split}
\end{align}
但这不是拆分此类方程的标准方法。