diff options
author | Karl Berry <karl@freefriends.org> | 2023-03-21 16:55:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-03-21 16:55:38 +0000 |
commit | 9f3fe3f6c00094cda68cbcabae31d6f1e0e76ef6 (patch) | |
tree | 95f4db396ee4328f9e5795cc2178334ff92b8f67 /Master/texmf-dist/tex | |
parent | 9a94ab23131b6c1bf5aa5c91a929069e218f73b7 (diff) |
schulmathematik (14mar23)
git-svn-id: svn://tug.org/texlive/trunk@66626 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
8 files changed, 405 insertions, 149 deletions
diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls index 61a6cb75972..67e62262e8c 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-ab -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-ab}{2022-08-12}{1.3}{Dokumentenklasse fuer Arbeitsblaetter} +\ProvidesExplClass{schulma-ab}{2023-03-13}{1.4}{Dokumentenklasse fuer Arbeitsblaetter} \tl_new:N \g_schulma_ab_kurs_tl \tl_new:N \g_schulma_ab_thema_tl diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls index 996f85bb4b5..cc0ae472a0c 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-gutachten -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-gutachten}{2022-08-12}{1.3}{Dokumentenklasse fuer Gutachten ueber schriftliche Abiturklausuren} +\ProvidesExplClass{schulma-gutachten}{2023-03-13}{1.4}{Dokumentenklasse fuer Gutachten ueber schriftliche Abiturklausuren} \bool_new:N \g_schulma_gutachten_bell_bool \bool_new:N \g_schulma_gutachten_oesterreich_bool diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls index 96e6e023e4b..87c1411af6a 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-klausur -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-klausur}{2022-08-12}{1.3}{Dokumentenklasse fuer Klausuren} +\ProvidesExplClass{schulma-klausur}{2023-03-13}{1.4}{Dokumentenklasse fuer Klausuren} \RequirePackage {etoolbox} @@ -10,6 +10,7 @@ \str_new:N \g_schulma_klausur_titel_str \str_new:N \g_schulma_klausur_teiltitel_str \str_new:N \g_schulma_klausur_bearbeitungszeit_str +\str_new:N \g_schulma_klausur_formeldokumentseiten_str \tl_new:N \g_schulma_klausur_kurs_tl \tl_new:N \g_schulma_klausur_nummer_tl @@ -20,8 +21,8 @@ \bool_new:N \g_schulma_klausur_oesterreich_bool \bool_new:N \g_schulma_klausur_afuenfquer_bool \bool_new:N \g_schulma_klausur_schriftliche_lernkontrolle_bool -\bool_new:N \g_schulma_klausur_zwei_gruppen_bool \bool_new:N \g_schulma_klausur_gruppe_a_bool +\bool_new:N \g_schulma_klausur_gruppe_b_bool \bool_new:N \g_schulma_klausur_pqformel_bool \bool_new:N \g_schulma_klausur_differenzenquotient_bool \bool_new:N \g_schulma_klausur_differentialquotient_bool @@ -53,6 +54,14 @@ \frac {f(x)-f(x\sb{0})} {x-x\sb{0}} \] } +\msg_new:nnn {schulma-klausur} {Gruppe fehlt} + { + In~Zeile~ \msg_line_number: \c_space_tl + wird~der~Befehl~ \Gruppen \c_space_tl + verwendet.~Es~wurde~aber~keine~der~Klassenoptionen~GruppeA~und~GruppeB~ + gesetzt.~Ausgegeben~wird~der~Text~für~Gruppe~A. + } + \msg_new:nnn {schulma-klausur} {Aufgabennachricht} { Aufgabe~ \arabic {Aufgabe} :~ @@ -80,8 +89,6 @@ \tl_set:Nn \l_schulma_klausur_aufgabentitel_tl {Aufgabe} -\bool_gset_true:N \g_schulma_klausur_gruppe_a_bool - \DeclareOption {SLK} { \bool_gset_true:N \g_schulma_klausur_schriftliche_lernkontrolle_bool @@ -118,12 +125,13 @@ \DeclareOption {GruppeA} { - \bool_gset_true:N \g_schulma_klausur_zwei_gruppen_bool + \bool_gset_true:N \g_schulma_klausur_gruppe_a_bool + \bool_gset_false:N \g_schulma_klausur_gruppe_b_bool } \DeclareOption {GruppeB} { - \bool_gset_true:N \g_schulma_klausur_zwei_gruppen_bool + \bool_gset_true:N \g_schulma_klausur_gruppe_b_bool \bool_gset_false:N \g_schulma_klausur_gruppe_a_bool } @@ -155,6 +163,11 @@ \tl_gset:Nn \g_schulma_klausur_nummer_tl {#1} } +\NewDocumentCommand \Formeldokument {m} + { + \str_gset:Nn \g_schulma_klausur_formeldokumentseiten_str {#1} + } + \newcounter {Aufgabe} \newcounter {Teilaufgabe} [Aufgabe] @@ -214,6 +227,30 @@ \FarbeAufgabe } + \NewDocumentCommand \Gruppen {smm} + { + \bool_if:nTF \g_schulma_klausur_gruppe_a_bool {#2} + { + \bool_if:nTF \g_schulma_klausur_gruppe_b_bool {#3} + { + \IfBooleanTF {#1} + { + \fbox { \textbf{A} } \nobreakspace #2 + \c_space_tl + \fbox { \textbf{B} } \nobreakspace #3 + } + { + \par + \medskip + \fbox { \textbf {A} } \c_space_tl #2 + \par + \medskip + \fbox { \textbf {B} } \c_space_tl #3 + } + } + } + } + \resetcounteronoverlays {Teilaufgabe} \NewDocumentEnvironment {Teilaufgaben} { } @@ -302,6 +339,8 @@ \AtBeginDocument {\schulma_klausur_kopf:} + \RequirePackage {pdfpages} + \pretocmd {\enddocument} { \end {list} @@ -350,6 +389,13 @@ \c_schulma_klausur_differentialquotient_tl } } + \str_if_empty:NF \g_schulma_klausur_formeldokumentseiten_str + { + \includepdf [ pages = \g_schulma_klausur_formeldokumentseiten_str ] + { + M_Dokument_mit_mathematischen_Formeln + } + } }{}{} % pretocmd hat vier Argumente \AtEndDocument { \msg_note:nn {schulma-klausur} {Aufgabensumme} } @@ -382,6 +428,18 @@ \peek_catcode:NF \c_space_token {\c_space_tl} } + \NewDocumentCommand \Gruppen {smm} + { + \bool_if:NTF \g_schulma_klausur_gruppe_a_bool {#2} + { + \bool_if:NTF \g_schulma_klausur_gruppe_b_bool {#3} + { + \msg_warning:nn {schulma-klausur} {Gruppe fehlt} + #2 + } + } + } + \bool_if:NTF \g_schulma_klausur_afuenfquer_bool { \KOMAoption {paper} {landscape} @@ -515,11 +573,6 @@ \date { \printdate {#1} } % isodate-Befehl } -\NewDocumentCommand \Gruppen {mm} - { - \bool_if:NTF \g_schulma_klausur_gruppe_a_bool {#1} {#2} - } - \DeclareDocumentCommand \Aufgabentitel {m} { \tl_set:Nn \l_schulma_klausur_aufgabentitel_tl {#1} @@ -575,11 +628,8 @@ \g_schulma_klausur_nummer_tl } - \bool_if:NT \g_schulma_klausur_zwei_gruppen_bool - { - \c_space_tl - \bool_if:NTF \g_schulma_klausur_gruppe_a_bool {(A)} {(B)} - } + \bool_if:NT \g_schulma_klausur_gruppe_a_bool { \c_space_tl (A) } + \bool_if:NT \g_schulma_klausur_gruppe_b_bool { \c_space_tl (B) } \tl_if_empty:NF \g_schulma_klausur_untertitel_tl { diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls index 2a811c79a96..994235e93a5 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-komp -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-komp}{2022-08-12}{1.3}{Dokumentenklasse fuer Kompetenzlisten} +\ProvidesExplClass{schulma-komp}{2023-03-13}{1.4}{Dokumentenklasse fuer Kompetenzlisten} \ProcessOptions \relax diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls index 36333524134..75e3a27fbc8 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-mdlprf -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-mdlprf}{2022-08-12}{1.3}{Dokumentenklasse fuer muendliche Abiturpruefungen} +\ProvidesExplClass{schulma-mdlprf}{2023-03-13}{1.4}{Dokumentenklasse fuer muendliche Abiturpruefungen} \bool_new:N \g_schulma_mdlprf_oesterreich_bool \bool_new:N \g_schulma_mdlprf_pruefer_weiblich_bool diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty b/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty index b3996d6cc2d..975093e9068 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty +++ b/Master/texmf-dist/tex/latex/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 diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls index eeac2ce3c96..718cfad9047 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls @@ -1,8 +1,8 @@ % schulmathematik bundle: document class schulma-praes -% Version 1.3 -% 12. August 2022 +% Version 1.4 +% 13. März 2023 \NeedsTeXFormat{LaTeX2e} -\ProvidesExplClass{schulma-praes}{2022-08-12}{1.3}{Dokumentenklasse fuer Bildschirmpraesentationen} +\ProvidesExplClass{schulma-praes}{2023-03-13}{1.4}{Dokumentenklasse fuer Bildschirmpraesentationen} \bool_new:N \g_schulma_praes_seitenzahlen_bool \bool_new:N \g_schulma_praes_druck_bool diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty b/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty index 6d25a7e4450..b11db88d5ef 100644 --- a/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty @@ -1,13 +1,27 @@ % schulmathematik bundle: package schulma -% Version 1.3 -% 12. August 2022 -\ProvidesExplPackage{schulma}{2022-08-12}{1.3}{Befehle für die Schulmathematik} +% Version 1.4 +% 13. März 2023 +\ProvidesExplPackage{schulma}{2023-03-13}{1.4}{Befehle für die Schulmathematik} + +\bool_new:N \g_schulma_icomma_bool +\bool_gset_true:N \g_schulma_icomma_bool + +\DeclareOption {ohne-icomma} + { + \bool_gset_false:N \g_schulma_icomma_bool + } + +\ProcessOptions \relax \RequirePackage [intlimits] {mathtools} \RequirePackage {autoaligne} -\RequirePackage {icomma}% verträgt sich nicht mit libertinus-otf \RequirePackage {pgfplots} +\bool_if:NT \g_schulma_icomma_bool + { + \RequirePackage {icomma} + } + \ExplSyntaxOff \usetikzlibrary{shapes.misc} \ExplSyntaxOn |