我正在尝试使用带有 的选项shorten
和\OverBrace
来自\UnderBrace
的命令nicematrix
。然而,在我看来,它只适用于\UnderBrace
我的MWE
\documentclass{book}
\usepackage[x11names]{xcolor}
\usepackage{nicematrix}
\usepackage{tikz}
\ExplSyntaxOn
\NewDocumentCommand{\highlightNodes}{ O { } }
{
\foreach \i in {1,...,\arabic{iRow}}
\foreach \j in {1,...,\arabic{jCol}}
{
\tikz [remember~picture, overlay]
\node [opacity=0.21] at (\i.5-|\j.5) {\color{gray} \i , \j} ;
}
}
\ExplSyntaxOff
\begin{document}
\begin{equation*}
\begin{bNiceArray}{ccc|c}[margin, create-extra-nodes]
\Block[fill=Coral3]{3-3}<\large>{Z} & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
& & & 0 \\ \hline
0 & \Cdots & 0 & 0
\CodeAfter
\highlightNodes
\OverBrace[shorten]{1-1}{1-3}{C_{1}}
\UnderBrace[shorten]{4-1}{4-3}{C_{3}}
\end{bNiceArray}
\end{equation*}
\end{document}
答案1
命令的第一个和第二个参数\OverBrace
对应于一行三列的子矩阵:单元格 (1-1)、(1-2) 和 (1-3)。两侧的单元格中没有内容,当密钥shorten
生效时,它会尝试根据两侧单元格中的内容进行缩短。由于没有内容,因此\OverBrace
不会缩短。
也许我会根据你的手机内容修改行为以缩短(1-2)
。
但是,对于您来说,存在这样一种可能性:\OverBrace{1-1}{4-3}
将根据第 4 行单元格的内容缩短。
\documentclass{book}
\usepackage[x11names]{xcolor}
\usepackage{nicematrix}
\usepackage{tikz}
\ExplSyntaxOn
\NewDocumentCommand{\highlightNodes}{ O { } }
{
\foreach \i in {1,...,\arabic{iRow}}
\foreach \j in {1,...,\arabic{jCol}}
{
\tikz [remember~picture, overlay]
\node [opacity=0.21] at (\i.5-|\j.5) {\color{gray} \i , \j} ;
}
}
\ExplSyntaxOff
\begin{document}
\begin{equation*}
\begin{bNiceArray}{ccc|c}[margin, create-extra-nodes]
\Block[fill=Coral3]{3-3}<\large>{Z} & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
& & & 0 \\ \hline
0 & \Cdots & 0 & 0
\CodeAfter
\highlightNodes
\OverBrace[shorten,yshift=1mm]{1-1}{4-3}{C_{1}}
\UnderBrace[shorten]{4-1}{4-3}{C_{3}}
\end{bNiceArray}
\end{equation*}
\end{document}
与往常一样nicematrix
,您需要进行多次编译。