乳胶中跨越矩阵几行或几列的括号

乳胶中跨越矩阵几行或几列的括号

我正在尝试在仅覆盖几行或几列的矩阵上放置括号。

我对列的了解已经很接近了,但对行的了解还不够。

这是我一直在研究的例子:

\documentclass{minimal}
\usepackage{amsmath}

\begin{document}

\begin{equation*}
A = \begin{array}{c@{\!\!\!}l}
\left( \begin{array}[c]{ccc}
a1 & \cdots & aN\\
b1 & \cdots & bN\\
\vdots &  & \vdots\\
z1 & \cdots & zN \\

\end{array}  \right)

&
\begin{array}[c]{ll}
\left. \begin{array}{c} \vphantom{1cm}  \\ \vphantom{2*\vdots}
\\ \vphantom{1cm} \end{array} \right\} & \text{$n_1$ times} \\

\end{array}
\end{array}
\end{equation*}

\end{document}

结果是:

在此处输入图片描述

有人有什么主意吗?

答案1

如果您只想跨越一些行,您可以使用nicematrix它将 Tikz 节点放在矩阵的每个单元格后面,然后使用 Tikz 的命令绘制括号及其标签。

\documentclass{minimal}
\usepackage{nicematrix,tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{equation*}
A = \begin{pNiceMatrix}%
a1 &\Hdotsfor{2} & aN\\
b1 &\Hdotsfor{2} & bN\\
\Vdots & & & \Vdots\\
z1 & \Cdots &\Cdots & zN \\
\CodeAfter
   \tikz
   \draw [decorate,decoration = brace]
        ([xshift=3mm]2-4.north east) to node [auto = left] {$n_1$ times} 
        ([xshift=3mm]4-4.south east) ;
\end{pNiceMatrix}
\end{equation*}
\end{document}

在此处输入图片描述

答案2

如果要跨越矩阵的所有行,可以使用rcases来自的环境mathtools(的扩展amsmath),它还可以通过其环境简化矩阵的代码pmatrix。我做了一些改进,因为我认为 4 列的矩阵看起来更美观:

\documentclass{minimal}
\usepackage{mathtools}

\begin{document}

\begin{equation*}
\begin{rcases}\displaystyle
A = \begin{pmatrix}
a1 &\hdotsfor{2} & aN\\
b1 &\hdotsfor{2} & bN\\
\vdots & & & \vdots\\
z1 & \cdots &\cdots & zN \\
\end{pmatrix}
\end{rcases}
 \text{$n_1$ times}
\end{equation*}

\end{document}

在此处输入图片描述

答案3

您可以在矩阵旁边构造一个零宽度,array其中包含与矩阵行高度匹配的元素。这样,您就可以\right\}在需要的地方放置:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\[
  A = \begin{pmatrix}
      a_1  & \cdots &   a_N  \\
      b_1  & \cdots &   b_N  \\
    \vdots &        & \vdots \\
      z_1  & \cdots &   z_N  \\
  \end{pmatrix}
  \setlength{\arraycolsep}{0pt} % Avoid any column space in arrays that follow
  \begin{array}{ c }
    \vphantom{a_N} \\ % First row
    \left.\kern-\nulldelimiterspace
    \vphantom{\begin{array}{ c }
        b_N  \\ % Second row
      \vdots \\ % Third row
        z_N     % Fourth/last row
    \end{array}}
    \right\}\text{$n_1$ times}
  \end{array}
\]

\end{document}

答案4

对于至少 5.16 (2021-06-20) 的版本nicematrix,也可以提供不明确使用 Tikz 的解决方案。括号是 LaTeX 的标准括号,而不是 Tikz 库的括号decorations

\documentclass{minimal}
\usepackage{nicematrix}
\begin{document}
\begin{equation*}
A = 
\begin{NiceArray}{(ccc)@{\qquad}l}[nullify-dots]
    a1     & \Ldots        & aN     & \\
    b1     & \Ldots        & bN     & \\
    \Vdots & \hspace*{1cm} & \Vdots & n_1 \text{ times}\\
    z1     & \Cdots        & zN  \\
\CodeAfter
    \SubMatrix{.}{2-3}{4-3}{\rbrace}[xshift=3mm]
\end{NiceArray}
\end{equation*}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容