正确的美国电压源电流箭头circuitikz

正确的美国电压源电流箭头circuitikz

我遇到的问题是电压源不会反转从中流出的电流,它只会旋转符号,箭头仍然会来自节点的南部。

错误

我基本上需要从加号流出的电流i,并且两个都在北边,也就是说,左边的源应该和右边的源完全一样。所有源都以循环方式绘制,即:

\draw
    (0, 0)  --
    (0, 0) to [V, i=$i$] (0, 3) --
    (3, 3) to [V, i=$i$] (3, 0) --
    (0, 0);

上图为 MWE

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

\usetikzlibrary{babel}

\begin{document}

    \begin{tikzpicture}

        \draw [fill] (1.5, 3) circle (0.3ex) node [above] {a}; 
        \draw
            (0, 0)  --
            (0, 0) to [V, i=$i$] (0, 3) --
            (3, 3) to [V, i=$i$] (3, 0) --
            (0, 0);

    \end{tikzpicture}

\end{document}

MWE 尝试修复此问题

\documentclass{article}

\usepackage[USenglish]{babel}
% \let\latinencoding\relax

\usepackage[american, siunitx]{circuitikz}

\usetikzlibrary{babel}

\begin{document}

    \begin{center}

        \begin{circuitikz}

            \draw   (1,0) -- 
                    (0,0) to [V, invert, v=$V$, i=$i$]  (0,3)
                          -- (1,3);

        \end{circuitikz}

    \end{center}

\end{document}

(0,0) to [V, invert, v=$V$, i=$i$] (0,3)

普通的

(0,0) to [V, v=$V$, i=$i$] (0,3)

倒置

(0,0) to [V, invert, v=$V$, i>=$i$] (0,3)

在此处输入图片描述

答案1

如果我理解正确的话,你正在寻找

在此处输入图片描述

\documentclass[margin=3mm]{standalone}
\usepackage[american, siunitx]{circuitikz}

\begin{document}
    \begin{tikzpicture}
\draw   (0,0)   to [V, i_>=$i$, invert]     (0,3)
                to [short, -*]  (1.5,3) --  (3,3)
                to [V, i=$i$]   (3.0,0) --  (0,0);
    \end{tikzpicture}
\end{document}

答案2

通过手册,您可以使用i>={Text}或控制电流的方向i<={text}......以及它们的电压方向i>_={Text}i<_={text}


勘误表

看到您想要的结果后,我发现我的解决方案很糟糕,@zarko 的答案使用并写入了正确的 circuitikz 语法。

因此,只剩下要澄清的相对坐标,使用它允许仅根据初始坐标改变整个电路的位置,而且这不再符合 circuitikz 的语法,可以反向绘制一些线段并获得结果,当然这是一种不好的做法,但它有助于看到 tikz 的灵活性。

此外,绿色选项用于反转当前标签的位置和相对于电压节点的侧面。

结果: 在此处输入图片描述

梅威瑟:

\documentclass[tikz]{standalone}
\usepackage[USenglish]{babel}
\usepackage[american, siunitx]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
    \begin{tikzpicture}[
        %Environment styles.
        Note/.style={
            anchor=south,
            align=center,
            font=\scriptsize
        }
    ]
    \draw
    (0,0) node[anchor=south]{a}
        to [short,*-] ++ (1.5,0)
        to [V,i=$i$] ++ (0,-3)
        to [short] ++ (-3,0)
        to [V,i_>=$i$,invert] ++ (0,3)
        to [short] ++(1.5,0);

    \draw[color=blue]
    (6,0) coordinate (init) node[anchor=south]{a}
        to [short,*-] ++ (1.5,0)
        to [V,i=$i$] ++ (0,-3)
    (init)
        to [short] ++(-1.5,0)
        to [V,i=$i$] ++ (0,-3) -- ++(3,0);

    \draw[color=green!50!black]
    (-1.5,-5) coordinate (init2) node[Note]{Normal \\ \verb+i=$i$+}
        to [V,i=$i$] ++ (0,-3)
    (init2)++(1.5,0) node[Note]{Equivalent \\ \verb+i<=$i$+}
        to [V,i<=$i$] ++ (0,-3)
    (init2)++(3,0) node[Note]{Current \\ Reversed \\ \verb+i>=$i$+}
        to [V,i>=$i$] ++ (0,-3)
    (init2)++(4.5,0) node[Note]{Label \\ position \\ change\\ \verb+i_=$i$+}
        to [V,i_=$i$] ++ (0,-3)
    (init2)++(6,0) node[Note]{Equivalent \\ side \\ change\\ \verb+i^<=$i$+}
        to [V,i^<=$i$] ++ (0,-3)
    (init2)++(7.5,0) node[Note]{Current rev. \\ and side \\ change\\ \verb+i^>=$i$+}
        to [V,i^>=$i$] ++ (0,-3)
    (init2)++(9,0) node[Note]{Current rev. \\ side and \\ label \\ change\\ \verb+i_>=$i$+}
        to [V,i_>=$i$] ++ (0,-3);

        \end{tikzpicture}
\end{document}

为什么 tikz 图片环境在独立文档类中? 它允许您使用 graphicx 包从 tikz 独立类导入 pdf 输出,而不会丢失 svg 或矢量属性,在主文档的图形环境中按值 \textwidth 缩放:

\includegraphics[width=\textwidth]{tikz_drawing_in_standalone_class_pdf_output.pdf}

相关内容