2

Is there an easy way to scale the size of one type of non-bipole component (transistor) in circuitikz? Changing all of the bipole components are easy, you can just do /tikz/circuitikz/bipoles/length=xyz, but non-bipoles don't seem to have an equivalent, and anyway I just want to change the MOSFETs in my circuit so they are all a little smaller.

Example (this is only one halfbridge, I have another circuit which has many half-bridges so I would rather not scale them manually at each MOSFET)

\documentclass{standalone}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}[/tikz/circuitikz/bipoles/length=0.9cm, scale=0.9, font=\sffamily]
    \draw (0,0) to[R=$R_{sa}$, i^<= $I_a$] (0,2) 
                to [Tnigfetd,n=mos1](0,3.5)
                to [Tnigfetd,n=mos1](0,5.5) 
                to [short, -o](1.5,5.5);
    \draw (0,0) to [short=$R_{p1}$, -o](1.5,0);
    \draw (0,3.5) to [short, *-o](0.5,3.5) node [right] {A};
\end{circuitikz}
\end{document}

enter image description here

5
  • All components are scaled by the bipole length. In addition, each component has key for width and height (1=bipole length). Sep 9 '16 at 14:33
  • which version of circuitikz do you have? I tried scaling the bipole length and it had no effect, and when I looked at the circuitikz code it seemed to have no dependencies on bipole length.
    – Jason S
    Sep 9 '16 at 16:34
  • oh goodness, I'm only using circuitikz v0.3 (scaling bipole length affects only the resistors, not the transistors)
    – Jason S
    Sep 9 '16 at 16:38
  • I just updated to circuitikz v0.6 (latest version in MiKTeX package installer) and it still has the same issue, bipole length does not affect the transistors.
    – Jason S
    Sep 9 '16 at 16:59
5

The default values for nigfetd are height=1.1 and width = 0.7.

\documentclass{standalone}
\usepackage[american]{circuitikz}
\begin{document}
% before
\begin{circuitikz}[/tikz/circuitikz/bipoles/length=0.9cm, scale=0.9, font=\sffamily]
    \draw (0,0) to[R=$R_{sa}$, i^<= $I_a$] (0,2) 
                to [Tnigfetd,n=mos1](0,3.5)
                to [Tnigfetd,n=mos1](0,5.5) 
                to [short, -o](1.5,5.5);
    \draw (0,0) to [short=$R_{p1}$, -o](1.5,0);
    \draw (0,3.5) to [short, *-o](0.5,3.5) node [right] {A};
\end{circuitikz}
% after
\begin{circuitikz}[/tikz/circuitikz/bipoles/length=0.9cm, scale=0.9, font=\sffamily,
  /tikz/circuitikz/tripoles/nigfetd/height=.8,
  /tikz/circuitikz/tripoles/nigfetd/width=.5]
    \draw (0,0) to[R=$R_{sa}$, i^<= $I_a$] (0,2) 
                to [Tnigfetd,n=mos1](0,3.5)
                to [Tnigfetd,n=mos1](0,5.5) 
                to [short, -o](1.5,5.5);
    \draw (0,0) to [short=$R_{p1}$, -o](1.5,0);
    \draw (0,3.5) to [short, *-o](0.5,3.5) node [right] {A};
\end{circuitikz}
\end{document}

demo

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.