这是我在这里要问的第一个问题。我已经找到了非常有用的提示,所以我希望你能帮助我。
我正在用 circuitikz 画一个电路。在那里我只想改变电阻的大小,而不是其他元件的大小。因此我使用了命令\ctikzset{bipoles/resistor/height=0.15}
和\ctikzset{bipoles/resistor/width=0.4}
。这对美国电阻器来说很有效,但我想使用欧洲电阻器。是否有类似的命令可以实现这一点?
这是一个简单的例子:
\documentclass{minimal}
\usepackage{circuitikz}
\begin{document}
% original size
\begin{tikzpicture}
\draw (0,0) to[R] (2,0) to[Do] (4,0);
\ctikzset{resistor = european}
\draw (6,0) to[R] (8,0) to[Do] (10,0);
\end{tikzpicture}
% shrink resistor
\ctikzset{resistor = american}
\ctikzset{bipoles/resistor/height=0.15}
\ctikzset{bipoles/resistor/width=0.4}
\begin{tikzpicture}
\draw (0,0) to[R] (2,0) to[Do] (4,0);
\ctikzset{resistor = european}
\draw (6,0) to[R] (8,0) to[Do] (10,0); % this one is NOT smaller
% than the one above, but I WANT IT TO BE SMALLER
\end{tikzpicture}
\end{document}
答案1
在我看来,这种方式是不可能的。bipoles/resistor/height
并且width
已经为美国变体进行了硬编码。我在这里看到的唯一可能性是改变双极子的长度。长度是每个双极子的一个可能参数。
这可能看起来像下面的 MWE:
% arara: pdflatex
\documentclass[preview]{standalone}
\usepackage{circuitikz}
\begin{document}
% original size
\begin{tikzpicture}
\draw (0,0) to[R] (2,0) to[Do] (4,0);
\ctikzset{resistor = european}
\draw (6,0) to[R] (8,0) to[Do] (10,0);
\end{tikzpicture}
% shrink resistor
\ctikzset{bipoles/resistor/height=0.15}
\ctikzset{bipoles/resistor/width=0.4}
\begin{tikzpicture}
\draw (0,0) to[R] (2,0) to[Do] (4,0);
\ctikzset{resistor = european}
\draw (6,0) to [/tikz/circuitikz/bipoles/length=20pt, R] (8,0) to[Do] (10,0);
\end{tikzpicture}
\end{document}