\underbrace 和 align 环境

\underbrace 和 align 环境

我想排版证明,并想强调我在每个步骤中所做的工作,例如,当我替换变量时,通过下括号等号。此外,我还想在每一行中对齐等号。不幸的是,我不知道如何同时对齐下括号等号和无下括号等号。

MWE 的结果

问题:如何垂直对齐带下括号和不带下括号的等号?

\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}
\)

在此处输入图片描述

相关内容