我试图将这组方程式在两个地方对齐。本质上,我希望所有等号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}