summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/circuitikz/tex/circuitikz.sty')
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/circuitikz.sty263
1 files changed, 120 insertions, 143 deletions
diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
index 8863c23ce0..5f72a46277 100644
--- a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
+++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
@@ -12,8 +12,8 @@
\NeedsTeXFormat{LaTeX2e}
-\def\pgfcircversion{1.1.2}
-\def\pgfcircversiondate{2020/05/17}
+\def\pgfcircversion{1.2.0}
+\def\pgfcircversiondate{2020/06/21}
\ProvidesPackage{circuitikz}%
[\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion]
@@ -29,178 +29,185 @@
%
\usetikzlibrary{arrows.meta, bending}
\usetikzlibrary{fpu} % may be needed for use fpu reciprocal (v1.0.1)
-
-% The options are listed in the manual in this order
-
+%
+% global of options (better use styles!)
+%
+\DeclareOption{european}{
+ \ctikzset{voltage=european} \ctikzset{current=european} \ctikzset{inductor=european}
+ \ctikzset{resistor=european} \ctikzset{logic ports=european} \ctikzset{gas filled surge arrester choice = european}
+}
+\DeclareOption{american}{
+ \ctikzset{voltage=american} \ctikzset{current=american} \ctikzset{resistor=american} \ctikzset{inductor=american} \ctikzset{gas filled surge arrester choice = american}
+ \ctikzset{logic ports = american}
+}
+\DeclareOption{siunitx}{
+ \pgf@circ@siunitxtrue
+}
+\DeclareOption{nosiunitx}{
+ \pgf@circ@siunitxfalse
+}
+\DeclareOption{compatibility}{
+ \pgf@circuit@compattrue
+}
+%
+% voltages
+%
\DeclareOption{europeanvoltage}{
\ctikzset{voltage=european}
}
-
\DeclareOption{straightvoltages}{
- \pgf@circuit@bipole@voltage@straighttrue
+ \ctikzset{voltage=straight}
}
-
\DeclareOption{americanvoltage}{
\ctikzset{voltage=american}
}
-
+\DeclareOption{europeanvoltages}{
+ \ctikzset{voltage=european}
+}
+\DeclareOption{americanvoltages}{
+ \ctikzset{voltage=american}
+}
+% Voltage directions
+\DeclareOption{oldvoltagedirection}{
+ \pgf@circ@oldvoltagedirectiontrue
+ \pgf@circ@explicitvdirtrue
+ \pgf@circ@fixbatteriesfalse
+}
+\DeclareOption{nooldvoltagedirection}{
+ \pgf@circ@oldvoltagedirectionfalse
+ \pgf@circ@explicitvdirtrue
+ \pgf@circ@fixbatteriesfalse
+}
+\DeclareOption{RPvoltages}{
+ \pgf@circ@oldvoltagedirectiontrue
+ \pgf@circ@explicitvdirtrue
+ \pgf@circ@fixbatteriestrue
+}
+\DeclareOption{EFvoltages}{
+ \pgf@circ@oldvoltagedirectionfalse
+ \pgf@circ@explicitvdirtrue
+ \pgf@circ@fixbatteriestrue
+}
+%
+% currents
+%
\DeclareOption{europeancurrent}{
\ctikzset{current = european}
}
-
\DeclareOption{americancurrent}{
\ctikzset{current = american}
}
-
-
-
+\DeclareOption{europeancurrents}{
+ \ctikzset{current = european}
+}
+\DeclareOption{americancurrents}{
+ \ctikzset{current = american}
+}
+%
+% resistors
+%
\DeclareOption{americanresistor}{
\ctikzset{resistor = american}
}
-
\DeclareOption{europeanresistor}{
\ctikzset{resistor = european}
}
-
+\DeclareOption{americanresistors}{
+ \ctikzset{resistor = american}
+}
+\DeclareOption{europeanresistors}{
+ \ctikzset{resistor = european}
+}
+%
+% inductors
+%
\DeclareOption{americaninductor}{
\ctikzset{inductor = american}
}
-
\DeclareOption{europeaninductor}{
\ctikzset{inductor = european}
}
-
\DeclareOption{cuteinductor}{
\ctikzset{inductor = cute}
}
-
-\DeclareOption{americanport}{
- \ctikzset{logic ports = american}
-}
-
-\DeclareOption{europeanport}{
- \ctikzset{logic ports = european}
-}
-
-\DeclareOption{european}{
- \ctikzset{voltage=european} \ctikzset{current=european} \ctikzset{inductor=european}
- \ctikzset{resistor=european} \ctikzset{logic ports=european} \ctikzset{gas filled surge arrester choice = european}
-}
-
-\DeclareOption{american}{
- \ctikzset{voltage=american} \ctikzset{current=american} \ctikzset{resistor=american} \ctikzset{inductor=american} \ctikzset{gas filled surge arrester choice = american}
- \ctikzset{logic ports = american}
-}
-
-\DeclareOption{fulldiodes}{
- \ctikzset{diode = full}
-}
-
-\DeclareOption{emptydiodes}{
- \ctikzset{diode = empty}
-}
-
-\DeclareOption{europeanvoltages}{
- \ctikzset{voltage=european}
-}
-
-\DeclareOption{americanvoltages}{
- \ctikzset{voltage=american}
-}
-
-\DeclareOption{europeancurrents}{
- \ctikzset{current = european}
-}
-
-\DeclareOption{americancurrents}{
- \ctikzset{current = american}
-}
-
-\DeclareOption{americanresistors}{
- \ctikzset{resistor = american}
-}
-
-\DeclareOption{europeanresistors}{
- \ctikzset{resistor = european}
-}
-
\DeclareOption{americaninductors}{
\ctikzset{inductor = american}
}
-
\DeclareOption{europeaninductors}{
\ctikzset{inductor = european}
}
-
\DeclareOption{cuteinductors}{
\ctikzset{inductor = cute}
}
-
+%
+% logic ports
+%
+\DeclareOption{americanport}{
+ \ctikzset{logic ports = american}
+}
+\DeclareOption{europeanport}{
+ \ctikzset{logic ports = european}
+}
\DeclareOption{americanports}{
\ctikzset{logic ports = american}
}
-
\DeclareOption{europeanports}{
\ctikzset{logic ports = european}
}
-
+%
+% surge arresters (really?)
+%
\DeclareOption{americangfsurgearrester}{
\ctikzset{gas filled surge arrester choice = american}
}
-
\DeclareOption{europeangfsurgearrester}{
\ctikzset{gas filled surge arrester choice = european}
}
-
-\DeclareOption{siunitx}{
- \pgf@circ@siunitxtrue
+%
+% diodes
+%
+\DeclareOption{fulldiodes}{
+ \ctikzset{diode = full}
}
-
-\DeclareOption{nosiunitx}{
- \pgf@circ@siunitxfalse
+\DeclareOption{emptydiodes}{
+ \ctikzset{diode = empty}
+}
+\DeclareOption{strokediodes}{
+ \ctikzset{diode = stroke}
}
-
\DeclareOption{fulldiode}{
\ctikzset{diode = full}
}
-
\DeclareOption{emptydiode}{
\ctikzset{diode = empty}
}
-
\DeclareOption{strokediode}{
\ctikzset{diode = stroke}
}
-
+%
+% MOSes and FETs
+%
\DeclareOption{arrowmos}{
\pgf@circuit@mos@arrowstrue
}
-
\DeclareOption{noarrowmos}{
\pgf@circuit@mos@arrowsfalse
}
-
\DeclareOption{fetbodydiode}{
\pgf@circuit@fet@bodydiodetrue
}
-
\DeclareOption{nofetbodydiode}{
\pgf@circuit@fet@bodydiodefalse
}
-
\DeclareOption{fetsolderdot}{
\pgf@circuit@fet@solderdottrue
}
-
\DeclareOption{nofetsolderdot}{
\pgf@circuit@fet@solderdotfalse
}
-
\DeclareOption{emptypmoscircle}{
\pgf@circuit@pmos@emptycircletrue
}
-
-
\DeclareOption{lazymos}{
\ctikzset{tripoles/nmos/width=.5}
\ctikzset{tripoles/nmos/gate height=.35}
@@ -208,70 +215,43 @@
\ctikzset{tripoles/nmos/height/.initial=1.2}
\ctikzset{tripoles/nmos/base width=.5}
\ctikzset{tripoles/nmos/gate width=.65}
-
\ctikzset{tripoles/pmos/width=.5}
\ctikzset{tripoles/pmos/gate height=.35}
\ctikzset{tripoles/pmos/base height=.35}
\ctikzset{tripoles/pmos/height/.initial=1.2}
\ctikzset{tripoles/pmos/base width=.5}
\ctikzset{tripoles/pmos/gate width=.65}
-
\pgf@circuit@pmos@emptycircletrue
}
-
-\DeclareOption{straightlabels}{
- \ctikzset{label/align = straight}
-}
-
-\DeclareOption{rotatelabels}{
- \ctikzset{label/align = rotate}
-}
-
-\DeclareOption{smartlabels}{
- \ctikzset{label/align = smart}
-}
-
-\DeclareOption{compatibility}{
- \pgf@circuit@compattrue
-}
-
-\DeclareOption{oldvoltagedirection}{
- \pgf@circ@oldvoltagedirectiontrue
- \pgf@circ@explicitvdirtrue
- \pgf@circ@fixbatteriesfalse
-}
-\DeclareOption{nooldvoltagedirection}{
- \pgf@circ@oldvoltagedirectionfalse
- \pgf@circ@explicitvdirtrue
- \pgf@circ@fixbatteriesfalse
-}
-
-\DeclareOption{RPvoltages}{
- \pgf@circ@oldvoltagedirectiontrue
- \pgf@circ@explicitvdirtrue
- \pgf@circ@fixbatteriestrue
-}
-\DeclareOption{EFvoltages}{
- \pgf@circ@oldvoltagedirectionfalse
- \pgf@circ@explicitvdirtrue
- \pgf@circ@fixbatteriestrue
-}
-
+%
+% BJTs labels
+%
\DeclareOption{legacytransistorstext}{
\pgf@circuit@transisors@fixlabelsfalse
}
-
\DeclareOption{nolegacytransistorstext}{
\pgf@circuit@transisors@fixlabelstrue
}
-
\DeclareOption{centertransistorstext}{
\pgf@circuit@transisors@fixlabelstrue
}
-
+%
+% labels
+%
+\DeclareOption{straightlabels}{
+ \ctikzset{label/align = straight}
+}
+\DeclareOption{rotatelabels}{
+ \ctikzset{label/align = rotate}
+}
+\DeclareOption{smartlabels}{
+ \ctikzset{label/align = smart}
+}
+%
+% Several options (better use styles)
+%
\DeclareOption{betterproportions}{
\ctikzset{monopoles/ground/width/.initial=.15}
-
\ctikzset{bipoles/resistor/height/.initial=.23}
\ctikzset{bipoles/resistor/width/.initial=.6}
\ctikzset{bipoles/capacitor/height/.initial=.4}
@@ -319,20 +299,17 @@
\ctikzset{bipoles/bidirectionaldiode/width/.initial=.6}
\ctikzset{bipoles/bidirectionaldiode/diode width left/.initial=.3}
\ctikzset{bipoles/bidirectionaldiode/diode width right/.initial=.3}
-
\ctikzset{tripoles/thyristor/height/.initial=.66}
\ctikzset{tripoles/thyristor/height 2/.initial=.3}
\ctikzset{tripoles/thyristor/width/.initial=.6}
\ctikzset{tripoles/thyristor/diode height/.initial=.3}
\ctikzset{tripoles/thyristor/diode width left/.initial=.4}
\ctikzset{tripoles/thyristor/diode width right/.initial=.3}
-
\ctikzset{tripoles/triac/height/.initial=.66}
\ctikzset{tripoles/triac/width/.initial=.6}
\ctikzset{tripoles/triac/diode width left/.initial=.3}
\ctikzset{tripoles/triac/diode width right/.initial=.3}
}
-
% This is a nice hack that prints all the shapes declared
% by the package. Very useful for coverage testing and debugging.
%
@@ -341,8 +318,8 @@
% \typeout{SHAPE:\space"#1"}%
% \origpgfdeclareshape{#1}
% }
-
-
+%
+%
%%%%%%%%%
\input pgfcirc.defines.tex
\input pgfcircutils.tex
@@ -360,7 +337,7 @@
\input pgfcircflow.tex
% 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}
+\ExecuteOptions{nofetbodydiode, nofetsolderdot, europeancurrents, europeanvoltages, americanports, americanresistors, cuteinductors ,europeangfsurgearrester, nosiunitx, noarrowmos, smartlabels}
\ProcessOptions\relax