From c667de615db3c132e784c84cf43a0e9849ecd7e2 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 22 Jun 2020 03:02:09 +0000
Subject: CTAN sync 202006220302

---
 .../contrib/circuitikz/doc/circuitikzmanual.tex    | 321 +++++++++++++++++++--
 1 file changed, 300 insertions(+), 21 deletions(-)

(limited to 'graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex')

diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
index fdf6d43878..9ecca9a39a 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
@@ -280,6 +280,8 @@ They \texttt{use fpu reciprocal} key seems to have no side effects, but given th
 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.2.0: voltage arrows, symbols and label positions are calculated with a rewritten routine. There should be little change, \emph{unless} you touched internal values\dots
+    \item After v1.1.3: during the 1.1.0 --- 1.1.2 version, the inverted Schmitt buffer in IEEE style ports was called \texttt{inv schmitt} (with an additional space). The correct name is \texttt{invschmitt port} (the same as the legacy american port).
     \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).
@@ -294,13 +296,13 @@ You can check the used version at your local installation using the macro \verb!
 If you have older projects that show compatibility problems, you have two options:
 \begin{itemize}
     \item you can use an older version locally using the git-version and picking the correct commit from the repository (branch gh-pages) or the main GitHub site directly;
-    \item if you are using \LaTeX, the distribution has embedded several important old versions: \texttt{0.4}, \texttt{0.6}, \texttt{0.7}, \texttt{0.8.3}, \texttt{0.9.3}, \texttt{0.9.6} and \texttt{1.0}.
+    \item if you are using \LaTeX, the distribution has embedded several important old versions: \texttt{0.4}, \texttt{0.6}, \texttt{0.7}, \texttt{0.8.3}, \texttt{0.9.3}, \texttt{0.9.6}, \texttt{1.0} and \texttt{1.1.2}.
         To switch to use them, you simply change your \verb|\usepackage| invocation like
         \begin{lstlisting}
             \usepackage[]{circuitikz-0.8.3} % or circuitikz-0.4, 0.6...
         \end{lstlisting}
     You have to take care of the options that may have changed between versions;
-    \item   if you are using  \ConTeXt, only versions \texttt{0.8.3}, \texttt{0.9.3},  \texttt{0.9.6} and \texttt{1.0} are packaged for now; if can use it with
+    \item   if you are using  \ConTeXt, only versions \texttt{0.8.3}, \texttt{0.9.3},  \texttt{0.9.6}, \texttt{1.0} and \texttt{1.1.2} are packaged; if can use it with
         \begin{lstlisting}
             \usemodule[circuitikz-0.8.3]
         \end{lstlisting}
@@ -512,6 +514,7 @@ And finally, this is still \TikZ, so that you can freely mix other graphics elem
 \end{circuitikz}
 \end{LTXexample}
 
+\clearpage
 \subsection{A more complex tutorial: circuits, Romano style.}
 \begingroup % do not propagate to the rest of the manual
 
@@ -745,9 +748,251 @@ and you will obtain the following diagram with the exact same code (I just remov
           \draw [blockdef] (vi2|-VEE) ++(0,-2) \coord(tmp)
           -- node[midway, fill=white]{bloque 2} (vo2|- tmp);
 \end{circuitikz}
-
 \endgroup
 
+\clearpage
+\subsection{Tutorial: a logic circuit}
+
+\begingroup % let's keep the tutorial thing separated.
+\tikzset{sr-ff/.style={flipflop, flipflop def={
+    t1=S, t2=CP, t3=R, t4={\ctikztextnot{Q}},t6=Q, td=~, nd=1}},
+}
+\ctikzset{
+        logic ports=ieee,
+        logic ports/scale=0.7,
+}
+\newcommand*{\myblock}[1]{% the parameter will be prepended to the relevant node names
+    node[sr-ff](#1-FF){} (#1-FF.bup) node[above]{SR-FF}
+        (#1-FF.pin 1) -- ++(-1,0) node[and port, anchor=out](#1-AND1){}
+        % notice the second coordinate here, so that I have just one number
+        % to change if I want more or less space
+        (#1-FF.pin 3) -- (#1-FF.pin 3 -| #1-AND1.out) node[and port, anchor=out](#1-AND2){}
+        % go left again to put the not insert point
+        (#1-AND1.in 1) to[short, -*] ++(-1,0) coordinate(#1-in)
+        % let's position the NOT in the center to be really finicky
+        % this is using the calc tikz library
+        % ($(not up)!0.5!(not up|- #1-AND2.in 2)$) node[not port, rotate=-90](#1-NOT){}
+        % and connect it
+        % (not up) -- (#1-NOT.in) (#1-NOT.out) |- (#1-AND2.in 2)
+        % with the new path-style not
+        to[inline not] (#1-in |- #1-AND2.in 2) -- (#1-AND2.in 2);
+}
+\newcommand*{\fullcirc}[1][]{%
+\begin{circuitikz}
+    \draw (0,0) \myblock{A};
+    \draw (0,-4) \myblock{B};
+    %
+    % do the connection
+    %
+    \draw (A-AND1.in 2) to[short, -*] (A-AND2.in 1)
+        to[short, -*] (B-AND1.in 2) to[short, -*] (B-AND2.in 1)
+        -- ++(0, -2) coordinate(down) node[below]{ENABLE};
+    \draw (A-FF.pin 2) to[short, -*] (B-FF.pin 2)
+        -- (B-FF.pin 2 |- down) node[below]{CP};
+    % look at the manual again here
+    \draw (B-FF.down) to[short, -*] ++(0,-0.3) coordinate(dd);
+    \draw (A-FF.down) -- ++(0,-.5) -- ++(1.5,0) |- (dd)
+        -- (dd |- down) node[below]{RESET};
+    \draw (A-in) -- ++(-0.5, 0) node[below]{$a_0$};
+    \draw (B-in) -- ++(-0.5, 0) node[below]{$a_1$};
+    %
+    #1
+    %
+\end{circuitikz}%
+}
+
+\begin{minipage}{0.45\linewidth}
+\parskip=6pt plus 12pt minus 2pt
+
+Let's suppose we want to reproduce the circuit on the right\footnotemark, maybe as part of a more complex one.
+
+Looking at the circuit to draw, I see that there is a basic block: the flip-flop with the added three-port circuit to its left, marked with the red dashed rectangle.
+The main distance to respect here is that we want the two ANDs in line with the flip-flop inputs, so I'll start with the flip-flop and then add the rest of the block.
+
+The shapes are very similar to the IEEE logic gates (see section~\ref{sec:ieeestdports});
+after a first check, the standard size of the port is a bit too big with respect to the flip-flop, so I scale them down a bit.
+
+\begin{lstlisting}
+\ctikzset{
+        logic ports=ieee,
+        logic ports/scale=0.7,
+}
+\end{lstlisting}
+\end{minipage}\hfill
+\begin{minipage}{0.5\linewidth}
+    \fullcirc[{
+        \node[draw, red, dashed, fit=(A-in) (A-FF)]{};
+    }]
+\end{minipage}
+\footnotetext{It seems a quite popular one on \href{https://tex.stackexchange.com/q/545317/38080}{tex.stackexchange}\dots}
+
+I want a reusable block, so I will start from a coordinate and then use only relative, defining coordinates along the way.
+
+\begin{minipage}{0.7\linewidth}
+    The first thing is to define a suitable flip-flop. The standard SR~(see \ref{sec:flipflops}) is \emph{almost} what we need, but not exactly the same. So let's define a new one:
+    \begin{lstlisting}
+\tikzset{sr-ff/.style={flipflop, flipflop def={
+    t1=S, t2=CP, t3=R, t4={\ctikztextnot{Q}},
+    t6=Q, nd=1}},
+}
+    \end{lstlisting}
+\end{minipage}\hfill
+\begin{minipage}{0.2\linewidth}
+    \begin{circuitikz}[scale=0.8, transform shape]
+        \tikzset{sr-ff/.style={flipflop, flipflop def={
+            t1=S, t2=CP, t3=R, t4={\ctikztextnot{Q}},
+            t6=Q, nd=1}},
+        }
+        \node[sr-ff]{};
+    \end{circuitikz}
+\end{minipage}
+
+\begin{minipage}{0.7\linewidth}
+
+    If you look closer, you can notice that the new flip-flop has no lead in the bottom pin; this is due to the fact that there is no label here, and leads are drawn in flip-flops only if there is a label. This can be fixed by adding a blank label (like \verb|td=~|); otherwise you have to utilize the anchors on the internal ``not'' circle.
+
+\end{minipage}\hfill
+\begin{minipage}{0.2\linewidth}
+    \begin{circuitikz}[scale=0.8, transform shape]
+        \node[sr-ff]{};
+    \end{circuitikz}
+\end{minipage}
+
+Now we can add the ``and'' gates. For example, we can add the gates to the right like this:
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[]
+    \draw (0,0) node[sr-ff](FF){} (FF.bup)
+    node[above]{SR-FF};
+    \draw (FF.pin 1) -- ++(-1,0) node[and port,
+        anchor=out](AND1){}
+          (FF.pin 3) -- ++(-1,0) node[and port,
+        anchor=out](AND2){};
+\end{circuitikz}
+\end{LTXexample}
+
+You can notice a pair of things here: first of all, the use of the \texttt{anchor=out} in the port, to tell \TikZ{} that we want the node moved so that the \texttt{out} anchor is the reference one. The second one is that we have repeated the absolute shift (the \texttt{++(-1, 0)}) twice. This is a bad practice; it is much better to have the ``free'' parameters of a schematic just stated once, so that we can change them in just one point.
+
+You can of course use a macro, like \verb|\newcommand{\andshift}{(-1,0)}| but it is much more elegant to do something like this:
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[]
+    \draw (0,0) node[sr-ff](FF){} (FF.bup)
+    node[above]{SR-FF};
+    \draw (FF.pin 1) -- ++(-1,0) node[and port,
+        anchor=out](AND1){}
+        (FF.pin 3) -- (FF.pin 3 -| AND1.out)
+        node[and port, anchor=out](AND2){};
+\end{circuitikz}
+\end{LTXexample}
+
+In this snippet, the coordinate \texttt{(FF.pin 3 -| AND1.out)} is the \TikZ{} way to say ``the point which is horizontally straight from \texttt{FF.pin 3} and vertically form \texttt{AND1.out}''. That way one can change the number \texttt{-1} to move both AND ports nearer or farther away.
+
+Now we can add the not port. Since version~\texttt{1.1.3} you can use a path-style not port, so you can just say: this:
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[scale=0.8, transform shape]
+\draw (0,0) node[sr-ff](FF){} (FF.bup)
+    node[above]{SR-FF} (FF.pin 1) -- ++(-1,0)
+    node[and port, anchor=out](AND1){}
+    (FF.pin 3) -- (FF.pin 3 -| AND1.out)
+    node[and port, anchor=out](AND2){}
+    (AND1.in 1) to[short, -*] ++(-1,0) coordinate(in)
+    to[inline not] (in |- AND2.in 2) -- (AND2.in 2);
+\end{circuitikz}
+\end{LTXexample}
+
+In earlier version, you should have found the center point between the two terminal, position the ``not'' shape and ten connect it, like for example (this code must stay into the \verb|\draw| command):
+
+\begin{lstlisting}
+    % let's position the NOT in the center
+    % this is using the calc tikz library
+    ($(in)!0.5!(in |- AND2.in 2)$) node[not port, rotate=-90](NOT){}
+    % and connect it
+    (in) -- (NOT.in) (NOT.out) |- (AND2.in 2)
+\end{lstlisting}
+
+Now we have the basic block; we have to use it twice, so one of the possible way to do it is to prepare a command.
+We will change the names of the nodes and the coordinates to be different for any ``call'' of the block (another option is to use a \texttt{pic}; but this is more straightforward).
+
+\begin{lstlisting}
+\newcommand*{\myblock}[1]{%  Add #1- to the node and coord names
+    node[sr-ff](#1-FF){} (#1-FF.bup) node[above]{SR-FF}
+        (#1-FF.pin 1) -- ++(-1,0) node[and port, anchor=out](#1-AND1){}
+        (#1-FF.pin 3) -- (#1-FF.pin 3 -| #1-AND1.out)
+        node[and port, anchor=out](#1-AND2){}
+        (#1-AND1.in 1) to[short, -*] ++(-1,0) coordinate(#1-in)
+        to[inline not] (#1-in |- #1-AND2.in 2) -- (#1-AND2.in 2);
+}
+\end{lstlisting}
+
+
+\begin{minipage}{0.45\linewidth}
+\parskip=6pt plus 12pt minus 2pt
+
+So now we can draw two of our blocks:
+\begin{lstlisting}
+    \draw (0,0) \myblock{A};
+    \draw (0,-4) \myblock{B};
+\end{lstlisting}
+Part of the anchors and coordinates that we have accessible are marked in red in the diagram at the side.
+
+Now we have to just connect the relevant parts and add the labels. The names of the inputs are quite easy:
+\begin{lstlisting}
+    \draw (A-in) -- ++(-0.5, 0) node[below]{$a_0$};
+    \draw (B-in) -- ++(-0.5, 0) node[below]{$a_1$};
+\end{lstlisting}
+And finally:
+\end{minipage}\hfill
+\begin{minipage}{0.5\linewidth}
+    \begingroup
+    \def\showcoord(#1)<#2:#3>{%
+    node[circle, red, draw, inner sep=1pt,pin={%
+        [red, inner sep=0.5pt, font=\small,
+        pin distance=#3cm, pin edge={red, }%
+    ]#2:#1}](){}}
+    \begin{circuitikz}[]
+        \draw (0,0) \myblock{A};
+        \draw (0,-4) \myblock{B};
+        \foreach \b in {A, B}
+            \foreach \n in {in, AND1.in 2, AND2.in 1, FF.pin 2, FF.down}
+                \path (\b-\n) \showcoord(\b-\n)<45:0.6>;
+    \end{circuitikz}
+    \endgroup
+\end{minipage}
+
+\begin{lstlisting}
+    \draw (A-AND1.in 2) to[short, -*] (A-AND2.in 1)
+        to[short, -*] (B-AND1.in 2) to[short, -*] (B-AND2.in 1)
+        -- ++(0, -2) coordinate(down) node[below]{ENABLE};
+    \draw (A-FF.pin 2) to[short, -*] (B-FF.pin 2)
+        -- (B-FF.pin 2 |- down) node[below]{CP};
+    \draw (B-FF.down) to[short, -*] ++(0,-0.3) coordinate(dd);
+    \draw (A-FF.down) -- ++(0,-.5) -- ++(1.5,0) |- (dd)
+        -- (dd |- down) node[below]{RESET};
+\end{lstlisting}
+
+Will create the final diagram:
+
+\begin{circuitikz}[scale=0.8, transform shape]
+    \draw (0,0) \myblock{A};
+    \draw (0,-4) \myblock{B};
+    %
+    % do the connection
+    %
+    \draw (A-AND1.in 2) to[short, -*] (A-AND2.in 1)
+        to[short, -*] (B-AND1.in 2) to[short, -*] (B-AND2.in 1)
+        -- ++(0, -2) coordinate(down) node[below]{ENABLE};
+    \draw (A-FF.pin 2) to[short, -*] (B-FF.pin 2)
+        -- (B-FF.pin 2 |- down) node[below]{CP};
+    % look at the manual again here
+    \draw (B-FF.down) to[short, -*] ++(0,-0.3) coordinate(dd);
+    \draw (A-FF.down) -- ++(0,-.5) -- ++(1.5,0) |- (dd)
+        -- (dd |- down) node[below]{RESET};
+    \draw (A-in) -- ++(-0.5, 0) node[below]{$a_0$};
+    \draw (B-in) -- ++(-0.5, 0) node[below]{$a_1$};
+    %
+\end{circuitikz}
+\endgroup
 
 
 \section{The components}
@@ -1618,12 +1863,12 @@ Notice that source and generators are divided in three classes that can be style
 
 \subsubsection{Stationary sources}
 \begin{groupdesc}
-    \circuitdescbip*[vsource]{european voltage source}{Voltage source (european style)}{}
+    \circuitdescbip*[vsource]{european voltage source}{Voltage source (european style)}{vsource}
     \circuitdescbip*[vsourceC]{cute european voltage source}{Voltage source (cute european style)}{vsourceC, ceV}
-    \circuitdescbip*[vsourceAM]{american voltage source}{Voltage source (american style)}{}
-    \circuitdescbip*[isource]{european current source}{Current source (european style)}{}
+    \circuitdescbip*[vsourceAM]{american voltage source}{Voltage source (american style)}{vsourceAM}
+    \circuitdescbip*[isource]{european current source}{Current source (european style)}{isource}
     \circuitdescbip*[isourceC]{cute european current source}{Current source (cute european style)}{isourceC, ceI}
-    \circuitdescbip*[isourceAM]{american current source}{Current source (american style)}{}
+    \circuitdescbip*[isourceAM]{american current source}{Current source (american style)}{isourceAM}
 \end{groupdesc}
 
 \begin{framed}
@@ -1649,12 +1894,12 @@ Similarly, if (default behaviour) \texttt{europeanvoltages} option is active (or
 
 \subsubsection{Controlled sources}
 \begin{groupdesc}
-    \circuitdescbip*[cvsource]{european controlled voltage source}{Controlled voltage source (european style)}{}
+    \circuitdescbip*[cvsource]{european controlled voltage source}{Controlled voltage source (european style)}{cvsource}
     \circuitdescbip*[cvsourceC]{cute european controlled voltage source}{Voltage source (cute european style)}{cvsourceC, cceV}
-    \circuitdescbip*[cvsourceAM]{american controlled voltage source}{Controlled voltage source (american style)}{}
-    \circuitdescbip*[cisource]{european controlled current source}{Controlled current source (european style)}{}
+    \circuitdescbip*[cvsourceAM]{american controlled voltage source}{Controlled voltage source (american style)}{cvsourceAM}
+    \circuitdescbip*[cisource]{european controlled current source}{Controlled current source (european style)}{cisource}
     \circuitdescbip*[cisourceC]{cute european controlled current source}{Current source (cute european style)}{cisourceC, cceI}
-    \circuitdescbip*[cisourceAM]{american controlled current source}{Controlled current source (american style)}{}
+    \circuitdescbip*[cisourceAM]{american controlled current source}{Controlled current source (american style)}{cisourceAM}
     \circuitdescbip*[ecsource]{empty controlled source}{Empty controlled source}{ecsource}
 \end{groupdesc}
 
@@ -3885,7 +4130,7 @@ Logic gates, with two or more input, are supported. Albeit in principle these co
     \circuitdesc*{american not port}{American \textsc{not} port}{}
 \end{groupdesc}
 
-There is no ``european''  version of the following symbols (but you can probably use the \texttt{schmitt symbol} of the IEEE standard ports.
+There is no ``european''  version of the following symbols; for now they are used both in \texttt{american} and \texttt{european} styles, but iy may change in the future.
 
 \begin{groupdesc}
     \circuitdesc*{schmitt}{Non-Inverting Schmitt trigger}{}
@@ -3910,7 +4155,7 @@ These ports are completely independent from the legacy set (either \texttt{ameri
     \circuitdesc*{ieeestd buffer port}{IEEE standard buffer port}{}(in 1/180/0.2, bin 1/-155/0.2, up/30/0.2, down/-30/0.2)
     \circuitdesc*{ieeestd not port}{IEEE standard ``not'' port}{}(in/180/0.2, bin/-155/0.2, out/0/0.2, bout/45/0.2)
     \circuitdesc*{ieeestd schmitt port}{Schmitt port matched to IEEE standard ports}{}(in/180/0.2, out/0/0.2, bout/45/0.2)
-    \circuitdesc*{ieeestd inv schmitt port}{Inverting Schmitt port matched to IEEE standard ports}{}
+    \circuitdesc*{ieeestd invschmitt port}{Inverting Schmitt port matched to IEEE standard ports}{}
     \circuitdesc*{notcirc}{Inverting dot for IEEE ports}{}(west/180/0.1, east/0/0.1)
     \circuitdesc*{schmitt symbol}{Schmitt symbol to add to input pins if needed}{}(north west/145/0.1, south east/-45/0.1)
 \end{groupdesc}
@@ -3928,15 +4173,37 @@ These ports are completely independent from the legacy set (either \texttt{ameri
 \end{groupdesc}
 
 \begin{framed}
-If (default behaviour) \texttt{americanports} option is active (or the style \texttt{[american ports]} is used), the shorthands \texttt{and port}, \texttt{or port}, \texttt{not port}, \texttt{nand port}, \texttt{not port}, \texttt{xor port}, and \texttt{xnor port} are equivalent to the american version of the respective logic port.
+If (default behaviour) \texttt{americanports} option is active (or the style \texttt{[american ports]} is used), the shorthands \texttt{and port}, \texttt{or port}, \texttt{buffer port}, \texttt{nand port}, \texttt{nor port},  \texttt{not port}, \texttt{xor port}, \texttt{xnor port}, \texttt{schmitt port} and \texttt{invschmitt port}  are equivalent to the american version of the respective logic port.
 
-If otherwise \texttt{europeanports} option is active (or the style \texttt{[european ports]} is used), the shorthands \texttt{and port}, \texttt{or port}, \texttt{not port}, \texttt{nand port}, \texttt{not port}, \texttt{xor port}, and \texttt{xnor port} are equivalent to the european version of the respective logic port.
+If otherwise \texttt{europeanports} option is active (or the style \texttt{[european ports]} is used), the shorthands \texttt{and port}, \texttt{or port}, \texttt{buffer port}, \texttt{nand port}, \texttt{nor port},  \texttt{not port}, \texttt{xor port}, \texttt{xnor port} are equivalent to the european version of the respective logic port; \texttt{schmitt port} and \texttt{invschmitt port} are the same as in \texttt{american ports} style.
 
 Finally, for version \texttt{1.1.0} and up, you can use the style \texttt{ieee ports} to set the shorthands to the set of \texttt{ieeestd} ports. (There is no global option for this).
 \end{framed}
 
+\subsubsection{Path-style logic ports}
+
+The one-input, one-output ports have a handy path-style equivalent; they are the following:
+
+\begin{groupdesc}
+    \ctikzset{logic ports=ieee}
+    \circuitdescbip*{inline not}<not port>{``not''  logic port}{}
+    \circuitdescbip*{inline buffer}<buffer port>{``buffer''  logic port}{}
+    \circuitdescbip*{inline schmitt}<schmitt port>{Schmitt logic port}{}
+    \circuitdescbip*{inline invschmitt}<invschmitt port>{Inverting Schmitt logic port}{}
+\end{groupdesc}
+
+Those ports follows the current selected style, although you can change it on the fly (even if it has not a lot of sense); you can apply labels, annotations and (again, not a lot of sense) voltages to them. The assigned value is typeset as if it were the main text of the node.
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[american]
+    \ctikzset{logic ports=ieee}
+    \draw (0,0) to[inline not=I1, l=label, v=$\Delta V$] ++(2,0);
+    \draw (0,-2) to[inline not, a=ann, european ports] ++(2,0);
+\end{circuitikz}
+\end{LTXexample}
+
 
-\subsubsection{American port usage}
+\subsubsection{American ports usage}
 
 Since version \texttt{1.0.0}, the default shape of the family of american ``or'' ports has changed to a more ``pointy'' one, for better distinguish them from the ``and''-type ports. You can still going back to the previous aspect with the key \texttt{american or shape} that can be set to \texttt{pointy} or \texttt{roundy}. The \texttt{legacy} style will enact the old, roundy style also.
 
@@ -4023,7 +4290,7 @@ This is useful if you need to draw a generic port, like the one following here:
 \end{circuitikz}
 \end{LTXexample}
 
-The flag works also for the european-style ports, and it suppress only the input leads because the negated ports in european style are ill-specified if you do not draw the output leads (and moreover, it seems really less useful).
+In an analogous manner, there is a setting \texttt{logic ports draw output leads} (and a corresponding style \texttt{no output leads}) that suppresses the drawing of the output lead. A shortcut boolean key \texttt{logic ports draw leads} will suppress or enable all leads (the corresponding styles are \texttt{no leads} and \texttt{all leads}).
 
 You can tweak the appearance of american ``or'' family (\texttt{or}, \texttt{nor}, \texttt{xor}  and \texttt{xnor}) ports, too, with the parameters \texttt{inner} (how much the base circle go ``into'' the shape, default 0.3) and \texttt{angle} (the angle at which the base starts, default 70).
 
@@ -4133,6 +4400,18 @@ In the case of \textsc{not}, there are only \texttt{in} and \texttt{out} (althou
 ;\end{circuitikz}
 \end{LTXexample}
 
+This last circuit could be drawn also (and probably in a more natural manner) using the path-style components:
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[american]
+    \draw (0,0) node[ground]{} to[C] ++(0,1.5)
+    coordinate(c)
+    to[inline not] ++(2.5,0) -- ++(0,1)
+    -| ++(-5,-1)
+    to[inline not] (c);
+\end{circuitikz}
+\end{LTXexample}
+
 
 
 
@@ -5593,7 +5872,7 @@ Use option \texttt{americanvoltage} or set \verb![american voltages]! or use the
 \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.
+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.4}) for the latter.
 
 \begin{LTXexample}[varwidth=true]
 \begin{circuitikz}[american voltages]
@@ -5684,7 +5963,7 @@ This could be especially useful if you define a style, to use like this:
 \tikz \draw (0,0) to[C, i=$\imath$] (2,0);
 \end{LTXexample}
 
-However, you can override the properties \texttt{voltage/distance from node} (how distant from the initial and final points of the path the arrow starts and ends) and \texttt{voltage/bump b} (how high the bump of the arrow is --- how curved it is)\footnote{Prior to 0.9.4 you had also \texttt{voltage/european label distance} (how distant from the bipole the voltage label will be) but this is deprecated, and the european-style label is printed near the bump)} on a per-component basis, in order to fine-tune the voltages:
+However, you can override the properties \texttt{voltage/distance from node} (how distant from the initial and final points of the path the arrow starts and ends, default \texttt{0.5}) and \texttt{voltage/bump b} (how high the bump of the arrow is --- how curved it is, default \texttt{1.5}), and also \texttt{voltage/european label distance} (how distant from the ``bump''  the voltage label will be, default \texttt{1.4}) on a per-component basis, in order to fine-tune the voltages:
 
 
 \begin{LTXexample}[varwidth=true]
@@ -6572,13 +6851,13 @@ If you think they are too tight or too loose you can use a (developer-only) key
 
 \begin{LTXexample}[varwidth]
 \begin{circuitikz}
-    \ctikzset{bipoles/viscoe/voltage/additional label shift/.initial=1}
+    \ctikzset{bipoles/viscoe/voltage/additional shift/.initial=1}
     \draw (0,0) to[spring] ++(2,0)
     to[viscoe, v=V] ++(2,0);
 \end{circuitikz}
 \end{LTXexample}
 
-Notice that by default the key \texttt{bipoles/\emph{mybipole}/voltage/additional label shift} is not defined, so if you want to use it you must create it before (this is the meaning of the \texttt{.initial} here).
+Notice that by default the key \texttt{bipoles/\emph{mybipole}/voltage/additional shift} is not defined, so if you want to use it you must create it before (this is the meaning of the \texttt{.initial} here).
 
 
 As a final note, notice that the \texttt{viscoe} element is already added to the standard package.
-- 
cgit v1.2.3

