在同一环境中左对齐一个方程式

在同一环境中左对齐一个方程式

我想将聚集在同一个环境中的两组方程式左对齐,并以页面为中心。我尝试了几种方法,到目前为止,我取得的最佳结果是使用aligned内部环境align并使用额外的列分隔符&。唯一的问题是aligned环境只添加一个方程式,而我想对第一组中的最后两行进行编号。

我知道align环境编号每行都有一个方程式,但我不能将它们嵌套在一起。我认为不可能“强制”它;任何与 作用相反的事情\nonumber。我也尝试过在 、 等中使用方程式,但tabular后者完全弄乱了布局,尤其是方程式编号。\vbox\mbox\minipage

数学家协会

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage[margin=2cm]{geometry}

\newcommand{\eqdef}{\overset{\mathrm{def}}{=\joinrel=}}

\begin{document}

\begin{align}
    &\begin{aligned}[b]
        f_X(X|A,B,C) &\eqdef\ A \\
    &=\ B + C \\
    &=\ D + E + F \\
    &=\ \frac{1}{Z} Y
    \end{aligned} \\[1em]
    &\begin{aligned}
        Z(\mu_0, \kappa_0, \alpha_0, \beta_0)\ &=\
            \frac{\Gamma(\alpha_0)}{\beta^{\alpha_0}} \left( \frac{2\pi}{\kappa_0} \right)
    \end{aligned}
\end{align}

\end{document}

在此处输入图片描述

答案1

我会选择最简单的解决方案,即对齐等号。第二种解决方案需要进行一些移动以使所有内容居中,但这取决于第一个块中的实际方程式及其宽度。

第三种解决方案是将两个块居中,通常应该是更好的选择,但在这种情况下它并不那么好,因为最后的等号太靠近彼此了。

\documentclass{article}
\usepackage{mathtools}
\usepackage{calc} % for the second solution

\newcommand{\eqdef}{\overset{\mathrm{def}}{=\joinrel=}}

\begin{document}

\paragraph{Simplest solution, no left alignment}
\begin{align}
f_X(X|A,B,C)
  &\eqdef A \notag \\
  &= B + C \notag \\
  &= D + E + F \\
  &= \frac{1}{Z} Y \\
Z(\mu_0, \kappa_0, \alpha_0, \beta_0)
  &= \frac{\Gamma(\alpha_0)}{\beta^{\alpha_0}} \left( \frac{2\pi}{\kappa_0} \right)
\end{align}

\paragraph{Not so nice solution, with left alignment}
\begin{align}
f_X(X|A,B,C)
  &\eqdef A \notag \\
  &= B + C \notag \\
  &= D + E + F \\
  &= \frac{1}{Z} Y \\
\mathmakebox[\widthof{$f_X(X|A,B,C)$}][l]{Z(\mu_0, \kappa_0, \alpha_0, \beta_0)
  = \frac{\Gamma(\alpha_0)}{\beta^{\alpha_0}} \left( \frac{2\pi}{\kappa_0} \right)}
\end{align}

\paragraph{Possibly better, with centering of the blocks}
\begin{gather}
\begin{align}
f_X(X|A,B,C)
  &\eqdef A \notag \\
  &= B + C \notag \\
  &= D + E + F \\
  &= \frac{1}{Z} Y
\end{align} \\
Z(\mu_0, \kappa_0, \alpha_0, \beta_0)
  = \frac{\Gamma(\alpha_0)}{\beta^{\alpha_0}} \left( \frac{2\pi}{\kappa_0} \right)
\end{gather}

\end{document}

在此处输入图片描述

答案2

在您显示的特定情况下,alignat为 egreg 展示的各种解决方案提供了一个很好的替代方案。这也有助于您的\eqdef比正常等号更长。

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage[margin=2cm]{geometry}

\newcommand{\eqdef}{\overset{\mathrm{def}}{=\joinrel=}}

\begin{document}

\begin{alignat}{2}
        & f_X(X|A,B,C) &\eqdef & A \\
        &&= &B + C \\
        &&= &D + E + F \\
        &&= &\frac{1}{Z} Y\\
        &Z(\mu_0, \kappa_0, \alpha_0, \beta_0) &=&
            \frac{\Gamma(\alpha_0)}{\beta^{\alpha_0}} \left( \frac{2\pi}{\kappa_0} \right)
\end{alignat}

\end{document}

(如果您不熟悉它,手册alignat中有详细解释amsmath。它基本上align只是抑制了通常包含在中的大量额外空格align,因此输出可能看起来有点拥挤。您应该自己添加间距。例如,您可以选择替换每个=by=~\eqdefby\eqdef~以将 RHS 移动得更远一些。)

在此处输入图片描述

相关内容