summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/schulmathematik/schulma-physik.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/schulmathematik/schulma-physik.sty')
-rw-r--r--macros/latex/contrib/schulmathematik/schulma-physik.sty416
1 files changed, 304 insertions, 112 deletions
diff --git a/macros/latex/contrib/schulmathematik/schulma-physik.sty b/macros/latex/contrib/schulmathematik/schulma-physik.sty
index b3996d6cc2..975093e906 100644
--- a/macros/latex/contrib/schulmathematik/schulma-physik.sty
+++ b/macros/latex/contrib/schulmathematik/schulma-physik.sty
@@ -1,7 +1,16 @@
% schulmathematik bundle: package schulma-physik
-% Version 1.3
-% 12. August 2022
-\ProvidesExplPackage{schulma-physik}{2022-08-12}{1.3}{Befehle für die Schulphysik}
+% Version 1.4
+% 13. März 2023
+\ProvidesExplPackage{schulma-physik}{2023-03-13}{1.4}{Befehle für die Schulphysik}
+
+\newif \ifschulma@physik@circuitikz % keine expl3-Syntax möglich, da von circuits.ee.IEC nicht unterstützt
+
+\DeclareOption {circuitikz}
+ {
+ \schulma@physik@circuitikztrue
+ }
+
+\ProcessOptions \relax
\RequirePackage {siunitx}
\RequirePackage {tikz}
@@ -21,7 +30,7 @@
\NewDocumentCommand \tqty {m m}
{
\ensuremath
- {
+ {
\group_begin:
\textstyle
\qty [ per-mode = fraction ] {#1} {#2}
@@ -34,7 +43,7 @@
\NewDocumentCommand \tunit {m}
{
\ensuremath
- {
+ {
\group_begin:
\textstyle
\unit [ per-mode = fraction ] {#1}
@@ -108,57 +117,154 @@
\dim_const:Nn \c_schulma_physik_messschieber_b_schieber_dim {17mm}
\dim_const:Nn \c_schulma_physik_messschieber_l_fenster_dim {25mm}
\dim_const:Nn \c_schulma_physik_messschieber_b_fenster_dim {1cm}
+\dim_const:Nn \c_schulma_physik_messschieber_randabstand_dim {1mm}
-\NewDocumentCommand \Messschieber {m}
+\bool_new:N \l_schulma_physik_messschieber_cm_bool
+\bool_new:N \l_schulma_physik_messschieber_inch_bool
+
+\msg_new:nnn {schulma-physik} {falsche Option}
+ {
+ #1~ist~keine~gültige~Option~für~einen~Messschieber.
+ }
+
+\NewDocumentCommand \Messschieber {om}
{
+ \IfValueTF {#1}
+ {
+ \str_case:nnF {#1}
+ {
+ {cm} {
+ \bool_set_true:N \l_schulma_physik_messschieber_cm_bool
+ \bool_set_false:N \l_schulma_physik_messschieber_inch_bool
+ }
+ {inch} {
+ \bool_set_false:N \l_schulma_physik_messschieber_cm_bool
+ \bool_set_true:N \l_schulma_physik_messschieber_inch_bool
+ }
+ {cm+inch} {
+ \bool_set_true:N \l_schulma_physik_messschieber_cm_bool
+ \bool_set_true:N \l_schulma_physik_messschieber_inch_bool
+ }
+ }
+ {
+ \msg_warning:nnn {schulma-physik} {falsche Option} {#1}
+ }
+ }
+ {
+ \bool_set_true:N \l_schulma_physik_messschieber_cm_bool
+ \bool_set_false:N \l_schulma_physik_messschieber_inch_bool
+ }
+
\begin {tikzpicture} [ font = \sffamily ]
% Hauptskala
- \draw ( -1.6cm , -0.5 * \c_schulma_physik_messschieber_b_skala_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
- -- ++ ( \c_schulma_physik_messschieber_l_skala_dim , 0 ) node [ above~left ] { \small cm }
+ \draw ( -1.6cm , 0 )
+ -- ++ ( \c_schulma_physik_messschieber_l_skala_dim , 0 )
+ \bool_if:NT \l_schulma_physik_messschieber_cm_bool { node [ above~left ] { \small cm } }
-- ++ ( 0 , \c_schulma_physik_messschieber_b_skala_dim )
+ \bool_if:NT \l_schulma_physik_messschieber_inch_bool { node [ below~left ] { \small inch } }
-- ++ ( - \c_schulma_physik_messschieber_l_skala_dim , 0)
-- cycle ;
- \int_step_inline:nnn {0} {120}
+ \bool_if:NT \l_schulma_physik_messschieber_cm_bool
{
- \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
- \int_compare:nNnTF {\l_tmpa_int} = {0}
+ \int_step_inline:nnn {0} {120}
{
- \draw (##1*1mm,-1mm)--(##1*1mm,6mm) node [ left , xshift=2pt , yshift = -2pt ]
- { \footnotesize \int_eval:n {##1/10} } ;
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
+ {
+ \draw ( ##1*1mm , \c_schulma_physik_messschieber_randabstand_dim ) -- ++ ( 0, 6.5mm )
+ node [ left = -2pt , yshift = -2.5pt ] { \footnotesize \int_eval:n {##1/10} } ;
+ }
+ {
+ \int_compare:nNnTF {\l_tmpa_int} = {5}
+ {
+ \draw ( ##1*1mm , \c_schulma_physik_messschieber_randabstand_dim ) -- ++ ( 0 , 5.25mm );
+ }
+ {
+ \draw ( ##1*1mm , \c_schulma_physik_messschieber_randabstand_dim ) -- ++ ( 0 , 4mm );
+ }
+ }
}
+ }
+ \bool_if:NT \l_schulma_physik_messschieber_inch_bool
+ {
+ \int_step_inline:nnn {0} {80}
{
- \int_compare:nNnTF {\l_tmpa_int} = {5}
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {16} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
{
- \draw (##1*1mm,-1mm)--(##1*1mm,4.5mm);
+ \draw ( ##1*0.0625in , \c_schulma_physik_messschieber_b_skala_dim - \c_schulma_physik_messschieber_randabstand_dim ) -- ++ (0,-6mm)
+ node [ left = -2pt , yshift = 3pt ] { \footnotesize \int_eval:n {##1/16} } ;
}
{
- \draw (##1*1mm,-1mm)--(##1*1mm,3mm);
+ \int_compare:nNnTF {\l_tmpa_int} = {8}
+ {
+ \draw (##1*0.0625in , \c_schulma_physik_messschieber_b_skala_dim - \c_schulma_physik_messschieber_randabstand_dim ) -- ++ (0,-5mm) ;
+ }
+ {
+ \int_if_even:nTF {##1}
+ {
+ \draw ( ##1*0.0625in , \c_schulma_physik_messschieber_b_skala_dim - \c_schulma_physik_messschieber_randabstand_dim ) -- ++ (0,-4mm) ;
+ }
+ {
+ \draw ( ##1*0.0625in , \c_schulma_physik_messschieber_b_skala_dim - \c_schulma_physik_messschieber_randabstand_dim ) -- ++ (0,-3mm) ;
+ }
+ }
}
}
}
% Schieber
\draw [ fill = white , even~odd~rule ]
- ( #1cm - 0.5 * \c_schulma_physik_messschieber_l_schieber_dim + 4.5mm ,
- -0.5 * \c_schulma_physik_messschieber_b_schieber_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ ( #2cm - 0.5 * \c_schulma_physik_messschieber_l_schieber_dim + 4.5mm ,
+ -0.5 * \c_schulma_physik_messschieber_b_schieber_dim + 0.5 * \c_schulma_physik_messschieber_b_skala_dim )
rectangle ++ ( \c_schulma_physik_messschieber_l_schieber_dim , \c_schulma_physik_messschieber_b_schieber_dim )
{ [rounded~corners = 0.5 * \c_schulma_physik_messschieber_b_fenster_dim ]
- ( #1cm - 0.5 * \c_schulma_physik_messschieber_l_fenster_dim + 4.5mm , 0 )
+ ( #2cm - 0.5 * \c_schulma_physik_messschieber_l_fenster_dim + 4.5mm ,
+ 0.5 \c_schulma_physik_messschieber_b_skala_dim - 0.5 \c_schulma_physik_messschieber_b_fenster_dim )
rectangle ++ ( \c_schulma_physik_messschieber_l_fenster_dim , \c_schulma_physik_messschieber_b_fenster_dim ) } ;
% Noniusskala
- \int_step_inline:nnn {0} {10}
+ \bool_if:NT \l_schulma_physik_messschieber_cm_bool
{
- \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
- \int_compare:nNnTF {\l_tmpa_int} = {0}
+ \int_step_inline:nnn {0} {10}
{
- \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1.6mm ) ;
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
+ {
+ \draw ( #2cm + ##1 * 0.9mm , 0.5 \c_schulma_physik_messschieber_b_skala_dim - 0.5 \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , -1.6mm ) ;
+ }
+ {
+ \int_compare:nNnTF {\l_tmpa_int} = {5}
+ {
+ \draw ( #2cm + ##1 * 0.9mm , 0.5 \c_schulma_physik_messschieber_b_skala_dim - 0.5 \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , -1.3mm ) ;
+ }
+ {
+ \draw ( #2cm + ##1 * 0.9mm , 0.5 \c_schulma_physik_messschieber_b_skala_dim - 0.5 \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , -1mm ) ;
+ }
+ }
}
+ }
+ \bool_if:NT \l_schulma_physik_messschieber_inch_bool
+ {
+ \int_step_inline:nnn {0} {8}
{
- \int_compare:nNnTF {\l_tmpa_int} = {5}
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {4} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
{
- \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1.3mm ) ;
+ \draw ( #2cm + ##1 * 0.0546875in , 0.5 * \c_schulma_physik_messschieber_b_skala_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , 1.6mm ) ;
}
{
- \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1mm ) ;
+ \int_compare:nNnTF {\l_tmpa_int} = {2}
+ {
+ \draw ( #2cm + ##1 * 0.0546875in , 0.5 * \c_schulma_physik_messschieber_b_skala_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , 1.3mm ) ;
+ }
+ {
+ \draw ( #2cm + ##1 * 0.0546875in , 0.5 * \c_schulma_physik_messschieber_b_skala_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( 0 , 1mm ) ;
+ }
}
}
}
@@ -241,99 +347,185 @@
\end{tikzpicture}
}
-\ExplSyntaxOff
+\dim_new:N \l_schulma_physik_kraftmesser_breite_skala_dim
+\dim_set:Nn \l_schulma_physik_kraftmesser_breite_skala_dim {1cm}
+\dim_new:N \l_schulma_physik_kraftmesser_laenge_skala_dim
+\dim_set:Nn \l_schulma_physik_kraftmesser_laenge_skala_dim {9cm}
+\dim_new:N \l_schulma_physik_kraftmesser_breite_huelse_dim
+\dim_set:Nn \l_schulma_physik_kraftmesser_breite_huelse_dim {1.1cm}
+\dim_new:N \l_schulma_physik_kraftmesser_laenge_huelse_dim
+\dim_set:Nn \l_schulma_physik_kraftmesser_laenge_huelse_dim {3cm}
+\dim_new:N \l_schulma_physik_kraftmesser_offset_huelse_dim
+\dim_set:Nn \l_schulma_physik_kraftmesser_offset_huelse_dim {0.5pt}
-\usetikzlibrary{circuits.ee.IEC}
-
-\pgfdeclareshape{doppelbuchse}
- {%
- \inheritsavedanchors[from=rectangle ee]%
- \inheritanchor[from=rectangle ee]{center}%
- \inheritanchor[from=rectangle ee]{north}%
- \inheritanchor[from=rectangle ee]{south}%
- \inheritanchor[from=rectangle ee]{east}%
- \inheritanchor[from=rectangle ee]{west}%
- \inheritanchor[from=rectangle ee]{north east}%
- \inheritanchor[from=rectangle ee]{north west}%
- \inheritanchor[from=rectangle ee]{south east}%
- \inheritanchor[from=rectangle ee]{south west}%
- \inheritanchor[from=rectangle ee]{input}%
- \inheritanchor[from=rectangle ee]{output}%
- \inheritanchorborder[from=rectangle ee]%
- \backgroundpath{
- \pgf@process{\pgfpointadd{\southwest}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}%
- \pgf@xa=\pgf@x \pgf@ya=\pgf@y
- \pgf@process{\pgfpointadd{\northeast}{\pgfpointscale{-1}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}}%
- \pgf@xb=\pgf@x \pgf@yb=\pgf@y
- \pgfutil@tempdima=\pgf@yb%
- \advance\pgfutil@tempdima by -\pgf@ya%
- \pgfutil@tempdima=0.5\pgfutil@tempdima%
- \advance\pgf@xa by \pgfutil@tempdima%
- \advance\pgf@xb by -\pgfutil@tempdima%
- {\pgfpathcircle{\pgfqpoint{\pgf@xa}{0pt}}{\pgfutil@tempdima}}
- {\pgfpathcircle{\pgfqpoint{\pgf@xb}{0pt}}{\pgfutil@tempdima}}
- }%
- }
-\tikzset
+\NewDocumentCommand \Kraftmesser {mm}
{
- bulb IEC graphic/.style=
+ \begin{tikzpicture} [ font = { \sffamily \bfseries \footnotesize } ]
+ % Haken
+ \draw [ very~thick ] ( 0 , -#1/#2 * \l_schulma_physik_kraftmesser_laenge_skala_dim ) -- ++ (0,-6mm) arc [ start~angle = 90 , end~angle = 380 , radius = 2mm ] ;
+ % ausziehbare Skala
+ \int_step_inline:nn { \fp_eval:n { round ( 10*#1/#2 + 1 ) } }
{
- circuit symbol lines,
- circuit symbol size=width 1.9 height 1.9,
- shape=generic circle IEC,
- /pgf/generic circle IEC/before background=
+ \int_if_even:nTF {##1}
{
- \pgfpathmoveto{\pgfpointpolar{-135}{1pt}}
- \pgfpathlineto{\pgfpointpolar{45}{1pt}}
- \pgfpathmoveto{\pgfpointpolar{-45}{1pt}}
- \pgfpathlineto{\pgfpointpolar{135}{1pt}}
- \pgfusepathqstroke
- },
- transform shape,
- },
- capacitor IEC graphic/.style=
- {
- circuit symbol lines,
- circuit symbol size=width 0.8 height 2.4,
- transform shape,
- shape=capacitor IEC,
- },
- amperemeter graphic/.style=
- {
- circuit symbol open,
- circuit symbol size=width 2 height 2,
- transform shape,
- shape=generic circle IEC,
- info=center:{\sffamily A}
- },
- voltmeter graphic/.style=
- {
- circuit symbol open,
- circuit symbol size=width 2 height 2,
- transform shape,
- shape=generic circle IEC,
- info=center:{\sffamily V}
- },
- circuit declare symbol=messgeraet,
- set messgeraet graphic=
+ \str_set:Nn \l_tmpa_str {red}
+ }
+ {
+ \str_set:Nn \l_tmpa_str {white}
+ }
+
+ \draw [ fill = \l_tmpa_str ]
+ ( -0.5 * \l_schulma_physik_kraftmesser_breite_skala_dim , \fp_to_decimal:n { -#1/#2 + (##1-1)/10 } * \l_schulma_physik_kraftmesser_laenge_skala_dim )
+ to [ out = -20 , in = 200 ] node [above] { \int_compare:nNnT {##1} = {1} {N} }
+ ++ ( \l_schulma_physik_kraftmesser_breite_skala_dim , 0 )
+ -- ++ ( 0, 0.1 * \l_schulma_physik_kraftmesser_laenge_skala_dim )
+ to [ out = 200 , in = -20 ]
+ node [ below , inner~sep = 2pt ] { \num [ mode = text , reset-text-family = false , reset-text-series = false ] { \fp_to_decimal:n {##1/10*#2} } }
+ ++ ( -\l_schulma_physik_kraftmesser_breite_skala_dim , 0 ) -- cycle ;
+ }
+ % Überstand der Skala
+ \draw [ fill = white ] ( -0.5 * \l_schulma_physik_kraftmesser_breite_skala_dim , -#1/#2 * \l_schulma_physik_kraftmesser_laenge_skala_dim - 1.5mm )
+ to [ out = -20 , in = 200 ] ++ ( \l_schulma_physik_kraftmesser_breite_skala_dim , 0 ) -- ++ (0,1.5mm)
+ to [ out = 200 , in = -20 ] ++ ( -\l_schulma_physik_kraftmesser_breite_skala_dim , 0 ) -- cycle ;
+ % mittlere Striche
+ \begin {scope}
+ \clip ( 0.25 \l_schulma_physik_kraftmesser_breite_skala_dim , 0 )
+ rectangle ( 0.5 \l_schulma_physik_kraftmesser_breite_skala_dim , -#1/#2 * \l_schulma_physik_kraftmesser_laenge_skala_dim ) ;
+ \int_step_inline:nn { \fp_eval:n { ceil ( 100*#1/#2 ) } }
{
- circuit symbol open,
- circuit symbol size=width 2 height 2,
- transform shape,
- shape=generic circle IEC,
- /pgf/generic circle IEC/before background=
+ \int_compare:nNnT { \int_mod:nn {##1} {10} } = {5}
{
- \draw[annotation arrow,->] (0.58pt,-0.58pt)--(-0.58pt,0.58pt);
+ \draw ( -0.5 \l_schulma_physik_kraftmesser_breite_skala_dim , \fp_to_decimal:n { -#1/#2 + ##1/100 } * \l_schulma_physik_kraftmesser_laenge_skala_dim )
+ to [ out = -20 , in = 200 ] ++ ( \l_schulma_physik_kraftmesser_breite_skala_dim , 0 ) ;
}
- },
- circuit declare symbol=spannungsquelle,
- set spannungsquelle graphic=
+ }
+ \end {scope}
+ % kleine Striche
+ \begin {scope}
+ \clip ( 0.35 \l_schulma_physik_kraftmesser_breite_skala_dim , 0 )
+ rectangle ( 0.5 \l_schulma_physik_kraftmesser_breite_skala_dim , -#1/#2 * \l_schulma_physik_kraftmesser_laenge_skala_dim ) ;
+ \int_step_inline:nn { \fp_eval:n { ceil ( 100*#1/#2 ) } }
{
- circuit symbol open,
- circuit symbol size=width 2.4 height 0.5,
- transform shape,
- shape=doppelbuchse,
- outer sep=0pt
- },
+ \int_compare:nNnT { \int_mod:nn {##1} {5} } > {0}
+ {
+ \draw ( -0.5 \l_schulma_physik_kraftmesser_breite_skala_dim , \fp_to_decimal:n { -#1/#2 + ##1/100 } * \l_schulma_physik_kraftmesser_laenge_skala_dim )
+ to [ out = -20 , in = 200 ] ++ ( \l_schulma_physik_kraftmesser_breite_skala_dim , 0 ) ;
+ }
+ }
+ \end {scope}
+ % Hülse
+ \draw [ fill = cyan ] ( -0.5 * \l_schulma_physik_kraftmesser_breite_huelse_dim , \l_schulma_physik_kraftmesser_offset_huelse_dim )
+ -- ++ ( 0 , \l_schulma_physik_kraftmesser_laenge_huelse_dim )
+ to [ out = -20 , in = 200 ] ++ ( 0.5 * \l_schulma_physik_kraftmesser_breite_huelse_dim , 0 )
+ to [ out = 20 , in = 160 ] ++ ( 0.5 * \l_schulma_physik_kraftmesser_breite_huelse_dim , 0 ) -- ++ ( 0 , -\l_schulma_physik_kraftmesser_laenge_huelse_dim )
+ to [ out = 200 , in = -20 ] cycle ;
+ \draw [ fill = cyan!60 ]
+ ( -0.5 * \l_schulma_physik_kraftmesser_breite_huelse_dim , \l_schulma_physik_kraftmesser_laenge_huelse_dim + \l_schulma_physik_kraftmesser_offset_huelse_dim )
+ to [ out = 20 , in = 160 ] ++ ( 0.5 \l_schulma_physik_kraftmesser_breite_huelse_dim , 0 )
+ to [ out = 200 , in = -20 ] cycle ;
+ \end{tikzpicture}
}
+
+
+\ExplSyntaxOff
+
+\ifschulma@physik@circuitikz
+ \RequirePackage{circuitikz}
+ \ctikzset{resistor=european,inductor=american}
+\else
+ \usetikzlibrary{circuits.ee.IEC}
+
+ \pgfdeclareshape{doppelbuchse}
+ {%
+ \inheritsavedanchors[from=rectangle ee]%
+ \inheritanchor[from=rectangle ee]{center}%
+ \inheritanchor[from=rectangle ee]{north}%
+ \inheritanchor[from=rectangle ee]{south}%
+ \inheritanchor[from=rectangle ee]{east}%
+ \inheritanchor[from=rectangle ee]{west}%
+ \inheritanchor[from=rectangle ee]{north east}%
+ \inheritanchor[from=rectangle ee]{north west}%
+ \inheritanchor[from=rectangle ee]{south east}%
+ \inheritanchor[from=rectangle ee]{south west}%
+ \inheritanchor[from=rectangle ee]{input}%
+ \inheritanchor[from=rectangle ee]{output}%
+ \inheritanchorborder[from=rectangle ee]%
+ \backgroundpath{
+ \pgf@process{\pgfpointadd{\southwest}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}%
+ \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \pgf@process{\pgfpointadd{\northeast}{\pgfpointscale{-1}{\pgfpoint{\pgfkeysvalueof{/pgf/outer xsep}}{\pgfkeysvalueof{/pgf/outer ysep}}}}}%
+ \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfutil@tempdima=\pgf@yb%
+ \advance\pgfutil@tempdima by -\pgf@ya%
+ \pgfutil@tempdima=0.5\pgfutil@tempdima%
+ \advance\pgf@xa by \pgfutil@tempdima%
+ \advance\pgf@xb by -\pgfutil@tempdima%
+ {\pgfpathcircle{\pgfqpoint{\pgf@xa}{0pt}}{\pgfutil@tempdima}}
+ {\pgfpathcircle{\pgfqpoint{\pgf@xb}{0pt}}{\pgfutil@tempdima}}
+ }%
+ }
+
+ \tikzset
+ {
+ bulb IEC graphic/.style=
+ {
+ circuit symbol lines,
+ circuit symbol size=width 1.9 height 1.9,
+ shape=generic circle IEC,
+ /pgf/generic circle IEC/before background=
+ {
+ \pgfpathmoveto{\pgfpointpolar{-135}{1pt}}
+ \pgfpathlineto{\pgfpointpolar{45}{1pt}}
+ \pgfpathmoveto{\pgfpointpolar{-45}{1pt}}
+ \pgfpathlineto{\pgfpointpolar{135}{1pt}}
+ \pgfusepathqstroke
+ },
+ transform shape,
+ },
+ capacitor IEC graphic/.style=
+ {
+ circuit symbol lines,
+ circuit symbol size=width 0.8 height 2.4,
+ transform shape,
+ shape=capacitor IEC,
+ },
+ amperemeter graphic/.style=
+ {
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ transform shape,
+ shape=generic circle IEC,
+ info=center:{\sffamily A}
+ },
+ voltmeter graphic/.style=
+ {
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ transform shape,
+ shape=generic circle IEC,
+ info=center:{\sffamily V}
+ },
+ circuit declare symbol=messgeraet,
+ set messgeraet graphic=
+ {
+ circuit symbol open,
+ circuit symbol size=width 2 height 2,
+ transform shape,
+ shape=generic circle IEC,
+ /pgf/generic circle IEC/before background=
+ {
+ \draw[annotation arrow,->] (0.58pt,-0.58pt)--(-0.58pt,0.58pt);
+ }
+ },
+ circuit declare symbol=spannungsquelle,
+ set spannungsquelle graphic=
+ {
+ circuit symbol open,
+ circuit symbol size=width 2.4 height 0.5,
+ transform shape,
+ shape=doppelbuchse,
+ outer sep=0pt
+ },
+ }
+\fi