我是新circuitikz
用户。我想画一个基于 BJT 晶体管的电路。我做了一些事情,但我的电路并不完美,我有一些问题需要纠正。你能帮我改进我的电路吗?提前谢谢。
我希望不同晶体管的标签与晶体管相比位于同一行和同一位置。
我希望晶体管 Q1 和 Q2 之间留有一些空间。
反转电流源I1和I2的方向。
修正晶体管Q3的尺寸。
电路各个元器件(BJT、I、R)的尺寸必须相同。
\documentclass{article}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
(0,0) node[pnp] (pnp1){$Q_1$}
(pnp1.B) node[pnp, xscale=-1, anchor=B](pnp2){}
(pnp2) node {$Q_2$}
(pnp2.B) node[pnp, xscale=-3, anchor=B](pnp3){}
(pnp3) node {$Q_3$}
(pnp2.C) node [npn, anchor=C] (npn1) {}
(pnp1.C) node [npn, xscale=1, anchor=C] (npn2) {}
(npn2.E) to [american current source, l_=$I_3$,-*](0,-5)
(npn1.E) to [american current source, l_=$I_4$,-*](-1.65,-5)
(pnp1.E) to [american current source, l_=$I_1$,-*](0,5)
(pnp2.E) to [american current source, l_=$I_2$,-*](-1.65,5)
(-1.65,-5)--(0,-5)node[vee]{$V_{ee}$}
(-1.65,5)--(0,5)node[vcc]{$V_{cc}$}
(pnp2.B) node [circ]{}|-(pnp1.C) node[circ]{}
(pnp2.B) node [circ]{}|-(pnp3.C) node[circ]{}
(npn1.B)to [R, l_=$R_1$,-*](-5,-1.5)
(npn1.B)--(npn2.B)
;
\end{circuitikz}
\end{document}
答案1
由于您似乎更喜欢相对坐标,我尝试继续使用这种思路。锚点text
是放置标签的位置(左下角)(如果有的话)。xscale=-1
普通标签也会被镜像。
\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
(0,0) node[pnp] (pnp1){$Q_1$} ++(.7,0) % add white space for label
(pnp1.B) -- ++(-.5,0) node[pnp, xscale=-1, anchor=B](pnp2){}
(pnp2.text) node[above left,inner sep=0pt] {$Q_2$}
(pnp2.B) -- ++(-1,0) node[pnp, xscale=-1, anchor=B](pnp3){}
(pnp3.text) node[above left,inner sep=0pt] {$Q_3$}
(pnp2.C) node [npn, anchor=C] (npn1) {}
(pnp1.C) node [npn, xscale=1, anchor=C] (npn2) {}
(npn2.E) to [american, I , l_=$I_3$,-*] ++(0,-2) coordinate(a)
(npn1.E) to [american, I , l_=$I_4$,-*] ++(0,-2) coordinate(b)
(pnp1.E) to [american, I<, l^=$I_1$,-*] ++(0, 2) coordinate(c)
(pnp2.E) to [american, I<, l^=$I_2$,-*] ++(0, 2) coordinate(d)
(b)--(a) node[vee]{$V_{ee}$}
(d)--(c) node[vcc]{$V_{cc}$}
($(pnp1.B)!.5!(pnp2.B)$) coordinate (e)
(e) to[short,*-*] (e |- pnp1.C)
(pnp3.C) to[short,-*] (pnp1.C)
(npn1.B)to [R, l_=$R_1$,-*](-5,-1.5)
(npn1.B)--(npn2.B)
;
\end{circuitikz}
\end{document}