在多个位置对齐多个方程(涉及案例)

在多个位置对齐多个方程(涉及案例)

我试图将这组方程式在两个地方对齐。本质上,我希望所有等号neq都对齐。

在此处输入图片描述

我知道alignat环境允许您在多个点对齐方程。但是,这似乎不起作用,因为我\begin{cases}的方程中有一个(cases需要一个\\,这似乎令人困惑alignat?)

当我尝试使用\begin{alignat}{2}

在此处输入图片描述

代码

\documentclass[12pt,a4paper]{report}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{bm}

\begin{document}

\begin{equation}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{M} \bm{\tilde{A}}^{(m)} 
            =\begin{cases}
               0, \quad n \neq m\\
               1, \quad n = m
            \end{cases}
\end{equation}
and
\begin{equation}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{K} \bm{\tilde{A}}^{(m)}                                  
            =\begin{cases}
               0, \quad n \neq m\\
               \omega_n^2, \quad n = m.
            \end{cases}
\end{equation}

\begin{alignat}{2}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{M} \bm{\tilde{A}}^{(m)} 
            &=\begin{cases}
               0, \quad n &&\neq m\\
               1, \quad n &&= m
            \end{cases}
\shortintertext{and}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{K} \bm{\tilde{A}}^{(m)}                                  
            &=\begin{cases}
               0, \quad n &&\neq m\\
               \omega_n^2, \quad n &&= m.
            \end{cases}
\end{alignat}

\end{document}

答案1

使用\shortintertext是可以的,但是为了符合条件,还需要做更多的工作。

\documentclass[12pt,a4paper]{report}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{calc}

\begin{document}

\begin{align}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{M} \bm{\tilde{A}}^{(m)} 
&=\begin{cases}
  \mathmakebox[\widthof{$\omega_n^2,$}][l]{0,} & n \neq m,\\
  \mathmakebox[\widthof{$\omega_n^2,$}][l]{1,} & n = m,
\end{cases}
\\
\shortintertext{and}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{K} \bm{\tilde{A}}^{(m)}                                  
&=\begin{cases}
  \mathmakebox[\widthof{$\omega_n^2,$}][l]{0,} & n \neq m,\\
  \omega_n^2, & n = m.
\end{cases}
\end{align}

\end{document}

在此处输入图片描述

不同的实现方式eqparbox:定义的命令\matheqbox有两个参数,第一个是用于内部工作的任意标签。不同的比对需要不同的标签。

\documentclass[12pt,a4paper]{report}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{eqparbox}

\newcommand{\matheqbox}[3][\displaystyle]{%
  \eqmakebox[#2][l]{$#1#3$}%
}

\begin{document}

\begin{align}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{M} \bm{\tilde{A}}^{(m)} 
&=\begin{cases}
  \matheqbox{A}{0,} & n \neq m,\\
  \matheqbox{A}{1,} & n = m,
\end{cases}
\\
\shortintertext{and}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{K} \bm{\tilde{A}}^{(m)}                                  
&=\begin{cases}
  \matheqbox{A}{0,} & n \neq m,\\
  \matheqbox{A}{\omega_n^2}, & n = m.
\end{cases}
\end{align}

\end{document}

答案2

这是一个使用eqparbox和的解决方案align

其优点eqparbox是它会自动跟踪最宽的条目,但代价是必须编译几次。W 是此盒装的唯一名称。

只要记住里面的内容\eqparbox是文本,所以我们需要$...$

\matheqbox或者在他的回答中使用 egregs附加功能

\documentclass[12pt,a4paper]{report}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{eqparbox}
\begin{document}

\begin{align}
\bm{\tilde{A}}^{(n)\intercal} \mathbf{M} \bm{\tilde{A}}^{(m)} 
            &=\begin{cases}
               \eqmakebox[W][l]{$0$,} & n \neq m\\
               \eqmakebox[W][l]{$1$,} & n = m
             \end{cases}
             \\
\intertext{and}
            \bm{\tilde{A}}^{(n)\intercal} \mathbf{K} \bm{\tilde{A}}^{(m)}                                  
            &=\begin{cases}
              \eqmakebox[W][l]{$0$,} & n \neq m\\
              \eqmakebox[W][l]{$\omega_n^2$,}& n = m.
            \end{cases}
\end{align}


 \end{document}

在此处输入图片描述

相关内容