以 tikz 样式定义颜色

以 tikz 样式定义颜色

我如何definecolor在 a 中做 a /.style

\pgfkeys{/IMMstyle/.style={
         inputnode/.style={shape=ellipse,draw,inner sep=2pt,minimum size=5.0mm},
         \definecolor{dpred}{rgb}{0.50,0.35,0}
        }}

不起作用。

答案1

您可以定义一个/.code(或/.code 2 args,或/.code n args)键来执行所需的代码。要定义样式中的新颜色,您可以定义一个键

\tikzset{
    define color/.code 2 args={
        \definecolor{#1}{rgb}{#2}
    }
}

你的例子可能看起来像这样

\documentclass{book}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}

\tikzset{
    define color/.code 2 args={
        \definecolor{#1}{rgb}{#2}
    },
    /IMMstyle/.style={
         inputnode/.style={
            shape=ellipse,
            draw,
            inner sep=2pt,
            minimum size=5mm
         },
         define color={dpred}{0.80,0.35,0}
    }
}

\begin{tikzpicture}
\node [/IMMstyle,inputnode,fill=dpred] {x};
\end{tikzpicture}

\end{document}

答案2

为了将来参考,我猜大多数谷歌人来到这里都会试图定义一种风格,包含定义的颜色(而不是在样式本身内定义颜色)。

这很容易做到:

\begin{tikzpicture}
\definecolor{dkblue}{rgb} {0.00,0.33,0.68}
\tikzset{
    myStyle/.style = {draw=dkblue, very thick, rectangle}
}

\node [myStyle] {x};
\end{tikzpicture}

相关内容