2

Is it possible to have individual current arrows on each of the three terminals of an NMOS device in Circuitikz? I have only seen it on a path-like object with the i=... option.

1
  • Not automatically, no. You can add them using small short bipoles or placing the currarrow shape.
    – Rmano
    Dec 29, 2023 at 7:59

1 Answer 1

3

Not automatically, no. You can add them by placing currarrow shapes or using small short bipoles.

For example, we can leverage the anchors for body diodes or snubbers like this:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{circuitikz}
\ctikzset{tripoles/mos style=arrows, transistors/scale=1.5}
\begin{document}
\begin{tikzpicture}[]
    \draw (0,0) node[nmos](M){};
    \draw (M.body C in) node[currarrow, rotate=-90]{} node[right]{$i_d$};
    \draw (M.body E in) node[currarrow, rotate=-90]{} node[right]{$i_s$};
    \draw ($(M.G)!0.4!(M.nobase)$) node[currarrow]{} node[above]{$i_g$};
\end{tikzpicture}
\end{document}

enter image description here

The other option is doing something like this:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{circuitikz}
\ctikzset{tripoles/mos style=arrows, transistors/scale=1.5}
\ctikzset{near i/.style={current/distance=0.1}}
\begin{document}
\begin{tikzpicture}[]
    \draw (0,0) node[nmos](M){}
        (M.D) to[short, i<_=$i_d$, near i] ++(0,0.5) coordinate(M-D)
        (M.S) to[short, i=$i_s$, near i] ++(0,-0.5) coordinate(M-S)
        (M.G) to[short, i<_=$i_g$, near i] ++(-0.5,0.0) coordinate(M-G)
        ;
\end{tikzpicture}
\end{document}

enter image description here

...and then using M-D, M-S, and M-G for the external connections.

1
  • 1
    Many thanks for the two suggestions.
    – Simon T.
    Dec 29, 2023 at 13:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .