summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-22 23:38:38 +0000
committerKarl Berry <karl@freefriends.org>2009-05-22 23:38:38 +0000
commitffb491abf8a482d1a6ba3ec359cda6cc63e4ec4f (patch)
treec51e8d49073f0f5fdcc420e10494a368be5ef759
parentdff4dbf8de3762428b08cd3164f27a2e6bd7ab4c (diff)
circuitikz 0.2.2 (20may09)
git-svn-id: svn://tug.org/texlive/trunk@13393 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/CHANGELOG4
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/README2
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdfbin262410 -> 262939 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex71
-rw-r--r--Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty55
-rw-r--r--Master/texmf-dist/tex/latex/circuitikz/pgfcircbipoles.sty36
-rw-r--r--Master/texmf-dist/tex/latex/circuitikz/pgfcirctripoles.sty4
7 files changed, 142 insertions, 30 deletions
diff --git a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG b/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG
index 619f95681d8..64227cc2576 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG
+++ b/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG
@@ -1,5 +1,9 @@
CircuiTikz - Changelog
+* Version 0.2.2 - 20090520
+ - Added the shape for lamps.
+ - Added options \texttt{europeanresistor}, \texttt{europeaninductor}, \texttt{americanresistor} and \texttt{americaninductor}, with corresponding styles.
+ - FIXED: error in transistor arrow positioning and direction under negative \texttt{xscale} and \texttt{yscale}.
* Version 0.2.1 - 20090503
- Op-amps added
- added options arrowmos and noarrowmos, to add arrows to pmos and nmos
diff --git a/Master/texmf-dist/doc/latex/circuitikz/README b/Master/texmf-dist/doc/latex/circuitikz/README
index a03af7bda4a..883d4728dc2 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/README
+++ b/Master/texmf-dist/doc/latex/circuitikz/README
@@ -1,4 +1,4 @@
-This is CircuiTikz, version 0.2.1.
+This is CircuiTikz, version 0.2.2.
This package provides a set of macros for naturally typesetting electrical and (somewhat less naturally, perhaps) electronical networks.
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
index 0b687addc0b..eeb44b5d24b 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
index 8ae502a7706..ffd294534d1 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
@@ -6,7 +6,7 @@
\usepackage{hyperref}
\hypersetup{
bookmarks=false, % show bookmarks bar?
- pdftitle={CircuitTikZ v. 0.2.1 - manual}, % title
+ pdftitle={CircuitTikZ v. 0.2.2 - manual}, % title
pdfauthor={Massimo Redaelli}, % author
pdfsubject={CircuitTikZ manual}, % subject of the document
pdfkeywords={}, % list of keywords
@@ -32,7 +32,7 @@
\lstset{frameround=fttt}
\lstloadlanguages{TeX}
-\title{Circui\TikZ \\{\large version 0.2.1}}
+\title{Circui\TikZ \\{\large version 0.2.2}}
\author{Massimo A. Redaelli}
\date{\today}
@@ -70,7 +70,6 @@ particular purpose.
\subsection{Feedback}
Much appreciated: \href{mailto:mredaelli@elet.polimi.it}{\texttt{mredaelli@elet.polimi.it}}. Although I don't guarantee quick answers.
-
\subsection{Requirements}
\begin{itemize}
\item \texttt{tikz}, version $\ge 2$;
@@ -90,9 +89,13 @@ None, as far as I know.
\item \texttt{europeanvoltage}: uses arrows to define voltages, and uses european-style voltage sources;
\item \texttt{americanvoltage}: uses $-$ and $+$ to define voltages, and uses american-style voltage sources;
\item \texttt{europeancurrent}: uses european-style current sources;
- \item \texttt{americanvoltage}: uses american-style current sources;
- \item \texttt{european}: equivalent to \texttt{europeancurrent} and \texttt{europeanvoltage};
- \item \texttt{american}: equivalent to \texttt{americancurrent} and \texttt{americanvoltage};
+ \item \texttt{americancurrent}: uses american-style current sources;
+ \item \texttt{europeanresistor}: uses rectangular empty shape for resistors, as per european standards;
+ \item \texttt{americanresistor}: uses zig-zag shape for resistors, as per american standards;
+ \item \texttt{europeaninductor}: uses rectangular filled shape for inductors, as per european standards;
+ \item \texttt{americaninductor}: uses coil shape for inductors, as per american standards;
+ \item \texttt{european}: equivalent to \texttt{europeancurrent}, \texttt{europeanvoltage}, \texttt{europeanresistor}, \texttt{europeaninductor};
+ \item \texttt{american}: equivalent to \texttt{americancurrent}, \texttt{americanvoltage}, \texttt{americanresistor}, \texttt{americaninductor};
\item \texttt{siunitx}: integrates with \texttt{SIunitx} package. If labels, currents or voltages are of the form \verb!#1<#2>! then what is shown is actually \verb!\SI{#1}{#2}!;
\item \texttt{nosiunitx}: labels are not interpreted as above;
\item \texttt{fulldiode}: the various diodes are drawn \emph{and} filled by default, i.e. when using styles such as \texttt{diode}, \texttt{D}, \texttt{sD}, \ldots Un-filled diode can always be forced with \texttt{Do}, \texttt{sDo}, \ldots
@@ -101,9 +104,9 @@ None, as far as I know.
\item \texttt{noarrowmos}: pmos and nmos do not have arrows analogous to those of pnp and npn transistors.
\end{itemize}
-Loading the package with no options is equivalent to:\\
- \verb!\usepackage[european, nosiunitx, noarrowmos]{circuitikz}!.
-
+Loading the package with no options is equivalent to my own personal liking, that is to the following options:\\
+ \texttt{[european current, european voltage, american resistor, american inductor, nosiunitx, noarrowmos]}.
+
\section{The components}
Here follows the list of all the shapes defined by Circui\TikZ. These are all \texttt{pgf} nodes, so they are usable in both \texttt{pgf} and \TikZ.
@@ -144,12 +147,27 @@ The other shapes are shown with:
\circuititembip{short}{Short circuit}{}
\circuititembip{open}{Open circuit}{}
- \circuititembip{R}{Resistor}{resistor}
\circuititembip{pR}{Potentiometer}{potentiometer}
+ \circuititembip{lamp}{Lamp}{}
\circuititembip{generic}{Generic (symmetric) bipole}{}
\circuititembip{ageneric}{Generic asymmetric bipole}{}
+ \circuititembip{fullgeneric}{Generic asymmetric bipole}{}
\end{itemize}
+\paragraph{The resistor}
+
+If \texttt{europeanresistor} option is active (or the style \texttt{[european resistor]} is used), the resistor is displayed as follows:
+\begin{itemize}
+ \ctikzset{european resistor=true}
+ \circuititembip{R}{Resistor}{resistor}
+\end{itemize}
+If instead (default behaviour) \texttt{americanresistor} option is active (or the style \texttt{[american resistor]} is used), the resistor is displayed as follows:
+\begin{itemize}
+ \ctikzset{european resistor=false}
+ \circuititembip{R}{Resistor}{resistor}
+\end{itemize}
+
+
\paragraph{Stationary sources}
\begin{itemize}
\circuititembip{battery}{Battery}{}
@@ -165,6 +183,7 @@ The options \texttt{europeancurrent} [resp. \texttt{europeanvoltage}] (the defau
One can also use the related styles \texttt{[european current]} [resp. \texttt{[european voltage]}] and \texttt{[american current]} [resp. \texttt{[american voltage]}].
\end{framed}
+
\paragraph{Diodes and such}
\begin{itemize}
\circuititembip{empty diode}{Empty diode}{Do}
@@ -190,9 +209,20 @@ The options \texttt{fulldiode} and \texttt{emptydiode} (and the styles \texttt{[
\paragraph{Basic dynamical bipoles}
\begin{itemize}
\circuititembip{capacitor}{Capacitor}{C}
- \circuititembip{inductor}{Inductor}{L}
\end{itemize}
+If \texttt{europeaninductor} option is active (or the style \texttt{[european inductor]} is used), the inductor is displayed as follows:
+\begin{itemize}
+ \ctikzset{european inductor=true}
+ \circuititembip{L}{Inductor}{inductor}
+\end{itemize}
+If instead (default behaviour) \texttt{americaninductor} option is active (or the style \texttt{[american inductor]} is used), the inductor is displayed as follows:
+\begin{itemize}
+ \ctikzset{european inductor=false}
+ \circuititembip{L}{Inductor}{inductor}
+\end{itemize}
+
+
\paragraph{Sinusoidal sources} Here because I was asked for them. But how do you distinguish one from the other?!
\begin{itemize}
\circuititembip{sinusoidal voltage source}{Sinusoidal voltage source}{vsourcesin, sV}
@@ -820,19 +850,19 @@ For BJT transistors the anchors are \texttt{base}, \texttt{emitter} and \texttt
;\end{circuitikz}
\end{LTXexample}
-Here is one composite example:
+Here is one composite example (please notice that the \texttt{xscale=-1} style would also reflect the label of the transistors, so here a new node is added and its text is used, instead of that of \texttt{pnp1}):
\begin{LTXexample}[varwidth=true]
\begin{circuitikz} \draw
- (0,0) node[pnp] (pnp2) {}
+ (0,0) node[pnp] (pnp2) {2}
(pnp2.B) node[pnp, xscale=-1, anchor=B] (pnp1) {}
+ (pnp1) node {1}
(pnp1.C) node[npn, anchor=C] (npn1) {}
(pnp2.C) node[npn, xscale=-1, anchor=C] (npn2) {}
(pnp1.E) -- (pnp2.E) (npn1.E) -- (npn2.E)
(pnp1.B) node[circ] {} |- (pnp2.C) node[circ] {}
;\end{circuitikz}
\end{LTXexample}
-
\paragraph{Operational amplifier} The op amp defines the inverting input (\texttt{-}), the non-inverting input (\texttt{+}) and the output (\texttt{out}) anchors:
\begin{LTXexample}[varwidth=true]
@@ -1101,6 +1131,15 @@ And yes: this is a bug and \emph{not} a feature\ldots
\section{Revision history}
\begin{itemize}
+
+\item[\itshape version 0.2.2] (20090520).
+ \begin{enumerate}
+ \item Added the shape for lamps.
+ \item Added options \texttt{europeanresistor}, \texttt{europeaninductor}, \texttt{americanresistor} and \texttt{americaninductor}, with corresponding styles.
+ \item \textbf{Fixed}: error in transistor arrow positioning and direction under negative \texttt{xscale} and \texttt{yscale}.
+ \end{enumerate}
+
+
\item[\itshape version 0.2.1] (20090503).
\begin{enumerate}
\item Op-amps added.
@@ -1122,11 +1161,9 @@ And yes: this is a bug and \emph{not} a feature\ldots
\item[\itshape version 0.1] First public release (2007).
\end{itemize}
-\end{document}
-
-
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
index 1ff69513393..ba41b39100d 100644
--- a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
+++ b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
@@ -52,12 +52,28 @@
\ctikzset{european voltage=true}
}
+\DeclareOption{americanresistor}{
+ \ctikzset{european resistor=false}
+}
+
+\DeclareOption{europeanresistor}{
+ \ctikzset{european resistor=true}
+}
+
+\DeclareOption{americaninductor}{
+ \ctikzset{european inductor=false}
+}
+
+\DeclareOption{europeaninductor}{
+ \ctikzset{european inductor=true}
+}
+
\DeclareOption{european}{
- \ctikzset{european voltage=true} \ctikzset{european current=true}
+ \ctikzset{european voltage=true} \ctikzset{european current=true} \ctikzset{european inductor=true} \ctikzset{european resistor=true}
}
\DeclareOption{american}{
- \ctikzset{european voltage=false} \ctikzset{european current=false}
+ \ctikzset{european voltage=false} \ctikzset{european current=false} \ctikzset{european resistor=false} \ctikzset{european inductor=false}
}
\DeclareOption{siunitx}{
@@ -140,19 +156,23 @@
\ctikzset{bipoles/interr/height/.initial=.35}
\ctikzset{bipoles/interr/width/.initial=.35}
\ctikzset{bipoles/interr/height 2/.initial=.08}
-\ctikzset{bipoles/generic/height/.initial=.15}
-\ctikzset{bipoles/generic/width/.initial=1}
+\ctikzset{bipoles/generic/height/.initial=.30}
+\ctikzset{bipoles/generic/width/.initial=.80}
+\ctikzset{bipoles/ageneric/height/.initial=.30}
+\ctikzset{bipoles/ageneric/width/.initial=.80}
+\ctikzset{bipoles/fullgeneric/height/.initial=.30}
+\ctikzset{bipoles/fullgeneric/width/.initial=.80}
\ctikzset{bipoles/open/height/.initial=.25}
\ctikzset{bipoles/open/width/.initial=.8}
\ctikzset{bipoles/ammeter/height/.initial=.60}
\ctikzset{bipoles/ammeter/width/.initial=.60}
\ctikzset{bipoles/voltmeter/height/.initial=.60}
\ctikzset{bipoles/voltmeter/width/.initial=.60}
-\ctikzset{bipoles/generic/height/.initial=.30}
-\ctikzset{bipoles/generic/width/.initial=.80}
\ctikzset{bipoles/not port/width/.initial=1}
\ctikzset{bipoles/not port/height/.initial=.8}
\ctikzset{bipoles/not port/circle width/.initial=.15}
+\ctikzset{bipoles/lamp/height/.initial=.60}
+\ctikzset{bipoles/lamp/width/.initial=.60}
\newif\ifpgf@circuit@mos@arrows
\ctikzset{tripoles/mos style/.is choice}
@@ -308,6 +328,10 @@
\ctikzset{european voltage/.is if=pgf@circuit@europeanvoltage}
\newif\ifpgf@circuit@europeancurrent
\ctikzset{european current/.is if=pgf@circuit@europeancurrent}
+\newif\ifpgf@circuit@europeanresistor
+\ctikzset{european resistor/.is if=pgf@circuit@europeanresistor}
+\newif\ifpgf@circuit@europeaninductor
+\ctikzset{european inductor/.is if=pgf@circuit@europeaninductor}
\newif\ifpgf@circuit@fulldiode
\ctikzset{full diode/.is if=pgf@circuit@fulldiode}
\ctikzset{thickness/.initial=2}
@@ -318,8 +342,12 @@
\tikzset{european current/.code= {\ctikzset{european current=true} } }
\tikzset{american voltage/.code= {\ctikzset{european voltage=false} } }
\tikzset{american current/.code= {\ctikzset{european current=false} } }
-\tikzset{american/.code= {\ctikzset{european current=false} \ctikzset{european voltage=false}} }
-\tikzset{european/.code= {\ctikzset{european current=true} \ctikzset{european voltage=true}} }
+\tikzset{european inductor/.code= {\ctikzset{european inductor=true} } }
+\tikzset{european resistor/.code= {\ctikzset{european resistor=true} } }
+\tikzset{american inductor/.code= {\ctikzset{european inductor=false} } }
+\tikzset{american resistor/.code= {\ctikzset{european resistor=false} } }
+\tikzset{american/.code= {\ctikzset{european current=false} \ctikzset{european voltage=false} \ctikzset{european resistor=false} \ctikzset{european inductor=false}} }
+\tikzset{european/.code= {\ctikzset{european current=true} \ctikzset{european voltage=true} \ctikzset{european resistor=true} \ctikzset{european inductor=true}} }
\tikzset{full diode/.code= {\ctikzset{full diode=true} } }
\tikzset{empty diode/.code= {\ctikzset{full diode=false} } }
@@ -357,7 +385,7 @@
-\ExecuteOptions{european, nosiunitx, noarrowmos}
+\ExecuteOptions{european current, european voltage, american resistor, american inductor, nosiunitx, noarrowmos}
\ProcessOptions
@@ -438,11 +466,12 @@
%% Path definitions
-\def\pgf@circ@resistor@path#1{\pgf@circ@bipole@path{resistor}{#1}}
+\def\pgf@circ@resistor@path#1{\ifpgf@circuit@europeanresistor\pgf@circ@bipole@path{generic}{#1}\else\pgf@circ@bipole@path{resistor}{#1}\fi}
\def\pgf@circ@potentiometer@path#1{\pgf@circ@bipole@path{potentiometer}{#1}}
\def\pgf@circ@capacitor@path#1{\pgf@circ@bipole@path{capacitor}{#1}}
\def\pgf@circ@battery@path#1{\pgf@circ@bipole@path{battery}{#1}}
-\def\pgf@circ@inductor@path#1{\pgf@circ@bipole@path{inductor}{#1}}
+\def\pgf@circ@inductor@path#1{\ifpgf@circuit@europeaninductor\pgf@circ@bipole@path{fullgeneric}{#1}\else\pgf@circ@bipole@path{inductor}{#1}\fi}
+\def\pgf@circ@lamp@path#1{\pgf@circ@bipole@path{lamp}{#1}}
\def\pgf@circ@vsource@path#1{\pgf@circ@bipole@path{vsource}{#1}}
\def\pgf@circ@vsourceam@path#1{\pgf@circ@bipole@path{vsourceAM}{#1}}
\def\pgf@circ@vsourcesin@path#1{\pgf@circ@bipole@path{vsourcesin}{#1}}
@@ -475,6 +504,7 @@
\def\pgf@circ@open@path#1{\pgf@circ@bipole@path{open}{#1}}
\def\pgf@circ@generic@path#1{\pgf@circ@bipole@path{generic}{#1}}
\def\pgf@circ@ageneric@path#1{\pgf@circ@bipole@path{ageneric}{#1}}
+\def\pgf@circ@fullgeneric@path#1{\pgf@circ@bipole@path{fullgeneric}{#1}}
\def\pgf@circ@ammeter@path#1{\pgf@circ@bipole@path{ammeter}{#1}}
\def\pgf@circ@voltmeter@path#1{\pgf@circ@bipole@path{voltmeter}{#1}}
\def\pgf@circ@empty@path#1{}
@@ -510,9 +540,12 @@
\tikzset{generic/.style = {to path=\pgf@circ@generic@path, l=#1}}
\tikzset{ageneric/.style = {to path=\pgf@circ@ageneric@path, l=#1}}
+\tikzset{fullgeneric/.style = {to path=\pgf@circ@fullgeneric@path, l=#1}}
\tikzset{short/.style = {to path=\pgf@circ@short@path}}
\tikzset{open/.style = {to path=\pgf@circ@open@path}}
+\tikzset{lamp/.style = {to path=\pgf@circ@lamp@path}}
+
\tikzset{full diode/.style = {to path=\pgf@circ@fulldiode@path}}
\tikzset{full Schottky diode/.style = {to path=\pgf@circ@fullsdiode@path}}
\tikzset{full Zener diode/.style = {to path=\pgf@circ@fullzdiode@path}}
diff --git a/Master/texmf-dist/tex/latex/circuitikz/pgfcircbipoles.sty b/Master/texmf-dist/tex/latex/circuitikz/pgfcircbipoles.sty
index 9568064834e..1e5a363a743 100644
--- a/Master/texmf-dist/tex/latex/circuitikz/pgfcircbipoles.sty
+++ b/Master/texmf-dist/tex/latex/circuitikz/pgfcircbipoles.sty
@@ -292,6 +292,9 @@
\pgfusepath{stroke}
}
+
+
+
%% Independent voltage source
\pgfcircdeclarebipole[\ctikzvalof{bipoles/vsource/height}]{vsource}{\ctikzvalof{bipoles/vsource/height}}{\ctikzvalof{bipoles/vsource/width}}{
@@ -1011,9 +1014,24 @@
\pgfusepath{draw}
}
+
+%% Generic bipole, filled - used as inductor by some (bleah)
+
+\pgfcircdeclarebipole[\ctikzvalof{bipoles/fullgeneric/height}]{fullgeneric}{\ctikzvalof{bipoles/fullgeneric/height}}{\ctikzvalof{bipoles/fullgeneric/width}}{
+
+ \pgf@circ@res@step = \ctikzvalof{bipoles/resistor/width}\pgf@circ@Rlen
+ \divide \pgf@circ@res@step by 14
+
+ \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+
+ \pgfusepath{fill}
+}
+
+
%% Generic asymmetric bipole
-\pgfcircdeclarebipole[\ctikzvalof{bipoles/generic/height}]{ageneric}{\ctikzvalof{bipoles/generic/height}}{\ctikzvalof{bipoles/generic/width}}{
+\pgfcircdeclarebipole[\ctikzvalof{bipoles/ageneric/height}]{ageneric}{\ctikzvalof{bipoles/ageneric/height}}{\ctikzvalof{bipoles/ageneric/width}}{
\pgf@circ@res@step = \ctikzvalof{bipoles/resistor/width}\pgf@circ@Rlen
\divide \pgf@circ@res@step by 14
@@ -1157,4 +1175,20 @@
+%% Lamp
+
+\pgfcircdeclarebipole[\ctikzvalof{bipoles/lamp/height}]{lamp}{\ctikzvalof{bipoles/lamp/height}}{\ctikzvalof{bipoles/lamp/width}}{
+
+ \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}}
+ \pgfpathmoveto{\pgfpoint{.7071*\pgf@circ@res@left}{.7071*\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{.7071*\pgf@circ@res@right}{.7071*\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{.7071*\pgf@circ@res@left}{.7071*\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{.7071*\pgf@circ@res@right}{.7071*\pgf@circ@res@up}}
+ \pgfusepath{draw}
+}
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/circuitikz/pgfcirctripoles.sty b/Master/texmf-dist/tex/latex/circuitikz/pgfcirctripoles.sty
index cc32b915ad1..f41034e0a6d 100644
--- a/Master/texmf-dist/tex/latex/circuitikz/pgfcirctripoles.sty
+++ b/Master/texmf-dist/tex/latex/circuitikz/pgfcirctripoles.sty
@@ -529,6 +529,7 @@
\pgfscope
\pgfslopedattimetrue
\pgfallowupsidedownattimetrue
+ \pgfresetnontranslationattimefalse
\pgftransformlineattime{.6}{%
\pgfpoint%
{\pgfkeysvalueof{/tikz/circuitikz/tripoles/nmos/gate width}\pgf@circ@res@left}%
@@ -579,6 +580,7 @@
\pgfscope
\pgfslopedattimetrue
\pgfallowupsidedownattimetrue
+ \pgfresetnontranslationattimefalse
\pgftransformlineattime{.4}{%
\pgfpoint%
{\pgf@circ@res@right}%
@@ -682,6 +684,7 @@
\pgfscope
\pgfslopedattimetrue
\pgfallowupsidedownattimetrue
+ \pgfresetnontranslationattimefalse
\pgftransformlineattime{.5}{%
\pgfpoint%
{\pgf@circ@res@right}%
@@ -760,6 +763,7 @@
\pgfscope
\pgfslopedattimetrue
\pgfallowupsidedownattimetrue
+ \pgfresetnontranslationattimefalse
\pgftransformlineattime{.5}{%
\pgfpoint%
{\pgfkeysvalueof{/tikz/circuitikz/tripoles/npn/gate width}\pgf@circ@res@left}%