<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\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.

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.

\subsection{Befehle}
\begin{commands}
    \command{aufgabeninput}[\oarg{optionen}\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. Als optionalen Parameter lassen sich durch Komma getrennte Optionen angeben. Dadurch lÃ¤sst sich in der eigentlichen Aufgabe steuern, ob bestimmte Elemente gesetzt werden sollen oder nicht. NÃ¤heres unter \ref{sec:optionen_aufgabenpool}.
    \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}
    \command{inputOnce}[\marg{Datei}]\sinceversion{0.9.0}
        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 zurÃ¼ckgegriffen werden. Das Basedir wird im Pfad zur Datei mit berÃ¼cksichtigt, so dass \cs*{getBasedir} nicht in der Pfadangabe mit genutzt werden darf.
\end{commands}

\subsection{Umgebungen}
\begin{environments}
    \environment{aufgabenpoolHinweis}\sinceversion{0.9.0}
        Innerhalb dieser Umgebung kÃ¶nnen 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.
\end{environments}

\subsection{Optionen an Aufgaben}\sinceversion{0.9.0}\label{sec:optionen_aufgabenpool}
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 MÃ¶glichkeit 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.

\subsubsection{Befehle}
\begin{commands}
    \command{ifAufgabenpoolOptionTF}[\marg{Optionname}\marg{&lt;Wahr&gt;}\marg{&lt;Falsch&gt;}]
        Dieses bietet die MÃ¶glichkeit anhand der gewÃ¤hlten Option bestimmte Teile anzeigen zu lassen oder nicht. Der Wahr-Teil wird ausgefÃ¼hrt, wenn die angegeben Option gewÃ¤hlt ist. Gleiches gilt fÃ¼r den Falsch-Teil, wenn die Option nicht gewÃ¤hlt ist. Zur Vereinfachung gibt es diesen Befehl auch nur mit dem Wahr- oder Falsch-Teil.
    \command{ifAufgabenpoolOptionT}[\marg{Optionname}\marg{&lt;Wahr&gt;}]
        Siehe \cs*{ifAufgabenpoolOptionTF}.
    \command{ifAufgabenpoolOptionF}[\marg{Optionname}\marg{&lt;Falsch&gt;}]
        Siehe \cs*{ifAufgabenpoolOptionTF}
    \command{setAufgabenpoolOptionen}[\marg{Optionennamen}]
        Dieses kann im Kopf der Aufgabendatei genutzt werden, um die Optionen zu setzen. So lassen sich die verschiedenen Ansichten bereits im Aufgabendokument anzeigen.
\end{commands}

\subsection{AnhÃ¤nge an Aufgaben}\sinceversion{0.10.0}
Bei der Nutzung des Aufgabenpools kann es vorkommen, dass Aufgaben auch Elemente haben, die im Anhang angegeben werden. Teilweise kÃ¶nnen auch mehrere Aufgaben den gleichen Anhang nutzen. Daher werden zwei verschiedene MÃ¶glichkeiten zum Einbinden von AnhÃ¤ngen bereitgestellt. Die Ausgabe des Anhangs wird dann unterdrÃ¼ckt, wenn der Aufruf des Anhangs sich innerhalb einer eingebundenen Aufgabendatei befindet. FÃ¼r das Gesamtdokument gibt es mit \cs{showIncludeAppendix} einen extra Befehl, der dann fÃ¼r die Ausgabe sorgt.

\subsubsection{Umgebungen}
\begin{environments}
    \environment{onceAppendix}[\marg{Name}]
    Innerhalb der Umgebung kann Inhalt fÃ¼r den Anhang angegeben werden. Durch die Angabe des Namens wird dafÃ¼r gesorgt, dass Anhang mit gleichem Namen nur einmal ausgegeben wird.
\end{environments}

\subsubsection{Befehle}
\begin{commands}
    \command{inputOnceAppendix}[\marg{Datei}]
        Eine Datei kann, mit \cs{getBasedir} fÃ¼r den Dateipfad, angegeben werden. Diese wird nur einmal als Anhang eingebunden in das Dokument.

    \command{showIncludeAppendix}
        Der Befehl wird an einer Stelle verwendet, an der die AnhÃ¤nge eingebunden werden sollen.
\end{commands}
</pre></body></html>