TikZ:为现有样式添加选项

TikZ:为现有样式添加选项

\tikzset{...}在我定义的范围内

row 1/.style={
    nodes={
        fill=black,
        text=white,
        %font=\bfseries
    }
}

这样对于每个表格/矩阵,第一行都是黑色,带有白色文本。现在当我手动添加

row 1/.style={nodes={text height=1em, text depth=3em}}

对于特定矩阵,我在其中使用的其他选项都tikzset (fill=black, text=white)消失了,所以我必须再次在其中写入它们row 1/.style

row 1/.style={nodes={text height=1em, text depth=3em, fill=black, text=white}}

是否可以将上面的 2 个选项添加到已定义的选项中?

答案1

正如第节所述82.4.4 定义样式TikZ 手册(版本 3.0.1a,日期为 2015 年 8 月 29 日)中,您可以使用stylename/.append style={<options>}它来附加到现有样式的末尾。(还有.prefix style添加到样式前面的。)

因此,对于您的具体情况,使用

row 1/.append style={nodes={text height=1em, text depth=3em}}

(此方法有效还依赖于 是nodes的简写every node/.append style={}。)

完整示例:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{row 1/.style={
    nodes={
        fill=black,
        text=white,
        %font=\bfseries
    }
}}

\begin{document}

\begin{tikzpicture}
\matrix [matrix of nodes] { a & b \\ c& d \\ e & f \\};
\end{tikzpicture}

\tikzset{row 1/.append style={nodes={text height=1em, text depth=3em}}}

\begin{tikzpicture}
\matrix [matrix of nodes] { a & b \\ c& d \\ e & f \\};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容