Drawing on background and foreground layers
When a drawing command overprints another object, and we don’t want this, we can usually arrange the order of commands. However, it’s not always possible. Consider our matrix example from the previous section: We had to draw the highlighting for the submatrices after the matrices because we used their cell coordinates as reference coordinates. We cannot change the drawing order here. Without transparency, the numbers in the cells would be overprinted by the yellow rectangle.
Now, we get to another solution for the overprinting problem: we use layers. Specifically, we use the background layer. We will apply it to our matrix example.
First, load the backgrounds
library in the document preamble:
\usetikzlibrary{backgrounds}
Now, we put the nodes, which we created in the previous section, into a scope
environment with the on background
layer
option:
\begin{scope}[on background layer] \node (m1) [submatrix...