summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/schule/doc/modulAufgabenpool.tex
blob: f4c6d49888ba862a3030809089272b73c01c3819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
\section{Aufgabenpool} \sinceversion{0.8.4}
\label{modul:aufgabenpool}
Die Idee für das Modul \module{Aufgabenpool} bestand darin, dass Aufgaben einfach bei verschiedenen Klassenarbeiten oder Klausuren wieder genutzt werden können. Diese Aufgaben dürfen auch in verschiedenen Verzeichnissen liegen und sich einzeln setzen lassen. Besondere Berücksichtigung benötigen dabei eingebundene Dateien, wie z.\,B. Bilder oder Programmdateien, die relativ zur Aufgabendatei, an einem anderen Ort liegen als die Quelldatei für die Klausur. Für diesen Fall wird auf ein \textit{basedir} gesetzt, dass für jede eingebundene Aufgabe entsprechend gesetzt wird. Mit der Nutzung über \cs{getBasedir} lässt sich jede Datei relativ zur Aufgabendatei einbinden. Dieses gilt auch innerhalb der \env{loesung}-Umgebung.

\subsection{Befehle}
\begin{commands}
    \command{aufgabeninput}[\marg{Verzeichnis}\marg{Datei}]
        Bindet die Datei mit der Aufgabe ein, die im angegebenen Verzeichnis steht. Die Angabe des Verzeichnis wird als Grundlage für das \textit{basedir} für diese Aufgabe genutzt.
    \command{getBasedir}
        Liefert das aktuelle \textit{basedir} zurück, um es in einer Aufgabe als Pfadergänzung bei der Einbindung von Dateien zu nutzen.
    \command{setBasedir}
        Eröffnet die Möglichkeit, dass \textit{basedir} als Eigenschaft bei anderen Aufgabentypen, die auf Grundlage des \pkg{xsim}-Pakets definiert sind, zu setzen. Bei Aufgabe ist dieses bereits gesetzt durch:
        \begin{sourcecode}[gobble=12]
            \xsimsetup{
                aufgabe/begin-hook = \setBasedir,
            }
        \end{sourcecode}
\end{commands}