texlive[44155] Master/texmf-dist: circuitikz (2may17)

commits+karl at tug.org commits+karl at tug.org
Tue May 2 23:41:32 CEST 2017


Revision: 44155
          http://tug.org/svn/texlive?view=revision&revision=44155
Author:   karl
Date:     2017-05-02 23:41:32 +0200 (Tue, 02 May 2017)
Log Message:
-----------
circuitikz (2may17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf
    trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
    trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
    trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
    trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex
    trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty

Modified: trunk/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md	2017-05-02 21:41:32 UTC (rev 44155)
@@ -1,6 +1,16 @@
 <!--- CircuiTikz - Changelog --->
 The major changes among the different circuitikz versions are listed here. See <https://github.com/circuitikz/circuitikz/commits> for a full list of changes.
 
+* Version 0.8.2 (2017-05-01)
+	- Fixes pgfkeys error using alternatively specified mixed colors(see pgfplots manual section "4.7.5 Colors")
+	- Added new switches "ncs" and "nos"
+	- Reworked arrows at spst-switches
+	- Fixed direction of controlled american voltage source
+	- "v<=" and "i<=" do not rotate the sources anymore(see them as "counting direction indication", this can be different then the shape orientation); Use the option "invert" to change the direction of the source/apperance of the shape.
+	- current label "i=" can now be used independent of the regular label "l=" at current sources
+	- rewrite of current arrow placement. Current arrows can now also be rotated on zero-length paths
+	- New DIN/EN compliant operational amplifier symbol "en amp"
+	
 * Version 0.8.1 (2017-03-25)
 	- Fixed unwanted line through components if target coordinate is a name of a node
 	- Fixed position of labels with subscript letters.

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -6,6 +6,34 @@
 \begin{itemize}
 \tightlist
 \item
+  Version 0.8.2 (2017-05-01)
+
+  \begin{itemize}
+  \tightlist
+  \item
+    Fixes pgfkeys error using alternatively specified mixed colors(see
+    pgfplots manual section ``4.7.5 Colors'')
+  \item
+    Added new switches ``ncs'' and ``nos''
+  \item
+    Reworked arrows at spst-switches
+  \item
+    Fixed direction of controlled american voltage source
+  \item
+    ``v\textless{}='' and ``i\textless{}='' do not rotate the sources
+    anymore(see them as ``counting direction indication'', this can be
+    different then the shape orientation); Use the option ``invert'' to
+    change the direction of the source/apperance of the shape.
+  \item
+    current label ``i='' can now be used independent of the regular
+    label ``l='' at current sources
+  \item
+    rewrite of current arrow placement. Current arrows can now also be
+    rotated on zero-length paths
+  \item
+    New DIN/EN compliant operational amplifier symbol ``en amp''
+  \end{itemize}
+\item
   Version 0.8.1 (2017-03-25)
 
   \begin{itemize}

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -92,7 +92,7 @@
 \maketitle
 
 \tableofcontents
-
+\cleardoublepage
 \section{Introduction}
 \subsection{About}
 \Circuitikz\ was initiated by Massimo Redaelli in 2007, who was working as a research assistant at the Polytechnic University of Milan, Italy, and needed a tool for creating exercises and exams.
@@ -126,7 +126,7 @@
 
 \subsection{Requirements}
 \begin{itemize}
- \item \texttt{tikz}, version $\ge 2$;
+ \item \texttt{tikz}, version $\ge 3$;
  \item \texttt{xstring}, not older than 2009/03/13;
  \item \texttt{siunitx}, if using \texttt{siunitx} option.
 \end{itemize}
@@ -147,6 +147,7 @@
 Here, we will provide a list of incompabilitys between different version of circuitikz. We will try to hold this list short, but sometimes it is easier to break with old syntax than including a lot of switches and compatibility layers.
 You can check the used version at your local installation using the macro \verb!\pgfcircversion{}!.
 \begin{itemize}
+\item Since v0.8.2: voltage and current label directions(v<= / i<=) do NOT change the orientation of the drawn source shape anymore. Use the "invert" option to rotate the shape of the source. Furthermore, from this version on, the current label(i=) at current sources can be used independent of the regular label(l=).
 \item Since v0.7?: The label behaviour at mirrored bipoles has changes, this fixes the voltage drawing, but perhaps you have to adjust your label positions.
 \item Since v0.5.1: The parts pfet,pigfete,pigfetebulk and pigfetd are now mirrored by default. Please adjust your yscale-option to correct this.
 \item Since v0.5: New voltage counting direction, here exists an option to use the old behaviour
@@ -488,7 +489,6 @@
 	\circuititembip{dcisource}{DC current source}{}
 \end{itemize}
 
-
 \subsubsection{Mechanical Analogy}
 \begin{itemize}
 	\circuititembip{damper}{Mechanical Damping}{}
@@ -496,18 +496,13 @@
 	\circuititembip{mass}{Mechanical Mass}{}	
 \end{itemize}
 
-
-%\begin{framed}
-%The options \texttt{europeancurrent} [resp. \texttt{europeanvoltage}] (the default) and \texttt{americancurrent} [resp. \texttt{americanvoltage}] define which sinusoidal current [resp. voltage] source is selected by default when the abbreviated styles \texttt{sinusoidal current source}, \texttt{csourcesin}, \texttt{cI} [resp. \texttt{sinusoidal voltage source}, \texttt{vsourcesin}, \texttt{cV}] are used.
-
-%One can also use the related styles \texttt{[european currents]} [resp. \texttt{[european voltages]}] and \texttt{[american currents]} [resp. \texttt{[american voltages]}].
-%\end{framed}
-
 \subsubsection{Switch}
 \begin{itemize}
 	\circuititembip{switch}{Switch}{spst}
 	\circuititembip{closing switch}{Closing switch}{cspst}
 	\circuititembip{opening switch}{Opening switch}{ospst}
+	\circuititembip{normal open switch}{Normally open switch}{nos}
+	\circuititembip{normal closed switch}{Normally closed switch}{ncs}
 	\circuititembip{push button}{Push button}{}
 \end{itemize}	
 
@@ -772,6 +767,7 @@
 
 \begin{itemize}
 	\circuititem{op amp}{Operational amplifier}{}
+	\circuititem{en amp}{Operational amplifier compliant to DIN/EN 60617 standard}{}
 	\circuititem{fd op amp}{Fully differential operational amplifier\footnote{Contributed by Kristofer M. Monisit.}}{}
 	\circuititem{gm amp}{transconductance amplifier}{}
 	\circuititem{plain amp}{Plain amplifier}{}
@@ -986,11 +982,23 @@
 	
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american]
-   \draw (0,0) to[V<=10V, i_=$i_1$] (2,0);
+   \draw (0,0) to[V=10V,invert, i_=$i_1$] (2,0);
 \end{circuitikz}
-\end{LTXexample}		
+\end{LTXexample}
+	
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[american]
+   \draw (0,0) to[dcisource=1A, i_=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
 
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[american]
+   \draw (0,0) to[dcisource=1A,invert, i_=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}			
 
+
 \subsection{Voltages}
 See introduction note at Currents (chapter \ref{currents}, page \pageref{currents})!
 
@@ -1040,8 +1048,19 @@
 	
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}
-   \draw (0,0) to[I<=1A, v_=$i_1$] (2,0);
+   \draw (0,0) to[I<=1A, v_=$u_1$] (2,0);
 \end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+   \draw (0,0) to[I=$~$,l=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+   \draw (0,0) to[I,l=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
 \end{LTXexample}	
 
 \subsubsection{American style} For those who like it (not me). Use option \texttt{americanvoltage} or set \verb![american voltages]!.
@@ -1297,7 +1316,7 @@
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american voltages]
-   \draw (0,0) to[cV=$k\cdot a_1$] (2,0);
+   \draw (0,0) to[cV=$k v_e$] (2,0);
 \end{circuitikz}
 \end{LTXexample}
 
@@ -1310,7 +1329,7 @@
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american voltages]
-   \draw (0,0) to[csV=$k\cdot a_1$] (2,0);
+   \draw (0,0) to[csV=$k v_e$] (2,0);
 \end{circuitikz}
 \end{LTXexample}
 

Modified: trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -1,5 +1,5 @@
-\def\pgfcircversion{0.8.1}
-\def\pgfcircversiondate{2017/03/25}
+\def\pgfcircversion{0.8.2}
+\def\pgfcircversiondate{2017/05/01}
 \writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion}
 
 \usemodule[tikz]

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -192,9 +192,13 @@
 \ctikzset{bipoles/diode/width/.initial=.40}
 \ctikzset{bipoles/varcap/height/.initial=.50}
 \ctikzset{bipoles/varcap/width/.initial=.45}
-\ctikzset{bipoles/interr/height/.initial=.35}
-\ctikzset{bipoles/interr/width/.initial=.35}
-\ctikzset{bipoles/interr/height 2/.initial=.1}
+\ctikzset{bipoles/spst/height/.initial=.35}
+\ctikzset{bipoles/spst/width/.initial=.35}
+\ctikzset{bipoles/spst/depth/.initial=.2}
+\ctikzset{bipoles/nos/height/.initial=.3}
+\ctikzset{bipoles/nos/width/.initial=.35}
+\ctikzset{bipoles/ncs/height/.initial=.35}
+\ctikzset{bipoles/ncs/width/.initial=.35}
 \ctikzset{bipoles/generic/height/.initial=.30}
 \ctikzset{bipoles/generic/width/.initial=.80}
 \ctikzset{bipoles/european gas filled surge arrester/height/.initial=.30}
@@ -669,6 +673,13 @@
 \ctikzset{tripoles/op amp/input height/.initial=.5}
 \ctikzset{tripoles/op amp/up pos/.initial=.45}
 \ctikzset{tripoles/op amp/font/.initial= \fontsize{10}{0}\selectfont\boldmath}%absolut font size needed!
+\ctikzset{tripoles/en amp/width/.initial=1.7}
+\ctikzset{tripoles/en amp/port width/.initial=.7}
+\ctikzset{tripoles/en amp/height/.initial=1.6}
+\ctikzset{tripoles/en amp/input height/.initial=.3}
+\ctikzset{tripoles/en amp/up pos/.initial=.45}
+\ctikzset{tripoles/en amp/font/.initial= \fontsize{10}{0}\selectfont\boldmath}%absolut font size needed!
+\ctikzset{tripoles/en amp/font2/.initial= \fontsize{14}{0}\selectfont\boldmath}%absolut font size needed!
 \ctikzset{tripoles/gm amp/width/.initial=1.7}
 \ctikzset{tripoles/gm amp/port width/.initial=.7}
 \ctikzset{tripoles/gm amp/height/.initial=1.4}
@@ -836,7 +847,7 @@
 
 \ctikzset{thickness/.initial=2}
 \ctikzset{color/.initial=black}
-\pgfkeys{/tikz/color/.add code={}{\ctikzset{color=#1}}}
+\pgfkeys{/tikz/color/.add code={}{\ctikzset{color={#1}}}}
 
 
 \newif\ifpgf at circ@siunitx

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -492,22 +492,15 @@
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/vsourceam/height}}{vsourceAM}{\ctikzvalof{bipoles/vsourceam/height}}{\ctikzvalof{bipoles/vsourceam/width}}{
 
 	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
-
 	\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
-
+	\pgfusepath{draw}
 	\ifpgf at circ@oldvoltagedirection
 		\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at down]{$+$}
 		\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at up]{$-$}
 	\else
-		\ifpgf at circuit@bipole at voltage@backward
-				\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at down]{$+$}
-				\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at up]{$-$}
-		\else
-				\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at down]{$-$}
-				\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at up]{$+$}
-		\fi
+		\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at down]{$-$}
+		\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/vsourceam/margin}\pgf at circ@res at up]{$+$}
 	\fi
-	\pgfusepath{draw}
 }
 
 
@@ -551,24 +544,22 @@
 }
 
 
-% contributed by Alistair Kwan
+% Square Voltage source -  contributed by Alistair Kwan
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/vsourcesquare/height}}{vsourcesquare}{\ctikzvalof{bipoles/vsourcesquare/height}}{\ctikzvalof{bipoles/vsourcesquare/width}}{
-
 	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
 	\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
-	\pgfusepath{draw}		
-		
-		\pgf at circ@res at up = .5\pgf at circ@res at up
-		\pgfscope
-			\pgftransformrotate{90}
-			\pgfpathmoveto{\pgfpoint{-1\pgf at circ@res at up}{0cm}}
-			\pgfpathlineto{\pgfpoint{-1\pgf at circ@res at up}{1\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{0\pgf at circ@res at up}{1\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{0\pgf at circ@res at up}{-1\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{1\pgf at circ@res at up}{-1\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{1\pgf at circ@res at up}{0\pgf at circ@res at up}}
-			\pgfusepath{draw}
-		\endpgfscope
+	\pgfusepath{draw}
+	\pgf at circ@res at up = .5\pgf at circ@res at up
+	\pgfscope
+		\pgftransformrotate{90}
+		\pgfpathmoveto{\pgfpoint{-1\pgf at circ@res at up}{0cm}}
+		\pgfpathlineto{\pgfpoint{-1\pgf at circ@res at up}{1\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{0\pgf at circ@res at up}{1\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{0\pgf at circ@res at up}{-1\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{1\pgf at circ@res at up}{-1\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{1\pgf at circ@res at up}{0\pgf at circ@res at up}}
+		\pgfusepath{draw}
+	\endpgfscope
 }
 
 % Triangle Voltage source - contributed by Ralf Farkas
@@ -607,7 +598,6 @@
 	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at step}{\pgf at circ@res at up}}
 	\pgfusepath{draw}
 
-	%Adapted from battery1
 	\pgfpathmoveto{\pgfpoint{.15\pgf at circ@res at right}{0}}
 	\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0}}
 	\pgfpathmoveto{\pgfpoint{.15\pgf at circ@res at left}{0}}
@@ -653,21 +643,15 @@
 	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0}}\pgfpatharc{180}{270}{0.85\pgf at circ@res at right and \pgf at circ@res at up}
 	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0}}\pgfpatharc{180}{90}{0.85\pgf at circ@res at right and \pgf at circ@res at up}	
 	\pgfusepath{draw}
-		\pgfpathmoveto{\pgfpoint{.7\pgf at circ@res at left}{\pgf at circ@res at zero}}
-		\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\pgfusepath{draw}
-		\pgfscope
-		\ifpgf at circ@oldvoltagedirection
-			\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\else
-			\ifpgf at circuit@bipole at current@backward
-				\pgftransformshift{\pgfpoint{-.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-				\pgftransformrotate{180}
-			\else
-				\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\fi\fi
-				\pgfnode{currarrow}{center}{}{}{\pgfusepath{stroke}}
-		\endpgfscope
+
+	\pgfpathmoveto{\pgfpoint{.7\pgf at circ@res at left}{\pgf at circ@res at zero}}
+	\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at zero}}
+	\pgfusepath{draw}
+	\pgfscope
+
+	\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
+	\pgfnode{currarrow}{center}{}{}{\pgfusepath{stroke}}
+	\endpgfscope
 }
 
 %% DC-Voltage source
@@ -721,22 +705,12 @@
 	\pgfpathlineto{\pgfpoint{.7\pgf at circ@res at right}{\pgf at circ@res at zero}}
 	\pgfusepath{draw}
 	\pgfscope
-		\ifpgf at circ@oldvoltagedirection
-			\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\else
-			\ifpgf at circuit@bipole at current@backward
-				\pgftransformshift{\pgfpoint{-.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-				\pgftransformrotate{180}
-			\else
-				\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\fi\fi
+		\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
 		\pgfnode{currarrow}{center}{}{}{\pgfusepath{stroke}}
 	\endpgfscope
 }
 
 
-
-
 %% Independent sinusoidal current source
 
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/isource/height}}{isourcesin}{\ctikzvalof{bipoles/isource/height}}{\ctikzvalof{bipoles/isource/width}}{
@@ -778,24 +752,26 @@
 
 
 %% Controlled voltage source - American
-
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/cvsourceam/height}}{cvsourceAM}{\ctikzvalof{bipoles/cvsourceam/height}}{\ctikzvalof{bipoles/cvsourceam/width}}{
-
 	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+	\pgfpathlineto{\pgfpoint{\pgf at circ@res at zero}{\pgf at circ@res at up}}
+	\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at zero}}
+	\pgfpathlineto{\pgfpoint{\pgf at circ@res at zero}{\pgf at circ@res at down}}
+	\pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+	\pgfusepath{draw}
 
-			\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
-			\pgfpathlineto{\pgfpoint{\pgf at circ@res at zero}{\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at zero}}
-			\pgfpathlineto{\pgfpoint{\pgf at circ@res at zero}{\pgf at circ@res at down}}
-			\pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
-			\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at left]{$+$}
-			\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at right]{$-$}
-			\pgfusepath{draw}		
+	\ifpgf at circ@oldvoltagedirection
+		\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at left]{$+$}
+		\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at right]{$-$}
+	\else
+		\pgftext[bottom,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at left]{$-$}
+		\pgftext[top,rotate=90,y=\ctikzvalof{bipoles/cvsourceam/margin}\pgf at circ@res at right]{$+$}
+	\fi
 }
 
 
 %% Controlled sinusoidal voltage source
-
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/cvsourcesin/height}}{cvsourcesin}{\ctikzvalof{bipoles/cvsourcesin/height}}{\ctikzvalof{bipoles/cvsourcesin/width}}{
 
 	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
@@ -889,15 +865,7 @@
 	\pgfpathlineto{\pgfpoint{.7\pgf at circ@res at right}{\pgf at circ@res at zero}}
 	\pgfusepath{draw}
 	\pgfscope
-		\ifpgf at circ@oldvoltagedirection
-			\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\else
-			\ifpgf at circuit@bipole at current@backward
-				\pgftransformshift{\pgfpoint{-.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-				\pgftransformrotate{180}
-			\else
-				\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
-		\fi\fi
+		\pgftransformshift{\pgfpoint{.5\pgf at circ@res at right}{\pgf at circ@res at zero}}
 		\pgfnode{currarrow}{center}{}{}{\pgfusepath{stroke}}
 	\endpgfscope
 }
@@ -1268,81 +1236,76 @@
 	\pgfusepath{draw}
 }
 
-%% SPST
+%% (Closing) SPST
+\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/spst/depth}}{cspst}{\ctikzvalof{bipoles/spst/height}}{\ctikzvalof{bipoles/spst/width}}{
+	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+	\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
+	\pgfusepath{draw}
+	
+	\pgfsetarrowsstart{latex'}
+	\pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at right}{\pgf at circ@res at down}}
+	\pgfpathlineto{\pgfpoint{.2\pgf at circ@res at right}{0\pgf at circ@res at down}}
+	\pgfpatharcto{1.2\pgf at circ@res at right}{1.2\pgf at circ@res at right}{0}{0}{1}{\pgfpoint{.9\pgf at circ@res at left}{.9\pgf at circ@res at up}}
+	\pgfsetbeveljoin
+	\pgfusepath{draw}
+}
 
-\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/interr/height 2}}{spst}{\ctikzvalof{bipoles/interr/height}}{\ctikzvalof{bipoles/interr/width}}{
+%% Opening SPST
+\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/spst/depth}}{ospst}{\ctikzvalof{bipoles/spst/height}}{\ctikzvalof{bipoles/spst/width}}{
 
-			\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
-		
-			\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
-			\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
-			\pgfpathmoveto{\pgfpoint{.9\pgf at circ@res at left}{.9\pgf at circ@res at up}}
-            \pgfpatharc{65}{25}{\pgfkeysvalueof{/tikz/circuitikz/bipoles/interr/width}\pgf at circ@Rlen}
-			%\pgfsetarrowsend{latex'}
-			\pgfusepath{draw}
-			
-			\pgfpathmoveto{\pgfpoint{.1\pgf at circ@res at right}{-.25\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{.14\pgf at circ@res at right}{-.35\pgf at circ@res at up}}
-            \pgfsetarrowsend{latex'}
-			\pgfusepath{draw}	
-
+	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+	\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
+	\pgfusepath{draw}
+	
+	\pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at right}{0.5\pgf at circ@res at down}}
+	\pgfpatharcto{1.1\pgf at circ@res at right}{1.1\pgf at circ@res at right}{0}{0}{1}{\pgfpoint{.7\pgf at circ@res at left}{.9\pgf at circ@res at up}}
+	\pgfpathlineto{\pgfpoint{1.2\pgf at circ@res at left}{1\pgf at circ@res at up}}
+	\pgfsetarrowsend{latex'}
+	\pgfsetbeveljoin
+	\pgfusepath{draw}
 }
 
-%% Closing SPST
+%% Normal open Switch
+\pgfcircdeclarebipole{}{0}{nos}{\ctikzvalof{bipoles/nos/height}}{\ctikzvalof{bipoles/nos/width}}{
 
-\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/interr/height 2}}{cspst}{\ctikzvalof{bipoles/interr/height}}{\ctikzvalof{bipoles/interr/width}}{
-
-			\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
-		
-			\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
-			\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
-			\pgfpathmoveto{\pgfpoint{.9\pgf at circ@res at left}{.9\pgf at circ@res at up}}
-            \pgfpatharc{65}{25}{\pgfkeysvalueof{/tikz/circuitikz/bipoles/interr/width}\pgf at circ@Rlen}
-			%\pgfsetarrowsend{latex'}
-			\pgfusepath{draw}
-
+	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+	\pgfpathlineto{\pgfpoint{.9\pgf at circ@res at right}{\pgf at circ@res at up}}
+		\pgfsetbuttcap
+	\pgfusepath{draw}
 }
 
-%% Opening SPST
-
-\pgfcircdeclarebipole{}{\ctikzvalof{bipoles/interr/height 2}}{ospst}{\ctikzvalof{bipoles/interr/height}}{\ctikzvalof{bipoles/interr/width}}{
-
-			\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
-		
-			\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
-			\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
-			\pgfpathmoveto{\pgfpoint{.3\pgf at circ@res at right}{.1\pgf at circ@res at down}}
-            \pgfpatharc{15}{50}{\pgfkeysvalueof{/tikz/circuitikz/bipoles/interr/width}\pgf at circ@Rlen}
-            %\pgfpathlineto{\pgfpoint{.6\pgf at circ@res at right}{\pgf at circ@res at up}}
-			\pgfusepath{draw}
-			
-			\pgfpathmoveto{\pgfpoint{.85\pgf at circ@res at left}{1.25\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{.87\pgf at circ@res at left}{1.26\pgf at circ@res at up}}
-            \pgfsetarrowsend{latex'}
-			\pgfusepath{draw}
-            
-
+%% Normal closed Switch
+\pgfcircdeclarebipole{}{0}{ncs}{\ctikzvalof{bipoles/ncs/height}}{\ctikzvalof{bipoles/ncs/width}}{
+	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+	\pgfpathlineto{\pgfpoint{.9\pgf at circ@res at right}{\pgf at circ@res at up}}
+	\pgfusepath{draw}
+	\pgfsetlinewidth{\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{0pt}}
+	\pgfpathlineto{\pgfpoint{.2\pgf at circ@res at right}{0pt}}
+	\pgfpathlineto{\pgfpoint{.2\pgf at circ@res at right}{\pgf at circ@res at up}}
+	\pgfusepath{draw}
 }
 
-
 %% Push Button
-
 \pgfcircdeclarebipole{}{\ctikzvalof{bipoles/pushbutton/height 2}}{pushbutton}{\ctikzvalof{bipoles/pushbutton/height}}{\ctikzvalof{bipoles/pushbutton/width}}{
-
-			%\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
-			\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{.5\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{.5\pgf at circ@res at up}}
-			\pgfpathmoveto{\pgfpoint{0}{.5\pgf at circ@res at up}}
-			\pgfpathlineto{\pgfpoint{0}{\pgf at circ@res at up}}
-			\pgfusepath{draw}
-			
-			\pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
-			\pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
-			\pgftransformshift{\pgfpoint{2\pgf at circ@res at right}{0pt}}
-			\pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
+	\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{.5\pgf at circ@res at up}}
+	\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{.5\pgf at circ@res at up}}
+	\pgfpathmoveto{\pgfpoint{0}{.5\pgf at circ@res at up}}
+	\pgfpathlineto{\pgfpoint{0}{\pgf at circ@res at up}}
+	\pgfusepath{draw}
+	
+	\pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+	\pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
+	\pgftransformshift{\pgfpoint{2\pgf at circ@res at right}{0pt}}
+	\pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}}
 }
 
-%METERINGSHAPE
+% % METERINGSHAPE
 \long\def\drawmeteringcircle{
 	\def\pgf at circ@temp{right}
 	\ifx\tikz at res@label at pos\pgf at circ@temp

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -11,8 +11,6 @@
 %% Current handling
 
 %% Options
-
-
 \ctikzset{i^>/.style = {
 		i = #1,
 		\circuitikzbasekey/bipole/current/direction = forward,
@@ -78,12 +76,7 @@
 }
 
 \ctikzset{i/.code = {
-%			\ifpgf at circuit@bipole at iscurrent
-%				\pgfkeys{\circuitikzbasekey/bipole/current/position=above}
-%			\else
-%				\pgfkeys{\circuitikzbasekey/bipole/current/position=below}
-%			\fi
-			\pgfkeys{\circuitikzbasekey/bipole/current/direction = forward,
+	\pgfkeys{\circuitikzbasekey/bipole/current/direction = forward,
 					\circuitikzbasekey/bipole/current/x position = after,
 					\circuitikzbasekey/bipole/current/y position = above }
 	\pgfkeys{/tikz/circuitikz/bipole/current/label/name=#1}
@@ -124,38 +117,7 @@
 \ctikzset{i>/.style = {i = #1, \circuitikzbasekey/bipole/current/direction = forward } }
 \ctikzset{i^/.style = { i= #1, \circuitikzbasekey/bipole/current/y position = above } }
 
-
-\def\pgf at circ@drawnormalcurrent{
-			\ifpgf at circuit@bipole at current@before
-				\ifpgf at circuit@bipole at current@backward
-					{  (anchorstartnode) -- 
-							node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {} 
-						(\tikztostart)  
-					}
-				\else
-					{  (\tikztostart) -- 
-							node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {} 
-						(anchorstartnode)  
-					}
-				\fi
-			\else
-				\ifpgf at circuit@bipole at current@backward
-					{ 	(\tikztotarget) -- 
-							node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {} 
-						(anchorendnode)  
-					}
-				\else
-					{ 	(anchorendnode) -- 
-							node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {}
-						(\tikztotarget)  
-					}
-				\fi
-			\fi
-}
-
 %% Output routine 
-%% #1 - node name
-
 \def\pgf at circ@drawcurrent{
 	\pgfextra{
 		\edef\pgf at circ@ffffff{\pgf at circ@direction}
@@ -213,44 +175,25 @@
 			\def\pgf at circ@bipole at current@label at where{+90}
 		\fi
 	}
-
 	
-		\pgfextra{	\def\pgf at temp{short} \edef\pgf at circ@temp{\ctikzvalof{bipole/kind}} }
-		
-		\ifx\pgf at circ@temp\pgf at temp % caso di corrente (centrata) su un corto
-			\ifpgf at circuit@bipole at current@backward
-				{ (\tikztotarget) -- 
-					node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {} 
-				  (\tikztostart)  }
+	\pgfextra{\def\pgf at temp{short}\edef\pgf at circ@temp{\ctikzvalof{bipole/kind}}}
+		\ifx\pgf at circ@temp\pgf at temp%draw current at a short at middle of the line
+				(\tikztostart)--(\tikztotarget)
+		\else% normal bipole or source
+			\ifpgf at circuit@bipole at current@before
+				 (\tikztostart)--(anchorstartnode)
 			\else
-				{ (\tikztostart) -- 
-					node [currarrow, pos=\ctikzvalof{current/distance}, sloped,  allow upside down] (Iarrow) {} 
-				  (\tikztotarget)  }
+				(anchorendnode)--(\tikztotarget)
 			\fi
-			
-		\else % altri bipoli - e quindi tra nodo e target
-
-			\ifpgf at circuit@bipole at iscurrent
-				\ifpgf at circuit@europeancurrent
-					\pgf at circ@drawnormalcurrent
-				\else 
-				\fi
-			\else
-				\pgf at circ@drawnormalcurrent
-			\fi
 		\fi
-
-	\ifpgf at circuit@bipole at iscurrent
-		 node [anchor=\pgf at circ@dir] at (\ctikzvalof{bipole/name}.\pgf at circ@bipole at current@label at where) 
-		 	{ \pgf at circ@finallabels{current/label} }
-	\else
-		(Iarrow.\pgf at circ@bipole at current@label at where) node [anchor=\pgf at circ@dir] 	
-			{ \pgf at circ@finallabels{current/label} } 
-	\fi
-
+		\ifpgf at circuit@bipole at current@backward
+			\pgfextra{
+				\pgfmathsubtract{\pgf at circ@ffffff}{180}
+				\edef\pgf at circ@ffffff{\expandafter\pgf at circ@stripdecimals\pgfmathresult\pgf at nil}
+				}
+		\fi
+	coordinate[currarrow,pos=\ctikzvalof{current/distance},rotate=\pgf at circ@ffffff](Iarrow)
+	(Iarrow.\pgf at circ@bipole at current@label at where) node[anchor=\pgf at circ@dir]{\pgf at circ@finallabels{current/label}}
 }
 
-\endinput
-
-
-
+\endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -61,8 +61,9 @@
 	}
 	
 		(\tikztostart) coordinate (\ctikzvalof{bipole/name}start)%necessary to get correct coordinates in the case of relativ start/end or constructions like ((node1)-|(node2))
-		(\tikztotarget)++(0,0) coordinate (\ctikzvalof{bipole/name}end) %++(0,0) needed, if tikztotarget is a node, maybe a bug at tikz/pgf?
+		(\tikztotarget) coordinate (\ctikzvalof{bipole/name}end)
 		\pgfextra{
+			\let\tikz at moveto@waiting=\relax%necessary, if \tikztatarget is a node
 			\pgfmathanglebetweenpoints{\pgfpointanchor{\ctikzvalof{bipole/name}start}{center}}
 							{\pgfpointanchor{\ctikzvalof{bipole/name}end}{center}}
 			\edef\pgf at circ@direction{\pgfmathresult}%Calculate direction(angle) of path
@@ -206,8 +207,9 @@
 \def\pgf at circ@cisourcesin at path#1{\pgf at circ@bipole at path{cisourcesin}{#1}}
 \def\pgf at circ@short at path#1{\pgf at circ@bipole at path{short}{#1}}
 \def\pgf at circ@cspst at path#1{\pgf at circ@bipole at path{cspst}{#1}}
-\def\pgf at circ@spst at path#1{\pgf at circ@bipole at path{spst}{#1}}
 \def\pgf at circ@ospst at path#1{\pgf at circ@bipole at path{ospst}{#1}}
+\def\pgf at circ@nos at path#1{\pgf at circ@bipole at path{nos}{#1}}
+\def\pgf at circ@ncs at path#1{\pgf at circ@bipole at path{ncs}{#1}}
 \def\pgf at circ@pushbutton at path#1{\pgf at circ@bipole at path{pushbutton}{#1}}
 \def\pgf at circ@open at path#1{\pgf at circ@bipole at path{open}{#1}}
 \def\pgf at circ@generic at path#1{\pgf at circ@bipole at path{generic}{#1}}
@@ -330,9 +332,9 @@
 \compattikzset{controlled sinusoidal current source/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@cisourcesin at path, \circuitikzbasekey/bipole/is current=true, i=#1}}
 
 \compattikzset{voltage source/.style = {\comnpatname \ifpgf at circuit@europeanvoltage european \else american \fi voltage source, \circuitikzbasekey/bipole/is voltage=true, v=#1}}
-\compattikzset{current source/.style = {\comnpatname \ifpgf at circuit@europeancurrent european \else american \fi current source, \circuitikzbasekey/bipole/is current=true, i=#1}}
+\compattikzset{current source/.style = {\comnpatname \ifpgf at circuit@europeancurrent european \else american \fi current source = #1, \circuitikzbasekey/bipole/is current=true}}
 \compattikzset{controlled voltage source/.style = {\comnpatname \ifpgf at circuit@europeanvoltage european \else american \fi controlled voltage source, \circuitikzbasekey/bipole/is voltage=true, v=#1}}
-\compattikzset{controlled current source/.style = {\comnpatname \ifpgf at circuit@europeancurrent european \else american \fi controlled current source, \circuitikzbasekey/bipole/is current=true, i=#1}}
+\compattikzset{controlled current source/.style = {\comnpatname \ifpgf at circuit@europeancurrent european \else american \fi controlled current source = #1, \circuitikzbasekey/bipole/is current=true}}
 
 
 \compattikzset{generic/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@generic at path, l=#1}}
@@ -490,7 +492,11 @@
 \compattikzset{memristor/.style =  {\circuitikzbasekey, /tikz/to path=\pgf at circ@memristor at path}}
 \compattikzset{closing switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@cspst at path, l=#1}}
 \compattikzset{opening switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@ospst at path, l=#1}}
-\compattikzset{switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@spst at path, l=#1}}
+\compattikzset{ncs/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@ncs at path, l=#1}}
+\compattikzset{nos/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@nos at path, l=#1}}
+\compattikzset{normal closed switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@ncs at path, l=#1}}
+\compattikzset{normal open switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@nos at path, l=#1}}
+\compattikzset{switch/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@cspst at path, l=#1}}
 \compattikzset{push button/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@pushbutton at path, l=#1}}
 \compattikzset{toggle switch/.style =  {\circuitikzbasekey, /tikz/to path=\pgf at circ@toggleswitch at path}}
 
@@ -502,10 +508,10 @@
 \compattikzset{esource/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@esource at path, \circuitikzbasekey/bipole/is voltage=true,\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true,  v=#1}}
 \compattikzset{pvsource/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@pvsource at path, \circuitikzbasekey/bipole/is voltage=true,\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true,  v=#1}}
 \compattikzset{dcvsource/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@dcvsource at path, \circuitikzbasekey/bipole/is voltage=true,\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true, v=#1}}
-\compattikzset{dcisource/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@dcisource at path, \circuitikzbasekey/bipole/is current=true, i=#1}}
+\compattikzset{dcisource/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@dcisource at path, \circuitikzbasekey/bipole/is current=true, l=#1}}
 
-\compattikzset{ioosource/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is current=true,/tikz/to path=\pgf at circ@oosource at path}}
-\compattikzset{voosource/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is voltage=true,/tikz/to path=\pgf at circ@oosource at path}}
+\compattikzset{ioosource/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is current=true,/tikz/to path=\pgf at circ@oosource at path, i=#1}}
+\compattikzset{voosource/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is voltage=true,/tikz/to path=\pgf at circ@oosource at path, v=#1}}
 
 \compattikzset{vsource/.style = {\comnpatname voltage source = #1}}
 \compattikzset{isource/.style = {\comnpatname current source = #1}}
@@ -551,7 +557,9 @@
 	\compattikzset{csV#1/.style = {\comnpatname controlled sinusoidal voltage source, v#1=##1} } 
 }
 \pgf at temp{_>} \pgf at temp{_<} \pgf at temp{^>} \pgf at temp{^<} 
-\pgf at temp{>} \pgf at temp{<} \pgf at temp{^} \pgf at temp{_} 
+\pgf at temp{>} \pgf at temp{<} \pgf at temp{^} \pgf at temp{_}
+
+%current sources
 \compattikzset{I/.style = {\comnpatname current source = #1}}
 \compattikzset{cI/.style = {\comnpatname controlled current source = #1}}
 \compattikzset{sI/.style = {\comnpatname sinusoidal current source = #1}}

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -2270,9 +2270,11 @@
 	  \anchor{south}{
 		\northwest
 		\pgf at y=-\pgf at y
+		\pgf at x=0pt
 	  }
 	  \anchor{north}{
 		\northwest
+		\pgf at x=0pt
 	  }
 	  \savedanchor\left{%
 	  	\pgf at y=0pt
@@ -2386,6 +2388,116 @@
 	  }
 	}
 
+%op amp shape as in european standard en 60617
+\pgfdeclareshape{en amp}
+{
+	\anchor{center}{\pgfpointorigin}
+	\savedanchor\northwest{%
+		\pgf at y= \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}
+		\pgf at y=\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/height}\pgf at y
+		\pgf at y=.5\pgf at y
+		\pgf at x= \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}
+		\pgf at x=-\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/width}\pgf at x
+		\pgf at x=.5\pgf at x
+	}
+	\anchor{south}{
+		\northwest
+		\pgf at y=-\pgf at y
+		\pgf at x=0pt
+	}
+	\anchor{north}{
+		\northwest
+		\pgf at x=0pt
+	}
+	\savedanchor\left{%
+	  	\pgf at y=0pt
+	}
+	\anchor{leftedge}
+	{
+		\left
+	 	\pgf at x = \pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/port width}\pgf at x
+	}
+	\savedanchor\inOne{%
+		\pgf at y= \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}
+		\pgf at y=\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/height}\pgf at y
+		\pgf at y=.5\pgf at y
+		\pgf at y=\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at y
+		\pgf at x= \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}
+		\pgf at x=-\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/width}\pgf at x
+		\pgf at x=.5\pgf at x
+	}	  
+	\anchor{-}{
+		\inOne
+	}
+	\anchor{+}{
+		\inOne
+		\pgf at y=-\pgf at y
+	}
+	\anchor{up}{
+		\northwest
+		\pgf at x=0pt
+	}
+	\anchor{down}{
+		\northwest
+		\pgf at x=0pt
+		\pgf at y=-\pgf at y
+	}
+	\anchor{out}{
+		\northwest
+		\pgf at y=0pt
+		\pgf at x=-\pgf at x
+	}
+	\anchor{west}{
+		\left
+	}
+	\anchor{east}{
+	  	\left
+		\pgf at x=-\pgf at x
+	}
+	\backgroundpath{			
+			\pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}	
+			\northwest
+			\pgf at circ@res at up = \pgf at y 
+			\pgf at circ@res at down = -\pgf at y
+			\pgf at circ@res at right = -\pgf at x
+			\pgf at circ@res at left = \pgf at x
+			
+	\pgfpathmoveto{\pgfpoint
+		{\pgf at circ@res at left}
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at up}}
+	\pgfpathlineto{\pgfpoint
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/port width}\pgf at circ@res at left}
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at up}}
+	\pgftext[left, at=\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/port width}\pgf at circ@res at left}{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at up}]{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/font} $-$}
+	
+	\pgfpathmoveto{\pgfpoint
+		{\pgf at circ@res at left}
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at down}}
+	\pgfpathlineto{\pgfpoint
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/port width}\pgf at circ@res at left}
+		{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at down}}
+	\pgftext[left, at=\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/port width}\pgf at circ@res at left}{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/input height}\pgf at circ@res at down}]{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/font} $+$}
+		
+	\pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{0pt}}
+	\pgfpathlineto{\pgfpoint{.7\pgf at circ@res at right}{0pt}}
+	\pgfsetrectcap
+	\pgfusepath{draw}
+				
+	\pgfscope
+		\pgfsetlinewidth{2\pgflinewidth}
+		\pgfpathmoveto{\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/american nand port/port width}\pgf at circ@res at left}{\pgf at circ@res at down}}
+		\pgfpathlineto{\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/american nand port/port width}\pgf at circ@res at left}{\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/american nand port/port width}\pgf at circ@res at right}{\pgf at circ@res at up}}
+		\pgfpathlineto{\pgfpoint{\pgfkeysvalueof{/tikz/circuitikz/tripoles/american nand port/port width}\pgf at circ@res at right}{\pgf at circ@res at down}}
+		\pgfpathclose
+		\pgfusepath{draw}
+	\endpgfscope
+
+	\pgftext[base,y=-3ex,at=\pgfpoint{.3\pgf at circ@res at left}{\pgf at circ@res at up}]{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/font2} $\triangleright$}
+	\pgftext[base,y=-3ex,at=\pgfpoint{.3\pgf at circ@res at right}{\pgf at circ@res at up}]{\pgfkeysvalueof{/tikz/circuitikz/tripoles/en amp/font2} $\infty$}
+	  }
+}
+
 %%Transkonduktanzverstärker
 \pgfdeclareshape{gm amp}
 	{

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex	2017-05-02 21:41:32 UTC (rev 44155)
@@ -89,10 +89,7 @@
 %% Output routine for generic bipoles
 
 \def\pgf at circ@drawvoltagegeneric{
-	\pgfextra{
-	
-	
-	\edef\pgf at temp{/tikz/circuitikz/bipoles/\pgfkeysvalueof{/tikz/circuitikz/bipole/kind}/voltage/straight label distance}
+	\pgfextra{\edef\pgf at temp{/tikz/circuitikz/bipoles/\pgfkeysvalueof{/tikz/circuitikz/bipole/kind}/voltage/straight label distance}
 			\pgfkeysifdefined{\pgf at temp}
 				{ \edef\partwidth{\ctikzvalof{bipoles/\pgfkeysvalueof{/tikz/circuitikz/bipole/kind}/voltage/straight label distance}} 
 					\def\tmpdistfromline{\partwidth\pgf at circ@Rlen}}

Modified: trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2017-05-02 21:41:13 UTC (rev 44154)
+++ trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2017-05-02 21:41:32 UTC (rev 44155)
@@ -10,13 +10,13 @@
 
 \NeedsTeXFormat{LaTeX2e}
 
-\def\pgfcircversion{0.8.1}
-\def\pgfcircversiondate{2017/03/25}
+\def\pgfcircversion{0.8.2}
+\def\pgfcircversiondate{2017/05/01}
 
 \ProvidesPackage{circuitikz}%
         [\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion]
 
-%% Version 2.0 of pgf/TikZ is required
+%% Version 3.0 of pgf/TikZ is required
 \RequirePackage{tikz}
 \usetikzlibrary{calc}
 \usepgflibrary{arrows}



More information about the tex-live-commits mailing list