texlive[51634] Master/texmf-dist: circuitikz (13jul19)
commits+karl at tug.org
commits+karl at tug.org
Sat Jul 13 23:39:36 CEST 2019
Revision: 51634
http://tug.org/svn/texlive?view=revision&revision=51634
Author: karl
Date: 2019-07-13 23:39:36 +0200 (Sat, 13 Jul 2019)
Log Message:
-----------
circuitikz (13jul19)
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/pgfcircmonopoles.tex
trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex
trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex
trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.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 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md 2019-07-13 21:39:36 UTC (rev 51634)
@@ -1,6 +1,11 @@
<!--- 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 0.9.3 (2019-07-13)
+ - Added the option to have "dotless" P-MOS (to use with arrowmos option)
+ - Fixed a (puzzling) problem with coupler2
+ - Fixed a compatibility problem with newer PGF (>3.0.1a)
+
* Version 0.9.2 (2019-06-21)
- (hopefully) fixed ConTeXt compatibility. Most new functionality is not tested; testers and developers for the ConTeXt side are needed.
- Added old ConTeXt version for 0.8.3
Modified: trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/changelog.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -6,6 +6,19 @@
\begin{itemize}
\tightlist
\item
+ Version 0.9.3 (2019-07-13)
+
+ \begin{itemize}
+ \tightlist
+ \item
+ Added the option to have ``dotless'' P-MOS (to use with arrowmos
+ option)
+ \item
+ Fixed a (puzzling) problem with coupler2
+ \item
+ Fixed a compatibility problem with newer PGF (\textgreater{}3.0.1a)
+ \end{itemize}
+\item
Version 0.9.2 (2019-06-21)
\begin{itemize}
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 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -320,10 +320,10 @@
\begin{itemize}
\item \texttt{oldvoltagedirection}: Use old way of voltage direction having a difference between european and american direction, with wrong default labelling for batteries;
\item \texttt{nooldvoltagedirection}: The standard from 0.5 onward, utilize the (German?) standard of voltage arrows in the direction of electric fields (without fixing batteries);
- \item \texttt{RPvoltages} (meaning Rising Potential voltages): the arrow is in direction of rising potential, like in \texttt{oldvoltagedirections}, but batteries and current sources are fixed to follow the passive/active standard;
- \item \texttt{EFvoltages} (meaning Electric Field voltages): the arrow is in direction of the electric field, like in \texttt{nooldvoltagedirections}, but batteries are fixed;
+ \item \texttt{RPvoltages} (meaning Rising Potential voltages): the arrow is in direction of rising potential, like in \texttt{oldvoltagedirection}, but batteries and current sources are fixed to follow the passive/active standard;
+ \item \texttt{EFvoltages} (meaning Electric Field voltages): the arrow is in direction of the electric field, like in \texttt{nooldvoltagedirection}, but batteries are fixed;
\end{itemize}
- If none of these option are given, the package will default to \texttt{nooldvoltagedirections}, but will give a warning. The behavior is also selectable circuit by circuit with the \texttt{voltage dir} style.
+ If none of these option are given, the package will default to \texttt{nooldvoltagedirection}, but will give a warning. The behavior is also selectable circuit by circuit with the \texttt{voltage dir} style.
\item \texttt{betterproportions}\footnote{May change in the future!}: nicer proportions of transistors in comparision to resistors;
\end{itemize}
@@ -1579,17 +1579,17 @@
\subsection{Transistors}
\begin{groupdesc}
- \circuitdesc{nmos}{\scshape nmos}{}( G/180/0.2,D/0/0.2,S/0/0.2 )
- \circuitdesc{pmos}{\scshape pmos}{}
- \circuitdesc{hemt}{\scshape hemt}{}
- \circuitdesc{npn}{\scshape npn}{}( B/180/0.2,C/0/0.2,E/0/0.2 )
- \circuitdesc{pnp}{\scshape pnp}{}
- \circuitdesc{npn,photo}{\scshape npn}{}( nobase/0/0.4 )
- \circuitdesc{pnp,photo}{\scshape pnp}{}
- \circuitdesc{nigbt}{\scshape nigbt}{}
- \circuitdesc{pigbt}{\scshape pigbt}{}
- \circuitdesc{Lnigbt}{\scshape Lnigbt}{}
- \circuitdesc{Lpigbt}{\scshape Lpigbt}{}
+ \circuitdesc{nmos}{nmos}{}( G/180/0.2,D/0/0.2,S/0/0.2 )
+ \circuitdesc{pmos}{pmos}{}
+ \circuitdesc{hemt}{hemt}{}
+ \circuitdesc{npn}{npn}{}( B/180/0.2,C/0/0.2,E/0/0.2 )
+ \circuitdesc{pnp}{pnp}{}
+ \circuitdesc{npn,photo}{npn}{}( nobase/0/0.4 )
+ \circuitdesc{pnp,photo}{pnp}{}
+ \circuitdesc{nigbt}{nigbt}{}
+ \circuitdesc{pigbt}{pigbt}{}
+ \circuitdesc{Lnigbt}{Lnigbt}{}
+ \circuitdesc{Lpigbt}{Lpigbt}{}
\end{groupdesc}
For all transistors a body diode (or freewheeling diode) can automatically be drawn. Just use the global option bodydiode, or for single transistors, the tikz-option bodydiode:
@@ -1614,19 +1614,39 @@
\end{LTXexample}
If the option \texttt{arrowmos} is used (or after the command \verb!\ctikzset{tripoles/mos style/arrows}! is given), this is the output:
-\ctikzset{tripoles/mos style/arrows}
\begin{groupdesc}
- \circuitdesc{nmos}{\scshape nmos}{}
- \circuitdesc{pmos}{\scshape pmos}{}
+ \ctikzset{tripoles/mos style/arrows}
+ \circuitdesc{nmos}{nmos}{}
+ \circuitdesc{pmos}{pmos}{}
\end{groupdesc}
-\ctikzset{tripoles/mos style/no arrows}
+
+You can go back to the no-arrows mos with \texttt{noarrowmos} locally or with
+\texttt{\textbackslash ctikzset\{tripoles/mos style/no arrows\}}.
+
To draw the PMOS circle non-solid, use the option \texttt{emptycircle} or the command
-\\\verb!\ctikzset{tripoles/pmos style/emptycircle}!.
+\\\verb!\ctikzset{tripoles/pmos style/emptycircle}!. To remove the dot completely (only useful if you have \texttt{arrowmos} enabled, otherwise ther ewill be no difference between P-MOS and N-MOS), you can use the option \texttt{nocircle} or \verb|\ctikzset{tripoles/pmos style/nocircle}|.
\begin{groupdesc}
- \circuitdesc{pmos,emptycircle}{\scshape pmos}{}
+ \circuitdesc{pmos,emptycircle}{pmos}{}
+ \circuitdesc{pmos,nocircle,arrowmos}{pmos}{}
\end{groupdesc}
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}[
+ info/.style={left=1cm, blue, text width=5em, align=right},]
+ \draw (0,1) node{pmos} (2,1) node{nmos};
+ \draw (0,0) node[info]{default} node[pmos]{} (2,0) node[nmos]{};
+ \ctikzset{tripoles/mos style/arrows}
+ \draw (0,-2) node[info]{arrows} node[pmos]{} (2,-2) node[nmos]{};
+ \ctikzset{tripoles/pmos style/emptycircle}
+ \draw (0,-4) node[info]{emptycircle} node[pmos]{} (2,-4) node[nmos]{};
+ \ctikzset{tripoles/pmos style/nocircle}
+ \draw (0,-6) node[info]{nocircle} node[pmos]{} (2,-6) node[nmos]{};
+ \ctikzset{tripoles/mos style/no arrows}
+ \draw (0,-8) node[info, red]{no circle, no arrows, DON'T do it}
+ node[pmos]{} (2,-8) node[nmos]{};
+\end{circuitikz}\end{LTXexample}
+
If you prefer a different position of the arrows in transistors and FETs, you can adjust them like this (it works for the other BJT-based transistors, too):
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
@@ -1647,26 +1667,26 @@
\begin{groupdesc}
- \circuitdesc{nfet}{\scshape nfet}{}
- \circuitdesc{nigfete}{\scshape nigfete}{}
- \circuitdesc{nigfete,solderdot}{\scshape nigfete}{}
- \circuitdesc{nigfetebulk}{\scshape nigfetebulk}{}
- \circuitdesc{nigfetd}{\scshape nigfetd}{}
- \circuitdesc{pfet}{\scshape pfet}{}
- \circuitdesc{pigfete}{\scshape pigfete}{}
- \circuitdesc{pigfetebulk}{\scshape pigfetebulk}{}
- \circuitdesc{pigfetd}{\scshape pigfetd}{}
+ \circuitdesc{nfet}{nfet}{}
+ \circuitdesc{nigfete}{nigfete}{}
+ \circuitdesc{nigfete,solderdot}{nigfete}{}
+ \circuitdesc{nigfetebulk}{nigfetebulk}{}
+ \circuitdesc{nigfetd}{nigfetd}{}
+ \circuitdesc{pfet}{pfet}{}
+ \circuitdesc{pigfete}{pigfete}{}
+ \circuitdesc{pigfetebulk}{pigfetebulk}{}
+ \circuitdesc{pigfetd}{pigfetd}{}
\end{groupdesc}
\textsc{njfet} and \textsc{pjfet} have been incorporated based on code provided by Danilo Piazzalunga:
\begin{groupdesc}
- \circuitdesc{njfet}{\scshape njfet}{}
- \circuitdesc{pjfet}{\scshape pjfet}{}
+ \circuitdesc{njfet}{njfet}{}
+ \circuitdesc{pjfet}{pjfet}{}
\end{groupdesc}
\textsc{isfet}
\begin{groupdesc}
- \circuitdesc{isfet}{\scshape isfet}{}
+ \circuitdesc{isfet}{isfet}{}
\end{groupdesc}
\subsubsection{Transistors anchors}
@@ -1785,11 +1805,17 @@
\begin{groupdesc}
\circuitdesc*{diodetube}{Tube Diode}{}(anode/90/0.2, cathode/-90/0.2 )
- \circuitdesc*{triode}{Triode}{}(anode/90/0.2, cathode/-90/0.2, grid/180/0.2 )
- \circuitdesc*{tetrode}{Tetrode}{}(anode/90/0.2, cathode/-90/0.2, grid/190/0.2,screen/170/0.2 )
- \circuitdesc*{pentode}{Pentode}{}(anode/90/0.2, cathode/-90/0.2, grid/190/0.2,screen/180/0.2,suppressor/170/0.2 )
+ \circuitdesc*{triode}{Triode}{}(anode/90/0.2, cathode/-90/0.2, control/180/0.2 )
+ \circuitdesc*{tetrode}{Tetrode}{}(anode/90/0.2, cathode/-90/0.2, control/190/0.2,screen/170/0.2 )
+ \circuitdesc*{pentode}{Pentode}{}(anode/90/0.2, cathode/-90/0.2, control/190/0.2,screen/180/0.2,suppressor/170/0.2 )
\end{groupdesc}
+Some pentodes have the suppressor grid internally connected to the control grid, which saves a pin on the tube's housing.
+
+\begin{groupdesc}
+ \circuitdesc*{pentode suppressor to cathode}{Pentode with suppressor grid connected to cathode}{}( anode/90/0.2, cathode/-90/0.2, control/190/0.2,screen/180/0.2 )
+\end{groupdesc}
+
Note that the \verb|diodetube| is used as component name to avoid clashes with the semiconductor diode.
Normally, the filament is not drawn. If you want a filament, put the \verb|filament| option in the node description:
@@ -1853,7 +1879,7 @@
to[C=$C_i$] ++(2,0) node (Rg) {}
to[R=$R_g$] (Rg |- start)
(Rg) to[short,*-] ++(1,0)
- node[triode,anchor=grid] (Tri) {} ++(2,0)
+ node[triode,anchor=control] (Tri) {} ++(2,0)
(Tri.cathode) to[R=$R_c$,-*] (Tri.cathode |- start)
(Tri.anode) to [R=$R_a$] ++(0,2)
to [short] ++(3.5,0) node(Vatop) {}
@@ -1874,7 +1900,7 @@
to[C=$C_i$] ++(2,0) node (Rg) {}
to[R=$R_g$] (Rg |- start)
(Rg) to[short,*-] ++(1,0)
- node[triode,anchor=grid] (Tri) {} ++(2,0)
+ node[triode,anchor=control] (Tri) {} ++(2,0)
(Tri.cathode) to[R=$R_c$,-*] (Tri.cathode |- start)
(Tri.anode) to [R=$R_a$] ++(0,2)
to [short] ++(3.5,0) node(Vatop) {}
@@ -3286,13 +3312,14 @@
\begin{itemize}
\item \texttt{oldvoltagedirection}, or the key style \texttt{voltage dir=old}: Use old way of voltage direction having a difference between european and american direction, with wrong default labelling for batteries (it was the default before version 0.5);
\item \texttt{nooldvoltagedirection}, or the key style \texttt{voltage dir=noold}: The standard from version 0.5 onward, utilize the (German?) standard of voltage arrows in the direction of electric fields (without fixing batteries);
- \item \texttt{RPvoltages} (meaning Rising Potential voltages), or the key style \texttt{voltage dir=RP}: the arrow is in direction of rising potential, like in \texttt{oldvoltagedirections}, but batteries and current sources are fixed so that they follow the passive/active standard: the default direction of \texttt{v} and \texttt{i} are chosen so that, when both values are positive:
+ \item \texttt{RPvoltages} (meaning Rising Potential voltages), or the key style \texttt{voltage dir=RP}: the arrow is in direction of rising potential, like in \texttt{oldvoltagedirection}, but batteries and current sources are fixed so that they follow the passive/active standard: the default direction of \texttt{v} and \texttt{i} are chosen so that, when both values are positive:
\begin{itemize}
\item in passive component, the element is \emph{dissipating power};
\item in active components (generators), the element is \emph{generating power}.
\end{itemize}
- \item \texttt{EFvoltages} (meaning Electric Field voltages), or the key style \texttt{voltage dir=EF}: the arrow is in direction of the electric field, like in \texttt{nooldvoltagedirections}, but batteries are fixed;
+ \item \texttt{EFvoltages} (meaning Electric Field voltages), or the key style \texttt{voltage dir=EF}: the arrow is in direction of the electric field, like in \texttt{nooldvoltagedirection}, but batteries are fixed;
\end{itemize}
+Notice that the four styles are designed to be used at the environment level: that is, you should use them at the start of your environment as in \verb|\begin{circuitikz}[voltage dir=old] ...| and not as a key for single components, in which case the behaviour is not guaranteed.
The standard direction of currents, flows and voltages are changed by these options; notice that the default drops in case of passive and active elements is normally different. Take care that in the case of \texttt{noold} and \texttt{EFvoltages} also the currents can switch directions. It is much easier to understand the several behaviors by looking at the following examples, that have been generated by the code:
@@ -3717,7 +3744,7 @@
\tikz \draw (0,0) to[C, i=$\imath$] (2,0);
\end{LTXexample}
-\noindent However, you can override the properties \verb!voltage/distance from node!\footnote{That is, how distant from the initial and final points of the path the arrow starts and ends.}, \verb!voltage/bump b!\footnote{Controlling how high the bump of the arrow is --- how curved it is.} and \verb!voltage/european label distance!\footnote{Controlling how distant from the bipole the voltage label will be.} on a per-component basis, in order to fine-tune the voltages:
+\noindent However, you can override the properties \texttt{voltage/distance from node}\footnote{That is, how distant from the initial and final points of the path the arrow starts and ends.}, \texttt{voltage/bump b}\footnote{Controlling how high the bump of the arrow is --- how curved it is.} and \texttt{voltage/european label distance}\footnote{Controlling how distant from the bipole the voltage label will be.} on a per-component basis, in order to fine-tune the voltages:
\begin{LTXexample}[varwidth=true]
\tikz \draw (0,0) to[R, v=1<\volt>] (1.5,0)
@@ -3760,7 +3787,7 @@
\end{circuitikz}
\end{LTXexample}
-You can define shortcuts for the \texttt{bipole bodes} you use most; for example if you want a shortcut for a bipole with open square node in red in the right side you can:
+You can define shortcuts for the \texttt{bipole nodes} you use most; for example if you want a shortcut for a bipole with open square node in red in the right side you can:
\begin{LTXexample}[varwidth=true,
basicstyle=\small\ttfamily
Modified: trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -1,5 +1,5 @@
-\def\pgfcircversion{0.9.2}
-\def\pgfcircversiondate{2019/06/21}
+\def\pgfcircversion{0.9.3}
+\def\pgfcircversiondate{2019/07/13}
\writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion}
\usemodule[tikz]
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -1,6 +1,8 @@
+%% Counters
-%% Options
-
+\newcount\pgf at circ@count at a
+\newcount\pgf at circ@count at b
+\newcount\pgf at circ@count at c
%%%%%%%%%%%%
%% Dimensions
@@ -427,6 +429,8 @@
\ctikzset{tripoles/mos style/.is choice}
\ctikzset{tripoles/mos style/no arrows/.code={\pgf at circuit@mos at arrowsfalse}}
\ctikzset{tripoles/mos style/arrows/.code={\pgf at circuit@mos at arrowstrue}}
+\pgfkeys{/tikz/arrowmos/.add code={}{\pgf at circuit@mos at arrowstrue}}
+\pgfkeys{/tikz/noarrowmos/.add code={}{\pgf at circuit@mos at arrowsfalse}}
% Option solderdot for fet
\newif\ifpgf at circuit@fet at solderdot
@@ -468,10 +472,17 @@
% Option draw pmos with empty circle
\newif\ifpgf at circuit@pmos at emptycircle
-\newif\ifpgf at circuit@pmos at emptycircle
\pgf at circuit@pmos at emptycirclefalse
\pgfkeys{/tikz/emptycircle/.add code={}{\pgf at circuit@pmos at emptycircletrue}}
\ctikzset{tripoles/pmos style/emptycircle/.add code={}{\pgf at circuit@pmos at emptycircletrue}}
+% Option draw pmos with no circle
+\newif\ifpgf at circuit@pmos at nocircle
+\pgf at circuit@pmos at nocirclefalse
+\pgfkeys{/tikz/nocircle/.add code={}{\pgf at circuit@pmos at nocircletrue}}
+\ctikzset{tripoles/pmos style/nocircle/.add code={}{\pgf at circuit@pmos at nocircletrue}}
+% back to normal
+\pgfkeys{/tikz/fullcircle/.add code={}{\pgf at circuit@pmos at emptycirclefalse\pgf at circuit@pmos at nocirclefalse}}
+\ctikzset{tripoles/pmos style/fullcircle/.add code={}{\pgf at circuit@pmos at emptycirclefalse\pgf at circuit@pmos at nocirclefalse}}
\newif\ifpgf at circuit@trans at ntype
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -286,11 +286,11 @@
\pgfpathclose
\pgfusepath{clip}
% ...and build the waves as clipped circles
- \c at pgf@counta=8\pgf at circ@res at other=0.5\pgf at circ@res at step
+ \pgf at circ@count at a=8\pgf at circ@res at other=0.5\pgf at circ@res at step
\pgfmathloop%
- \ifnum\c at pgf@counta>2
- \pgfpathcircle{\pgfpoint{0pt}{\pgf at circ@res at step}}{\the\c at pgf@counta*\pgf at circ@res at other}
- \advance\c at pgf@counta-1\relax%
+ \ifnum\pgf at circ@count at a>2
+ \pgfpathcircle{\pgfpoint{0pt}{\pgf at circ@res at step}}{\the\pgf at circ@count at a*\pgf at circ@res at other}
+ \advance\pgf at circ@count at a-1\relax%
\repeatpgfmathloop
\pgfusepath{draw}
\endpgfscope
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -13,8 +13,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% counters for pin accounting...
-\newcount\pgf at circ@count at c
-\newcount\pgf at circ@count at b
\def\pgf at circ@dip at pin@shift{0.5}
\def\pgf at circ@qfp at pin@shift{0.25}
@@ -28,8 +26,8 @@
\pgfdeclareshape{dipchip}{
\savedmacro\numpins{%
- \c at pgf@counta=\pgfkeysvalueof{/tikz/circuitikz/multipoles/dipchip/num pins}%
- \def\numpins{\the\c at pgf@counta}
+ \pgf at circ@count at a=\pgfkeysvalueof{/tikz/circuitikz/multipoles/dipchip/num pins}%
+ \def\numpins{\the\pgf at circ@count at a}
}
\savedanchor\centerpoint{%
\pgf at x=-.5\wd\pgfnodeparttextbox%
@@ -94,8 +92,8 @@
\pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
% Adding the pin number
\ifpgf at circuit@chip at shownumbers
- \c at pgf@counta=\numpins\relax
- \divide\c at pgf@counta by 2 \pgf at circ@count at b=\c at pgf@counta
+ \pgf at circ@count at a=\numpins\relax
+ \divide\pgf at circ@count at a by 2 \pgf at circ@count at b=\pgf at circ@count at a
% thanks to @marmot: https://tex.stackexchange.com/a/473571/38080
\ifpgf at circuit@chip at straightnumbers
\pgfgettransformentries\a\b\temp\temp\temp\temp
@@ -108,53 +106,53 @@
\def\pgf at circ@strut{\vrule width 0pt height 1em depth 0.4em\relax}
\def\mytext{\pgfkeysvalueof{/tikz/circuitikz/multipoles/font}\space\pgf at circ@strut\the\pgf at circ@count at c\space}
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
\ifcase\quadrant % rotation 0
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
\or % rotation -90
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
\or %rotation 180
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
\or % rotation +90
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr2*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
\fi
- \advance\c at pgf@counta-1\relax%
+ \advance\pgf at circ@count at a-1\relax%
\repeatpgfmathloop
\fi
\endpgfscope
@@ -161,32 +159,32 @@
\ifdim\pgf at circ@res at other>0pt
\pgfscope
\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/multipoles/external pins thickness}\pgflinewidth}
- \c at pgf@counta=\numpins\relax
- \divide\c at pgf@counta by 2 \pgf at circ@count at b=\c at pgf@counta
+ \pgf at circ@count at a=\numpins\relax
+ \divide\pgf at circ@count at a by 2 \pgf at circ@count at b=\pgf at circ@count at a
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
\edef\padfrac{\pgfkeysvalueof{/tikz/circuitikz/multipoles/external pad fraction}}
\ifnum\padfrac>0
\pgf at circ@res at temp=\pgf at circ@res at step\divide\pgf at circ@res at temp by \padfrac
% left side pads
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% right side pads
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
\else
% left side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% right side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@dip at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
\fi
- \advance\c at pgf@counta by -1\relax%
+ \advance\pgf at circ@count at a by -1\relax%
\repeatpgfmathloop
\pgfusepath{stroke}
\endpgfscope
@@ -196,19 +194,19 @@
% and is executed just before a node is drawn.
\pgfutil at g@addto at macro\pgf at sh@s at dipchip{%
% Start with the maximum pin number and go backwards.
- \c at pgf@counta=\numpins\relax
+ \pgf at circ@count at a=\numpins\relax
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
% we will create two anchors per pin: the "normal one" like `pin 1` for the
% electrical contact, and the "border one" like `bpin 1` for labels.
% they will coincide if `external pins width` is set to 0.
- \expandafter\xdef\csname pgf at anchor@dipchip at pin\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@dippinanchor{\the\c at pgf@counta}{1}%
+ \expandafter\xdef\csname pgf at anchor@dipchip at pin\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@dippinanchor{\the\pgf at circ@count at a}{1}%
}
- \expandafter\xdef\csname pgf at anchor@dipchip at bpin\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@dippinanchor{\the\c at pgf@counta}{0}%
+ \expandafter\xdef\csname pgf at anchor@dipchip at bpin\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@dippinanchor{\the\pgf at circ@count at a}{0}%
}
- \advance\c at pgf@counta by -1\relax%
+ \advance\pgf at circ@count at a by -1\relax%
\repeatpgfmathloop%
}%
}
@@ -217,8 +215,8 @@
\pgfdeclareshape{qfpchip}{
\savedmacro\numpins{%
- \c at pgf@counta=\pgfkeysvalueof{/tikz/circuitikz/multipoles/qfpchip/num pins}%
- \def\numpins{\the\c at pgf@counta}
+ \pgf at circ@count at a=\pgfkeysvalueof{/tikz/circuitikz/multipoles/qfpchip/num pins}%
+ \def\numpins{\the\pgf at circ@count at a}
}
\savedanchor\centerpoint{%
\pgf at x=-.5\wd\pgfnodeparttextbox%
@@ -291,8 +289,8 @@
% Adding the pin number
\pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
\ifpgf at circuit@chip at shownumbers
- \c at pgf@counta=\numpins%
- \divide\c at pgf@counta by 4 \pgf at circ@count at b=\c at pgf@counta
+ \pgf at circ@count at a=\numpins%
+ \divide\pgf at circ@count at a by 4 \pgf at circ@count at b=\pgf at circ@count at a
% thanks to @marmot: https://tex.stackexchange.com/a/473571/38080
\ifpgf at circuit@chip at straightnumbers
\pgfgettransformentries\a\b\temp\temp\temp\temp
@@ -305,93 +303,93 @@
\def\pgf at circ@strut{\vrule width 0pt height 1em depth 0.4em\relax}
\def\mytext{\pgfkeysvalueof{/tikz/circuitikz/multipoles/font}\space\pgf at circ@strut\the\pgf at circ@count at c\space}
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
\ifcase\quadrant % rotation 0
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% bottom
- \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down},
+ at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% top
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up},
+ at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up},
rotate=\rot]{\mytext}
\or % rotation -90
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% bottom
- \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down},
+ at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% top
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up},
+ at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up},
rotate=\rot]{\mytext}
\or %rotation 180
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% bottom
- \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down},
+ at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% top
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up},
+ at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up},
rotate=\rot]{\mytext}
\or % rotation +90
% left
- \pgf at circ@count at c=\c at pgf@counta
+ \pgf at circ@count at c=\pgf at circ@count at a
\pgftext[bottom,
- at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% bottom
- \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[right,
- at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down},
+ at=\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down},
rotate=\rot]{\mytext}
% right
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\c at pgf@counta+1\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b-\pgf at circ@count at a+1\relax
\pgftext[top,
- at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step},
+ at=\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step},
rotate=\rot]{\mytext}
% top
- \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\c at pgf@counta\relax
+ \pgf at circ@count at c=\numexpr3*\pgf at circ@count at b+\pgf at circ@count at a\relax
\pgftext[left,
- at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up},
+ at=\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up},
rotate=\rot]{\mytext}
\fi
- \advance\c at pgf@counta-1\relax%
+ \advance\pgf at circ@count at a-1\relax%
\repeatpgfmathloop
\fi
\endpgfscope
@@ -398,48 +396,48 @@
\ifdim\pgf at circ@res at other>0pt
\pgfscope
\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/multipoles/external pins thickness}\pgflinewidth}
- \c at pgf@counta=\numpins%
- \divide\c at pgf@counta by 4 \pgf at circ@count at b=\c at pgf@counta
+ \pgf at circ@count at a=\numpins%
+ \divide\pgf at circ@count at a by 4 \pgf at circ@count at b=\pgf at circ@count at a
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
\edef\padfrac{\pgfkeysvalueof{/tikz/circuitikz/multipoles/external pad fraction}}
\ifnum\padfrac>0
\pgf at circ@res at temp=\pgf at circ@res at step\divide\pgf at circ@res at temp by \padfrac
% left side pads
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% bottom side pads
- \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down}}
- \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down}}
+ \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down}}
+ \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down}}
% right side pads
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgf at circ@res at temp+\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% top side pads
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
- \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
- \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{-\pgf at circ@res at temp+\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up}}
\else
% left side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% bottom side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at left-(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at down-\pgf at circ@res at other}}
% right side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+\pgf at circ@res at other}{\pgf at circ@res at up+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}}
% top side pins
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\c at pgf@counta)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right+(\pgf at circ@qfp at pin@shift-\the\pgf at circ@count at a)*\pgf at circ@res at step}{\pgf at circ@res at up+\pgf at circ@res at other}}
\fi
- \advance\c at pgf@counta-1\relax%
+ \advance\pgf at circ@count at a-1\relax%
\repeatpgfmathloop
\pgfusepath{stroke}
\endpgfscope
@@ -449,16 +447,16 @@
% and is executed just before a node is drawn.
\pgfutil at g@addto at macro\pgf at sh@s at qfpchip{%
% Start with the maximum pin number and go backwards.
- \c at pgf@counta=\numpins%
+ \pgf at circ@count at a=\numpins%
\pgfmathloop%
- \ifnum\c at pgf@counta>0
- \expandafter\xdef\csname pgf at anchor@qfpchip at pin\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@qfppinanchor{\the\c at pgf@counta}{1}%
+ \ifnum\pgf at circ@count at a>0
+ \expandafter\xdef\csname pgf at anchor@qfpchip at pin\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@qfppinanchor{\the\pgf at circ@count at a}{1}%
}
- \expandafter\xdef\csname pgf at anchor@qfpchip at bpin\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@qfppinanchor{\the\c at pgf@counta}{0}%
+ \expandafter\xdef\csname pgf at anchor@qfpchip at bpin\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@qfppinanchor{\the\pgf at circ@count at a}{0}%
}
- \advance\c at pgf@counta-1\relax%
+ \advance\pgf at circ@count at a-1\relax%
\repeatpgfmathloop%
}%
}
@@ -619,18 +617,19 @@
\endpgfscope
\fi
- % \typeout{CHANNELS\space\channels\space ANGLE\space\angle}
- \c at pgf@counta=\channels\relax
+ % \typeout{CHANNELS\space\channels\space ANGLE\space\angle STEPA\space\stepa}
+ \pgf at circ@count at a=\channels\relax
\pgfmathsetmacro{\currenta}{-\angle}
\pgfmathloop%
- \ifnum\c at pgf@counta>0
- % \typeout{LOOP\space\the\c at pgf@counta\space CURRENTA\space\currenta\space RIGHT\space\the\pgf at circ@res at right}
+ \ifnum\pgf at circ@count at a>0
+ % \typeout{LOOPIN\space\space\the\pgf at circ@count at a\space CURRENTA\space\currenta\space RIGHT\space\the\pgf at circ@res at right}
\pgfscope
\pgftransformshift{\pgfpointadd{\pgfpoint{\pgf at circ@res at left}{0pt}}{\pgfpointpolar{\currenta}{2\pgf at circ@res at right}}}
- \pgfnode{\cshape}{center}{}{\thisshape-out \the\c at pgf@counta}{\pgfusepath{stroke}}
+ \pgfnode{\cshape}{center}{}{\thisshape-out \the\pgf at circ@count at a}{\pgfusepath{stroke}}
\endpgfscope
\pgfmathsetmacro{\currenta}{\currenta+\stepa}
- \advance\c at pgf@counta by -1\relax%
+ % \typeout{LOOPOUT\space\the\pgf at circ@count at a\space CURRENTA\space\currenta\space RIGHT\space\the\pgf at circ@res at right}
+ \advance\pgf at circ@count at a by -1\relax%
\repeatpgfmathloop
\pgfscope % input
@@ -642,25 +641,25 @@
% and is executed just before a node is drawn.
\pgfutil at g@addto at macro\pgf at sh@s at rotaryswitch{%
% Start with the maximum pin number and go backwards.
- \c at pgf@counta=\channels\relax
+ \pgf at circ@count at a=\channels\relax
\pgfmathloop%
- \ifnum\c at pgf@counta>0
+ \ifnum\pgf at circ@count at a>0
% we will create two anchors per pin: the "normal one" like `pin 1` for the
% electrical contact, and the "border one" like `bpin 1` for labels.
% they will coincide if `external pins width` is set to 0.
- \expandafter\xdef\csname pgf at anchor@rotaryswitch at out\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@rotaryanchor{\the\c at pgf@counta}{1}{0}%
+ \expandafter\xdef\csname pgf at anchor@rotaryswitch at out\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@rotaryanchor{\the\pgf at circ@count at a}{1}{0}%
}
- \expandafter\xdef\csname pgf at anchor@rotaryswitch at cout\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@rotaryanchor{\the\c at pgf@counta}{0}{0}%
+ \expandafter\xdef\csname pgf at anchor@rotaryswitch at cout\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@rotaryanchor{\the\pgf at circ@count at a}{0}{0}%
}
- \expandafter\xdef\csname pgf at anchor@rotaryswitch at aout\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@rotaryanchor{\the\c at pgf@counta}{0}{1}%
+ \expandafter\xdef\csname pgf at anchor@rotaryswitch at aout\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@rotaryanchor{\the\pgf at circ@count at a}{0}{1}%
}
- \expandafter\xdef\csname pgf at anchor@rotaryswitch at sqout\space\the\c at pgf@counta\endcsname{%
- \noexpand\pgf at circ@rotarysqanchor{\the\c at pgf@counta}{0}%
+ \expandafter\xdef\csname pgf at anchor@rotaryswitch at sqout\space\the\pgf at circ@count at a\endcsname{%
+ \noexpand\pgf at circ@rotarysqanchor{\the\pgf at circ@count at a}{0}%
}
- \advance\c at pgf@counta by -1\relax%
+ \advance\pgf at circ@count at a by -1\relax%
\repeatpgfmathloop%
}%
}
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -464,23 +464,30 @@
\pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{0.5\pgf at circ@res at down}}
\pgfusepath{draw}
- \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at left}{0pt}}
- \pgfpatharc{0}{90} {0.4\pgf at circ@res at up}
- \pgfsetarrowsend{latex}
- \pgfusepath{draw}
- \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at left}{0pt}}
- \pgfpatharc{0}{-90} {0.4\pgf at circ@res at up}
- \pgfsetarrowsend{latex}
- \pgfusepath{draw}
-
- \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at right}{0pt}}
- \pgfpatharc{180}{90} {0.4\pgf at circ@res at up}
- \pgfsetarrowsend{latex}
- \pgfusepath{draw}
- \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at right}{0pt}}
- \pgfpatharc{-180}{-90} {0.4\pgf at circ@res at up}
- \pgfsetarrowsend{latex}
- \pgfusepath{draw}
+ \pgfscope
+ \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at left}{0pt}}
+ \pgfpatharc{0}{90} {0.4\pgf at circ@res at up}
+ \pgfsetarrowsend{latex}
+ \pgfusepath{draw}
+ \endpgfscope
+ \pgfscope
+ \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at left}{0pt}}
+ \pgfpatharc{0}{-90} {0.4\pgf at circ@res at up}
+ \pgfsetarrowsend{latex}
+ \pgfusepath{draw}
+ \endpgfscope
+ \pgfscope
+ \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at right}{0pt}}
+ \pgfpatharc{180}{90} {0.4\pgf at circ@res at up}
+ \pgfsetarrowsend{latex}
+ \pgfusepath{draw}
+ \endpgfscope
+ \pgfscope
+ \pgfpathmoveto{\pgfpoint{0.1\pgf at circ@res at right}{0pt}}
+ \pgfpatharc{-180}{-90} {0.4\pgf at circ@res at up}
+ \pgfsetarrowsend{latex}
+ \pgfusepath{draw}
+ \endpgfscope
}
% contrib Kristofer M. Monisit
Modified: trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex 2019-07-13 21:39:36 UTC (rev 51634)
@@ -1644,13 +1644,15 @@
\pgfpathlineto{\pgfpoint{\pgf at circ@res at left-\pgfhorizontaltransformationadjustment*.5*\pgflinewidth}{\pgf at circ@res at up+\pgf at circ@res at down}}
\pgfusepath{draw}
\fi
- \pgfpathcircle{\pgfpoint
- {\pgfkeysvalueof{/tikz/circuitikz/tripoles/pmos/gate width}\pgf at circ@res at left - \pgfkeysvalueof{/tikz/circuitikz/nodes width}*\pgf at circ@Rlen}
- {\pgf at circ@res at up+\pgf at circ@res at down}}{\pgfkeysvalueof{/tikz/circuitikz/nodes width}*\pgf at circ@Rlen}
- \ifpgf at circuit@pmos at emptycircle
- \pgfsetfillcolor{white}
+ \ifpgf at circuit@pmos at nocircle\else
+ \pgfpathcircle{\pgfpoint
+ {\pgfkeysvalueof{/tikz/circuitikz/tripoles/pmos/gate width}\pgf at circ@res at left - \pgfkeysvalueof{/tikz/circuitikz/nodes width}*\pgf at circ@Rlen}
+ {\pgf at circ@res at up+\pgf at circ@res at down}}{\pgfkeysvalueof{/tikz/circuitikz/nodes width}*\pgf at circ@Rlen}
+ \ifpgf at circuit@pmos at emptycircle
+ \pgfsetfillcolor{white}
+ \fi
+ \pgfusepath{draw,fill}
\fi
- \pgfusepath{draw,fill}
}
%% HEMT FET Transistor
@@ -4193,21 +4195,21 @@
% Draw tube outline
\def\pgf at circ@tubes at drawtube{%
\ifdim\ctikzvalof{tubes/width}pt>\ctikzvalof{tubes/height}pt\relax
- \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at up}}
- \pgfutil at tempdima=\pgf at circ@res at right
- \advance\pgfutil at tempdima by -\pgf at circ@res at up
- \pgfpathlineto{\pgfpoint{\pgfutil at tempdima}{\pgf at circ@res at up}}
- \pgfpatharc{90}{-90}{\pgf at circ@res at up}
- \pgfpathlineto{\pgfpoint{-\pgfutil at tempdima}{-\pgf at circ@res at up}}
- \pgfpatharc{270}{90}{\pgf at circ@res at up}
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at up}}
+ \pgfutil at tempdima=\pgf at circ@res at right
+ \advance\pgfutil at tempdima by -\pgf at circ@res at up
+ \pgfpathlineto{\pgfpoint{\pgfutil at tempdima}{\pgf at circ@res at up}}
+ \pgfpatharc{90}{-90}{\pgf at circ@res at up}
+ \pgfpathlineto{\pgfpoint{-\pgfutil at tempdima}{-\pgf at circ@res at up}}
+ \pgfpatharc{270}{90}{\pgf at circ@res at up}
\else
- \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{0pt}}
- \pgfutil at tempdima=\pgf at circ@res at up
- \advance\pgfutil at tempdima by -\pgf at circ@res at right
- \pgfpathlineto{\pgfpoint{-\pgf at circ@res at right}{\pgfutil at tempdima}}
- \pgfpatharc{180}{0}{\pgf at circ@res at right}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgfutil at tempdima}}
- \pgfpatharc{180}{0}{-\pgf at circ@res at right}
+ \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{0pt}}
+ \pgfutil at tempdima=\pgf at circ@res at up
+ \advance\pgfutil at tempdima by -\pgf at circ@res at right
+ \pgfpathlineto{\pgfpoint{-\pgf at circ@res at right}{\pgfutil at tempdima}}
+ \pgfpatharc{180}{0}{\pgf at circ@res at right}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at right}{-\pgfutil at tempdima}}
+ \pgfpatharc{180}{0}{-\pgf at circ@res at right}
\fi
\pgfpathclose
}
@@ -4218,52 +4220,52 @@
%% \pgfcircdeclaretube{tube name}{grid anchors}{grid drawing code}
\long\def\pgfcircdeclaretube#1#2#3{%
\pgfdeclareshape{#1}{
- \anchor{center}{
- \pgfpointorigin
- }
- \savedanchor\northwest{%
- \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
+ \anchor{center}{
+ \pgfpointorigin
+ }
+ \savedanchor\northwest{%
+ \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
\pgf at circ@res at right=\ctikzvalof{tubes/width}\pgf at circ@Rlen
% x and y should be half the Rlen
- \pgf at y=\pgf at circ@res at up
- \pgf at y=.5\pgf at y
- \pgf at x=-\pgf at circ@res at right
- \pgf at x=.5\pgf at x
- }
+ \pgf at y=\pgf at circ@res at up
+ \pgf at y=.5\pgf at y
+ \pgf at x=-\pgf at circ@res at right
+ \pgf at x=.5\pgf at x
+ }
\anchor{north} {%
\northwest
\pgf at x=0pt
}
- \anchor{east}{%
- \northwest
- \pgf at x=-\pgf at x
- \pgf at y=0pt
- }
+ \anchor{east}{%
+ \northwest
+ \pgf at x=-\pgf at x
+ \pgf at y=0pt
+ }
\anchor{south}{%
- \northwest
- \pgf at y=-\pgf at y
+ \northwest
+ \pgf at y=-\pgf at y
\pgf at x=0pt
}
- \anchor{west}{%
- \northwest
- \pgf at y=0pt
- }
- \anchor{north west}{%
- \northwest
- }
- \anchor{north east}{%
- \northwest
- \pgf at x=-\pgf at x
- }
- \anchor{south east}{
- \northwest
- \pgf at x=-\pgf at x
- \pgf at y=-\pgf at y
- }
- \anchor{south west}{
- \northwest
- \pgf at y=-\pgf at y
- }
+ \anchor{west}{%
+ \northwest
+ \pgf at y=0pt
+ }
+ \anchor{north west}{%
+ \northwest
+ }
+ \anchor{north east}{%
+ \northwest
+ \pgf at x=-\pgf at x
+ }
+ \anchor{south east}{
+ \northwest
+ \pgf at x=-\pgf at x
+ \pgf at y=-\pgf at y
+ }
+ \anchor{south west}{
+ \northwest
+ \pgf at y=-\pgf at y
+ }
\anchor{anode} {%
\northwest
\pgf at x=0pt
@@ -4295,86 +4297,86 @@
\pgf at x=-\pgfmathresult\pgf at x
\pgf at y=-\pgf at y
}
-
+
% Extra anchors
#2
-
+
\backgroundpath{
\pgfscope
- % Line width for tripoles
- \pgfsetlinewidth{\ctikzvalof{tripoles/thickness}\pgflinewidth}
-
- % Setup to draw tube
- \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
- \pgf at circ@res at right=\ctikzvalof{tubes/width}\pgf at circ@Rlen
- \pgf at circ@res at up=\ctikzvalof{tubes/tube radius}\pgf at circ@res at up
- \pgf at circ@res at right=\ctikzvalof{tubes/tube radius}\pgf at circ@res at right
-
- % Tube fill color (if any)
- \ifx\tikz at fillcolor\pgfutil at empty
- \else
- \pgfscope
- \pgfsetfillcolor{\tikz at fillcolor}
- \pgf at circ@tubes at drawtube
- \pgfusepath{fill}
- \endpgfscope
- \fi
-
- % Tube outline
- \pgf at circ@tubes at drawtube
-
- % Setup to draw grid, filament, anode and cathode
- \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
- \pgf at circ@res at right=\ctikzvalof{tubes/width}\pgf at circ@Rlen
- \pgf at circ@res at up=0.5\pgf at circ@res at up
- \pgf at circ@res at right=0.5\pgf at circ@res at right
-
- % Grid drawing
- #3
-
- % Filament (is not drawn by default)
- \ifpgf at circuit@tubes at filament
- \pgf at circ@res at temp=-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up
- \advance\pgf at circ@res at temp by -\ctikzvalof{tubes/filament distance}\pgf at circ@res at up
- \pgfmathparse{(\ctikzvalof{tubes/tube radius}*sin(\ctikzvalof{tubes/filament angle})}
- \pgf at xa=\pgfmathresult\pgf at circ@res at right
- \pgfmathparse{\ctikzvalof{tubes/tube radius}+\ctikzvalof{tubes/tube radius}*cos(\ctikzvalof{tubes/filament angle}}
- \pgf at ya=\pgfmathresult\pgf at circ@res at up
- \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at temp}}
- \pgfpathlineto{\pgfpoint{-\pgf at xa}{-\pgf at ya}}
- \pgfpathlineto{\pgfpoint{-\pgf at xa}{-\pgf at circ@res at up}}
- \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at temp}}
- \pgfpathlineto{\pgfpoint{\pgf at xa}{-\pgf at ya}}
- \pgfpathlineto{\pgfpoint{\pgf at xa}{-\pgf at circ@res at up}}
- \pgf at circuit@tubes at filamentfalse
- \fi
-
- % Anode (or plate)
- \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at up}} % north
- \pgfpathlineto{\pgfpoint{0pt}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
- \pgfpathmoveto{\pgfpoint{-\ctikzvalof{tubes/anode width}\pgf at circ@res at right}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/anode width}\pgf at circ@res at right}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
-
- % Cathode
- \ifpgf at circuit@tubes at nocathode
- \pgf at circuit@tubes at nocathodefalse
- \else
- \pgfsetcornersarced{\pgfpoint{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}}
- \pgfpathmoveto{\pgfpoint{-\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpoint{-\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up}}
- \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up}}
- \ifpgf at circuit@tubes at fullcathode
- \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\pgf at circ@res at up}}
- \pgf at circuit@tubes at fullcathodefalse
- \else
- \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up-\ctikzvalof{tubes/cathode right extend}\pgf at circ@res at up}}
- \fi
- \fi
-
- % Draw the background
- \pgfusepath{draw}
-
+ % Line width for tripoles
+ \pgfsetlinewidth{\ctikzvalof{tripoles/thickness}\pgflinewidth}
+
+ % Setup to draw tube
+ \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
+ \pgf at circ@res at right=\ctikzvalof{tubes/width}\pgf at circ@Rlen
+ \pgf at circ@res at up=\ctikzvalof{tubes/tube radius}\pgf at circ@res at up
+ \pgf at circ@res at right=\ctikzvalof{tubes/tube radius}\pgf at circ@res at right
+
+ % Tube fill color (if any)
+ \ifx\tikz at fillcolor\pgfutil at empty
+ \else
+ \pgfscope
+ \pgfsetfillcolor{\tikz at fillcolor}
+ \pgf at circ@tubes at drawtube
+ \pgfusepath{fill}
\endpgfscope
+ \fi
+
+ % Tube outline
+ \pgf at circ@tubes at drawtube
+
+ % Setup to draw grid, filament, anode and cathode
+ \pgf at circ@res at up=\ctikzvalof{tubes/height}\pgf at circ@Rlen
+ \pgf at circ@res at right=\ctikzvalof{tubes/width}\pgf at circ@Rlen
+ \pgf at circ@res at up=0.5\pgf at circ@res at up
+ \pgf at circ@res at right=0.5\pgf at circ@res at right
+
+ % Grid drawing
+ #3
+
+ % Filament (is not drawn by default)
+ \ifpgf at circuit@tubes at filament
+ \pgf at circ@res at temp=-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up
+ \advance\pgf at circ@res at temp by -\ctikzvalof{tubes/filament distance}\pgf at circ@res at up
+ \pgfmathparse{(\ctikzvalof{tubes/tube radius}*sin(\ctikzvalof{tubes/filament angle})}
+ \pgf at xa=\pgfmathresult\pgf at circ@res at right
+ \pgfmathparse{\ctikzvalof{tubes/tube radius}+\ctikzvalof{tubes/tube radius}*cos(\ctikzvalof{tubes/filament angle}}
+ \pgf at ya=\pgfmathresult\pgf at circ@res at up
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at temp}}
+ \pgfpathlineto{\pgfpoint{-\pgf at xa}{-\pgf at ya}}
+ \pgfpathlineto{\pgfpoint{-\pgf at xa}{-\pgf at circ@res at up}}
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at temp}}
+ \pgfpathlineto{\pgfpoint{\pgf at xa}{-\pgf at ya}}
+ \pgfpathlineto{\pgfpoint{\pgf at xa}{-\pgf at circ@res at up}}
+ \pgf at circuit@tubes at filamentfalse
+ \fi
+
+ % Anode (or plate)
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgf at circ@res at up}} % north
+ \pgfpathlineto{\pgfpoint{0pt}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
+ \pgfpathmoveto{\pgfpoint{-\ctikzvalof{tubes/anode width}\pgf at circ@res at right}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/anode width}\pgf at circ@res at right}{\ctikzvalof{tubes/anode distance}\pgf at circ@res at up}}
+
+ % Cathode
+ \ifpgf at circuit@tubes at nocathode
+ \pgf at circuit@tubes at nocathodefalse
+ \else
+ \pgfsetcornersarced{\pgfpoint{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}}
+ \pgfpathmoveto{\pgfpoint{-\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{-\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up}}
+ \ifpgf at circuit@tubes at fullcathode
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\pgf at circ@res at up}}
+ \pgf at circuit@tubes at fullcathodefalse
+ \else
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up-\ctikzvalof{tubes/cathode right extend}\pgf at circ@res at up}}
+ \fi
+ \fi
+
+ % Draw the background
+ \pgfusepath{draw}
+
+ \endpgfscope
}
}
}
@@ -4383,10 +4385,14 @@
\pgfcircdeclaretube{triode}
{
- \anchor{grid} {%
- \northwest
+ \anchor{grid} {% should not be used
+ \northwest
\pgf at y=\ctikzvalof{tubes/grid shift}\pgf at y
- }
+ }
+ \anchor{control} {%
+ \northwest
+ \pgf at y=\ctikzvalof{tubes/grid shift}\pgf at y
+ }
}
{
% Grid protrusion
@@ -4397,40 +4403,47 @@
% Grid dashes: calculations
\pgf at xb=2\pgf at circ@res at right
\pgf at circ@res at step=\ctikzvalof{tubes/tube radius}\pgf at xb
- \@tempcnta=\ctikzvalof{tubes/grid dashes} % dashes*2+1
- \multiply\@tempcnta by 2\relax
- \advance\@tempcnta by 1\relax
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes} % dashes*2+1
+ \multiply\pgf at circ@count at a by 2\relax
+ \advance\pgf at circ@count at a by 1\relax
\advance\pgf at circ@res at step by -\pgf at xa
- \divide\pgf at circ@res at step by \@tempcnta
+ \divide\pgf at circ@res at step by \pgf at circ@count at a
% Grid dashes: draw
\pgf at circ@res at temp=\pgf at xa
- \@tempcnta=\ctikzvalof{tubes/grid dashes}
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes}
\loop
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\ctikzvalof{tubes/grid shift}\pgf at circ@res at up}}
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp}{\ctikzvalof{tubes/grid shift}\pgf at circ@res at up}}
- \advance\@tempcnta by-1
- \ifnum\@tempcnta>0\relax
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\ctikzvalof{tubes/grid shift}\pgf at circ@res at up}}
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp}{\ctikzvalof{tubes/grid shift}\pgf at circ@res at up}}
+ \advance\pgf at circ@count at a by-1
+ \ifnum\pgf at circ@count at a>0\relax
\repeat
}
\pgfcircdeclaretube{tetrode}
{
- \anchor{grid} {%
- \northwest
+ \anchor{grid} {% should not be used
+ \northwest
\pgfutil at tempdima=\pgf at y
\pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
\pgf at y=0.5\pgf at y
\advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
- }
+ }
+ \anchor{control} {%
+ \northwest
+ \pgfutil at tempdima=\pgf at y
+ \pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
+ \pgf at y=0.5\pgf at y
+ \advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
+ }
\anchor{screen} {%
- \northwest
+ \northwest
\pgfutil at tempdima=\pgf at y
\pgf at y=\ctikzvalof{tubes/grid separation}\pgf at y
\pgf at y=0.5\pgf at y
\advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
- }
+ }
}
{
% Grid x/y points
@@ -4450,44 +4463,50 @@
% Grid dashes: calculations
\pgf at xb=2\pgf at circ@res at right
\pgf at circ@res at step=\ctikzvalof{tubes/tube radius}\pgf at xb
- \@tempcnta=\ctikzvalof{tubes/grid dashes} % dashes*2+1
- \multiply\@tempcnta by 2\relax
- \advance\@tempcnta by 1\relax
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes} % dashes*2+1
+ \multiply\pgf at circ@count at a by 2\relax
+ \advance\pgf at circ@count at a by 1\relax
\advance\pgf at circ@res at step by -\pgf at xa
- \divide\pgf at circ@res at step by \@tempcnta
+ \divide\pgf at circ@res at step by \pgf at circ@count at a
% Grid dashes: draw
\pgf at circ@res at temp=\pgf at xa
- \@tempcnta=\ctikzvalof{tubes/grid dashes}
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes}
\loop
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdima}}
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdimb}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdimb}}
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \advance\@tempcnta by-1
- \ifnum\@tempcnta>0\relax
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdima}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdimb}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdimb}}
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \advance\pgf at circ@count at a by-1
+ \ifnum\pgf at circ@count at a>0\relax
\repeat
}
\pgfcircdeclaretube{pentode}
{
- \anchor{grid} {%
- \northwest
+ \anchor{grid} {% should not be used
+ \northwest
\pgfutil at tempdima=\pgf at y
\pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
\advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
- }
+ }
+ \anchor{control} {%
+ \northwest
+ \pgfutil at tempdima=\pgf at y
+ \pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
+ \advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
+ }
\anchor{screen} {%
- \northwest
+ \northwest
\pgf at y=\ctikzvalof{tubes/grid shift}\pgf at y
- }
+ }
\anchor{suppressor} {%
- \northwest
+ \northwest
\pgfutil at tempdima=\pgf at y
\pgf at y=\ctikzvalof{tubes/grid separation}\pgf at y
\advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
- }
+ }
}
{
% Grid x/y points
@@ -4497,37 +4516,102 @@
\pgfutil at tempdimb=-\pgfutil at tempdima
\advance\pgfutil at tempdima by \ctikzvalof{tubes/grid shift}\pgf at circ@res at up
\advance\pgfutil at tempdimb by \ctikzvalof{tubes/grid shift}\pgf at circ@res at up
- \@tempdimc=\ctikzvalof{tubes/grid shift}\pgf at circ@res at up
+ \pgf at circ@res at other=\ctikzvalof{tubes/grid shift}\pgf at circ@res at up
% Grid protrusion
\pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\pgfutil at tempdimb}}
\pgfpathlineto{\pgfpoint{\pgf at xa}{\pgfutil at tempdimb}}
\pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\pgfutil at tempdima}}
\pgfpathlineto{\pgfpoint{\pgf at xa}{\pgfutil at tempdima}}
- \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\@tempdimc}}
- \pgfpathlineto{\pgfpoint{\pgf at xa}{\@tempdimc}}
+ \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at xa}{\pgf at circ@res at other}}
% Grid dashes: calculations
\pgf at xb=2\pgf at circ@res at right
\pgf at circ@res at step=\ctikzvalof{tubes/tube radius}\pgf at xb
- \@tempcnta=\ctikzvalof{tubes/grid dashes} % dashes*2+1
- \multiply\@tempcnta by 2\relax
- \advance\@tempcnta by 1\relax
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes} % dashes*2+1
+ \multiply\pgf at circ@count at a by 2\relax
+ \advance\pgf at circ@count at a by 1\relax
\advance\pgf at circ@res at step by -\pgf at xa
- \divide\pgf at circ@res at step by \@tempcnta
+ \divide\pgf at circ@res at step by \pgf at circ@count at a
% Grid dashes: draw
\pgf at circ@res at temp=\pgf at xa
- \@tempcnta=\ctikzvalof{tubes/grid dashes}
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes}
\loop
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdima}}
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdimb}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdimb}}
- \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\@tempdimc}}
- \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\@tempdimc}}
- \advance\pgf at circ@res at temp by\pgf at circ@res at step
- \advance\@tempcnta by-1
- \ifnum\@tempcnta>0\relax
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdima}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdimb}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdimb}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgf at circ@res at other}}
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \advance\pgf at circ@count at a by-1
+ \ifnum\pgf at circ@count at a>0\relax
\repeat
}
+\pgfcircdeclaretube{pentode suppressor to cathode}
+{
+ \anchor{grid} {% should not be used
+ \northwest
+ \pgfutil at tempdima=\pgf at y
+ \pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
+ \advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
+ }
+ \anchor{control} {%
+ \northwest
+ \pgfutil at tempdima=\pgf at y
+ \pgf at y=-\ctikzvalof{tubes/grid separation}\pgf at y
+ \advance\pgf at y by \ctikzvalof{tubes/grid shift}\pgfutil at tempdima
+ }
+ \anchor{screen} {%
+ \northwest
+ \pgf at y=\ctikzvalof{tubes/grid shift}\pgf at y
+ }
+}
+{
+ % Grid x/y points
+ \pgf at xa=-\ctikzvalof{tubes/tube radius}\pgf at circ@res at right
+ \advance\pgf at xa by -\ctikzvalof{tubes/grid protrusion}\pgf at circ@res at right
+ \pgfutil at tempdima=\ctikzvalof{tubes/grid separation}\pgf at circ@res at up
+ \pgfutil at tempdimb=-\pgfutil at tempdima
+ \advance\pgfutil at tempdima by \ctikzvalof{tubes/grid shift}\pgf at circ@res at up
+ \advance\pgfutil at tempdimb by \ctikzvalof{tubes/grid shift}\pgf at circ@res at up
+ \pgf at circ@res at other=\ctikzvalof{tubes/grid shift}\pgf at circ@res at up
+ % Grid protrusion
+ \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\pgfutil at tempdimb}}
+ \pgfpathlineto{\pgfpoint{\pgf at xa}{\pgfutil at tempdimb}}
+ \pgfpathmoveto{\pgfpoint{-\pgf at circ@res at right}{\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at xa}{\pgf at circ@res at other}}
+ % Grid dashes: calculations
+ \pgf at xb=2\pgf at circ@res at right
+ \pgf at circ@res at step=\ctikzvalof{tubes/tube radius}\pgf at xb
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes} % dashes*2+1
+ \multiply\pgf at circ@count at a by 2\relax
+ \advance\pgf at circ@count at a by 1\relax
+ \advance\pgf at circ@res at step by -\pgf at xa
+ \divide\pgf at circ@res at step by \pgf at circ@count at a
+ % Grid dashes: draw
+ \pgf at circ@res at temp=\pgf at xa
+ \pgf at circ@count at a=\ctikzvalof{tubes/grid dashes}
+ \loop
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \ifnum\pgf at circ@count at a>1\relax
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdimb}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdimb}}
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgf at circ@res at other}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgf at circ@res at other}}
+ \fi
+ \pgfpathmoveto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp+\pgf at circ@res at step}{\pgfutil at tempdima}}
+ \advance\pgf at circ@res at temp by\pgf at circ@res at step
+ \advance\pgf at circ@count at a by-1
+ \ifnum\pgf at circ@count at a>0\relax
+ \repeat
+ % Grid: connection from suppressor to cathode
+ \pgfsetcornersarced{\pgfpoint{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}{\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\pgf at circ@res at temp}{\pgfutil at tempdima-2*\ctikzvalof{tubes/grid separation}\pgf at circ@res at up}}
+ \pgfpathlineto{\pgfpoint{\ctikzvalof{tubes/cathode width}\pgf at circ@res at right-0.4142136*\ctikzvalof{tubes/cathode corners}\pgf at circ@res at right}{-\ctikzvalof{tubes/cathode distance}\pgf at circ@res at up-0.4142136*\ctikzvalof{tubes/cathode corners}\pgf at circ@res at up}}
+
+}
+
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty 2019-07-13 21:39:16 UTC (rev 51633)
+++ trunk/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty 2019-07-13 21:39:36 UTC (rev 51634)
@@ -9,8 +9,8 @@
\NeedsTeXFormat{LaTeX2e}
-\def\pgfcircversion{0.9.2}
-\def\pgfcircversiondate{2019/06/21}
+\def\pgfcircversion{0.9.3}
+\def\pgfcircversiondate{2019/07/13}
\ProvidesPackage{circuitikz}%
[\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion]
@@ -344,7 +344,7 @@
\input pgfcirccurrent.tex
\input pgfcircflow.tex
-% notice that the default is nooldvoltagedirections; it's not explicitly set to allow for the warning
+% notice that the default is nooldvoltagedirection; it's not explicitly set to allow for the warning
\ExecuteOptions{nofetbodydiode, nofetsolderdot, europeancurrents, europeanvoltages,americanports, americanresistors, cuteinductors ,europeangfsurgearrester, nosiunitx, noarrowmos, smartlabels}
\ProcessOptions\relax
@@ -360,7 +360,7 @@
\ifpgf at circ@explicitvdir\else
\PackageWarningNoLine{circuitikz}{%
You did not specify one of the voltage directions:\MessageBreak
- \space\space oldvoltagedirections, nooldvoltagedirections, \MessageBreak
+ \space\space oldvoltagedirection, nooldvoltagedirection, \MessageBreak
\space\space RPvoltages or EFvoltages \MessageBreak
Default directions may have changed, \MessageBreak
please check the manual%
More information about the tex-live-commits
mailing list