texlive[71968] Master/texmf-dist: circuitikz (3aug24)

commits+karl at tug.org commits+karl at tug.org
Sat Aug 3 22:29:14 CEST 2024


Revision: 71968
          https://tug.org/svn/texlive?view=revision&revision=71968
Author:   karl
Date:     2024-08-03 22:29:14 +0200 (Sat, 03 Aug 2024)
Log Message:
-----------
circuitikz (3aug24)

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

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

Modified: trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md	2024-08-03 20:29:14 UTC (rev 71968)
@@ -1,6 +1,17 @@
 <!--- CircuiTikz - Changelog --->
 The major changes among the different CircuiTikZ versions are listed here. See <https://github.com/circuitikz/circuitikz/commits> for a full list of changes.
 
+* Version 1.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.
+
+    - New component: new kind of current tap (suggested by [EEpchi and Dr4UX on GitHub](https://github.com/circuitikz/circuitikz/issues/807))
+    - New arrow tip `Jack Tap` to help drawing jack connectors (suggested by [Anisio Rogerio Braga](https://github.com/circuitikz/circuitikz/issues/806))
+    - Change the drawing of the thermocouple (suggested by [Dr4UX on GitHub](https://github.com/circuitikz/circuitikz/issues/811))
+    - Change and enhancement to the drawing of the American resistors (triggered by [Dr4UX on GitHub](https://github.com/circuitikz/circuitikz/issues/814)), fixing a long-standing small asymmetry that nobody noticed
+    - Minor adjustment for joins in `viscoe` component
+    - Minor additions (`rectjoinfill`) and fixes in documentation
+
 * Version 1.6.9 (2024-05-25)
 
     Several new components and a bug fix for a nasty long-standing bug about switching diode types.

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -5,6 +5,38 @@
 
 \begin{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 +527,7 @@
     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

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

Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -2200,7 +2200,84 @@
 \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}
 
 \subsubsection{Capacitors}
@@ -2852,9 +2929,9 @@
 \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,6 +3096,8 @@
     \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}
@@ -3025,6 +3104,36 @@
 
 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]
@@ -3478,9 +3587,9 @@
     \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 +3649,30 @@
 
 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 +3686,12 @@
     \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 +3811,33 @@
 \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.
 
@@ -6596,7 +6762,7 @@
 \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 +7602,9 @@
 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 +8006,7 @@
 \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}).
 

Modified: trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -16,8 +16,8 @@
 \startmodule[circuitikz]
 \usemodule[tikz]
 
-\def\pgfcircversion{1.6.9}
-\def\pgfcircversiondate{2024/05/25}
+\def\pgfcircversion{1.7.0}
+\def\pgfcircversiondate{2024/08/03}
 \writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion}
 
 

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -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 at protected\def\parsedate#1%
+      {%
+        \afterassignment\parsedate at month
+        \pgf at circ@count at a=#1\relax
+      }
+    \pgfutil at protected\def\parsedate at month#1%
+      {%
+        \afterassignment\parsedate at day
+        \pgf at circ@count at b=%
+      }
+    \pgfutil at protected\def\parsedate at day#1%
+      {%
+        \afterassignment\parsedate at cleanup
+        \pgf at circ@count at c=%
+      }
+    \def\parsedate at cleanup#1\relax{}%
+    \parsedate{\pgfrevisiondate}%
+    \xdef\ctikz@@pgfyear{\the\pgf at circ@count at a}%
+    \xdef\ctikz@@pgfmonth{\the\pgf at circ@count at b}%
+    \xdef\ctikz@@pgfday{\the\pgf at circ@count at 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 at auxi#1#2%
+  {%
+    \ifnum#1
+      \ctikz@@ifpgfafter at auxii{#2}%
+    \fi
+  }
+\def\ctikz@@ifpgfafter at auxii#1\fi#2\ctikz@@ifpgfafter#3{\fi#1}
+\def\ctikz@@ifpgfafter#1-#2-#3#%
+  {%
+    \ctikz@@ifpgfafter at auxi{\ctikz@@pgfyear>#1}\pgfutil at firstoftwo
+    \ctikz@@ifpgfafter at auxi{\ctikz@@pgfyear<#1}\pgfutil at secondoftwo
+    \ctikz@@ifpgfafter at auxi{\ctikz@@pgfmonth>#2}\pgfutil at firstoftwo
+    \ctikz@@ifpgfafter at auxi{\ctikz@@pgfmonth<#2}\pgfutil at secondoftwo
+    \ctikz@@ifpgfafter at auxi{\ctikz@@pgfday<#3}\pgfutil at secondoftwo
+    \pgfutil at gobble\ctikz@@ifpgfafter\pgfutil at 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/. at def\endcsname\@undefined
+    \pgfkeys{/pgf/arrow keys/fill/.code={%
+        \def\pgf at temp{#1}%
+        \ifx\pgf at temp\pgf at nonetext%
+          \pgfarrowsaddtooptions{\pgfarrowopentrue}%
+        \else\ifx\pgf at temp\pgfkeysnovalue at text%
+          \pgfarrowsaddtooptions{\pgfarrowopenfalse}%
+        \else
+          \pgfarrowsaddtooptions{\pgfarrowopenfalse\def\pgf at arrows@fill at 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 at 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 at circ@subset at fill@or at 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 at circ@subset at 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 at circ@maybe at 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 at x}{\ctikzvalof{\ctikzclass/scale}\pgf at circ@Rlen}}
@@ -602,97 +739,33 @@
             \pgf at y=.5\pgf at y
         }
         \anchor{center}{\pgfpointorigin}
-        \anchor{n}{
-            \northeast
-            \pgf at x=0cm
-        }
-        \anchor{north east}{
-            \northeast
-        }
-        \anchor{north west}{
-            \northeast
-            \pgf at x=-\pgf at x
-        }
-        \anchor{ne}{
-            \northeast
-        }
-        \anchor{nw}{
-            \northeast
-            \pgf at x=-\pgf at x
-        }
-        \anchor{e}{
-            \northeast
-            \pgf at y=0cm
-        }
-        \anchor{s}{
-            \southwest
-            \pgf at x=0cm
-        }
-        \anchor{south east}{
-            \southwest
-            \pgf at x=-\pgf at x
-        }
-        \anchor{south west}{
-            \southwest
-        }
-        \anchor{se}{
-            \southwest
-            \pgf at x=-\pgf at x
-        }
-        \anchor{sw}{
-            \southwest
-        }
-        \anchor{w}{
-            \southwest
-            \pgf at y=0cm
-        }
-        \anchor{north}{
-            \northeast
-            \pgf at x=0cm
-        }
-        \anchor{east}{
-            \northeast
-            \pgf at y=0cm
-        }
-        \anchor{south}{
-            \southwest
-            \pgf at x=0cm
-        }
-        \anchor{west}{
-            \southwest
-            \pgf at y=0cm
-        }
-        \anchor{right}{
-            \northeast
-            \pgf at y=0cm
-        }
-        \anchor{above}{
-            \northeast
-            \pgf at x=0cm
-        }
-        \anchor{left}{
-            \southwest
-            \pgf at y=0cm
-        }
-        \anchor{below}{
-            \southwest
-            \pgf at x=0cm
-        }
-        \anchor{a}{
-            \northeast
-            \pgf at y=0cm
-        }
-        \anchor{b}{
-            \southwest
-            \pgf at y=0cm
-        }
+        \anchor{n}{\northeast\pgf at x=0cm }
+        \anchor{north east}{\northeast}
+        \anchor{north west}{\northeast\pgf at x=-\pgf at x}
+        \anchor{ne}{\northeast}
+        \anchor{nw}{\northeast\pgf at x=-\pgf at x}
+        \anchor{e}{\northeast\pgf at y=0cm }
+        \anchor{s}{\southwest\pgf at x=0cm }
+        \anchor{south east}{\southwest\pgf at x=-\pgf at x}
+        \anchor{south west}{\southwest}
+        \anchor{se}{\southwest\pgf at x=-\pgf at x}
+        \anchor{sw}{\southwest}
+        \anchor{w}{\southwest\pgf at y=0cm }
+        \anchor{north}{\northeast\pgf at x=0cm }
+        \anchor{east}{\northeast\pgf at y=0cm }
+        \anchor{south}{\southwest\pgf at x=0cm }
+        \anchor{west}{\southwest\pgf at y=0cm }
+        \anchor{right}{\northeast\pgf at y=0cm }
+        \anchor{above}{\northeast\pgf at x=0cm }
+        \anchor{left}{\southwest\pgf at y=0cm }
+        \anchor{below}{\southwest\pgf at x=0cm }
+        \anchor{a}{\northeast\pgf at y=0cm }
+        \anchor{b}{\southwest\pgf at y=0cm }
         \savedanchor{\textanchor}{%
             \pgf at y=\ht\pgfnodeparttextbox
             \pgf at x=-.5\wd\pgfnodeparttextbox
         }
-        \anchor{text}{
-            \textanchor
-        }
+        \anchor{text}{ \textanchor }
         \anchorborder{%
             \ifpgf at circuit@bipole at inverted
                 \pgf at circ@res at left=-\pgf at x
@@ -711,7 +784,6 @@
         #2%
         \pgf at circ@draw at component{
             \pgf at circ@setcolor
-
             \northeast
             \pgf at circ@res at up = \pgf at y
             \pgf at circ@res at zero = 0cm

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -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 at circ@zigzag#1{%
+    \pgf at circ@res at temp=\ctikzvalof{resistors/zigzag stub}\pgf at circ@res at step
+    \advance \pgf at circ@res at step by -2\pgf at circ@res at temp
     \divide \pgf at circ@res at step by \numexpr4*\zigs\relax
 
     \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf at circ@res at zero}}
+    \ifdim\pgf at circ@res at temp>0pt
+        \pgfpathlineto{\pgfpoint{\pgf at circ@res at left+\pgf at circ@res at temp -\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf at circ@res at zero}}
+    \fi
     \pgf at circ@res at other = \pgf at circ@res at left
+    \advance\pgf at circ@res at other by \pgf at circ@res at temp
     \pgf at circ@count at a=\zigs\relax
     % first half zig
     \advance\pgf at circ@res at other by \pgf at circ@res at step
@@ -655,11 +663,14 @@
     \advance\pgf at circ@res at other by 2\pgf at circ@res at step
     \pgfpathlineto{\pgfpoint{\pgf at circ@res at other}{#1\pgf at circ@res at down}}
     \advance\pgf at circ@res at other by \pgf at circ@res at step
-    \pgfpathlineto{\pgfpoint{\pgf at circ@res at other}{\pgf at circ@res at zero}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at other+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf at circ@res at zero}}
+    \ifdim\pgf at circ@res at temp>0pt
+        \pgfpathlineto{\pgfpoint{\pgf at circ@res at other+\pgf at circ@res at temp+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf at circ@res at zero}}
+    \fi
     \pgfsetbeveljoin
+    \pgfkeys{/tikz/circuitikz/resistors/zigzag hook}
     \pgfusepath{draw}
 }
-
 %% Resistor
 \pgfcircdeclarebipolescaled{resistors}
 {
@@ -672,7 +683,7 @@
 {
     \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgftransformationadjustments
-    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/resistor/width}*\scaledRlen}
     \pgf at circ@zigzag{1}
 }
 
@@ -692,7 +703,7 @@
 {
     \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgftransformationadjustments
-    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/vresistor/width}*\scaledRlen}
     \pgf at circ@zigzag{.5}
 
     \pgfscope
@@ -731,7 +742,7 @@
 {
     \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgftransformationadjustments
-    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/potentiometer/width}*\scaledRlen}
     \pgf at circ@zigzag{1}
 
     \pgfscope
@@ -761,7 +772,7 @@
 {%
     \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgftransformationadjustments
-    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/resistivesens/width}*\scaledRlen}
     \pgf at circ@zigzag{.5}
 
     \pgfscope
@@ -810,7 +821,7 @@
     \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right/\@@intscale+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
     \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{+0pt}}
     \pgftransformationadjustments
-    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen+\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}
+    \pgfmathsetlength{\pgf at circ@res at step}{\ctikzvalof{bipoles/ldresistor/width}*\scaledRlen}
     \pgf at circ@zigzag{\@@hscale}
 }%
 
@@ -6031,6 +6042,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 +6625,28 @@
         \pgfusepath{draw}
     \endpgfscope
 }
+%% currtap
+\pgfcircdeclarebipolescaled{instruments}
+{
+    \savedmacro{\@@dotsize}{\def\@@dotsize{\ctikzvalof{bipoles/currtap/dot size}}}
+    \anchor{tap}{\northeast\pgf at x=0pt\pgf at y=\@@dotsize\pgf at y\pgf at y=-\pgf at y}
+}
+{\ctikzvalof{bipoles/currtap/height}}
+{currtap}
+{\ctikzvalof{bipoles/currtap/height}}
+{\ctikzvalof{bipoles/currtap/height}}
+{
+    \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0pt}}
+    \pgfpathlineto{\pgfpoint{0.95\pgf at circ@res at left}{0pt}}
+    \pgfpatharc{180}{0}{0.95\pgf at circ@res at right}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0pt}}
+    \pgfusepath{draw}
+    \pgf at circ@subset at color@dash{bipoles/currtap}
+    \pgf at circ@subset at thickness{bipoles/currtap}
+    \pgfusepath{draw}
+    \pgfpathcircle{\pgfpoint{0pt}{0pt}}{\@@dotsize*\pgf at circ@res at up}
+    \pgf at circ@subset at fill@or at draw{bipoles/currtap}
+}
 % %>>>
 
 % Path definitions for Instruments%<<<
@@ -6619,8 +6659,8 @@
 \pgfcirc at activate@bipole at simple{l}{rmeterwa}
 \pgfcirc at activate@bipole at simple{l}{smeter}
 \pgfcirc at activate@bipole at simple{l}{iloop}
-% \pgfcirc at activate@bipole at simple{l}{iloop2} that was wrong
 \pgfcirc at activate@bipole{l}{ilooptwo}{iloop2}{iloop2}
+\pgfcirc at activate@bipole at simple{l}{currtap}
 \pgfcirc at activate@bipole at simple{l}{qvprobe}
 \pgfcirc at activate@bipole at simple{l}{qiprobe}
 \pgfcirc at activate@bipole at simple{l}{qpprobe}
@@ -6774,8 +6814,11 @@
 
     % spring into the damper
     \pgfscope
-        \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+    \pgfscope
+        \pgftransformationadjustments
         \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+        \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left-\pgfhorizontaltransformationadjustment*0.5*\pgflinewidth}{\pgf at circ@res at zero}}
+        \pgfpathlineto{\pgfpoint{.95\pgf at circ@res at left}{\pgf at circ@res at zero}}
         \pgfsetcornersarced{\pgfpoint{.25\pgf at circ@res at up}{.25\pgf at circ@res at up}}
         \pgfpathlineto{\pgfpoint{.75\pgf at circ@res at left}{.75\pgf at circ@res at up}}
         \pgfpathlineto{\pgfpoint{.5\pgf at circ@res at left}{-.75\pgf at circ@res at up}}
@@ -6782,8 +6825,11 @@
         \pgfpathlineto{\pgfpoint{.25\pgf at circ@res at left}{.75\pgf at circ@res at up}}
         \pgfpathlineto{\pgfpoint{0pt}{-.75\pgf at circ@res at up}}
         \pgfpathlineto{\pgfpoint{\ctikzvalof{bipoles/damper/length}\pgf at circ@res at right}{.75\pgf at circ@res at up}}
+        \pgfsetbuttcap
+        \pgfsetbeveljoin
         \pgfusepath{stroke}
     \endpgfscope
+    \endpgfscope
     % damper box
     \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at down}}
@@ -7171,18 +7217,18 @@
 {\ctikzvalof{bipoles/thermocouple/height}}
 {\ctikzvalof{bipoles/thermocouple/width}}
 {
+    \pgfsetrectcap
     \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{0}}
     \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{.5\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{0}{\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{.5\pgf at circ@res at down}}
+    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0}}
     \pgfusepath{draw}
+    \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+    \pgfsetroundcap
     \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{.5\pgf at circ@res at down}}
-    \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
     \pgfpathlineto{\pgfpoint{0}{\pgf at circ@res at down}}
     \pgfusepath{draw}
-    \pgfsetlinewidth{\pgfstartlinewidth}
-    \pgfpathmoveto{\pgfpoint{0}{\pgf at circ@res at down}}
-    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{.5\pgf at circ@res at down}}
-    \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0}}
-    \pgfusepath{draw}
 }
 %% fuse
 \pgfcircdeclarebipolescaled{misc}

Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex	2024-08-03 20:29:14 UTC (rev 71968)
@@ -231,13 +231,15 @@
     \compattikzset{#2/.style={\comnpatname #1, #3={##1}}}%
 }
 % create a bipole
-\def\pgfcirc at activate@bipole#1#2#3#4{% path name, base node name, style name
+\def\pgfcirc at 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 at circ@#2 at path\endcsname##1{\pgf at circ@bipole at path{#3}{##1}}%
     \pgfcirc at path@to at style{#1}{#2}{#4}{}% no options here, let's see
 }
 \def\pgfcirc at activate@bipole at simple#1#2{\pgfcirc at activate@bipole{#1}{#2}{#2}{#2}}
 % create a bipole with options
-\def\pgfcirc at activate@bipole at opt#1#2#3#4#5{% path name, base node name, style name
+\def\pgfcirc at activate@bipole at 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 at circ@#2 at path\endcsname##1{\pgf at circ@bipole at path{#3}{##1}}%
     \pgfcirc at path@to at style{#1}{#2}{#4}{#5}% no options here, let's see
 }

Modified: trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2024-08-03 20:29:03 UTC (rev 71967)
+++ trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty	2024-08-03 20:29:14 UTC (rev 71968)
@@ -16,8 +16,8 @@
 \providecommand\DeclareRelease[3]{}
 \providecommand\DeclareCurrentRelease[2]{}
 
-\def\pgfcircversion{1.6.9}
-\def\pgfcircversiondate{2024/05/25}
+\def\pgfcircversion{1.7.0}
+\def\pgfcircversiondate{2024/08/03}
 
 \DeclareRelease{0.4}{2012/12/20}{circuitikz-0.4-body.tex}
 \DeclareRelease{v0.4}{2012/12/20}{circuitikz-0.4-body.tex}



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