一个简单的例子如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
\documentclass{article}

\usepackage{tikz}
\usepackage{circuitikz}

\begin{document}
\begin{figure}
    \begin{center}
        \begin{circuitikz}
            \draw (0,0) to[V,v=$U_s$] (0,2) -- (2,2)
            to[R=$R_1$] (2,0) -- (0,0);
        \end{circuitikz}
        \caption{Example 1.}
    \end{center}
\end{figure}
\end{document}

image

  这个电阻并不是我们熟悉的样子,做如下改变,把美国的标准换成欧洲

1
\usepackage[european]{circuitikz}

则下面的 tex 编译为

1
2
3
4
\begin{circuitikz}
    \draw (0,0) to[R=$R_u$,o-*](2,0) to[short](2,1) to[C=$C_d$](4,1) to[short](4,0) to[short,*-o](5,0);
    \draw (2,0) to[short](2,-1) to[R=$R_{1}$](4,-1) to[short](4,0);
\end{circuitikz}

image

  下面我们看看多个回路的情况

1
2
3
4
\begin{circuitikz}
    \draw (0,0) to[V=1V] (0,2) to[R=$1\Omega$] (2,2) -- (4,2) to[C=1F] (4,0) -- (0,0);
    \draw (2,2) to[L=1H, *-*] (2,0);
\end{circuitikz}

image

  地线的画法

1
2
3
4
\begin{circuitikz}
    \draw (-1,0) to[short,o-o] (1,0);
    \draw (0,0) to[short] node[ground] {} (0,-1);
\end{circuitikz}

image

下面是一种元件的标注方式

1
2
3
\begin{circuitikz}[european]
    \draw (0,0) to[R, l=$R_1$, a=$+\quad u_1\quad-$] (2,0);
\end{circuitikz}

image

  对于多行标签引入 pbox 宏包自定义命令解决。

1
2
\usepackage{pbox}
\newcommand{\ctikzlabel}[3]{\pbox{\textwidth}{#1\\#2\\#3}}
1
2
3
\begin{circuitikz}
    \draw (0,0) to[V, a=\ctikzlabel{$+$}{12V}{$-$}] (0,2);
\end{circuitikz}

image

  一个小练习

1
2
3
4
5
6
7
\begin{circuitikz}
    \draw (0,0) to[V, a=\ctikzlabel{$+$}{5V}{$-$}] (0,2)
    to[R, i=$i_1$, l=$8\Omega$] (2,2) to[cspst, l=S, o-o] (3,2)
    to[R, l=$2\Omega$] (5,2) to[L, l=5mH, i=$i_L$] (5,0)
    to[short] (0,0);
    \draw (3,0) to[cI, i=$3i_1$] (3,2);
\end{circuitikz}

image

  上面的例子中一些元件型号偏大,可以通过 \ctikzset 去设置一些参数,例如

1
2
3
4
\ctikzset{
    bipoles/length = 2em, % 基准元件大小
    font = \relsize{-1}, % 默认字体大小
}

下面是一个例子

1
2
3
4
5
6
7
\ctikzset{bipoles/length=.8cm}
\begin{circuitikz}[scale=1.2]
    \draw (0,0) node[anchor=east] {B} to [short, o-] (1,0)
    to [R, l=$20\Omega$, *-*] (1,2) to [short, -o] (0,2) node[anchor=east] {A};
    \draw (1,0) -- (3,0) to[R, l=$5\Omega$, *-*] (3,2) to[R, l_=$10\Omega$, v^=$v_x$] (1,2);
    \draw (3,2) -- (4,2) to [cI, i_=$\frac{1}{5}v_x$, *-*] (4,0) -- (3,0);
\end{circuitikz}

image

更多内容可以参考 circuitikzmanual