我正在尝试突出显示 TikZ 的整行/整列\matrix[matrix of nodes]
。
幸运的是,对于 TikZ 矩阵,我们有行/列选择器。因此,理论上,上述内容应该通过以下代码实现:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of nodes,nodes={draw},row 2/.style={fill=blue!20}] {
a11 & a12 & a13 \\
a21 & a22 & a23 \\
a31 & a32 & a33 \\
};
\end{tikzpicture}
\end{document}
...但这根本不起作用。我是不是漏掉了什么?为了生成上面的图像,我必须手动在第二行的每个元素前插入一个。定义和设置|[fill=blue!20]|
这样的样式也不起作用。同时,使用行/列选择器来设置\tikzstyle{foo}=[fill=blue!20]
row 2/.style={foo}
前景color 有效(简单地[blue!20]
代替[fill=blue!20]
),以及设置许多其他属性,如字体和大小。 似乎是 TikZ 中的一个错误?在 TeXLive 2011 上使用 pdfLaTeX、XeLaTeX 和 luaLaTex 进行了测试。
答案1
您需要将选项传递给节点
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of nodes,nodes={draw},row 2/.style={nodes={fill=blue!20}}] {
a11 & a12 & a13 \\
a21 & a22 & a23 \\
a31 & a32 & a33 \\
};
\end{tikzpicture}
\end{document}