summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex')
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex239
1 files changed, 229 insertions, 10 deletions
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
index 03e0207baa..d9ebe7a284 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
@@ -3731,6 +3731,7 @@ To add the circle to a single transistor, you use the \texttt{tr circle} keys in
\end{circuitikz}
\end{LTXexample}
+You can tweak the appearance of transistor's circles and even draw it partially; see ~\ref{sec:trans-circle-custom} for details.
\paragraph{Body diodes and similar things.}\label{sec:bodydiodes-anchor} For all transistors (minus \texttt{bjtnpn} and \texttt{bjtpnp}) a body diode (or freewheeling or flyback diode) can automatically be drawn. Just use the global option \texttt{bodydiode}, or for single transistors, the tikz-option \texttt{bodydiode}.
As you can see in the next example, the text for the diode is moved if a bodydiode is present (but beware, if you change a lot the relative dimension of components, it may become misplaced):
@@ -3746,7 +3747,9 @@ As you can see in the next example, the text for the diode is moved if a bodydio
\end{circuitikz}
\end{LTXexample}
-You can use the \texttt{body ...} anchors to add more or different things to the transistors in addition (or instead) of the flyback diode.
+You can tweak the appearance of transistor's bodydiodes; see ~\ref{sec:trans-bodydiode-custom}.
+
+For more complex snubs or protections, you can use the \texttt{body ...} anchors to add more or different things to the transistors in addition (or instead) of the flyback diode.
\begin{LTXexample}[varwidth=true]
\def\snubb#1#2{% add a snubber to a transistor
@@ -3953,7 +3956,7 @@ You can create completely ``bare'' transistors (without the connection leads to
\end{groupdesc}
-\subsubsection{Transistor circle customization}
+\subsubsection{Transistor circle customization}\label{sec:trans-circle-custom}
\paragraph{Position and size.} You can see in the following diagram where the circle is positioned --- when there is no bodydiode, it will pass through the anchors for the body diode and near the base connection. The dimension of the circle is bigger when the bodydiode is in, to encompass it.
The anchors are present even there is no circle, so you can use them to draw different kind of circles (say, encompassing two transistors) in a coherent way.
@@ -4058,6 +4061,47 @@ The dashed line pattern can be changed by setting the key \texttt{transistor cir
\end{circuitikz}
\end{LTXexample}
+\subsubsection{Transistor bodydiode customization}\label{sec:trans-bodydiode-custom}
+
+You can change the style of the bodydiode\footnote{Suggested by \href{https://tex.stackexchange.com/questions/653348/drawing-mosfet-bodydiode-dashed}{user Alex Ghilas on TeX.SX}, implemented in \texttt{v1.5.4}.} in a similar way to the one used for circles (albeit with less options), by setting keys with the \verb!\ctikzset! command (or, like in the following example, directly in the node instantiation) under the \texttt{transistor bodydiode} hierarchy. The available keys are:
+
+\begin{center}
+ \begin{tabular}{>{\ttfamily}l>{\ttfamily}lp{0.5\linewidth}}
+ \toprule
+ parameter & default & description \\
+ \midrule
+ relative thickness & 1.0 & multiply the class thickness \\
+ color & default & stroke color: \texttt{default} is the same as the component \\
+ dash & default & dash pattern: \texttt{default} means not to change the setting for the component; \texttt{none} means unbroken line; every other input is a dash pattern.\footnotemark \\
+ \bottomrule
+ \end{tabular}
+ \footnotetext{Follows the syntax of the pattern sequence \texttt{\textbackslash pgfsetdash} --- see \TikZ{} manual for details; phase is always zero. Basically you pass pairs of dash-length -- blank-length dimensions, see the examples.}
+\end{center}
+
+The following is a quite extensive example. Obviously, a good strategy in this case is to define styles for the options.
+
+\begin{LTXexample}[varwidth=true, pos=t, basicstyle=\small\ttfamily]
+\begin{tikzpicture}[red solid thin bodydiode/.style={bodydiode,
+ circuitikz/transistor bodydiode/dash=none,
+ circuitikz/transistor bodydiode/color=red,
+ circuitikz/transistor bodydiode/relative thickness=0.3}]
+ \draw (0,0) node (mosfet1) [nigfete,anchor=D,bodydiode] {$Q_1$};
+ \draw[densely dashed] (3,0) node (mosfet1) [nigfete,anchor=D,bodydiode] {$Q_2$};
+ \draw (6,0) node (mosfet1) [nigfete,anchor=D,bodydiode,
+ circuitikz/transistor bodydiode/color=gray] {$Q_3$};
+ \draw (0,-2) node (mosfet1) [nigfete,anchor=D,bodydiode,
+ circuitikz/transistor bodydiode/dash={{2pt}{1pt}}] {$Q_4$};
+ \draw[densely dashed] (3,-2) node (mosfet1) [nigfete,anchor=D,
+ red solid thin bodydiode] {$Q_5$};
+ \ctikzset{transistor bodydiode/relative thickness=.5}% from now on, in scope
+ \draw[densely dotted] (6,-2) node (mosfet1) [nigfete,anchor=D,bodydiode,
+ circuitikz/transistor bodydiode/dash=none] {$Q_6$};
+ \path (7,0); %% adjust bounding box (node text is outside it!)
+\end{tikzpicture}
+\end{LTXexample}
+
+
+
\subsubsection{Transistors anchors}
For \textsc{nmos}, \textsc{pmos}, \textsc{nfet}, \textsc{nigfete}, \textsc{nigfetd}, \textsc{pfet}, \textsc{pigfete}, and \textsc{pigfetd} transistors one has \texttt{base}, \texttt{gate}, \texttt{source} and \texttt{drain} anchors (which can be abbreviated with \texttt{B}, \texttt{G}, \texttt{S} and \texttt{D}):
@@ -4623,8 +4667,8 @@ The symbols can also be used along a path, using the transistor-path-syntax(\tex
Transformers automatically use the inductor shape currently selected. These are the three possibilities:
\begin{groupdesc}
\ctikzset{inductor=cute}
- \circuitdesc{transformer}{Transformer (cute inductor)}{}( A1/180/0.1,
- A2/180/0.1, B1/0/0.1, B2/0/0.1,
+ \circuitdesc{transformer}{Transformer (cute inductor)}{$T_1$}( A1/180/0.1,
+ A2/180/0.1, B1/0/0.1, B2/0/0.1, north/45/0.4,
inner dot A1/-135/0.2, inner dot A2/135/0.2, inner dot B1/-45/0.1,
inner dot B2/45/0.1 )
\ctikzset{inductor=american}
@@ -4648,7 +4692,15 @@ Transformers with core are also available:
\ctikzset{inductor=cute} % reset default
\end{groupdesc}
-\subsubsection{Double dipoles anchors}
+You can also build generic double bipoles\footnote{The idea of generic double bipoles was originated by user \href{https://github.com/circuitikz/circuitikz/issues/641}{erwindenboer on GitHub}.} (although it's often better to use subcircuits in this case; see section~\ref{sec:subcircuits}).
+
+\begin{groupdesc}
+ \circuitdesc{double bipole}{Generic double bipole (configurable components)}{$A_v$}(north/45/0.4, center/-90/0.6, east/45/0.2)[L.south/180/0.2, R.west/-45/0.2]
+ \ctikzset{double bipole L=fulllediodeshape, double bipole R=emptydiodeshape, double bipole R invert, diodes/scale=0.6}
+ \circuitdesc{double bipole}{Generic double bipole (this specific configuration is shown in section~\ref{sec:doublebipoles})}{$A_v$}(north/45/0.4, center/-90/0.6, east/45/0.2)[L.south/180/0.2, R.west/-45/0.2]
+\end{groupdesc}
+
+\subsubsection{Transformer anchors}
All the double bipoles/quadrupoles have the four anchors, two for each port.
The first port, to the left, is port \texttt{A}, having the anchors \texttt{A1} (up) and \texttt{A2} (down); same for port \texttt{B}.
@@ -4743,7 +4795,7 @@ Moreover, you can access the two internal coils (inductances); if your transform
\node [ocirc] at (T.B1){}; \node [ocirc] at (T.B2){};
\end{circuitikz}
\end{LTXexample}
-\subsubsection{Double dipoles customization}
+\subsubsection{Transformers customization}
Transformers are in the \texttt{inductors} class (also the gyrator\dots), so they scale with the key \texttt{inductors/scale}.
@@ -4860,6 +4912,88 @@ You can obviously define a style for a ``non-standard'' transformer. For example
Remember that the default \texttt{pgfkeys} directory is \texttt{/tikz} for nodes and for the options of the environment, so you \emph{have} to use the full path (with \texttt{circuitikz/}) there.
+\subsubsection{Generic double bipoles}\label{sec:doublebipoles}
+
+Generic double bipoles have more or less the same keys for size that the transformers (like \texttt{../width}, \texttt{.../inner} etc.) using the component name \texttt{double bipole}. Also the anchors are similar, with the main difference that the ``dot'' anchors are fixed, so they do \emph{not} adapt to the size of the component.
+Another important difference is that the class of the generic double bipole is \texttt{misc}, not \texttt{inductors} (which is reserved to transformers and, for an historical hiccup, to the gyrator).
+
+By default, the left component is a generic impedance, and the right one is an (American-style, it will not change automatically) voltage generator. You can use \texttt{quadpoles style=inner} as shown in the rightmost drawing below.
+
+\geocoord{double bipole} {\ctikzset{quadpoles style=inline}\geocoord{double bipole}}
+
+The other anchors behave similarly to the transistor's ones; you also have access to the internal components nodes by using \texttt{\emph{nodename}-R} and \texttt{\emph{nodename}-L} names for the right and left element, which is supposed to be \texttt{T} in the drawing below. Be wary that given that here you can (see later) reverse the direction of one or both of the elements, the rotation (and so the anchors) is not fixed (you can see that in the blue and green examples below).
+
+\begin{quote}
+\begin{circuitikz}[cute inductors,
+ ]
+ \def\coordx(#1)[#2:#3]#4{node[circle, #4, draw, inner sep=1pt,pin={[#4, overlay, inner sep=0.5pt, font=\scriptsize, pin distance=#2cm, pin edge={#4, overlay,}]#3:#1}](#1){}}
+ \tikzset{ddpinv/.style={double bipole, circuitikz/double bipole R invert}}
+ \foreach \comp/\pos/\case in {%
+ double bipole/0/0%
+ ,double bipole/4/1%
+ ,ddpinv/8/2%
+ }{
+ \draw (\pos, 0) node[\comp](T){};
+ \ifcase\case
+ \foreach \a/\d/\t in {inner dot A1/0.2/75, inner dot A2/0.2/-75, inner dot B1/0.1/-45, inner dot B2/0.1/45}
+ \path (T.\a) \coordx(\a)[\d:\t]{red};
+ \path (T-L.south) \coordx(T-L.south)[0.6:180]{red};
+ \or
+ \foreach \a/\d/\t in {outer dot A1/0.4/90, outer dot A2/0.4/-90, outer dot B1/0.2/45, outer dot B2/0.2/-45}
+ \path (T.\a) \coordx(\a)[\d:\t]{blue};
+ \path (T-R.a) \coordx(T-R.a)[0.6:0]{blue};
+ \path (T-R.b) \coordx(T-R.b)[0.6:0]{blue};
+ \path (T-R.south) \coordx(T-R.south)[0.6:0]{blue};
+ \or
+ \foreach \a/\t in {A1/120, A2/-120, B1/120, B2/-120, base/-90}
+ \path (T.\a) \coordx(\a)[0.2:\t]{green!50!black};
+ \path (T-R.a) \coordx(T-R.a)[0.6:0]{green!50!black};
+ \path (T-R.b) \coordx(T-R.b)[0.6:0]{green!50!black};
+ \path (T-R.north) \coordx(T-R.north)[0.6:0]{green!50!black};
+ \fi
+ }
+\end{circuitikz}
+\end{quote}
+
+Generic double bipoles are meant to be used through a style, choosing the left and right components. The keys that let you change the components are the following ones:
+\begin{itemize}
+ \item \texttt{double bipole L}, \texttt{double bipole R}: the \textbf{nodename} of the component you want on the left and right side (default: \texttt{genericshape} and \texttt{vsourceAMshape}).
+ \item \texttt{double bipole L invert}, \texttt{double bipole R invert}: controls the direction of the element inserted (default \texttt{false} for both; that means that the left bipole goes ``down'' and the second one ``up'').
+ \item \texttt{every double bipole L}, \texttt{every double bipole R}: a style that is enacted when drawing the component; by default it's void.
+\end{itemize}
+For example, the LED-diode double bipole at the start of the section could be obtained this way:
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[
+ led to D/.style={double bipole,
+ % at tikz level, you have to use circuitikz/ explicitly
+ circuitikz/double bipole L=fulllediodeshape,
+ circuitikz/double bipole R=emptydiodeshape,
+ circuitikz/every double bipole L/.style={diodes/scale=0.6},
+ circuitikz/every double bipole R/.style={diodes/scale=0.6},
+ circuitikz/double bipole R invert,
+ },
+ ]
+ \draw (0,0) node[led to D]{};
+\end{circuitikz}
+\end{LTXexample}
+
+As a final example, and given that the addition of generic double bipole was stimulated by an issue opened by \href{https://github.com/circuitikz/circuitikz/issues/641}{user erwindenboer on GitHub} suggesting the addition of a nullor shape, the nullor can be obtained like this:
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[
+ nullor/.style={double bipole,
+ % at tikz level, you have to use circuitikz/ explicitly
+ circuitikz/double bipole L=nullatorshape,
+ circuitikz/double bipole R=noratorshape,
+ circuitikz/every double bipole L/.style={sources/scale=0.5},
+ },
+ ]
+ \draw (0,0) node[nullor](T1){};
+\end{circuitikz}
+\end{LTXexample}
+although now adding currents and voltages is not as trivial as if the component is built with a subcircuit\dots
+
+
+
\subsection{Amplifiers}\label{sec:amplifiers}
\begin{groupdesc}
@@ -4979,6 +5113,7 @@ Amplifiers have also ``border'' anchors (just add \texttt{b}, without space, to
You can scale the amplifiers using the key \texttt{amplifiers/scale} and setting it to something different from \texttt{1.0}. The font used for symbols will not scale, so it's your responsibility to change it if the need arises.
+\paragraph{Input polarity.}
All these amplifier have the possibility to flip input and output (if needed) polarity. You can change polarity of the input with the
\texttt{noinv input down} (default) or \texttt{noinv input up} key; and the output with \texttt{noinv output up} (default) or \texttt{noinv output down} key:
\begin{LTXexample}[varwidth=true]
@@ -4999,9 +5134,10 @@ All these amplifier have the possibility to flip input and output (if needed) po
When you use the \texttt{noinv input/output ...} keys the anchors (\texttt{+}, \texttt{-}, \texttt{out +}, \texttt{out -}) will change with the effective position of the terminals. You have also the anchors \texttt{in up}, \texttt{in down}, \texttt{out up}, \texttt{out down} that will not change with the positive or negative sign.
+\paragraph{Input and output pins symbols.}
You can change the symbols ``$+$'' or ``$-$'' appearing in the amplifiers if you want, both globally and on component-by-component basis. The plus and minus symbols can be changed with \verb|\ctikzset| of the keys \texttt{amplifiers/plus} and \texttt{amplifiers/minus} (which defaults to the math mode plus or minus cited before), or using the styles \texttt{amp plus} and \texttt{amp minus}.
-The font used is set in several keys, but you can change it globally with \verb|\tikzset{amp symbol font}|, which has a default of 10-point (in \LaTeX, and the corresponding one in \ConTeXt). You can change it for example with
+The font used is set in several keys, but you can change it globally with \texttt{\textbackslash tikzset\{amp symbol font\}}, which has a default of 10-point (in \LaTeX, and the corresponding one in \ConTeXt). You can change it for example with
\begin{lstlisting}
\tikzset{amp symbol font={%
\color{blue}\fontsize{12}{12}\selectfont\boldmath}}
@@ -5036,7 +5172,26 @@ If you want different symbols for input and output you can use a null symbol and
\end{circuitikz}
\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}.
+\paragraph{Input and output pins length.} The length of the wires that extends outside the main amplifier shape are not easily changed globally. You can use a trick\footnote{See the discussion with \href{https://github.com/circuitikz/circuitikz/issues/645}{user @erwindenboer on GitHub};notice that this method is using internal keys and can stop working in the future.} though if you want to remove them completely:
+the size of an amplifier (included the pins) is set by the \texttt{circuitikz} key \texttt{tripoles/\emph{amplifier style}/width} and the size of the body of the amplifier, relative to it, is set by the key\texttt{tripoles/\emph{amplifier style}/port width}.
+Making the latter equal to one will set the length of the pin to zero; if you want to maintain the same aspect ratio of the shape you need to compensate with the width.
+
+For example, for the normal operational amplifier the key \texttt{tripoles/op amp/width} defaults to 1.7 and \texttt{tripoles/op amp/port width} is 0.7 (you need to peek that values in the source file \texttt{pgfcirctripoles.tex}). So you can do this:
+
+\begin{LTXexample}[varwidth=true]
+\begin{tikzpicture}[]
+ \draw (0,0) node[op amp](A){};
+ \ctikzset{tripoles/op amp/port width=1,
+ tripoles/op amp/width=1.19, % 1.7*0.7
+ }
+ \draw (2.5,0) node[op amp](B){};
+ \draw
+ (A.out) node[red, circ]{} (A.+) node[blue, circ]{}
+ (B.out) node[red, circ]{} (B.+) node[blue, circ]{};
+\end{tikzpicture}
+\end{LTXexample}
+
+\paragraph{Main amplifier label.} 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). These parameters are shared with IEEE-style logic ports.
\begin{LTXexample}[varwidth=true]
@@ -5053,8 +5208,8 @@ You can change the offset with the key \texttt{left text distance} (default \tex
\end{LTXexample}
These keys are also used for the positioning of the labels in the label positioning of IEEE logic gates (see~\ref{sec:ieeestdports}).
-\paragraph{European-style amplifier customization}
+\paragraph{European-style amplifier customization.}
Thanks to the suggestions from David Rouvel (\email{david.rouvel@iphc.cnrs.fr}) there are several possible customization for the European-style amplifiers.
Since 0.9.0, the default appearance of the symbol has changed to be more in line with the standard; notice that to have a bigger triangle by default we should require more packages, and I fear {Con\TeX t} compatibility; but see later on how to change it. Notice that the font used for the symbol is defined in \texttt{tripoles/en amp/font2} and that the font used for the \texttt{+} and \texttt{-} symbols is \texttt{tripoles/en amp/font}.
@@ -5170,7 +5325,7 @@ and \texttt{1.3.8} for the \texttt{draw only...} option).
\end{LTXexample}
-\subsection{Switches and buttons}
+\subsection{Switches, buttons and jumpers}
Switches and button come in to-style (the simple ones and the pushbuttons), and as nodes.
@@ -5513,7 +5668,71 @@ You can change that globally or locally, as ever. The tip specification is the o
\end{circuitikz}
\end{LTXexample}
+\subsubsection{Jumpers}
+
+You can think of jumpers like a kind of switches (they have the same function, just the way of operating them is different).
+\Circuitikz{} has two types of jumper symbols available, the simple ones and the three pins (or two-ways) ones.
+
+\paragraph{Simple jumpers.} These are the most common ones. They come in three variations, bare, open and closed.
+
+\begin{groupdesc}
+ \circuitdescbip*[bjumper]{bare jumper}{Bare jumper}{}(in/135/0.6, out/45/0.6)[out.n/90/0.2]
+ \circuitdescbip*[ojumper]{open jumper}{Open jumper}{}(in/135/0.6, out/45/0.6, top arc/90/0.3)[out.s/-90/0.2]
+ \circuitdescbip*[cjumper]{closed jumper}{Closed jumper}{}(left/135/0.6, right/45/0.6, top arc/90/0.3)[in.s/-90/0.2]
+\end{groupdesc}
+
+The \texttt{top arc} anchor can be used to locate the position of the top of the wire (when present). In bare jumper, the anchor is located in the middle of the connectors gap.
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[scale=0.8]
+ \draw (0,0) to[open jumper, l=J1] ++(2,0)
+ to[closed jumper, l_=J2, name=J2] ++(2,0)
+ to[bare jumper=J3] ++(2,0);
+ \draw [dashed] (J2.top arc) -- ++(0,0.5)
+ node[above] {\tiny open to enable};
+\end{circuitikz}
+\end{LTXexample}
+
+Similarly to switches, you have access to the subnodes representing the contacts, to be able to draw wires at different angles.
+The kind of poles used in the diagram can be changed with the \verb!\ctikzset! key \texttt{bipoles/jumpers/shape}.
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}[scale=0.8]
+ \draw (0,0) to[open jumper, l=J1, name=J1] ++(2,0)
+ to[closed jumper, l_=J2, name=J2,
+ bipoles/jumper/shape=odiamondpole] ++(2,0);
+ \draw [red] (J2-in.-135) -- ++(-135:1)
+ node[font=\tiny, below]{marked \emph{hot}};
+\end{circuitikz}
+\end{LTXexample}
+
+\paragraph{Two-ways (three-pins) jumpers.} In this case, the symbol represent two-ways jumpers (normally, three pins that can be connected in a couple of ways).
+
+To maintain flexibility, every possible combination of bare, open or closed is available; but to avoid to have to define too much different bipoles, a different approach is used here. You have to specify the style using a different key, namely \texttt{tjumper connections}.
+
+\begin{groupdesc}
+ \circuitdescbip*[tjumper]{three-pins jumper}{Three-pins jumper (see later for connections)}{}(in/135/0.6, out/45/0.6, tap/-90/0.2)[out.n/90/0.2]
+ \ctikzset{tjumper connections=12}
+ \circuitdescbip*[tjumper]{three-pins jumper}{Three-pins jumper (connections \texttt{\ctikzvalof{tjumper connections}})}{}(top arc left/135/0.6, top arc right/45/0.6, tap/-145/0.2)[out.n/-90/0.2]
+ \ctikzset{tjumper connections=S1}
+ \circuitdescbip*[tjumper]{three-pins jumper}{Three-pins jumper (connections \texttt{\ctikzvalof{tjumper connections}})}{}(top arc left/135/0.6, top arc right/45/0.6, tap/-145/0.2)[out.n/-90/0.2]
+\end{groupdesc}
+
+The option is used as shown in the following example, or by setting the key using \verb!\ctikzset!. The value \textbf{must} be two character, either two numbers (where \texttt{0} means ``bare'', \texttt{1} means ``open'', and \texttt{2} means ``closed'') or the letter \texttt{S} (for ``span'') and one number. In the latter case, the arc will connect the fist and last pole\footnote{Although really I never saw an example of this use\dots You never know.}
+
+\begin{LTXexample}[varwidth=true, pos=t, basicstyle=\small\ttfamily]
+\begin{circuitikz}
+ \draw (0,1.5) to[three-pins jumper, l=J1, name=T] ++(3,0)
+ to[three-pins jumper, tjumper connections=21, l=J2] ++(3,0)
+ to[three-pins jumper, tjumper connections=20, l=J3] ++(3,0);
+ \draw (T.tap) -- ++(0,-0.5);
+ \ctikzset{bipoles/jumper/shape=osquarepole}
+ \draw (0,0) to[three-pins jumper, l=JA, name=T] ++(3,0)
+ to[three-pins jumper, tjumper connections=S1, l=JB] ++(3,0)
+ to[three-pins jumper, tjumper connections=S2, l=JB] ++(3,0);
+\end{circuitikz}
+\end{LTXexample}
\subsection{Logic gates}