Zum Aufbau:

Im SVN-Repository existiert eine Verzeichnisstruktur mit einem
separaten "pool"-Verzeichnis fuer die auf den Uebungslaettern
enthaltenen Aufgaben:

201x
|
|-- Aufgaben/
|   |
|   |-- blatt01/             pro Uebungsblatt wird ein Verzeichnis
|   |-- blatt02/             *generiert* (von dem Makefile)
|   |-- ...
|   |
|   |-- blatt_masterfiles/   Makros und Text-Bausteine
|   |
|   |-- pool/                Aufgabenpool
|       |
|       |-- ...              pro Aufgabe ein Verzeichnis;
|       |-- ...              (fuer den Aufbau des Aufgabenpools siehe
|       |-- ...              die README.txt im Verzeichnis pool/
|       |-- ...
|
|-- Uebung/                  wird *generiert* (vom Makefile)
    |
    |-- 01/                  hier wird relevantes Material fuer die
    |-- 02/                  Uebungen abgelegt (Beispiele und
    |-- ...                  Musterloesung)

Die Verzeichnisse "blatt01", "blatt02" etc. werden von dem vorhandenen
Makefile generiert und sind nicht explizit Teil des SVN-Repositories.
Sie werden nicht eingecheckt sondern ausschliesslich lokal beim
Benutzer generiert. Ebenso gilt dies fuer das Verzeichnis "Uebung" und
den darin enthaltenen Verzeichnissen und Dateien.

In diesen generierten Verzeichnissen befinden sich die (ebenfalls
generierten) Masterdateien fuer die Uebungsblaetter, welche die
einzelnen Aufgaben aus dem "pool"-Verzeichnis inkludieren. Sobald eine
finale Version eines Uebungsblattes bzw. einer Musterloesung
existiert, wird fuer des betreffende Blatt parallel zu dem lokalen
Verzeichnis ein Archiv eingechecked, in dem die von den Tutoren
benoetigten Dateien enthalten sind (das Archiv muss anschliessend per
E-Mail an die Tutoren geschickt werden).

Die Aufgabenverzeichnisse im "pool" enthalten jeweils die eigentliche
Uebungsaufgabe "aufg.tex" und zum Testen eine _einheitliche_ Vorlage
"blatt_test.tex", die lediglich die im Verzeichnis einzeln vorhandene
Aufgabe einbindet. Fuer den weiteren Aufbau des Aufgabenpools siehe
die "README.txt" im Verzeichnis "pool".

Im Verzeichnis "pool" befindet sich ausserdem das Verzeichnis:

0kategorie_thema_aufgabe_MUSTERORDNER/

Dies ist quasi eine Vorlage, an deren Namenskonvention man sich halten
muss. Die darin enthaltenen Dateien sind z.T. als Ruempfe fuer die
Erstellung eigener Aufgaben geeignet (jedoch sind keine Beispiele
enthalten). Es ist wichtig diese Namenskonvention penibel einzuhalten,
damit die automatische Uebungsblatterstellung funktioniert.

Wichtig ist ausserdem folgendes: Das Repository sollte in einen Ordner
"201x" ausgechecked werden. Auf derselben Verzeichnisebene wie
"Aufgaben" erzeugt das Makefile (z.B. "make ueb01" oder "make 01") ein
Verzeichnis "Uebung" (wenn nicht bereits vorhanden). Also aus der
"Sicht" vom "Makefile", dass in "Aufgaben" aufgerufen wird, wird das
Verzeichnis "../Uebung" erstellt (vgl. oben). Darin wiederum werden
die Dateien und Verzeichnisse fuer die Uebungen erstellt bzw.
abgelegt.


Zum Ablauf:

Grundsaetzliche Angaben zur jeweiligen Veranstaltung (Namen, Dozent,
Semester, etc.) sowie der Aufbau saemtliche Uebungsblaetter werden in
einer einzigen LaTeX-Datei definiert ("./blatt_config.tex"). Pro
Uebungsblatt gibt es einen Block innerhalb eines Makros
("\blattBody"). Je nach uebergebenem Zaehler wird das 1., das
2. ... oder das 15. Uebungsblatt erstellt ("switch-case"-Anweisung in
LaTeX).

Der LaTeX-Header, die definierten Makros etc. sind alle in einzelnen
LaTeX-Bausteinen im Ordner "./blatt_masterfiles" hinterlegt und werden
vom Makefile automatisch eingebunden. Trotz der vordefinierten
Bausteine kann man im jeweiligen Block pro Uebungsblatt in
"blatt_config.tex" das Blatt weitestgehend frei definieren (alles
ausserhalb von "\blattBody" ist _ausserhalb_ von "\begin{document}
... \end{document}", alles innerhalb von "\blattBody" befinden sich
spaeter _innerhalb_ von "\begin{document} ... \end{document}").

Wichtig ist, dass in "blatt_config.tex"

(1) die Aufgaben anhand des Verzeichnisnamens im "pool"-Verzeichnis
definiert werden. Weiterhin kann man

(2) das Layout des Uebungsblattes mit den Mitteln von LaTeX entweder
flexibel frei gestalten oder einfach die einzelnen Aufgaben der Reihe
nach ausgeben lassen. Als letztes werden

(3) von LaTeX in jedem Block die definierten Namen der Aufgaben
(Verzeichnisnamen im pool-Verzeichnis) einfach untereinander in eine
neue Datei im Uebungsblattverzeichnis geschrieben (Name z.B.
"./blatt01/blatt01.conf").

Die Datei "blatt01.conf" wird dann spaeter im Makefile wieder
ausgewertet, so dass die Dateien zur Vor- und Nachbesprechung und das
Bewertungsschema auf Basis der Definition in der LaTeX-Datei
"blatt_config.tex" jeweils pro Uebungsblatt automatisch erstellt
werden koennen.

Stand: 22.04.2011 (woru)

