diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/schulmathematik/schulma-ab.cls | 255 |
1 files changed, 255 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 |