
## 1 Module

* 2. **Nutzung der Module*
	* 2.1 Standardmodule
	* 2.2 Laden weiterer Module
* 3. **Aufgaben*
	* 3.1 Aufgaben
		* 3.1.1 Befehle
		* 3.1.2 Umgebungen
		* 3.1.3 Aufgabentemplates
	* 3.2 Teilaufgaben
		* 3.2.1 Befehle
		* 3.2.2 Umgebung
	* 3.3 Losungen
		* 3.3.1 Paketoptionen
		* 3.3.2 Umgebungen
	* 3.4 Luckentexte
		* 3.4.1 Befehle
	* 3.5 Multiple-Choice
		* 3.5.1 Befehle
	* 3.6 Umgebungen
	* 3.7 Bearbeitungshinweise
		* 3.7.1 Umgebungen
		* 3.7.2 Befehle
* 4. **Aufgabenpool*
	* 4.1 Befehle
	* 4.2 Umgebungen
	* 4.3 Optionen an Aufgaben
		* 4.3.1 Befehle
* 5. **Bewertung*
	* 5.1 Paketoptionen
		* 5.1.1 Umgebungen
		* 5.1.2 Befehle
* 6. **Format*
	* 6.1 Formatierungen
		* 6.1.1 Paketoptionen
		* 6.1.2 Befehle
	* 6.2 Kopf- Fu&zeilen
		* 6.2.1 Paketoptionen
		* 6.2.2 Befehle
* 7. **Formulare*
	* 7.1 Befehle
* 8. **Kuerzel*
	* 8.1 Paketoptionen
	* 8.2 Befehle
* 9. **Lizenzen*
	* 9.1 Paketoptionen
	* 9.2 Befehle
* 10. **Metadaten*
	* 10.1 Paketoptionen
	* 10.2 Befehle
* 11. **Papiertypen*
	* 11.1 Befehle
* 12. **Symbole*
	* 12.1 Befehle
* 13. **Texte*
	* 13.1 Befehle
	* 13.2 Umgebungen
* 13. **Vmgebungen*
* 13. **Vmgebungen*
* 13. **Vmgebungen*
* 13. **Vmgebungen*
* 13. **Vmgebungen**
* 14. **Nutzung der Fachmodule*
* 15. **Informatik*
* 15. **Objektdiagramme
	* 15.2 Sequenzdiagramme
	* 15.3 Struktogramme
* 15.4. Syntaxdiagramme
15.5. Flussdiagramme
16. Physik
16.1. Konstanten
16.2. Schaltplane
17. Geschichte
17.1. Befehle

IV. Dokumenttypen
18. Arbeitsblatt
19. Klausur
19.1. Paketoptionen
20. Leitprogramm
20.1. Paketoptionen
20.2. Befehle
20.3. Umgebungen
21. Lernzielkontrolle
22. Ubungsblatt
23. Unterrichtsbesuch
23.1. Befehle fur Angaben zum Unterrichtsbesuch
24. Folie
25. Beurteilung
25.1. Paketoptionen
25.2. Befehle
25.3. Umgebungen
35. Funktionen fur Entwickler
35.1. Fehlerbehandlung und Debugging
35.1.1. Paketoptionen
35.1.2. Befehle
35.2. Interne Makros
35.2.1. Befehle
36.

**36. Changelog**

**37. ToDo**

37.1. Must-have

**38. Index**

## 1 Allgemeines

### 1.1 Wichtiger Hinweis zur neuen Version

Das Schule-Paket wurde vollstandig uberarbeitet. Diese Version enthalt grundlegende, strukturelle Veranderungen. So wird unter anderem die Vielzahl an Dokumentenklassen stark reduziert und die Konfiguration erfolgt nun uber Paketoptionen.

Dies fuhrt zu grossen Veranderungen der Schnittstelle. Die neue Version ist damit **nicht kompatibel** zu allen vorhergehenden Versionen. Es besteht allerdings ein **Kompatibilitatsmodus**, der automatisch fur alle alten Dokumentenklassen aktiv ist. Alte Dokumente lassen sich somit weiterhin setzen, die Schnittstelle wird aber nicht weiterentwickelt. Bestehende Fehler werden in der alten Version nicht behoben.

Diese Anderungen ermoglichen die Losung einiger bestehender Probleme (u. a. Quelltexte in Aufgaben und Losungen). Zusatzlich wurde die Nutzung des Pakets vereinheitlicht und die Nutzung in anderen Dokumentenklassen ermoglicht, sodass etwa die Aufgabenumgebungen auch in Beamer-Prasentationen ubernommen werden konnen. Klausuren unterstutzen nun die automatische Erzeugung von Erwartungshorizonten.

Eine weitere grosse Veranderung ist die Ausgliederung der ausbildungsrelevanten Teile (Unterrichtsbesuche, Stundenverlaufe etc.) des Pakets. In der Vergangenheit hat sich gezeigt, dass sich die Anforderungen der verschiedenen, an der Lehrerbildung beteiligten Stellen stark voneinander unterscheiden. Daher werden die entsprechenden Funktionen des Pakets ausgegliedert, sodass sie einfach in eigenen Dokumenten genutzt werden konnen. Die bestehenden Vorlagen werden als eigenstandige Klassen mitgeliefert.

### 1.2 Manuelle Installation

Um die Pakete und Klassen nutzen zu konnen, gibt es drei Varianten. In der folgenden Beschreibung dieser Moglichkeiten wird von einer standardisierten LaTeX-Installation ausgegangen - weitere Hinweise konnen der Dokumentation der jeweiligen TeX-Distribution entnommen werden:

**Global**: Fur die globale/systemweite Installation der Pakete und Klassen mussen diese in das globale LaTeX-Verzeichnis der TeX-Installation kopiert werden: unter Linux in der Regel /usr/share/texmf/tex/latex/. In diesem kann ein weiteres Verzeichnis wie z. B. schule angelegt werden, in das alle Dateien des Schulepakets kopiert werden.

Damit die Quellen anschliessend dem System bekannt sind, muss der Cache von LaTeX neu aufgebaut werden. Bei den meisten Linux-Installationen geschieht dieses durch den Aufruf von texhash.

**Benutzer**: Damit ein Nutzer auf die Quellen zugreifen kann, mussen diese im Benutzerverzeichnis (Home directory) abgelegt werden. Dies geschieht durch das Kopieren der Pakete und Klassen in das Verzeichnis texmf/tex/latex/ im Benutzerverzeichnis, das ggf. erst angelegt werden muss. Auch hier sollte - wie bei der globalen Installation - ein eigenes Unterverzeichnis angelegt werden.
**Lokal**: Um die Klassen und Pakete ohne weitere Installation nutzen zu konnen, ist es daruber hinaus moglich, die benotigten Dateien in das Verzeichnis zu kopieren, in dem die Datei liegt, die ubersetzt werden soll. Dies ist jedoch aufgrund des Umfangs des Schulepakets weniger empfehlenswert.

#### 1.2.1 Voraussetzungen

Ein Grund fur die Nutzung des Schule-Pakets und der damit verbundenen speziellen Klassen und Pakete liegt darin, viele der haufig benotigten Pakete zusammen zu fassen. Daher mussen diese fur die Benutzung vorhanden sein. Die meisten sind Standardpakete, die mit jeder normalen Installation mitgeliefert sind. Es folgt eine Aufstellung der Voraussetzungen fur das Paket schule und die vorhandenen Module. Mit einem Stern (*) markierte Pakete sind im Paket schule bereits enthalten:

\begin{tabular}{l l l l} \(\bullet\) amsmath & \(\bullet\) forarray & \(\bullet\) inputenc & \(\bullet\) xcolor \\ \(\bullet\) babel & \(\bullet\) graphicx & \(\bullet\) pgfopts & \(\bullet\) xparse \\ \(\bullet\) environ & \(\bullet\) hyperref & \(\bullet\) schulealt * & \(\bullet\) xstring \\ \(\bullet\) fontenc & \(\bullet\) ifthen & \(\bullet\) tikz & \(\bullet\) zref-totpages \\ \end{tabular}

Folgende Pakete werden zusatzlich fur das Fach \(\ast\)Informatik\(\ast\) benotigt:

\begin{tabular}{l l l} \(\bullet\) listings & \(\bullet\) pgf-umlsd & \(\bullet\) struktex \\ \(\bullet\) pgf-umlcd & \(\bullet\) relaycircuit * & \(\bullet\) syntaxdi \\ \end{tabular}

Folgende TikZ-Bibliotheken werden fur das Fach \(\ast\)Informatik\(\ast\) benotigt:

\begin{tabular}{l l l} \(\bullet\) er & & & \\ Folgende Pakete werden zusatzlich fur das Fach \(\ast\)Physik\(\ast\) benotigt: & & \\ \(\bullet\) circuitikz & \(\bullet\) units & \(\bullet\) mhchem & \\ Folgende Pakete werden zusatzlich fur das Fach \(\ast\)Geschichte\(\ast\) benotigt: & & \\ \(\bullet\) uni-wtal-ger & \(\bullet\) marginnote & & \\ Folgende Pakete werden zusatzlich fur das Modul \(\ast\)Aufgaben\(\ast\) benotigt: & & \\ \end{tabular}

* Folgende Pakete werden zusatzlich fur das Modul \(*\)Format\(*\) benotigt:
* selspace Folgende Pakete werden zusatzlich fur das Modul \(*\)Symbole\(*\) benotigt:
* Folgende Pakete werden zusatzlich fur das Modul \(*\)Texte\(*\) benotigt:
* multicol Folgende Pakete werden zusatzlich fur das Modul \(*\)Texte\(*\) benotigt:
* standalone Folgende TikZ-Bibliotheken werden fur das Zusatzpaket relaycircuit benotigt:

### Begriffsklarungen

**Zusatzpaket**: Das Paket schule liefert einige LaTeX-Pakete mit, die fur das Paket entwickelt wurden, aber von diesem unabhangig nutzbar sind.

Diese Pakete werden im Folgenden als Zusatzpaket bezeichnet.
**Modul**: Im Gegensatz zu einem Zusatzpaket ist ein Modul enger mit dem Hauptpaket verzahnt. Es lasst sich nicht unabhangig von diesem nutzen.

Module bestehen aus einer oder mehreren LaTeX-Quelldateien, die in das Paket eingebunden werden.

Siehe auch die Beschreibung in der Entwicklungsdokumentation im Abschnitt 34.2, S. 62.
**Fachmodul**: Ein Fachmodul ist ahnlich aufgebaut wie ein normales Modul fur das Schulepaket, wird allerdings fur fachspezifische Erweiterungen genutzt und erfullt somit einen anderen Zweck.

Siehe auch die Beschreibung in der Entwicklungsdokumentation im Abschnitt 34.3, S. 64.

**Dokumenttyp**: Ein Dokumenttyp ist ahnlich aufgebaut wie ein normales Modul fur das Schulepaket, wird allerdings fur typspezifische Erweiterungen genutzt und erfullt somit einen anderen Zweck.

Siehe auch die Beschreibung in der Entwicklungsdokumentation im Abschnitt 34.4, S. 64.

### Arten der Nutzung

#### 1.4.1 Nutzung fur Dokumente

Wenn zumindest ein typ in den Paketoptionen angegeben wird, werden viele Module und mit diesen auch viele externe Pakete geladen und konfiguriert, von denen einige auch die grundlegende Struktur der zu setzenden Dokumente verandern.

Ausserdem werden Entscheidungen fur das Aussehen der Dokumente getroffen. Man hat hier noch viele Freiheiten, ist jedoch auf die grundlegenden Vorgaben des Schule-Pakets festgelegt.

Dies kann auch zu Inkompatibilitaten mit bestimmten Dokumentenklassen oder externen Paketen fuhren, z. B. konnten Option-Clashes auftreten.

#### 1.4.2 Eingebettete Nutzung

Es trat immer wieder der Wunsch auf, dass Funktionen aus dem Schulepaket auch in anderen Dokumenten oder gar in Dokumentenklassen oder anderen Paketen nutzen zu konnen.

Das war aus den oben genannten Grunden schwierig. Inzwischen ist dies moglich, in dem man beim Laden des Pakets die Option typ = {ohne} angibt.

Damit wird das Paket in einen >>minimalinvasiven<< Modus geschaltet, der nur die notigsten Module ladt und so wenig Vorgaben macht wie moglich.

Weitere Module konnen dann naturlich geladen werden.

#### 1.4.3 Nutzung uber die Dokumentenklassen

Die Nutzungsvariante mit den wenigsten Freiheiten ist die uber eine der Dokumentenklassen. Anpassungen sind hier nur sehr eingeschrankt moglich und es werden sehr viele Vorgaben gemacht. Sie ist allerdings gleichzeitig die Variante, bei der man am wenigsten konfigurieren und eigene Einstellungen vornehmen muss. Siehe auch 3.3.1.

### Kompilieren der Dokumente

Das Schulepaket ist fur die Nutzung von pdflatex optimiert und wurde nur damit getestet.

Aufgrund des komplexen Aufbaus kann es besonders bei der Nutzung des Moduls Aufgaben notwendig sein, mindestens zwei Laufe von pdflatex durchzufuhren. Dies liegt daran, das eine Menge Zwischendateien mit Punkten und anderen Metadaten zu den Aufgaben erstellt werden mussen und dann damit Berechnungen durchgefuhrt werden.

1. Allgemeines zum Paket

Es kann deshalb passieren, dass nach der Anderung der Anzahl der Aufgaben der erste Durchlauf mit sehr vielen Fehlern fehlschlagt.

## 2 Nutzung der Module

### Standardmodule

Standardmassig wird davon ausgegangen, dass ein Dokument mit Schulkontext gesetzt werden soll (Arbeitsblatt, Klausur, etc). Dann ladt das Schule-Paket die Module Metadaten, Format und Aufgaben.

Wird das Paket eingebettet verwendet, also mit der Paketoption typ = {ohne} geladen, ladt das Schule-Paket nur die Module Metadaten und Format.

Wird ein nicht definierter Typ angegeben, wird ein Arbeitsblatt gesetzt und der angegebene Typ wird als Bezeichner verwendet.

### Laden weiterer Module

module = {_Modul1,Modul2,..._}

(zunachst leer)

Weitere Module konnen geladen werden, indem sie der Paketoption module als kommaseparierte Liste ubergeben werden.

## 3 Aufgaben

Das Modul Aufgaben ist das umfangreichste Modul des Schule-Pakets. Es umfasst alles, was zum Setzen von verschiedenen Arbeitsblattern, Klausuren, Klassenarbeiten, Lernzielkontrollenusw. notwendig ist.

Im Kern baut das Modul auf dem Paket xsim auf, sodass alle Funktionen dieses Pakets nutzbar sind.

Die vom Schulepaket gemachten Erganzungen sind voll kompatibel zu xsim, so werden die Hinweise etwa in den Eigenschaften der Aufgaben gespeichert.

### Aufgaben

#### 3.1.1 Befehle

\setzeSymbol{_Symbol_}

kann nur innerhalb der Aufgabenumgebung genutzt werden und stellt der jeweiligen Aufgabe ein Symbol voran. Dies kann etwa genutzt werden, um die Arbeitsform oder bestimmte Aufgabentypen zu kennzeichnen.

Eine Kombination mit dem Modul Symbole bietet sich an. So konnte etwa zur Kennzeichnung von Horaufgaben \setzeSymbol{_}symOhr} genutzt werden.

Alternativ lasst sich das Symbol auch als Eigenschaft der Aufgabe direkt setzen. Dieses erfolgt z. B. durch 

3. Aufgaben

{}punkteAufgabe

liefert die Punkte der aktuellen Aufgabe inkl. der Bezeichnung.

{}punkteTotal

liefert die Gesamtpunktezahl aller Aufgaben inkl. der Bezeichnung.

{}punktebersicht*[{_Darstellungsart_}]  Voreinstellung: kurz setzt eine Ubersichtstabelle uber die in allen Aufgaben erreichbaren Punkte und Zusatzpunkte, sowie einer Leerzeile fur die erreichten Punkte. Als optionalen Parameter kann zwischen verschiedenen Darstellungen gewahlt werden. Alternativ zur Standardoptionen ist default. Ist die Ubersicht als letztes auf den Aufgabenseiten, so kann der optionale Stern gesetzt werden. Dann wird diese Seite als letzte mit Inhalt angenommen.

#### 3.1.2 Umgebungen

{}begin{aufgabe*}{{_Optionen_}} setzt eine Aufgabe. Alle Aufgaben werden automatisch durchnummeriert. Wird der optionale Stern angegeben, wird die Aufgabe als Zusatzaufgabe gesetzt.

Bei den optionales Argument konnen alle von xsim bereitgestellen Optionen angegeben werden. Dazu gehoren unter anderem folgende:

points = \(\langle\)Punkte\(\rangle\)

legt die Punkte der Aufgabe fest.

bonus-points = \(\langle\)Zusatzaufgabe\(\rangle\)

legt die Punkte der Aufgabe fest.

subtitle = {{_Titel_}} setzt den Title der Aufgabe.

#### 3.1.3 Aufgabentemplates

Die Darstellung der Aufgaben erfolgt auf der Grundlage verschiedener Templates. Das Paket schule liefert dabei folgende Templates mit, die in darunter dargestellt sind.

* schule-binnen
* schule-default
* schule-keinenummer
* schule-keinepunkte
* schule-keintitel
* schule-randpunkte
* schule-tcolorbox



3. Aufgaben

### Luckentexte

#### 3.4.1 Befehle

\luecke[(_Optionen fur blank_)]{\_(Lange)} Setzt eine Lucke mit der angegebenen Lange. Der Befehl nutzt dazu den \blank-Befehl aus xsim. Mit dem optionalen Parameter konnen zusatzliche Optionen an diesen weitergereicht werden, z. B. kann mit style = line|wave|dline|dotted|dashed der Stil der Unterstreichung festgelegt werden.

\textluecke[(_Optionen fur blank_)]{\_(Text)} Setzt eine Lucke fur den angegebenen Text, die Lange wird durch den angegebenen Text vorgegeben. Standardmagig wird als Korrekturfaktor fur das handschriftliche Ausfullen 2 genutzt.

Der Befehl nutzt dazu den \blank-Befehl aus xsim. Mit dem optionalen Parameter konnen zusatzliche Optionen an diesen weitergereicht werden, z. B. kann mit style=\dashline{#1} eine unterstrichelte Linie gesetzt werden. Mit scale = 3 liese sich der Korrekturfaktor auf 3 anpassen. Wird als Option nichts angegeben, so wird die Lucke ohne Inhalt und Weite eingesetzt.

Innerhalb von Losungsumgebungen wird der Text in die Lucke eingesetzt.

### Multiple-Choice

Zwar ist es uber das Format-Modul moglich, einzelne Kastchen zum Ankreuzen zu setzen. In der Regel sollten allerdings echte Multiple-Choice-Aufgaben vorgezogen werden, da diese besser formatiert werden konnen und sich auch direkt Losungen angeben lassen.

\**Achtung:** Die direkte Nutzung der Losung funktioniert nur dann, wenn innerhalb einer Aufgabe nur eine einzige Multiple-Choice-Umgebung genutzt wird.

#### 3.5.1 Befehle

\choice[(_richtig_)] Innerhalb einer mcumgebung konnen mit \choice die einzelnen Wahlmoglichkeiten angegeben werden.

Falls im optionalen Parameter \mcrichtig steht, wird die Wahlmoglichkeit als richtig markiert und in Losungsumgebungen entsprechend gesetzt.

\mcrichtig markiert innerhalb einer mcumgebung eine Wahlmoglichkeit als richtig.

\mcloesung kann in einer Losung angegeben werden, damit in dieser die Multiple-Choice-Aufgabe mit den korrekten Losungen aufgefuhrt wird.

3. Aufgaben

### Umgebungen

\begin{mcumgebung}{(_Spaltenzahl_)} ermoglicht es Multiple-Choice-Aufgaben zu setzen. Wird die Spaltenzahl nicht explizit angegeben, so ist 3 als Default-Wert gesetzt.

```
\begin{aufgabe} \begin{mcumgebung}{4} \choice[\mcrichtig]Erstens \choiceZweitens \choice[\mcrichtig]Drittens \end{verbatimmcumgebung} \end{verbatimfgabe} \begin{loesung} \mcloesung} \end{verbatimfootnote}
```

Bearbeitungshinweise sind dazu gedacht, dass man den Lernenden Tipps zu den Aufgaben mitgibt. Dieses ist z. B. bei der Bearbeitung von Leitprogrammen (siehe 20) der Fall. Dabei ist es angedacht, diese nicht direkt bei den Aufgaben stehen zu haben, sondern an einer anderen Stelle, damit sie nur bei Bedarf genutzt werden.

#### Umgebungen

\begin{bearbeitungshinweis} \erlaubt es, zu einzelnen Aufgaben Hinweise anzugeben. Der Hinweis kann dabei fast beliebigen LaTeX-Code enthalten. Verbatim-Elemente, wie z. B. die Verwendung von Quellcode machen an Probleme. Es kann aber \listinputlisting genutzt werden.

#### Befeble

\bearbeitungshinweisZuAufgabe{_Aufgaben_}}{_AufgabenId_}}Voreinstellung: aufgabe Setzt die Bearbeitungshinweise fur die angegebene Aufgabe. Die ID ist dabei fortlaufend uber alle Aufgabentypen. Der optionale Parameter erlaubt es auch fur andere Aufgabentypen wie der Zusatzaufgabe mit aufgabe* den Hinweis direkt auszugeben. Wird als AufgabenId nichts angegeben, so wird die aktuelle Aufgabe genommen.

\bearbeitungshinweisliste Setzt die Bearbeitungshinweise zu allen Aufgaben als Liste.

4. Aufgabenpool

## 4 Aufgabenpool

Die Idee fur das Modul Aufgabenpool bestand darin, dass Aufgaben einfach bei verschiedenen Klassenarbeiten oder Klausuren wieder genutzt werden konnen. Diese Aufgaben durfen auch in verschiedenen Verzeichnissen liegen und sich einzeln setzen lassen. Besondere Berucksichtigung benotigen dabei eingebundene Dateien, wie z. B. Bilder oder Programmdateien, die relativ zur Aufgabendatei, an einem anderen Ort liegen als die Quelldatei fur die Klausur. Fur diesen Fall wird auf ein _basedir_ gesetzt, dass fur jede eingebundene Aufgabe entsprechend gesetzt wird. Mit der Nutzung uber \getBasedir lasst sich jede Datei relativ zur Aufgabendatei einbinden. Dieses gilt auch innerhalb der loesung-Umgebung.

Zur Verwendung einer Aufgabe aus dem Aufgabenpool lassen sich auch Hinweise in der Aufgabe ablegen. Diese werden dann nicht mit ausgegeben, wenn die Aufgabe in einer Klassenarbeit bzw. Klausur mit eingebunden wird.

### Befehle

\aufgabeninput[(_optionen_)]{_(_Verzeichnis_)}{_(_Datei_)}

Bindet die Datei mit der Aufgabe ein, die im angegebenen Verzeichnis steht. Die Angabe des Verzeichnis wird als Grundlage fur das _basedir_ fur diese Aufgabe genutzt. Als optionalen Parameter lassen sich durch Komma getrennte Optionen angeben. Dadurch lasst sich in der eigentlichen Aufgabe steuern, ob bestimmte Elemente gesetzt werden sollen oder nicht. Naheres unter 4.3.

\getBasedir

Liefert das aktuelle _basedir_ zuruck, um es in einer Aufgabe als Pfaderganzung bei der Einbindung von Dateien zu nutzen.

\setBasedir

Eroffnet die Moglichkeit, dass _basedir_ als Eigenschaft bei anderen Aufgabentypen, die auf Grundlage des \sim-Pakets definiert sind, zu setzen. Bei Aufgabe ist dieses bereits gesetzt durch:

\xsimsetup{

\inputOnce{_(_Datei_)}

Eingefuhrt in

\inputOnce{_(_Datei_)}

Die angegebene Datei wird eingebunden. Dieses geschieht innerhalb eines Dokumentes aber genau einmal, auch wenn dieser Aufruf in mehreren Aufgaben angegeben ist. So kann z. B. auf einen gemeinsamen Text zuruckgegriffen werden. Das Basedir wird im Pfad zur Datei mit berucksichtigt, so dass \getBasedir nicht in der Pfadangabe mit genutzt werden darf.

5. Bewertung

### Umgebungen

\begin{aufgabenpoolHinweis}

Innerhalb dieser Umgebung konnen Hinweise zur Aufgabe gemacht werden, die an den Steller der Arbeit bzw. Klausur gerichtet sind. Diese werden dann in der einzelnd stehenden Aufgabe auch angezeigt. Wird die Aufgabe in einer Klassenarbeit bzw. Klausur eingebunden, werden diese Hinweise nicht mit gesetzt.

### Optionen an Aufgaben

Zu jeder Aufgabe lassen sich einstellbare Optionen angeben. Mit diesen kann man regeln, ob bestimmte Teile im fertigen Dokument mit eingebunden werden sollen oder nicht. So lassen sich zum Beispiel bestimmte Teilaufgaben ausklammern und nicht bei jeder Nutzung der Aufgabe darstellen. Es gibt auch die Moglichkeit die Einbindung weiterer Dokumente so zu regeln, dass sie einmal in einer Klassenarbeit/Klausur gesetzt werden, auch wenn sie in mehreren Aufgaben aus dem Aufgabenpool vorkommen.

#### 4.3.1 Befehle

\ifAufgabenpoolOptionTF{_(Optionname)_}{_<Wahr>_}{_<Falsch>_}

Dieses bietet die Moglichkeit anhand der gewahlten Option bestimmte Teile anzeigen zu lassen oder nicht. Der Wahr-Teil wird ausgefuhrt, wenn die angegeben Option gewahlt ist. Gleiches gilt fur den Falsch-Teil, wenn die Option nicht gewahlt ist. Zur Vereinfachung gibt es diesen Befehl auch nur mit dem Wahr- oder Falsch-Teil.

\ifAufgabenpoolOptionTF{_(Optionname)_}{_<Wahr>_}

Siehe \ifAufgabenpoolOptionTF{_(Optionname)_}{_<Falsch>_}

Siehe \ifAufgabenpoolOptionTF{_(Optionenname)_}

Dieses kann im Kopf der Aufgabendatei genutzt werden, um die Optionen zu setzen. So lassen sich die verschiedenen Ansichten bereits im Aufgabendokument anzeigen.

## 5 Bewertung

Das Modul Bewertung erganzt das Modul Aufgaben um die Moglichkeiten eines Erwartungshorizonts und der Berechnung der Notenverteilung. Die Punkteangaben beim Erwartungshorizont werden auch als Punkte fur die Aufgaben herangezogen und mussen so nicht doppelt angegeben werden.

\(\Delta\)**Achtung:**Soll in einem Dokument ein Erwartungshorizont gesetzt werden, mussen alle Aufgaben Erwartungen enthalten!5. Bewertung

### 5.1. Paketoptionen

erwartungshorizontAnzeigen

hangt den Erwartungshorizont im gewahlten Stil automatisch an das Dokument an, setzt vorher die Seitennummerierung und die Dokumentbezeichnung in der Kopfzeile zuruck.

Unter dem Erwartungshorizont wird automatische eine Notenverteilung gesetzt.

\(\blacktriangle\)**Achtung:**: Diese Option ist nur fur eigenstandige Dokumente, z. B. mit der Dokumentenklasse scrartcl gedacht. Sie greift tief in den Ubersetzungsprozess ein und ist geeignet Fehler im Zusammenspiel mit anderen Paketen zu provozieren.

erwartungshorizontKeineSeiten

entfernt die Seitennummerierung im Erwartungshorizont.

erwartungshorizontStil = einzeltabellen|simpel|standard Voreinstellung: standard

legt den Stil des Erwartungshorizonts fest. Bisher gibt es drei verschiedene Stile:

erwartungshorizontStil = einzeltabellen setzt fur jede Aufgabe eine eigene Uberschrift und darunter eine Tabelle mit den einzelnen Erwartungen. Unter die Erwartungen aller Aufgaben wird mit \(\backslash\)punktuebersicht eine Ubersicht uber die erreichten Punkte gesetzt.

erwartungshorizontStil = simpel setzt einen Bewertungsbogen ohne Punkte mit drei Smiley-Feldern zum Ankreuzen. Die Notenverteilung wird hier ebenfalls nicht geetzt.

erwartungshorizontStil = standard setzt einen klassischen Erwartungshorizont in einer zusammenhangenden Tabelle. Die Umgebung ist longtable, die Tabelle bricht also bei langeren Erwartungshorizonten auf die nachste Seite um.

5. Bewertung

kmkPunkte

schaltet alle benotungsrelevanten Funktionen vom normalen Notensystem (_ungenugend_ bis _sehr gut_) auf KMK-Notenpunkte (0 bis 15) um.

notenOhneTendenz

Gibt in der Notenubersicht nur die sechs Notenstufen ohne Tendenzen an. Diese Option ist nicht mit der Option kmkPunkte vereinbar.

notenschema = {_15=.95,..._}

gibt ein Notenschema fur die Berechnung der Notenverteilung an. Es muss eine Liste mit der Zuordnung von Notenpunkten zu Prozentwerten ubergeben werden. Die Prozentwerte geben dabei jeweils die untere Grenze fur die jeweilige Note an.

Das Standardnotenschema ist 15 =.95, 14 =.9, 13 =.85, 12 =.8, 11 =.75, 10 =.7, 9 =.65, 8 =.6, 7 =.55, 6 =.5, 5 =.45, 4 =.39, 3 =.33, 2 =.27, 1 =.2

#### 5.1.1 Umgebungen

\begin{erwartungen}

erlaubt es, zu einzelnen Aufgaben Erwartungen anzugeben. Die einzelnen Erwartungen werden dabei mit dem Makro \erwartung angegeben. Diese Umgebung kann nur direkt innerhalb der Umgebung einer Aufgabe genutzt werden.

#### 5.1.2 Befehle

\erwartung{_(Erwartung)_}{_{_Punkte_}}{_{_Zusatzpunkte_}}

definiert eine einzelne Erwartung innerhalb der Umgebung erwartungen. Der Parameter kann beliebigen LaTeX-Code enthalten bis auf Verbatim-Elemente. Des weiteren werden die Punkte fur diese Erwartung als Parameter erwartet. Als optionalen Parameter konnen Zusatzpunkte angegeben werden.

\erwartungshorizont

setzt den Erwartungshorizont im gewahlten Stil, falls die automatische Erzeugung uber die Paketoption erwartungshorizontAnzeigen nicht genutzt wird.

\notenverteilung

setzt die Notenverteilung, falls die automatische Erzeugung uber den Erwartungshorizont nicht genutzt wird. Die Verteilung wird uber die Gesamtpunkte aller Aufgaben unter Berucksichtigung des gewahlten Notenschemas ermittelt.

6Format

Dieses Modul definiert einige grundlegende Paketoptionen fur die Formatierung von Documenten und stellt passende Makros bereit. Ausserdem bindet es das Paket ulem fur verschiedene Textformatierungen ein.

### Formatierungen

Uber verschiedene Paketoptionen kann das Aussehen der vom Schule-Paket erstellten Dokumente beeinflusst werden. Es sind zudem einige Makros vorhanden, die haufig verwendete Formatierungen und Sonderzeichen bereitstellen.

#### 6.1.1 Paketoptionen

farbig

aktiviert die farbige Darstellung.

sprache

fugt eine Liste von CSV Sprachen dem Babelpaket hinzu. ngerman ist immer geladen (als Hauptsprache)

#### 6.1.2 Befehle

\achtung{(_Text_)}

Der Befehl \achtung stellt den angegebenen Text mit einem vorangestellte Warnsymbol und einem fettgedruckten >>Achtung: << dar.

\achtung{Dies ist ein Beispiel.}

\chb*

setzt eine ankreuzbares Kastchen, der optionale Stern markiert dieses.

\chb \chb*

\dashuline{(_Text_)}

Der Befehl \dashuline stellt den angegebenen Text unterstrichelt dar.

\dashuline{Dies ist ein Beispiel.}





7. Formulare

Setzen von Passagen in typographische Anfuhrungszeichen.

\enquote{Beispiel} \(\triangleright\)Beispiel\(\triangleleft\)

\diagraming{_Zeichenkette_}

Darstellung von Zeichenketten (strings) in Diagrammen usw.

\diagraming{Beispiel} "Beispiel"

**Hinweis:** Teilweise kann es zu Fehlern kommen, wenn das Paket csquotes mit eigenen Optionen geladen wird.

## 7 Formulare

Das Modul Formulare befindet sich noch in der Entwicklung. Es soll die Moglichkeit bieten, Formulare aus dem hyperref in PDF-Dokumenten komfortabel einzubinden. Dabei sollen auch die Moglichkeit erhalten bleiben, dass die gesetzten Dokumente in ausgedruckter Form fur den Unterricht nutzbar sind.

Durch Einbindung des Moduls wird automatisch eine Form-Umgebung um das komplette Dokument erstellt. Die Ubergabe von Parametern an diese Umgebung muss er noch implementiert werden.

### Befehle

\feldLinFormular[_(Abstand)]{_(Anzahl)_}[_(Textfeldargumente)_]

erstellt ein Textfeld fur das Formular, dass mit der gegebenen Anzahl an Linien fur den Ausdruck versehen ist. Der Abstand der Linien zueinander kann angegeben werden, er betragt standardmassig 0,7cm. Dem Befehl konnen auch Argumente mitgegeben werden, die an das intern genutzte TextField ubergeben werden.

Bei dem Textfeld ist die Schriftgrose 18pt gesetzt, die ungefahr passend zu den Linien-abstand von 0,7cm ist. Ausderdem wurde die Hintergrundfarbe auf leer gesetzt, damit die Linien zu erkennen sind.

\feldLinFormular[0.5cm]{3}


## 9 Lizenzen

Dieses Modul definiert die Paketoptionen zum Festlegen der Lizenz des Dokuments und bietet Makros zum Setzen des Lizenznamens und der Lizenzsymbole an. Es setzt dabei einnu auf das Paket doclicense, dass auch entsprechende Werte in die PDF-Datei einbindet. Aus Kompatibilitatsgrunden wird das alte Verhalten beibehalten.

### Paketoptionen

lizenz = {_\Lizenzcode_} & Voreinstellung: cc-by-nc-sa-4  legt die Lizenz fur das Dokument fest. Aktuell werden folgende Codes unterstutzt:

\cc-by-4 \cc-by-sa-4 \cc-by-nc-sa-4 \nohyprexmp  deaktiviert die Einbindung der Lizenz uber hyperxmp in das Dokument.

### 9.2 Befehle

\lizenzName gibt den vollstandigen Namen der Lizenz des Dokuments zuruck.

\lizenzNameKurz gibt den gekurzten Namen der Lizenz des Dokuments zuruck.

\lizenzSymbol setzt das Symbol der Lizenz des Dokuments.

## 10 Metadaten

Dieses Modul definiert die Paketoptionen zum Setzen bestimmter Metadaten und bietet Makros zum Zugriff darauf an.

Im Gegensatz zu alteren Versionen des Schule-Paketes werden fur Metadaten immer die Standardmakos von LaTeX eingesetzt, soweit dies moglich ist. Dies gilt etwa fur Autor (\author{\(\mathit{Autor})}), Datum (\date{\(\mathit{Datum})}) und Titel (\title{\(\mathit{Titel}\)}) des Dokumentes. Es werden allerdings auch fur diese Metadaten Makros zum einfachen Zugriff aus dem Dokument heraus definiert.

### 10.1 Paketoptionen

fach = {(\(\mathit{Fach}\))}

left das Fach fur das Dokument fest, siehe Abschnitt III, S. 37.

lerngruppe = {(\(\mathit{Lerngruppe}\)}

left die Lerngruppe fur das Dokument fest.

nummer = {(\(\mathit{Dokumentnummer}\)}

left die Dokumentnummer fest.

### 10.2 Befehle

\Author gibt den Autor des Dokuments zuruck.

\Datum gibt das Datum des Dokuments zuruck.

\Fach gibt das Fach des Dokuments zuruck.

\Lerngruppe gibt die Lerngruppe des Dokuments zuruck. Als Alternative ist auch \Kurst definiert.

\Nummer gibt die Nummer des Dokuments zuruck.

11. Papiertypen

List

gibt den Titel des Dokuments zuruck.

## 11. Papiertypen

Das Modul Papiertypen stellt einige Makros bereit, die es erlauben, Freiraume zum Bearbeiten von Aufgaben zu setzen. Hierzu stehen verschiedene Muster zur Auswahl. Die entsprechenden Felder werden dabei in der Breite jeweils auf \linewidth skaliert, allerdings so, dass ein vollstandiges Muster entsteht. Die zur Verfugung stehende Breite wird also optimal genutzt.

### 11.1. Befehle

{feldLin[\(_Abstand_)]{_(_Anzahl_)}

setzt die angegebene Anzahl Linien mit dem angegebenen Abstand zueinander. Der Standardabstand betragt 1_cm._

```
1\feldLin[1cm]{4}
```

```
\feldKar[(_Seitenlange_)]{_(_Anzahl_)}
```

setzt die angegebene Anzahl von Karo-Kastchen mit einer gegebenen Seitenlange. Der Standard fur die Seitenlange betragt 0,5_cm.

```
1\feldKar[0.5cm]{5}
```


12. Symbole


## 13. Texte

Dieses Modul definiert einige Umgebungen, die fur die Formatierung langerer Texte hilfreich sind.

\(\blacktriangle\)**Achtung:**Da die Umgebungen mit Zeilennummern nicht ohne grosse Klimmzuge in umrahmte Boxen gesetzt werden konnen, sehen die Beispiele hier ein wenig anders aus.

### 13.1. Befehle

\resetZeilenNr

Standardmassig werden die Zeilennummern uber die Umgebungsgrenzen hinweg vergeben. Mochte man in jeder neuen Umgebung mit 1 beginnen, so muss man die Zeilennummer mit diesem Befehl zunachst zurucksetzen.

### 13.2. Umgebungen

\begin{mehrspaltig}[\{_Anzahl_{\}\}]

Setzt einen gegebenen Text mehrspaltig, wobei die Anzahl der Spalten angegeben werden kann. Die Standardanzahl ist 2.




## 14 Nutzung der Fachmodule

Die fachspezifischen Funktionen und Vorgaben sind in sogenannte Fachmodule aufgeteilt, die uber Paketoptionen flexibel geladen werden konnen.

fach = \(Fach) Mit der Paketoption fach kann das Fach fur das Dokument festgelegt werden. Es werden dann alle fachspezifischen Funktionen und Vorgaben fur das Fach geladen.

Mit der Angabe von fach = ohne kann auf die Angabe eines Faches verzichtet werden, etwa fur die Einbindung in Dokumentationen etc.

Wird ein Fach angegeben, zu dem kein Fachmodul existiert, so wird dieses nur als Beziehner verwendet.

weitereFaecher = {\(Fach 1,Fach 2,...)} Fur facherubergreifenden Unterricht konnen weitere Fachmodule geladen werden, indem eine kommaseparierte Liste von Fachmodulen angegeben wird.

Hierbei wird auf das Laden moglicher >>Standalone-Abschnitte<< der Fachmodule verzichtet, vgl. Abschnitt 34, S. 62fachmodul:

## 15 Informatik

Das Fachmodul Informatik bindet Pakete ein, um Klassen- sowie Objektdiagramme (pgf-umlcd), Syntaxdiagramme (syntaxdi), Struktogramme (struktex) und Sequenzdiagramme (pgf-umlsd) setzen zu konnen. Die entsprechenden Dokumentationen sind bei den jeweiligen Paketen zu finden. Hier sind lediglich Abweichungen und Erweiterungen vom Standardumfang der Pakete dokumentiert.

### Objektdiagramme

\anchormark[(Horizontale Verschiebung)] {\(Nodename)}[(Skalierung)] Durch den Befehl \anchormark konnen Objektdiagramme mit Beziehungsattribute ausgestattet werden, die an der korrekten Stelle hinter dem Attributbezeichner beginnen.

\(\Delta\)**Achtung:**Dieser Befehl ist nicht skalierungssicher!

\begin{tikzpicture}[remember picture]

\begin{object}[text width=5.5cm]{gustavsRadiowecker}{-3,0}

\attribute{standardt = \diastring{GustavsZimmer}}

* %attribute{weckzeit=\diastring{6:30}} %attribute{weckmodusAktiv=\diastring{Wahr}} %attribute{hatLautspecher=\anchormark{hatLautspecher}[0.025]} %operation{einschalten()} %operation{ausschalten()} %operation{alarmAusloesen()} %end{object} %begin{object}[textwidth=4.5cm]{gustav}{-10,0} %attribute{name=\diastring{GustavGrabert}} %attribute{geburtstag=\diastring{3.10.1998}} %attribute{besitzt=\anchormark{besitzt}[0.025]} %attribute{kennt=\anchormark{gKennt}[0.025]} %end{object} %begin{object}[textwidth=4.5cm]{fridolin}{-10,-4} %attribute{name=\diastring{FridolinWagner}} %attribute{geburtstag=\diastring{1.4.1999}} %attribute{kennt=\anchormark{fKennt}[0.025]} %end{object} %begin{object}[textwidth=5.2cm]{lautspecher}{-3,-5} %attribute{untereFrequenzInHertz=100} %attribute{obereFrequenzInHertz=18000} %end{object}
* %draw(hatLautspecher)--(lautspecher.north); %draw(gKennt.southeast)--(fridolin.north); %draw(besitzt.east)--(gustavsRadiowecker.west); %draw(fKennt.east)--($(fKennt.east)+(3.5,0)$) -|($(gustav.south)+(3,0.2)$)--($(gustav.southeast) +(-0.01,0.2)$); %end{tikzpicture}

\begin{tabular}{l} \begin{tabular}{l} \begin{tabular}{l} \begin{tabular}{l} \begin{tabular}{l} \hline **gustav** \\ \hline name="GustavGrabert" \\ geburtstag="3.10.1998" \\ besitzt=\textbackslash{} \\ kennt=\textbackslash{} \\ \end{tabular} & \begin{tabular}{l} **gustavsRadiowecker** \\ \hline standard="GustavZimmer" \\ weckzeit="6:30" \\ weckmodusAktiv="Wahr" \\ hatLautspecher=\textbackslash{} \\ ausschalten() \\ alarmAusloesen() \\ \end{tabular} \\ \begin{tabular}{l} \begin{tabular}{l} \hline **fridolin** \\ \hline name="FridolinWagner" \\ geburtstag="1.4.1999" \\ kennt=\textbackslash{} \\ \end{tabular} & \begin{tabular}{l} **gustavsRadiowecker** \\ \hline standard="GustavZimmer" \\ weckzeit="6:30" \\ weckmodusAktiv="Wahr" \\ hatLautspecher=\textbackslash{} \\ ausschalten() \\ alarmAusloesen() \\ \end{tabular} \\ 
\begin{tabular}{l} \hline **lautspecher** \\ \hline untereFrequenzInHertz=100 \\ obereFrequenzInHertz=18000 \\ \hline \end{tabular} \\ \end{tabular}

### Sequenzdiagramme

\skalieresSequenzdiagramm{_(Faktor)_}

\(\Delta\)**Achtung:**: Sollte nicht mehr verwendet werden: Besser resizebox oder scalebox

Da es vorkommen kann, dass Sequenzdiagramme zu breit fur eine Seite sind, kann mit dem Befehl \skalieresSequenzdiagramm{_(Faktor)_} die Grosse des Sequenzdiagramms angepasst werden, wenn er innerhalb der Umgebung sequencediagram ausgefuhrt wird.

\newthreadtwo[(_Farbe_)]{_(Bezeichnung)_}{_(Name)_}{_(Abstand)_}

 Threads haben im Gegensatz zu Instanzen im Paket pgf-umlsd immer einen festen Abstand zu den Nachbarn. Durch den neuen Befehl \newthreadtwo ist es uber den dritten Parameter moglich, diesen Abstand zu verandern. Dabei verhalt sich der neue Parameter fur den Abstand genauso wie der zugehorige optionale Parameter bei Instanzen.

```
1\begin{sequencediagram}
2\newthread{fritz}{fritz}
3\newthreadtwo{mutter}{mutter}{3cm}
4\newinst[2]{wecker}{wecker}
5\newinst[2]{lampe}{lampe}
6
7\begin{callself}[2]{fritz}{schlafe()}{}
8\end{verbind{callself}
9\begin{call}{fritz}{gibUhrzeit()}{wecker}{}{}}
10\end{verbind{call}
11\begin{callself}[2]{fritz}{schlafe()}{}
12\begin{call}{mutter}{gibUhrzeit()}{wecker}{}}
13\end{verbind{callself}
14\end{verbind{callself}
15\end{verbind{sequencediagram}

#### Struktogramme

Mit dem Paket struktex lassen sich sehr einfach Struktogramme setzen:

```
\begin{struktogramm}{130,60}[kocheKaffee] \assign{F"ulle1LiterWasserindieKaffekanne} \assign{Gie"sedasWasserindenWasserbeh"alter} \assign{LgeeeeinFilter"uteindenFilter} \ifthenelse{5}{5}{SindideKaffeetrinknerm"ude?}{Ja}{Nein} \assign{Gib6L"offelPulverhinein} \change \assign{Gib5L"offelPulverhinein} \ifend \assign{Dr"uckeaufdenStart-Knopf}
```


## 16 Physik

Das Paket Physik bindet die Pakete units, circuitikz und mhchem. ein, so dass Formeln und Schaltplane gesetzt werden konnen. Ausserdem werden in diesem Modul Standardkonstanten fur Formeln definiert.

Durch das Einbinden des Pakets ziffer wird dafur gesorgt, dass das im deutschen gebrauchliche Komma bei Zahlen richtig gesetzt wird.

16. Physik

### Konstanten

Sehr regelma\(\mathrm{\ddot{\mathrm{\i}}}\)g m\(\mathrm{\ddot{\i}}\)ssen in Formeln physikalische Konstanten eingesetzt werden. Einige werden im Paket definiert, um die Eingabe zu erleichtern.

\elementarladung

Die Elementarladung mit 1,\(602\cdot 10^{-19}\) C.

\plancksche EV

Das plancksche Wirkungsquantum mit 4,\(1357\cdot 10^{-15}\) eVs.

\plancksche J

Das plancksche Wirkungsquantum mit 6,\(626\cdot 10^{-34}\) Js.

\elektronenmasse

Die Masse eines Elektrons mit 9,\(109\cdot 10^{-31}\) kg.

\protonemmasse

Die Masse eines Protons mit 1,\(673\cdot 10^{-27}\) kg.

\lichtgeschwindigkeit

Die Lichtgeschindigkeit mit 2,\(9979\cdot 10^{8}\)/s.

\rydbergfrequenz

Die Rydberg-Frequenz mit 3,\(28984\cdot 10^{15}\) Hz.

\[\small\{\v=\sqrt{\frac{2\cdot U\cdot Q}{m}}\]

\[v=\sqrt{\frac{2\cdot 15000\,\mathrm{V}\cdot 1,\allowbreak 602\cdot 10^{-19}\,\mathrm{C}}{1,\allowbreak 673\cdot 10^{-27}\,\mathrm{kg}}}=1,\allowbreak 70\cdot 10^{6\,\mathrm{m}/\mathrm{s}}\]

### Schaltplane

An dieser Stelle ein Beispiel f\(\mathrm{\ddot{\i}}\)r einen Schaltplan mit circuitkz:

## 17 Geschichte

Das Fachmodul Geschichte bindet das Paket biblatex mit den Einstellungen fur die humanwissenschaftliche Zitierweise ein. Des weiteren werden Befehele fur durchnummerierte Quellen, Materialien und Verfassertexte zur Verfugung gestellt.

#### Befehle

\material[(_Ebene_)]{(_Titel_)} &Voreinstellung: \subsection Erzeugt eine Uberschrift, mit der Material markiert werden kann. Dazu wird am rechten Rand ein M mit einer fortlaufenden Nummer gesetzt. Standardmassig ist als Uberschriftsehene \subsection gesetzt, dass uber den optionalen Parameter geandert werden kann.

\vtt[\(\mathit{Ebene}\)]{(_Titel_)} &Voreinstellung: \subsection Erzeugt eine Uberschrift, mit der eine Quelle markiert werden kann. Dazu wird am rechten Rand ein Q mit einer fortlaufenden Nummer gesetzt. Standardmassig ist als Uberschriftsebene \subsection gesetzt, dass uber den optionalen Parameter geandert werden kann.

\vtt[\(\mathit{Ebene}\)]{(_Titel_)} &Voreinstellung: \subsection Erzeugt eine Uberschrift, mit der ein Verfassertext markiert werden kann. Dazu wird am rechten Rand ein VT mit einer fortlaufenden Nummer gesetzt. Standardmassig ist als Uberschriftsebene \subsection gesetzt, dass uber den optionalen Parameter geandert werden kann.

Die so erstellten Textabschnitte konnen mit \nameref{sec:$REFERENZ_ART$NUMMER} referenziert werden, z. B. per \nameref{sec:vt1}. Fur weitere Hinweise siehe Bsp. 9, S. 59.

## Teil IV.

Dokumenttypen dienen dazu, Vorgaben fur spezielle Arten von Dokumenten zu machen und entsprechende Makros bereitzustellen. Ublicherweise wird eine bestimmte Dokumentklasse fur die Verwendung empfohlen, grundsatzlich sind die Dokumenttypen aber unabhangig von der verwendeten Klasse.

Die Typen werden uber die Paketoption typ geladen. Ist der Typ unbekannt, wird ein Arbeitsblatt gesetzt und der die Bezeichnung des Dokuments wird auf den angegebenen Typ eingesetellt.

Wird kein Typ angegeben, ist der Kompatibilitatsmodus zum alten Schule-Paket aktiv. Es wird folglich kein Dokumenttyp geladen. Ebensowenig wird ein Dokumenttyp geladen, wenn der Typ auf typ = {ohne} gesetzt wird, da sich das Paket dann im eingebetteten Modus befindet, also kein eigenstandiges Dokument gesetzt werden soll.

Somit lasst sich schule auch in Prasentationen mit beamer setzen, siehe Bsp. 6, S. 58.

## 18 Arbeitsblatt

Dieser Dokumenttyp ist der Standard des Schulepakets. Wird ein unbekannter Dokumenttyp verwendet, wird stattdessen ein Arbeitsblatt gesetzt. Um gezielt das Arbeitsblatt zu verwenden ist als Typ ab anzugeben.

Die empfohlene Dokumentklasse ist scratch.

Die Vorgaben des Dokumenttyps definieren Kopf- und Fusszeilen in der ublichen Darstellung des Schule-Pakets. Daruber hinaus werden keine weiteren Vorgaben gemacht.

## 19 Klausur

Dieser Dokumenttyp wird fur Klausuren und Klassenarbeiten verwendet. Fur die Verwendung der Klausur oder Klassenarbeit ist als Typ kl anzugeben.

Die empfohlene Dokumentklasse ist scratch.

Die Vorgaben des Dokumenttyps definieren Kopf- und Fusszeilen in der ublichen Darstellung des Schule-Pakets. Ausserdem werden Namens- und Datumsfelder erzwungen.

### Paketoptionen

klausurtyp = klausur|klasse|kurs Voreinstellung: klausur

legt fest, ob die Klausur als Klausur (Standard), Kursarbeit (klausurtyp = {kurs}) oder Klassenarbeit (klausurtyp = {klasse}) bezeichnet wird.

20. Leitprogramm

Als Leitprogramm wird eine Grundlage fur den Unterricht bezeichnet, mit dem Schulerinnen und Schuler sich ein grosseres Thema erarbeiten konnen. Ein Leitprogramm enthalt dafur erklarende Texte sowie Aufgaben mit Hinweisen und Losungen. Diese werden von Elemente werden von den Lernenden selbststandig gelesen und bearbeitet. Zum Abschluss eines Kapitels gehort in der Regel ein Kapiteltest. Dieses holen sich die Schulerinnen und Schuler bei der Lehrkraft ab um ihn zu bearbeiten und ihn anschliessend direkt von der Lehrkraft kontrollieren zu lassen. Dieser Test wird dabei nur auf Grundlage des Erlernten und ohne direktes Hinzunehmen des Leitprograms absolviert.

Der Dokumententyp Leitprogramm, als Typ ist leit anzugeben, stellt die layouttechnischen Grundlagen bereit und sorgt fur die Verknupfungen zwischen den Aufgaben und den dazugehorenden Hinweisen und Losungen. Der Dokumententyp lasst sich aber auch fur ein Skript nutzen, dass aus verschiedenen Kapiteln besteht. Die empfohlene Dokumentklasse ist scrreprt. Ein Beispiel ist unter Bsp. 5, S. 57 aufgefuhrt.

### Paketoptionen

Beim Leitprogramm werden standardmagig von der Aufgabe Links zu moglichen vorhanden Losungen oder Bearbeitungshinweisen gesetzt. Da dieses Schaltflachen auch angezeigt werden, wenn die Losungen bzw. Hinweise nicht eingebunden wurden, kann die Anzeige uber Paketoptionen ausgeschaltet werden.

hinweisLinkVerbergen verbigt Links bei der Aufgabe zu moglichen Bearbeitungshinweisen.

loesungLinkVerbergen verbigt Links bei der Aufgabe zu moglichen Losungen.

### Befehle

VTextFeld{_(Hohe)_}

Erstellt ein Formularfeld mit der angegebenen Hohe und der aktuellen Spaltenbreite. Mit passenden Anzeigeprogrammen kann dann an dieser Stelle im PDF-Dokument Text eingegeben werden.

vmonatWort{_(Monatszahl)_}

Ubersetzt den als Zahl angegeben Monat in den deutschen Namen. Sollte die Zahl nicht erkannt werden, wird >> unbekannter Monat<< ausgegeben.

vuebungBild

Erstellt ein Symbol fur eine Ubung, dass allen Aufgaben innerhalb eines Leitprograms vorangestellt wird.

vhinweisBild

Erstellt ein Symbol fur ein Hinweis.

21. Lernzielkontrolle

### Umgebungen

\begin{hinweisBox} Erzeugt eine optisch hervorgehobene Box, die mit dem Symbol fur einen Hinweis gekennzeichnet ist.

### Lernzielkontrolle

Dieser Dokumenttyp wird fur Lernzielkontrollen verwendet. Fur die Verwendung der Lernzielkontrolle ist als Typ lzk anzugeben. Die empfohlene Dokumentklasse ist scrartcl. Die Vorgaben des Dokumenttyps definieren Kopf- und Fusszeilen in der ublichen Darstellung des Schule-Pakets. Ausserdem werden Namens- und Datumsfelder erzwungen.

### Ubungsblatt

Dieser Dokumenttyp wird fur Ubungsblatter verwendet. Der Hauptunterschied zum Typ \(\ast\)Arbeitsblatt\(\ast\) liegt darin, dass Aufgaben als \(\ast\)Ubungen\(\ast\) bezeichnet werden. Fur die Verwendung des Ubungsblatts ist als Typ ueb anzugeben. Die empfohlene Dokumentklasse ist scrartcl. Die Vorgaben des Dokumenttyps definieren Kopf- und Fusszeilen in der ublichen Darstellung des Schule-Pakets. Daruber hinaus werden keine weiteren Vorgaben gemacht.

### Unterrichtsbesuch

Dieser Dokumenttyp dient als Grobvorlage fur Unterrichtsbesuche. Eine komplette Vorlage wird nicht angeboten, da die Studienseminare unterschiedliche Anforderungen stellen und es auch in den einzelnen Seminaren sehr haufig Anderungen an den layouttechnischen Aspekten gibt. Die Hauptanwendungen dieses Dokumenttyps sind daher Unterrichtsbesuche, bei denen es keine festen Vorgaben gibt, wie z. B. bei Revisionen oder der Materialsammlung fur Informatik, die vollstandig dieses LaTeX-Paket nutzt. Fur die Verwendung dieses Dokumententyps ist ub anzugeben.

Als Dokumentklasse wird fur diesen Typ scrartcl empfohlen. Darin wird durch den Dokumenttyp Kopf- und Fusszeile gesetzt, sowie eine Titelseite erzeugt, die mit Angaben gefullt wird, die fur einen Unterrichtsbesuch typisch sind und entsprechend angegeben werden mussen.

### Befehle fur Angaben zum Unterrichtsbesuch

Mit den folgenden Befehlen werden Angaben gesetzt, die auf der Titelseite des Unterrichtsbesuch angezeigt werden.

* setzt den Eintrag, um was fur eine Art es sich bei dem Unterrichtsbesuch handelt. Dieses kann z. B. sein:,,2. Unterichtsbesuch im Fach Informatik".

* setzt den Namen des Lehrers, der neben der Titelseite auch im Seitenkopf angezeigt wird.

* setzt den Eintrag fur die Schulform wie z. B. Gesamtschule.
* [(_Kurzform der Lerngruppe_)] {_Name der Lerngruppe_)} {_Anzahl weiblich_)} {_Anzahl mannlich_)}
* sorgt dafur, dass die Angaben zur Lerngruppe gesetzt werden. Der Name wird auf dem Titelblatt und im Seitenkopf angegeben, auser die optionale Moglichkeit der Kurzform wurde genutzt. In diesem Fall wird die Kurzform im Seitenkopf angegeben. Aus der Anzahl der weiblichen und mannlichen Schulerinnen und Schuler wird automatisch die Gesamtzahl bestimmt, daher sind fur diese Angaben nur Zahlen erlaubt.
* [(_Startzeit_)] {_Endzeit_} {_Stunde_}
* bietet die Moglichkeit, die Zeiten der Besuchsstunde anzugeben. Neben der Uhrzeit des Beginns und des Endes muss angegeben werden, um welche Stunde es sich an dem entsprechenden Tag handelt.
* [(_Name der Schule_)]
* hieruber lasst sich der Name der Schule angeben, der auf der Titelseite angezeigt wird.

* bietet die Moglichkeit die Bezeichnung des Raumes anzugeben, in dem die Besuchsstunde stattfinden soll.

## 24 Folie

Bei der Nutzung des Dokumenttyps Folie wird eine Seite mit wenig Rand zur Verfugung gestellt, der die Fuss und Kopfzeile fehlt. So kann moglichst viel auf eine Folie gedruckt werden, wenn diese im Unterricht zum Einsatz kommen soll. Um den Dokumenttyp verwenden zu konnen muss folie als Typ angegeben werden.

## 25 Beurteilung

Bei der Nutzung des Dokumenttyps Beurteilung werden einige Makros geladen, so dass Beurteilungen von Lehramtsanwarterinnen und Lehramtsanwartern bzw. Lehrkraften in Ausbildung einfach gesetzt werden konnen. U. a. wird dazu die Titelseite entsprechend gestaltet und Umgebungen fur die Handlungsfelder vortormatiert.

#### 25.1. Paketoptionen

Die folgenden Optionen sollten in der Praambel dem Schulte-Paket mitgegeben werden.

beurteilung

Gibt den Namen des Beurteilenden an, z. B. beurteilung={Marine Musterfrau}.

ref

Gibt den Namen des Beurteilten an, z. B. ref={Sabine Musterref}.

zeitraum

Gibt den Zeitraum des Gutachtens an (nicht nur die einzelnen gesehenen Unterrichte), z. B. zeitraum={02.02.19-03.05.19}.

schulname

Gibt den Namen der Schulte an.

schullogo

Ladt das Schullogo auf die Titelseite rechts oben. Das Schullogo sollte LaTeXals logo.pdf vorliegen.

schulanschrift

Wenn ein Schullogo gesetzt wird, kann zusatzlich der Name der Schulte,

schulstr

die Strasse der Schulte und

schulort

der Ort der Schulte ausfuhrlich unter das Logo geschrieben werden.

lehrmt

Gibt an, um welches Lehramt es sich handelt, z. B. GyGe.

#### 25.2. Befehle

\setzeGrundlagen{Termine}

Uber den Mechanismus konnen auf der Titelseite Eintrage in die Tabelle zum hospitierten bzw. gegebenen Unterricht eingetragen werden. Dabei werden drei Spalten erwartet. Z. B.: \(\backslash\)setzeGrundlagen{02.04.-01.05.2019 & 9b & Themen}

#### 25.3. Umgebungen

\begin{handlungsfeld1}

\begin{handlungsfeld2}


## 26 Nutzung der Zusatzpakete

Die Zusatzpakete sind normale LaTeX-Pakete und konnen auch so eingesetzt werden. Allerdings erfolgt die Nutzung innerhalb des Schule-Pakets in der Regel uber die Einbindung in Modulen oder Fachmodulen. Dennoch ist die direkte Einbindung moglich, auch unabhangig vom Schule-Paket.

## 27 Schaltungen mit Relais

Durch das Paket relaycircuit ist es moglich Schaltungen mit Relais zu zeichnen. Dazu wird die neue Knotenform _relais_ deklariert, die sich in _arbeits relais_ (Bezeichnung: AK) und _ruhe relais_ (Bezeichnung: RK) aufteilen. So kann der Schaltplan eines logischen NAND mittels Relais wie folgt gesetzt werden:

``` \begin{tikzpicture} \draw(0,6.8)node[left]{(+\}) --(9,6.8); \draw(0,0)node[left]{(-\}) --(9,0); \draw(4.5,0)to[short, *-](4.5,0)node[ground]{};
5 \draw(7.4,2.5)to[short,*-](7.5,2.5)to[lamp](9,2.5) node[ground]{};
6 \draw(2.5,5.8)node[arbeits relais](a1){}; \draw(2.5,4)node[arbeits relais](a2){};
7 \draw(2.4,6.8)to[short,*-](a1.anschluss);
8 \draw(a1.ausgabe)--(a2.anschluss);
9 \draw(2.5,1)node[ruhe relais](r1){};
10 \draw(a2.ausgabe)--(r1.anschluss);
11 \draw(r1.ausgabe)to[short,-*](2.4,0);
12 \draw(5,1)node[ruhe relais](r2){};
13 \draw(r2.ausgabe)to[short,-*](4.9,0);
14
15 \draw(7.5,1)node[arbeits relais](a3){};
16 \draw(7.5,4)node[ruhe relais](r3){};
17 \draw(a3.anschluss)--(r3.ausgabe);
18 \draw(a3.ausgabe)to[short,-*](7.4,0);
19 \draw(r3.anschluss)to[short,-*](7.4,6.8);* [26] \draw (2.4,2.5) to[short,*-*] (4.9,2.5) -| (a3.eingabe);
* [27] \draw (r2.anschluss) |- (r3.eingabe);
* [28] \draw (0,4.7) node [left] {A} to[short,-*] (0.2,4.7) -- (a2.eingabe);
* [29] \draw (0.2,4.7) |- (r1.eingabe);
* [30] \draw (0,2.1) node [left] {B} to[short,-*] (0.4,2.1) -| (r2.eingabe);
* [31] \draw (0.4,2.1) |- (a1.eingabe);
* [32] \end{tikzpicture}

## 28 Das alte Schule-Paket

Bei der mit Version 0.7 verbundenen Neuentwicklung wurde das alte Schule-Paket in schulealt umbenannt und die Dokumentklassen entsprechend angepasst.

Um zu vermeiden, dass alle alten Dokumente nicht mehr gesetzt werden konnen, wird das alte Paket mitgeliefert. Zudem wurde ein Kompatibilitatsmodus implementiert, der dafur sorgt, dass das Einbinden des Schule-Pakets ohne die Paketoption typ dazu fuhrt, dass das Laden des neuen Pakets fruhzeitig unterbrochen und stattessen das alte Paket geladen wird. Somit sollten alle alten Dokumente unverandert gesetzt werden konnen.

Fur die Befehe des alten Schule-Pakets kann in der Doku nachgesehen werden, die dem Zusatzpaket schulealt beiliegt.

\(\blacktriangle\)**Achtung:** Wahrscheinlich wird das alte Paket in der Zukunft entfernt werden. Es sollte also keinesfalls fur neue Dokumente verwendet werden.

## Teil Vl.

Haufig gestellte Fragen

### Formatierung

#### Kann ich ein anderes Papierformat als A4 verwenden?

Ja! Denn dies wird von der Dokumentenklasse und nicht vom Schule-Paket festgelegt, z. B. ein A5-Blatt im Querformat:

```
1\documentclass[aSpaper,landscape]{scrartcl}
```

#### Kann ich die Seitenrander festlegen?

Ja! Dazu kann einfach das ubliche Paket geometry im Dokument genutzt werden, z. B.:

```
1\usepackage[
2left=3cm,
3right=2cm,
4top=2cm,
5bottom=2cm,
6footskip=1cm
7]{geometry}
```

#### Ist es moglich, in den erstellten Materialien Schreibschriften zu verwenden?

Ja! Das ist kein Problem, allerdings ist das in LaTeX bereits so einfach, dass das Schule-Paket hier keine abweichenden Funktionen implementiert.

Zu empfehlen ist hier das Paket schulschriften. Dieses bringt Fonts fur die folgenden Schreibschriften mit:

**wesu**: Sutterlinschrift (1911)
**wedn**: Deutsche Normalschrift (1941)
**wela**: lateinische Ausgangsschrift (1953)
**wesa**: Schulausgangsschrift (1968, ehem. DDR)

**weva**: Vereinfachte Ausgangsschrift (1972)

Diese konnen einfach verwendet werden, indem das jeweilige Paket, z. B. weva, eingebunden wird. Danach kann die zugehorige Schrift verwendet werden

1

weva Vereinfachte Ausgangsschrift

_Vereinfachte Ausgangsschrift_




#### Informatik

```
1documentclass[12pt,4paper]{scrartcl}
2usepackage[
3typ=ab,
4fach=Informatik,
5lerngruppe=EF,
6]{schule}
7
8%DiesesDokumentistinderZusammenarbeitvon verschiedenen
9%InformatikreferendarenundInformatiklehrern entstanden.
10%DerHerausgeberdiesesDokumentsistdie Fachgruppe Informatische
```
1\documentclass[a4paper]{scrartcl}
2usepackage[
3fach=Informatik,
4lerngruppe={GKEF},
5typ=kl,
6klausurtyp=klausur,
7nummer=2,
8farbig,
9datumAnzeigen,
10seitenzahlen=autoGesamt, ```
#### Physik
```
1documentclass[a4paper]{scrartcl}
2usepackage[
3typ=ab,
4fach=Physik,
5lerngruppe=9a,
6nummer=2A,
7datumAnzeigen,
8namensfeldAnzeigen,
9]{schule}

## Teil VIII.

Entwicklungsdotumentation

### Lizenzen

Es ist erlaubt, diese Software unter den Bedingungen der LaTeX Project Public License (lprl), Version 1.3c oder spater, zu kopieren und zu verteilen ([http://www.latex-project.org/lprl.txt](http://www.latex-project.org/lprl.txt)). Sie hat den Status "maintained."

Einzelne Code-Beispiele in dieser Dokumentation stammen aus der Materialsammlung Informatik2 und unterliegen damit der CC-BY-NC-SA (Creative Commons Attribution-NonCommercial-ShareAlike License).

Footnote 2: [http://doi.uni-wuppertal.de/material/materialsammlung/index.html](http://doi.uni-wuppertal.de/material/materialsammlung/index.html)

### Richtlinien

Um die Quelltexte des Pakets uber einen langeren Zeitraum halbwegs konsistent und dokumentiert zu halten und somit die leichtere Einarbeitung neuer Betreuer zu ermoglichen, wurden folgende Richtlinien vereinbart:

* Bei samtliche Klassen- und Paketquellen sollten lange Zeilen vermieden werden.
* Bei der Dokumentation (dokumentation.tex) soll kein automatischer Umbruch im Dokument stattfinden, um Anderungen im Text einfacher nachhalten zu konnen.
* Auf Einruckungen sollte geachtet werden. Zeilenumbruche sind ggf. entsprechend auszukommentieren.
* Einruckungen erfolgen mit Leerzeichen in einer Weite von 4.
* Alle internen Makros und Variablen sollen im Namensraum schule@ stehen, z. B. schule@ergebnshorizontAnzeigen.
* Sprechende Bezeichner sollten verwendet werden.
* Fur neue Funktionen sollte ein neues Modul oder ein neuer Dokumenttyp angelegt werden, sofern es sich um keine klare Erganzung handelt.
* Neue Funktionen und Anderungen sind in der Dokumentation mit den Mitteln von cntlx-doc zu kennzeichnen, z. B. mit \changedversion{\version} fur Anderungen oder \sinceversion{\version} fur neue Funktionen. Auserdem sind sie im Changelog zu vermerken.

34. Modularitat

### 34.1. Erlauterungen zum Modulsystem

Ein zentrales Problem des alten Schule-Pakets bis Version 0.6 war, dass es sehr monolithisch aufgebaut und alles integrierte, was im Schulalltag und in der Lehrerausbildung nutzlich sein konnte. So wurden die Weiterentwicklung und Ubergabe an neue Maintainer schwierig, da stets eine Einarbeitung in alle Bereiche erforderlich war.

Die grundlegende Entscheidung fur das neue Schule-Paket ist es also, eine Modularisierung zu etablieren, die, zusatzlich zu einem stabilen Kern, verschiedene Funktionen und Fachspezifika entsprechend kapselt und von diesem Kern trennt.

Ein eindeutiger Aufbau dieser Module soll dafur sorgen, dass es leichter wird, neue Funktionen zu erganzen, ohne den gesamten Quelltext des Pakets kennen und verstehen zu mussen.

Grundsatzlich gibt es drei verschiedene Arten von Modulen im Schule-Paket: **Module**, **Fachmodule** und **Zusatzpakete**, vgl. Abschnitt 1.3, S.7.

Erweiterungen ohne direkten Bezug (also alles, das auch ohne das Schule-Paket sinnvoll genutzt werden kann) zum Paket sollten in Form unabhangiger Zusatzmodule implementiert werden.

### 34.2. Aufbau eines Moduls

Ein Modul fur das Schule-Paket besteht aus mehreren Dateien, deren erster Teil des Namens schule.mod.Modulname identisch ist. Je nach Funktion werden dort drei Moglichkeiten angehangen, die als Abschnitte bezeichnet werden. Sobald eine der Dateien mit diesem Schema vorhanden ist, kann das Modul uber seinen Namen eingebunden werden, vgl. Abschnitt II, S.10. Alle Dateien vorgegebenen Dateien liegen dazu im Verzeichnis >>latex<<.

Der Modulmechanismus sorgt dafur, dass die entsprechenden Abschnitte des Moduls an den richtigen Stellen des Quelltextes eingebunden werden. Es sind die folgenden drei Abschnitte definiert:

optionen.tex \(\rightarrow\) Paketoptionen des Moduls, vgl. Paket pgfopts

pakete.tex \(\rightarrow\) Paketabhangigkeiten des Moduls

code.tex \(\rightarrow\) Implementierung des Moduls

All diese Abschnitte sind optional und werden geladen, wenn sie vorhanden sind. Ein Modul kann also beispielsweise nur aus einer code.tex-Datei bestehen, wenn es nur einige Makros definiert.
```
```
1%*****************************
2%*Paketoptionen*
3%*****************************
4
5%BoolescheOptionen
6%*****************************
7\newboolean{schule@nutzeGoodbye}
8
9%Standardwerte
10%*****************************
11\newcommand{schule@weltname}{Welt}
12
13%DefinitionderPaketoptionen
14%*****************************
15\pgfkeys{
16/schule/.cd,
17weltname/.storein={schule@weltname,
18nutzeGoodbye/.valueforbidden,
19nutzeGoodbye/.code={setboolean{schule@datumAnzeigen}{true},
20}
```

```
schule.mod.HalloWelt.pakete.tex
```
1%*****************************
2%*Paketabhangigkeiten*
3%*****************************
4
5\RequirePackage{ifthenelse} ```
schule.mod.HalloWelt.code.tex
```
1%*****************************
2%*HalloWelt!
3%*****************************
4
5\newcommand{halloWelt}{
6\ifthenelse{schule@nutzeGoodbye}{
7Goodbye \schule@weltname!
8}{
9Hallo \schule@weltname!35. Funktionen fur Entwickler

## 35. Funktionen fur Entwickler

### Fehlerbehandlung und Debugging

#### Paketoptionen

iebug

schaltet das Paket in den Debugmodus. Verhindert zudem die Unterdruckung ungefahrlicher Warnungen, die standardmassig aktiv ist.

Diese Paketoption setzt zudem die boolesche Variable schule@debug auf true, sodass jederzeit gepruft werden kann, ob der Debugmodus aktiv ist oder nicht.

#### 35.1.2 Befehle

\sinfo{(_Text_)}  schreibt den angegebenen Text in die Logdatei.

\swarnung{\(_Text_)}  schreibt den angegebenen Text als Warnung in die Logdatei.

\sfehler{\(_Text_)}  schreibt den angegebenen Text als Fehler in die Logdatei und beendet die Kompilierung.

\sdinfo{\(_Text_)}  schreibt den angegebenen Text in die Logdatei, falls der Debugmodus aktiv ist.

\sdwarnung{\(_Text_)}  schreibt den angegebenen Text als Warnung in die Logdatei, falls der Debugmodus aktiv ist.

### Interne Makros

#### 35.2.1 Befehle

\schule@kopfUmbruch  liefert einen Zeilenumbruch, wenn die Kopfzeile an einer Stelle zweizeilig ist, z. B. durch die Darstellung eines Namensfelds oder die Anzeige des Datums.

\schule@modulDateiLaden {\(_Kategorie_)}{\(_Modulname_)}{\(_Abschnitt_)}  Ladt einen Abschnitt eines Moduls. Interne Hilfsfunktion fur das Laden von Modulen.

\(\blacktriangle\) **Achtung:**:  Sollte nicht manuell verwendet werden, sondern nur an den entsprechenden Stellen der schule.sty.

\(\blacktriangle\) **Achtung:**:  Kann mit viel Sorgfalt zur Erfullung von Abhangigkeiten zwischen Modulen genutzt werden. Es ist darauf zu achten, dass dann zu Beginn der Abschnitte des ladenden Moduls die entsprechenden Abschnitte des zu ladenen Moduls eingebunden werden.

Dies fuhrt dazu, dass die Ladereihenfolge der Module nicht mehr sichergestellt werden kann.

\schule@modulNachladen{\(_Modulname_)}  Ladt ein Modul mit allen Abschnitten. Interne Hilfsfunktion fur die Erfullung von Abhangigkeiten in Modulen.

\(\blacktriangle\) **Achtung:**:  Die Verwendung zu anderen Zwecken wird nicht empfohlen, da die Reihenfolge der zu ladenen Module hier nicht beachtet werden kann. Ebenfalls kann so nicht sichergestellt werden, dass der geladene Code an der richtigen Stelle im Quelltext landet, vielmehr wird er genau an der Stelle des Befehls geladen.

## 36. Changelog

Im Laufe der Jahre wurde das Paket immer wieder erweitert. Nicht nur die Anpassung an veranderte Anforderungen, etwa bei den Unterrichtsbesuchen, sondern auch neue Funktionalitaten fliessen in das Paket ein. Die folgende Liste bietet eine Ubersicht uber die letzten Anderungen.

* 2023-10-07 * Modul Aufgabenpool ausgebaut, damit es variable einsetzbar ist * Aufgabentemplate auch fur Losungen setzbar gemacht * Reihenfolge beim Laden von Lizenzen geandert um Problemen mit hyperxmp besser aus dem Weg zu gehen
* 2023-03-19 * Modul Aufgabenpool hinzugefugt * Option: Einbindung von hyperxmp kann bei Lizenzen unterbunden werden * Konstanten fur das Fach Physik erganzt * Abhangigkeit von mdframe entfernt
* 2021-08-09 * Konstanten fur das Fach Physik eingebaut * Einbindung von ziffer im Modul Physik * Notenubersicht ohne Tendenz * Umstellung der Linzenzen auf doclicense
* 2020-10-16 * Anpassungen an neue Version von xsim * Modul Formulare begonnen * Punktubersicht als Ankerpunkt fur die letzte Seite mit Inhalt ermoglicht * Uberarbeitung der mcumgebnung bzgl. Losungen. * Auslagerung von syntaxdi und utfsym in extra Pakete
* 2018-09-06 * Fix fur die Benutzung mit beamer
* 2018-08-22 * Umbau auf flache Verzeichnistiefe fur die Anforderungen von TeXLive
* 2018-08-12 * Vollstandiger Umbau von exsheets auf xsim
37. ToDo

* Modul \(\flat\)Bewertung\(\ast\) hinzugefugt
* Dokumententyp \(\flat\)Leitprogramm\(\ast\) hinzugefugt
* Dokumententyp \(\flat\)Folie\(\ast\) hinzugefugt
* 2017-01-29 * Modul \(\flat\)Lizenzen\(\ast\) hinzugefugt * Fix: Bearbeitungshinweise konnten keine Makros enthalten
* 2017-01-08 * Dokumentklassen verworfen * Dokumenttypen als Module implementiert * Bearbeitungshinweise zu Aufgaben hinzugefugt * Deklaration von \aufgabeMC und \aufgabeLueckentext fur Hinweise ange-past **Inkompatibel** mit der bisherigen Schnittstelle * Ungenauigkeiten in der Doku zu Erwartungen behohen
* 2016-09-01 * Vollstandige Uberarbeitung des Pakets

## 37. ToDo

Die folgende Liste soll die nachsten geplanten Funktionen bzw. Entwicklungsschritte angeben.

### Must-have

*...

### Nice-to-have

* Weitere fur die Schule nutzliche Dokumenttypen integrieren, z. B. Lerntagebucher.
* Praxisbeispiel Klausur: Objekt- und Klassendiagramm mit TikZ setzen.
* TikZ-Stile nicht als Paketoptionen formatieren.
* Dokumentieren des Generierens von Klausuren aus Aufgabendatenbanken wie es mit exsheets moglich war.
* Bessere Trennung von Inhalt und Formatierung (Modul Format sollte alle notwendigen Makros enthalten, Modul Aufgaben sollte sich nicht mehr um die Formatierung kummern)




