我已设法在矩阵下创建括号,并使用来均衡间距\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}