summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/circuitikz
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/circuitikz')
-rw-r--r--graphics/pgf/contrib/circuitikz/README.md8
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/changelog.tex72
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdfbin13867 -> 13873 bytes
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdfbin2431321 -> 2482881 bytes
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex429
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz.sty12
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex262
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex220
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex59
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex14
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex355
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex8
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex22
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex112
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex12
46 files changed, 1798 insertions, 763 deletions
diff --git a/graphics/pgf/contrib/circuitikz/README.md b/graphics/pgf/contrib/circuitikz/README.md
index 30e3589b74..9af5cd284b 100644
--- a/graphics/pgf/contrib/circuitikz/README.md
+++ b/graphics/pgf/contrib/circuitikz/README.md
@@ -84,12 +84,12 @@ This file may be distributed and/or modified
1. under the LaTeX Project Public License and/or
2. under the GNU Public License.
-Copyright 2018-2024 by Romano Giannetti
+Copyright 2018-2025 by Romano Giannetti
-Copyright 2015-2024 by Stefan Lindner
+Copyright 2015-2025 by Stefan Lindner
-Copyright 2013-2024 by Stefan Erhardt
+Copyright 2013-2025 by Stefan Erhardt
-Copyright 2007-2024 by Massimo Redaelli
+Copyright 2007-2025 by Massimo Redaelli
diff --git a/graphics/pgf/contrib/circuitikz/doc/changelog.tex b/graphics/pgf/contrib/circuitikz/doc/changelog.tex
index 0806a20b78..8fa2397c54 100644
--- a/graphics/pgf/contrib/circuitikz/doc/changelog.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/changelog.tex
@@ -5,6 +5,76 @@ full list of changes.
\begin{itemize}
\item
+ Version 1.7.1 (2025-01-10)
+
+ Various new blocks have been added, and several fixes have been
+ applied (the barrier one is slightly backward-incompatible\ldots).
+
+ \begin{itemize}
+ \tightlist
+ \item
+ Added a flag to have German style TVS (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/836}{Dr.~Matthias
+ Jung}, implemented by Romano)
+ \item
+ Added many blocks all over the map (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/693}{Dr.~Matthias
+ Jung}, with tweaks by Romano)
+ \item
+ Fix for straight voltage on \texttt{open} bipoles (reported by
+ \href{https://github.com/circuitikz/circuitikz/issues/821}{Oliver
+ Wallscheid on GitHub})
+ \item
+ Fix a very, very old bug about aliases for american/european sources
+ \item
+ Fix \texttt{barrier} wire linewidth (issue
+ \href{https://github.com/circuitikz/circuitikz/issues/833}{\#833} by
+ schtandard).
+ \item
+ Fix stroke-type transorb (which did not work at all)
+ \item
+ Reduce \texttt{barrier} and \texttt{openbarrier} default widths so
+ no wire is drawn by default. This breaks backward-compatibility and
+ changes the meaning of some associated keys, but the appearance with
+ the default settings remains unchanged. See
+ \href{https://github.com/circuitikz/circuitikz/pull/835}{\#835} for
+ rationale.
+ \item
+ Documentation enhancement (example of chopper macro)
+ \end{itemize}
+\item
+ Version 1.7.0 (2024-08-03)
+
+ There are no big changes here, but the change to the resistor code
+ (maybe one of the most used by the package) well deserves a minor
+ version bump. A couple of new components, and several minor fixes.
+
+ \begin{itemize}
+ \tightlist
+ \item
+ New component: new kind of current tap (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/807}{EEpchi
+ and Dr4UX on GitHub})
+ \item
+ New arrow tip \texttt{Jack\ Tap} to help drawing jack connectors
+ (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio
+ Rogerio Braga})
+ \item
+ Change the drawing of the thermocouple (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/811}{Dr4UX on
+ GitHub})
+ \item
+ Change and enhancement to the drawing of the American resistors
+ (triggered by
+ \href{https://github.com/circuitikz/circuitikz/issues/814}{Dr4UX on
+ GitHub}), fixing a long-standing small asymmetry that nobody noticed
+ \item
+ Minor adjustment for joins in \texttt{viscoe} component
+ \item
+ Minor additions (\texttt{rectjoinfill}) and fixes in documentation
+ \end{itemize}
+\item
Version 1.6.9 (2024-05-25)
Several new components and a bug fix for a nasty long-standing bug
@@ -495,7 +565,7 @@ full list of changes.
Robustify some shapes: do not let arrows option pass to the inner
drawing (see
\href{https://tex.stackexchange.com/a/632084/38080}{here} and
- \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org&via=2krueger.de&via=im.f3l.de}{here})
+ \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org\&via=2krueger.de\&via=im.f3l.de}{here})
\item
Add warning about global draw options in the manual
\item
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
index cc6865c72f..264a3929e6 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex
index cf033189f9..92f030f3a4 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
index 9f3d2b57e0..73d435b14b 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
index ac116af09e..064ab954c2 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
@@ -5,10 +5,10 @@
% !TeX spellcheck = en_US
% !TeX encoding = utf8
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -126,10 +126,10 @@ The use of \Circuitikz\ is, of course, not limited to academic teaching. The pac
\subsection{License}
Copyright \copyright{}
-2007--2024 by Massimo Redaelli,
-2013--2024 by Stefan Erhardt,
-2015--2024 by Stefan Lindner,
-and 2018--2024 by Romano Giannetti.
+2007--2025 by Massimo Redaelli,
+2013--2025 by Stefan Erhardt,
+2015--2025 by Stefan Lindner,
+and 2018--2025 by Romano Giannetti.
This package is author-maintained. Permission is granted to copy, distribute and/or modify this software under the terms of the \LaTeX\ Project Public License, version 1.3.1, or the GNU Public License. This software is provided ‘as is’, without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
\subsection{Loading the package}
@@ -195,8 +195,8 @@ Finally, the \TikZ{} library \texttt{bending} is loaded by the package, and its
\subsubsection{Related packages}
-At the Friedrich-Alexander-Universität, a group of developers are implementing a graphical interface to draw circuits with \Circuitikz{}.
-You can find more information \href{https://github.com/circuitikz/circuitikz/issues/782}{in this GitHub issue} or, better, in their \href{https://ussi.e-technik.uni-erlangen.de/}{main site}.
+At the Friedrich-Alexander-Universität, a group of developers are implementing a graphical user interface to draw circuits with \Circuitikz{}.
+You can find more information \href{https://github.com/circuitikz/circuitikz/issues/782}{in this GitHub issue} or, better, on their \href{https://circuit2tikz.tf.fau.de/}{main site}. You can try out the GUI \href{https://circuit2tikz.tf.fau.de/designer/}{here}.
\subsubsection{Extension packages}
@@ -264,10 +264,14 @@ Nevertheless, \href{https://tex.stackexchange.com/a/529159/38080}{Schrödinger'
The \texttt{use fpu reciprocal} key seems to have no side effects, but given that it is patching an internal interface of \TikZ{} it can break any time, so it is advisable to use it only if and when needed.
-\subsection{Incompabilities between versions}\label{sec:incompatible-changes}
+\subsection{Incompatibilities between versions}\label{sec:incompatible-changes}
Here, we will provide a list of incompatibilities between different versions of \Circuitikz. We will try to hold this list short, but sometimes it is easier to break with old syntax than include a lot of switches and compatibility layers. In general, changes that would invalidate a circuit (changes of polarity of components and so on) are almost always protected by a flag; the same is not true for purely aesthetic changes.
If unsure, you can check the version in your local installation by using the macro \verb!\pgfcircversion{}!.
\begin{itemize}
+ \item In version \texttt{1.7.1}, the default widths of \texttt{barrier} and \texttt{openbarrier} were reduced so that no wire is drawn as part of the symbols by default.
+ This is accompanied by a change to the meanings of the configuration keys \texttt{bipoles/barrier/width}, \texttt{bipoles/barrier/height} and \texttt{bipoles/openbarrier/gap} (as well as the new key \texttt{bipoles/openbarrier/width}).
+ The change avoids problems when using barriers on short pieces of path or as nodes, cf.~the details in \href{https://github.com/circuitikz/circuitikz/pull/835}{the relevant pull request on GitHub}.
+ The new default values are chosen such that the components are identical to the default appearance before the change.
\item Since version \texttt{1.6.3} the default symbol for the minus sign changed from the simple \verb|$-$| to \verb|$\vphantom{+}-$|. The reason is that in some (most?) font, the minus sign is enclosed in a smaller bounding box than the plus sign and that leads to poorly aligned minus symbols in \texttt{american} and \texttt{raised} voltages. This was not noticed before because the two symbols share the same bounding box in the default Computer Modern font. You can look at \href{https://github.com/circuitikz/circuitikz/issues/721}{this issue on GitHub} for more details; if you want to go back to the previous definitions you can write
\begin{lstlisting}
\ctikzset{amplifiers/minus=$-$}
@@ -507,7 +511,7 @@ You can use a single path or multiple paths when drawing your circuit, it's just
\end{circuitikz}
\end{LTXexample}
-One of the problems with this circuit is that we would like to have the current labels in a different position, such as for example on the upper side of the resistors, so that Kirchoff's Current Law at the node is better shown to students. No problem; as you can see in section~\ref{curr-and-volt} you can use the position specifiers \verb|<>^_| after the key \texttt{i}:
+One of the problems with this circuit is that we would like to have the current labels in a different position, such as for example on the upper side of the resistors, so that Kirchhoff's Current Law at the node is better shown to students. No problem; as you can see in section~\ref{curr-and-volt} you can use the position specifiers \verb|<>^_| after the key \texttt{i}:
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}[american]
@@ -1942,6 +1946,118 @@ And finally do:
\end{tikzpicture}
\end{LTXexample}
+\subsubsection{Using macros}
+
+Sometimes, a good old \LaTeX{} macro can solve a problem instead of designing a new component.
+For example, GitHub's user Patrick Jansky asked for a generic ``chopper'' block;\footnote{%
+ See \href{https://github.com/circuitikz/circuitikz/issues/828}{the original issue on GitHub}.}
+Unfortunately, this kind of block is quite difficult to implement as a node: it should change size and orientation on the base of the ``port'' terminals you need.
+
+In this case, probably an old-fashioned macro, using partway coordinate specifiers,
+\footnote{See \href{https://tikz.dev/tikz-coordinates\#sec-13.5.3}{\TikZ{} manual section 13.5}}
+could be the best option for this task. Below, one possible example (not optimized at all!).
+
+\begin{lstlisting}
+\NewDocumentCommand{\ChopperByTerminals}{O{} O{0.2cm} m m m}{%
+ % #1 -> options to the draw command
+ % #2 -> half width
+ % by default is drawn to the right (if vertical), to the left if #2 is negative
+ % If horizontal, by default is above, below if #2 is negative
+ % #3 -> terminal A on port 1
+ % #4 -> terminal B on port 2
+ % #5 -> name for the "anchors"
+ \coordinate(#5-P1A) at (#3);
+ \coordinate(#5-P1B) at (#4);
+ % the center of the block is midway P1A to P1B, at distance #2 at 90 clockwise
+ % degrees from the center of the line
+ \coordinate(#5-C1) at ($(#5-P1A)!0.5!(#5-P1B)$);
+ \coordinate(#5-C) at ($(#5-C1)!#2!90:(#5-P1B)$);
+ \coordinate(#5-P2B) at ($(#5-P1A)!2!(#5-C)$);
+ \coordinate(#5-P2A) at ($(#5-P1B)!2!(#5-C)$);
+ \coordinate(#5-T1A) at ($(#5-P1B)!1.2!(#5-P1A)$);
+ \coordinate(#5-T1B) at ($(#5-P1A)!1.2!(#5-P1B)$);
+ \coordinate(#5-T2A) at ($(#5-P2B)!1.2!(#5-P2A)$);
+ \coordinate(#5-T2B) at ($(#5-P2A)!1.2!(#5-P2B)$);
+ \coordinate(#5-CKA) at ($(#5-T1A)!0.5!(#5-T2A)$);
+ \coordinate(#5-CKB) at ($(#5-T1B)!0.5!(#5-T2B)$);
+ \coordinate(#5-C2) at ($(#5-P2A)!0.5!(#5-P2B)$);
+ \draw [draw, thick, fill=white, #1] (#5-T1A) rectangle (#5-T2B);
+ \draw [draw, thick, line join=round, #1] (#5-P1A) -- (#5-P2B) --
+ (#5-P1B) -- (#5-P2A) -- (#5-P1A);
+}
+\end{lstlisting}
+
+You can use this definition as follows, for example:
+
+\begin{lstlisting}
+\begin{tikzpicture}[]
+ \node[op amp](A) at (0,0) {};
+ \ChopperByTerminals[draw=red][-0.2cm]{A.-}{A.+}{chopper in}
+ \draw [red, <-] (chopper in-CKA) -- ++(0,.5) node[above]{$f_c$};
+ \ChopperByTerminals[draw=red]{[xshift=1.2cm]A.-}{[xshift=1.2cm]A.+}{chopper out}
+ \draw [red, <-] (chopper out-CKA) -- ++(0,.5) node[above]{$f_c$};
+ %Try another one
+ \draw (4,1) node[npn](Q1){} (7,1) node[npn, xscale=-1](Q2){};
+ \coordinate (Qcenter) at ($(Q1.E)!0.5!(Q2.E)$);
+ \ChopperByTerminals[][-0.2cm]{Q1.E}{Q2.E}{cE}
+ \draw [<-] (cE-CKA) -- ++(-0.5,0) node[left]{$f_c$};
+ % pseudo-anchors
+ \ChopperByTerminals[draw=blue][-1cm]{4,-1.25}{7,-1.25}{C}
+ \foreach \a in {P1A, P1B, P2A, P2B, CKA, CKB, C, C1, C2}
+ \node[circle, draw, inner sep=1pt, pin={[font=\tiny, fill=white]60:C-\a}]
+ at (C-\a) {};
+\end{tikzpicture}
+\end{lstlisting}
+
+Obtaining:
+
+\begin{center} %% to insulate the definition, you never know
+\NewDocumentCommand{\ChopperByTerminals}{O{} O{0.2cm} m m m}{%
+ % #1 -> options to the draw command
+ % #2 -> half width
+ % by default is drawn to the right (if vertical), to the left if #2 is negative
+ % If horizontal, by default is above, below if #2 is negative
+ % #3 -> terminal A on port 1
+ % #4 -> terminal B on port 2
+ % #5 -> name for the "anchors"
+ \coordinate(#5-P1A) at (#3);
+ \coordinate(#5-P1B) at (#4);
+ % the center of the block is midway P1A and P1B, distance #2 at 90 clockwise
+ % degrees from the center
+ \coordinate(#5-C1) at ($(#5-P1A)!0.5!(#5-P1B)$);
+ \coordinate(#5-C) at ($(#5-C1)!#2!90:(#5-P1B)$);
+ \coordinate(#5-P2B) at ($(#5-P1A)!2!(#5-C)$);
+ \coordinate(#5-P2A) at ($(#5-P1B)!2!(#5-C)$);
+ \coordinate(#5-T1A) at ($(#5-P1B)!1.2!(#5-P1A)$);
+ \coordinate(#5-T1B) at ($(#5-P1A)!1.2!(#5-P1B)$);
+ \coordinate(#5-T2A) at ($(#5-P2B)!1.2!(#5-P2A)$);
+ \coordinate(#5-T2B) at ($(#5-P2A)!1.2!(#5-P2B)$);
+ \coordinate(#5-CKA) at ($(#5-T1A)!0.5!(#5-T2A)$);
+ \coordinate(#5-CKB) at ($(#5-T1B)!0.5!(#5-T2B)$);
+ \coordinate(#5-C2) at ($(#5-P2A)!0.5!(#5-P2B)$);
+ \draw [draw, thick, fill=white, #1] (#5-T1A) rectangle (#5-T2B);
+ \draw [draw, thick, line join=round, #1] (#5-P1A) -- (#5-P2B) -- (#5-P1B) -- (#5-P2A) -- (#5-P1A);
+}
+\begin{tikzpicture}[]
+ \node[op amp](A) at (0,0) {};
+ \ChopperByTerminals[draw=red][-0.2cm]{A.-}{A.+}{chopper in}
+ \draw [red, <-] (chopper in-CKA) -- ++(0,.5) node[above]{$f_c$};
+ \ChopperByTerminals[draw=red]{[xshift=1.2cm]A.-}{[xshift=1.2cm]A.+}{chopper out}
+ \draw [red, <-] (chopper out-CKA) -- ++(0,.5) node[above]{$f_c$};
+ %Try another one
+ \draw (4,1) node[npn](Q1){} (7,1) node[npn, xscale=-1](Q2){};
+ \coordinate (Qcenter) at ($(Q1.E)!0.5!(Q2.E)$);
+ \ChopperByTerminals[][-0.2cm]{Q1.E}{Q2.E}{cE}
+ \draw [<-] (cE-CKA) -- ++(-0.5,0) node[left]{$f_c$};
+ % pseudo-anchors
+ \ChopperByTerminals[draw=blue][-1cm]{4,-1.25}{7,-1.25}{C}
+ \foreach \a in {P1A, P1B, P2A, P2B, CKA, CKB, C, C1, C2}
+ \node[circle, draw, inner sep=1pt, pin={[font=\tiny, fill=white]60:C-\a}] at (C-\a) {};
+\end{tikzpicture}
+\end{center}
+
+
+
\section{The components: list}
@@ -2200,6 +2316,83 @@ For the \texttt{photoresistor} and the two ``flavors'' of the light-dependent re
\end{tikzpicture}
\end{LTXexample}
+\begingroup % protect changes to resistors
+\newcommand\showjoin[1]{%
+\begin{tikzpicture}[scale=4, transform shape]
+ \clip (0.2,-0.05) rectangle (0.6,0.3);
+ \draw[ultra thick] (0,0) to[R, resistors/thickness=#1] ++(2,0);
+\end{tikzpicture}%
+}
+\newcommand{\splat}{\begin{center}\ttfamily\scriptsize\begin{tabular}{cccc}
+ \showjoin{1}&\showjoin{2}&\showjoin{3}&\showjoin{4}\\
+ thickness=1 & thickness=2 & thickness=3 & thickness=4 \\
+ \end{tabular}\end{center}%
+}
+\newcommand{\rdivider}[1]{\begin{tikzpicture}
+ \ctikzset{resistors/thickness=#1}
+ \draw (0,0) node[ground]{} to[V] ++(0,2) to[R] ++(2,0)
+ to[R] ++(0,-2) to[short,-*] (0,0);
+\end{tikzpicture}\qquad}
+\newcommand{\divsplat}[1]{#1\par
+ \begin{center}
+ \rdivider{1}\rdivider{2}\rdivider{3}\rdivider{4}
+\end{center}}
+
+\paragraph{Details of American (``zig-zag'') resistors.\label{sec:zigzag-details}} American (zig-zag) resistors have a little joining problem\footnote{Noticed by \href{https://github.com/circuitikz/circuitikz/issues/811}{user Dr4UX on GitHub} and later \href{https://github.com/circuitikz/circuitikz/discussions/814}{discussed here}.} with the leading wires if the thickness is greater than two. In the following drawing you can see the problem when the thickness grows from 1 to 4.
+
+\splat
+
+Since \texttt{v1.7.0}, one possibility to correct the problem is to change the type of joining of the zig-zag line, using the key \texttt{resistors/zigzag join}, which is a command that by default is void. For example, the following effect is obtained by using
+
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}}
+\end{lstlisting}
+{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}}
+\splat}
+
+or you can even go full rounded
+
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}}
+\end{lstlisting}
+{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}}
+\splat}
+
+Another possibility is to add a little horizontal ``stub'' to the shape, with the key \texttt{resistors/zigzag stub} (default \texttt{0}), which will add a first part which is a continuation of the wire:
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag stub=0.05}% this is relative to the resistor's length
+\end{lstlisting}
+{\ctikzset{resistors/zigzag stub=0.05}
+\splat}
+
+\dots or you can just combine all of them as you prefer. With the standard join/cap options, the look of the resistors for thickness from 1 to 4 is shown here:
+
+\ctikzset{american}
+\divsplat{Standard drawing of American resistors}
+\divsplat{With a 5\% stub: \ctikzset{resistors/zigzag stub=0.05}}
+\divsplat{With a 20\% stub: \ctikzset{resistors/zigzag stub=0.2}}
+
+
+\bigskip
+Finally, here is the detailed shape with thickness 2 (red=0, blue=0.05, green=0.2), magnified six times:
+
+\vspace*{2cm}% this vspace fences are needed because the transform canvas wreak havoc with the bbox
+\begin{tikzpicture}[transform canvas={scale=6}]
+ \ctikzset{resistors/zigzag stub=0}
+ \draw[red] (0,0.2) to [resistor, resistors/thickness=4] ++(2,0);
+ \ctikzset{resistors/zigzag stub=0.05}
+ \draw[blue] (0,0.1) to [resistor, resistors/thickness=4] ++(2,0);
+ \ctikzset{resistors/zigzag stub=0.2}
+ \draw[green] (0,0) to [resistor, resistors/thickness=4] ++(2,0);
+ % \draw [very thin](1,0.5) -- (1,-0.5);
+ % \draw [very thin](0,0) -- ++(2,0);
+ % \draw [very thin](0,0.1) -- ++(2,0);
+ % \draw [very thin](0,0.2) -- ++(2,0);
+\end{tikzpicture}
+\vspace*{2cm}
+
+\endgroup % changes to resistors stops here
+
\subsection{Capacitors and inductors: dynamical bipoles}
@@ -2431,9 +2624,9 @@ The package options \texttt{fulldiode}, \texttt{strokediode}, and \texttt{emptyd
\footnotetext{Added by André Alves in \texttt{v1.4.4}}
\circuitdescbip*[emptyvarcap]{empty varcap}{Empty varcap}{VCo}
\circuitdescbip*[emptytvsdiode]{empty TVS diode}{Empty TVS diode, transorb\footnotemark}{tvsDo}
- \footnotetext{Transobs were suggested by \href{Anisio Braga}{https://tex.stackexchange.com/q/642219/38080}}
+ \footnotetext{Transorbs were suggested by \href{https://tex.stackexchange.com/q/642219/38080}{Anisio Braga}}
\circuitdescbip*[emptyshdiode]{empty Shockley diode}{Empty Shockley diode\footnotemark}{shDo}
- \footnotetext{Shockley diodes were suggested by \href{@Dauph}{https://tex.stackexchange.com/q/646039/38080}}
+ \footnotetext{Shockley diodes were suggested by \href{https://tex.stackexchange.com/q/646039/38080}{@Dauph}}
\circuitdescbip*[emptybidirectionaldiode]{empty bidirectionaldiode}{Empty bidirectionaldiode}{biDo}
\circuitdescbip[fulldiode] {full diode}{Full diode}{D*}
\circuitdescbip[fullsdiode]{full Schottky diode}{Full Schottky diode}{sD*}
@@ -2461,6 +2654,7 @@ These shapes have no exact node-style counterpart, because the stroke line is bu
\circuitdescbip*[emptylediode]{stroke led}{Stroke led}{leD-}(arrows/-30/0.3)
\circuitdescbip*[emptylaserdiode]{stroke laser diode}{Stroke laser diode}{lasD-}(arrows/-30/0.3)
\circuitdescbip*[emptyvarcap]{stroke varcap}{Stroke varcap}{VC-}
+ \circuitdescbip*[emptytvsdiode]{stroke TVS diode}{Stroke TVS diode, transorb}{tvsD-}
\end{groupdesc}
\subsubsection{Tripole-like diodes}\label{sec:othertrip} The following tripoles are entered with the usual command, of the form \texttt{to[Tr, \dots]}. In the following list you can see the traditional, or \texttt{legacy}, shape of the Thyristors-type devices.
@@ -2616,6 +2810,17 @@ As you can see, you can also have the option to globally change the color, relat
\end{tikzpicture}
\end{LTXexample}
+\paragraph{Zener and TVS diode options} You can change the shape of the Zener \texttt{ZZener} and \texttt{TVS} diodes using the flag \texttt{diode straight whiskers} (and reset it with the option \texttt{diode sloped whiskers}); this will change the ``whiskers'' of the diodes to be at a right angle\footnote{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/836}{Dr. Matthias Jung}} instead the sloped normal way.
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{tikzpicture}
+ \draw (0,1) to [zzDo] ++(1,0) to[zzD-] ++(1,0)
+ to[zzD*] ++(1,0) to[tvsD-] ++(2,0);
+ \ctikzset{diode straight whiskers}
+ \draw (0,0) to [zzDo] ++(1,0) to[zzD-] ++(1,0)
+ to[zzD*] ++(1,0) to[tvsD-] ++(2,0);
+\end{tikzpicture}
+\end{LTXexample}
\subsection{Sources and generators}
@@ -2626,16 +2831,18 @@ Notice that source and generators are divided in three classes that can be style
\circuitdescbip{battery}{Battery}{}
\circuitdescbip{battery1}{Single battery cell}{}
\circuitdescbip{battery2}{Single battery cell}{}
+ \circuitdescbip{solar}{Solar-driven battery (arrows follow the same style options as photodiodes, see \ref{sec:opto-arrows})\footnotemark}{}
+ \footnotetext{Contributed by \href{https://github.com/circuitikz/circuitikz/pull/693}{Dr. Matthias Jung}.}
\circuitdescbip{baertty}{Randall Munroe's baertty\footnotemark}{}
\footnotetext{\href{https://xkcd.com/2818}{Mandatory xkcd}}
\end{groupdesc}
\subsubsection{Stationary sources}
\begin{groupdesc}
- \circuitdescbip*[vsource]{european voltage source}{Voltage source (european style)}{vsource}
+ \circuitdescbip*[vsource]{european voltage source}{Voltage source (european style)}{vsource, vsourceEU}
\circuitdescbip*[vsourceC]{cute european voltage source}{Voltage source (cute european style)}{vsourceC, ceV}
\circuitdescbip*[vsourceAM]{american voltage source}{Voltage source (american style)}{vsourceAM}
- \circuitdescbip*[isource]{european current source}{Current source (european style)}{isource}
+ \circuitdescbip*[isource]{european current source}{Current source (european style)}{isource, isourceEU}
\circuitdescbip*[isourceC]{cute european current source}{Current source (cute european style)}{isourceC, ceI}
\circuitdescbip*[isourceAM]{american current source}{Current source (american style)}{isourceAM}
\end{groupdesc}
@@ -2666,10 +2873,10 @@ Similarly, if (default behavior) \texttt{europeanvoltages} option is active (or
\subsubsection{Controlled sources}
\begin{groupdesc}
- \circuitdescbip*[cvsource]{european controlled voltage source}{Controlled voltage source (european style)}{cvsource}
+ \circuitdescbip*[cvsource]{european controlled voltage source}{Controlled voltage source (european style)}{cvsource, cvsourceEU}
\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)}{cvsourceAM}
- \circuitdescbip*[cisource]{european controlled current source}{Controlled current source (european style)}{cisource}
+ \circuitdescbip*[cisource]{european controlled current source}{Controlled current source (european style)}{cisource, cisourceEU}
\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)}{cisourceAM}
\circuitdescbip*[ecsource]{empty controlled source}{Empty controlled source}{ecsource}
@@ -2852,9 +3059,9 @@ Notice that the size of the double-circle sources (and of the triple-circle one)
\end{LTXexample}
\paragraph{Waveform symbols.}
-Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbols/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value.
+Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbol/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value.
-Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbols/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones).
+Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbol/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones).
If instead of an angle value you use \texttt{auto}, the symbol will be rotated so that the waveform is always vertical, similar to what happens in instruments:
\begin{LTXexample}[varwidth=true]
@@ -3019,12 +3226,44 @@ Sometimes it is better to use a shape for instruments which is very different fr
\footnotetext{Suggested by \texttt{@nobrl} on GitHub}
\circuitdescbip{iloop}{Current loop (symbolic)}{}(left/135/0.2, right/45/0.2, center/-90/0.3, i/30/0.4)
\circuitdescbip{iloop2}{Current loop (real)}{}(left/135/0.2, right/-45/0.2, center/-90/0.3, i+/135/0.4, i-/45/0.4)
+ \circuitdescbip{currtap}{Current tap (probe)\footnotemark}{}(tap/-90/0.2)
+ \footnotetext{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/807}{user EEpchi on GitHub}.}
\end{groupdesc}
\subsubsection{Instruments customizations}\label{sec:tweak-instruments}
You can change the scale of all the instruments (including the current loops) by setting the key \texttt{instruments/scale} to something different from the default \texttt{1.0}.
+\paragraph{Current probes.}
+You can change the inner dot in several way, by changing the following keys under the \verb!\ctikzset! key \texttt{bipoles/currtap}:
+\begin{center}
+ \begin{tabular}{>{\ttfamily}l>{\ttfamily}lp{0.7\linewidth}}
+ \toprule
+ parameter & default & description \\
+ \midrule
+ thickness & default & Set the thickness of the line (\texttt{default}: do not change the class thickness) \\
+ color & default & stroke color: \texttt{default} is the same as the component \\
+ dash & default & dash pattern: none means solid line, default means keep the global pattern\footnotemark \\
+ fill & default & fill the inner dot; \texttt{default} means use the wire color, \texttt{none} do not fill, other keys must be a valid color \\
+ dot size& 0.5 & relative size of the inner dot \\
+ \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}
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}
+ \draw (0,2) to[currtap, bipoles/currtap/fill=none, *-]
+ ++(2,0) to[currtap, bipoles/currtap/.cd,
+ fill=yellow, color=red, thickness=3,
+ dash={{1.14pt}{2pt}}] ++(2,0);
+ \draw (0,0) to[currtap=I, *-, name=ct] ++(2,0)
+ to[currtap, -*, name=ct2,
+ bipoles/currtap/dot size=0.3] ++(2,0);
+ \draw (ct.tap) -- ++(0,-1) (ct2.tap) -- ++(0,-1);
+\end{circuitikz}
+\end{LTXexample}
+
\paragraph{Oscilloscope waveform.} You can change the waveform shown in the oscilloscope ``screen''\footnote{Suggested by \href{https://tex.stackexchange.com/q/595062/38080}{Mario Tafur on TeX.SX}}. To change it, you just set the key \texttt{bipoles/oscope/waveform} to one of the available shape. You have available the shapes in the following list (the default is \texttt{ramps}):
\begin{LTXexample}[pos=t, basicstyle=\small\ttfamily]
@@ -3273,7 +3512,9 @@ Here you'll find bipoles that are not easily grouped in the categories above.
\circuitdescbip{openbarrier}{Open barrier}{}
\end{groupdesc}
-You can tune how big is the gap in the \texttt{openbarrier} component by setting the key \texttt{bipoles/openbarrier/gap} (default value \texttt{0.5}; \texttt{0} means no gap and \texttt{1} full gap).
+You can tune how big the gap in the \texttt{openbarrier} is by setting \texttt{bipole/openbarrier/gap} (default value \texttt{1} meaning full width).
+The default width \texttt{bipole/openbarrier/width} is \texttt{0.21}, while \texttt{bipole/barrier/width} is \texttt{0}.
+These settings ensure minimal width without drawing any wire when the components' node shapes are used.
\begin{groupdesc}
\circuitdescbip*{european gas filled surge arrester}{European gas filled surge arrester}{}
@@ -3320,6 +3561,7 @@ You can use microphones and loudspeakers with \texttt{waves} (see section~\ref{s
\end{circuitikz}
\end{LTXexample}
+
You have two types of microphones; \texttt{mic} has protruding connection and \texttt{tlmic} (for tail-less microphone) is inline. This last one is handy for use as a separate shape (which is named \texttt{tlmicshape}). You can change the (relative) thickness of the straight bar using the key \texttt{bipoles/mic/bar thickness} (default \texttt{1}).
\begin{LTXexample}[varwidth=true]
@@ -3478,9 +3720,9 @@ While the horizontal line will be drawn with the current path values, you can ch
\end{circuitikz}
\end{LTXexample}
-\subsection{Arrows}\label{sec:arrows}
+\subsection{Arrows (fake and real)}\label{sec:arrows}
-These are pseudo-arrows used in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded.
+The main arrow shapes in \Circuitikz{} are really shapes, used as pseudo-arrows in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded.
\begin{groupdesc}
\circuitdesc[3]{currarrow}{Arrow for current and voltage}{}(center/0/0.2)
@@ -3540,6 +3782,30 @@ The arrows are the ones set with the keys \texttt{tunable start arrow} and \text
Notice also the need to force a transparency group if you want a semitransparent arrow.
+\subsubsection{Arrow tips}\label{sec:arrow-tips}
+
+In addition to the pseudo-arrows, \Circuitikz{} also adds a couple of ``real'' arrow tips.
+The package automatically loads the \texttt{arrows.meta} \TikZ{} library but \emph{not} the deprecated \texttt{arrows} library; in the first versions of the package it used quite a lot the \texttt{latex'} tip, which is not available anymore. To maintain the backward compatibility, the `latexslim` tip has been added, and used by default in several components. This is an old-style arrow tip, with no customization possible.
+
+The other tip is \texttt{Jack Tap}\footnote{Added after a suggestion from \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio Rogerio Braga} on GitHub}, which is mainly used to build jack connectors (see section~\ref{sec:jacks}). This is a new-style arrow tip, and accepts the parameter \texttt{length} (default \texttt{0.3 cm}), \texttt{width} (default \texttt{0.15 cm}), and the boolean \texttt{swap}.
+
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+ \draw (0,.25) (0,0) edge[-latexslim] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[swap]}] ++(1,0)
+ ++(0, -0.5) edge[-Jack Tap] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[fill=cyan]}] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[width=.3cm,fill]}]++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[width=.3cm,line join=round,
+ line cap=round]}, thick] ++(1,0)
+ ++(0, -0.5) edge[^-^f] ++(1,0)
+ ++(0, -0.5) edge[vf-v] ++(1,0);
+\end{circuitikz}
+\end{LTXexample}
+You can also have a filled version, by adding the key \texttt{fill} (without arguments\footnote{This usage of the \texttt{fill} key in arrow tips will be added to \TikZ{} in version \texttt{3.1.11}, see \href{https://github.com/pgf-tikz/pgf/pull/1352}{this PR by Henri Menke}; \Circuitikz{} will add it to older versions.}) or \texttt{fill=color} if you want a color different from the stroke ones, and they accept the \texttt{line join} and \texttt{line cap} as most of the standard \TikZ{} arrows.
+As you can see, the normal and swapped \texttt{Jack Tap} tips have the shorthands \texttt{v} and \verb|^| (and \texttt{vf} and \verb|^f| for their filled counterparts). Notice that the tips are automatically reversed when they are at the \emph{start} of the path.
+
\subsection{Terminal shapes}\label{sec:terminals}
These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec:bipole-nodes}). These nodes are always filled; the ``open'' versions (starting with an \texttt{o}) are by default filled with the color specified by the key \texttt{open nodes fill} (by default \texttt{white}), but you can override locally it with the \texttt{fill} parameter.
@@ -3553,6 +3819,12 @@ These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec:
\circuitdesc{osquarepole}{Open square-shape terminal}{}
\end{groupdesc}
+This is not a pole, but it's used to "fill" nasty corners (look closer, and see ~\ref{sec:line-joins}).
+
+\begin{groupdesc}
+ \circuitdesc{rectjoinfill}{Filling square with line width size}{}
+\end{groupdesc}
+
Since version 0.9.0, ``bipole nodes'' shapes have all the standard geographical anchors, so you can do things like these:
\begin{LTXexample}[varwidth=true]
@@ -3672,6 +3944,33 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'':
\end{circuitikz}
\end{LTXexample}
+\subsubsection{Jack connectors}\label{sec:jacks}
+
+There are \emph{lots} of different jack connectors symbols --- see the \href{https://github.com/circuitikz/circuitikz/issues/806}{discussion here} for examples. So instead of creating a monster component, it has been decided to add elements to simplify the drawing of such connectors. The first (and for now only) such element is the \texttt{Jack Tap} arrow tip (see section~\ref{sec:arrow-tips}) with its shorthands \texttt{v} and \verb|^|.
+
+For example, and audio jack can be drawn like this:
+
+\begin{LTXexample}[pos=t, varwidth=true]
+% drawing based on one by Anisio Rogerio Braga
+% https://github.com/circuitikz/circuitikz/issues/806
+\newcommand\dx{1.5}\newcommand\dy{1}
+\begin{circuitikz}
+ \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0);
+ \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3);
+ \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3);
+ \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,0);
+ \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3);
+\end{circuitikz}\qquad\qquad
+%---% audio jack with an inserted plug
+\begin{circuitikz}
+ \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0.2);
+ \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3);
+ \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3);
+ \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,-0.2);
+ \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3);
+\end{circuitikz}
+\end{LTXexample}
+
\subsection{Block diagram components}
\noindent Contributed by Stefan Erhardt.
@@ -3702,6 +4001,14 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'':
\circuitdescbip*{highpass}{highpass}{}
\circuitdescbip*{lowpass}{lowpass}{}
\circuitdescbip*{allpass}{allpass}{}
+ \circuitdescbip*{vallpass}{variable allpass\footnotemark}{}
+ \footnotetext{This block, as well as \texttt{bgenerator}, \texttt{cgenerator}, \texttt{qgenerator}, \texttt{ngenerator},
+ \texttt{biast}, \texttt{sinetable}, \texttt{register}, \texttt{harmonics}, and the TV/Radio system blocks have been
+ contributed by \href{https://github.com/circuitikz/circuitikz/pull/693}{Dr. Matthias Jung}.}
+ \circuitdescbip*{bgenerator}{Block generator (use \texttt{t=\dots} to specify text)}{}
+ \circuitdescbip*{qgenerator}{Crystal generator (use \texttt{t=\dots} to specify text)}{}
+ \circuitdescbip*{cgenerator}{Clock generator}{}
+ \circuitdescbip*{ngenerator}{Generic generator (use \texttt{t=\dots} to specify text)}{}
\circuitdescbip*{highpass2}{simplified highpass (with only 2 waves)}{}
\circuitdescbip*{lowpass2}{simplified lowpass (with only 2 waves)}{}
\circuitdescbip*{adc}{A/D converter}{}
@@ -3717,6 +4024,9 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'':
\circuitdescbip*{vtattenuator}{var.\ T attenuator}{}
\circuitdescbip*{phaseshifter}{phase shifter}{}
\circuitdescbip*{vphaseshifter}{var.\ phase shifter}{}
+ \circuitdescbip*{biast}{BIAS-T circuit as block}{}
+ \circuitdescbip*{sinetable}{Sine lookup table}{}
+ \circuitdescbip*{register}{Register (use \texttt{t=\dots} to specify text)}{}(clk/180/0.2)
\circuitdescbip*{detector}{detector}{}
\circuitdescbip*{saturation}{Saturation\footnotemark}{}
\footnotetext{Contributed by \href{https://github.com/circuitikz/circuitikz/issues/758}{P. Sacco \texttt{<paul.sacco@estaca.eu>}}}
@@ -3733,6 +4043,16 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'':
\circuitdescbip*{tacac}{three phases AC/DC converter}{}(ac up in/135/.3, ac mid in/185/.3, ac down in/-135/.3, ac up out/45/.3, ac mid out/-5/.3, ac down out/-45/.3)
\end{groupdesc}
+Blocks to draw TV/radio system schematics, contributed by \href{https://github.com/circuitikz/circuitikz/pull/693}{Dr. Matthias Jung}.
+\begin{groupdesc}
+ % radio/tv block sets
+ \circuitdescbip*{camera}{Videocamera}{}
+ \circuitdescbip*{tvset}{Television (TV)}{}
+ \circuitdescbip*{trx}{Radio tranceiver (HAM-Radio)}{}(plus/160/0.2, minus/200/0.2)
+ \circuitdescbip*{swr}{Standing Wave Ratio (SWR) meter}{}
+ \circuitdescbip*{power}{Power Supply}{}(u1/160/0.2, u2/200/0.2, plus/45/0.2, minus/-45/0.2)
+\end{groupdesc}
+
\begin{groupdesc}
\circuitdesc*{fourport}{Generic fourport}{}(port1/180/0.1, port2/0/0.1, port3/0/0.2, port4/180/0.1)
\circuitdesc*{coupler}{Coupler}{}(left down/180/0.1, right down/0/0.1, right up/0/0.2, left up/180/0.1)
@@ -3915,6 +4235,7 @@ With the option \texttt{>} you can draw an arrow to the input of the block diagr
\end{circuitikz}
\end{LTXexample}
+
You can also change the width for the generic block:
\begin{LTXexample}[pos=t, varwidth=t, basicstyle=\small\ttfamily]
@@ -3928,7 +4249,6 @@ You can also change the width for the generic block:
\end{circuitikz}
\end{LTXexample}
-
\paragraph{Multi ports}
Since inputs and outputs can vary, input arrows can be placed as nodes. Note that you have to rotate the arrow on your own:
@@ -3943,6 +4263,26 @@ Since inputs and outputs can vary, input arrows can be placed as nodes. Note tha
\end{circuitikz}
\end{LTXexample}
+You can use additional anchors to mix different kinds of elements.
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily, pos=t]
+% Author: Prof. Dr. Matthias Jung Year: 2023
+\begin{tikzpicture}
+ %\useasboundingbox (-3.75,-1.0) rectangle (10.5,3);
+ \node[draw, powershape] at (0,0) (supply) {};
+ \draw(supply.south) node[anchor=north]{\qty{13,8}{V}};
+ \node[draw, trxshape] at (5,0) (trx) {};
+ \draw(trx.east) -- ++(1,0) node[swrshape, anchor=west](swr){};
+ \draw(swr.east) -- ++(1,0) node[antenna]{};
+ \draw(trx.south) node[ground]{};
+ \draw[red](supply.plus) to [fuse, color=red] ++(2.5,0)
+ to [short, i={I}, color=red] (trx.plus);
+ \draw(trx.minus) to [short, i={}] (supply.minus);
+ \draw(supply.u1) to [short, -o] ++(-1,0) coordinate(c1);
+ \draw(supply.u2) to [short, -o] ++(-1,0) coordinate(c2);
+ \draw(c1) to [open, l_={$\sim\qty{230}{\volt}$}] (c2);
+\end{tikzpicture}
+\end{LTXexample}
\paragraph{Labels and custom two-port boxes}
@@ -3965,6 +4305,15 @@ Some two-ports have the option to place a normal label (\texttt{l=}) and a inner
\end{circuitikz}
\end{LTXexample}
+Each block determines where the text is added:
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz} \draw
+ (0,0) to[qgenerator, t=G,*-] ++(2,0)
+ to[vallpass,>] ++(2,0)
+ to[ngenerator, t=FM,>] ++(2,0)
+ to[short,-o] ++(0.3,0);
+\end{circuitikz}
+\end{LTXexample}
\paragraph{Box option}
Several devices have the possibility to add a box around them with the \texttt{box} or \texttt{boxed} option. The inner symbol scales down to fit inside the box. For the ``circled'' devices (mixer, adder, oscillator and circulator) the inner circle is normally drawn, unless you use the \texttt{box only} or \texttt{boxed only} option.\footnote{Since 1.5.0, suggested by \href{https://github.com/circuitikz/circuitikz/issues/621}{GitHub user myzinsky}}
@@ -4222,7 +4571,7 @@ You can also change\footnote{Thanks to the idea by \href{https://github.com/circ
\end{tikzpicture}
\end{LTXexample}
-\paragraph{Circles.} Since \texttt{1.2.6}, you can add a circle\footnote{Suggested by Matthias Jung \href{https://github.com/circuitikz/circuitikz/issues/442}{on GitHub}} to most of the transistor shapes --- with the exception of multi-terminal (\texttt{bjtnpn} and \texttt{bjtpnp}, where it would be awkward anyway) and graphene FETs. The circle is intended in some case as the component's housing, and used to distinguish discrete components from integrated ones.
+\paragraph{Circles.} Since \texttt{1.2.6}, you can add a circle\footnote{Suggested by Dr. Matthias Jung \href{https://github.com/circuitikz/circuitikz/issues/442}{on GitHub}} to most of the transistor shapes --- with the exception of multi-terminal (\texttt{bjtnpn} and \texttt{bjtpnp}, where it would be awkward anyway) and graphene FETs. The circle is intended in some case as the component's housing, and used to distinguish discrete components from integrated ones.
To add the circle to a single transistor, you use the \texttt{tr circle} keys in the node; if you want all of your transistors with a circle, you can set the property \texttt{tr circle} with a \verb|\ctikzset| command (it will respect normal grouping, of course); in that case, you can use \texttt{tr circle=false} to locally disable them.
@@ -5171,6 +5520,7 @@ Notes that in the transmission and receiving antennas, the ``waves'' are outside
\circuitdesc{waves}{Waves}{}( north/90/0.4, north east/45/0.4, east/-45/0.4, south east/-45/0.4,
south/-90/0.4, south west/-135/0.4, west/180/0.4, north west/135/0.4,
left/135/0.2, top/45/0.2, right/45/0.2, bottom/-45/0.2 )
+ \circuitdesc{harmonics}{Harmonics which could be combined with waves}{}
\circuitdescbip*{mstline}{Microstrip transmission line\footnotemark}{}(left/135/0.2, right/45/0.2, center/-90/0.3)
\circuitdesc*{mslstub}{Microstrip linear stub}{text}(left/135/0.2, right/45/0.2, center/-45/0.3)
\circuitdesc*{msport}{Microstrip port}{T}(left/135/0.2, right/45/0.2, center/-45/0.3)
@@ -5185,6 +5535,27 @@ Notes that in the transmission and receiving antennas, the ``waves'' are outside
\circuitdesc{match}{match}{}
\end{groupdesc}
+The \texttt{waves} and \texttt{harmonics} can help with RF block diagrams
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily, pos=t]
+% Author: Prof. Dr. Matthias Jung, DL9MJ % Year: 2023
+\begin{circuitikz}[european]
+ \draw(0,0) node [dinantenna](ant1){};
+ \draw[thick](ant1.south) -- ++(0,-1)
+ node[anchor=south west](){$f=\qty{145,9}{\mega\hertz}$};
+ \draw(3.5,0) node [dinantenna](ant2){};
+ \draw(3.75,-0.5) node[tvsetshape, anchor=west, fill=gray](tv){};
+ \draw[thick] (ant2) |- (tv);
+ \draw(tv.north) node[above](){TV};
+ %
+ \draw[gray](ant1.right) node[harmonics, xscale=2, anchor=left](){};
+ \draw[thick](ant1.right) node[waves, xscale=2, anchor=left](){};
+ %
+ \draw(tv.south) ++(0,-0.25)
+ node[below](foo){$f=$\,\qtyrange{582}{590}{\mega\hertz}};
+ \draw(foo.south) node[below](){DVB-T2 Kanal 35};
+\end{circuitikz}
+\end{LTXexample}
+
\subsubsection{RF elements customization}
The RF elements can be scaled using the key \texttt{RF/scale}, default \texttt{1.0}.
@@ -6596,7 +6967,7 @@ with the parameter \texttt{number inputs} :
\end{circuitikz}
\end{LTXexample}
-You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors.
+You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no input leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors.
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
@@ -7436,9 +7807,9 @@ External pins' length is controlled by the key \texttt{multipoles/external pins
like in chips. In addition, like in logic ports, you can suppress the
drawing of the leads by using the boolean key
\texttt{logic ports draw input leads} (default \texttt{true}) or, locally,
-with the style \texttt{no inputs leads} (that can be reverted with
+with the style \texttt{no input leads} (that can be reverted with
\texttt{input leads}).
-The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
You can draw only selected pins and leave out the rest by setting the keys
\texttt{multipoles/draw only \emph{side} pins} and the corresponding style
@@ -7840,7 +8211,7 @@ You can, if you want, avoid printing the numbers of the pin with \texttt{hide nu
\end{LTXexample}
-Also, you can suppress the drawing of the pins, by using the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+Also, you can suppress the drawing of the pins, by using the style \texttt{no input leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
For special use you can suppress the orientation mark with the key \texttt{no topmark} (default \texttt{topmark}).
diff --git a/graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty b/graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty
index 1104d2c0d2..beb5505701 100644
--- a/graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty
+++ b/graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex
index fa6fb3c2a8..ca5392fa83 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty
index faa09eb32f..3d552d4eaa 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex
index 0630698e49..6aee9b47e4 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty
index 3d41bfcc1d..d282f55cd5 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex
index 91f5dabcd0..4e3ba24e3a 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty
index efe138d2a2..4162977f99 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex
index b65bc59c8f..e058f29ecf 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty
index ccd07fea83..da59d5636b 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex
index dfaa1bb4d6..0f077a1deb 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty
index 2ce27f90e2..9f90dc99bd 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex
index 450ac4fcff..83d7eac703 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty
index 49fe5703fa..8b357c6f91 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex
index b4cbf9d327..f632aefb0a 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -342,10 +342,10 @@
%%%%%%%%%
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2304,10 +2304,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2376,10 +2376,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3182,10 +3182,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4198,10 +4198,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -9302,10 +9302,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -15010,10 +15010,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -16161,10 +16161,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17939,10 +17939,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18308,10 +18308,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18807,10 +18807,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -19022,10 +19022,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -19236,10 +19236,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty
index 9771552881..b5a2c5aa66 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex
index 9d25525027..9219fbd4bb 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -343,10 +343,10 @@
%%%%%%%%%
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2449,10 +2449,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2535,10 +2535,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3341,10 +3341,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4357,10 +4357,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -10254,10 +10254,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -16161,10 +16161,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17448,10 +17448,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -20142,10 +20142,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -20511,10 +20511,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -21060,10 +21060,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -21275,10 +21275,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -21489,10 +21489,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty
index 0a3ea7c761..cdb974752f 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex
index e36e6ff66c..ce976529cd 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -320,10 +320,10 @@
%%%%%%%%%
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2641,10 +2641,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2736,10 +2736,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3548,10 +3548,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4650,10 +4650,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -10813,10 +10813,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17247,10 +17247,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18993,10 +18993,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22024,10 +22024,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22395,10 +22395,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -23026,10 +23026,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -23256,10 +23256,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -23497,10 +23497,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty
index 10621785e2..ea2e861f54 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex
index 4182695e66..39e989317e 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -324,10 +324,10 @@
%% we have to load this before options to define the magics for compatibility
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1225,10 +1225,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1630,10 +1630,10 @@
%%%---------- close: tex/pgfcircutils
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1995,10 +1995,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2817,10 +2817,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4020,10 +4020,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -10250,10 +10250,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18818,10 +18818,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22579,10 +22579,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -24740,10 +24740,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -25142,10 +25142,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -25852,10 +25852,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -26098,10 +26098,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty
index fb63155a42..62fad943ae 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
index afa91d4b2b..a6da82fba5 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -16,8 +16,8 @@
\providecommand\DeclareRelease[3]{}
\providecommand\DeclareCurrentRelease[2]{}
-\def\pgfcircversion{1.6.9}
-\def\pgfcircversiondate{2024/05/25}
+\def\pgfcircversion{1.7.1}
+\def\pgfcircversiondate{2025/01/10}
\DeclareRelease{0.4}{2012/12/20}{circuitikz-0.4-body.tex}
\DeclareRelease{v0.4}{2012/12/20}{circuitikz-0.4-body.tex}
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex
index 943745bf7a..b932385e57 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -266,6 +266,58 @@
%
%>>>
+%% check loaded TikZ/pgf version %<<<`
+%
+% parse the release date, thanks to Skillmon
+% https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2231681032
+% date can be yyyy-mm-dd or (older TikZ) yyyy/mm/dd
+\begingroup
+ \pgfutil@protected\def\parsedate#1%
+ {%
+ \afterassignment\parsedate@month
+ \pgf@circ@count@a=#1\relax
+ }
+ \pgfutil@protected\def\parsedate@month#1%
+ {%
+ \afterassignment\parsedate@day
+ \pgf@circ@count@b=%
+ }
+ \pgfutil@protected\def\parsedate@day#1%
+ {%
+ \afterassignment\parsedate@cleanup
+ \pgf@circ@count@c=%
+ }
+ \def\parsedate@cleanup#1\relax{}%
+ \parsedate{\pgfrevisiondate}%
+ \xdef\ctikz@@pgfyear{\the\pgf@circ@count@a}%
+ \xdef\ctikz@@pgfmonth{\the\pgf@circ@count@b}%
+ \xdef\ctikz@@pgfday{\the\pgf@circ@count@c}%
+\endgroup
+% The following code thanks to Skillmon:
+% https://tex.stackexchange.com/a/722570/38080
+% modified by romano to check the date
+\def\ctikz@@ifpgfafter@auxi#1#2%
+ {%
+ \ifnum#1
+ \ctikz@@ifpgfafter@auxii{#2}%
+ \fi
+ }
+\def\ctikz@@ifpgfafter@auxii#1\fi#2\ctikz@@ifpgfafter#3{\fi#1}
+\def\ctikz@@ifpgfafter#1-#2-#3#%
+ {%
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear>#1}\pgfutil@firstoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfyear<#1}\pgfutil@secondoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth>#2}\pgfutil@firstoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfmonth<#2}\pgfutil@secondoftwo
+ \ctikz@@ifpgfafter@auxi{\ctikz@@pgfday<#3}\pgfutil@secondoftwo
+ \pgfutil@gobble\ctikz@@ifpgfafter\pgfutil@firstoftwo
+ }
+%
+% usage \ctikz@@ifpgfafter 2023-01-16{true}{false}
+% ^^^ no spaces here, braces needed.
+%
+%>>>
+
%% arrow tips macros and utilities %<<<1
% the default arrow is latexslim, which has been ported over old arrows library (deprecated)
@@ -298,9 +350,70 @@
\pgfpathclose
\pgfusepathqfill
}
-
\pgfarrowsdeclarereversed{latexslim reversed}{latexslim reversed}{latexslim}{latexslim}
-
+%% Jack Tap, see
+%% https://github.com/circuitikz/circuitikz/issues/806
+\pgfdeclarearrow{name=Jack Tap,
+ parameters = {%
+ \the\pgfarrowlength,%
+ \the\pgfarrowwidth,%
+ \ifpgfarrowswap s\fi%
+ \ifpgfarrowopen o\fi%
+ \ifpgfarrowroundjoin j\fi
+ \ifpgfarrowroundcap c\fi%
+ },
+ setup code = {
+ \pgfarrowssettipend{.5\pgfarrowlength}
+ \pgfarrowssetlineend{-.6\pgfarrowlength}
+ \pgfarrowssetvisualbackend{-.6\pgfarrowlength}
+ \pgfarrowssetbackend{-.6\pgfarrowlength}
+ % hull
+ \pgfarrowshullpoint{.5\pgfarrowlength}{0pt}
+ \pgfarrowshullpoint{0pt}{\pgfarrowwidth}
+ \pgfarrowshullpoint{-.6\pgfarrowlength}{0pt}
+ % Saves: Only the length:
+ \pgfarrowssavethe\pgfarrowlength
+ \pgfarrowssavethe\pgfarrowwidth
+ },
+ drawing code = {
+ \pgfsetdash{}{+0pt}
+ \pgfarrowlinewidth=\pgflinewidth
+ \ifpgfarrowroundjoin\pgfsetroundjoin\else\pgfsetmiterjoin\fi
+ \ifpgfarrowroundcap\pgfsetroundcap\else\pgfsetbuttcap\fi
+ \pgfpathmoveto{\pgfqpoint{-.6\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgfarrowwidth}}
+ \pgfpathlineto{\pgfqpoint{.5\pgfarrowlength}{0pt}}
+ \ifpgfarrowopen
+ \pgfusepathqstroke
+ \else
+ \pgfpathclose
+ \ifdim\pgfarrowlinewidth>0pt\pgfusepathqfillstroke\else\pgfusepathqfill\fi
+ \fi
+ },
+ defaults = {length = 0.3cm, width=0.15cm, open},
+ % cache=false, % breaks everything
+}
+% the new "fill without arg" will be in TikZ 3.1.11. Apply it here if we have an
+% older version
+\ctikz@@ifpgfafter 2023-01-16{\relax}{%
+ % thanks @muzimuzhi https://github.com/pgf-tikz/pgf/issues/1348#issuecomment-2229075269
+ % undo the fill/.value required key
+ \expandafter\let\csname pgfk@/pgf/arrow keys/fill/.@def\endcsname\@undefined
+ \pgfkeys{/pgf/arrow keys/fill/.code={%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgf@nonetext%
+ \pgfarrowsaddtooptions{\pgfarrowopentrue}%
+ \else\ifx\pgf@temp\pgfkeysnovalue@text%
+ \pgfarrowsaddtooptions{\pgfarrowopenfalse}%
+ \else
+ \pgfarrowsaddtooptions{\pgfarrowopenfalse\def\pgf@arrows@fill@color{#1}}%
+ \fi\fi
+ }}%
+}
+\tikzset{v/.tip={Jack Tap[swap]}, ^/.tip={Jack Tap},
+ vf/.tip={Jack Tap[swap,fill]}, ^f/.tip={Jack Tap[fill]}}
+%
% select the arrows using available defaults.
\def\pgfcirc@arrow@default{default}
% choose the arrows to use. Use #2 and #3 if the key is equal to "default"
@@ -466,7 +579,30 @@
\fi
\fi
}
-
+% similar o the above, use the fill parameter to set fill or draw
+% for a subset of the shape
+\def\pgf@circ@subset@fill@or@draw#1{%
+ % You *must* be sure that this is called inside a \pgfscope!
+ \edef\@@none{none}\edef\@@default{default}
+ \edef\@@tmp{\ctikzvalof{#1/fill}}
+ \ifx\@@tmp\@@none
+ \pgfusepath{draw}
+ \else
+ \ifx\@@tmp\@@default\else
+ \pgfsetfillcolor{\@@tmp}
+ \fi
+ \pgfusepath{draw, fill}
+ \fi
+}
+% ...and for the thickness
+\def\pgf@circ@subset@thickness#1{%
+ % You *must* be sure that this is called inside a \pgfscope!
+ \edef\@@default{default}
+ \edef\@@tmp{\ctikzvalof{#1/thickness}}
+ \ifx\@@tmp\@@default\else
+ \pgfsetlinewidth{\@@tmp\pgflinewidth}%
+ \fi
+}
% set the text color (via \color) if the color is not default or none
% needed in some strange case (like bodydiode' dots)
\def\pgf@circ@maybe@color#1{%
@@ -557,6 +693,7 @@
% #7 - macros drawing the bipole
%
\long\def\pgfcircdeclarebipolescaled#1#2#3#4#5#6#7{
+ % \typeout{Declaring bipole:\space #4,}
\pgfdeclareshape{#4shape}{
\savedmacro{\ctikzclass}{\edef\ctikzclass{#1}}
\saveddimen{\scaledRlen}{\pgfmathsetlength{\pgf@x}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}}
@@ -602,97 +739,33 @@
\pgf@y=.5\pgf@y
}
\anchor{center}{\pgfpointorigin}
- \anchor{n}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{north east}{
- \northeast
- }
- \anchor{north west}{
- \northeast
- \pgf@x=-\pgf@x
- }
- \anchor{ne}{
- \northeast
- }
- \anchor{nw}{
- \northeast
- \pgf@x=-\pgf@x
- }
- \anchor{e}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{s}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{south east}{
- \southwest
- \pgf@x=-\pgf@x
- }
- \anchor{south west}{
- \southwest
- }
- \anchor{se}{
- \southwest
- \pgf@x=-\pgf@x
- }
- \anchor{sw}{
- \southwest
- }
- \anchor{w}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{north}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{east}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{south}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{west}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{right}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{above}{
- \northeast
- \pgf@x=0cm
- }
- \anchor{left}{
- \southwest
- \pgf@y=0cm
- }
- \anchor{below}{
- \southwest
- \pgf@x=0cm
- }
- \anchor{a}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{b}{
- \southwest
- \pgf@y=0cm
- }
+ \anchor{n}{\northeast\pgf@x=0cm }
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{ne}{\northeast}
+ \anchor{nw}{\northeast\pgf@x=-\pgf@x}
+ \anchor{e}{\northeast\pgf@y=0cm }
+ \anchor{s}{\southwest\pgf@x=0cm }
+ \anchor{south east}{\southwest\pgf@x=-\pgf@x}
+ \anchor{south west}{\southwest}
+ \anchor{se}{\southwest\pgf@x=-\pgf@x}
+ \anchor{sw}{\southwest}
+ \anchor{w}{\southwest\pgf@y=0cm }
+ \anchor{north}{\northeast\pgf@x=0cm }
+ \anchor{east}{\northeast\pgf@y=0cm }
+ \anchor{south}{\southwest\pgf@x=0cm }
+ \anchor{west}{\southwest\pgf@y=0cm }
+ \anchor{right}{\northeast\pgf@y=0cm }
+ \anchor{above}{\northeast\pgf@x=0cm }
+ \anchor{left}{\southwest\pgf@y=0cm }
+ \anchor{below}{\southwest\pgf@x=0cm }
+ \anchor{a}{\northeast\pgf@y=0cm }
+ \anchor{b}{\southwest\pgf@y=0cm }
\savedanchor{\textanchor}{%
\pgf@y=\ht\pgfnodeparttextbox
\pgf@x=-.5\wd\pgfnodeparttextbox
}
- \anchor{text}{
- \textanchor
- }
+ \anchor{text}{ \textanchor }
\anchorborder{%
\ifpgf@circuit@bipole@inverted
\pgf@circ@res@left=-\pgf@x
@@ -711,7 +784,6 @@
#2%
\pgf@circ@draw@component{
\pgf@circ@setcolor
-
\northeast
\pgf@circ@res@up = \pgf@y
\pgf@circ@res@zero = 0cm
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
index 626ed28812..c1292d4969 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -632,13 +632,21 @@
\pgfusepath{draw}
\endpgfscope
}%
-
%% Zig-zag resistors
+% see https://github.com/circuitikz/circuitikz/discussions/814
+\ctikzset{resistors/zigzag stub/.initial=0}
+\ctikzset{resistors/zigzag hook/.code={}}
\def\pgf@circ@zigzag#1{%
+ \pgf@circ@res@temp=\ctikzvalof{resistors/zigzag stub}\pgf@circ@res@step
+ \advance \pgf@circ@res@step by -2\pgf@circ@res@temp
\divide \pgf@circ@res@step by \numexpr4*\zigs\relax
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \ifdim\pgf@circ@res@temp>0pt
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left+\pgf@circ@res@temp -\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \fi
\pgf@circ@res@other = \pgf@circ@res@left
+ \advance\pgf@circ@res@other by \pgf@circ@res@temp
\pgf@circ@count@a=\zigs\relax
% first half zig
\advance\pgf@circ@res@other by \pgf@circ@res@step
@@ -655,11 +663,14 @@
\advance\pgf@circ@res@other by 2\pgf@circ@res@step
\pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{#1\pgf@circ@res@down}}
\advance\pgf@circ@res@other by \pgf@circ@res@step
- \pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{\pgf@circ@res@zero}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \ifdim\pgf@circ@res@temp>0pt
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@other+\pgf@circ@res@temp+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \fi
\pgfsetbeveljoin
+ \pgfkeys{/tikz/circuitikz/resistors/zigzag hook}
\pgfusepath{draw}
}
-
%% Resistor
\pgfcircdeclarebipolescaled{resistors}
{
@@ -672,7 +683,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen}
\pgf@circ@zigzag{1}
}
@@ -692,7 +703,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen}
\pgf@circ@zigzag{.5}
\pgfscope
@@ -731,7 +742,7 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen}
\pgf@circ@zigzag{1}
\pgfscope
@@ -761,7 +772,7 @@
{%
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen}
\pgf@circ@zigzag{.5}
\pgfscope
@@ -810,7 +821,7 @@
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@right/\@@intscale+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
\pgftransformationadjustments
- \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+ \pgfmathsetlength{\pgf@circ@res@step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen}
\pgf@circ@zigzag{\@@hscale}
}%
@@ -1955,6 +1966,9 @@
\ctikzset{bipoles/battery1/width/.initial=.3}
\ctikzset{bipoles/battery2/height/.initial=.6}
\ctikzset{bipoles/battery2/width/.initial=.3}
+\ctikzset{bipoles/solar/height/.initial=.6}
+\ctikzset{bipoles/solar/width/.initial=.3}
+
% noise sources
\ctikzset{bipoles/noise sources/fillcolor/.initial=gray!50}
@@ -2128,6 +2142,41 @@
\pgfusepath{draw}
}
+% Solar cell
+\pgfcircdeclarebipolescaled{batteries}
+{}
+{\ctikzvalof{bipoles/solar/height}}
+{solar}
+{\ctikzvalof{bipoles/solar/height}}
+{\ctikzvalof{bipoles/solar/width}}
+{
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@right}{0}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0}}
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@left}{0}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{0}}
+ \pgfusepath{draw}
+
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \ifpgf@circ@fixbatteries
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{.33\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{3\pgflinewidth}
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@left}{.5\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{.33\pgf@circ@res@left}{.5\pgf@circ@res@down}}
+ \else
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@left}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{.33\pgf@circ@res@left}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{3\pgflinewidth}
+ \pgfpathmoveto{\pgfpoint{.33\pgf@circ@res@right}{.5\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{.33\pgf@circ@res@right}{.5\pgf@circ@res@down}}
+ \fi
+
+ \pgfusepath{draw}
+ \pgf@circ@draw@pdarrows
+}
+
%%%
%%% https://xkcd.com/2818/
%%% Also https://chat.stackexchange.com/transcript/message/64238058#64238058
@@ -3430,6 +3479,9 @@
\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
\pgfcirc@activate@bipole@opt{v}{batterytwo}{battery2}{battery2}{\circuitikzbasekey/bipole/is voltage=true,
\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
+\pgfcirc@activate@bipole@opt{v}{solarsource}{solar}{solar}{\circuitikzbasekey/bipole/is voltage=true,
+ \circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
+
%% Sources: voltage
\pgfcirc@activate@bipole@opt{v}{vsource}{vsource}{european voltage source}{%
@@ -3452,6 +3504,11 @@
\pgfcirc@style@to@style{controlled voltage source}{cvsource}
\pgfcirc@style@to@style{controlled voltage source}{controlled vsource}
\pgfcirc@style@to@style{controlled voltage source}{cV}
+%% fix the mess about not having the shortcut accessible in every mode...
+\pgfcirc@style@to@style{american voltage source}{vsourceAM}
+\pgfcirc@style@to@style{american controlled voltage source}{cvsourceAM}
+\pgfcirc@style@to@style{european voltage source}{vsourceEU}
+\pgfcirc@style@to@style{european controlled voltage source}{cvsourceEU}
\pgfcirc@activate@bipole@simple@opt{v}{esource}{%
\circuitikzbasekey/bipole/is voltage=true,
@@ -3547,6 +3604,11 @@
\pgfcirc@style@to@style{controlled current source}{cisource}
\pgfcirc@style@to@style{controlled current source}{controlled isource}
\pgfcirc@style@to@style{controlled current source}{cI}
+%% fix the mess about not having the shortcut accessible in every mode...
+\pgfcirc@style@to@style{american current source}{isourceAM}
+\pgfcirc@style@to@style{american controlled current source}{cisourceAM}
+\pgfcirc@style@to@style{european current source}{isourceEU}
+\pgfcirc@style@to@style{european controlled current source}{cisourceEU}
\pgfcirc@activate@bipole@opt{i}{isourcesin}{isourcesin}{sinusoidal current source}{%
\circuitikzbasekey/bipole/is current=true}
@@ -3673,6 +3735,13 @@
}}
%
+% Whiskers for ZZener and TVS
+%
+\newif\ifpgf@zz@straightwhisk
+\pgf@zz@straightwhiskfalse
+\ctikzset{diode straight whiskers/.code=\pgf@zz@straightwhisktrue}
+\ctikzset{diode sloped whiskers/.code=\pgf@zz@straightwhiskfalse}
+%
% Flipping arrows in LED and photodiodes
%
\newif\ifpgf@led@fliparrows
@@ -3766,10 +3835,15 @@
{
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgf@circ@fulldiode@triangle@shift
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right-1.8\pgf@circ@res@left}{\pgf@circ@res@down-0.5\pgf@circ@res@up}}
+ \ifpgf@zz@straightwhisk
+ \edef\@@tmp{0.0}
+ \else
+ \edef\@@tmp{0.5}
+ \fi
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right-1.8\pgf@circ@res@left}{\pgf@circ@res@down-\@@tmp\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right-\pgf@circ@res@left}{\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right-\pgf@circ@res@left}{\pgf@circ@res@up}}
- \pgfpathlineto{\pgfpoint{\pgf@circ@res@right-0.2\pgf@circ@res@left}{\pgf@circ@res@up-0.5\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right-0.2\pgf@circ@res@left}{\pgf@circ@res@up-\@@tmp\pgf@circ@res@down}}
\pgfusepath{draw}
}
@@ -4051,10 +4125,15 @@
\pgfscope
\pgf@circ@basicdiodeshape
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right-1.8\pgf@circ@res@left}{\pgf@circ@res@down-0.5\pgf@circ@res@up}}
+ \ifpgf@zz@straightwhisk
+ \edef\@@tmp{0.0}
+ \else
+ \edef\@@tmp{0.5}
+ \fi
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right-1.8\pgf@circ@res@left}{\pgf@circ@res@down-\@@tmp\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right-\pgf@circ@res@left}{\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right-\pgf@circ@res@left}{\pgf@circ@res@up}}
- \pgfpathlineto{\pgfpoint{\pgf@circ@res@right-0.2\pgf@circ@res@left}{\pgf@circ@res@up-0.5\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right-0.2\pgf@circ@res@left}{\pgf@circ@res@up-\@@tmp\pgf@circ@res@down}}
\pgfusepath{draw}
\endpgfscope
}
@@ -4232,10 +4311,15 @@
\pgftransformxshift{\pgf@circ@res@left}
\pgf@circ@basicdiodeshape
\endpgfscope
- \pgfpathmoveto{\pgfpoint{0.4\pgf@circ@res@left}{1.3\pgf@circ@res@up}}
+ \ifpgf@zz@straightwhisk
+ \edef\@@tmp{1.0}
+ \else
+ \edef\@@tmp{1.3}
+ \fi
+ \pgfpathmoveto{\pgfpoint{0.4\pgf@circ@res@left}{\@@tmp\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@down}}
- \pgfpathlineto{\pgfpoint{0.4\pgf@circ@res@right}{1.3\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{0.4\pgf@circ@res@right}{\@@tmp\pgf@circ@res@down}}
\pgfusepath{draw}
\endpgfscope
}
@@ -4260,10 +4344,15 @@
\pgftransformxshift{\pgf@circ@res@left}
\pgf@circ@fulldiode@triangle@shift
\endpgfscope
- \pgfpathmoveto{\pgfpoint{0.4\pgf@circ@res@left}{1.3\pgf@circ@res@up}}
+ \ifpgf@zz@straightwhisk
+ \edef\@@tmp{1.0}
+ \else
+ \edef\@@tmp{1.3}
+ \fi
+ \pgfpathmoveto{\pgfpoint{0.4\pgf@circ@res@left}{\@@tmp\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@down}}
- \pgfpathlineto{\pgfpoint{0.4\pgf@circ@res@right}{1.3\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{0.4\pgf@circ@res@right}{\@@tmp\pgf@circ@res@down}}
\pgfusepath{draw}
}
@@ -4741,6 +4830,8 @@
\pgfcirc@style@to@style{#1 agtobar}{aGTOb#2}
\pgfcirc@node@to@style{l}{emptytriac}{#1 triac}{\circuitikzbasekey/bipole/is strokedsymbol=true}
\pgfcirc@style@to@style{#1 triac}{Tr#2}
+ \pgfcirc@node@to@style{l}{emptytvsdiode}{#1 tvsdiode}{\circuitikzbasekey/bipole/is strokedsymbol=true}
+ \pgfcirc@style@to@style{#1 tvsdiode}{Tr#2}
}
\pgfcirc@tmp@generatestrokeddiodes{stroke}{-}
\def\pgfcircdiodestylemacro{\ifpgf@circuit@strokediode stroke \else\ifpgf@circuit@fulldiode full \else empty \fi\fi}
@@ -6031,6 +6122,13 @@
\ctikzset{bipoles/qpprobe/voltage/additional shift/.initial=.5}
\ctikzset{bipoles/iloop/width/.initial=.40}
\ctikzset{bipoles/iloop/height/.initial=.60}
+% currtap see https://github.com/circuitikz/circuitikz/issues/807
+\ctikzset{bipoles/currtap/height/.initial=0.4}
+\ctikzset{bipoles/currtap/dot size/.initial=0.5}
+\ctikzset{bipoles/currtap/fill/.initial=default}
+\ctikzset{bipoles/currtap/dash/.initial=none}
+\ctikzset{bipoles/currtap/color/.initial=default}
+\ctikzset{bipoles/currtap/thickness/.initial=default}
\ctikzset{bipoles/oscope/height/.initial=.60}
\ctikzset{bipoles/oscope/width/.initial=.60}
@@ -6607,6 +6705,28 @@
\pgfusepath{draw}
\endpgfscope
}
+%% currtap
+\pgfcircdeclarebipolescaled{instruments}
+{
+ \savedmacro{\@@dotsize}{\def\@@dotsize{\ctikzvalof{bipoles/currtap/dot size}}}
+ \anchor{tap}{\northeast\pgf@x=0pt\pgf@y=\@@dotsize\pgf@y\pgf@y=-\pgf@y}
+}
+{\ctikzvalof{bipoles/currtap/height}}
+{currtap}
+{\ctikzvalof{bipoles/currtap/height}}
+{\ctikzvalof{bipoles/currtap/height}}
+{
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{0.95\pgf@circ@res@left}{0pt}}
+ \pgfpatharc{180}{0}{0.95\pgf@circ@res@right}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfusepath{draw}
+ \pgf@circ@subset@color@dash{bipoles/currtap}
+ \pgf@circ@subset@thickness{bipoles/currtap}
+ \pgfusepath{draw}
+ \pgfpathcircle{\pgfpoint{0pt}{0pt}}{\@@dotsize*\pgf@circ@res@up}
+ \pgf@circ@subset@fill@or@draw{bipoles/currtap}
+}
% %>>>
% Path definitions for Instruments%<<<
@@ -6619,8 +6739,8 @@
\pgfcirc@activate@bipole@simple{l}{rmeterwa}
\pgfcirc@activate@bipole@simple{l}{smeter}
\pgfcirc@activate@bipole@simple{l}{iloop}
-% \pgfcirc@activate@bipole@simple{l}{iloop2} that was wrong
\pgfcirc@activate@bipole{l}{ilooptwo}{iloop2}{iloop2}
+\pgfcirc@activate@bipole@simple{l}{currtap}
\pgfcirc@activate@bipole@simple{l}{qvprobe}
\pgfcirc@activate@bipole@simple{l}{qiprobe}
\pgfcirc@activate@bipole@simple{l}{qpprobe}
@@ -6774,16 +6894,22 @@
% spring into the damper
\pgfscope
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@zero}}
+ \pgfscope
+ \pgftransformationadjustments
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf@circ@res@zero}}
+ \pgfpathlineto{\pgfpoint{.95\pgf@circ@res@left}{\pgf@circ@res@zero}}
\pgfsetcornersarced{\pgfpoint{.25\pgf@circ@res@up}{.25\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.75\pgf@circ@res@left}{.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.5\pgf@circ@res@left}{-.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{.25\pgf@circ@res@left}{.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{0pt}{-.75\pgf@circ@res@up}}
\pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/damper/length}\pgf@circ@res@right}{.75\pgf@circ@res@up}}
+ \pgfsetbuttcap
+ \pgfsetbeveljoin
\pgfusepath{stroke}
\endpgfscope
+ \endpgfscope
% damper box
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}
@@ -7020,9 +7146,10 @@
%
\ctikzset{bipoles/squid/height/.initial=.60}
\ctikzset{bipoles/squid/width/.initial=.60}
-\ctikzset{bipoles/barrier/height/.initial=.60}
-\ctikzset{bipoles/barrier/width/.initial=.60}
-\ctikzset{bipoles/openbarrier/gap/.initial=0.5}
+\ctikzset{bipoles/barrier/height/.initial=.21}
+\ctikzset{bipoles/barrier/width/.initial=.0}
+\ctikzset{bipoles/openbarrier/width/.initial=.3}
+\ctikzset{bipoles/openbarrier/gap/.initial=1}
\ctikzset{bipoles/thermocouple/height/.initial=.250}
\ctikzset{bipoles/thermocouple/height 2/.initial=.60}
\ctikzset{bipoles/thermocouple/width/.initial=.140}
@@ -7171,18 +7298,18 @@
{\ctikzvalof{bipoles/thermocouple/height}}
{\ctikzvalof{bipoles/thermocouple/width}}
{
+ \pgfsetrectcap
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
- \pgfusepath{draw}
- \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
- \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}}
- \pgfusepath{draw}
- \pgfsetlinewidth{\pgfstartlinewidth}
- \pgfpathmoveto{\pgfpoint{0}{\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{.5\pgf@circ@res@down}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{0}}
\pgfusepath{draw}
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{0}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
}
%% fuse
\pgfcircdeclarebipolescaled{misc}
@@ -7297,46 +7424,39 @@
{\ctikzvalof{bipoles/barrier/height}}
{\ctikzvalof{bipoles/barrier/width}}
{
- \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
-
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@step}}
\pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@step}}
- \pgfpathmoveto{\pgfpoint{0.35*\pgf@circ@res@left}{0.35*\pgf@circ@res@up}}
- \pgfpathlineto{\pgfpoint{0.35*\pgf@circ@res@right}{0.35*\pgf@circ@res@down}}
- \pgfpathmoveto{\pgfpoint{0.35*\pgf@circ@res@left}{0.35*\pgf@circ@res@down}}
- \pgfpathlineto{\pgfpoint{0.35*\pgf@circ@res@right}{0.35*\pgf@circ@res@up}}
-
+ \pgfusepath{draw}
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@down}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@up}{\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@down}{\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@up}{\pgf@circ@res@up}}
\pgfusepath{draw}
}
-%
% open version of the barrier symbol
% suggested by Radványi Patrik Tamás <patrikradvanyi@gmail.com>
-%
\pgfcircdeclarebipolescaled{misc}
{}
{\ctikzvalof{bipoles/barrier/height}}
{openbarrier}
{\ctikzvalof{bipoles/barrier/height}}
-{\ctikzvalof{bipoles/barrier/width}}
+{\ctikzvalof{bipoles/openbarrier/width}}
{
- % this is set with normal wire linewidth
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/openbarrier/gap}*\pgf@circ@res@left}{0pt}}
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
\pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/openbarrier/gap}*\pgf@circ@res@right}{0pt}}
\pgfusepath{draw}
-
- % do the cross part
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
-
- \pgfpathmoveto{\pgfpoint{0.35*\pgf@circ@res@left}{0.35*\pgf@circ@res@up}}
- \pgfpathlineto{\pgfpoint{0.35*\pgf@circ@res@right}{0.35*\pgf@circ@res@down}}
- \pgfpathmoveto{\pgfpoint{0.35*\pgf@circ@res@left}{0.35*\pgf@circ@res@down}}
- \pgfpathlineto{\pgfpoint{0.35*\pgf@circ@res@right}{0.35*\pgf@circ@res@up}}
-
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@down}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@up}{\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@down}{\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@up}{\pgf@circ@res@up}}
\pgfusepath{draw}
}
+
%% Lamp
\pgfcircdeclarebipolescaled{misc}
{}
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex
index e1843d5da8..4d00670a54 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex
index 364c56a414..b620979ec5 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
index a81bfdc6c6..09bae28f18 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex
index 84fa6c6d1e..77b6edc904 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -49,6 +49,7 @@
\ctikzset{monopoles/dinantenna/width/.initial=.2}
\ctikzset{monopoles/dinantenna/height/.initial=.6}
\ctikzset{monopoles/waves/width/.initial=0.5}%
+\ctikzset{monopoles/harmonics/width/.initial=0.5}%
%>>>
%% Node shapes for grounds and power supply%<<<
@@ -617,6 +618,56 @@
}
}
+\pgfdeclareshape{harmonics}{
+ \savedmacro{\ctikzclass}{\edef\ctikzclass{RF}}
+ \saveddimen{\scaledRlen}{\pgfmathsetlength{\pgf@x}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}}
+ \anchor{center}{\pgfpointorigin}
+ \savedanchor{\northeast}{
+ \pgfmathsetlength{\pgf@circ@scaled@Rlen}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}
+ \pgf@circ@res@step=\ctikzvalof{monopoles/harmonics/width}\pgf@circ@scaled@Rlen
+ \pgf@x=\pgf@circ@res@step
+ \pgf@y=\pgf@circ@res@step
+ }
+ \anchor{text}{
+ \northeast
+ \pgf@y=\dimexpr\pgf@y+.5\dp\pgfnodeparttextbox-.5\ht\pgfnodeparttextbox\relax
+ }
+ \anchor{top}{\northeast\pgf@x=0pt}
+ \anchor{right}{\northeast\pgf@y=0pt}
+ \anchor{left}{\northeast\pgf@x=-\pgf@x\pgf@y=0pt}
+ \anchor{bottom}{\northeast\pgf@y=-\pgf@y\pgf@x=0pt}
+ \anchor{north}{\northeast\pgf@x=0pt}
+ \anchor{north east}{\northeast}
+ \anchor{east}{\northeast\pgf@y=0pt}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south}{\northeast\pgf@y=-\pgf@y\pgf@x=0pt}
+ \anchor{south west}{\northeast\pgf@y=-\pgf@y\pgf@x=-\pgf@x}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0pt}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \pgf@circ@draw@component{
+ \pgf@circ@scaled@Rlen=\scaledRlen
+ \pgf@circ@res@step=\ctikzvalof{monopoles/waves/width}\pgf@circ@scaled@Rlen
+ \pgf@circ@res@step=0.5\pgf@circ@res@step
+ \pgf@circ@setcolor
+ \pgfscope
+ % define a triangle for clipping the waves
+ \pgfpathmoveto{\pgfpoint{-2\pgf@circ@res@step}{0pt}}
+ \pgfpathlineto{\pgfpoint{2.1\pgf@circ@res@step}{1\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{2.1\pgf@circ@res@step}{-1\pgf@circ@res@step}}
+ \pgfpathclose
+ \pgfusepath{clip}
+ % ...and build the waves as clipped circles
+ \c@pgf@counta=32\pgf@circ@res@other=0.125\pgf@circ@res@step
+ \pgfmathloop%
+ \ifnum\c@pgf@counta>1
+ \pgfpathcircle{\pgfpoint{-2\pgf@circ@res@step}{0pt}}{\the\c@pgf@counta*\pgf@circ@res@other}
+ \advance\c@pgf@counta-1\relax%
+ \repeatpgfmathloop
+ \pgfusepath{draw}
+ \endpgfscope
+ }
+}
+
% the four types of antennas: simple, din, TX, RX. Notice that you can flip them...
%
\pgfdeclareshape{bareantenna}{
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex
index e403a53fa6..5f98f3b91b 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex
index e3665b8862..7d94de4959 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -231,13 +231,15 @@
\compattikzset{#2/.style={\comnpatname #1, #3={##1}}}%
}
% create a bipole
-\def\pgfcirc@activate@bipole#1#2#3#4{% path name, base node name, style name
+\def\pgfcirc@activate@bipole#1#2#3#4{% type of label, path name, base node name, style name
+ % \typeout{Activate bipole:\space #4,}
\expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}%
\pgfcirc@path@to@style{#1}{#2}{#4}{}% no options here, let's see
}
\def\pgfcirc@activate@bipole@simple#1#2{\pgfcirc@activate@bipole{#1}{#2}{#2}{#2}}
% create a bipole with options
-\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% path name, base node name, style name
+\def\pgfcirc@activate@bipole@opt#1#2#3#4#5{% type of label, path name, base node name, style name, options
+ % \typeout{Activate bipole:\space #4,}
\expandafter\def\csname pgf@circ@#2@path\endcsname##1{\pgf@circ@bipole@path{#3}{##1}}%
\pgfcirc@path@to@style{#1}{#2}{#4}{#5}% no options here, let's see
}
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
index 2cc6e461aa..cca01b5bee 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -544,6 +544,11 @@
\ctikzset{bipoles/lowpass/width/.initial=.7}
\ctikzset{bipoles/lowpass2/width/.initial=.7}
\ctikzset{bipoles/allpass/width/.initial=.7}
+\ctikzset{bipoles/vallpass/width/.initial=.7}
+\ctikzset{bipoles/bgenerator/width/.initial=.7}
+\ctikzset{bipoles/qgenerator/width/.initial=.7}
+\ctikzset{bipoles/cgenerator/width/.initial=.7}
+\ctikzset{bipoles/ngenerator/width/.initial=.7}
\ctikzset{bipoles/adc/width/.initial=.7}
\ctikzset{bipoles/dac/width/.initial=.7}
\ctikzset{bipoles/dsp/width/.initial=.7}
@@ -557,10 +562,26 @@
\ctikzset{bipoles/vtattenuator/width/.initial=.7}
\ctikzset{bipoles/phaseshifter/width/.initial=.7}
\ctikzset{bipoles/vphaseshifter/width/.initial=.7}
+\ctikzset{bipoles/biast/width/.initial=.7}
+\ctikzset{bipoles/sinetable/width/.initial=.7}
+\ctikzset{bipoles/register/width/.initial=.7}
\ctikzset{bipoles/detector/width/.initial=.7}
\ctikzset{bipoles/saturation/width/.initial=.7}
\ctikzset{bipoles/sigmoid/width/.initial=.7}
\ctikzset{bipoles/allornothing/width/.initial=.7}
+
+\ctikzset{bipoles/camera/height/.initial=1.2}
+\ctikzset{bipoles/camera/depth/.initial=.3}
+\ctikzset{bipoles/camera/width/.initial=.4}
+\ctikzset{bipoles/tvset/width/.initial=0.6}
+\ctikzset{bipoles/tvset/height/.initial=.4}
+\ctikzset{bipoles/trx/width/.initial=1}
+\ctikzset{bipoles/trx/height/.initial=.4}
+\ctikzset{bipoles/swr/width/.initial=0.6}
+\ctikzset{bipoles/swr/height/.initial=.4}
+\ctikzset{bipoles/power/width/.initial=1}
+\ctikzset{bipoles/power/height/.initial=.4}
+
\ctikzset{tripoles/mixer/width/.initial=0.7}
\ctikzset{tripoles/adder/width/.initial=0.7}
\ctikzset{tripoles/circulator/width/.initial=.7}
@@ -719,6 +740,19 @@
\endpgfscope
}
%
+\def\pgfcirc@twoport@draw@narrowsine#1{% #1 -> y shift
+ \pgfscope
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \pgftransformyshift{#1\pgf@circ@res@step}
+ \pgfpathmoveto{\pgfpoint{.125\pgf@circ@res@step}{0\pgf@circ@res@step}}
+ \pgfpathsine{\pgfpoint{.125\pgf@circ@res@step}{.125\pgf@circ@res@step}}
+ \pgfpathcosine{\pgfpoint{.125\pgf@circ@res@step}{-.125\pgf@circ@res@step}}
+ \pgfpathsine{\pgfpoint{.125\pgf@circ@res@step}{-.125\pgf@circ@res@step}}
+ \pgfpathcosine{\pgfpoint{.125\pgf@circ@res@step}{.125\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \endpgfscope
+}
+%
\def\pgfcirc@twoport@draw@splitline{%
\pgfscope
\pgfcirc@twoport@maybedash
@@ -889,6 +923,90 @@
\pgfcirc@twoport@draw@sine{0.0}{0}
\pgfcirc@twoport@draw@sine{-0.5}{0}
}
+%% variable allpass filter
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/vallpass/width}}
+{vallpass}
+{\ctikzvalof{bipoles/vallpass/width}}
+{\ctikzvalof{bipoles/vallpass/width}}
+{
+ \pgfcirc@twoport@draw@sine{0.5}{0}
+ \pgfcirc@twoport@draw@sine{0.0}{0}
+ \pgfcirc@twoport@draw@sine{-0.5}{0}
+ \pgfcirc@set@arrows{tunable}{}{latex}
+ \pgfpathmoveto{\pgfpoint{0.7\pgf@circ@res@left}{0.5\pgf@circ@res@down}}
+ \pgfpathlineto{\pgfpoint{0.7\pgf@circ@res@right}{0.8\pgf@circ@res@up}}
+ \pgfusepath{draw}
+}
+%% Block Generator
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/bgenerator/width}}
+{bgenerator}
+{\ctikzvalof{bipoles/bgenerator/width}}
+{\ctikzvalof{bipoles/bgenerator/width}}
+{
+ \pgfcirc@twoport@draw@narrowsine{0.25}
+ \pgfcirc@twoport@draw@narrowsine{0.0}
+ \pgfcirc@twoport@draw@narrowsine{-0.25}
+ \pgftext[x=0.45\pgf@circ@res@left]{\ctikzvalof{bipoles/twoport/text}}
+}
+%% Crystal Generator
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/qgenerator/width}}
+{qgenerator}
+{\ctikzvalof{bipoles/qgenerator/width}}
+{\ctikzvalof{bipoles/qgenerator/width}}
+{
+ \pgfcirc@twoport@draw@narrowsine{0.45}
+ \pgfcirc@twoport@draw@narrowsine{0.20}
+ \pgfcirc@twoport@draw@narrowsine{-0.05}
+ \pgftext[x=0.45\pgf@circ@res@left,y=0.25\pgf@circ@res@up]{\ctikzvalof{bipoles/twoport/text}}
+ \pgfpathlineto{\pgfpoint{-0.7\pgf@circ@res@step}{-0.4\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{ 0.7\pgf@circ@res@step}{-0.4\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathrectangle{\pgfpoint{-0.7\pgf@circ@res@step}{-0.7\pgf@circ@res@step}}
+ {\pgfpoint{1.4\pgf@circ@res@step}{0.2\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{-0.7\pgf@circ@res@step}{-0.8\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{ 0.7\pgf@circ@res@step}{-0.8\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.7\pgf@circ@res@step}{-0.4\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{ 0.7\pgf@circ@res@step}{-0.4\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+%% Clock generator
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/cgenerator/width}}
+{cgenerator}
+{\ctikzvalof{bipoles/cgenerator/width}}
+{\ctikzvalof{bipoles/cgenerator/width}}
+{
+ \pgfpathmoveto{\pgfpoint{-0.70\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.42\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.42\pgf@circ@res@step}{+0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.14\pgf@circ@res@step}{+0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.14\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.14\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.14\pgf@circ@res@step}{+0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.42\pgf@circ@res@step}{+0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.42\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.70\pgf@circ@res@step}{-0.35\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+%% Generic generator
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/ngenerator/width}}
+{ngenerator}
+{\ctikzvalof{bipoles/ngenerator/width}}
+{\ctikzvalof{bipoles/ngenerator/width}}
+{
+ \pgfcirc@twoport@draw@sine{0.5}{0}
+ \pgftext[y=-0.35\pgf@circ@res@up]{\ctikzvalof{bipoles/twoport/text}}
+}
%% ADC
\pgfcirc@define@twoports{blocks}
{}
@@ -1056,6 +1174,89 @@
\pgf@circ@text@strokecolor
\pgftext[center,x=0,y=0]{\Large$\varphi$}
}
+%% BIAS-T
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/biast/width}}
+{biast}
+{\ctikzvalof{bipoles/biast/width}}
+{\ctikzvalof{bipoles/biast/width}}
+{
+ \pgfpathmoveto{\pgfpoint{-0.80\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Line to Plate 1
+ \pgfpathlineto{\pgfpoint{-0.50\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.50\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Plate 1
+ \pgfpathlineto{\pgfpoint{-0.50\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.50\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.50\pgf@circ@res@step}{-0.80\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Plate 1
+ \pgfpathlineto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.80\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Line to Center
+ \pgfpathlineto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathcircle{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}{0.075\pgf@circ@res@step}
+ \pgfusepath{fill}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Line to Right
+ \pgfpathlineto{\pgfpoint{ 0.80\pgf@circ@res@step}{-0.50\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.50\pgf@circ@res@step}} % Line to Coils
+ \pgfpathlineto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.20\pgf@circ@res@step}} % Arc1
+ \pgfpatharc{-90}{90}{0.09\pgf@circ@res@step}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{-0.02\pgf@circ@res@step}} % Arc2
+ \pgfpatharc{-90}{90}{0.09\pgf@circ@res@step}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{+0.16\pgf@circ@res@step}} % Arc3
+ \pgfpatharc{-90}{90}{0.09\pgf@circ@res@step}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{+0.36\pgf@circ@res@step}} % Arc4
+ \pgfpatharc{-90}{90}{0.09\pgf@circ@res@step}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{ 0.00\pgf@circ@res@step}{+0.52\pgf@circ@res@step}} % Line to Coils
+ \pgfpathlineto{\pgfpoint{ 0.00\pgf@circ@res@step}{+0.80\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+%% Sine table
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/sinetable/width}}
+{sinetable}
+{\ctikzvalof{bipoles/sinetable/width}}
+{\ctikzvalof{bipoles/sinetable/width}}
+{
+ \pgfcirc@twoport@draw@sine{0.0}{0}
+ \pgfcirc@set@arrows{tunable}{}{latex}
+ \pgfpathmoveto{\pgfpoint{-0.70\pgf@circ@res@step}{-0.70\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.70\pgf@circ@res@step}{-0.70\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgfpathmoveto{\pgfpoint{-0.70\pgf@circ@res@step}{-0.70\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.70\pgf@circ@res@step}{+0.70\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+%% Register
+\pgfcirc@define@twoports{blocks}
+{
+ \savedanchor\northwest{
+ \pgfmathsetlength{\pgf@circ@scaled@Rlen}{\ctikzvalof{\ctikzclass/scale}\pgf@circ@Rlen}
+ \pgf@y=\ctikzvalof{bipoles/twoport/width}\pgf@circ@scaled@Rlen
+ \pgf@y=.5\pgf@y
+ \pgf@x=-\ctikzvalof{bipoles/twoport/width}\pgf@circ@scaled@Rlen
+ \pgf@x=.5\pgf@x
+ }
+ \anchor{clk}{\northwest\pgf@y=0.5\pgf@y}
+}
+{\ctikzvalof{bipoles/register/width}}
+{register}
+{\ctikzvalof{bipoles/register/width}}
+{\ctikzvalof{bipoles/register/width}}
+{
+ \pgfpathmoveto{\pgfpoint{-1.00\pgf@circ@res@step}{+0.70\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.60\pgf@circ@res@step}{+0.50\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-1.00\pgf@circ@res@step}{+0.30\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ \pgf@circ@text@strokecolor
+ \pgftext[center,x=0,y=0]{\ctikzvalof{bipoles/twoport/text}}
+}
%% detector
\pgfcirc@define@twoports@norotate{blocks}
{}
@@ -1130,6 +1331,139 @@
\pgfpathlineto{\pgfpoint{0.55\pgf@circ@res@step}{.4\pgf@circ@res@step}}
\pgfusepath{draw}
}
+
+%% Camera:
+\pgfcircdeclarebipolescaled{misc}
+{}
+{\ctikzvalof{bipoles/camera/depth}}
+{camera}
+{\ctikzvalof{bipoles/camera/height}}
+{\ctikzvalof{bipoles/camera/width}}{
+ \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{.7\pgf@circ@res@up}}
+ {\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{0.5\pgf@circ@res@left}{.7\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf@circ@res@left}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{0.5\pgf@circ@res@right}{.7\pgf@circ@res@up}}
+ \pgfpathclose
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgf@circ@draworfill
+}
+
+% TV:
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/tvset/height}}
+{tvset}
+{\ctikzvalof{bipoles/tvset/height}}
+{\ctikzvalof{bipoles/tvset/width}}
+{
+ \pgfsetlinewidth{2\pgflinewidth} % double in size
+ % Legs
+ \pgfpathmoveto{\pgfpoint{+0.60\pgf@circ@res@step}{-1.10\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{+0.30\pgf@circ@res@step}{-0.70\pgf@circ@res@step}}
+ \pgfusepath{draw}
+ %
+ \pgfpathmoveto{\pgfpoint{-0.60\pgf@circ@res@step}{-1.10\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.30\pgf@circ@res@step}{-0.70\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+
+% Transceiver (TRX)
+\pgfcirc@define@twoports{blocks}
+{
+ \anchor{plus}{\northeast \advance\pgf@y by -0.2\pgf@x\pgf@x=-\pgf@x}
+ \anchor{minus}{\northeast \advance\pgf@y by -0.2\pgf@x\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+}
+{\ctikzvalof{bipoles/trx/height}}
+{trx}
+{\ctikzvalof{bipoles/trx/height}}
+{\ctikzvalof{bipoles/trx/width}}
+{
+ % VFO-Wheel:
+ \pgfpathcircle{\pgfpoint{0.60\pgf@circ@res@step}{0.00\pgf@circ@res@step}}{0.25\pgf@circ@res@step}
+ \pgfpathcircle{\pgfpoint{0.68\pgf@circ@res@step}{0.10\pgf@circ@res@step}}{0.06\pgf@circ@res@step}
+ % Volume and Squelch:
+ \pgfpathcircle{\pgfpoint{-0.8\pgf@circ@res@step}{+0.15\pgf@circ@res@step}}{0.1\pgf@circ@res@step}
+ \pgfpathcircle{\pgfpoint{-0.8\pgf@circ@res@step}{-0.15\pgf@circ@res@step}}{0.1\pgf@circ@res@step}
+ % Display:
+ \pgfpathrectangle{\pgfpoint{-0.55\pgf@circ@res@step}{-0.25\pgf@circ@res@step}}
+ {\pgfpoint{+0.75\pgf@circ@res@step}{+0.5\pgf@circ@res@step}}%
+ \pgfusepath{draw}
+}
+% Standing Wave Ratio (SWR) Meter
+\pgfcirc@define@twoports{blocks}
+{}
+{\ctikzvalof{bipoles/swr/height}}
+{swr}
+{\ctikzvalof{bipoles/swr/height}}
+{\ctikzvalof{bipoles/swr/width}}
+{
+ % Screen:
+ \pgfscope
+ \pgfsetstrokecolor{gray}\pgfsetdash{{1.5pt}{1pt}}{0pt}
+ \pgfpathmoveto{\pgfpoint{-0.5\pgf@circ@res@step}{-0.25\pgf@circ@res@step}}
+ \pgfpatharc{160}{110}{1.1\pgf@circ@res@step}
+ \pgfpathmoveto{\pgfpoint{0.5\pgf@circ@res@step}{-0.25\pgf@circ@res@step}}
+ \pgfpatharc{-160}{-110}{-1.1\pgf@circ@res@step}
+ \pgfusepath{draw}
+ \endpgfscope
+ \pgfpathmoveto{\pgfpoint{-0.7\pgf@circ@res@step}{0.5\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.7\pgf@circ@res@step}{0.5\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.7\pgf@circ@res@step}{-0.2\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0pt}{-0.4\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.7\pgf@circ@res@step}{-0.2\pgf@circ@res@step}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-0.35\pgf@circ@res@step}{-0.3\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.3\pgf@circ@res@step}{0.3\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{0.35\pgf@circ@res@step}{-0.3\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.3\pgf@circ@res@step}{0.3\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+% Power supply
+\pgfcirc@define@twoports{blocks}
+{
+ \anchor{u1}{\northeast \advance\pgf@y by -0.2\pgf@x\pgf@x=-\pgf@x}
+ \anchor{u2}{\northeast \advance\pgf@y by -0.2\pgf@x\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{plus}{\northeast \advance\pgf@y by -0.2\pgf@x \advance\pgf@x by -0.25\pgf@x}
+ \anchor{minus}{\northeast \advance\pgf@y by -0.2\pgf@x\pgf@y=-\pgf@y \advance\pgf@x by -0.25\pgf@x}
+}
+{\ctikzvalof{bipoles/power/height}}
+{power}
+{\ctikzvalof{bipoles/power/height}}
+{\ctikzvalof{bipoles/power/width}}
+{
+ % Plus:
+ \color{red}
+ \pgfsetstrokecolor{red}
+ \pgfpathcircle{\pgfpoint{0.75\pgf@circ@res@step}{0.20\pgf@circ@res@step}}{0.075\pgf@circ@res@step}%
+ \pgfusepath{fill}
+ \pgfpathmoveto{\pgfpoint{0.50\pgf@circ@res@step}{0.20\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.60\pgf@circ@res@step}{0.20\pgf@circ@res@step}}
+ \pgfpathmoveto{\pgfpoint{0.55\pgf@circ@res@step}{0.25\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.55\pgf@circ@res@step}{0.15\pgf@circ@res@step}}
+ \pgfusepath{stroke}
+ % Minus:
+ \color{black}
+ \pgfsetstrokecolor{black}
+ \pgfpathcircle{\pgfpoint{0.75\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}{0.075\pgf@circ@res@step}%
+ \pgfusepath{fill}
+ \pgfpathmoveto{\pgfpoint{0.50\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{0.60\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}
+ \pgfusepath{stroke}
+ % Displays:
+ \pgfpathrectangle{\pgfpoint{-0.5\pgf@circ@res@step}{0.00\pgf@circ@res@step}}{\pgfpoint{+0.4\pgf@circ@res@step}{+0.25\pgf@circ@res@step}}%
+ \pgfpathrectangle{\pgfpoint{-0.0\pgf@circ@res@step}{0.00\pgf@circ@res@step}}{\pgfpoint{+0.4\pgf@circ@res@step}{+0.25\pgf@circ@res@step}}%
+ % Poti:
+ \pgfpathcircle{\pgfpoint{-0.30\pgf@circ@res@step}{-0.20\pgf@circ@res@step}}{0.075\pgf@circ@res@step}%
+ \pgfusepath{draw}
+ % Switch:
+ \pgfpathrectangle{\pgfpoint{-0.9\pgf@circ@res@step}{0.00\pgf@circ@res@step}}{\pgfpoint{+0.15\pgf@circ@res@step}{+0.25\pgf@circ@res@step}}%
+ \pgfpathmoveto{\pgfpoint{-0.90\pgf@circ@res@step}{0.125\pgf@circ@res@step}}
+ \pgfpathlineto{\pgfpoint{-0.75\pgf@circ@res@step}{0.125\pgf@circ@res@step}}
+ \pgfusepath{draw}
+}
+
%% converters help function
%% definition for styling the DC symbols (GitHub issue #680)
\ctikzset{blocks dc in segments/.initial=1}
@@ -1574,6 +1908,11 @@
\pgfcirc@activate@bipole@simple{l}{lowpass}
\pgfcirc@activate@bipole@simple{l}{lowpass2}
\pgfcirc@activate@bipole@simple{l}{allpass}
+\pgfcirc@activate@bipole@simple{l}{vallpass}
+\pgfcirc@activate@bipole@simple{l}{bgenerator}
+\pgfcirc@activate@bipole@simple{l}{qgenerator}
+\pgfcirc@activate@bipole@simple{l}{cgenerator}
+\pgfcirc@activate@bipole@simple{l}{ngenerator}
\pgfcirc@activate@bipole@simple{l}{adc}
\pgfcirc@activate@bipole@simple{l}{dac}
\pgfcirc@activate@bipole@simple{l}{dsp}
@@ -1587,10 +1926,18 @@
\pgfcirc@activate@bipole@simple{l}{vtattenuator}
\pgfcirc@activate@bipole@simple{l}{phaseshifter}
\pgfcirc@activate@bipole@simple{l}{vphaseshifter}
+\pgfcirc@activate@bipole@simple{l}{biast}
+\pgfcirc@activate@bipole@simple{l}{sinetable}
+\pgfcirc@activate@bipole@simple{l}{register}
\pgfcirc@activate@bipole@simple{l}{detector}
\pgfcirc@activate@bipole@simple{l}{saturation}
\pgfcirc@activate@bipole@simple{l}{sigmoid}
\pgfcirc@activate@bipole@simple{l}{allornothing}
+\pgfcirc@activate@bipole@simple{l}{camera}
+\pgfcirc@activate@bipole@simple{l}{tvset}
+\pgfcirc@activate@bipole@simple{l}{trx}
+\pgfcirc@activate@bipole@simple{l}{swr}
+\pgfcirc@activate@bipole@simple{l}{power}
\pgfcirc@activate@bipole@simple{l}{fiber}
\pgfcirc@activate@bipole@simple{l}{sacdc}
\pgfcirc@activate@bipole@simple{l}{sdcac}
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex
index f633ba1c5b..b402557279 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
index d8d089dd92..85995946f3 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex
index 08535b7bc0..caf50139cd 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
index e041b3b524..f797ce312b 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -192,12 +192,14 @@
\pgfmathsetlength{\absvshift}{\absvshift+sign(\absvshift)*height{"Q"}} % with the current font.
\fi
% apply the same shift to open "straight" voltage as raised
- \ifpgf@circuit@bipole@voltage@straight
- \ifx\@@kind\@@open
- \def\pgf@circ@bipole@voltage@label@anchor{center}
- \pgfmathsetlength{\absvshift}{\absvshift+sign(\absvshift)*height{"Q"}} % with the current font.
- \fi
- \fi
+ % commented out due to https://github.com/circuitikz/circuitikz/issues/821
+ % but I'm not sure if it's correct
+ % \ifpgf@circuit@bipole@voltage@straight
+ % \ifx\@@kind\@@open
+ % \def\pgf@circ@bipole@voltage@label@anchor{center}
+ % \pgfmathsetlength{\absvshift}{\absvshift+sign(\absvshift)*height{"Q"}} % with the current font.
+ % \fi
+ % \fi
}
% %\pgf@circ@Rlen/\ctikzvalof{current arrow scale} is equal to the length of the currarrow
%absolute move, minimum space is length of arrowhead
diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex
index 9f955a4654..45433f03e1 100644
--- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -31,10 +31,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1993,10 +1993,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2065,10 +2065,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2871,10 +2871,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3887,10 +3887,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -8991,10 +8991,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -14699,10 +14699,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -15850,10 +15850,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17628,10 +17628,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17997,10 +17997,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18496,10 +18496,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18711,10 +18711,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -19008,10 +19008,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex
index ea2d3e5b14..aedc4b598d 100644
--- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -32,10 +32,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2138,10 +2138,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2224,10 +2224,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3030,10 +3030,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4046,10 +4046,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -9943,10 +9943,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -15850,10 +15850,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -17137,10 +17137,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -19831,10 +19831,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -20200,10 +20200,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -20749,10 +20749,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -20964,10 +20964,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -21261,10 +21261,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex
index 52008ac993..9def87d0ae 100644
--- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -32,10 +32,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2353,10 +2353,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2448,10 +2448,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3260,10 +3260,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -4362,10 +4362,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -10525,10 +10525,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -16959,10 +16959,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18705,10 +18705,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -21736,10 +21736,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22107,10 +22107,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22738,10 +22738,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22968,10 +22968,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -23292,10 +23292,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex
index 422784d674..1ae3bf3d7d 100644
--- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -32,10 +32,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirc.defines
%%%---------- open: tex/pgfcirc.defines.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -927,10 +927,10 @@
%%%---------- close: tex/pgfcirc.defines
%%%%%%%%%%% Springe nach tex/pgfcircutils
%%%---------- open: tex/pgfcircutils.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1332,10 +1332,10 @@
%%%---------- close: tex/pgfcircutils
%%%%%%%%%%% Springe nach tex/pgfcircpath
%%%---------- open: tex/pgfcircpath.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -1697,10 +1697,10 @@
%%%%%%%%%%% Springe nach tex/pgfcircshapes
%%%---------- open: tex/pgfcircshapes.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -2519,10 +2519,10 @@
%%%---------- close: tex/pgfcircshapes
%%%%%%%%%%% Springe nach tex/pgfcircmonopoles
%%%---------- open: tex/pgfcircmonopoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -3722,10 +3722,10 @@
%%%---------- close: tex/pgfcircmonopoles
%%%%%%%%%%% Springe nach tex/pgfcircbipoles
%%%---------- open: tex/pgfcircbipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -9952,10 +9952,10 @@
%%%---------- close: tex/pgfcircbipoles
%%%%%%%%%%% Springe nach tex/pgfcirctripoles
%%%---------- open: tex/pgfcirctripoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -18520,10 +18520,10 @@
%%%---------- close: tex/pgfcirctripoles
%%%%%%%%%%% Springe nach tex/pgfcircquadpoles
%%%---------- open: tex/pgfcircquadpoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -22281,10 +22281,10 @@
%%%---------- close: tex/pgfcircquadpoles
%%%%%%%%%%% Springe nach tex/pgfcircmultipoles
%%%---------- open: tex/pgfcircmultipoles.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -24442,10 +24442,10 @@
%%%%%%%%%%% Springe nach tex/pgfcirclabel
%%%---------- open: tex/pgfcirclabel.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -24844,10 +24844,10 @@
%%%---------- close: tex/pgfcirclabel
%%%%%%%%%%% Springe nach tex/pgfcircvoltage
%%%---------- open: tex/pgfcircvoltage.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -25554,10 +25554,10 @@
%%%---------- close: tex/pgfcircvoltage
%%%%%%%%%%% Springe nach tex/pgfcirccurrent
%%%---------- open: tex/pgfcirccurrent.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -25800,10 +25800,10 @@
%%%---------- close: tex/pgfcirccurrent
%%%%%%%%%%% Springe nach tex/pgfcircflow
%%%---------- open: tex/pgfcircflow.tex
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex
index 4e4861071f..6f3c8c364f 100644
--- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex
@@ -1,7 +1,7 @@
-% Copyright 2018-2024 by Romano Giannetti
-% Copyright 2015-2024 by Stefan Lindner
-% Copyright 2013-2024 by Stefan Erhardt
-% Copyright 2007-2024 by Massimo Redaelli
+% Copyright 2018-2025 by Romano Giannetti
+% Copyright 2015-2025 by Stefan Lindner
+% Copyright 2013-2025 by Stefan Erhardt
+% Copyright 2007-2025 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
@@ -16,8 +16,8 @@
\startmodule[circuitikz]
\usemodule[tikz]
-\def\pgfcircversion{1.6.9}
-\def\pgfcircversiondate{2024/05/25}
+\def\pgfcircversion{1.7.1}
+\def\pgfcircversiondate{2025/01/10}
\writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion}