# Matrix change row or column background

I have a matrix shown below. I would like to have the whole row green rather than only the cells ... how can I do that?



and the output is:

-
@user:66136: I have seen your question. The problem there is that you used twice the same identifiers (col 1 and col 2). As a result you get overlapping areas highlighted. – Claudio Fiandrino Mar 11 at 10:03

You can use \rowcolor, \columncolor, and \cellcolor from the colortbl package, loaded in my example through the xcolor package:

\documentclass{article}
\usepackage{amsmath}
\usepackage[table]{xcolor}

\newcommand\x{\times}
\newcommand\y{\cellcolor{green!10}}

\begin{document}

$$\label{eq:appendrow} \left(\begin{array}{cccc} \rowcolor{red!20} \x & \x & \x & \x \\ 0 & \x & \x & \x \\ \rowcolor{blue!20} 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ \y a & b & \y c & d\\ \end{array}\right)$$

$$\left(\begin{array}{>{\columncolor{olive!20}}cc>{\columncolor{yellow!20}}cc} \x & \x & \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a & b & c & d \\ \end{array}\right)$$

\end{document}


-
Muchisimas gracias! :) – Giovanni Azua Sep 1 '12 at 19:43

Another approach could be using the hf-tikz package.

Example:

\documentclass{article}
\usepackage{amsmath}

\newcommand\x{\times}

% requires version 0.3 of the package
\usepackage[customcolors]{hf-tikz}

\tikzset{style green/.style={
set fill color=green!50!lime!60,
set border color=white,
},
style cyan/.style={
set fill color=cyan!90!blue!60,
set border color=white,
},
style orange/.style={
set fill color=orange!80!red!60,
set border color=white,
},
hor/.style={
above left offset={-0.15,0.31},
below right offset={0.15,-0.125},
#1
},
ver/.style={
above left offset={-0.1,0.3},
below right offset={0.15,-0.15},
#1
}
}

\begin{document}

$$\label{eq:appendrow} \left(\begin{array}{cccc} \x & \x & \x & \x \\ 0 & \tikzmarkin[hor=style orange]{el} \x & \x\tikzmarkend{el} & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ \tikzmarkin[hor=style green]{row} a & b & c & d \tikzmarkend{row}\\ \end{array}\right)$$

$$\label{eq:appendcol} \left(\begin{array}{cccc} \tikzmarkin[ver=style cyan]{col 1}\x & \x & \tikzmarkin[ver=style green]{col 2} \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a \tikzmarkend{col 1} & b & c \tikzmarkend{col 2} & d \\ \end{array}\right)$$

\end{document}


Result:

-

Thank you for your answer. I would like to share that tip. First I will explain the problem, and after that, I will post the solution.

## PROBLEM

If I do that:

    $$\label{eq:appendcol} \left(\begin{array}{cccc} \tikzmarkin[ver=style red]{col 1}\x & \x & \tikzmarkin[ver=style red]{col 2} \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a \tikzmarkend{col 1} & b & c \tikzmarkend{col 2} & d \\ \end{array}\right)$$

$$\label{eq:appendcol} \left(\begin{array}{cccc} \tikzmarkin[ver=style red]{col 1}\x & \x & \tikzmarkin[ver=style red]{col 2} \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a \tikzmarkend{col 1} & b & c \tikzmarkend{col 2} & d \\ \end{array}\right)$$


Vertical highlighting continues from first matrix to second, invading the space between them. The result:

## SOLUTION

$$\label{eq:appendcol} \left(\begin{array}{cccc} \tikzmarkin[ver=style red]{col 1}\x & \x & \tikzmarkin[ver=style red]{col 2} \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a \tikzmarkend{col 1} & b & c \tikzmarkend{col 2} & d \\ \end{array}\right)$$

$$\label{eq:appendcol-second} \left(\begin{array}{cccc} \tikzmarkin[ver=style red]{col 1-a}\x & \x & \tikzmarkin[ver=style red]{col 2-a} \x & \x \\ 0 & \x & \x & \x \\ 0 & 0 & \x & \x \\ 0 & 0 & 0 & \x \\ a \tikzmarkend{col 1-a} & b & c \tikzmarkend{col 2-a} & d \\ \end{array}\right)$$


And this is the final solution:

Special thanks to @percusse and @claudio-fiandrino that helped me to solve the problem on that post:

Problems with matix highlighting using tikz, 2 matrix

-
This space is reserved for answers. If you have another question that is not answered here, please ask it by clicking the Ask Question button. Follow-up questions like this are more than welcome! You can link to this question to provide background if it helps motivate/clarify your question. – Paul Gessler Mar 10 at 21:38
If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. – mafp Mar 10 at 22:02