在网上看了许多关于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”代表此行不参与自动编号,“”表示换行。“~”输入或不输入对结果没有影响。效果如下:
![a418e304cc871c15ac7c26226d5aeaa4.png](https://i-blog.csdnimg.cn/blog_migrate/adce419ccc5416e85867ec0d748c2aa1.jpeg)
当公式过长时,可能会出现公式长度超出单栏距离的情况,如下:
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}
![fef3108c772677b5fabad3d230ba6244.png](https://i-blog.csdnimg.cn/blog_migrate/f46f2c610b99e15583b042b9a1608b52.jpeg)
此时我们如果直接换行对齐,将出现如下的情况:
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}
![1f15a83d8e92c38ab014e96a854810f0.png](https://i-blog.csdnimg.cn/blog_migrate/44e5ee2d0b7e4e95ab6cab82e3d6ad41.jpeg)
即“+”与上一行的“=”对齐。而我们希望+可以与上一行的“(”对齐,从而使排版更加美观。经过我自己的反复尝试,一个小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}
![a02a85002cb67763a5227ce97d6b765e.png](https://i-blog.csdnimg.cn/blog_migrate/3c463bcceb52392783f0a80e91466952.jpeg)
符号“;在latex中表示空格。我们将一个空格“;”与上一行中的“=”对齐,就可以实现“+”与“(”的对齐啦。