diff options
Diffstat (limited to 'graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex')
-rw-r--r-- | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex | 151 |
1 files changed, 145 insertions, 6 deletions
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex index 4978311dca..626ed28812 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex @@ -3696,9 +3696,9 @@ \pgf@circuit@fulldiodefalse \ctikzset{diode/.is choice} -\ctikzset{diode/empty/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodefalse}%default -\ctikzset{diode/full/.code = \pgf@circuit@fulldiodetrue } -\ctikzset{diode/stroke/.code = \pgf@circuit@strokediodetrue} +\ctikzset{diode/empty/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodefalse}%default +\ctikzset{diode/full/.code = \pgf@circuit@fulldiodetrue\pgf@circuit@strokediodefalse} +\ctikzset{diode/stroke/.code = \pgf@circuit@fulldiodefalse\pgf@circuit@strokediodetrue} \tikzset{full diodes/.style = { \circuitikzbasekey/diode = full}} \tikzset{empty diodes/.style = { \circuitikzbasekey/diode = empty}} @@ -6977,7 +6977,7 @@ \ctikzset{bipoles/tlmic/width/.initial=.5}% it MUST be mic width *5/8 \ctikzset{bipoles/mic/bar thickness/.initial=1} -% arresters, fuses, lamps, etc +% arresters, fuses, relais, lamps, etc \ctikzset{bipoles/european gas filled surge arrester/height/.initial=.30} \ctikzset{bipoles/european gas filled surge arrester/width/.initial=.80} @@ -6994,6 +6994,7 @@ \ctikzset{bipoles/afuse/height/.initial=.20} \ctikzset{bipoles/afuse/width/.initial=.50} \ctikzset{bipoles/lamp/height/.initial=.60} +\ctikzset{bipoles/lamp/width/.initial=.60} \ctikzset{bipoles/wfuse/height/.initial=.20} \ctikzset{bipoles/wfuse/width/.initial=.50} \ctikzset{bipoles/wfuse/shape/.initial=ocirc} @@ -7001,9 +7002,22 @@ \ctikzset{bipoles/wfuse/dots/.is choice} \ctikzset{bipoles/wfuse/dots/.is if=pgf@circ@wfuse@dots} % -\ctikzset{bipoles/lamp/width/.initial=.60} +\ctikzset{bipoles/relais/height/.initial=.8} +\ctikzset{bipoles/relais/width/.initial=.3} +% \ctikzset{bipoles/bulb/height/.initial=.8} \ctikzset{bipoles/bulb/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} +\pgf@circ@declare@family@arrows{sparkgap} +\newif\ifpgf@sparkgap@dot +\newif\ifpgf@sparkgap@circle +\ctikzset{sparkgap/circle/.is if=pgf@sparkgap@circle} +\ctikzset{sparkgap/dot/.is if=pgf@sparkgap@dot} +\ctikzset{sparkgap/gap/.initial=.05} +\ctikzset{bipoles/sparkgap/height/.initial=.60} +% \ctikzset{bipoles/squid/height/.initial=.60} \ctikzset{bipoles/squid/width/.initial=.60} \ctikzset{bipoles/barrier/height/.initial=.60} @@ -7233,6 +7247,25 @@ \pgfnode{\cshape}{center}{}{\thisshape-right}{\pgfusepath{draw}} \fi } + +%% Relais +\pgfcircdeclarebipolescaled{misc} +{} +{\ctikzvalof{bipoles/relais/height}} +{relais} +{\ctikzvalof{bipoles/relais/height}} +{\ctikzvalof{bipoles/relais/width}} +{ + \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}} + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgf@circ@draworfill + \pgfscope + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}} + \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}} + \pgfusepath{draw} + \endpgfscope +} + %% SQUID added by Cor Molenaar 5 March 2010 \pgfcircdeclarebipolescaled{misc} {} @@ -7340,11 +7373,116 @@ \pgfsetbeveljoin \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@zero}} \pgfusepath{draw} -}% %>>> +}% +% neon lamps, suggested by @bogger33 https://github.com/circuitikz/circuitikz/issues/793 +% implemented by Romano +% double-cathode (capacitor) style +\pgfcircdeclarebipolescaled{misc} +{} +{\ctikzvalof{bipoles/neonlampcc/height}} +{neonlampcc} +{\ctikzvalof{bipoles/neonlampcc/height}} +{\ctikzvalof{bipoles/neonlampcc/height}} +{ + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}} + \pgf@circ@draworfill + %% leads in + \pgfsetlinewidth{\pgfstartlinewidth} + \def\@@w{0.2}\def\@@h{0.6} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{0pt}} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}} + %% "capacitor style" symbol + \pgfusepath{draw} + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@down}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@up}} + \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@down}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@up}} + \pgfusepath{draw} + %% dot + \pgftransformshift{\pgfpoint{\@@w\pgf@circ@res@left-3*\ctikzvalof{nodes width}\pgf@circ@Rlen} + {\@@h\pgf@circ@res@down + 2*\ctikzvalof{nodes width}\pgf@circ@Rlen}} + \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}} +} +% anode-cathode style +\pgfcircdeclarebipolescaled{misc} +{} +{\ctikzvalof{bipoles/neonlampac/height}} +{neonlampac} +{\ctikzvalof{bipoles/neonlampac/height}} +{\ctikzvalof{bipoles/neonlampac/height}} +{ + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}} + \pgf@circ@draworfill + %% leads in + \pgfsetlinewidth{\pgfstartlinewidth} + \def\@@w{0.5}\def\@@h{0.5} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{0pt}} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}} + \pgfusepath{draw} + %% one terminal is a straight plate + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathmoveto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@down}} + \pgfpathlineto{\pgfpoint{\@@w\pgf@circ@res@left}{\@@h\pgf@circ@res@up}} + \pgfusepath{draw} + %% the other is an "ocirc" shape + \pgftransformshift{\pgfpoint{\@@w\pgf@circ@res@right}{0pt}} + \pgfnode{ocirc}{center}{}{}{\pgfusepath{draw,fill}} + %% dot + \pgftransformshift{\pgfpoint{-\@@w\pgf@circ@res@right}{\@@h\pgf@circ@res@down}} + \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}} +} +% spark gap, suggested by @bogger33 https://github.com/circuitikz/circuitikz/issues/800 +\pgfcircdeclarebipolescaled{misc} +{ + \savedmacro{\changeh}{\edef\changeh{\ifpgf@sparkgap@circle 1 \else 0.5 \fi}} + \pgfcirc@border@extend@updown{\changeh}{\changeh} +} +{\ctikzvalof{bipoles/sparkgap/height}} +{sparkgap} +{\ctikzvalof{bipoles/sparkgap/height}} +{\ctikzvalof{bipoles/sparkgap/height}}{ + % circle (if requested) + \pgfscope + \ifpgf@sparkgap@circle + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + \pgfpathcircle{\pgfpointorigin}{\pgf@circ@res@up} + \pgf@circ@draworfill + \fi + \endpgfscope + % arrows + \pgfscope + \pgfcirc@set@arrows{sparkgap}{}{Triangle[scale=2]} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}} + \pgfpathlineto{\pgfpoint{\ctikzvalof{sparkgap/gap}\pgf@circ@res@right}{0pt}} + \pgfusepath{draw} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{\ctikzvalof{sparkgap/gap}\pgf@circ@res@left}{0pt}} + \pgfusepath{draw} + \endpgfscope{} + % dot (if requested) + \ifpgf@sparkgap@dot + \pgftransformshift{\pgfpoint + {\ctikzvalof{sparkgap/gap}\pgf@circ@res@left-1*\ctikzvalof{nodes width}\pgf@circ@Rlen} + {-4*\ctikzvalof{nodes width}\pgf@circ@Rlen}} + \pgfnode{circ}{center}{}{}{\pgfusepath{draw,fill}} + \fi +} + +%>>> %% Path definitions for Miscellaneous%<<< \pgfcirc@activate@bipole@simple{l}{lamp} +\pgfcirc@activate@bipole@simple{l}{neonlampcc} +\pgfcirc@activate@bipole@simple{l}{neonlampac} +\pgfcirc@activate@bipole@simple{l}{sparkgap} \pgfcirc@activate@bipole@simple{l}{bulb} \pgfcirc@activate@bipole@simple{l}{squid} \pgfcirc@activate@bipole@simple{l}{barrier} @@ -7355,6 +7493,7 @@ \pgfcirc@style@to@style{asymmetric fuse}{afuse} \pgfcirc@activate@bipole@simple{l}{wfuse} \pgfcirc@activate@bipole{l}{wfuse}{wfuse}{wiggly fuse} +\pgfcirc@activate@bipole@simple{l}{relais} \def\pgf@circ@gfsurgearrester@path#1{\ifpgf@circuit@europeangfsurgearrester\pgf@circ@europeangfsurgearrester@path{#1}\else\pgf@circ@americangfsurgearrester@path{#1}\fi} \pgfcirc@activate@bipole{l}{europeangfsurgearrester}{european gas filled surge arrester}{european gas filled surge arrester} \pgfcirc@activate@bipole{l}{americangfsurgearrester}{american gas filled surge arrester}{american gas filled surge arrester} |