我想学习电路图,所以我重画了以下双晶体管振荡器:
我提出的文件如下:
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}
\begin{document}
\begin{figure}
\begin{center}
\begin{circuitikz}[american]
coordinate (orig) at (0, 0);
\draw (0, 0)
to[led] ++(0, -2)
to[R, l_=$R_1$] ++(0, -2) coordinate(r1b)
to[C, l^=$C_1$] ++(2, 0) coordinate(r2b)
to[R, l_=$R_2$] ++(0, 2)
to[short] ++(0, 2) coordinate(p1)
to[short] ++(-2, 0);
\draw (6, 0)
to[led] ++(0, -2)
to[R, l^=$R_4$] ++(0, -2) coordinate(r4b)
to[C, l_=$C_2$] ++(-2, 0) coordinate(r3b)
to[R, l^=$R_3$] ++(0, 2)
to[short] ++(0, 2) coordinate(p2)
to[short] ++(2, 0);
\draw (p1) to[short, *-*] (p2);
\draw (r1b) to[short] ++(0, -1) coordinate (q1c);
\draw (q1c) node[npn, anchor=C, xscale=-1] (q1) {\scalebox{-1}[1]{Q1}};
\draw (q1.E) to[short] ++(0, -1) coordinate(q1e);
\draw (r4b) to[short] ++(0, -1) coordinate (q2c);
\draw (q2c) node[npn, anchor=C] (q2) {Q2};
\draw (q2.E) to[short] ++(0, -1) coordinate(q2e);
\draw (q1e) to[short] (q2e);
\draw (r3b) to[short] (r2b |- q1.B) to[short] (q1.B);
\draw (r2b) to[short] (r3b |- q2.B) to[short] (q2.B);
\end{circuitikz}
\caption{My first circuit.}
\end{center}
\end{figure}
\end{document}
生成以下内容:
我对结果很满意,但意识到我必须定义大量坐标才能使其正常工作。例如,对于晶体管,因为我想延长集电极和发射极引线,所以我必须重新定义它们的名称,而不是使用内置的名称。
有没有更好的方法来构建这个图表以减少所需代码而不牺牲可读性?