我知道如何创建以下矩阵
\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 节点)。