Change symbol size in circuitikz

You can use

\ctikzset{bipoles/length=<value>}

A complete example:

\documentclass{article}
\usepackage{tikz}
\usepackage[europeanresistors,americaninductors]{circuitikz}

\begin{document}

  \begin{circuitikz}
    \draw
        (1,1) node[nigfete] (fet1) {}
        (1,3) node[nigfete] (fet2) {}
        (3,1) node[nigfete] (fet3) {}
        (3,3) node[nigfete] (fet4) {}
        (5,1) node[nigfete] (fet5) {}
        (5,3) node[nigfete] (fet6) {};
    \draw
        (fet1.S)++(0,0.4) -- ++(0.5,0) to[sD*] ($(fet1.D)+(0.5,-0.4)$) -- ++(-0.5,0)
        (fet2.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet2.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet3.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet3.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet4.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet4.D)+(0.5,-0.1)$) -- ++(-0.5,0)
        (fet5.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet5.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet6.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet6.D)+(0.5,-0.1)$) -- ++(-0.5,0);
    \draw
        (fet1.S)++(0,0) -- ++(-2,0) to[battery] ($(fet2.D)+(-2,0)$) -- ++(2,0);
    \draw 
        (fet1.D) to (fet2.S)
        (fet3.D) to (fet4.S)
        (fet5.D) to (fet6.S);
    \draw 
        (fet1.S) to (fet3.S)
        (fet3.S) to (fet5.S)
        (fet2.D) to (fet4.D)
        (fet4.D) to (fet6.D);
  \end{circuitikz}

\vspace{10pt}

\ctikzset{bipoles/length=.6cm}
  \begin{circuitikz}
    \draw
        (1,1) node[nigfete] (fet1) {}
        (1,3) node[nigfete] (fet2) {}
        (3,1) node[nigfete] (fet3) {}
        (3,3) node[nigfete] (fet4) {}
        (5,1) node[nigfete] (fet5) {}
        (5,3) node[nigfete] (fet6) {};
    \draw
        (fet1.S)++(0,0.4) -- ++(0.5,0) to[sD*] ($(fet1.D)+(0.5,-0.4)$) -- ++(-0.5,0)
        (fet2.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet2.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet3.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet3.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet4.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet4.D)+(0.5,-0.1)$) -- ++(-0.5,0)
        (fet5.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet5.D)+(0.5,-0.1)$) -- ++(-0.5,0)        
        (fet6.S)++(0,0.1) -- ++(0.5,0) to[sD*] ($(fet6.D)+(0.5,-0.1)$) -- ++(-0.5,0);
    \draw
        (fet1.S)++(0,0) -- ++(-2,0) to[battery] ($(fet2.D)+(-2,0)$) -- ++(2,0);
    \draw 
        (fet1.D) to (fet2.S)
        (fet3.D) to (fet4.S)
        (fet5.D) to (fet6.S);
    \draw 
        (fet1.S) to (fet3.S)
        (fet3.S) to (fet5.S)
        (fet2.D) to (fet4.D)
        (fet4.D) to (fet6.D);
  \end{circuitikz}
\end{document}

enter image description here

If you want to scale the whole circuit, you can use the options scale=<value>,transform shape to the circuitikz environment:

\begin{circuitikz}[scale=0.5,transform shape]
....
\end{circuitikz}

Just for completeness, with a recent circuitikz (> 0.9.4), you can just do something like that in the preamble:

\usepackage[europeanresistors,americaninductors, EFvoltages]{circuitikz}
\ctikzset{diodes/scale=0.5, transistors/scale=1.2}

output with scaling

Tags:

Circuitikz