我想排版证明,并想强调我在每个步骤中所做的工作,例如,当我替换变量时,通过下括号等号。此外,我还想在每一行中对齐等号。不幸的是,我不知道如何同时对齐下括号等号和无下括号等号。
问题:如何垂直对齐带下括号和不带下括号的等号?
\documentclass{report}
\usepackage{amsmath} % Mathe
\usepackage{mathtools} % Mathe
\usepackage{amsfonts} % Mathesymbole
\begin{document}
\begin{align*}
D(D^TD)^{-1} &\underbrace{=}_{\mathclap{D=B(B^TB)^{-1}}} B(B^TB)^{-1}((B(B^TB)^{-1})^TB(B^TB)^{-1})^{-1} \\
&= B(B^TB)^{-1}(((B^TB)^{-1})^TB^TB(B^TB)^{-1})^{-1}
\end{align*}
\end{document}
答案1
首先,您需要建立\underbrace
一个数学关系,用于间距;但您还必须扩展为其保留的空间,因为下支撑具有最小宽度:
\documentclass{report}
\usepackage{amsmath} % Mathe
\usepackage{mathtools} % Mathe
\usepackage{amsfonts} % Mathesymbole
\usepackage{calc}
\newcommand{\ueq}[1][]{%
\if\relax\detokenize{#1}\relax
\sbox0{$\underbrace{=}_{}$}%
\mathrel{\mathmakebox[\wd0]{=}}
\else
\mathrel{\underbrace{=}_{\mathclap{#1}}}
\fi}
\begin{document}
\begin{align*}
D(D^TD)^{-1} &\ueq[D=B(B^TB)^{-1}] B(B^TB)^{-1}((B(B^TB)^{-1})^TB(B^TB)^{-1})^{-1} \\
&\ueq B(B^TB)^{-1}(((B^TB)^{-1})^TB^TB(B^TB)^{-1})^{-1}
\end{align*}
\end{document}
因此,如果\ueq
没有可选参数,它会产生一个与下括号一样宽的等号,否则它会添加下括号。
答案2
这是您想要的替代方案,它仍然传达相同的信息,而无需用方程式修饰等号。注释推导步骤的传统方法是使用标签。因此您可以改为
\documentclass{report}
\usepackage{amsmath} % Mathe
\usepackage{mathtools} % Mathe
\usepackage{amsfonts} % Mathesymbole
\begin{document}
\begin{align}
D(D^TD)^{-1}
&= B(B^TB)^{-1}((B(B^TB)^{-1})^TB(B^TB)^{-1})^{-1} \label{subst}\\
&= B(B^TB)^{-1}(((B^TB)^{-1})^TB^TB(B^TB)^{-1})^{-1} \label{trans}
\end{align}
Here \eqref{subst} is due to the substitution $D=B(B^TB)^{-1}$, and \eqref{trans} is by the transpose law for matrix multiplication.
\end{document}
答案3
这似乎有效
\(
\arraycolsep 0pt
\begin{array}{lcl}
D(D^TD)^{-1} &\underbrace{=}_{\mathclap{D=B(B^TB)^{-1}}}
& B(B^TB)^{-1}((B(B^TB)^{-1})^TB(B^TB)^{-1})^{-1} \\
&= & B(B^TB)^{-1}(((B^TB)^{-1})^TB^TB(B^TB)^{-1})^{-1}
\end{array}
\)