我正在尝试在仅覆盖几行或几列的矩阵上放置括号。
我对列的了解已经很接近了,但对行的了解还不够。
这是我一直在研究的例子:
\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 节点)。