\part{Allgemeines} \section{Allgemeines zum Paket} \subsection{Wichtiger Hinweis zur neuen Version} Das Schule-Paket wurde vollständig überarbeitet. Diese Version enthält grundlegende, strukturelle Veränderungen. So wird unter anderem die Vielzahl an Dokumentenklassen stark reduziert und die Konfiguration erfolgt nun über Paketoptionen. Dies führt zu großen Veränderungen der Schnittstelle. Die neue Version ist damit \textbf{nicht kompatibel} zu allen vorhergehenden Versionen. Es besteht allerdings ein \textbf{Kompatibilitätsmodus}, der automatisch für 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 Änderungen ermöglichen die Lösung einiger bestehender Probleme (u.\,a. Quelltexte in Aufgaben und Lösungen). Zusätzlich wurde die Nutzung des Pakets vereinheitlicht und die Nutzung in anderen Dokumentenklassen ermöglicht, sodass etwa die Aufgabenumgebungen auch in Beamer-Präsentationen übernommen werden können. Klausuren unterstützen nun die automatische Erzeugung von Erwartungshorizonten. Eine weitere große Veränderung ist die Ausgliederung der ausbildungsrelevanten Teile (Unterrichtsbesuche, Stundenverläufe 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 können. Die bestehenden Vorlagen werden als eigenständige Klassen mitgeliefert. \subsection{Manuelle Installation} Um die Pakete und Klassen nutzen zu können, gibt es drei Varianten. In der folgenden Beschreibung dieser Möglichkeiten wird von einer standardisierten \LaTeX-Installation ausgegangen -- weitere Hinweise können der Dokumentation der jeweiligen \TeX-Distribution entnommen werden: \begin{description} \item[Global] Für die globale/systemweite Installation der Pakete und Klassen müssen diese in das globale \LaTeX-Verzeichnis der \TeX-Installation kopiert werden: unter Linux in der Regel \texttt{/usr/share/texmf/tex/latex/}. In diesem kann ein weiteres Verzeichnis wie z.\,B. \texttt{schule} angelegt werden, in das alle Dateien des Schulepakets kopiert werden. Damit die Quellen anschließend dem System bekannt sind, muss der Cache von \LaTeX{} neu aufgebaut werden. Bei den meisten Linux-Installationen geschieht dieses durch den Aufruf von \texttt{texhash}. \item[Benutzer] Damit ein Nutzer auf die Quellen zugreifen kann, müssen diese im Benutzerverzeichnis (Home directory) abgelegt werden. Dies geschieht durch das Kopieren der Pakete und Klassen in das Verzeichnis \texttt{texmf/tex/latex/} im Benutzerverzeichnis, das ggf. erst angelegt werden muss. Auch hier sollte -- wie bei der globalen Installation -- ein eigenes Unterverzeichnis angelegt werden. \item[Lokal] Um die Klassen und Pakete ohne weitere Installation nutzen zu können, ist es darüber hinaus möglich, die benötigten Dateien in das Verzeichnis zu kopieren, in dem die Datei liegt, die übersetzt werden soll. Dies ist jedoch aufgrund des Umfangs des Schulepakets weniger empfehlenswert. \end{description} \subsubsection{Voraussetzungen} Ein Grund für die Nutzung des Schule-Pakets und der damit verbundenen speziellen Klassen und Pakete liegt darin, viele der häufig benötigten Pakete zusammen zu fassen. Daher müssen diese für die Benutzung vorhanden sein. Die meisten sind Standardpakete, die mit jeder normalen Installation mitgeliefert sind. Es folgt eine Aufstellung der Voraussetzungen für das Paket \pkg{schule} und die vorhandenen Module. Mit einem Stern (*) markierte Pakete sind im Paket \pkg{schule} bereits enthalten: \begin{multicols}{4} \begin{smallitemize} \item \pkg{amsmath} \item \pkg{babel} \item \pkg{environ} \item \pkg{fontenc} \item \pkg{forarray} \item \pkg{graphicx} \item \pkg{hyperref} \item \pkg{ifthen} \item \pkg{inputenc} \item \pkg{pgfopts} \item \pkg{schulealt} * \item \pkg{tikz} \item \pkg{xcolor} \item \pkg{xparse} \item \pkg{xstring} \item \pkg{zref-totpages} \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Fach \enquote{Informatik} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{listings} \item \pkg{pgf-umlcd} \item \pkg{pgf-umlsd} \item \pkg{relaycircuit} * \item \pkg{struktex} \item \pkg{syntaxdi} \end{smallitemize} \end{multicols} Folgende TikZ-Bibliotheken werden für das Fach \enquote{Informatik} benötigt: \begin{smallitemize} \item er \end{smallitemize} Folgende Pakete werden zusätzlich für das Fach \enquote{Physik} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{circuittikz} \item \pkg{units} \item \pkg{mhchem} \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Fach \enquote{Geschichte} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{uni-wtal-ger} \item \pkg{marginnote} \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Modul \enquote{Aufgaben} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{xsim} \item \pkg{utfsym} * \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Modul \enquote{Format} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{amssymb} \item \pkg{array} \item \pkg{colortbl} \item \pkg{csquotes} \item \pkg{ctable} \item \pkg{enumitem} \item \pkg{eurosym} \item \pkg{graphicx} \item \pkg{longtable} \item \pkg{multicol} \item \pkg{multirow} \item \pkg{setspace} \item \pkg{tikz} \item \pkg{ulem} \item \pkg{utfsym} * \item \pkg{xspace} \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Modul \enquote{Symbole} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{utfsym} * \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Modul \enquote{Texte} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{lineno} \item \pkg{multicol} \end{smallitemize} \end{multicols} Folgende Pakete werden zusätzlich für das Modul \enquote{Texte} benötigt: \begin{multicols}{4} \begin{smallitemize} \item \pkg{standalone} \end{smallitemize} \end{multicols} Folgende TikZ-Bibliotheken werden für das Zusatzpaket \pkg{relaycircuit} benötigt: \begin{multicols}{4} \begin{smallitemize} \item arrows \item scopes \item shadows \item shapes.misc \end{smallitemize} \end{multicols} \subsection{Begriffsklärungen} \label{sec:begriffe} \begin{description} \item[Zusatzpaket] Das Paket \pkg{schule} liefert einige \LaTeX-Pakete mit, die für das Paket entwickelt wurden, aber von diesem unabhängig nutzbar sind. Diese Pakete werden im Folgenden als Zusatzpaket bezeichnet. \item[Modul] Im Gegensatz zu einem Zusatzpaket ist ein Modul enger mit dem Hauptpaket verzahnt. Es lässt sich nicht unabhängig 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 \prettyref{sec:devmoduleModul}. \item[Fachmodul] Ein Fachmodul ist ähnlich aufgebaut wie ein normales Modul für das Schulepaket, wird allerdings für fachspezifische Erweiterungen genutzt und erfüllt somit einen anderen Zweck. Siehe auch die Beschreibung in der Entwicklungsdokumentation im \prettyref{sec:devmoduleFachmodul}. \item[Dokumenttyp] Ein Dokumenttyp ist ähnlich aufgebaut wie ein normales Modul für das Schulepaket, wird allerdings für typspezifische Erweiterungen genutzt und erfüllt somit einen anderen Zweck. Siehe auch die Beschreibung in der Entwicklungsdokumentation im \prettyref{sec:devDokumenttyp}. \end{description} \subsection{Arten der Nutzung} \subsubsection{Nutzung für Dokumente} Wenn zumindest ein \option{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 verändern. Außerdem werden Entscheidungen für 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 Inkompatibilitäten mit bestimmten Dokumentenklassen oder externen Paketen führen, \zB\space könnten Option-Clashes auftreten. \subsubsection{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 können. Das war aus den oben genannten Gründen schwierig. Inzwischen ist dies möglich, in dem man beim Laden des Pakets die Option \keyis{typ}{ohne} angibt. Damit wird das Paket in einen \enquote{minimalinvasiven} Modus geschaltet, der nur die nötigsten Module lädt und so wenig Vorgaben macht wie möglich. Weitere Module können dann natürlich geladen werden. \subsubsection{Nutzung über die Dokumentenklassen} Die Nutzungsvariante mit den wenigsten Freiheiten ist die über eine der Dokumentenklassen. Anpassungen sind hier nur sehr eingeschränkt möglich 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 \prettyref{subsubsec:paketoptionen}. \subsection{Kompilieren der Dokumente} Das Schulepaket ist für die Nutzung von \texttt{pdflatex} optimiert und wurde nur damit getestet. Aufgrund des komplexen Aufbaus kann es besonders bei der Nutzung des Moduls \module{Aufgaben} notwendig sein, mindestens zwei Läufe von \texttt{pdflatex} durchzuführen. Dies liegt daran, das eine Menge Zwischendateien mit Punkten und anderen Metadaten zu den Aufgaben erstellt werden müssen und dann damit Berechnungen durchgeführt werden. Es kann deshalb passieren, dass nach der Änderung der Anzahl der Aufgaben der erste Durchlauf mit sehr vielen Fehlern fehlschlägt.