texlive[74723] Master/texmf-dist: circuitikz (22mar25)
commits+karl at tug.org
commits+karl at tug.org
Sat Mar 22 21:05:03 CET 2025
Revision: 74723
https://tug.org/svn/texlive?view=revision&revision=74723
Author: karl
Date: 2025-03-22 21:05:03 +0100 (Sat, 22 Mar 2025)
Log Message:
-----------
circuitikz (22mar25)
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/pgfcircmonopoles.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 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md 2025-03-22 20:05:03 UTC (rev 74723)
@@ -1,6 +1,16 @@
<!--- 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.2 (2025-03-21)
+
+ A couple of new components (wiggly bulbs and a new "oO" type autotransformer), and several small corrections.
+
+ - Fix leaking filament in `bulb` bipole
+ - Fix small incoherence between width/height in oo-type sources
+ - New component: Wiggly bulb (suggested by [Sebastiano](https://github.com/circuitikz/circuitikz/issues/845))
+ - New component: "zero-type" autotransformer (suggested by [Max Börjesson ](https://github.com/circuitikz/circuitikz/issues/852))
+ - Allow to set the index position for square instruments (by [Julien Labbé](https://github.com/circuitikz/circuitikz/pull/848))
+
* 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...).
@@ -606,7 +616,7 @@
- Added Romano Giannetti as contributor
- Added a CONTRIBUTING file
- Added options for solving the voltage direction problems.
- - Adjusted ground symbols to better match ISO standard, added new symbols
+ - Adjusted ground symbols to better match ISO standard, added new symbols
- Added new sources (cute european versions, noise sources)
- Added new types of amplifiers, and option to flip inputs and outputs
- Added bidirectional diodes (diac) thanks to Andre Lucas Chinazzo
@@ -623,74 +633,74 @@
- Added viscoelastic element
- Added a manual section on how to define new components
- Fixed american voltage symbols and allow to customize them
- - Fixed placement of straightlabels in several cases
+ - Fixed placement of straightlabels in several cases
- Fixed a bug about straightlabels (thanks to @fotesan)
- Fixed labels spacing so that they are independent on scale factor
- Fixed the position of text labels in amplifiers
* Version 0.8.3 (2017-05-28)
- - Removed unwanted lines at to-paths if the starting point is a node without a explicit anchor.
- - Fixed scaling option, now all parts are scaled by bipoles/length
- - Surge arrester appears no more if a to path is used without []-options
- - Fixed current placement now possible with paths at an angle of around 280°
- - Fixed voltage placement now possible with paths at an angle of around 280°
- - Fixed label and annotation placement (at some angles position not changable)
- - Adjustable default distance for straight-voltages: 'bipoles/voltage/straight label distance'
- - Added Symbol for bandstop filter
- - New annotation type to show flows using f=... like currents, can be used for thermal, power or current flows
+ - Removed unwanted lines at to-paths if the starting point is a node without a explicit anchor.
+ - Fixed scaling option, now all parts are scaled by bipoles/length
+ - Surge arrester appears no more if a to path is used without []-options
+ - Fixed current placement now possible with paths at an angle of around 280°
+ - Fixed voltage placement now possible with paths at an angle of around 280°
+ - Fixed label and annotation placement (at some angles position not changable)
+ - Adjustable default distance for straight-voltages: 'bipoles/voltage/straight label distance'
+ - Added Symbol for bandstop filter
+ - New annotation type to show flows using f=... like currents, can be used for thermal, power or current flows
* Version 0.8.2 (2017-05-01)
- - Fixes pgfkeys error using alternatively specified mixed colors(see pgfplots manual section "4.7.5 Colors")
- - Added new switches "ncs" and "nos"
- - Reworked arrows at spst-switches
- - Fixed direction of controlled american voltage source
- - "v<=" and "i<=" do not rotate the sources anymore(see them as "counting direction indication", this can be different then the shape orientation); Use the option "invert" to change the direction of the source/apperance of the shape.
- - current label "i=" can now be used independent of the regular label "l=" at current sources
- - rewrite of current arrow placement. Current arrows can now also be rotated on zero-length paths
- - New DIN/EN compliant operational amplifier symbol "en amp"
+ - Fixes pgfkeys error using alternatively specified mixed colors(see pgfplots manual section "4.7.5 Colors")
+ - Added new switches "ncs" and "nos"
+ - Reworked arrows at spst-switches
+ - Fixed direction of controlled american voltage source
+ - "v<=" and "i<=" do not rotate the sources anymore(see them as "counting direction indication", this can be different then the shape orientation); Use the option "invert" to change the direction of the source/apperance of the shape.
+ - current label "i=" can now be used independent of the regular label "l=" at current sources
+ - rewrite of current arrow placement. Current arrows can now also be rotated on zero-length paths
+ - New DIN/EN compliant operational amplifier symbol "en amp"
* Version 0.8.1 (2017-03-25)
- - Fixed unwanted line through components if target coordinate is a name of a node
- - Fixed position of labels with subscript letters.
- - Absolute distance calculation in terms of ex at rotated labels
- - Fixed label for transistor paths (no label drawn)
+ - Fixed unwanted line through components if target coordinate is a name of a node
+ - Fixed position of labels with subscript letters.
+ - Absolute distance calculation in terms of ex at rotated labels
+ - Fixed label for transistor paths (no label drawn)
* Version 0.8 (2017-03-08)
- - Allow use of voltage label at a [short]
- - Correct line joins between path components (to[...])
- - New Pole-shape .-. to fill perpendicular joins
- - Fixed direction of controlled american current source
- - Fixed incorrect scaling of magnetron
- - Fixed: Number of american inductor coils not adjustable
- - Fixed Battery Symbols and added new battery2 symbol
- - Added non-inverting Schmitttrigger
+ - Allow use of voltage label at a [short]
+ - Correct line joins between path components (to[...])
+ - New Pole-shape .-. to fill perpendicular joins
+ - Fixed direction of controlled american current source
+ - Fixed incorrect scaling of magnetron
+ - Fixed: Number of american inductor coils not adjustable
+ - Fixed Battery Symbols and added new battery2 symbol
+ - Added non-inverting Schmitttrigger
* Version 0.7 (2016-09-08)
- - Added second annotation label, showing, e.g., the value of an component
- - Added new symbol: magnetron
- - Fixed name conflict of diamond shape with tikz.shapes package
- - Fixed varcap symbol at small scalings
- - New packet-option "straightvoltages, to draw straight(no curved) voltage arrows
- - New option "invert" to revert the node direction at paths
- - Fixed american voltage label at special sources and battery
- - Fixed/rotated battery symbol(longer lines by default positive voltage)
- - New symbol Schmitttrigger
+ - Added second annotation label, showing, e.g., the value of an component
+ - Added new symbol: magnetron
+ - Fixed name conflict of diamond shape with tikz.shapes package
+ - Fixed varcap symbol at small scalings
+ - New packet-option "straightvoltages, to draw straight(no curved) voltage arrows
+ - New option "invert" to revert the node direction at paths
+ - Fixed american voltage label at special sources and battery
+ - Fixed/rotated battery symbol(longer lines by default positive voltage)
+ - New symbol Schmitttrigger
* Version 0.6 (2016-06-06)
- - Added Mechanical Symbols (damper,mass,spring)
- - Added new connection style diamond, use (d-d)
- - Added new sources voosource and ioosource (double zero-style)
- - All diode can now drawn in a stroked way, just use globel option "strokediode" or stroke instead of full/empty, or D-. Use this option for compliance with DIN standard EN-60617
- - Improved Shape of Diodes:tunnel diode, Zener diode, schottky diode (bit longer lines at cathode)
- - Reworked igbt: New anchors G,gate and new L-shaped form Lnigbt, Lpigbt
- - Improved shape of all fet-transistors and mirrored p-chan fets as default, as pnp, pmos, pfet are already. This means a backward-incompatibility, but smaller code, because p-channels mosfet are by default in the correct direction(source at top). Just remove the 'yscale=-1' from your p-chan fets at old pictures.
+ - Added Mechanical Symbols (damper,mass,spring)
+ - Added new connection style diamond, use (d-d)
+ - Added new sources voosource and ioosource (double zero-style)
+ - All diode can now drawn in a stroked way, just use globel option "strokediode" or stroke instead of full/empty, or D-. Use this option for compliance with DIN standard EN-60617
+ - Improved Shape of Diodes:tunnel diode, Zener diode, schottky diode (bit longer lines at cathode)
+ - Reworked igbt: New anchors G,gate and new L-shaped form Lnigbt, Lpigbt
+ - Improved shape of all fet-transistors and mirrored p-chan fets as default, as pnp, pmos, pfet are already. This means a backward-incompatibility, but smaller code, because p-channels mosfet are by default in the correct direction(source at top). Just remove the 'yscale=-1' from your p-chan fets at old pictures.
* Version 0.5 (2016-04-24)
- - new option boxed and dashed for hf-symbols
- - new option solderdot to enable/disable solderdot at source port of some fets
- - new parts: photovoltaic source, piezo crystal, electrolytic capacitor, electromechanical device(motor, generator)
- - corrected voltage and current direction(option to use old behaviour)
- - option to show body diode at fet transistors
+ - new option boxed and dashed for hf-symbols
+ - new option solderdot to enable/disable solderdot at source port of some fets
+ - new parts: photovoltaic source, piezo crystal, electrolytic capacitor, electromechanical device(motor, generator)
+ - corrected voltage and current direction(option to use old behaviour)
+ - option to show body diode at fet transistors
* Version 0.4
- minor improvements to documentation
@@ -710,7 +720,7 @@
- fixed infinite in arctan computation
* Version 0.3.0
- - fixed gate node for a few transistors
+ - fixed gate node for a few transistors
- added mixer
- added fully differential op amp (by Kristofer M. Monisit)
- now general settings for the drawing of voltage can be overridden for specific components
@@ -725,13 +735,13 @@
- added noiseless, protective, chassis, signal and reference grounds (Luigi «Liverpool»)
* Version 0.2.4
- - added square voltage source (contributed by Alistair Kwan)
- - added buffer and plain amplifier (contributed by Danilo Piazzalunga)
- - added squid and barrier (contributed by Cor Molenaar)
- - added antenna and transmission line symbols contributed by Leonardo Azzinnari
- - added the changeover switch spdt (suggestion of Fabio Maria Antoniali)
- - rename of context.tex and context.pdf (thanks to Karl Berry)
- - updated the email address
+ - added square voltage source (contributed by Alistair Kwan)
+ - added buffer and plain amplifier (contributed by Danilo Piazzalunga)
+ - added squid and barrier (contributed by Cor Molenaar)
+ - added antenna and transmission line symbols contributed by Leonardo Azzinnari
+ - added the changeover switch spdt (suggestion of Fabio Maria Antoniali)
+ - rename of context.tex and context.pdf (thanks to Karl Berry)
+ - updated the email address
- in documentation, fixed wrong (non-standard) labelling of the axis in an example (thanks to prof. Claudio Beccaria)
- fixed scaling inconsistencies in quadrupoles
- fixed division by zero error on certain vertical paths
@@ -738,46 +748,47 @@
- introduced options straighlabels, rotatelabels, smartlabels
* Version 0.2.3
- - fixed compatibility problem with label option from tikz
- - Fixed resizing problem for shape ground
- - Variable capacitor
- - polarized capacitor
- - ConTeXt support (read the manual!)
- - nfet, nigfete, nigfetd, pfet, pigfete, pigfetd (contribution of Clemens Helfmeier and Theodor
+ - fixed compatibility problem with label option from tikz
+ - Fixed resizing problem for shape ground
+ - Variable capacitor
+ - polarized capacitor
+ - ConTeXt support (read the manual!)
+ - nfet, nigfete, nigfetd, pfet, pigfete, pigfetd (contribution of Clemens Helfmeier and Theodor
Borsche)
- - njfet, pjfet (contribution of Danilo Piazzalunga)
- - pigbt, nigbt
- - *backward incompatibility* potentiometer is now the standard resistor-with-arrow-in-the-middle; the old potentiometer is now known as variable resistor (or vR), similarly to variable inductor and variable capacitor
- - triac, thyristor, memristor
- - new property "name" for bipoles
- - fixed voltage problem for batteries in american voltage mode
- - european logic gates
- - *backward incompatibility* new american standard inductor. Old american inductor now called "cute inductor"
- - *backward incompatibility* transformer now linked with the chosen type of inductor, and version with core, too. Similarly for variable inductor
- - *backward incompatibility* styles for selecting shape variants now end are in the plural to avoid conflict with paths
- - new placing option for some tripoles (mostly transistors)
- - mirror path style
+ - njfet, pjfet (contribution of Danilo Piazzalunga)
+ - pigbt, nigbt
+ - *backward incompatibility* potentiometer is now the standard resistor-with-arrow-in-the-middle; the old potentiometer is now known as variable resistor (or vR), similarly to variable inductor and variable capacitor
+ - triac, thyristor, memristor
+ - new property "name" for bipoles
+ - fixed voltage problem for batteries in american voltage mode
+ - european logic gates
+ - *backward incompatibility* new american standard inductor. Old american inductor now called "cute inductor"
+ - *backward incompatibility* transformer now linked with the chosen type of inductor, and version with core, too. Similarly for variable inductor
+ - *backward incompatibility* styles for selecting shape variants now end are in the plural to avoid conflict with paths
+ - new placing option for some tripoles (mostly transistors)
+ - mirror path style
* Version 0.2.2 - 20090520
- Added the shape for lamps.
- - Added options \texttt{europeanresistor}, \texttt{europeaninductor}, \texttt{americanresistor} and \texttt{americaninductor}, with corresponding styles.
- - FIXED: error in transistor arrow positioning and direction under negative \texttt{xscale} and \texttt{yscale}.
+ - Added options \texttt{europeanresistor}, \texttt{europeaninductor}, \texttt{americanresistor} and \texttt{americaninductor}, with corresponding styles.
+ - FIXED: error in transistor arrow positioning and direction under negative \texttt{xscale} and \texttt{yscale}.
* Version 0.2.1 - 20090503
- - Op-amps added
- - added options arrowmos and noarrowmos, to add arrows to pmos and nmos
+ - Op-amps added
+ - added options arrowmos and noarrowmos, to add arrows to pmos and nmos
* Version 0.2 - 20090417
First public release on CTAN
- - *Backward incompatibility*: labels ending with \texttt{:}\textit{angle} are not parsed for positioning anymore.
- - Full use of \TikZ\ keyval features.
- - White background is not filled anymore: now the network can be drawn on a background picture as well.
- - Several new components added (logical ports, transistors, double bipoles, \ldots).
- - Color support.
- - Integration with {\ttfamily siunitx}.
- - Voltage, american style.
- - Better code, perhaps. General cleanup at the very least.
+ - *Backward incompatibility*: labels ending with \texttt{:}\textit{angle} are not parsed for positioning anymore.
+ - Full use of \TikZ\ keyval features.
+ - White background is not filled anymore: now the network can be drawn on a background picture as well.
+ - Several new components added (logical ports, transistors, double bipoles, \ldots).
+ - Color support.
+ - Integration with {\ttfamily siunitx}.
+ - Voltage, american style.
+ - Better code, perhaps. General cleanup at the very least.
* Version 0.1 - 2007-10-29
First public release
+
Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -5,6 +5,30 @@
\begin{itemize}
\item
+ Version 1.7.2 (2025-03-21)
+
+ A couple of new components (wiggly bulbs and a new ``oO'' type
+ autotransformer), and several small corrections.
+
+ \begin{itemize}
+ \tightlist
+ \item
+ Fix leaking filament in \texttt{bulb} bipole
+ \item
+ Fix small incoherence between width/height in oo-type sources
+ \item
+ New component: Wiggly bulb (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/845}{Sebastiano})
+ \item
+ New component: ``zero-type'' autotransformer (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/852}{Max
+ Börjesson})
+ \item
+ Allow to set the index position for square instruments (by
+ \href{https://github.com/circuitikz/circuitikz/pull/848}{Julien
+ Labbé})
+ \end{itemize}
+\item
Version 1.7.1 (2025-01-10)
Various new blocks have been added, and several fixes have been
@@ -565,7 +589,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 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -268,6 +268,7 @@
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.2}, the drawing of the ``double-zero'' source components \texttt{voosource}, \texttt{ioosource}, and \texttt{oosourcetran} changed so that now the circle radius depend on the height and not on the width. If you didn't play with internal parameters, that should be invisible.
\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}.
@@ -2953,6 +2954,8 @@
\footnotetext{Added by André Alves in \texttt{v1.3.5}}
\circuitdescbip*[oosource]{ioosource}{Double Zero style current source}{}
\circuitdescbip*[oosource]{voosource}{Double Zero style voltage source}{}
+ \circuitdescbip*[oosourceatrans]{oosourceatrans}{auto-transformer source\footnotemark}{}(centerprim/90/0.3)
+ \footnotetext{The \texttt{oosourceatrans} component has been suggested by \href{https://github.com/circuitikz/circuitikz/issues/852}{Max Börjesson on GitHub}}
\circuitdescbip*[oosourcetrans]{oosourcetrans}{transformer source\footnotemark}{}(centerprim/90/0.3, centersec/-90/0.3)
\footnotetext{The \texttt{oosourcetrans} and \texttt{ooosource} components have been added by \href{https://github.com/circuitikz/circuitikz/pull/397}{user \texttt{@olfline} on GitHub}}.
\begingroup
@@ -2968,7 +2971,8 @@
\begin{circuitikz}
\draw (0,0) to[oosourcetrans, prim=zig, sec=delta, o-] ++(2,0)
to[oosourcetrans, prim=delta, sec=wye,-o] ++(0,-2)
- to[ooosource, prim=eyw, sec=zig, tert=delta] (0,0);
+ to[ooosource, prim=eyw, sec=zig, tert=delta] (0,0)
+ to[oosourceatrans, prim=wye, -*] ++(0,-2);
\end{circuitikz}
\end{LTXexample}
@@ -3264,6 +3268,30 @@
\end{circuitikz}
\end{LTXexample}
+\paragraph{Square instruments index position.} You can change the index position of square
+instruments with the key \texttt{bipoles/smeter/index position} (for \texttt{smeter}) or
+\texttt{bipoles/qmeter/index position} (for \texttt{qiprobe}, \texttt{qvprobe} and \texttt{qpprobe}).
+Use a value between \texttt{0} and \texttt{100} (the default is \texttt{80}).
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}
+ % Default
+ \foreach [count=\i] \inst in
+ {smeter, qiprobe, qvprobe, qpprobe} {
+ \draw ({1.5*\i},1.4) to[\inst]
+ ({1.5*(\i+1)},1.4);
+ }
+ % New indexes
+ \ctikzset{bipoles/smeter/index position=50}
+ \ctikzset{bipoles/qmeter/index position=25}
+ \foreach [count=\i] \inst in
+ {smeter, qiprobe, qvprobe, qpprobe} {
+ \draw ({1.5*\i},0) to[\inst]
+ ({1.5*(\i+1)},0);
+ }
+\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]
@@ -3530,6 +3558,8 @@
\begin{groupdesc}
\circuitdescbip*{lamp}{Lamp}{}
\circuitdescbip*{bulb}{Bulb}{}
+ \circuitdescbip*{wbulb}{Wiggly bulb shape\footnotemark}{}
+ \footnotetext{This lamp is drawn in the style of the textbook Physics for Scientists and Engineers: A Strategic Approach by Randall D. Knight, suggested by \href{https://tex.stackexchange.com/questions/735367/special-bulbs-in-circuitikz-from-randall-textbook}{Sebastiano on TeX.SX}}
\circuitdescbip*{neonlampcc}{Neon lamp\footnotemark\ (double cathode style)}{}
\footnotetext{The neon lamps have been added in \texttt{v1.6.9} thanks to a suggestion by \href{https://github.com/circuitikz/circuitikz/issues/793}{user bogger33 on GitHub}.}
\circuitdescbip*{neonlampac}{Neon lamp (anode and cathode style)}{}
Modified: trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -16,8 +16,8 @@
\startmodule[circuitikz]
\usemodule[tikz]
-\def\pgfcircversion{1.7.1}
-\def\pgfcircversiondate{2025/01/10}
+\def\pgfcircversion{1.7.2}
+\def\pgfcircversiondate{2025/03/21}
\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 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -733,7 +733,7 @@
\pgf at circ@scaled at Rlen=\ctikzvalof{\ctikzclass/scale}\pgf at circ@Rlen
\pgf at circ@res at down=-#3\pgf at circ@scaled at Rlen
\pgf at circ@res at up=#5\pgf at circ@scaled at Rlen
- \pgfpointorigin
+ \pgfpointorigin % this is ok, it loads \pgf at x\pgf at y
\pgf at y=\pgf at circ@res at up
\advance\pgf at y by\pgf at circ@res at down
\pgf at y=.5\pgf at y
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -1978,6 +1978,14 @@
\ctikzset{sources/symbol/rotate/.initial={90}}
\ctikzset{csources/symbol/rotate/.initial={90}}
+% % % oo autotransformer
+\ctikzset{bipoles/oosourceatrans/height/.initial=.6}
+\ctikzset{bipoles/oosourceatrans/width/.initial=.5}
+\ctikzset{bipoles/oosourceatrans/circlesize/.initial=.6}%circlesize+circleoffset should be =1
+% we do not use the offset here; the circle is "seated" to the right side
+% \ctikzset{bipoles/oosourceatrans/circleoffset/.initial=.4}%circlesize+circleoffset should be =1
+\ctikzset{bipoles/oosourceatrans/vectorgroupscale/.initial=1.2}% better if it's a bit bigger
+
% % % ootransformer
\ctikzset{bipoles/oosourcetrans/height/.initial=.6}
\ctikzset{bipoles/oosourcetrans/width/.initial=.6}
@@ -2404,7 +2412,6 @@
{\ctikzvalof{bipoles/pvsource/height}}
{\ctikzvalof{bipoles/pvsource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgfpathmoveto{\pgfpoint{\pgf at circ@res at step}{\pgf at circ@res at up}}
@@ -2473,7 +2480,6 @@
{\ctikzvalof{bipoles/esource/height}}
{\ctikzvalof{bipoles/esource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
@@ -2517,7 +2523,6 @@
{\ctikzvalof{bipoles/dcvsource/height}}
{\ctikzvalof{bipoles/dcvsource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
@@ -2536,7 +2541,6 @@
{\ctikzvalof{bipoles/isource/height}}
{\ctikzvalof{bipoles/isource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgfpathmoveto{\pgfpoint{\pgf at circ@res at step}{\pgf at circ@res at up}}
@@ -2563,16 +2567,16 @@
{\ctikzvalof{bipoles/oosource/height}}
{\ctikzvalof{bipoles/oosource/width}}
{
- \pgfpointorigin
+ % the offset is relative to the width (... at left/@right), and the size to the height (... at up/@down)
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosource/circleoffset}\pgf at circ@res at left}{0}}
- {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at left}
+ {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at up}
\pgf at circ@maybefill
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosource/circleoffset}\pgf at circ@res at right}{0}}
- {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at right}
+ {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at up}
\pgf at circ@draworfill
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosource/circleoffset}\pgf at circ@res at left}{0}}
- {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at left}
+ {\ctikzvalof{bipoles/oosource/circlesize}\pgf at circ@res at up}
\pgfusepath{draw}
}
@@ -2581,10 +2585,12 @@
\ctikzset{sources/symbol/wye scale/.initial={1}}
\ctikzset{sources/symbol/eyw scale/.initial={1}}
\ctikzset{sources/symbol/zig scale/.initial={1}}
+% Notice that the scale of the symbol should go with the size of the circle, which in the oo-type
+% components is linked to the .../height key, which translates in ...res at up and ...res at down
% triangle
\def\pgf at circ@delta#1{
\pgfscope
- \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/delta scale}*\pgf at circ@res at left*#1}
+ \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/delta scale}*\pgf at circ@res at up*#1}
\def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
\pgftransformrotate{-\pgfcircmathresult}
@@ -2600,11 +2606,10 @@
\pgfusepath{stroke}
\endpgfscope
}
-
% star
\def\pgf at circ@wye#1{
\pgfscope
- \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/wye scale}*\pgf at circ@res at left*#1}
+ \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/wye scale}*\pgf at circ@res at up*#1}
\def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
\pgftransformrotate{-\pgfcircmathresult}
@@ -2618,11 +2623,10 @@
\pgfusepath{stroke}
\endpgfscope
}
-
% reverse star
\def\pgf at circ@eyw#1{
\pgfscope
- \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/eyw scale}*\pgf at circ@res at left*#1}
+ \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/eyw scale}*\pgf at circ@res at up*#1}
\def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
\pgftransformrotate{-\pgfcircmathresult}
@@ -2636,11 +2640,10 @@
\pgfusepath{stroke}
\endpgfscope
}
-
% zigzag
\def\pgf at circ@zig#1{
\pgfscope
- \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/zig scale}*\pgf at circ@res at left*#1}
+ \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/zig scale}*\pgf at circ@res at up*#1}
\def\pgfcircmathresult{\expandafter\pgf at circ@stripdecimals\pgf at circ@direction\pgf at nil}
\pgftransformrotate{-\pgfcircmathresult}
@@ -2660,7 +2663,65 @@
\pgfusepath{stroke}
\endpgfscope
}
+% % % % round three-phase auto transformer
+\pgfcircdeclarebipolescaled{sources}
+{
+ \anchor{centerprim}{
+ \northeast
+ \advance\pgf at x by -\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at y
+ \pgf at y=0pt\relax
+ }
+ \anchor{symbolprim}{
+ \northeast
+ \advance\pgf at x by -\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at y
+ \pgf at y=0pt\relax
+ }
+}
+{\ctikzvalof{bipoles/oosourceatrans/height}}
+{oosourceatrans}
+{\ctikzvalof{bipoles/oosourceatrans/height}}
+{\ctikzvalof{bipoles/oosourceatrans/width}}
+{
+ % we do not use the offset here; the circle is "seated" to the right side
+ \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgf at circ@res at other=\dimexpr\pgf at circ@res at right-\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at circ@res at up\relax
+ \pgfpathcircle{\pgfpoint{\pgf at circ@res at other}{0}}
+ {\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at circ@res at up}
+ \pgf at circ@draworfill
+ % draw arc
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at other}%
+ {\ctikzvalof{bipoles/oosourceatrans/circlesize}*\pgf at circ@res at up}}
+ \pgfpathcurveto{\pgfpoint{0.3\pgf at circ@res at left}{\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at circ@res at up}}
+ {\pgfpoint{0.5\pgf at circ@res at left}{\ctikzvalof{bipoles/oosourceatrans/circlesize}\pgf at circ@res at up}}
+ {\pgfpoint{\pgf at circ@res at left}{0}}
+ \pgfusepath{draw}
+ % % % % draw inner symbols
+ %%only (primary) winding
+ \ifpgf at circ@prim at delta
+ \pgfscope
+ \pgftransformxshift{\pgf at circ@res at other}
+ \pgf at circ@delta{\ctikzvalof{bipoles/oosourceatrans/vectorgroupscale}}
+ \endpgfscope
+ \else\ifpgf at circ@prim at wye
+ \pgfscope
+ \pgftransformxshift{\pgf at circ@res at other}
+ \pgf at circ@wye{\ctikzvalof{bipoles/oosourceatrans/vectorgroupscale}}
+ \endpgfscope
+
+ \else\ifpgf at circ@prim at eyw
+ \pgfscope
+ \pgftransformxshift{\pgf at circ@res at other}
+ \pgf at circ@eyw{\ctikzvalof{bipoles/oosourceatrans/vectorgroupscale}}
+ \endpgfscope
+
+ \else\ifpgf at circ@prim at zig
+ \pgfscope
+ \pgftransformxshift{\pgf at circ@res at other}
+ \pgf at circ@zig{\ctikzvalof{bipoles/oosourceatrans/vectorgroupscale}}
+ \endpgfscope
+ \fi\fi\fi\fi
+}
% % % % round three-phase transformer
\pgfcircdeclarebipolescaled{sources}
{
@@ -2690,17 +2751,16 @@
{\ctikzvalof{bipoles/oosourcetrans/height}}
{\ctikzvalof{bipoles/oosourcetrans/width}}
{
-
- \pgfpointorigin
+ % the offset is relative to the width (... at left/@right), and the size to the height (... at up/@down)
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at left}{0}}
- {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+ {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at up}
\pgf at circ@maybefill
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at right}{0}}
- {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at right}
+ {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at up}
\pgf at circ@draworfill
\pgfpathcircle{\pgfpoint{\ctikzvalof{bipoles/oosourcetrans/circleoffset}\pgf at circ@res at left}{0}}
- {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at left}
+ {\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf at circ@res at up}
\pgfusepath{draw}
% % % % draw inner symbols
%%primary winding
@@ -2755,9 +2815,8 @@
\endpgfscope
\fi\fi\fi\fi
}
-
-
% % % % ooosource for three phase transformer
+% This component is 3-way symmetric. It uses ONLY bipoles/ooosource/height for sizing
\pgfcircdeclarebipolescaled{sources}
{
\anchor{right}{
@@ -2880,10 +2939,8 @@
{\ctikzvalof{bipoles/ooosource/height}}
{ooosource}
{\ctikzvalof{bipoles/ooosource/height}}
-{\ctikzvalof{bipoles/ooosource/height}}
+{\ctikzvalof{bipoles/ooosource/height}}% Notice that here right=down and left=up
{
-% \pgf at circ@res at other = \ctikzvalof{bipoles/ooosource/vectorgroup} \pgf at circ@scaled at Rlen
-
% % filling
% left
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
@@ -2892,13 +2949,11 @@
% up
\pgfscope
- \pgfpointorigin
\pgfpathcircle{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
\pgf at circ@maybefill
\endpgfscope
% down
\pgfscope
- \pgfpointorigin
\pgfpathcircle{\pgfpointpolar{-60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
\pgf at circ@draworfill
\endpgfscope
@@ -2910,7 +2965,6 @@
% up
\pgfscope
- \pgfpointorigin
\pgfpathcircle{\pgfpointpolar{60}{\ctikzvalof{bipoles/ooosource/circleoffset}\pgf at circ@res at right}}{\ctikzvalof{bipoles/ooosource/circlesize}\pgf at circ@res at right}
\pgfusepath{draw}
\endpgfscope
@@ -2946,7 +3000,6 @@
% % secondary winding
\ifpgf at circ@sec at delta
\pgfscope
- \pgfpointorigin
\pgftransformshift{\pgfpointpolar{60}{0.6\pgf at circ@res at right}}
\pgf at circ@delta{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
@@ -3005,7 +3058,6 @@
{\ctikzvalof{bipoles/isourceam/height}}
{\ctikzvalof{bipoles/isourceam/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
@@ -3027,7 +3079,6 @@
{\ctikzvalof{bipoles/isource/height}}
{\ctikzvalof{bipoles/isource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfscope
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
@@ -3259,7 +3310,6 @@
{\ctikzvalof{bipoles/isource/height}}
{\ctikzvalof{bipoles/isource/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
@@ -3377,7 +3427,6 @@
{\ctikzvalof{bipoles/isource/height}}
{\ctikzvalof{bipoles/isource/width}}
{
- \pgfpointorigin
\pgfscope
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
@@ -3433,7 +3482,6 @@
{\ctikzvalof{bipoles/nullator/height}}
{\ctikzvalof{bipoles/nullator/width}}
{
- \pgfpointorigin
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
@@ -3564,6 +3612,10 @@
\circuitikzbasekey/bipole/is voltage=true,
\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
+\pgfcirc at activate@bipole at simple@opt{v}{oosourceatrans}{%
+ \circuitikzbasekey/bipole/is voltage=true,
+ \circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
+
\pgfcirc at activate@bipole at simple@opt{v}{oosourcetrans}{%
\circuitikzbasekey/bipole/is voltage=true,
\circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
@@ -6112,10 +6164,12 @@
\ctikzset{bipoles/voltmeter/width/.initial=.60}
\ctikzset{bipoles/smeter/height/.initial=.60}
\ctikzset{bipoles/smeter/width/.initial=.60}
+\ctikzset{bipoles/smeter/index position/.initial=80}
\ctikzset{bipoles/smeter/voltage/additional shift/.initial=1}
\ctikzset{bipoles/qmeter/depth/.initial=.40}
\ctikzset{bipoles/qmeter/height/.initial=.80}
\ctikzset{bipoles/qmeter/width/.initial=.60}
+\ctikzset{bipoles/qmeter/index position/.initial=80}
% this must be specified for each one
\ctikzset{bipoles/qvprobe/voltage/additional shift/.initial=.5}
\ctikzset{bipoles/qiprobe/voltage/additional shift/.initial=.5}
@@ -6338,7 +6392,6 @@
{\ctikzvalof{bipoles/esource/height}}
{\ctikzvalof{bipoles/esource/width}}
{
- \pgfpointorigin
\pgfscope
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
@@ -6368,7 +6421,6 @@
{\ctikzvalof{bipoles/esource/height}}
{\ctikzvalof{bipoles/esource/width}}
{
- \pgfpointorigin
\pgfscope
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf at circ@res at up}}{\pgfpoint{\pgf at circ@res at left}{0}}
@@ -6457,8 +6509,9 @@
\pgfpathlineto{\pgfpointpolar{\@stopa}{2.5\pgf at circ@res at up}}
\pgfpatharc{\@stopa}{\@starta}{2.5\pgf at circ@res at up}
\pgfpathclose
- \pgfpathmoveto{\pgfpointpolar{80}{2\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpointpolar{80}{2.4\pgf at circ@res at up}}
+ \pgfmathsetmacro{\@indexa}{\@starta - \ctikzvalof{bipoles/smeter/index position}*(\@starta - \@stopa)/100}
+ \pgfpathmoveto{\pgfpointpolar{\@indexa}{2\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpointpolar{\@indexa}{2.4\pgf at circ@res at up}}
\pgfusepath{draw}
\endpgfscope
\pgf at circ@text at strokecolor
@@ -6507,8 +6560,9 @@
\pgfpathlineto{\pgfpointpolar{\@stopa}{2.5\pgf at circ@res at up}}
\pgfpatharc{\@stopa}{\@starta}{2.5\pgf at circ@res at up}
\pgfpathclose
- \pgfpathmoveto{\pgfpointpolar{83}{2.1\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpointpolar{83}{2.4\pgf at circ@res at up}}
+ \pgfmathsetmacro{\@indexa}{\@starta - \ctikzvalof{bipoles/qmeter/index position}*(\@starta - \@stopa)/100}
+ \pgfpathmoveto{\pgfpointpolar{\@indexa}{2.1\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpointpolar{\@indexa}{2.4\pgf at circ@res at up}}
\pgfusepath{draw}
\pgf at circ@draworfill
\endpgfscope
@@ -7133,6 +7187,8 @@
%
\ctikzset{bipoles/bulb/height/.initial=.8}
\ctikzset{bipoles/bulb/width/.initial=.8}
+\ctikzset{bipoles/wbulb/height/.initial=.8}
+\ctikzset{bipoles/wbulb/width/.initial=.8}
% suggested by @bogger33, see https://github.com/circuitikz/circuitikz/issues/793
\ctikzset{bipoles/neonlampcc/height/.initial=.60}
\ctikzset{bipoles/neonlampac/height/.initial=.60}
@@ -7260,7 +7316,7 @@
{\ctikzvalof{bipoles/american gas filled surge arrester/width}}{
\pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
- \pgfpointorigin \pgf at circ@res at other = \pgf at x \advance \pgf at circ@res at other by -\pgf at circ@res at up
+ \pgf at circ@res at other=-\pgf at circ@res at up
\pgfpathlineto{\pgfpoint{\pgf at circ@res at other}{\pgf at circ@res at zero}}
\pgfusepath{draw}
@@ -7484,16 +7540,61 @@
{\ctikzvalof{bipoles/bulb/height}}
{\ctikzvalof{bipoles/bulb/width}}
{%
+ % circles are smaller than the size of the component, for historical reasons.
+ % Join the circle to the wires
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at zero}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf at circ@res at right}{\pgf at circ@res at zero}}
+ \pgfusepath{draw}
\pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{0.8\pgf at circ@res at up}}{\pgfpoint{0.8\pgf at circ@res at left}{0}}
\pgf at circ@draworfill
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ \pgfpathmoveto{\pgfpoint{0.8\pgf at circ@res at left}{\pgf at circ@res at zero}}
\pgfpathlineto{\pgfpoint{0.4\pgf at circ@res at left}{\pgf at circ@res at zero}}
\pgfpatharc{0}{-180}{0.4*\pgf at circ@res at left}
\pgfsetbeveljoin
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at zero}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf at circ@res at right}{\pgf at circ@res at zero}}
\pgfusepath{draw}
}%
+% Wiggly bulbm see https://github.com/circuitikz/circuitikz/issues/845
+\pgfcircdeclarebipolescaled{misc}
+{}
+{\ctikzvalof{bipoles/wbulb/height}}
+{wbulb}
+{\ctikzvalof{bipoles/wbulb/height}}
+{\ctikzvalof{bipoles/wbulb/width}}
+{%
+ % circles are smaller than the size of the component, for historical reasons.
+ % Join the circle to the wires
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at zero}}
+ \pgfpathlineto{\pgfpoint{0.8\pgf at circ@res at right}{\pgf at circ@res at zero}}
+ \pgfusepath{draw}
+ \pgf at circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{0.8\pgf at circ@res at up}}{\pgfpoint{0.8\pgf at circ@res at left}{0}}
+ \pgf at circ@draworfill
+ \pgfpathmoveto{\pgfpoint{0.8\pgf at circ@res at left}{\pgf at circ@res at zero}}
+ % CP: Control Point; FP: Final Point
+ \pgfpathcurveto
+ {\pgfpoint{0.5\pgf at circ@res at left}{+0pt}} % CP1
+ {\pgfpoint{0.4\pgf at circ@res at left}{0.6\pgf at circ@res at left}} % CP2
+ {\pgfpoint{+0pt}{+0pt}} % FPA
+ \pgfpathcurveto
+ {\pgfpoint{.2\pgf at circ@res at right}{.2\pgf at circ@res at right}} % CP3
+ {\pgfpoint{.2\pgf at circ@res at right}{0.6\pgf at circ@res at right}} % CP4
+ {\pgfpoint{+0pt}{0.6\pgf at circ@res at right}} % FPB
+ \pgfpathcurveto
+ {\pgfpoint{.2\pgf at circ@res at left}{0.6\pgf at circ@res at right}} % symmetric to CP4
+ {\pgfpoint{.2\pgf at circ@res at left}{.2\pgf at circ@res at right}} % symmetric to CP3
+ {\pgfpoint{+0pt}{+0pt}} % same as FPA
+ \pgfpathcurveto
+ {\pgfpoint{0.4\pgf at circ@res at right}{0.6\pgf at circ@res at left}} % symmetric to CP2
+ {\pgfpoint{0.5\pgf at circ@res at right}{+0pt}} % symmetric to CP1
+ {\pgfpoint{0.8\pgf at circ@res at right}{\pgf at circ@res at zero}} % symmetric to FPB
+ \pgfusepath{draw}
+}%
% neon lamps, suggested by @bogger33 https://github.com/circuitikz/circuitikz/issues/793
% implemented by Romano
% double-cathode (capacitor) style
@@ -7604,6 +7705,7 @@
\pgfcirc at activate@bipole at simple{l}{neonlampac}
\pgfcirc at activate@bipole at simple{l}{sparkgap}
\pgfcirc at activate@bipole at simple{l}{bulb}
+\pgfcirc at activate@bipole at simple{l}{wbulb}
\pgfcirc at activate@bipole at simple{l}{squid}
\pgfcirc at activate@bipole at simple{l}{barrier}
\pgfcirc at activate@bipole at simple{l}{openbarrier}
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex 2025-03-22 20:05:03 UTC (rev 74723)
@@ -1282,9 +1282,7 @@
\anchor{north west}{\northeast\pgf at x=0cm\relax}
\anchor{south east}{\northeast\pgf at y=0pt\relax}
\anchor{south west}{\pgfpointorigin}
- \anchor{center}{
- \pgfpointorigin
- }
+ \anchor{center}{\pgfpointorigin}
\anchor{text}{
\pgfmathsetlength{\pgf at circ@scaled at Rlen}{\ctikzvalof{\ctikzclass/scale}\pgf at circ@Rlen}
\pgf at x=\ctikzvalof{monopoles/match/width}\pgf at circ@scaled at Rlen
Modified: trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty 2025-03-22 10:19:27 UTC (rev 74722)
+++ trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty 2025-03-22 20:05:03 UTC (rev 74723)
@@ -16,8 +16,8 @@
\providecommand\DeclareRelease[3]{}
\providecommand\DeclareCurrentRelease[2]{}
-\def\pgfcircversion{1.7.1}
-\def\pgfcircversiondate{2025/01/10}
+\def\pgfcircversion{1.7.2}
+\def\pgfcircversiondate{2025/03/21}
\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.