我有三个数学方程式,我想将它们排版在一个块中,以便它们在等号=
和下面的注释处对齐。到目前为止,我一直在使用eqnarray
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{eqnarray}
\begin{aligned}
aaa & = b &\text{ in } Q\\
c & = d &\text{ in } \Sigma\\
e & = fff &\text{ in } \Omega
\end{aligned}
\end{eqnarray}
\end{document}
但我知道这个环境已经过时了(根据禁忌)。
还有什么更好的选择?
答案1
我认为以下内容是您正在寻找的:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
\begin{aligned}
aaa &= b &&\text{in $Q$}\\
c &= d &&\text{in $\Sigma$}\\
e &= fff &&\text{in $\Omega$}
\end{aligned}
\end{gather}
\end{document}
注意两个连续的“与”符号 ( &&
);这会使三个“in ..”块左对齐,而不是将它们对齐到符号的右侧。
附言不要使用eqnarray
一点儿也不。
答案2
尚未发布的tabstackengine
软件包可以做到这一点。它于根据最宽的列编写具有等间距列的表格sty 文件可以在以下位置找到:测量对齐。
stackengine
该包通过添加制表命令来扩展包的宏。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\begin{equation}
\alignCenterstack{
aaa & = b &\text{ in } Q\\
c & = d &\text{ in } \Sigma\\
e & = fff &\text{ in } \Omega
}
\end{equation}
\end{document}