![如何正确对齐方程式](https://linux22.com/image/251471/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E5%AF%B9%E9%BD%90%E6%96%B9%E7%A8%8B%E5%BC%8F.png)
可能重复:
多线方程,第一行只有左侧?
我想写一个 A=B 形式的等式。表达式 A 和 B 都很长。我希望 A 左对齐,下拉一行,=B 稍微右对齐。如果您能将表达式 A 左对齐,下拉一行,=B 稍微右对齐,下拉一行,=C,但 =B 和 =C 对齐,则可以获得加分。
答案1
这是一个帮助您开始使用常规array
环境的选项:
\documentclass{article}
\begin{document}
\[
\begin{array}{l@{}l@{}r}
ax^2 + bx + c \\
{}+ dx^{-1} + ex^{-2} + fx^{-3} & {}= gy + hy^2 & {}= iz^{-1} + jz^{-2} + kz^{-3} \\
& & {}+ lz^{-4} + mz^{-5}
\end{array}
\]
\end{document}
使用{}+
and{}=
是为了确保关系/运算符被视为“二进制”;也就是说,两边都有一个操作数(否则间距会偏离)。此外,@{}
还会删除任何列间间距,从而可以更轻松地管理运算符的间距。
答案2
这里有两个解决方案amsmath
(针对align
和flalign
环境)和mathtools
(针对\mathrlap
命令):
\documentclass[a5paper]{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
\mathrlap{\text{a long expression}}
\hphantom{\qquad} & \\
&= \text{another long expression} \\
&= \text{yet another one}
\end{align}
\begin{flalign}
\mathrlap{\text{a long expression}} \\
&& &= \text{another long expression} \\
&& &= \text{yet another one}
\end{flalign}
\end{document}
在第一个块中,\hphantom
您可以根据需要缩进第二行和第三行,并且整个内容大致居中。
在第二个块中,第一行左对齐,其他行右对齐(符号=
对齐)。在这个示例中不需要\mathrlap
,但当表达式较长时需要。
答案3
使用@Werner 的示例代码作为我的起点,这是一个使用包multline
的环境的版本amsmath
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{multline*}
ax^2 + bx + c \\
{}+ dx^{-1} + ex^{-2} + fx^{-3} = gy + hy^2 = iz^{-1} + jz^{-2} + kz^{-3} \\
{}+ lz^{-4} + mz^{-5}
\end{multline*}
\end{document}