diff options
Diffstat (limited to 'macros/latex/contrib/schulmathematik/schulma-gutachten.cls')
-rw-r--r-- | macros/latex/contrib/schulmathematik/schulma-gutachten.cls | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/macros/latex/contrib/schulmathematik/schulma-gutachten.cls b/macros/latex/contrib/schulmathematik/schulma-gutachten.cls new file mode 100644 index 0000000000..c787511e55 --- /dev/null +++ b/macros/latex/contrib/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 |