嘿,我想添加两个括号作为矩阵的标签。我可以添加顶部括号标签“r”。但是当我添加底部“m - r”标签时,它就会变成分支。这是我在 Latex 中的代码。
\[R =
\raisebox{0.5em}{$r \left\{ \rule[2em]{0pt}{0pt} \right. $}
\raisebox{-2em}{$m - r \left\{ \rule[0.5em]{0pt}{0pt} \right. $}
\left[
\begin{array}{ccc|cccc}
1 & & & b_{1, r + 1} & b_{1, r + 2} & \ldots & b_{1n}\\
& \ddots & & \ldots & \ldots & \ddots & \ldots \\
& & 1 & b_{r, r + 1} & b_{r, r + 2} & \ldots & b_{rn} \\
\hline
& O & & & O & &
\end{array}
\right]
\]
答案1
这是使用 的解决方案。请注意和nicematrix
的使用。此外,右下象限中的 位于块的中心,而不是位于其自己的列中。\cdots
\vdots
O
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[R =
\begin{bNiceArray}{ccc|cccc}[first-col, margin]
\Block{3-1}{\scriptstyle {r\hspace{2mm}}} & 1 & & & b_{1, r + 1} & b_{1, r + 2} & \cdots & b_{1n}\\
& & \ddots & & \vdots & \vdots & \ddots & \vdots \\
& & & 1 & b_{r, r + 1} & b_{r, r + 2} & \cdots & b_{rn} \\ \hline
\scriptstyle {m-r\hspace{2mm}} & & O & & \Block{1-4}{O} & & &
\CodeAfter
\SubMatrix\{{1-1}{3-7}.[left-xshift=3mm]
\SubMatrix\{{4-1}{4-7}.[left-xshift=3mm]
\end{bNiceArray}.
\]
\end{document}
或者,您可以结合使用tikz
库decorations.pathreplacing
和来绘制括号。这样做的好处是无论括号的长度如何,它们的厚度都相同,但在为矩阵创建空间时会忽略括号及其标签,因此必须手动放置额外的空间。我在下面的代码中使用了它。calligraphy
nicematrix
nicematrix
\hspace{7mm}
此外(可选),shorten <=
不适用于书法括号,因此端点应该使用yshift
来缩短括号。
\documentclass{article}
\usepackage{nicematrix, tikz}
\usetikzlibrary{decorations.pathreplacing, calligraphy}
\tikzset{mybrace/.style={thick, decorate, decoration={calligraphic brace, amplitude=2pt, raise=2mm}}}
\begin{document}
\[R = \hspace{7mm}
\begin{bNiceArray}{ccc|cccc}[margin]
1 & & & b_{1, r + 1} & b_{1, r + 2} & \cdots & b_{1n}\\
& \ddots & & \vdots & \vdots & \ddots & \vdots \\
& & 1 & b_{r, r + 1} & b_{r, r + 2} & \cdots & b_{rn} \\ \hline
& O & & \Block{1-4}{O} & & &
\CodeAfter
\tikz{
\draw[mybrace]([yshift=1pt]4-|1)--node[left=2mm]{$\scriptstyle r$}([yshift=-1pt]1-|1);
\draw[mybrace]([yshift=1pt]5-|1)--node[left=2mm]{$\scriptstyle m-r$}([yshift=-1pt]4-|1);
}
\end{bNiceArray}.
\]
\end{document}