3

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
  • similar but not the same as tex.stackexchange.com/questions/288242/… and tex.stackexchange.com/questions/29270/scaling-in-circuitikz
    – Jason S
    Commented Sep 8, 2016 at 18:20
  • All components are scaled by the bipole length. In addition, each component has key for width and height (1=bipole length). Commented Sep 9, 2016 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
    Commented Sep 9, 2016 at 16:34
  • oh goodness, I'm only using circuitikz v0.3 (scaling bipole length affects only the resistors, not the transistors)
    – Jason S
    Commented Sep 9, 2016 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
    Commented Sep 9, 2016 at 16:59

1 Answer 1

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

You must log in to answer this question.

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