MWE 就在这里。
\documentclass{standalone}
\usepackage{circuitikz}
\usetikzlibrary {calc}
\begin{document}
\begin{circuitikz}[european]
\ctikzset{
v/.append style={/tikz/american voltages},
resistors/scale=0.8,
capacitors/scale=0.7,
diodes/scale=0.6,
transistors/scale=1.3,
}
\draw (0,0) node[npn](VT){VT};
\draw (VT.C) to[R=$R_\mathrm{c}$] ++(0,2) to[short, -o] +(2,0)node[right]{$+V_\mathrm{CC}$};
\draw (VT.C) to[short,*-,C=$C_2$] ++(2,0);
\draw (VT.B) to[short,*-,C,l_=$C_1$] ++(-2,0);
\coordinate (c) at ($(VT.C)+(0,2)$); % c坐标 Rc所在垂线与Vcc所在水平线交点
\coordinate (b) at ($(VT.B)+(-2,0)$);% b坐标 C1所在水平线左端终点
\coordinate (a1) at ($(b)+(0,-3)$); % a1坐标 us所在垂线下方终点
\coordinate (a2) at ($(VT.C)+(2,0)$);% a2坐标 C2所在水平线右端终点
\draw (VT.B) to[R=$R_\mathrm{b}$] (VT.B|-c) to[short,-*](c);
\draw (b) to[R,l_=$R_\mathrm{S}$] +(0,-1.5)
to[vsource, v_=$u_\mathrm{S}$] +(0,-3)
to[short,-*](a1-|VT.E) to[short,i^<=$i_\mathrm{E}$] (VT.E);% 从C1左端终点开始往下、
右、上回到VT发射极节点VT.E。即输入回路
\draw (a1-|VT.E) --(a1-|a2) to[R=$R_\mathrm{L}$] (a2);% 从发射极下方节点往右出发向上构成输出回路
\draw (a1-|VT.E)node[rground]{};
\draw (VT.B)node[yshift=-15pt, flowarrow]{$i_\mathrm{B}$};
\draw (VT.C)node[xshift=-15pt, rotate = 270, flowarrow]{$i_\mathrm{C}$};
\end{circuitikz}
\end{document}
我希望当前标签位于箭头的左下方,并且不旋转。或者是否有更好的命令来控制标签行为,这可能涉及 TikZ 命令,但我不熟悉它们。
答案1
使用肮脏的(快速)技巧:用
\draw (VT.B)node[yshift=-5pt, flowarrow, label=below:$i_\mathrm{B}$] {};
\draw (VT.C)node[xshift=-5pt, rotate=270, flowarrow, label=left:$i_\mathrm{C}$] {};
附录: 如果您愿意从头开始重新绘制方案,解决方案可以纳入方案元素的循环中:
\documentclass{standalone}
\usepackage{circuitikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{circuitikz}[european]
\ctikzset{
v/.append style={/tikz/american voltages},
resistors/scale=0.8,
bipoles/capacitor/height=0.5,
bipoles/capacitor/width=0.1,
transistors/scale=1.3,
}
\node[npn](VT){VT};
\draw (VT.C) node[xshift=-5pt, flowarrow, rotate=-90,
label= left:$i_\mathrm{C}$] {}
to[R=$R_\mathrm{c}$,*-] ++(0,2) coordinate (a)
to[short, -o] ++ (2,0) node[right]{$+V_\mathrm{CC}$}
(VT.B) node[yshift=-5pt, flowarrow,
label=below:$i_\mathrm{B}$]{}
to[C,l_=$C_1$,*-] ++(-2,0)
to[R,l_=$R_\mathrm{S}$] ++(0,-1.5)
to[V, v_=$u_\mathrm{S}$] ++(0,-1.5) coordinate (b)
(a) to[short, *-] (a -| VT.B)
to[R, a=$R_\mathrm{b}$] (VT.B)
(VT.E) to[short,i_=$i_\mathrm{E}$, -*] (VT.E |- b)
node (g) [below, rground]{}
-- (b)
(VT.C) to[short,C=$C_2$,*-] ++(2,0) coordinate (c)
to[R=$R_\mathrm{L}$] (c |- b)
-- (g);
\end{circuitikz}
\end{document}
结果和以前一样。