如何在矩阵上放置带标签的括号

如何在矩阵上放置带标签的括号

我想创建一个带有圆括号的矩阵,如下图所示:在此处输入图片描述

我知道如何创建以下矩阵

\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}
\usepackage{mathdots}

\begin{document}

\begin{bmatrix}
a & \hdots & \hdots & c & 0 & \hdots & 0 \\ 
\vdots &  & \iddots & \iddots &  & \iddots  & \\ 
\vdots &  \iddots &  0&  & 0 &  & \\ 
b &\iddots&  & \iddots &  &  & \\ 
0 &   & 0 &  &  &  & \\ 
\vdots & \iddots &  &  &  &  & \\ 
0 &  &  &  &  &  & 
\end{bmatrix}

\end{document}

但我不知道如何用这些标签创建这些括号。任何帮助都将不胜感激。

答案1

无需猜测太多(我猜测的唯一值是0.9ex

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathdots}

\begin{document}

\[
% some preliminaries with local settings
\newcommand{\upperbrace}{%
  \overbrace{\hphantom{\begin{matrix} a & \hdots & \hdots & c \end{matrix}}}%^{k}
}%
\newcommand{\rightbrace}{%
  {\scriptstyle k+1}\,\left\{%
  \vphantom{\begin{matrix} a \\ \vdots \\ \vdots \\ b \end{matrix}}%
  \right.\kern-\nulldelimiterspace
}
% now the real job
\raisebox{\dimexpr-\height-0.9ex}{$\rightbrace$}
\begin{array}[t]{@{}l@{}}
\hphantom{\Bigg\lbrack}\upperbrace^k\hfill\\[-0.5ex]
\begin{bmatrix}
a & \hdots & \hdots & c & 0 & \hdots & 0 \\ 
\vdots &  & \iddots & \iddots &  & \iddots  & \\ 
\vdots &  \iddots &  0&  & 0 &  & \\ 
b &\iddots&  & \iddots &  &  & \\ 
0 &   & 0 &  &  &  & \\ 
\vdots & \iddots &  &  &  &  & \\ 
0 &  &  &  &  &  & 
\end{bmatrix}
\end{array}
\]

\end{document}

在此处输入图片描述

答案2

这有点儿麻烦,需要对长度进行调整。

\documentclass[12pt]{article}

% List of packages
\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{mathdots}

\begin{document}

\begin{align*}
&\phantom{0}\overbrace{\phantom{\hspace{6.5em}}}^{\displaystyle k}\\
\raisebox{2.3em}{$k+2 \left\{ \rule[3.5em]{0pt}{0pt} \right.$}
&\begin{bmatrix}
  a & \hdots & \hdots & c & 0 & \hdots & 0 \\ 
  \vdots &  & \iddots & \iddots &  & \iddots  & \\ 
  \vdots &  \iddots &  0&  & 0 &  & \\ 
  b &\iddots&  & \iddots &  &  & \\ 
  0 &   & 0 &  &  &  & \\ 
  \vdots & \iddots &  &  &  &  & \\ 
  0 &  &  &  &  &  & 
\end{bmatrix}
\end{align*}

\end{document}

在此处输入图片描述

答案3

提出以下解决方案pstricks

\documentclass{article}
\usepackage{mathtools}
\usepackage{blkarray}
\usepackage{stackengine}
\usepackage{mathdots}
\usepackage{pstricks-add}

\begin{document}

\[
\begin{bmatrix}
\pnode[-1ex, 1ex]{A}\rnode[tl]{a}{a} & \hdots & \hdots & \rnode[tr]{C}{c} & 0 & \hdots & 0 \\
\vdots & & \iddots & \iddots & & \iddots & \\
\vdots & \iddots & 0& & 0 & & \\
\pnode[-1ex, 0]{B}\rnode[bl]{b}{b} &\iddots& & \iddots & & & \\
0 & & 0 & & & & \\
\vdots & \iddots & & & & & \\
0 & & & & & &
\end{bmatrix}
\psset{braceWidth=0.6pt, braceWidthInner=4pt, braceWidthOuter=4pt;, nodesepB=-3pt, linejoin=1}
\psbrace[ref=C](C)(a){\simeq}
\psbrace[nodesepA=-2pt, nodesepB=3pt](A)(B){\mathllap{k+1}}
\]

\end{document} 

在此处输入图片描述

答案4

以下是您可以使用的内容nicematrix(≥ 6.4,截至 2021-11-23):

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

$\begin{bNiceMatrix}[first-col]
\Block{4-1}{k\hspace*{3mm}}
& a      & \Ldots  &         & c       & 0 & \Ldots  & 0 \\
& \Vdots &         & \Iddots & \Iddots &   & \Iddots \\
&        &         & 0       &         & 0 \\
& b      & \Iddots &         & \Iddots \\
& 0      &         & 0 \\
& \Vdots & \Iddots \\
& 0 
\CodeAfter
  \SubMatrix{\{}{1-1}{4-1}{.}[xshift=1mm]
  \OverBrace{1-1}{1-4}{k}[shorten,yshift=1mm]
\end{bNiceMatrix}$

\end{document}

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

上述代码的输出

相关内容