当存在多个对齐标签时替换 eqnarray

当存在多个对齐标签时替换 eqnarray

我有三个数学方程式,我想将它们排版在一个块中,以便它们在等号=和下面的注释处对齐。到目前为止,我一直在使用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}

在此处输入图片描述

相关内容