Paket "schule" - Optionen erweitern

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Gebhart
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 5. Aug 2014, 20:54

Paket "schule" - Optionen erweitern

Beitrag von Gebhart »

Hallo zusammen,

als angehender Physik-Lehrer bin ich auf das praktische Paket (schule) gestoßen, mit dessen Hilfe sich Aufgabenblätter oder Klausuren gestalten lassen.

Beim Dokumenttyp "Klausur" besteht in den Paketoptionen die Möglichkeit zur Auswahl zwischen drei Typen (Klausur, Klassenarbeit, Kursarbeit), der dann jeweils rechts oben in der Kopfzeile des fertigen Dokuments angezeigt wird.

Ich möchte gerne weitere Typen selbst definieren (Bspw. "Test"), stoße jedoch mit meinen rudimentären Latex-Kenntnissen an meine Grenzen.

Nachdem ich die Datei schule.typ.kl.code.tex gelesen habe, dachte ich ganz naiv, das Problem mit einem
\renewcommand{\schule@dokumentTypBezeichnung}{Test}
lösen zu können. Dem war jedoch nicht so.

Ich würde mich freuen, wenn mir jemand nicht nur bei der Lösung meines läppischen Problems helfen könnte, sondern evtl. auch dabei, manche Hintergründe besser zu verstehen.

Grüße und den geduldigen Helfern Dank im Voraus,
Gerhart

\documentclass[a4paper,12pt]{scrartcl}

\usepackage{setspace}
\setstretch{1,2}

\usepackage[
per-mode=fraction,
locale = DE,
]{siunitx}

\usepackage[
 typ=kl,
 %klausurtyp=klasse,
 fach=Physik,
 lerngruppe=8a,
 loesungen=seite,
 module={Symbole,Bewertung},
 erwartungshorizontAnzeigen,
 seitenzahlen=keine
]{schule}

\begin{document}

\title{1. Test}

\begin{aufgabe}
Test
\end{aufgabe}

\end{document}

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Paket "schule" - Optionen erweitern

Beitrag von MoeWe »

Soweit ich das nachvollziehen kann, hattest Du schon genau den richtigen Gedanken.

Befehle mit einem @ im Namen sind interne Befehle eines Pakets (oder von LaTeX selbst) und durch einen Trick vor zufälligem Überschreiben (und Nutzen) geschützt. Das @ ist nämlich außerhalb von .sty-Dateien standardmäßig kein Buchstabe (im Sinne von TeX) und kann daher (mit Ausnahme von Befehlen, deren Name neben dem Backslash nur aus einem Zeichen besteht) nicht Teil von Befehlsnamen sein. Das kann man lokal ändern, wenn man zum Beispiel Befehle, die ein @ im Namen haben, umdefinieren möchte. Man tut dies mit \makeatletter...\makeatother. Dann wird @ im Sinne von TeX zu einem normalen Buchstaben (letter), der - wie man es erwarten würde - in Befehlsnamen vorkommen darf.

Also hier
\documentclass[a4paper,12pt]{scrartcl}

\usepackage{setspace}
\setstretch{1,2}

\usepackage[
per-mode=fraction,
locale = DE,
]{siunitx}

\usepackage[
 typ=kl,
 %klausurtyp=klasse,
 fach=Physik,
 lerngruppe=8a,
 loesungen=seite,
 module={Symbole,Bewertung},
 erwartungshorizontAnzeigen,
 seitenzahlen=keine
]{schule}

\makeatletter
\renewcommand{\schule@dokumentTypBezeichnung}{Test}
\makeatother

\begin{document}

\title{1. Test}

\begin{aufgabe}
Test
\end{aufgabe}

\end{document}
Bessere und akkuratere Erklärungen zu \makeatletter...\makeatother finden sich z.B. bei https://texwelt.de/fragen/1/was-machen-eigentlich-makeatletter-und-makeatother und https://tex.stackexchange.com/q/8351/35864 sowie in den meisten (La)TeX-Einführungen, die ein bisschen weiter in die Tiefe gehen.
Zuletzt geändert von MoeWe am Do 16. Dez 2021, 20:53, insgesamt 1-mal geändert.

Gebhart
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 5. Aug 2014, 20:54

Re: Paket "schule" - Optionen erweitern

Beitrag von Gebhart »

Großartig, wieder was dazugelernt!

Und nochmals vielen Dank für die Hilfe und die gute Erklärung, @MoeWe.

Damit wäre das Problem gelöst.

Antworten