我已经编写了一个自定义 circuitikz 样式文件,但它不应用line width
第 7 行 tikz 级别设置块中指定的选项。
我的样式文件ctikzstyle-mystyle.tex
名称为mystyle
:
% Do not use LaTeX commands if you want it to be compatible with ConTeXt!
% Do not add spurious spaces!
%
\tikzset{mystyle circuit style/.style={%
% generic tikz-level settings
american,%
line width=1pt,% PROBLEM HERE
%
\circuitikzbasekey/.cd,%
% circutikz-level settings
%
% RESISTORS
resistors/scale=0.7,
resistors/thickness=1.0,
%
% CAPACITORS
capacitors/scale=0.7,
capacitors/thickness=1.0,
bipoles/capacitor/width/.initial=.13,
%
% GROUND
grounds/scale=1.0,
grounds/thickness=1.0,
%
% SOURCES (the round ones)
sources/scale=0.7,
sources/thickness=1.0,
%
% OTHER OPTIONS
bipoles/thickness=1,
nodes width/.initial=.03,
%
},% end .style
}% end \tikzset
\endinput
这是一个示例电路:
\documentclass[border = 1cm, tikz]{standalone}
\usepackage{circuitikz}
\ctikzsetstyle{mystyle}
\begin{document}
%
\begin{tikzpicture}
\draw (0,0) to[short, o-] ++(1, 0)
to[R] ++(0, -2)
to[short] ++(1, 0) coordinate(e)
to[short, *-o] ++(0, -1);
\draw(4,0) to[short, o-] ++(-1, 0)
to[isource] ++( 0, -2)
to[short] (e);
\end{tikzpicture}
%
\end{document}
两个文件(示例和样式文件)都位于同一个文件夹中。
原则上,样式文件可以正常工作,但line width
不会按预期发生变化。它仍具有 的默认值,0.4pt
而不是1pt
。
答案1
最小变化(从按比例更改所有线宽)将你的“PROBLEM HERE”行更改为:
every picture/.append style={line width=1pt},
但请注意,这将适用于tikzpicture
文档中的所有内容。在对上述链接问题的回答中,有一个更细致入微的版本。
如果您不想将新的线宽应用于所有tikzpicture
线宽(请记住这circuitikz
只是一个别名),您可以使用原始样式文件,但将其明确应用于电路 --- 您也可以给它一个简称:
\documentclass[border = 1cm, tikz]{standalone}
\usepackage{circuitikz}
\ctikzloadstyle{mystyle} % maybe just load it, without setting as default
% shortcut
\tikzset{mystyle/.style={mystyle circuit style}}
\begin{document}
%
\begin{tikzpicture}[mystyle]
\draw (0,0) to[short, o-] ++(1, 0)
to[R] ++(0, -2)
to[short] ++(1, 0) coordinate(e)
to[short, *-o] ++(0, -1);
\draw(4,0) to[short, o-] ++(-1, 0)
to[isource] ++( 0, -2)
to[short] (e);
\end{tikzpicture}
%
\end{document}
...结果是一样的。