diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-16 22:10:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-16 22:10:34 +0000 |
commit | fd6e59cb371ac659f6ac063c92f1ed23b9660887 (patch) | |
tree | 56532b2d045c9064f6e72e06d6fb9bb613551010 /Master/texmf-dist/tex/latex/schulmathematik | |
parent | 14a412be435e2950cdc5e332a4c3beeec53317e0 (diff) |
schulmathematik (16feb20)
git-svn-id: svn://tug.org/texlive/trunk@53815 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/schulmathematik')
8 files changed, 2058 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls new file mode 100644 index 00000000000..ba6e098cc9d --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls @@ -0,0 +1,255 @@ +% schulmathematik bundle: document class schulma-ab +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-ab}[2020-02-16 v1.0 Dokumentenklasse fuer Arbeitsblaetter] + +\RequirePackage{xparse} + +\ExplSyntaxOn + +\tl_new:N \g_schulma_ab_kurs_tl +\tl_new:N \g_schulma_ab_thema_tl +\tl_new:N \g_schulma_ab_bearbeiter_tl + +\str_new:N \g_schulma_ab_datum_str +\str_new:N \g_schulma_ab_nummer_str + +\bool_new:N \g_schulma_ab_afuenfquer_bool +\bool_new:N \g_schulma_ab_oesterreich_bool + +\DeclareOption {A5quer} + { + \PassOptionsToClass {a5paper} {scrartcl} + \bool_gset_true:N \g_schulma_ab_afuenfquer_bool + } + +\DeclareOption {AT} + { + \bool_gset_true:N \g_schulma_ab_oesterreich_bool + } + +\DeclareOption* + { + \PassOptionsToClass {\CurrentOption} {scrartcl} + } + +\ProcessOptions\relax + +\NewDocumentCommand \Kurs {m} + { + \tl_gset:Nn \g_schulma_ab_kurs_tl {#1} + } + +\NewDocumentCommand \Datum {m} + { + \str_set:Nn \g_schulma_ab_datum_str {#1} + } + +\NewDocumentCommand \Thema {o m} + { + \IfValueT{#1} + { + \tl_gset:Nn \g_schulma_ab_nummer_str {#1} + } + \tl_gset:Nn \g_schulma_ab_thema_tl {#2} + } + +\NewDocumentCommand \Bearbeiter {m} + { + \tl_gset:Nn \g_schulma_ab_bearbeiter_tl {#1} + } + +\LoadClass [DIV=14] {scrartcl} + +\RequirePackage {adjustbox} + +\bool_if:NTF \g_schulma_ab_oesterreich_bool + { + \RequirePackage [naustrian] {babel} + \RequirePackage [naustrian] {isodate} + } + { + \RequirePackage [ngerman] {babel} + \RequirePackage [ngerman] {isodate} + } + +%\RequirePackage [useregional=numeric] {datetime2} % zeigt Tag und Monat z. Zt. zweistellig an +\RequirePackage {schulma} +\RequirePackage {schulma-physik} +\RequirePackage {tasks} +\RequirePackage {enumitem} +\RequirePackage {scrlayer-scrpage} + +\bool_if:NT \g_schulma_ab_afuenfquer_bool + { + \KOMAoption {paper} {landscape} + \KOMAoption {DIV} {11} + } + +\ExplSyntaxOff + +\BeforeClosingMainAux{\addtocounter{page}{-1}\label{LastPage}} + +\setlength\parindent{0pt} + +% tasks: j überspringen +\newcommand*\@schulmaalph[1]{\ifnum #1>9 \@alph{\numexpr #1+1}\else \@alph{#1}\fi} +\newcommand*\schulmaalph[1]{\@schulmaalph{\value{#1}}} + +\settasks{label-align=right, + item-indent=2.2em, + label-offset=0.5em, + label-width=1.3em, + label=\schulmaalph*), + after-skip=4.5pt plus2pt minus1pt} + +\settasks{before-skip=4.5pt plus2pt minus1pt} + +\addtokomafont{pagefoot}{\upshape} +\cfoot{\pagemark/\pageref{LastPage}} + +%\DTMlangsetup*{twodigits=false,datesep={.\thinspace}} % Option twodigits z. Zt. nicht implementiert + +% isodate: Monat ggf. einstellig anzeigen: +\numdate[arabic] +% isodate: Tag ggf. einstellig anzeigen: +\isotwodigitdayfalse +% isodate: Abstand zwischen Monat und Jahr im numerischen Format: +\monthyearsepgerman{\,}{\,} + +\ExplSyntaxOn + +\cs_new:Npn \schulma_ab_kopf: + { + \noindent + \parbox [t] {5cm} {\g_schulma_ab_kurs_tl} + \hfill + \str_if_empty:NF \g_schulma_ab_datum_str + { + %\DTMdate {\g_schulma_ab_datum_str} + \printdate {\g_schulma_ab_datum_str} % isodate-Befehl + } + \tl_if_empty:NF \g_schulma_ab_thema_tl + { + \section* + { + \str_if_empty:NF \g_schulma_ab_nummer_str + { + \g_schulma_ab_nummer_str + \hspace {0,5em} + } + \g_schulma_ab_thema_tl + } + } + \tl_if_empty:NF \g_schulma_ab_bearbeiter_tl + { + \lofoot + { + \footnotesize + \g_schulma_ab_bearbeiter_tl + ,~ + \today + } + } + } + +%\AfterEndPreamble {\schulma_ab_kopf:} +\AtBeginDocument {\schulma_ab_kopf:} + +\cs_new_protected:Npn \schulma_ab_kreis:n #1 + { + \tikz [ baseline = (Zahl.base) ] + { + \node [ shape=circle, fill=black!60, minimum~width=5.5mm, inner~sep=0pt ] + (Zahl) { \textcolor {white} { \small \sffamily #1 } } ; + } + } + +\NewDocumentEnvironment {Kreisliste} { } + { + \begin {enumerate} [ label=\schulma_ab_kreis:n {\arabic*}, + labelsep=0.8em, leftmargin=1.2cm ] + } + { + \end {enumerate} + } + +\tl_new:N \l_schulma_ab_aufgabentitel_tl +\tl_set:Nn \l_schulma_ab_aufgabentitel_tl {Aufgabe} + +\NewDocumentCommand \Aufgabentitel {m} + { + \tl_set:Nn \l_schulma_ab_aufgabentitel_tl {#1} + } + +\newcounter {Aufgabe} + +\newlength \Aufgabenabstand +\setlength \Aufgabenabstand {24pt plus12pt minus8pt} + +\NewDocumentEnvironment {Aufgaben} { } + { + \begin {list} { } + { + \setlength \leftmargin {0pt} + \setlength \partopsep {0pt} + \setlength \topsep {0.75\Aufgabenabstand} + \setlength \itemsep {\Aufgabenabstand} + } + % innerhalb der Liste Originalwert verwenden + \setlength \topsep {9pt plus3pt minus5pt} + } + { + \end {list} + } + +% #1 (Stern): ohne Punkt +\NewDocumentCommand \Aufgabe {s} + { + \item + \stepcounter {Aufgabe} + \group_begin: + \sffamily \bfseries + \l_schulma_ab_aufgabentitel_tl + \c_space_tl + \arabic {Aufgabe} + \IfBooleanF {#1} {.~} + \group_end: + } + +% #1 (Stern): ohne Punkt +\NewDocumentCommand \Uebung {s} + { + \group_begin: + \tl_set:Nn \l_schulma_ab_aufgabentitel_tl {\"Ubung} + \Aufgabe + \IfBooleanT {#1} {*} + \group_end: + } + +\newcounter {Teilaufgabe} [Aufgabe] + +\newlength \Teilaufgabenabstand +\setlength \Teilaufgabenabstand {4.5pt plus2pt minus1pt} + +\NewDocumentEnvironment {Teilaufgaben} { } + { + \renewcommand \labelenumi { ( \roman {enumi} ) } + + \begin {list} { \stepcounter {Teilaufgabe} \alph {Teilaufgabe} ) } + { + \setlength \topsep {\Teilaufgabenabstand} + \setlength \itemsep {\Teilaufgabenabstand} + } + } + { + \end {list} + } + +\NewDocumentCommand \Luecke {m} + { + \raisebox {-1,5mm} { \rule {#1} {0,4pt} } + } + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls new file mode 100644 index 00000000000..c787511e555 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-gutachten.cls @@ -0,0 +1,373 @@ +% schulmathematik bundle: document class schulma-gutachten +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-gutachten}[2020-02-16 v1.0 Dokumentenklasse fuer Gutachten ueber schriftliche Abiturklausuren] + +\RequirePackage{xparse} + +\ExplSyntaxOn + +\bool_new:N \g_schulma_gutachten_bell_bool +\bool_new:N \g_schulma_gutachten_oesterreich_bool +\bool_new:N \g_schulma_gutachten_referent_weiblich_bool +\bool_new:N \g_schulma_gutachten_korreferent_weiblich_bool + +\DeclareOption {BELL} + { + \bool_gset_true:N \g_schulma_gutachten_bell_bool + } + +\DeclareOption {AT} + { + \bool_gset_true:N \g_schulma_gutachten_oesterreich_bool + } + +\DeclareOption {Referentin} + { + \bool_gset_true:N \g_schulma_gutachten_referent_weiblich_bool + } + +\DeclareOption {Korreferentin} + { + \bool_gset_true:N \g_schulma_gutachten_korreferent_weiblich_bool + } + +\DeclareOption* + { + \PassOptionsToClass {\CurrentOption} {scrartcl} + } + +\ProcessOptions \relax + +\tl_new:N \g_schulma_gutachten_schulname_tl +\tl_new:N \g_schulma_gutachten_schulort_tl +\tl_new:N \g_schulma_gutachten_fach_tl +\tl_new:N \l_schulma_gutachten_vorname_tl +\tl_new:N \l_schulma_gutachten_nachname_tl +\tl_new:N \l_schulma_gutachten_note_tl + +\int_new:N \g_schulma_gutachten_gesamtpunktzahl_int +\int_new:N \l_schulma_gutachten_notenpunkte_int +\int_new:N \l_schulma_gutachten_notenpunkte_vor_abwertung_int + +\bool_new:N \l_schulma_gutachten_pruefling_weiblich_bool + +\fp_new:N \l_schulma_gutachten_punktzahl_fp +\fp_new:N \l_schulma_gutachten_prozentsatz_fp + +\msg_new:nnn {schulma-gutachten} {Schule fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Schule~den~Namen~der~Schule~an. + } + +\msg_new:nnn {schulma-gutachten} {Ort fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Ort~den~Namen~der~Schule~an. + } + +\msg_new:nnn {schulma-gutachten} {Fach fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Fach~das~Prüfungsfach~an. + } + +\msg_new:nnn {schulma-gutachten} {Gesamtpunktzahl fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Gesamtpunktzahl~die~in~der~Klausur~ + erreichbare~Gesamtpunktzahl~an. + } + +\cs_generate_variant:Nn \tl_if_eq:nnTF {V} + +\cs_new:Npn \schulma_gutachten_notenpunkte_ermitteln: + { + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {15} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {95.0}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {14}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {90}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {13}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {85}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {12}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {80}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {11}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {75}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {10}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {70}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {09}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {65}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {08}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {60}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {07}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {55}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {06}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {50}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {05}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {45}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {04}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {40}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {03}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {33}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {02}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {27}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {01}} + \fp_compare:nNnT {\l_schulma_gutachten_prozentsatz_fp} < {20}{ + \int_set:Nn \l_schulma_gutachten_notenpunkte_int {00}} + } + +\cs_new:Npn \schulma_gutachten_note_ermitteln: + { + \int_case:nn {\l_schulma_gutachten_notenpunkte_int} + { + {15} {\tl_set:Nn \l_schulma_gutachten_note_tl {sehr~gut}} + {14} {\tl_set:Nn \l_schulma_gutachten_note_tl {sehr~gut}} + {13} {\tl_set:Nn \l_schulma_gutachten_note_tl {sehr~gut}} + {12} {\tl_set:Nn \l_schulma_gutachten_note_tl {gut}} + {11} {\tl_set:Nn \l_schulma_gutachten_note_tl {gut}} + {10} {\tl_set:Nn \l_schulma_gutachten_note_tl {gut}} + {09} {\tl_set:Nn \l_schulma_gutachten_note_tl {befriedigend}} + {08} {\tl_set:Nn \l_schulma_gutachten_note_tl {befriedigend}} + {07} {\tl_set:Nn \l_schulma_gutachten_note_tl {befriedigend}} + {06} {\tl_set:Nn \l_schulma_gutachten_note_tl {ausreichend}} + {05} {\tl_set:Nn \l_schulma_gutachten_note_tl {ausreichend}} + {04} {\tl_set:Nn \l_schulma_gutachten_note_tl {ausreichend}} + {03} {\tl_set:Nn \l_schulma_gutachten_note_tl {mangelhaft}} + {02} {\tl_set:Nn \l_schulma_gutachten_note_tl {mangelhaft}} + {01} {\tl_set:Nn \l_schulma_gutachten_note_tl {mangelhaft}} + {00} {\tl_set:Nn \l_schulma_gutachten_note_tl {ungen\"ugend}} + } + } + +\cs_new:Npn \schulma_gutachten_notenpunktausgabe:N #1 + { + \num [minimum-integer-digits=2] { \int_use:N #1 } ~ + \int_compare:nNnTF {#1} = {1} {Notenpunkt} {Notenpunkten} + } + +\NewDocumentCommand \Schule {m} + { + \tl_gset:Nn \g_schulma_gutachten_schulname_tl {#1} + } + +\NewDocumentCommand \Ort {m} + { + \tl_gset:Nn \g_schulma_gutachten_schulort_tl {#1} + } + +\NewDocumentCommand \Datum {m} + { + \DTMsavedate{g_schulma_gutachten_datum} {#1} + } + +\NewDocumentCommand \Fach {m} + { + \tl_gset:Nn \g_schulma_gutachten_fach_tl {#1} + } + +\NewDocumentCommand \Gesamtpunktzahl {m} + { + \int_gset:Nn \g_schulma_gutachten_gesamtpunktzahl_int {#1} + } + +\NewDocumentCommand \Name { } + { + \bool_if:NTF \l_schulma_gutachten_pruefling_weiblich_bool {Frau~} {Herr~} + \l_schulma_gutachten_nachname_tl + } + +\NewDocumentCommand \NameDativ { } + { + \bool_if:NTF \l_schulma_gutachten_pruefling_weiblich_bool {Frau~} {Herrn~} + \l_schulma_gutachten_nachname_tl + } + +% #1: Vorname, #2: Nachname +% #3: Geschlecht (m/w) +% #4: Punktzahl +% #5: Abwertung in Notenpunkten +\NewDocumentEnvironment {Gutachten} {m m m m o} + { + \tl_set:Nn \l_schulma_gutachten_vorname_tl {#1} + \tl_set:Nn \l_schulma_gutachten_nachname_tl {#2} + \tl_if_eq:nnT {#3} {w} + { + \bool_set_true:N \l_schulma_gutachten_pruefling_weiblich_bool + } + \noindent + \tl_if_empty:NTF \g_schulma_gutachten_schulname_tl + { + \msg_warning:nn {schulma-gutachten} {Schule fehlt} + } + { + \g_schulma_gutachten_schulname_tl + \hfill + } + Abiturpr\"ufung~ + \DTMifsaveddate {g_schulma_gutachten_datum} + { + \DTMfetchyear{g_schulma_gutachten_datum} + } + { + \the\year + } + \bigskip + \begin {center} + \huge \textbf {Gutachten} \\[1mm] + \normalsize + \bool_if:nTF {\g_schulma_gutachten_bell_bool} + {\"uber~die~schriftliche~Dokumentation~zur~besonderen~Lernleistung} + {\"uber~die~schriftliche~Pr\"ufungsarbeit} \\ + des~Pr\"uf\babelshorthand{"|}lings \\ + \Large + \textbf + { + \l_schulma_gutachten_vorname_tl + \c_space_tl + \l_schulma_gutachten_nachname_tl + } + \\[1mm] + \normalsize + \tl_if_empty:NTF \g_schulma_gutachten_fach_tl + { + \msg_warning:nn {schulma-gutachten} {Fach fehlt} + } + { + im~Fach~ + \g_schulma_gutachten_fach_tl + } + \end{center} + \bigskip + } + { + \bool_if:nF {\g_schulma_gutachten_bell_bool} + { + \fp_set:Nn \l_schulma_gutachten_punktzahl_fp {#4} + + \int_compare:nNnTF {\g_schulma_gutachten_gesamtpunktzahl_int} = {0} + { + \msg_warning:nn {schulma-gutachten} {Gesamtpunktzahl fehlt} + } + { + \fp_set:Nn \l_schulma_gutachten_prozentsatz_fp + { + round ( \l_schulma_gutachten_punktzahl_fp*100 + /\g_schulma_gutachten_gesamtpunktzahl_int, 1, 1 ) + } + } + + \schulma_gutachten_notenpunkte_ermitteln: + + \IfValueT {#5} + { + \int_set:Nn \l_schulma_gutachten_notenpunkte_vor_abwertung_int + { + \l_schulma_gutachten_notenpunkte_int + } + \int_set:Nn \l_schulma_gutachten_notenpunkte_int + { + \l_schulma_gutachten_notenpunkte_vor_abwertung_int - #5 + } + } + + \schulma_gutachten_note_ermitteln: + \bigskip \par \noindent + \bool_if:NTF \l_schulma_gutachten_pruefling_weiblich_bool + { + Frau + } + { + Herr + } + \c_space_tl + \l_schulma_gutachten_nachname_tl + \c_space_tl + erreicht~ + \num { \fp_to_decimal:N \l_schulma_gutachten_punktzahl_fp } ~von~ + \int_use:N \g_schulma_gutachten_gesamtpunktzahl_int + \c_space_tl + Bewertungseinheiten;~ + dies~entspricht~ + \SI { \fp_to_decimal:N \l_schulma_gutachten_prozentsatz_fp } {\percent} + .~ + \IfValueTF {#5} + { + Auf~dieser~Grundlage~w\"are~die~Arbeit~mit~ + \schulma_gutachten_notenpunktausgabe:N + \l_schulma_gutachten_notenpunkte_vor_abwertung_int + \c_space_tl + zu~bewerten.~Aufgrund~der~beschriebenen~formalen~Fehler~wird~ + die~Arbeit~um~ + \int_compare:nNnTF {#5} = {1} {einen~Notenpunkt} + {zwei~Notenpunkte} + \c_space_tl + abgewertet.~Sie~ + } + { + Die~Arbeit~ + } + ist~daher~ + \l_schulma_gutachten_note_tl + \c_space_tl + und~wird~mit + \begin {center} + \schulma_gutachten_notenpunktausgabe:N + \l_schulma_gutachten_notenpunkte_int + \end {center} + bewertet. + } + \vfill \bigskip \par + \noindent + \tl_if_empty:NTF \g_schulma_gutachten_schulort_tl + { + \msg_warning:nn {schulma-gutachten} {Ort fehlt} + } + { + \g_schulma_gutachten_schulort_tl,~den~ + } + \DTMifsaveddate {g_schulma_gutachten_datum} + { + \DTMusedate {g_schulma_gutachten_datum} + } + { + \today + } + \hfill + \begin {tabular} [t] {p{6cm}} \\ + \hline \footnotesize Referent + \bool_if:NT \g_schulma_gutachten_referent_weiblich_bool {in} + \end{tabular} + \medskip \par + \noindent Ich~schlie\ss e~mich~der~Bewertung~an. + \vspace {6mm} \par + \noindent + \tl_if_empty:NF \g_schulma_gutachten_schulort_tl + { + \g_schulma_gutachten_schulort_tl,~den~ + } + \begin {tabular} {p{5cm}} \\ + \hline + \end{tabular} + \hfill + \begin {tabular} [t] {p{6cm}} \\ + \hline + \footnotesize Korreferent + \bool_if:NT \g_schulma_gutachten_korreferent_weiblich_bool {in} + \end {tabular} + \clearpage + } + +\LoadClass [ DIV=13, fontsize=12 ] {scrartcl} + +\bool_if:NTF \g_schulma_gutachten_oesterreich_bool + { + \RequirePackage [naustrian] {babel} + } + { + \RequirePackage [ngerman] {babel} + } + +\RequirePackage [useregional=text] {datetime2} +\RequirePackage [locale=DE] {siunitx} + +\pagestyle {empty} + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls new file mode 100644 index 00000000000..6026d0d8569 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-klausur.cls @@ -0,0 +1,510 @@ +% schulmathematik bundle: document class schulma-klausur +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-klausur}[2020-02-16 v1.0 Dokumentenklasse fuer Klausuren] + +\RequirePackage{xparse} +\RequirePackage{etoolbox} + +\ExplSyntaxOn + +\str_new:N \g_schulma_klausur_titel_str +\str_new:N \g_schulma_klausur_teiltitel_str +\str_new:N \g_schulma_klausur_bearbeitungszeit_str + +\tl_new:N \g_schulma_klausur_nummer_tl +\tl_new:N \g_schulma_klausur_untertitel_tl +\tl_new:N \g_schulma_klausur_hilfsmittel_tl +\tl_new:N \l_schulma_klausur_aufgabentitel_tl + +\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_pqformel_bool +\bool_new:N \g_schulma_klausur_differenzenquotient_bool +\bool_new:N \g_schulma_klausur_differentialquotient_bool +\bool_new:N \g_schulma_klausur_musterloesung_bool + +\int_new:N \g_schulma_klausur_anzahl_hilfen_int + +\clist_new:N \l_schulma_klausur_notenliste_clist + +\tl_const:Nn \c_schulma_klausur_pqformel_tl + { + $p$-$q$-Formel: + \[ x\sb{1;2} = - \frac{p}{2} \pm \sqrt { \left(\frac{p}{2}\right)^2-q } \] + } + +\tl_const:Nn \c_schulma_klausur_differenzenquotient_tl + { + Differenzenquotient: + \[ m = \frac {f(x\sb{2})-f(x\sb{1})} {x\sb{2}-x\sb{1}} \] + } + +\tl_const:Nn \c_schulma_klausur_differentialquotient_tl + { + Differentialquotient: + \[ f' ( x\sb{0} ) = \lim \sb { x \rightarrow x\sb{0} } + \frac {f(x)-f(x\sb{0})} {x-x\sb{0}} \] + } + +\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 + } + +\DeclareOption {p-q-Formel} + { + \int_incr:N \g_schulma_klausur_anzahl_hilfen_int + \bool_set_true:N \g_schulma_klausur_pqformel_bool + } + +\DeclareOption {Differenzenquotient} + { + \int_incr:N \g_schulma_klausur_anzahl_hilfen_int + \bool_set_true:N \g_schulma_klausur_differenzenquotient_bool + } + +\DeclareOption {Differentialquotient} + { + \int_incr:N \g_schulma_klausur_anzahl_hilfen_int + \bool_set_true:N \g_schulma_klausur_differentialquotient_bool + } + +\DeclareOption {A5quer} + { + \PassOptionsToClass {A5quer} {schulma-ab} + } + +\DeclareOption {GruppeA} + { + \bool_gset_true:N \g_schulma_klausur_zwei_gruppen_bool + } + +\DeclareOption {GruppeB} + { + \bool_gset_true:N \g_schulma_klausur_zwei_gruppen_bool + \bool_gset_false:N \g_schulma_klausur_gruppe_a_bool + } + +\DeclareOption {Musterloesung} + { + \bool_gset_true:N \g_schulma_klausur_musterloesung_bool + } + +\DeclareOption* + { + \PassOptionsToClass {\CurrentOption} {schulma-ab} + \PassOptionsToClass {\CurrentOption} {schulma-praes} + } + +\ProcessOptions \relax + +\bool_if:NTF \g_schulma_klausur_schriftliche_lernkontrolle_bool + { + \str_gset:Nn \g_schulma_klausur_titel_str {Schriftliche~Lernkontrolle} + } + { + \str_gset:Nn \g_schulma_klausur_titel_str {Klausur} + } + +\PassOptionsToPackage {override} {xcolor} + +\NewDocumentCommand \Nr {m} + { + \tl_gset:Nn \g_schulma_klausur_nummer_tl {#1} + } + +\bool_if:NTF \g_schulma_klausur_musterloesung_bool + { + \LoadClass [t] {schulma-praes} + + \tl_set:Nn \g_schulma_praes_nummer_tl + { + Musterl\"osung~der~ + \tl_if_empty:NF \g_schulma_klausur_nummer_tl + { + \g_schulma_klausur_nummer_tl.~ + } + \bool_if:NTF \g_schulma_klausur_schriftliche_lernkontrolle_bool + { + schriftlichen~Lernkontrolle + } + { + Klausur + } + \DTMifsaveddate {g_schulma_klausur_klausurdatum} + { + \c_space_tl + vom~ + \DTMusedate {g_schulma_klausur_klausurdatum} + } + {} % \DTMifsaveddate hat drei Argumente + } + + \newcounter {Aufgabe} + \resetcounteronoverlays {Aufgabe} + + \NewDocumentCommand \Aufgabe {s o d()} + { + \stepcounter {Aufgabe} + \frametitle + { + \l_schulma_klausur_aufgabentitel_tl + \c_space_tl + \arabic {Aufgabe} + \IfValueT {#2} { \c_colon_str \c_space_tl #2 } + } + \FarbeAufgabe + } + + \newcounter {Teilaufgabe} [Aufgabe] + \resetcounteronoverlays {Teilaufgabe} + + \newlength \Teilaufgabenabstand + \setlength \Teilaufgabenabstand {4.5pt plus2pt minus1pt} + + \NewDocumentEnvironment {Teilaufgaben} { } + { + \begin {list} { \stepcounter {Teilaufgabe} \alph {Teilaufgabe} ) } + { + \setlength \topsep {\Teilaufgabenabstand} + \setlength \itemsep {\Teilaufgabenabstand} + \FarbeAufgabe + } + } + { + \end {list} + } + + \NewDocumentEnvironment {Lsg} {s} + % Stern: Lösung beginnt mit einer Gleichung, kein Abstand erforderlich + { + \IfBooleanF {#1} + { + \par + \medskip + } + + \FarbeLoesung + } + { + } + + \RenewDocumentCommand \Datum {m} + { + \DTMsavedate {g_schulma_klausur_klausurdatum} {#1} + } + } + { + \LoadClass {schulma-ab} + + \AfterEndPreamble { \begin {Aufgaben} } + \pretocmd {\enddocument} + { + \end {Aufgaben} + \par + \int_compare:nNnT {\g_schulma_klausur_anzahl_hilfen_int} > {1} + { + \vfill + \textsl {Hilfen:} + \begin {itemize} + + \bool_if:NT \g_schulma_klausur_pqformel_bool + { + \item + \c_schulma_klausur_pqformel_tl + } + \bool_if:NT \g_schulma_klausur_differenzenquotient_bool + { + \item + \c_schulma_klausur_differenzenquotient_tl + } + \bool_if:NT \g_schulma_klausur_differentialquotient_bool + { + \item + \c_schulma_klausur_differentialquotient_tl + } + + \end {itemize} + } + \int_compare:nNnT {\g_schulma_klausur_anzahl_hilfen_int} = {1} + { + \vfill + \textsl {Hilfe:} ~ + + \bool_if:NT \g_schulma_klausur_pqformel_bool + { + \c_schulma_klausur_pqformel_tl + } + \bool_if:NT \g_schulma_klausur_differenzenquotient_bool + { + \c_schulma_klausur_differenzenquotient_tl + } + \bool_if:NT \g_schulma_klausur_differentialquotient_bool + { + \c_schulma_klausur_differentialquotient_tl + } + } + }{}{} % pretocmd hat vier Argumente + + \RenewDocumentCommand \Aufgabe {s o d()} + { + \item + \stepcounter {Aufgabe} + \group_begin: + \sffamily \bfseries + \l_schulma_klausur_aufgabentitel_tl + \c_space_tl + \arabic {Aufgabe} + \IfValueT {#3} + { + \mdseries + \rmfamily + \slshape + \c_space_tl + (#3~Punkte) + } + \IfBooleanF {#1} {.} + \group_end: + \peek_catcode:NF \c_space_token {\c_space_tl} + } + + \bool_if:NTF \g_schulma_ab_afuenfquer_bool + { + \RequirePackage [top=2.7cm, bottom=3cm, hmargin=2.5cm] {geometry} + } + { + \RequirePackage [top=2.7cm, hmargin=2.5cm] {geometry} + } + + \addtokomafont {pagefoot} {\slshape} + \addtokomafont {pagenumber} {\slshape} + \rohead { Name:~ \raisebox {-1mm} { \rule {7cm} {0,4pt} } } + \cfoot { Seite~ \pagemark \c_space_tl von~ \pageref {LastPage} } + + \RequirePackage {comment} + \excludecomment {Lsg} + \RequirePackage {beamerarticle} + } + +\cs_new:Npn \schulma_klausur_notentabelle:n #1 + { + \clist_set:Nn \l_schulma_klausur_notenliste_clist {#1} + \begin {tabular} { * {5} {c|} c } + 1 & 2 & 3 & 4 & 5 & 6 + \tabularnewline + \hline + \int_step_inline:nnnn {1} {1} {6} + { + \int_zero:N \l_tmpa_int + \clist_map_inline:Nn \l_schulma_klausur_notenliste_clist + { + \int_compare:nNnT {####1} = {##1} + { + \int_incr:N \l_tmpa_int + } + } + \int_compare:nNnF {\l_tmpa_int} = {0} {\int_use:N \l_tmpa_int} + \int_compare:nNnF {##1} = {6} {&} + } + \end {tabular} + } + +\cs_new:Npn \schulma_klausur_notenpunkttabelle:n #1 + { + \clist_set:Nn \l_schulma_klausur_notenliste_clist {#1} + \setlength \tabcolsep {0pt} + \begin {tabular} + { + * {5} + { + > {\centering} p{0,06\linewidth} + > {\centering} p{0,06\linewidth} + > {\centering} p{0,06\linewidth} | + } + > {\centering} p{0,06\linewidth} + } + 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 + \tabularnewline + \hline + \int_step_inline:nnnn {15} {-1} {0} + { + \int_zero:N \l_tmpa_int + \clist_map_inline:Nn \l_schulma_klausur_notenliste_clist + { + \int_compare:nNnT {####1} = {##1} + { + \int_incr:N \l_tmpa_int + } + } + \int_compare:nNnF {\l_tmpa_int} = {0} {\int_use:N \l_tmpa_int} + \int_compare:nNnF {##1} = {0} {&} + } + \end {tabular} + } + +\RequirePackage [useregional=text] {datetime2} + +% \DTMsetregional % Datum in Langform anzeigen (auskommentiert, da datetime2 z. Zt. erst in dieser Klasse geladen wird) + +\NewDocumentCommand \Klausurtitel {m} + { + \str_gset:Nn \g_schulma_klausur_titel_str {#1} + } + +\NewDocumentCommand \Klausuruntertitel {m} + { + \tl_gset:Nn \g_schulma_klausur_untertitel_tl {#1} + } + +\NewDocumentCommand \Klausurteiltitel {m} + { + \str_gset:Nn \g_schulma_klausur_teiltitel_str {#1} + } + +\NewDocumentCommand \Bearbeitungszeit {m} + { + \str_gset:Nn \g_schulma_klausur_bearbeitungszeit_str {#1} + } + +\NewDocumentCommand \Hilfsmittel {m} + { + \tl_gset:Nn \g_schulma_klausur_hilfsmittel_tl {#1} + } + +\NewDocumentCommand \Loesungsdatum {m} + { + % \date { \DTMdate {#1} } + \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} + } + +\NewDocumentCommand \Notenspiegel {m} + { + \bool_if:NT \g_schulma_klausur_musterloesung_bool + { + \begin {frame} + \frametitle {Notenspiegel} + \begin {center} + \LARGE + \schulma_klausur_notentabelle:n {#1} + \end {center} + \end {frame} + } + } + +\NewDocumentCommand \Notenpunktspiegel {m} + { + \bool_if:NT \g_schulma_klausur_musterloesung_bool + { + \begin {frame} + \begin {center} + \frametitle {Notenspiegel} + \large + \schulma_klausur_notenpunkttabelle:n {#1} + \end {center} + \end {frame} + } + } + +\cs_set:Npn \schulma_ab_kopf: + { + \noindent + \parbox [t] {5cm} {\g_schulma_ab_kurs_tl} + \hfill + \str_if_empty:NF \g_schulma_ab_datum_str + { + \DTMdate {\g_schulma_ab_datum_str} + } + + \begin {center} + \sffamily + \bfseries + \Large + \g_schulma_klausur_titel_str + \tl_if_empty:NF \g_schulma_klausur_nummer_tl + { + \c_space_tl + Nr.~ + \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)} + } + + \tl_if_empty:NF \g_schulma_klausur_untertitel_tl + { + \par \smallskip + \normalsize + \g_schulma_klausur_untertitel_tl + } + + \str_if_empty:NF \g_schulma_klausur_teiltitel_str + { + \par \vspace {3ex} + \large + \textit {\g_schulma_klausur_teiltitel_str} + } + + \str_if_empty:NF \g_schulma_klausur_bearbeitungszeit_str + { + \par \smallskip + \normalsize + \rmfamily + \mdseries + \textsl {Bearbeitungszeit:} ~ + \g_schulma_klausur_bearbeitungszeit_str \, min + } + + \tl_if_empty:NF \g_schulma_klausur_hilfsmittel_tl + { + \par \smallskip + \normalsize + \rmfamily + \mdseries + \textsl {Hilfsmittel:} ~ + \g_schulma_klausur_hilfsmittel_tl + } + + \end {center} + } + +\NewDocumentCommand \FarbeAufgabe { } + { + \usebeamercolor [fg] {frametitle} + } + +\NewDocumentCommand \FarbeLoesung { } + { + \usebeamercolor [fg] {normal~text} + } + +\NewDocumentCommand \NurAufgabe {+m} + { + \bool_if:NF \g_schulma_klausur_musterloesung_bool {#1} + } + +\NewDocumentCommand \NurLoesung {+m} + { + \bool_if:NT \g_schulma_klausur_musterloesung_bool {#1} + } + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls new file mode 100644 index 00000000000..acf74205924 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-komp.cls @@ -0,0 +1,91 @@ +% schulmathematik bundle: document class schulma-komp +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-komp}[2020-02-16 v1.0 Dokumentenklasse fuer Kompetenzlisten] +\ProcessOptions\relax + +\LoadClass{schulma-ab} + +\ExplSyntaxOn + +\dim_const:Nn \c_schulma_komp_abstand_dim {0.5em} +\dim_new:N \g_schulma_komp_einrueckunga_dim +\dim_new:N \g_schulma_komp_einrueckungb_dim + +\hbox_set:Nn \l_tmpa_box {9} +\dim_gset:Nn \g_schulma_komp_einrueckunga_dim { \box_wd:N \l_tmpa_box } +\dim_gadd:Nn \g_schulma_komp_einrueckunga_dim {\c_schulma_komp_abstand_dim} + +\hbox_set:Nn \l_tmpa_box {9.9} +\dim_gset:Nn \g_schulma_komp_einrueckungb_dim { \box_wd:N \l_tmpa_box } +\dim_gadd:Nn \g_schulma_komp_einrueckungb_dim {\c_schulma_komp_abstand_dim} +\dim_gadd:Nn \g_schulma_komp_einrueckungb_dim {\g_schulma_komp_einrueckunga_dim} + +\renewcommand \labelenumi { ( \arabic {enumi} ) } + +\cs_new:Npn \schulma_komp_listeneinstellung: + { + \setlist + { + leftmargin = 2cm, + topsep = \medskipamount, + itemsep = \smallskipamount + } + } + +\NewDocumentCommand \Abschnitt {o m} + { + \IfValueTF {#1} { \setcounter {section} {#1} } { \stepcounter {section} } + \arabic {section} + \skip_horizontal:N \c_schulma_komp_abstand_dim + #2 + \par + \smallskip + } + +\NewDocumentCommand \Unterabschnitt {o m o} + { + \IfValueTF {#1} { \setcounter{subsection} {#1} } { \stepcounter{subsection} } + \setcounter {subsubsection} {0} + \skip_horizontal:N \g_schulma_komp_einrueckunga_dim + \arabic {section} . + \arabic {subsection} + \skip_horizontal:N \c_schulma_komp_abstand_dim + #2 + \IfValueT {#3} + { + \group_begin: + \schulma_komp_listeneinstellung: + \emph {#3} + \group_end: + } + \par + \smallskip + } + +\NewDocumentCommand \Unterunterabschnitt {o m m} + { + \par + \IfValueTF {#1} + { + \setcounter {subsubsection} {#1} + } + { + \stepcounter {subsubsection} + } + \skip_horizontal:N \g_schulma_komp_einrueckungb_dim + \arabic {section} . + \arabic {subsection} . + \arabic {subsubsection} + \skip_horizontal:N \c_schulma_komp_abstand_dim + #2 + \group_begin: + \schulma_komp_listeneinstellung: + \emph {#3} + \group_end: + \par + \smallskip + } + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls new file mode 100644 index 00000000000..429230d11ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-mdlprf.cls @@ -0,0 +1,281 @@ +% schulmathematik bundle: document class schulma-mdlprf +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-mdlprf}[2020-02-16 v1.0 Dokumentenklasse fuer muendliche Abiturpruefungen] + +\RequirePackage{xparse} + +\ExplSyntaxOn + +\bool_new:N \g_schulma_mdlprf_oesterreich_bool +\bool_new:N \g_schulma_mdlprf_pruefer_weiblich_bool + +\str_new:N \g_schulma_mdlprf_pnummer_str + +\tl_new:N \g_schulma_mdlprf_schulname_tl +\tl_new:N \g_schulma_mdlprf_fach_tl +\tl_new:N \g_schulma_mdlprf_vorbereitungsraum_tl +\tl_new:N \g_schulma_mdlprf_pruefungsraum_tl +\tl_new:N \g_schulma_mdlprf_pruefer_tl +\tl_new:N \g_schulma_mdlprf_aufgabe_tl +\tl_new:N \g_schulma_mdlprf_hilfsmittel_tl +\tl_new:N \g_schulma_mdlprf_erwartungshorizont_tl +\tl_new:N \g_schulma_mdlprf_weitere_themen_tl + +\int_new:N \g_schulma_mdlprf_dauer_vorbereitungszeit_int + +\DeclareOption {AT} + { + \bool_gset_true:N \g_schulma_mdlprf_oesterreich_bool + } + +\DeclareOption {Prueferin} + { + \bool_gset_true:N \g_schulma_mdlprf_pruefer_weiblich_bool + } + +\DeclareOption* + { + \PassOptionsToClass {\CurrentOption} {scrartcl} + } + +\ProcessOptions \relax + +\int_gset:Nn \g_schulma_mdlprf_dauer_vorbereitungszeit_int {30} + +\msg_new:nnn {schulma-mdlprf} {Schule~fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Schule~den~ + Schulnamen~an. + } + +\msg_new:nnn {schulma-mdlprf} {Datum~fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\Datum~das~ + Prüfungsdatum~an. + } + +\msg_new:nnn {schulma-mdlprf} {Prüfungsfachnummer~fehlt} + { + Bitte~geben~Sie~mit~Hilfe~des~Befehls~\PNummer~die~ + Nummer~des~Prüfungsfachs~an. + } + +\msg_new:nnn {schulma-mdlprf} {Uhrzeit~fehlt} + { + Das~zweite~Argument~des~Befehls~\Pruefung~in~Zeile~ + \msg_line_number: + \c_space_tl + muss~eine~Uhrzeit~im~Format~SS:MM~sein. + } + +\NewDocumentCommand \Schule {m} + { + \tl_gset:Nn \g_schulma_mdlprf_schulname_tl {#1} + } + +\NewDocumentCommand \Datum {m} + { + \DTMsavedate {g_schulma_mdlprf_datum} {#1} + } + +\NewDocumentCommand \Fach {m} + { + \tl_gset:Nn \g_schulma_mdlprf_fach_tl {#1} + } + +\NewDocumentCommand \Vorbereitungsraum {m} + { + \tl_gset:Nn \g_schulma_mdlprf_vorbereitungsraum_tl {#1} + } + +\NewDocumentCommand \Vorbereitungszeit {m} + { + \int_gset:Nn \g_schulma_mdlprf_dauer_vorbereitungszeit_int {#1} + } + +\NewDocumentCommand \Pruefungsraum {m} + { + \tl_gset:Nn \g_schulma_mdlprf_pruefungsraum_tl {#1} + } + +\NewDocumentCommand \Pruefer {m} + { + \tl_gset:Nn \g_schulma_mdlprf_pruefer_tl {#1} + } + +\NewDocumentCommand \PNummer {m} + { + \str_gset:Nn \g_schulma_mdlprf_pnummer_str {#1} + } + +\NewDocumentCommand \Hilfsmittel {m} + { + \tl_gset:Nn \g_schulma_mdlprf_hilfsmittel_tl {#1} + } + +\NewDocumentCommand \Aufgabe {+m} + { + \tl_gset:Nn \g_schulma_mdlprf_aufgabe_tl {#1} + } + +\NewDocumentCommand \Erwartungshorizont {+m} + { + \tl_gset:Nn \g_schulma_mdlprf_erwartungshorizont_tl {#1} + } + +\NewDocumentCommand \WeitereThemen {+m} + { + \tl_gset:Nn \g_schulma_mdlprf_weitere_themen_tl {#1} + } + +\LoadClass [DIV=14] {scrartcl} + +\bool_if:NTF \g_schulma_mdlprf_oesterreich_bool + { + \RequirePackage [naustrian] {babel} + } + { + \RequirePackage [ngerman] {babel} + } + +\RequirePackage [ useregional=text, showseconds=false ] {datetime2} +\RequirePackage {schulma} +\RequirePackage {schulma-physik} + +\NewDocumentCommand \Pruefung {mm} + { + \tl_if_blank:nTF {#2} + { + \msg_warning:nn {schulma-mdlprf} {Uhrzeit~fehlt} + } + { + \str_set:Nx \l_tmpa_str { #2 \c_colon_str 00 } + \DTMsavetime {l_schulma_mdlprf_beginn_pruefung} {\l_tmpa_str} + \int_set:Nn \l_tmpa_int + { + \DTMfetchhour {l_schulma_mdlprf_beginn_pruefung} + } + \int_set:Nn \l_tmpb_int + { + \DTMfetchminute {l_schulma_mdlprf_beginn_pruefung} + } + \int_sub:Nn \l_tmpb_int + { + \g_schulma_mdlprf_dauer_vorbereitungszeit_int + } + \int_compare:nNnT \l_tmpb_int < {0} + { + \int_decr:N \l_tmpa_int + \int_add:Nn \l_tmpb_int {60} + } + \str_set:Nx \l_tmpa_str + { + \int_use:N \l_tmpa_int + \c_colon_str + \int_use:N \l_tmpb_int + \c_colon_str 00 + } + \DTMsavetime {l_schulma_mdlprf_beginn_vorbereitungszeit} {\l_tmpa_str} + } + + \newpage + \tl_if_empty:NTF \g_schulma_mdlprf_schulname_tl + { + \msg_warning:nn {schulma-mdlprf} {Schule~fehlt} + } + { + \g_schulma_mdlprf_schulname_tl + } + \hfill + Abiturpr\"ufung + \DTMifsaveddate {g_schulma_mdlprf_datum} + { + \c_space_tl + \DTMfetchyear {g_schulma_mdlprf_datum} + } + { + \msg_warning:nn {schulma-mdlprf} {Datum~fehlt} + } + + \vspace {2ex} + \begin {center} + \sffamily\bfseries\Large + Aufgabenblatt~f\"ur~die~m\"undliche~Pr\"ufung + \str_if_empty:NTF \g_schulma_mdlprf_pnummer_str + { + \msg_warning:nn {schulma-mdlprf} {Prüfungsfachnummer~fehlt} + } + { + \c_space_tl + ( P \, \g_schulma_mdlprf_pnummer_str ) + } + \end {center} + + \vspace {1ex} + \begin {tabbing} + Beginn~der~Vorbereitungszeit:~ \= + \hspace {4cm} \= + Vorbereitungsraum:~ \= \kill + Datum~der~Pr\"ufung: \> + \DTMifsaveddate {g_schulma_mdlprf_datum} + { + \DTMusedate {g_schulma_mdlprf_datum} + } + { + } + \> Pr\"uf \babelshorthand {"|} ling: \> #1 \\[2ex] + Fach: \> \g_schulma_mdlprf_fach_tl + \> + \bool_if:NTF \g_schulma_mdlprf_pruefer_weiblich_bool + { + Pr\"uferin: + } + { + Pr\"ufer: + } + \> \g_schulma_mdlprf_pruefer_tl \\[2ex] + Beginn~der~Vorbereitungszeit: \> + \tl_if_blank:nF {#2} + { + \DTMusetime {l_schulma_mdlprf_beginn_vorbereitungszeit} ~ Uhr + } + \> Vorbereitungsraum: \> \g_schulma_mdlprf_vorbereitungsraum_tl \\[2ex] + Beginn~der~Pr\"ufung: \> + \tl_if_blank:nF {#2} + { + \DTMusetime {l_schulma_mdlprf_beginn_pruefung} ~ Uhr + } + \> Pr\"ufungsraum: \> \g_schulma_mdlprf_pruefungsraum_tl + \end {tabbing} + \hrule + + \subsubsection* {Aufgabe:} + \g_schulma_mdlprf_aufgabe_tl + + \tl_if_empty:NF \g_schulma_mdlprf_hilfsmittel_tl + { + \par + \bigskip + Hilfsmittel:~ + \g_schulma_mdlprf_hilfsmittel_tl + } + + \newpage + \subsubsection* {Erwartungshorizont} + \g_schulma_mdlprf_erwartungshorizont_tl + + \tl_if_empty:NF \g_schulma_mdlprf_weitere_themen_tl + { + \bigskip + \subsubsection* {M\"ogliche~Themen~des~weiteren~Pr\"ufungsgespr\"achs} + \g_schulma_mdlprf_weitere_themen_tl + } + } + +\setlength \parindent {0em} + +\pagestyle {empty} + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty b/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty new file mode 100644 index 00000000000..4191a480841 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty @@ -0,0 +1,172 @@ +% schulmathematik bundle: package schulma-physik +% Version 1.0 +% 16. Februar 2020 +\RequirePackage{xparse} +\ProvidesExplPackage {schulma-physik} {2020-02-16} {1.0} {Befehle für die Schulphysik} + +\RequirePackage [locale=DE] {siunitx} +\RequirePackage {tikz} + +\NewDocumentCommand \Massstab {m m m m} + { + \ensuremath + { + \SI {#1} {#2} + \; \widehat {=} \; + \SI {#3} {#4} + } + } + +\NewDocumentCommand \tSI {m m} + { + \ensuremath + { + \group_begin: + \textstyle + \SI [ per-mode = fraction ] {#1} {#2} + \group_end: + } + } + +\NewDocumentCommand \tsi {m} + { + \ensuremath + { + \group_begin: + \textstyle + \si [ per-mode = fraction ] {#1} + \group_end: + } + } + +\NewDocumentCommand \Beschl {m} + { + \tSI{#1}{\m\per\square\s} + } + +\NewDocumentCommand \Erdb { } + { + \tSI{9,81}{\m\per\square\s} + } + +\NewDocumentCommand \Ortsf { } + { + \tSI{9,81}{\N\per\kg} + } + +\NewDocumentCommand \Elem { } + { + \SI{1,60e-19}{\coulomb} + } + +\NewDocumentCommand \Elekm { } + { + \SI{9,11e-31}{\kg} + } + +\NewDocumentCommand \Lichtg { } + { + \SI{3,00e8}{\m\per\s} + } + +\NewDocumentCommand \Planck { } + { + \SI{6,63e-34}{\J.\s} + } + +\ExplSyntaxOff + +\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 + }, + } diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls b/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls new file mode 100644 index 00000000000..8d66b268af6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-praes.cls @@ -0,0 +1,244 @@ +% schulmathematik bundle: document class schulma-praes +% Version 1.0 +% 16. Februar 2020 +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{schulma-praes}[2020-02-16 v1.0 Dokumentenklasse fuer Bildschirmpraesentationen] + +\RequirePackage{xparse} + +\ExplSyntaxOn + +\bool_new:N \g_schulma_praes_seitenzahlen_bool +\bool_new:N \g_schulma_praes_druck_bool +\bool_new:N \g_schulma_praes_zwei_folien_pro_seite_bool +\bool_new:N \g_schulma_praes_oesterreich_bool + +\DeclareOption {Seitenzahlen} + { + \bool_gset_true:N \g_schulma_praes_seitenzahlen_bool + } + +\DeclareOption {Druck} + { + \bool_gset_true:N \g_schulma_praes_seitenzahlen_bool + \bool_gset_true:N \g_schulma_praes_druck_bool + } + +\DeclareOption {Druck2} + { + \bool_gset_true:N \g_schulma_praes_seitenzahlen_bool + \bool_gset_true:N \g_schulma_praes_druck_bool + \bool_gset_true:N \g_schulma_praes_zwei_folien_pro_seite_bool + } + +\DeclareOption {AT} + { + \bool_gset_true:N \g_schulma_praes_oesterreich_bool + } + +\DeclareOption* + { + \PassOptionsToClass {\CurrentOption} {beamer} + } + +\ProcessOptions \relax + +\tl_new:N \g_schulma_praes_nummer_tl +\tl_new:N \g_schulma_praes_thema_tl + +\NewDocumentCommand \Kurs {m} + { + \author {#1} + } + +\NewDocumentCommand \Datum {m} + { + % \date { \DTMdate {#1} } + \date { \printdate {#1} } % isodate-Befehl + } + +\NewDocumentCommand \Thema {o m} + { + \IfValueT {#1} + { + \tl_gset:Nn \g_schulma_praes_nummer_tl {#1} + } + \tl_gset:Nn \g_schulma_praes_thema_tl {#2} + } + +\RequirePackage {etoolbox} + +\AfterEndPreamble + { + \title + { + \tl_if_empty:NF \g_schulma_praes_nummer_tl + { + \g_schulma_praes_nummer_tl + \hspace {0,5em} + } + \g_schulma_praes_thema_tl + } + + \begin {frame} + \maketitle + \end {frame} + } + +\bool_if:NT \g_schulma_praes_druck_bool + { + \PassOptionsToClass {handout} {beamer} + } + +\LoadClass [aspectratio=149, noamsthm] {beamer} +% Die Option noamsthm verhindert, dass die Option intlimits des mathtools-Pakets +% überschrieben wrid. + +\RequirePackage {adjustbox} + +\bool_if:NTF \g_schulma_praes_oesterreich_bool + { + \RequirePackage [naustrian] {babel} + \RequirePackage [naustrian] {isodate} + } + { + \RequirePackage [ngerman] {babel} + \RequirePackage [ngerman] {isodate} + } + +%\RequirePackage [useregional=numeric] {datetime2} % zeigt Tag und Monat z. Zt. zweistellig an +\RequirePackage {schulma} +\RequirePackage {schulma-physik} +\RequirePackage {tasks} + +% \DTMlangsetup* { twodigits = false, datesep = {.\thinspace} } % Option twodigits z. Zt. nicht implementiert + +% isodate: Monat ggf. einstellig anzeigen: +\numdate[arabic] +% isodate: Tag ggf. einstellig anzeigen: +\isotwodigitdayfalse +% isodate: Abstand zwischen Monat und Jahr im numerischen Format: +\monthyearsepgerman{\,}{\,} + +\bool_if:NT \g_schulma_praes_druck_bool + { + \RequirePackage{pgfpages} + + \bool_if:NTF \g_schulma_praes_zwei_folien_pro_seite_bool + { + \pgfpagesuselayout {2~on~1} [a4paper, border~shrink = 7mm] + } + { + \pgfpagesuselayout {4~on~1} [a4paper, landscape, border~shrink = 7mm] + } + } + +% serifenloses Komma im Mathemodus wählen: +\DeclareMathSymbol {,} {\mathpunct} {operators} {"2C} + +% Italic-Correction-Problem von XeLaTeX bei "f(x)" etc. beheben: +\sys_if_engine_xetex:T + { + \AtBeginDocument + { + \DeclareSymbolFont {pureletters} {T1} {lmss} {\mddefault} {it} + } + } + +\pgfplotsset { axis~line~style = semithick, grid~style = fg!45 } + +\RenewDocumentEnvironment {Kosy} {o} + { + \tl_set:Nn \l_tmpa_tl + { + tick~style = {fg}, + xlabel = {$x$}, ylabel = {$y$}, + minor~tick~num = 1, minor~tick~length = 0pt, + grid = both + } + \begin {tikzpicture} + \IfValueTF {#1} + { + \begin {axis} [\l_tmpa_tl, #1] + } + { + \begin{axis} [\l_tmpa_tl] + } + } + { + \end {axis} + \end {tikzpicture} + } + +\RenewDocumentCommand \ehoch {m} + { + \mathsf {e} ^ {#1} + } + +\RenewDocumentCommand \diff {m} + { + \mathsf {d} #1 + } + +\bool_if:NT \g_schulma_praes_seitenzahlen_bool + { + \setbeamertemplate {footline} + { + \begin {beamercolorbox} {section~in~head/foot} + \raggedleft \footnotesize \insertframenumber \hspace* {6pt} \vskip 6pt + \end {beamercolorbox} + } + } + +\definecolor {dgruen} {rgb} {0,0.7,0} + +% tasks: j überspringen +\newcommand*\@schulmaalph[1]{\ifnum #1>9 \@alph{\numexpr #1+1}\else \@alph{#1}\fi} +\newcommand*\schulmaalph[1]{\@schulmaalph{\value{#1}}} + +\settasks{label-align=right, + item-indent=2.2em, + label-offset=0.5em, + label-width=1.3em, + label=\schulmaalph*), + after-skip=4.5pt plus2pt minus1pt} + +\newcommand <> \Unterklammer [2] + { + \onslide #3 + \underbrace { \onslide <1-> #1 \onslide #3 } \sb {#2} + \onslide <1-> + } + +\int_new:N \l_schulma_praes_folie_int + +\NewDocumentCommand \Produktregel {m m m m m} + { + \int_set:Nn \l_schulma_praes_folie_int {#1} + \colorlet {l_schulma_praes_hauptfarbe} {.} + \onslide < \l_schulma_praes_folie_int - > + { + \int_incr:N \l_schulma_praes_folie_int + \color {red} + \underbrace { \onslide < \l_schulma_praes_folie_int - > { \color {l_schulma_praes_hauptfarbe} #2 } } + \sb {u'} + \color {l_schulma_praes_hauptfarbe} \cdot + \int_incr:N \l_schulma_praes_folie_int + \color {red} + \underbrace { \onslide < \l_schulma_praes_folie_int - > { \color {l_schulma_praes_hauptfarbe} #3 } } + \sb { v \mathstrut } + \color {l_schulma_praes_hauptfarbe} + + \int_incr:N \l_schulma_praes_folie_int + \color {red} + \underbrace { \onslide < \l_schulma_praes_folie_int - > { \color {l_schulma_praes_hauptfarbe} #4 } } + \sb {u \mathstrut } + \color {l_schulma_praes_hauptfarbe} \cdot + \int_incr:N \l_schulma_praes_folie_int + \color {red} + \underbrace { \onslide < \l_schulma_praes_folie_int - > { \color {l_schulma_praes_hauptfarbe} #5 } } + \sb {v'} + \color {l_schulma_praes_hauptfarbe} + } + } + +\ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty b/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty new file mode 100644 index 00000000000..d3e95f6eae3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma.sty @@ -0,0 +1,132 @@ +% schulmathematik bundle: package schulma +% Version 1.0 +% 16. Februar 2020 +\RequirePackage{xparse} +\ProvidesExplPackage {schulma} {2020-02-16} {1.0} {Befehle für die Schulmathematik} + +\RequirePackage[intlimits]{mathtools} +\RequirePackage{autoaligne} +\RequirePackage{icomma} +\RequirePackage{pgfplots} + +\ExplSyntaxOff +\usetikzlibrary{shapes.misc} +\ExplSyntaxOn + +\pgfplotsset + { + compat=newest, + axis~lines=middle, + label~style= + { + font=\small + }, + ticklabel~style= + { + font=\footnotesize, + /pgf/number~format/use~comma + }, + tick~style={thick}, + every~axis~plot/.append~style= + { + semithick, + scaled~ticks=false + } + } + +\NewDocumentEnvironment {Kosy} {o} + { + \tl_set:Nn \l_tmpa_tl + { + xlabel={$x$},ylabel={$y$}, + minor~tick~num=1,minor~tick~length=0pt, + grid=both + } + \begin{tikzpicture} + \IfValueTF{#1} + { + \begin{axis}[\l_tmpa_tl,#1] + } + { + \begin{axis}[\l_tmpa_tl] + } + } + { + \end{axis} + \end{tikzpicture} + } + +\NewDocumentCommand \LGS {m} + { + \ensuremath + { + \left | + \, + \autoaligne {#1} + \, + \right | + } + } + +\NewDocumentCommand \ehoch {m} + { + \mathrm{e}^{#1} + } + +\NewDocumentCommand \diff {m} + { + \mathrm{d}#1 + } + +\NewDocumentCommand \Pkt {o m m} + { + \ensuremath + { + \IfValueT{#1}{#1} + \mathopen{} % Zusatzabstand entfernen + \left( {#2} \, \middle| \, {#3} \right) + } + } + +\NewDocumentCommand \PktR {o m m m} + { + \ensuremath + { + \IfValueT{#1}{#1} + \mathopen{} % Zusatzabstand entfernen + \left( {#2} \, \middle| \, {#3} \, \middle| \, {#4} \right) + } + } + +\NewDocumentCommand \Vek {m m m} + { + \ensuremath + { + \begin{pmatrix} + #1 \\ #2 \\ #3 + \end{pmatrix} + } + } + +\NewDocumentCommand \VekBr {m m m} + { + \ensuremath + { + \begin{pmatrix} + #1 \\[0,5ex] #2 \\[0,5ex] #3 + \end{pmatrix} + } + } + +% Knotentyp zum Setzen von Kreuzen ins Koordinatensystem: +\tikzset + { + Kreuz/.style = + { + cross~out, + draw, + minimum~size = 5pt, + inner~sep = 0pt, + outer~sep = 0pt + } + } |