如何绘制圆形晶体管

如何绘制圆形晶体管

如何绘制圆圈内的晶体管circuitikz

在此处输入图片描述

我没有找到有关带圆圈的晶体管的任何信息circuitikzmanual.pdf

答案1

由于circuitikz是建立在 之上的TikZ,因此您可以使用\draw来绘制一个圆圈:

\documentclass{article}
\usepackage{circuitikz}

\begin{document}

\begin{circuitikz} 
\draw (0,0) node[npn] (npn) {}
(npn.base) node[anchor=east] {B}
(npn.collector) node[anchor=south] {C}
(npn.emitter) node[anchor=north] {E};
\draw ($(npn)-(0.18,0)$) circle [radius=18pt];
\end{circuitikz}

\end{document}

在此处输入图片描述

正如评论中所指出的,在原始解决方案中圆的中心是错误的;克罗尔建议使用以基极、集电极和发射极为顶点的三角形的重心,但这也会产生错误的结果,如下例所示(使用重心坐标可以轻松获得中心的坐标;使用以晶体管名称为参数的命令自动完成计算\CalcC):

\documentclass{article}
\usepackage{circuitikz}

\def\CalcC#1{%
\coordinate (base) at (#1.base);
\coordinate (collector) at (#1.collector);
\coordinate (emitter) at (#1.emitter);
\draw (barycentric cs:base=0.5,collector=0.5,emitter=0.5) circle [radius=14pt];
}

\begin{document}

\begin{circuitikz} 
\draw (0,0) node[npn] (name) {}
(name.base) node[anchor=east] {B}
(name.collector) node[anchor=south] {C}
(name.emitter) node[anchor=north] {E};
\CalcC{name}
\end{circuitikz}

\end{document}

在此处输入图片描述

稍微的水平移动(通过与基锚相关的重心坐标的变化获得)可以产生更好的结果:

\documentclass{article}
\usepackage{circuitikz}

\def\CalcC#1{%
\coordinate (base) at (#1.B);
\coordinate (collector) at (#1.C);
\coordinate (emitter) at (#1.E);
\draw (barycentric cs:base=0.32,collector=0.5,emitter=0.5) circle [radius=14pt];
}

\begin{document}

\begin{circuitikz} 
\draw (0,0) node[npn] (name) {}
(name.base) node[anchor=east] {B}
(name.collector) node[anchor=south] {C}
(name.emitter) node[anchor=north] {E};
\CalcC{name}
\end{circuitikz}

\end{document}

在此处输入图片描述

相关内容