尝试使用 Circuitikz 创建简单电路

尝试使用 Circuitikz 创建简单电路

我正在尝试使用该包创建图中所示的电路circuitikz,但我找不到任何类似的示例来以这种方式排列元件。有人能帮我提供代码吗?

在此处输入图片描述

答案1

因为这是一个需要我亲自做的问题,所以这对我来说只是一次练习,我不会再回答与此相关的其他问题。

\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage[american,siunitx]{circuitikz}
\usetikzlibrary{arrows.meta}

% Ref: https://tex.stackexchange.com/a/396801/117534
\makeatletter
\ctikzset{current arrow color/.initial=black}% create key
\pgfdeclareshape{currarrow}{
    \anchor{center}{
        \pgfpointorigin
    }
    \anchor{tip}{
        \pgfpointorigin
        \pgf@circ@res@step = \pgf@circ@Rlen
        \divide \pgf@circ@res@step by 16
        \pgf@x  =\pgf@circ@res@step
    }
    \behindforegroundpath{      

        \pgfscope
        \pgf@circ@res@step = \pgf@circ@Rlen
        \divide \pgf@circ@res@step by 16

        \pgfpathmoveto{\pgfpoint{-.7\pgf@circ@res@step}{0pt}}
        \pgfpathlineto{\pgfpoint{-.7\pgf@circ@res@step}{-.8\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{1\pgf@circ@res@step}{0pt}}
        \pgfpathlineto{\pgfpoint{-.7\pgf@circ@res@step}{.8\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{-.7\pgf@circ@res@step}{0pt}}           
        \pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/current arrow color}}
        \pgfusepath{fill,draw}
        \endpgfscope
    }
}
\makeatother

\begin{document}
    \begin{circuitikz}[color=NavyBlue]
        \draw[circuitikz/current arrow color=red]
        (0,0) to[R=20<\ohm>] (2,0) to[battery1, l=10<\volt>,i_=$I_3$] (4,0)
        -- (4,1.8) to[battery1,l_=10<\volt>, i^<=$I_2$] (2,1.8) to[R, l_=5<\ohm>] (0,1.8) -| (0,0) 
        -| (0,3.6) to[R=10<\ohm>] (2,3.6) to[battery1, l=6<\volt>,i_=$I_1$] (4,3.6) -- (4,1.8)
        ;
    \end{circuitikz}
\end{document}

电路

相关内容