我想为使用 创建的 3x3 矩阵中的各列着色\blockarray
。我希望为第一列赋予一种颜色,为第二列和第三列赋予第二种颜色。我找到了两个答案这个问题有帮助,但是,它们似乎无法解决我的问题。
\columncolor
但是,我不知何故无法使用该xcolor
包在这种环境下工作以获得第一个答案:
\documentclass{article}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage{blkarray} % blockarrays;
\begin{document}
\begin{align*}
\begin{blockarray}{ccc}
\begin{block}{\BAmulticolumn{3}{>{}c}}
\oint_{S^\textnormal{rec}}&\\
\end{block}
\begin{block}{(>{\scriptstyle}>{\columncolor{olive!20}}c>{\scriptstyle}c>{\scriptstyle}c)}
a &\cdots & b\\
\vdots&\ddots&\vdots\\
cd &\cdots&N_\textnormal e\\
\end{block}
\end{blockarray}
\end{align*}
\end{document}
它抛出以下错误消息:
! Undefined control sequence.
\BA@.[10002,1]u ...\BA@bdollar \hfil \columncolor
{olive!20}\scriptstyle
l.19 \end{align*}
使用该包的第二个答案hf-tikz
也\tikzmark
未能解决问题,因为它无法解决不同长度的列条目。
有人可以帮助我让它在该\blockarray
环境中工作吗?
答案1
我不知道如何解决这个问题\blockarray
,但我认为你可以用 TikZ 达到你想要的结果matrix of math nodes
。
\documentclass{article}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage{blkarray} % blockarrays;
\usepackage{tikz}
\usetikzlibrary{matrix, positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {$\oint_{S^\textnormal{rec}}$};
\matrix[
below=-2pt of A,
inner xsep=0pt,
matrix of math nodes,
nodes={
text width=1.2em,
text height=1.4ex,
text depth=.5ex,
align=center,
font=\scriptsize,
},
left delimiter={(},right delimiter={)},
column 1/.style={nodes={fill={olive!20}}}
] {
a &[6pt]\cdots &[6pt] b\\
\vdots&\ddots&\vdots\\[-4pt]
cd &\cdots&N_\textnormal e\\
};
\end{tikzpicture}
\end{document}
答案2
{pNiceMatrix}
的一个解决方案nicematrix
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[\begin{pNiceMatrix}[first-row,margin]
\Block{1-*}{\oint_{S^{\text{rec}}}} \\
\Block[fill=olive!20,rounded-corners]{3-1}{} a & \cdots & b \\
\vdots & \ddots & \vdots \\
cd & \cdots & N_{\text{e}}
\end{pNiceMatrix}\]
\end{document}
nicematrix
虚线系统也一样。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[\begin{pNiceMatrix}[first-row,margin,xdots/shorten=2mm]
\Block{1-*}{\oint_{S^{\text{rec}}}} \\
\Block[fill=olive!20,rounded-corners]{3-1}{} a & \Cdots & b \\
\Vdots & \Ddots & \Vdots \\
cd & \Cdots & N_{\text{e}}
\end{pNiceMatrix}\]
\end{document}