texlive[55203] Master/texmf-dist: circuitikz (18may20)

commits+karl at tug.org commits+karl at tug.org
Mon May 18 22:40:09 CEST 2020


Revision: 55203
          http://tug.org/svn/texlive?view=revision&revision=55203
Author:   karl
Date:     2020-05-18 22:40:09 +0200 (Mon, 18 May 2020)
Log Message:
-----------
circuitikz (18may20)

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/pgfcircmultipoles.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
    trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.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	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md	2020-05-18 20:40:09 UTC (rev 55203)
@@ -1,6 +1,13 @@
 <!--- 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 1.1.2 (2020-05-17)
+
+    - Blocks and component for three-phase networks (3-lines wire, AC/DC and DC/AC converters blocks and grid node block) added by user `@olfline` on GitHub
+    - added transformer sources with optional vector groups for three-phase networks by `@olfline` on Github
+    - added subsections to the examples
+    - fixed position of american voltages on open circuits (suggested by user `@rhandley` on GitHub)
+
 * Version 1.1.1 (2020-04-24)
 
     One-line bugfix release for the IEEE ports "not" circle thickness

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -5,6 +5,24 @@
 
 \begin{itemize}
 \item
+  Version 1.1.2 (2020-05-17)
+
+  \begin{itemize}
+  \tightlist
+  \item
+    Blocks and component for three-phase networks (3-lines wire, AC/DC
+    and DC/AC converters blocks and grid node block) added by user
+    \texttt{@olfline} on GitHub
+  \item
+    added transformer sources with optional vector groups for
+    three-phase networks by \texttt{@olfline} on Github
+  \item
+    added subsections to the examples
+  \item
+    fixed position of american voltages on open circuits (suggested by
+    user \texttt{@rhandley} on GitHub)
+  \end{itemize}
+\item
   Version 1.1.1 (2020-04-24)
 
   One-line bugfix release for the IEEE ports ``not'' circle thickness

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	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -280,6 +280,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 After v1.1.2: the position of \texttt{american} voltages for the \texttt{open} bipoles (you can revert to old behavior, see section~\ref{sec:sub-voltage-position}).
     \item After v0.9.7: the position of the text of transistor nodes has changed; see section~\ref{sec:transistors-labels}.
     \item After v0.9.4: added the concept of styling of circuits. It should be backward compatible, but it's a big change, so be ready to use the \texttt{0.9.3} snapshot (see below for details).
     \item After v0.9.0: the parameters \texttt{tripoles/american or port/aaa}, \texttt{...bbb}, \texttt{...ccc} and \texttt{...ddd} are no longer used and are silently ignored; the same stands for \texttt{nor}, \texttt{xor}, and \texttt{xnor} ports.
@@ -287,7 +288,7 @@
     \item Since v0.8.2: voltage and current label directions (\texttt{v<=} / \texttt{i<=}) do NOT change the orientation of the drawn source shape anymore. Use the \texttt{invert} option to rotate the shape of the source. Furthermore, from this version on, the current label (\texttt{i=}) at current sources can be used independent of the regular label (\texttt{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
+    \item Since v0.5: New voltage counting direction, there exists an option to use the old behaviour.
 \end{itemize}
 
 If you have older projects that show compatibility problems, you have two options:
@@ -1726,8 +1727,20 @@
     \circuitdescbip*{pvsource}{Photovoltaic-voltage source}{}
     \circuitdescbip*[oosource]{ioosource}{Double Zero style current source}{}
     \circuitdescbip*[oosource]{voosource}{Double Zero style voltage source}{}
+    \circuitdescbip*[oosourcetrans]{oosourcetrans}{transformer source}{}
+    \circuitdescbip*[ooosource]{ooosource}{transformer with three windings}{}(left/175/0.2, right/5/0.5, prim1/130/.2, prim2/-130/.2, sec1/45/.2, sec2/60/.2, sec3/90/.2, tert1/0/.2, tert2/-45/.2, tert3/-90/.2)
 \end{groupdesc}
 
+The transformershapes vector group options can be specified for the primary (prim$=<value>$), the secondary (sec$=<value>$) and tertiary (tert$=<value>$) three-phase vector groups: \textbf{delta}, \textbf{wye} and \textbf{zig}.
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+    \draw (0,0) to[oosourcetrans,prim=zig,sec=delta,o-] ++(2,0)
+    to[oosourcetrans, prim=delta, sec=wye,-o] ++(0,-2)
+    to[ooosource, prim=wye,sec=zig,tert=delta] (0,0);
+\end{circuitikz}
+\end{LTXexample}
+
 \subsubsection{DC sources}
 \begin{groupdesc}
     \circuitdescbip*{dcvsource}{DC voltage source}{}
@@ -2049,6 +2062,8 @@
 \begin{groupdesc}
 \circuitdescbip{multiwire}{Single line multiple wires}{multiwire}
 \circuitdescbip{bmultiwire}{Double line multiple wires}{bmultiwire}
+\circuitdescbip{tmultiwire}{Triple line multiple wires\footnotemark}{tmultiwire}
+\footnotetext{added by \texttt{olfline}}
 \end{groupdesc}
 
 \begin{LTXexample}[varwidth=true]
@@ -2055,6 +2070,7 @@
 \begin{circuitikz}
     \draw (0,0) to[multiwire=4] ++(1,0);
     \draw (0,-2) to[bmultiwire=6] ++(1,0);
+    \draw (0,-4) to[tmultiwire=3] ++(1,0);
 \end{circuitikz}
 \end{LTXexample}
 
@@ -2209,6 +2225,8 @@
     \circuitdesc*{oscillator}{oscillator}{}
     \circuitdesc*{circulator}{circulator}{}
     \circuitdesc*{wilkinson}{wilkinson divider}{}( in/180/0.1, out2/45/0.1, out1/-45/0.1 )
+    \circuitdesc*{gridnode}{gridnode\footnotemark}{}(left/135/0.2, right/45/0.2, center/-100/0.4, up/90/0.2, down/-45/.2)
+    \footnotetext{added by \texttt{olfline}}
 \end{groupdesc}
 
 \begin{groupdesc}
@@ -2232,6 +2250,11 @@
     \circuitdescbip*{phaseshifter}{phase shifter}{}
     \circuitdescbip*{vphaseshifter}{var.\ phase shifter}{}
     \circuitdescbip*{detector}{detector}{}
+    \circuitdescbip*{sacdc}{sacdc}{}
+    \circuitdescbip*{sdcac}{sdcac}{}
+    \circuitdescbip*{tacdc}{tacdc}{}
+    \circuitdescbip*{tdcac}{tdcac\footnotemark}{}(left/170/0.5, right/5/0.5, center/-90/0.3, ac1/45/0.1, ac2/-5/.3, ac3/-45/.1, dc1/135/.3, dc2/185/.3)
+    \footnotetext{the 4 converter blocks added by \texttt{olfline}}
 \end{groupdesc}
 
 \begin{groupdesc}
@@ -3437,7 +3460,7 @@
 \end{LTXexample}
 
 The amplifier label (given as the text  of the node) is normally more or less centered in the shape (in the case of the triangular shape, it is shifted a bit to the left to \emph{seem} visually centered); since version \texttt{1.1.0} you can move it at the left side plus a fixed offset setting the key \texttt{component text} or the style with the same name to \texttt{left}; by default the key is \texttt{center}.
-You can change the offset with the key \texttt{left text distance} (default \texttt{0.3em}; you must use a length here).
+You can change the offset with the key \texttt{left text distance} (default \texttt{0.3em}; you must use a length here). These parameters are shared with IEEE-style logic ports.
 
 \begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
 \begin{circuitikz}[]
@@ -4218,7 +4241,7 @@
 \end{circuitikz}
 \end{LTXexample}
 
-Notice the key \texttt{component text=left} that moves the label near to the left border of the component. There is also a \verb|\ctikzset{component text=left}| if you prefer to have it as a default for all the IEEE ports.\footnote{There is a plan to extend this to other components, too.}
+Notice the key \texttt{component text=left} that moves the label near to the left border of the component. There is also a \verb|\ctikzset{component text=left}| if you prefer to have it as a default for all the IEEE ports.\footnote{You can use the same key with amplifiers, too.}
 
 
 \paragraph{Stacking and aligning IEEE standard gates.} The standard gates are designed so that they stacks up nicely when positioned using the external leads as anchors. Notice that the ports \textbf{do} have different sizes, but the leads lengths are designed to counter the differences.
@@ -4352,7 +4375,8 @@
     }
 \end{circuitikz}
 
-The inputs anchor are \texttt{in \emph{number}} (on the tip of the lead) and   \texttt{bin \emph{number}} (\textbf{b}order  \textbf{in}puts) on the component's border (useful if you draw the ports with \texttt{no inut leads}. Additionally, you have \texttt{ibin \emph{number}} (\textbf{i}nner \textbf{b}order \textbf{in}puts) for the \emph{x}-type ports. The anchor named \texttt{left} is where a central border input would be.
+The inputs anchor are \texttt{in \emph{number}} (on the tip of the lead) and   \texttt{bin \emph{number}} (\textbf{b}order  \textbf{in}puts) on the component's border (useful if you draw the ports with \texttt{no inut leads}).
+Additionally, you have \texttt{ibin \emph{number}} (\textbf{i}nner \textbf{b}order \textbf{in}puts) for the \emph{x}-type ports. The anchor named \texttt{left} is where a central border input would be.
 
 In one-input ports (\texttt{not port}, the buffer, and Schmitt-type ports) you can use plain \texttt{in} or \texttt{in 1} indifferently.
 
@@ -5373,9 +5397,9 @@
 \end{LTXexample}
 
 \subsection{Voltages}
-See introduction note at Currents (chapter \ref{curr-and-volt}, page \pageref{curr-and-volt})!
+See introduction note at Currents and Voltages (chapter \ref{curr-and-volt}, page \pageref{curr-and-volt}) for the direction of the voltage and currents.
 
-\subsubsection{European style} The default, with arrows. Use option \texttt{europeanvoltage} or style \verb![european voltages]!.
+\subsubsection{European style} The default, with arrows. Use option \texttt{europeanvoltage} or style \verb![european voltages]!, or setting (even locally) \texttt{voltage=european}.
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[european voltages]
@@ -5443,11 +5467,77 @@
 \end{circuitikz}
 \end{LTXexample}
 
+\subsubsection{Straight European style} Using straight arrows. Use option \texttt{straightvoltages} or style \verb![straight voltages]!, or setting (even locally) \texttt{voltage=straight}. Notice that this is an only lightly tested option, so use with care.
 
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[R, v^>=$v_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
 
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[R, v^<=$v_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
 
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[R, v_>=$v_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[R, v_<=$v_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[V=10V, i_=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[V<=10V, i_=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[I=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[I<=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[I=$~$,l=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[I,l=1A, v_=$u_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[straight voltages]
+   \draw (0,0) to[battery,l_=1V, v=$u_1$, i=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
+
 \subsubsection{American style}
-Use option \texttt{americanvoltage} or set \verb![american voltages]!.
+Use option \texttt{americanvoltage} or set \verb![american voltages]! or use the option \texttt{voltage=american}.
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american voltages]
@@ -5485,7 +5575,7 @@
 \end{circuitikz}
 \end{LTXexample}
 
-\subsubsection{Voltage position} It is possible to move away the arrows and the plus or minus signs with the key \texttt{voltages shift} (default value is \texttt{0}, which gives the standard position):
+\subsubsection{Voltage position}\label{sec:sub-voltage-position} It is possible to move away the arrows and the plus or minus signs with the key \texttt{voltages shift} (default value is \texttt{0}, which gives the standard position):
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[]
@@ -5503,6 +5593,15 @@
 \end{circuitikz}
 \end{LTXexample}
 
+You can fine-tune the position of the \texttt{+} and \texttt{-} symbols and the label in independent way using \texttt{voltage/shift} (default \texttt{0.0} for the former and \texttt{voltage/american label distance} (the distance of the label form the lines of the symbols, default \texttt{1.1}) for the latter.
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[american voltages]
+    \ctikzset{voltage/american label distance=0.2, voltage/shift=2}
+    \draw (0,0) to[R, v=$v_1$, i=$i_1$] (2,0);
+\end{circuitikz}
+\end{LTXexample}
+
 Notes that \texttt{american voltage} also affects batteries.
 
 \begin{LTXexample}[varwidth=true]
@@ -5517,9 +5616,23 @@
 \end{circuitikz}
 \end{LTXexample}
 
+When using \texttt{american} or \texttt{straight} voltage style, the \texttt{open} component is treated differently, and the voltage is placed in the middle of the open space\footnote{Since \texttt{v1.1.2}, thank to an \href{https://github.com/circuitikz/circuitikz/issues/374}{issue opened by user \texttt{rhandley} on GitHub}.}:
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[american voltages]
+    \draw (0,1.5) -- ++(0.5,0)
+        to[open, v=$v_o$, o-o] ++(2,0) -- ++(0.5,0);
+    \draw (0,0) -- ++(0.5,0)
+        to[open, v=$v_o$, voltage=straight, *-*] ++(2,0)
+        -- ++(0.5,0);
+\end{circuitikz}
+\end{LTXexample}
+
+If you want or need to maintain the old behavior for \texttt{open} voltage, you can set the key \texttt{american open voltage} to \texttt{legacy} (the default is the new behavior, which correspond to the value \texttt{center}).
+
 \subsubsection{American voltages customization}
 
-Since 0.9.0, you can change the font\footnote{There where a bug before, noticed by the user \texttt{dzereb} on \href{https://tex.stackexchange.com/questions/487683/odd-minus-style-when-drawing-american-voltage}{tex.stackexchange.com} which made the symbols using different fonts in a basically random way. In the same page, user \texttt{campa} found the problem. Thanks!} used by the \texttt{american voltages} style, by setting to something different from nothing the key \texttt{voltage/american font} (default: nothing, using the current font) style:
+Since 0.9.0, you can change the font\footnote{There was a bug before, noticed by the user \texttt{dzereb} on \href{https://tex.stackexchange.com/questions/487683/odd-minus-style-when-drawing-american-voltage}{tex.stackexchange.com} which made the symbols using different fonts in a basically random way. In the same page, user \texttt{campa} found the problem. Thanks!} used by the \texttt{american voltages} style, by setting to something different from nothing the key \texttt{voltage/american font} (default: nothing, using the current font) style:
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american]
@@ -6511,6 +6624,10 @@
 
 \section{Examples}
 
+Here a series of example, contributed by several people, is shown with their code.
+
+\subsection{A red diode}
+
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1.4]\draw
   (0,0) to[C, l=10<\micro\farad>] (0,2) -- (0,3)
@@ -6523,6 +6640,9 @@
 ;\end{circuitikz}
 \end{LTXexample}
 
+\newpage
+\subsection{Using the (experimental) \texttt{siunitx} syntax}
+
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1.2]\draw
   (0,0) node[ground] {}
@@ -6535,9 +6655,11 @@
   (0,2) -- (0,3) to[L, l=2<\milli\henry>] (5,3) -- (5,2)
 
  {[anchor=south east] (0,2) node {1} (2,2) node {2} (4,2) node {3}}
-;\end{circuitikz}
+;
+\end{circuitikz}
 \end{LTXexample}
 
+
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1.2]\draw
   (0,0) node[anchor=east] {B}
@@ -6551,6 +6673,9 @@
 ;\end{circuitikz}
 \end{LTXexample}
 
+\newpage
+\subsection{Photodiodes}
+
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1]\draw
 	(0,0) node[transformer] (T) {}
@@ -6559,6 +6684,7 @@
 ;\end{circuitikz}
 \end{LTXexample}
 
+\subsection{A Sallen-Key cell}
 
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1]\draw
@@ -6572,6 +6698,9 @@
 ;\end{circuitikz}
 \end{LTXexample}
 
+\newpage
+\subsection{Mixing circuits and graphs}
+
 \begin{LTXexample}[pos=t,varwidth=true]
 \begin{circuitikz}[scale=1.2, american]\draw
   (0,2) to[I=1<\milli\ampere>] (2,2)
@@ -6597,6 +6726,9 @@
 \end{circuitikz}
 \end{LTXexample}
 
+\newpage
+\subsection{RF circuit}
+
 \begin{LTXexample}[pos=t,varwidth=true]
     \begin{circuitikz}[scale=1]
         \ctikzset{bipoles/detector/width=.35}
@@ -6627,6 +6759,8 @@
     \end{circuitikz}
 \end{LTXexample}
 
+\subsection{A styled low noise input stage}
+
 \ctikzloadstyle{romano}
 \scalebox{0.707}{%
 \begin{circuitikz}[american, romano circuit style]
@@ -6729,10 +6863,12 @@
 } % scalebox
 \end{lstlisting}
 
-\begin{tabular}{l}\label{ex:compatibility}
+\subsection{An example with the \texttt{compatibility} option}
+\label{ex:compatibility}
+
 \IfFileExists{compatibility.pdf}
 {\fbox{\includegraphics{compatibility.pdf}}}
-\\
+
 \begin{lstlisting}
 \documentclass{standalone}
 
@@ -6751,9 +6887,28 @@
     to[*D](3,2);
  \end{tikzpicture}
 \end{document}
-	\end{lstlisting}
-\end{tabular}
+\end{lstlisting}
 
+\newpage
+\subsection{3-phases block schematic}
+
+\begin{LTXexample}[varwidth=true,pos=t]
+\begin{circuitikz}[smallR/.style={european resistor, resistors/scale=0.5}]
+    \draw (0,0) node[tacdcshape, anchor=ac2](acdc){} to[smallR] ++(-2,0) -- node[circ](point){} ++(-.5,0);
+    \draw (acdc.ac1) to[nos, invert, mirror, name=switch,color=red] ++(-2,0) -- (point);
+    \draw (acdc.ac3) to[smallR] ++(-2,0)
+        -- (point)
+        to[oosourcetrans,prim=wye,sec=delta,l=transformer] ++(-1.5,0)
+        to[tmultiwire] ++(-.5,0)
+        node[gridnode, anchor=right]{};
+    \node[above=.3cm,color=red] at (switch) {fault};
+    \draw (acdc.dc1) to[smallR,l=HVDC line] ++(2,0) node[tdcacshape, anchor=dc1](dcac){};
+    \draw (acdc.dc2) -- (dcac.dc2);
+    \draw (dcac.right) to[ooosource,prim=delta,sec=delta,tert=wye,invert] ++(1.5,0)
+                        to[tmultiwire] ++(.5,0) node[gridnode,anchor=left]{};
+\end{circuitikz}
+\end{LTXexample}
+
 % % changelog.tex will be updated by makefile from CHANGELOG.md
 \section{Changelog and Release Notes}
 \IfFileExists{changelog.tex}

Modified: trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -10,8 +10,8 @@
 %
 % See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details.
 
-\def\pgfcircversion{1.1.1}
-\def\pgfcircversiondate{2020/04/24}
+\def\pgfcircversion{1.1.2}
+\def\pgfcircversiondate{2020/05/17}
 \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	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -633,6 +633,46 @@
 \ctikzset{bipoles/battery2/height/.initial=.6}
 \ctikzset{bipoles/battery2/width/.initial=.3}
 
+% % % ootransformer
+\ctikzset{bipoles/oosourcetrans/height/.initial=.6}
+\ctikzset{bipoles/oosourcetrans/width/.initial=.6}
+\ctikzset{bipoles/oosourcetrans/circlesize/.initial=.6}%circlesize+circleoffset should be =1
+\ctikzset{bipoles/oosourcetrans/circleoffset/.initial=.4}%circlesize+circleoffset should be =1
+\ctikzset{bipoles/oosourcetrans/vectorgroupscale/.initial=1}
+
+% % % oootransformer
+\ctikzset{bipoles/ooosource/height/.initial=.6}
+\ctikzset{bipoles/ooosource/circlesize/.initial=.55}%circlesize+circleoffset should be =1
+\ctikzset{bipoles/ooosource/circleoffset/.initial=.45}%circlesize+circleoffset should be =1
+\ctikzset{bipoles/ooosource/vectorgroupscale/.initial=1}
+
+% % % primary windings
+\newif\ifpgf at circ@prim at delta
+\newif\ifpgf at circ@prim at wye
+\newif\ifpgf at circ@prim at zig
+\pgfkeys{tikz/prim/.is choice}
+\pgfkeys{tikz/prim/delta/.add code={}{\pgf at circ@prim at deltatrue}}
+\pgfkeys{tikz/prim/wye/.add code={}{\pgf at circ@prim at wyetrue}}
+\pgfkeys{tikz/prim/zig/.add code={}{\pgf at circ@prim at zigtrue}}
+
+% % % secondary windings
+\newif\ifpgf at circ@sec at delta
+\newif\ifpgf at circ@sec at wye
+\newif\ifpgf at circ@sec at zig
+\pgfkeys{tikz/sec/.is choice}
+\pgfkeys{tikz/sec/delta/.add code={}{\pgf at circ@sec at deltatrue}}
+\pgfkeys{tikz/sec/wye/.add code={}{\pgf at circ@sec at wyetrue}}
+\pgfkeys{tikz/sec/zig/.add code={}{\pgf at circ@sec at zigtrue}}
+
+% % % tertiary windings (ooosource)
+\newif\ifpgf at circ@tert at delta
+\newif\ifpgf at circ@tert at wye
+\newif\ifpgf at circ@tert at zig
+\pgfkeys{tikz/tert/.is choice}
+\pgfkeys{tikz/tert/delta/.add code={}{\pgf at circ@tert at deltatrue}}
+\pgfkeys{tikz/tert/wye/.add code={}{\pgf at circ@tert at wyetrue}}
+\pgfkeys{tikz/tert/zig/.add code={}{\pgf at circ@tert at zigtrue}}
+
 % diodes
 
 \ctikzset{bipoles/diode/height/.initial=.50}
@@ -1814,16 +1854,41 @@
 \newif\ifpgf at circ@siunitx
 \newif\ifpgf at circ@siunitx at res
 
+%
+% voltage and current options
+%
+
+\newif\ifpgf at circuit@europeancurrent
+\newif\ifpgf at circuit@europeanvoltage
+\newif\ifpgf at circuit@bipole at voltage@straight
+
+\ctikzset{voltage/.is choice}
+%
+% straight is expected to be a subset of european, so disable it in american style
+%
+\ctikzset{voltage/american/.code = {\pgf at circuit@europeanvoltagefalse\pgf at circuit@bipole at voltage@straightfalse}}
+\ctikzset{voltage/european/.code = {\pgf at circuit@europeanvoltagetrue\pgf at circuit@bipole at voltage@straightfalse}}
+\ctikzset{voltage/straight/.code = {\pgf at circuit@europeanvoltagetrue\pgf at circuit@bipole at voltage@straighttrue}}
+\ctikzset{voltage/curved/.code = {\pgf at circuit@europeanvoltagetrue\pgf at circuit@bipole at voltage@straighttrue}}
+
+\ctikzset{current/.is choice}
+\ctikzset{current/american/.code = \pgf at circuit@europeancurrentfalse}
+\ctikzset{current/european/.code = \pgf at circuit@europeancurrenttrue}
+
+% this is left for backward compatibility...
 \ctikzset{straight/.is choice}
-\ctikzset{straightvoltage value/.initial=true}
 \ctikzset{straight/true/.code = {\pgf at circuit@bipole at voltage@straighttrue}}
 \ctikzset{straight/false/.code = {\pgf at circuit@bipole at voltage@straightfalse}}
-\ctikzset{straightvoltage/.style = {/tikz/circuitikz/straight=true}}
-\newif\ifpgf at circuit@bipole at voltage@straight
 \ctikzset{bipole/straight/.is if=pgf at circuit@bipole at voltage@straight}
+% never used, removed (RG 2020-05-17)
+% \ctikzset{straightvoltage value/.initial=true}
+% \ctikzset{straightvoltage/.style = {/tikz/circuitikz/straight=true}}
 
+%
+% voltage is used also to set parameters, apart for the /.is choice
+% above. I hope it is ok --- would be a mess otherwise
+%
 
-\ctikzset{voltage/.is family}
 \ctikzset{voltage/distance from node/.initial=.5} %\pgf at circ@Rlen units
 \ctikzset{voltage/distance from line/.initial=.08} % pos, tra 0 e 1
 \ctikzset{voltage/bump a/.initial=1.2}
@@ -1838,7 +1903,7 @@
 \ctikzset{voltage/american plus/.initial={$+$}}
 \ctikzset{voltage/american minus/.initial={$-$}}
 
-% special cases
+% special cases for voltage positions
 \ctikzset{bipoles/generic/voltage/distance from node/.initial=.4}
 \ctikzset{bipoles/generic/voltage/bump b/.initial=2}
 \ctikzset{bipoles/generic/voltage/european label distance/.initial=1.8}
@@ -1870,15 +1935,28 @@
 \ctikzset{bipoles/thermistorntc/voltage/bump b/.initial=1.6}
 %\ctikzset{bipoles/thermistorptc/voltage/distance from node/.initial=.2}
 \ctikzset{bipoles/thermistorptc/voltage/bump b/.initial=1.6}
+%
+% american open voltage adjusting
+%
+\newif\ifpgf at adjust@open at voltage\pgf at adjust@open at voltagetrue
+\ctikzset{american open voltage/.is choice}
+\ctikzset{american open voltage/center/.code={\pgf at adjust@open at voltagetrue}}
+\ctikzset{american open voltage/legacy/.code={\pgf at adjust@open at voltagefalse}}
 
-\ctikzset{current/.is family}
+%
+% currents
+%
 \ctikzset{current/distance/.initial = .5}
 
+%
+% voltage and current styles
+%
 
 \tikzset{american currents/.style = {\circuitikzbasekey/current = american}}
 \tikzset{european currents/.style = {\circuitikzbasekey/current = european}}
 \tikzset{american voltages/.style = {\circuitikzbasekey/voltage = american}}
 \tikzset{european voltages/.style = {\circuitikzbasekey/voltage = european}}
+\tikzset{straight voltages/.style = {\circuitikzbasekey/voltage = straight}}
 \tikzset{american resistors/.style = {\circuitikzbasekey/resistor = american}}
 \tikzset{european resistors/.style = {\circuitikzbasekey/resistor = european}}
 
@@ -1894,22 +1972,16 @@
 \tikzset{cute inductors/.style = {\circuitikzbasekey/inductor = cute}}
 \tikzset{american ports/.style = {\circuitikzbasekey/logic ports = american}}
 \tikzset{european ports/.style = {\circuitikzbasekey/logic ports = european}}
+
+%
+% general styles
+%
+
 \tikzset{european/.style = {european currents, european voltages, european resistors, european inductors, european ports, european gas filled surge arrester set}}
 \tikzset{american/.style = {american currents, american voltages, american resistors, american inductors, american ports, american gas filled surge arrester set}}
 \tikzset{cute/.style = {european currents, european voltages, american resistors, cute inductors, american ports}}
 
-% I should try to make the tree clearer (this voltage conflicts with the options above)
 
-\newif\ifpgf at circuit@europeanvoltage
-\ctikzset{voltage/.is choice}
-\ctikzset{voltage/american/.code = {\pgf at circuit@europeanvoltagefalse}}
-\ctikzset{voltage/european/.code = {\pgf at circuit@europeanvoltagetrue}}
-
-\newif\ifpgf at circuit@europeancurrent
-\ctikzset{current/.is choice}
-\ctikzset{current/american/.code = \pgf at circuit@europeancurrentfalse}
-\ctikzset{current/european/.code = \pgf at circuit@europeancurrenttrue}
-
 % noise sources
 \ctikzset{bipoles/noise sources/fillcolor/.initial=gray!50}
 
@@ -2022,4 +2094,11 @@
 \pgfkeys{/tikz/fullcathode/.add code={}{\pgf at circuit@tubes at fullcathodetrue}}
 \ctikzset{tubes/fullcathode/.add code={}{\pgf at circuit@tubes at fullcathodetrue}}
 
+% powerelectronic blocks
+\ctikzset{bipoles/sacdc/width/.initial=.7}
+\ctikzset{bipoles/sdcac/width/.initial=.7}
+\ctikzset{bipoles/tacdc/width/.initial=.7}
+\ctikzset{bipoles/tdcac/width/.initial=.7}
+\ctikzset{quadpoles/gridnode/width/.initial=.7} %not sure if quadpole?
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -265,6 +265,28 @@
     \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0pt}}
     \pgfusepath{draw}
 }
+
+\pgfcircdeclarebipole
+{}
+{\ctikzvalof{bipoles/multiwire/height}}
+{tmultiwire}
+{\ctikzvalof{bipoles/multiwire/height}}
+{\ctikzvalof{bipoles/multiwire/width}}
+{
+    \pgf at circ@res at other=\ctikzvalof{bipoles/multiwire/spacing}\pgf at circ@Rlen
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{0pt}{\pgf at circ@res at up}}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left+\pgf at circ@res at other}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at other}{\pgf at circ@res at up}}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left+2\pgf at circ@res at other}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{2\pgf at circ@res at other}{\pgf at circ@res at up}}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0pt}}
+    \pgfusepath{draw}
+}
+
+%
+%
 %% Generic bipole - used as resistor by some (bleah)
 \pgfcircdeclarebipolescaled{resistors}
 {}
@@ -1598,6 +1620,323 @@
     \pgfusepath{draw}
 }
 
+% % % winding symbols
+% triangle
+\def\pgf at circ@delta#1{
+    \pgfscope
+        \pgftransformscale{-.01\pgf at circ@res at left*#1}
+        \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+            \pgftransformrotate{-\pgfcircmathresult}
+
+        \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+        \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+        \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at down}}
+        \pgfpathlineto{\pgfpoint{0}{.866\pgf at circ@res at up}}
+        \pgfpathclose
+        \pgfusepath{stroke}
+    \endpgfscope
+}
+
+% star
+\def\pgf at circ@wye#1{
+    \pgfscope
+        \pgftransformscale{-.015\pgf at circ@res at left*#1}
+        \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+            \pgftransformrotate{-\pgfcircmathresult}
+    
+        \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+        \pgfpathmoveto{\pgfpoint{0}{\pgf at circ@res at down}}
+        \pgfpathlineto{\pgfpointorigin}
+        \pgfpathlineto{\pgfpointpolar{-30}{\pgf at circ@res at down}}
+        \pgfpathmoveto{\pgfpointorigin}
+        \pgfpathlineto{\pgfpointpolar{-150}{\pgf at circ@res at down}}
+        \pgfusepath{stroke}
+    \endpgfscope
+}
+
+% zigzag
+\def\pgf at circ@zig#1{
+    \pgfscope
+        \pgftransformscale{-.015\pgf at circ@res at left*#1}
+        \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+            \pgftransformrotate{-\pgfcircmathresult}
+    
+        \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+        \pgfpathmoveto{\pgfpointorigin}
+        \pgfpathlineto{\pgfpointpolar{90}{.5\pgf at circ@res at up}}
+        \pgfpathlineto{\pgfpointpolar{60}{\pgf at circ@res at up}}
+        
+        \pgfpathmoveto{\pgfpointorigin}
+        \pgfpathlineto{\pgfpointpolar{210}{.5\pgf at circ@res at up}}
+        \pgfpathlineto{\pgfpointpolar{0}{\pgf at circ@res at down}}
+        
+        \pgfpathmoveto{\pgfpointorigin}
+        \pgfpathlineto{\pgfpointpolar{330}{.5\pgf at circ@res at up}}
+        \pgfpathlineto{\pgfpointpolar{-60}{\pgf at circ@res at up}}
+        \pgfusepath{stroke}
+    \endpgfscope
+}
+
+% % % % round three-phase transformer
+\pgfcircdeclarebipolescaled{sources}
+{}
+{\ctikzvalof{bipoles/oosourcetrans/height}}
+{oosourcetrans}
+{\ctikzvalof{bipoles/oosourcetrans/height}}
+{\ctikzvalof{bipoles/oosourcetrans/width}}
+{
+    
+    \pgfpointorigin
+    \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+    \pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at left}{0}}
+        {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+    \pgf at circ@maybefill
+    \pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at right}{0}}
+        {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at right}
+    \pgf at circ@draworfill
+    \pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at left}{0}}
+        {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+    \pgfusepath{draw}
+    
+    
+% % %     % draw inner symbols
+    
+    %%primary winding
+    \ifpgf at circ@prim at delta
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+            \pgf at circ@delta{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+        
+    \else\ifpgf at circ@prim at wye
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+            \pgf at circ@wye{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+    
+    \else\ifpgf at circ@prim at zig
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+            \pgf at circ@zig{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+    \fi\fi\fi
+    
+    %%secondary winding
+    \ifpgf at circ@sec at delta
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at right}
+            \pgf at circ@delta{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+        
+    \else\ifpgf at circ@sec at wye
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at right}
+            \pgf at circ@wye{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+    
+    \else\ifpgf at circ@sec at zig
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at right}
+            \pgf at circ@zig{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+        \endpgfscope
+    \fi\fi\fi
+}
+
+
+% % % % ooosource for three phase transformer
+\pgfcircdeclarebipolescaled{sources}
+{   
+    \anchor{right}{
+            \northeast
+            \pgf at y=0pt
+            \pgfmathparse{
+                \ctikzvalof{bipoles/ooosource/circleoffset}* sin(30) +
+    %%the sqrt must be > 0, the circles have to intersect
+                sqrt(
+                    pow(\ctikzvalof{bipoles/ooosource/circlesize},2) -
+                    pow(\ctikzvalof{bipoles/ooosource/circleoffset}*cos(30),2)
+                )
+            }
+            \pgf at x=\pgfmathresult\pgf at x
+    }
+    \anchor{east}{
+            \northeast
+            \pgf at y=0pt
+    }
+    \savedanchor{\centerprim}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=-\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@scaled at Rlen
+            \pgf at y=0pt
+            \pgf at x=.5\pgf at circ@scaled at Rlen
+    }
+    \anchor{centerprim}{
+            \centerprim
+    }
+    \savedanchor{\centersec}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=-\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@scaled at Rlen
+            \pgfpointpolar{60}{.5\pgf at circ@scaled at Rlen}
+            \pgf at y=-\pgf at y
+            \pgf at x=-\pgf at x
+    }
+    \anchor{centersec}{
+            \centersec
+    }
+    \savedanchor{\centertert}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=-\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@scaled at Rlen
+            \pgfpointpolar{60}{.5\pgf at circ@scaled at Rlen}
+            \pgf at y=\pgf at y
+            \pgf at x=-\pgf at x
+    }
+    \anchor{centertert}{
+            \centertert
+    }
+            
+    % add some anchors in case the are needed :)
+    \anchor{prim1}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centerprim}{\pgfpointpolar{135}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{prim2}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centerprim}{\pgfpointpolar{-135}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{sec1}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centersec}{\pgfpointpolar{0}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{sec2}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centersec}{\pgfpointpolar{45}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{sec3}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centersec}{\pgfpointpolar{90}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{tert1}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centertert}{\pgfpointpolar{0}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{tert2}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centertert}{\pgfpointpolar{-45}{.5\pgf at circ@scaled at Rlen}}
+    }
+    \anchor{tert3}{
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/height}\pgf at circ@Rlen
+            \pgf at circ@scaled at Rlen=\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@scaled at Rlen
+            \pgfpointadd{\centertert}{\pgfpointpolar{-90}{.5\pgf at circ@scaled at Rlen}}
+    }
+}
+{\ctikzvalof{bipoles/ooosource/height}}
+{ooosource}
+{\ctikzvalof{bipoles/ooosource/height}}
+{\ctikzvalof{bipoles/ooosource/height}}
+{
+%     \pgf at circ@res at other = \ctikzvalof{bipoles/ooosource/vectorgroup} \pgf at circ@scaled at Rlen
+    
+%     % filling
+%     left
+    \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+        \pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at left}{0}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at left}
+    \pgf at circ@maybefill 
+    
+    % up
+    \pgfscope
+        \pgfpointorigin
+        \pgfpathcircle{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
+        \pgf at circ@maybefill
+    \endpgfscope
+%     down
+    \pgfscope
+        \pgfpointorigin
+        \pgfpathcircle{\pgfpointpolar{-60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
+        \pgf at circ@draworfill
+    \endpgfscope
+
+%     drawing
+    % left
+    \pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at left}{0}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at left}
+    \pgfusepath{draw}
+    
+    % up
+    \pgfscope
+        \pgfpointorigin
+        \pgfpathcircle{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
+        \pgfusepath{draw}
+    \endpgfscope
+    
+% % %     draw inner symbols
+
+% %     primary winding
+    \ifpgf at circ@prim at delta
+        \pgfscope
+            \pgftransformxshift{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at left}
+            \pgf at circ@delta{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+        
+    \else\ifpgf at circ@prim at wye
+        \pgfscope
+            \pgftransformxshift{.6\pgf at circ@res at left}
+            \pgf at circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    
+    \else\ifpgf at circ@prim at zig
+        \pgfscope
+            \pgftransformxshift{.6\pgf at circ@res at left}
+            \pgf at circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    \fi\fi\fi
+    
+% %     secondary winding
+    \ifpgf at circ@sec at delta
+        \pgfscope
+            \pgfpointorigin
+            \pgftransformshift{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@delta{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+        
+    \else\ifpgf at circ@sec at wye
+        \pgfscope
+            \pgftransformshift{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    
+    \else\ifpgf at circ@sec at zig
+        \pgfscope
+            \pgftransformshift{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    \fi\fi\fi
+    
+% %     tertiary winding
+    \ifpgf at circ@tert at delta
+        \pgfscope
+            \pgftransformshift{\pgfpointpolar{-60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@delta{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+        
+    \else\ifpgf at circ@tert at wye
+        \pgfscope
+            \pgftransformshift{\pgfpointpolar{-60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    
+    \else\ifpgf at circ@tert at zig
+        \pgfscope
+            \pgftransformshift{\pgfpointpolar{-60}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}}
+            \pgf at circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+        \endpgfscope
+    \fi\fi\fi
+}
+
 %% Independent current source - American
 \pgfcircdeclarebipolescaled{sources}
 {}
@@ -4711,6 +5050,376 @@
 
 }
 
+%% single phase ac/dc converter
+\pgfcircdeclarebipolescaled{blocks}
+{
+    \anchor{dc1}{
+        \northeast
+        \pgf at y=.4\pgf at y
+    }
+    \anchor{dc2}{
+        \northeast
+        \pgf at y=-.4\pgf at y
+    }
+}
+{\ctikzvalof{bipoles/sacdc/width}}
+{sacdc}
+{\ctikzvalof{bipoles/sacdc/width}}
+{\ctikzvalof{bipoles/sacdc/width}}
+{
+    \pgf at circ@res at step = \ctikzvalof{bipoles/sacdc/width}\pgf at circ@scaled at Rlen
+    \divide \pgf at circ@res at step by 2
+
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+    \pgf at circ@res at other = \pgf at circ@res at left
+    \advance\pgf at circ@res at other by \pgf at circ@res at step
+
+    \ifpgf at circuit@dashed
+        \pgfsetdash{{0.1cm}{0.1cm}}{0cm}
+    \fi
+
+    % draw outer box
+    \pgf at circ@twoportbox
+
+    \ifpgf at circuit@inputarrow
+        {
+            \advance \pgf at circ@res at left by -.5\ctikzvalof{bipoles/thickness}\pgfstartlinewidth
+            \pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+            \pgfnode{inputarrow}{tip}{}{pgf at inputarrow}{\pgfusepath{fill}}
+        }
+    \fi
+
+    % rotate inner symbol
+    \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+    \ifnum \pgfcircmathresult > 45 \ifnum \pgfcircmathresult < 135
+        \pgftransformrotate{270}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 134 \ifnum \pgfcircmathresult < 225  % 134 degree, because >= 135 is not possible
+        \pgftransformrotate{180}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 225 \ifnum \pgfcircmathresult < 315
+        \pgftransformrotate{90}
+    \fi\fi
+
+    % draw inner symbol
+    \pgfsetdash{}{0pt}	% always draw solid line for inner symbol
+    \pgfsetarrows{-} %never draw arrows
+    \pgfsetlinewidth{\pgfstartlinewidth}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up}}
+    \pgfusepath{draw}
+    
+    % draw sin wave
+    \pgfpathmoveto{\pgfpoint{-.76\pgf at circ@res at step}{.5\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    
+    % draw equal sign
+    \pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at step}{-.375\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{0.7\pgf at circ@res at step}{-0.375\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at step}{-.625\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{0.7\pgf at circ@res at step}{-0.625\pgf at circ@res at step}}
+    \pgfusepath{draw}
+}
+
+
+
+%% single phase dc/ac converter
+\pgfcircdeclarebipolescaled{blocks}
+{
+    \anchor{dc1}{
+        \northeast
+        \pgf at y=.4\pgf at y
+        \pgf at x=-\pgf at x
+    }
+    \anchor{dc2}{
+        \northeast
+        \pgf at y=-.4\pgf at y
+        \pgf at x=-\pgf at x
+    }
+}
+{\ctikzvalof{bipoles/sdcac/width}}
+{sdcac}
+{\ctikzvalof{bipoles/sdcac/width}}
+{\ctikzvalof{bipoles/sdcac/width}}
+{
+    \pgf at circ@res at step = \ctikzvalof{bipoles/sdcac/width}\pgf at circ@scaled at Rlen
+    \divide \pgf at circ@res at step by 2
+
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+    \pgf at circ@res at other = \pgf at circ@res at left
+    \advance\pgf at circ@res at other by \pgf at circ@res at step
+
+    \ifpgf at circuit@dashed
+        \pgfsetdash{{0.1cm}{0.1cm}}{0cm}
+    \fi
+
+    % draw outer box
+    \pgf at circ@twoportbox
+
+    \ifpgf at circuit@inputarrow
+        {
+            \advance \pgf at circ@res at left by -.5\ctikzvalof{bipoles/thickness}\pgfstartlinewidth
+            \pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+            \pgfnode{inputarrow}{tip}{}{pgf at inputarrow}{\pgfusepath{fill}}
+        }
+    \fi
+
+    % rotate inner symbol
+    \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+    \ifnum \pgfcircmathresult > 45 \ifnum \pgfcircmathresult < 135
+        \pgftransformrotate{270}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 134 \ifnum \pgfcircmathresult < 225  % 134 degree, because >= 135 is not possible
+        \pgftransformrotate{180}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 225 \ifnum \pgfcircmathresult < 315
+        \pgftransformrotate{90}
+    \fi\fi
+
+    % draw inner symbol
+    \pgfsetdash{}{0pt}	% always draw solid line for inner symbol
+    \pgfsetarrows{-} %never draw arrows
+    \pgfsetlinewidth{\pgfstartlinewidth}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up}}
+    \pgfusepath{draw}
+    
+    % draw sin wave
+    \pgfpathmoveto{\pgfpoint{.14\pgf at circ@res at step}{-.5\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    
+    % draw equal sign
+    \pgfpathmoveto{\pgfpoint{-.2\pgf at circ@res at step}{.375\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{-0.7\pgf at circ@res at step}{0.375\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{-.2\pgf at circ@res at step}{.625\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{-0.7\pgf at circ@res at step}{0.625\pgf at circ@res at step}}
+    \pgfusepath{draw}
+}
+
+
+%% threephase ac/dc converter
+\pgfcircdeclarebipolescaled{blocks}
+{
+    \anchor{dc1}{
+        \northeast
+        \pgf at y=.4\pgf at y
+    }
+    \anchor{dc2}{
+        \northeast
+        \pgf at y=-.4\pgf at y
+    }
+    \anchor{ac1}{
+        \northeast
+        \pgf at y=.6\pgf at y
+        \pgf at x=-\pgf at x
+    }
+    \anchor{ac2}{
+        \northeast
+        \pgf at y=0\pgf at y
+        \pgf at x=-\pgf at x
+    }
+    \anchor{ac3}{
+        \northeast
+        \pgf at y=-.6\pgf at y
+        \pgf at x=-\pgf at x
+    }
+}
+{\ctikzvalof{bipoles/tacdc/width}}
+{tacdc}
+{\ctikzvalof{bipoles/tacdc/width}}
+{\ctikzvalof{bipoles/tacdc/width}}
+{
+    \pgf at circ@res at step = \ctikzvalof{bipoles/tacdc/width}\pgf at circ@scaled at Rlen
+    \divide \pgf at circ@res at step by 2
+
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+    \pgf at circ@res at other = \pgf at circ@res at left
+    \advance\pgf at circ@res at other by \pgf at circ@res at step
+
+    \ifpgf at circuit@dashed
+        \pgfsetdash{{0.1cm}{0.1cm}}{0cm}
+    \fi
+
+    % draw outer box
+    \pgf at circ@twoportbox
+
+    \ifpgf at circuit@inputarrow
+        {
+            \advance \pgf at circ@res at left by -.5\ctikzvalof{bipoles/thickness}\pgfstartlinewidth
+            \pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+            \pgfnode{inputarrow}{tip}{}{pgf at inputarrow}{\pgfusepath{fill}}
+        }
+    \fi
+
+    % rotate inner symbol
+    \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+    \ifnum \pgfcircmathresult > 45 \ifnum \pgfcircmathresult < 135
+        \pgftransformrotate{270}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 134 \ifnum \pgfcircmathresult < 225  % 134 degree, because >= 135 is not possible
+        \pgftransformrotate{180}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 225 \ifnum \pgfcircmathresult < 315
+        \pgftransformrotate{90}
+    \fi\fi
+
+    % draw inner symbol
+    \pgfsetdash{}{0pt}	% always draw solid line for inner symbol
+    \pgfsetarrows{-} %never draw arrows
+    \pgfsetlinewidth{\pgfstartlinewidth}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up}}
+    \pgfusepath{draw}
+    
+    % draw sin waves
+    \pgfpathmoveto{\pgfpoint{-.76\pgf at circ@res at step}{.65\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{-.76\pgf at circ@res at step}{.5\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{-.76\pgf at circ@res at step}{.35\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    
+    
+    
+    
+    % draw equal sign
+    \pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at step}{-.375\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{0.7\pgf at circ@res at step}{-0.375\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{.2\pgf at circ@res at step}{-.625\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{0.7\pgf at circ@res at step}{-0.625\pgf at circ@res at step}}
+    \pgfusepath{draw}
+}
+
+
+%% threephase dc/ac converter
+\pgfcircdeclarebipolescaled{blocks}
+{
+    \anchor{dc1}{
+        \northeast
+        \pgf at y=.4\pgf at y
+        \pgf at x=-\pgf at x
+    }
+    \anchor{dc2}{
+        \northeast
+        \pgf at y=-.4\pgf at y
+        \pgf at x=-\pgf at x
+    }
+    \anchor{ac1}{
+        \northeast
+        \pgf at y=.6\pgf at y
+    }
+    \anchor{ac2}{
+        \northeast
+        \pgf at y=0\pgf at y
+    }
+    \anchor{ac3}{
+        \northeast
+        \pgf at y=-.6\pgf at y
+    }
+}
+{\ctikzvalof{bipoles/tdcac/width}}
+{tdcac}
+{\ctikzvalof{bipoles/tdcac/width}}
+{\ctikzvalof{bipoles/tdcac/width}}
+{
+    \pgf at circ@res at step = \ctikzvalof{bipoles/tdcac/width}\pgf at circ@scaled at Rlen
+    \divide \pgf at circ@res at step by 2
+
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+    \pgf at circ@res at other = \pgf at circ@res at left
+    \advance\pgf at circ@res at other by \pgf at circ@res at step
+
+    \ifpgf at circuit@dashed
+        \pgfsetdash{{0.1cm}{0.1cm}}{0cm}
+    \fi
+
+    % draw outer box
+    \pgf at circ@twoportbox
+
+    \ifpgf at circuit@inputarrow
+        {
+            \advance \pgf at circ@res at left by -.5\ctikzvalof{bipoles/thickness}\pgfstartlinewidth
+            \pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+            \pgfnode{inputarrow}{tip}{}{pgf at inputarrow}{\pgfusepath{fill}}
+        }
+    \fi
+
+    % rotate inner symbol
+    \def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
+    \ifnum \pgfcircmathresult > 45 \ifnum \pgfcircmathresult < 135
+        \pgftransformrotate{270}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 134 \ifnum \pgfcircmathresult < 225  % 134 degree, because >= 135 is not possible
+        \pgftransformrotate{180}
+    \fi\fi
+    \ifnum \pgfcircmathresult > 225 \ifnum \pgfcircmathresult < 315
+        \pgftransformrotate{90}
+    \fi\fi
+
+    % draw inner symbol
+    \pgfsetdash{}{0pt}	% always draw solid line for inner symbol
+    \pgfsetarrows{-} %never draw arrows
+    \pgfsetlinewidth{\pgfstartlinewidth}
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up}}
+    \pgfusepath{draw}
+    
+    % draw sin waves
+    \pgfpathmoveto{\pgfpoint{.14\pgf at circ@res at step}{-.65\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{.14\pgf at circ@res at step}{-.5\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{.14\pgf at circ@res at step}{-.35\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathsine{\pgfpoint{.17\pgf at circ@res at step}{-.17\pgf at circ@res at step}}
+    \pgfpathcosine{\pgfpoint{.17\pgf at circ@res at step}{.17\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    
+    
+    
+    
+    % draw equal sign
+    \pgfpathmoveto{\pgfpoint{-.2\pgf at circ@res at step}{.375\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{-0.7\pgf at circ@res at step}{0.375\pgf at circ@res at step}}
+    \pgfusepath{draw}
+    \pgfpathmoveto{\pgfpoint{-.2\pgf at circ@res at step}{.625\pgf at circ@res at step}}
+    \pgfpathlineto{\pgfpoint{-0.7\pgf at circ@res at step}{0.625\pgf at circ@res at step}}
+    \pgfusepath{draw}
+}
+
+
 %%%%%%%%%%%%%%%%%%%%%%%
 %% MECHANICAL SYMBOLS
 %%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -2149,6 +2149,7 @@
         }
         % create input anchors
         \expandafter\pgfutil at g@addto at macro\csname pgf at sh@s at ieeestd #1 port\endcsname{%
+            \pgf at circ@count at a=\inputs
             \pgfmathloop%
             \ifnum\pgfmathcounter>\pgf at circ@count at a%
             \else%

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -290,6 +290,8 @@
 \def\pgf at circ@vsourcesin at path#1{\pgf at circ@bipole at path{vsourcesin}{#1}}
 \def\pgf at circ@isource at path#1{\pgf at circ@bipole at path{isource}{#1}}
 \def\pgf at circ@oosource at path#1{\pgf at circ@bipole at path{oosource}{#1}}
+\def\pgf at circ@oosourcetrans at path#1{\pgf at circ@bipole at path{oosourcetrans}{#1}}
+\def\pgf at circ@ooosource at path#1{\pgf at circ@bipole at path{ooosource}{#1}}
 \def\pgf at circ@dcisource at path#1{\pgf at circ@bipole at path{dcisource}{#1}}
 \def\pgf at circ@isourcesin at path#1{\pgf at circ@bipole at path{isourcesin}{#1}}
 \def\pgf at circ@vsourcesquare at path#1{\pgf at circ@bipole at path{vsourcesquare}{#1}}
@@ -360,6 +362,11 @@
 \def\pgf at circ@phaseshifter at path#1{\pgf at circ@bipole at path{phaseshifter}{#1}}
 \def\pgf at circ@vphaseshifter at path#1{\pgf at circ@bipole at path{vphaseshifter}{#1}}
 \def\pgf at circ@detector at path#1{\pgf at circ@bipole at path{detector}{#1}}
+%
+\def\pgf at circ@sacdc at path#1{\pgf at circ@bipole at path{sacdc}{#1}}
+\def\pgf at circ@sdcac at path#1{\pgf at circ@bipole at path{sdcac}{#1}}
+\def\pgf at circ@tacdc at path#1{\pgf at circ@bipole at path{tacdc}{#1}}
+\def\pgf at circ@tdcac at path#1{\pgf at circ@bipole at path{tdcac}{#1}}
 
 %%Mechanical
 \def\pgf at circ@spring at path#1{\pgf at circ@bipole at path{spring}{#1}}
@@ -484,6 +491,11 @@
 \compattikzset{phaseshifter/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@phaseshifter at path}}
 \compattikzset{vphaseshifter/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@vphaseshifter at path}}
 \compattikzset{detector/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@detector at path}}
+%
+\compattikzset{sacdc/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@sacdc at path, l=#1}}
+\compattikzset{sdcac/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@sdcac at path, l=#1}}
+\compattikzset{tacdc/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@tacdc at path, l=#1}}
+\compattikzset{tdcac/.style = {\circuitikzbasekey, /tikz/to path=\pgf at circ@tdcac at path, l=#1}}
 
 % % % % % %
 % % Begin of Diodes
@@ -661,6 +673,8 @@
 
 \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{oosourcetrans/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is voltage=true,/tikz/to path=\pgf at circ@oosourcetrans at path, v=#1}}
+\compattikzset{ooosource/.style = {\circuitikzbasekey, \circuitikzbasekey/bipole/is voltage=true,/tikz/to path=\pgf at circ@ooosource at path, v=#1}}
 
 \compattikzset{vsource/.style = {\comnpatname voltage source = #1}}
 \compattikzset{isource/.style = {\comnpatname current source = #1}}
@@ -823,6 +837,9 @@
 \def\pgf at circ@multiwire at path#1{\pgf at circ@bipole at path{multiwire}{#1}}
 \compattikzset{multiwire/.style = {\circuitikzbasekey,
 /tikz/to path=\pgf at circ@multiwire at path, l=#1}}
+\def\pgf at circ@tmultiwire at path#1{\pgf at circ@bipole at path{tmultiwire}{#1}}
+\compattikzset{tmultiwire/.style = {\circuitikzbasekey,
+/tikz/to path=\pgf at circ@tmultiwire at path, l=#1}}
 
 % reed switches
 \def\pgf at circ@reed at path#1{\pgf at circ@bipole at path{reed}{#1}}

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -839,9 +839,145 @@
 
             \endpgfscope
         }
+}
+
+%% gridnode
+\pgfdeclareshape{gridnode}
+{
+    \savedmacro{\ctikzclass}{\edef\ctikzclass{blocks}}
+    \saveddimen{\scaledRlen}{\pgfmathsetlength{\pgf at x}{\ctikzvalof{\ctikzclass/scale}\pgf at circ@Rlen}}
+    \savedanchor\northwest{
+        \pgfmathsetlength{\pgf at circ@scaled at Rlen}{\ctikzvalof{\ctikzclass/scale}\pgf at circ@Rlen}
+            \pgf at y=\ctikzvalof{quadpoles/gridnode/width}\pgf at circ@scaled at Rlen
+            \pgf at y=.5\pgf at y
+            \pgf at x=-\ctikzvalof{quadpoles/gridnode/width}\pgf at circ@scaled at Rlen
+            \pgf at x=.5\pgf at x
     }
+    \anchor{center}{
+        \pgfpointorigin
+    }
 
+    \anchor{north}{
+        \northwest
+        \pgf at x=0pt
+    }
+    \anchor{up}{
+        \northwest
+        \pgf at x=0pt
+    }
+    \anchor{south}{
+        \northwest
+        \pgf at x=0pt
+        \pgf at y=-\pgf at y
+    }
+    \anchor{down}{
+        \northwest
+        \pgf at x=0pt
+        \pgf at y=-\pgf at y
+    }
+    \anchor{east}{
+        \northwest
+        \pgf at y=0pt
+        \pgf at x=-\pgf at x
+    }
+    \anchor{right}{
+        \northwest
+        \pgf at y=0pt
+        \pgf at x=-\pgf at x
+    }
+    \anchor{west}{
+        \northwest
+        \pgf at y=0pt
+    }    
+    \anchor{left}{
+        \northwest
+        \pgf at y=0pt
+    }
+    \anchor{south west}{ 
+        \northwest 
+        \pgf at y=-\pgf at y
+    }
+    \anchor{north east}{
+        \northwest 
+        \pgf at x=-\pgf at x
+        \relax
+    }
+    \anchor{north west}{ 
+        \northwest 
+    }
+    \anchor{south east}{ 
+        \northwest 
+        \pgf at x=-\pgf at x
+        \pgf at y=-\pgf at y
+    }
+    \anchor{text}{
+        \pgf at x=-2\pgf at x
+        \advance \pgf at x by -.5\wd\pgfnodeparttextbox
+        \advance \pgf at y by -1.5\ht\pgfnodeparttextbox
+    }
+    \backgroundpath{
+        \pgfsetcolor{\ctikzvalof{color}}
+        \pgf at circ@scaled at Rlen=\scaledRlen
 
+        \pgf at circ@res at step=\ctikzvalof{quadpoles/gridnode/width}\pgf at circ@scaled at Rlen
+    
+        \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
+        
+        \pgf at circ@res at step = \ctikzvalof{quadpoles/gridnode/width}\pgf at circ@scaled at Rlen
+        \divide \pgf at circ@res at step by 2
+
+        \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+        \pgf at circ@res at other = \pgf at circ@res at left
+        \advance\pgf at circ@res at other by \pgf at circ@res at step
+
+        \ifpgf at circuit@dashed
+            \pgfsetdash{{0.1cm}{0.1cm}}{0cm}
+        \fi
+
+        % draw outer box
+        \pgf at circ@twoportbox
+        
+        
+        \ifpgf at circuit@inputarrow
+            {
+                \advance \pgf at circ@res at left by -.5\ctikzvalof{bipoles/thickness}\pgfstartlinewidth
+                \pgftransformshift{\pgfpoint{\pgf at circ@res at left}{0pt}}
+                \pgfnode{inputarrow}{tip}{}{pgf at inputarrow}{\pgfusepath{fill}}
+            }
+        \fi
+    
+        \pgfsetdash{}{0pt}	% always draw solid line for inner symbol
+        \pgfsetarrows{-} %never draw arrows
+        \pgfsetlinewidth{0.05mm}
+        
+        % draw grid
+        \foreach \line in {-1,-.5,...,1}
+        {
+            \pgfpathmoveto{\pgfpoint{\line\pgf at circ@res at right}{\pgf at circ@res at up}}
+            \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\line\pgf at circ@res at up}}
+            
+            \pgfpathmoveto{\pgfpoint{\line\pgf at circ@res at right}{\pgf at circ@res at up}}
+            \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{\line\pgf at circ@res at down}}
+        }
+        
+        %prevent from draw the inner cross twice
+        \foreach \line in {-.5,0,...,.5}
+        {
+            \pgfpathmoveto{\pgfpoint{\line\pgf at circ@res at right}{\pgf at circ@res at down}}
+            \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{\line\pgf at circ@res at up}}
+            
+            \pgfpathmoveto{\pgfpoint{\line\pgf at circ@res at right}{\pgf at circ@res at down}}
+            \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\line\pgf at circ@res at down}}
+        }
+        \pgfusepath{draw}
+    }
+}
+    
+
 % Wilkinson divider
 \pgfdeclareshape{wilkinson}{
     \savedmacro{\ctikzclass}{\edef\ctikzclass{blocks}}

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -1267,13 +1267,14 @@
 % https://github.com/circuitikz/circuitikz/issues/385
 %
 \newif\ifpgf at circ@european at port@circle\pgf at circ@european at port@circlefalse
+\newif\ifpgf at circ@european at port@circle at ieee\pgf at circ@european at port@circle at ieeefalse
 \ctikzset{tripoles/european not shape/.initial=ocirc}
 \ctikzset{tripoles/european not symbol/.is choice}
 \ctikzset{tripoles/european not symbol/triangle/.code={\pgf at circ@european at port@circlefalse}}
 \ctikzset{tripoles/european not symbol/circle/.code={%
-\pgf at circ@european at port@circletrue\ctikzset{tripoles/european not shape=ocirc}}}
+\pgf at circ@european at port@circletrue\pgf at circ@european at port@circle at ieeefalse\ctikzset{tripoles/european not shape=ocirc}}}
 \ctikzset{tripoles/european not symbol/ieee circle/.code={%
-\pgf at circ@european at port@circletrue\ctikzset{tripoles/european not shape=notcirc}}}
+\pgf at circ@european at port@circletrue\pgf at circ@european at port@circle at ieeetrue\ctikzset{tripoles/european not shape=notcirc}}}
 
 \long\def\pgfcircdeclareeurologicport#1#2#3#4{
     \pgfdeclareshape{european #1 port}
@@ -1375,6 +1376,7 @@
 
     \backgroundpath{
         \pgfsetcolor{\ctikzvalof{color}}
+        \pgfstartlinewidth=\pgflinewidth
         \pgfscope
             \pgf at circ@setlinewidth{tripoles}{\pgflinewidth}
             \pgfpathrectanglecorners
@@ -1415,6 +1417,8 @@
                 \pgfscope
                     \pgf at circ@setlinewidth{tripoles}{\pgflinewidth}
                     \pgftransformxshift{\ctikzvalof{tripoles/european #1 port/reserved}\pgf at circ@res at right}
+                    % reset  linewidth for IEEE ports, otherwise they will multiply...
+                    \ifpgf at circ@european at port@circle at ieee\pgfsetlinewidth{\pgfstartlinewidth}\fi
                     \pgfnode{\ctikzvalof{tripoles/european not shape}}{west}{}{NOT}{\pgfusepath{stroke}}
                 \endpgfscope
             \else

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex	2020-05-18 20:40:09 UTC (rev 55203)
@@ -226,8 +226,8 @@
             node [ocirc, fill=blue] at (anchorendnode) {}
             node [ocirc, fill=green] at (pgfcirc at Vto) {}
             node [ocirc, fill=yellow] at (pgfcirc at Vfrom) {}
-            node [odiamondpole, fill=green] at (pgfcirc at Vto@flat) {}
-            node [odiamondpole, fill=yellow] at (pgfcirc at Vfrom@flat) {}
+            node [odiamondpole, fill=green!50!black] at (pgfcirc at Vto@flat) {}
+            node [odiamondpole, fill=orange] at (pgfcirc at Vfrom@flat) {}
         \fi
         coordinate (pgfcirc at Vto) at ($(pgfcirc at Vto@flat) ! \absvshift!90 :  (anchorendnode)$)
         coordinate (pgfcirc at Vfrom) at ($(pgfcirc at Vfrom@flat) ! \absvshift!-90 :  (anchorstartnode)$)
@@ -271,7 +271,7 @@
             \else
                 (pgfcirc at Vfrom) --(pgfcirc at Vto) node[currarrow, sloped,  allow upside down, pos=1,anchor=tip] {}
             \fi
-            \else
+        \else
             \ifpgf at circuit@bipole at voltage@backward
                 (pgfcirc at Vto) .. controls (pgfcirc at Vcont2)  and (pgfcirc at Vcont1) ..
                 node[currarrow, sloped,  allow upside down, pos=1, anchor=tip] {}
@@ -282,30 +282,58 @@
                 (pgfcirc at Vto)
             \fi
         \fi
-        \else
-        \ifpgf at circuit@bipole at voltage@backward
-            \ifpgf at circ@oldvoltagedirection
-                (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
-                (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
-            \else
-                (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
-                (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
+    \else % american
+        \ifx\@@kind\@@open % open circuit; put + and - directly on it
+            \ifpgf at circuit@bipole at voltage@backward
+                \ifpgf at circ@oldvoltagedirection
+                    (pgfcirc at Vfrom@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avplus}
+                    (pgfcirc at Vto@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avminus}
+                \else
+                    (pgfcirc at Vfrom@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avminus}
+                    (pgfcirc at Vto@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avplus}
+                \fi
+                \else
+                \ifpgf at circ@oldvoltagedirection
+                    (pgfcirc at Vfrom@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avminus}
+                    (pgfcirc at Vto@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avplus}
+                \else
+                    (pgfcirc at Vfrom@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avplus}
+                    (pgfcirc at Vto@flat) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=center]{\pgf at circ@avminus}
+                \fi
             \fi
-            \else
-            \ifpgf at circ@oldvoltagedirection
-                (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
-                (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
-            \else
-                (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
-                (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
-                    anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
+        \else % not open circuit
+            \ifpgf at circuit@bipole at voltage@backward
+                \ifpgf at circ@oldvoltagedirection
+                    (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
+                    (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
+                \else
+                    (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
+                    (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
+                \fi
+                \else
+                \ifpgf at circ@oldvoltagedirection
+                    (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
+                    (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
+                \else
+                    (pgfcirc at Vfrom) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avplus}
+                    (pgfcirc at Vto) node[inner sep=0, node font=\pgf at circ@avfont,
+                        anchor=\pgf at circ@bipole at voltage@label at anchor]{\pgf at circ@avminus}
+                \fi
             \fi
         \fi
     \fi
@@ -362,6 +390,8 @@
 }
 
 %% Output routine
+%% this is the entry point
+%%
 \def\pgf at circ@drawvoltage{% node name
     \pgfextra{ %WARNING: indentation is probably wrong
         \edef\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
@@ -465,6 +495,10 @@
         % outside the (+) -- (-) line
         \pgfmathsetlength{\alshift}{(\ctikzvalof{voltage/american label distance}-0.6)*\partheight}
         \pgfsetcornersarced{\pgfpointorigin}% do not use rounded corners!
+        % set the macro for detecting open
+        \edef\@@kind{\ctikzvalof{bipole/kind}}\edef\@@open{open}
+        \ifpgf at adjust@open at voltage\else\edef\@@open{this-will-nEver-match}\fi
+        % \typeout{KIND\space\@@kind}
     }%end pgfextra
 
     \ifpgf at circuit@bipole at isvoltage
@@ -473,6 +507,8 @@
         \pgf at circ@drawvoltagegeneric
     \fi
 
+    % \pgfextra{\typeout{LABEL\space KIND:\@@kind\space OPEN:\@@open}}
+
     \ifpgf at circuit@bipole at voltage@straight
         coordinate (Vlab) at ($(pgfcirc at Vto)!0.5!(pgfcirc at Vfrom) $)
         node [anchor=\pgf at circ@bipole at voltage@label at anchor, inner sep=2pt,
@@ -489,9 +525,23 @@
                 coordinate (Vlab) at ($(Vlab) ! \alshift ! \pgf at circ@bipole at voltage@label at where :(pgfcirc at Vto)$)
             \fi
         \fi
-        node [anchor=\pgf at circ@bipole at voltage@label at anchor, inner sep=2pt,
-        \circuitikzbasekey/bipole voltage style](\ctikzvalof{bipole/name}voltage)
-        at (Vlab) {\pgf at circ@finallabels{voltage/label}}
+
+        \ifpgf at circuit@europeanvoltage
+            node [anchor=\pgf at circ@bipole at voltage@label at anchor, inner sep=2pt,
+            \circuitikzbasekey/bipole voltage style](\ctikzvalof{bipole/name}voltage)
+            at (Vlab) {\pgf at circ@finallabels{voltage/label}}
+        \else % american voltages
+            \ifx\@@kind\@@open
+                coordinate (Vlab) at ($(pgfcirc at Vfrom@flat)!0.5!(pgfcirc at Vto@flat)$)
+                node [anchor=center, inner sep=2pt,
+                \circuitikzbasekey/bipole voltage style](\ctikzvalof{bipole/name}voltage)
+                at (Vlab) {\pgf at circ@finallabels{voltage/label}}
+            \else
+                node [anchor=\pgf at circ@bipole at voltage@label at anchor, inner sep=2pt,
+                \circuitikzbasekey/bipole voltage style](\ctikzvalof{bipole/name}voltage)
+                at (Vlab) {\pgf at circ@finallabels{voltage/label}}
+            \fi
+        \fi
     \fi
 }%end drawvoltages
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2020-05-18 20:39:25 UTC (rev 55202)
+++ trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2020-05-18 20:40:09 UTC (rev 55203)
@@ -12,8 +12,8 @@
 
 \NeedsTeXFormat{LaTeX2e}
 
-\def\pgfcircversion{1.1.1}
-\def\pgfcircversiondate{2020/04/24}
+\def\pgfcircversion{1.1.2}
+\def\pgfcircversiondate{2020/05/17}
 
 \ProvidesPackage{circuitikz}%
 [\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion]



More information about the tex-live-commits mailing list.