在网上看了许多关于latex多行公式对齐的教程,大多比较凌乱。在此总结一种最整洁的写法:
begin{eqnarray} label{eq}
E&=&(a+b)(a-b)+b^2 nonumber
~&=&a^2-b^2+b^2 nonumber
~&=&a^2
end{eqnarray}
以上公式中, “&=&”代表在“=”处对齐, “nonumber”代表此行不参与自动编号,“”表示换行。“~”输入或不输入对结果没有影响。效果如下:

当公式过长时,可能会出现公式长度超出单栏距离的情况,如下:
begin{eqnarray} label{eq}
E&=&(a+b)(a-b)+b^2+100+200+300+400+500+600 nonumber
&=&a^2-b^2+b^2+2100 nonumber
&=&a^2+2100
end{eqnarray}

此时我们如果直接换行对齐,将出现如下的情况:
begin{eqnarray} label{eq}
E&=&(a+b)(a-b)+b^2+100+200+300+400nonumber
&+&500+600 nonumber
&=&a^2-b^2+b^2+2100 nonumber
&=&a^2+2100
end{eqnarray}

即“+”与上一行的“=”对齐。而我们希望+可以与上一行的“(”对齐,从而使排版更加美观。经过我自己的反复尝试,一个小trick如下:
begin{eqnarray} label{eq}
E&=&(a+b)(a-b)+b^2+100+200+300+400nonumber
&;&+500+600 nonumber
&=&a^2-b^2+b^2+2100 nonumber
&=&a^2+2100
end{eqnarray}

符号“;在latex中表示空格。我们将一个空格“;”与上一行中的“=”对齐,就可以实现“+”与“(”的对齐啦。