更改 Circuitikz vsource 当前箭头方向

更改 Circuitikz vsource 当前箭头方向

任务

我想要满足以下规格Circuitikz

  • 技术当前方向(+-
  • 电场电压
  • 欧洲符号但美国风格的电源

问题

我已经满足了大部分要求,但我对 有一些困惑vsource,因为在我的例子中,它的电流方向指向错误的方向。我知道这实际上是正确的行为,因为生产者总是有预期的电压和电流箭头,但使用invert上的选项vsource只会反转其形状/极性符号,而不是“整个东西”。

平均能量损失

平均能量损失

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[
    european,
    EFvoltages,
    siunitx]{circuitikz}

\begin{document}

\begin{circuitikz}
    \ctikzset{voltage=straight}
    
    \draw (0,0)
    to[american voltage source,  i=$I_0$, v=$U_0$, invert] (0,3)
    to[short] (1,3)
    to[R=$R_{Shunt}$, i=$I_0$, v=$U_S$] (3,3)
    to[short, -o] (4,3);
    
    \draw (0,0) to[short, -o] (4,0);
    \draw [dashed, gray] (4,3) to[R=$R_L$, i=$I_0$] (4,0);
\end{circuitikz}

\end{document}

问题

我怎样才能实现美式电压源,其中+面朝上并且电流沿技术电流方向流动?

我考虑过反转 vsource 的“路径方向”,但一定有更好/更干净的解决方案,不是吗?

反转 vsource 路径方向

路径方向反转

\begin{circuitikz}
    \ctikzset{voltage=straight}
    
    \draw (0,3)
    to[american voltage source,  i=$I_0$, v=$U_0$] (0,0)
    (0,3) to[short] (1,3)
    to[R=$R_{Shunt}$, i=$I_0$, v=$U_S$] (3,3)
    to[short, -o] (4,3);
    
    \draw (0,0) to[short, -o] (4,0);
    \draw [dashed, gray] (4,3) to[R=$R_L$, i=$I_0$] (4,0);
\end{circuitikz}

希望有人能为我的问题提供清晰的解决方案,并提前致谢。

答案1

你可以用一种相当独立的方式控制形状、电流位置/方向以及电压位置/方向。看看https://texdoc.org/serve/circuitikz/0#subsection.5.3(对于电流,但对于电压也一样)或者这个例子:

\documentclass{article}
%\usepackage[utf8]{inputenc} % this is default since 2018
\usepackage[T1]{fontenc}% this is highly recommended

\usepackage[european, EFvoltages, siunitx]{circuitikz}

\begin{document}
\begin{circuitikz}
    \ctikzset{voltage=straight} 
    \draw (0,0) to[american voltage source,  i=$I_0$, v=$U_0$, invert] ++(0,3);
    \draw (3,0) to[american voltage source,  i^<=$I_0$, v<=$U_0$, invert] ++(0,3);
    \draw (6,0) to[american voltage source,  i<^=$I_0$, v_=$U_0$, ] ++(0,3);
    \draw (9,0) to[american voltage source,  i^<=$I_0$, l=$U_0$, invert] ++(0,3);
\end{circuitikz}
\end{document}

请注意,对于电流,切换<^^<将把电流从一侧移动到另一侧。

在此处输入图片描述

相关内容