我想将聚集在同一个环境中的两组方程式左对齐,并以页面为中心。我尝试了几种方法,到目前为止,我取得的最佳结果是使用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=~
和\eqdef
by\eqdef~
以将 RHS 移动得更远一些。)