Circuitikz 中的电源和节点距离缩放

Circuitikz 中的电源和节点距离缩放

我进行了一些搜索,但无法完全实现 (a) 电源等组件的缩放,以及 (b) 调整节点距离。具体来说,当我将电源缩小时,我希望“+”和“-”符号也能缩放,但目前无法实现(power supplies/scale似乎没有效果)。更改node distance似乎也没有任何效果(仅适用于ofsynatax?)。我还尝试使用类似的东西<\kilo\ohm>,但没有按预期工作。

我曾问过这个问题作为对这个问题的评论回答并将其作为单独的问题发布。感谢您的帮助。

\documentclass[12pt]{article}
\usepackage[dvips]{graphicx,color}

\usepackage{standalone}
\usepackage{tikz}
\usepackage[siunitx,american]{circuitikz}

\pagestyle{empty}

\begin{document}
\sffamily

\begin{figure}
\ctikzset{
    bipoles/length=1cm,
    power supplies/scale=0.5,  % has no effect
}

{\centering
\begin{circuitikz}[line width=1pt, scale=0.9, node distance=2cm]
% node distance works only with 'of' ?

\draw
    (0,0) -- ++(0,4)
    to [R, l=$10\,\Omega$] ++(2,0)
    to [V, v=$1\,V$, -*] ++(2,0)
    to [R, l_=$10\,\Omega$] ++(0,-2)
    to [V, v_=$2\,V$, invert] ++(0,-1)
    to [short, -*] ++(0,-1)
    ;   
\draw (0,0)
    to [short,-o] (6,0) coordinate (a);
\draw (4,4)
    to [short,-o] (6,4) coordinate (b);
\node[below=1ex] at (6,4) (){$+$};
\node[above=1ex] at (6,0) (){$-$};
\node at( $(a)!0.5!(b) $)(){$V_0$};

\end{circuitikz}
\caption{These are testing times}
}
\end{figure}

\end{document}

在此处输入图片描述

答案1

编辑: 在第二个例子中添加了更多解释和改进(更正)的代码)

  • 您的文档序言包含错误。而不是
\usepackage[dvips]{graphicx,color}

它应该是

\usepackage[dvips]{color}
\usepackage{graphicx}
  • 但是,正如@Rmano在下面的评论中指出的那样,circuitikz加载xcolor包,所以你不需要color再次加载包。此时可能会发生选项之间的冲突
  • 考虑到使用您的代码进行的此修正,circuitikz 我无法重现您的图像(请参见下面的左图)
  • 如果您希望更改电压源中符号的大小,请查看\ctikzset开始方案中的以下内容是否有帮助:
\ctikzset{bipoles/vsourceam/inner  plus={\scriptsize $+$},
          bipoles/vsourceam/inner minus={\scriptsize $-$}}
  • node distance=...仅当您在方案中有节点并且它们的定位使用相对定位(例如,left=of <node name>使用positioning库语法)或left of=<node name>不使用库时,指令的使用才有意义positioning。由于您的方案不包含节点,因此在您的情况下此选项没有任何意义。
  • 您的代码可以稍微简化(缩短),请参阅下面的 MWE。
    • 第一个例子基于你所讨论的代码
    • 第二个例子增加了电压源的尺寸,并减小了符号的尺寸+-你可能会喜欢这种变化)
\documentclass[margin=3mm]{standalone}
\usepackage[siunitx,american]{circuitikz}

\begin{document}
    \begin{circuitikz}[line width=1pt]
\draw   (0,0) -- ++(0,4)
    to [R=10<\ohm>]     ++(2,0)
    to [V= 1<V>, -*]    ++(2,0) coordinate (a)
    to [R=10<\ohm>]     ++(0,-2)
    to [V=2<V>, invert, -*] ++(0,-2)
    ;
\draw   (a)   
    to [short,-o]       ++ (2,0) 
    to [open, v^=$V_0$] ++ (0,-4)
    to [short,o-.]       ++ (-6,0) ;   
    \end{circuitikz}
    
\qquad
    \begin{circuitikz}[line width=1pt]
\ctikzset{bipoles/vsourceam/inner  plus={\scriptsize $+$},
          bipoles/vsourceam/inner minus={\scriptsize $-$},
          sources/scale=1.2}
\draw   (0,0) -- ++(0,4)
    to [R=10<\ohm>]     ++(2,0)
    to [V= 1<V>, -*]    ++(2,0) coordinate (a)
    to [R=10<\ohm>]     ++(0,-2)
    to [V=2<V>, invert, -*] ++(0,-2)
    ;
\draw   (a)
    to [short,-o]       ++ (2,0)
    to [open, v^=$V_0$] ++ (0,-4)
    to [short,o-.]       ++ (-6,0) ;
    \end{circuitikz}   
\end{document}

在此处输入图片描述

相关内容