I'd like to color individual columns in a 3x3 matrix created using \blockarray. I wish to give one color to the first column, and a second color to the 2nd and 3rd column. I found the answers two this question helpful, however, they do not seem to solve my problem.
However, I somehow cannot get the first answer using \columncolor from the xcolor package to work in this environment:
\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}
It throws the following error message:
! Undefined control sequence.
\BA@.[10002,1]u ...\BA@bdollar \hfil \columncolor
{olive!20}\scriptstyle
l.19 \end{align*}
The second answer using the package hf-tikz and \tikzmark is also not solving the issue, as it fails for column entries of different lengths.
Can someone help me getting this to work in the \blockarray environment?


