在 circuitikz 中是否可以将所有电阻器变为红色(或所有电容器变为蓝色等)?

在 circuitikz 中是否可以将所有电阻器变为红色(或所有电容器变为蓝色等)?

是否可以将circuitikz所有电阻器绘制为红色或将所有电容器绘制为蓝色?例如,我可以使所有双极子变厚,但不能将所有电阻器都绘制为红色。我必须明确写出颜色。我找不到这个命令ctikzset。这是一个例子。我想摆脱color=red所有电阻器。

\documentclass{standalone}
\usepackage[american,cuteinductors]{circuitikz}
\usetikzlibrary{shapes,arrows,circuits,calc,babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}
\begin{tikzpicture}[transform shape, scale=1.0,thick]
\ctikzset{bipoles/thickness=2}
\ctikzset{label/align = smart}
\draw (0, 0) to [battery1, color=green, l=$\mathcal{E}$, invert] (0, 4) -- (4,4) to [R, l^=$R_1$, color=red] (2,2) to [R=$R_2$, color=red] (4, 0) -- (0, 0);
\draw (4, 4) to [R=$R_4$, color=red] (6, 2) to [R = $R_3$, color=red] (4, 0);
\draw (2, 2) to [C = $C$, color=blue] (6,2);
\end{tikzpicture}  
\end{document}

提前致谢。编辑:使代码可编译。

答案1

您可以使用\tikzset{R/.append style={color=red}}(参见pgfkeys文档第888页):

\documentclass{standalone}
\usepackage[american,cuteinductors]{circuitikz}
\usetikzlibrary{shapes,arrows,circuits,calc,babel}
\usepackage{pgfplots}

\tikzset{
    R/.append style={color=red},
    C/.append style={color=blue},
    battery1/.append style={color=green},
}

\begin{document}
\begin{tikzpicture}[transform shape, scale=1.0,thick]
\ctikzset{bipoles/thickness=2}
\ctikzset{label/align = smart}
\draw (0, 0) to [battery1, l=$\mathcal{E}$] (0, 4) -- (4,4) to [R, l^=$R_1$] (2,2) to [R=$R_2$] (4, 0) -- (0, 0);
\draw (4, 4) to [R=$R_4$] (6, 2) to [R = $R_3$] (4, 0);
\draw (2, 2) to [C = $C$] (6,2);
\end{tikzpicture}  
\end{document}

截屏

编辑:如果您也想更改标签的颜色,可以使用以下/tikz/text命令:

\tikzset{
    R/.append style={color=red, /tikz/text=red},
    C/.append style={color=blue, /tikz/text=blue},
    battery1/.append style={color=green, /tikz/text=green},
}

编辑截图

相关内容