矩阵下的下支撑

矩阵下的下支撑

我已设法在矩阵下创建括号,并使用来均衡间距\phantom

但是,列、点和括号之间的空隙非常大。如果能让所有内容在水平方向上更紧凑一些就好了,但我不知道该怎么做。

有人可以帮忙吗?

\newcommand*{\vertbar}{\rule[-1ex]{0.5pt}{2.5ex}}
\newcommand\undermat[2]{% http://tex.stackexchange.com/a/102468/5764
  \makebox[0pt][l]{$\smash{\underbrace{\phantom{%
    \begin{matrix}#2\end{matrix}}}_{\text{$#1$}}}$}#2}

\begin{align}
    \mathbf{W}_{BA} & 
    \begin{pmatrix}
\vertbar &  & \vertbar & & \vertbar &  & \vertbar  \\
\mathbf{x}^B_1 & \dots & \mathbf{x}^B_1 & \dots & \mathbf{x}^B_p & \dots & \mathbf{x}^B_p  \\
\undermat{k}{\vertbar &  & \phantom{--}\vertbar\phantom{--}} & & \undermat{k}{\vertbar &  & {\phantom{--}\vertbar\phantom{--}}}
\end{pmatrix}
= \notag \\\\
& \begin{pmatrix}
\vertbar &  & \vertbar & & \vertbar &  & \vertbar  \\
\mathcal{N}(\mathbf{x}^B_1)_1 & \dots & \mathcal{N}(\mathbf{x}^B_1)_k & \dots & \mathcal{N}(\mathbf{x}^B_p)_1 & \dots & \mathcal{N}(\mathbf{x}^B_p)_k  \\
\undermat{k}{\vertbar &  & \phantom{---}\vertbar\phantom{---}} & & \undermat{k}{\vertbar &  & {\phantom{---}\vertbar\phantom{---}}}
\end{pmatrix}.
\\
\end{align}

在此处输入图片描述

答案1

下面我使用一些测量方法来正确地将\underbrace宽度和其内容对齐。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,xcolor}

\newcommand*{\vertbar}{\rule[-1ex]{0.5pt}{2.5ex}}
\newcommand\undermat[2]{% http://tex.stackexchange.com/a/102468/5764
  \makebox[0pt][l]{$\smash{\underbrace{\phantom{%
    \begin{matrix}#2\end{matrix}}}_{\text{$#1$}}}$}#2}

\begin{document}

Original:
\begin{align}
    \mathbf{W}_{BA} & 
    \begin{pmatrix}
  \vertbar &  & \vertbar & & \vertbar &  & \vertbar  \\
  \mathbf{x}^B_1 & \dots & \mathbf{x}^B_1 & \dots & \mathbf{x}^B_p & \dots & \mathbf{x}^B_p  \\
  \undermat{k}{\vertbar &  & \phantom{--}\vertbar\phantom{--}} & & \undermat{k}{\vertbar &  & {\phantom{--}\vertbar\phantom{--}}}
  \end{pmatrix}
  = \notag \\\\
  & \begin{pmatrix}
  \vertbar &  & \vertbar & & \vertbar &  & \vertbar  \\
  \mathcal{N}(\mathbf{x}^B_1)_1 & \dots & \mathcal{N}(\mathbf{x}^B_1)_k & \dots & \mathcal{N}(\mathbf{x}^B_p)_1 & \dots & \mathcal{N}(\mathbf{x}^B_p)_k  \\
  \undermat{k}{\vertbar &  & \phantom{---}\vertbar\phantom{---}} & & \undermat{k}{\vertbar &  & {\phantom{---}\vertbar\phantom{---}}}
  \end{pmatrix}.
  \\
\end{align}

% Update \vertbar
\renewcommand{\vertbar}[2]{{%
  \setlength{\fboxsep}{.5\fboxsep}
  \ooalign{%
    \hidewidth\rule[-1.5\ht\strutbox]{.4pt}{3.5\ht\strutbox}\hidewidth\cr%
    \colorbox{white}{$#2\strut$}\rule[-1.5\ht\strutbox]{0pt}{3.5\ht\strutbox}%
  }
}}
% Measure some components of the construction
\newlength{\xpB}\settowidth{\xpB}{$\mathbf{x}_p^B$}
\newlength{\NxaB}\settowidth{\NxaB}{$\mathcal{N} \bigl( \mathbf{x}_p^B \bigr)_1$}
\newlength{\NxpB}\settowidth{\NxpB}{$\mathcal{N} \bigl( \mathbf{x}_p^B \bigr)_k$}

Updated:
\begin{align}
  \mathbf{W}_{BA} &
  \Biggl(
    \hspace{0.5\xpB}
    \underbrace{
      \hspace{-0.5\xpB}
      \vertbar{x1B}{\mathbf{x}_1^B} \hspace{0.5em} \cdots \hspace{0.5em} \vertbar{x1B}{\mathbf{x}_1^B}
      \hspace{-0.5\xpB}
    }_k
    \hspace{0.5\xpB}
    \quad \cdots \quad
    \hspace{0.5\xpB}
    \underbrace{
      \hspace{-0.5\xpB}
      \vertbar{xpB}{\mathbf{x}_p^B} \hspace{0.5em} \cdots \hspace{0.5em} \vertbar{xpB}{\mathbf{x}_p^B}
      \hspace{-0.5\xpB}
    }_k
    \hspace{0.5\xpB}
  \Biggr) = \notag \\
  & \Biggl(
    \hspace{0.5\NxaB}
    \underbrace{
      \hspace{-0.5\NxaB}
      \vertbar{Nx1B}{\mathcal{N} \bigl( \mathbf{x}_1^B \bigr)_1} \hspace{0.5em} \cdots \hspace{0.5em} \vertbar{Nx1B}{\mathcal{N} \bigl( \mathbf{x}_1^B \bigr)_k}
      \hspace{-0.5\NxaB}
    }_k
    \hspace{0.5\NxaB}
    \quad \cdots \quad
    \hspace{0.5\NxpB}
    \underbrace{
      \hspace{-0.5\NxpB}
      \vertbar{NxpB}{\mathcal{N} \bigl( \mathbf{x}_p^B \bigr)_1} \hspace{0.5em} \cdots \hspace{0.5em} \vertbar{NxpB}{\mathcal{N} \bigl( \mathbf{x}_p^B \bigr)_k}
      \hspace{-0.5\NxpB}
    }_k
    \hspace{0.5\NxpB}
  \Biggr)
\end{align}

\end{document}

相关内容