Matuc
Matuc ist ein Konverter von Markdown zu HTML, sowie ein Werkzeug zur Automatisierung von Arbeitsschritten bei der Bearbeitung von Lehrmaterialien. Es kann auch genutzt werden, um eigene Skripte oder andere Editor-Plugins zu entwerfen.
Installation / Download
Windows
Für Windows gibt es ein Installationspaket, welches Python und GladTeX automatisch mitliefert. Für die Benutzung von GladTeX muss aber auch eine LaTeX-Distribution instaliert sein. Am einfachsten ist es daher, zuvor MikTeX zu installieren.
Der aktuellste Installer ist derzeit Matuc Installer 0.3.
Eine alte Version von Matuc sollte vorher unbedingt deinstalliert werden.
Die Installation sollte NICHT durchgeführt werden, wenn
%PATH%
Länger als 1024 Zeichen lang ist. Wenn Sie nicht wissen, was
dies bedeutet, können Sie dies getrost ignorieren. Der PATH enthält
Verzeichnisse, in denen automatisch nach ausführbaren Programmen gesucht wird.
Wenn Sie viele Entwicklerwerkzeuge installiert haben, sollten Sie vorher
unbedingt die Länge von %PATH%
überprüfen, da diese Variable ansonsten durch die
Installationsroutine beschädigt wird.
Andere Betriebssysteme
Die Installation unter anderen Betriebssystemen besteht aus mehreren Schritten. Sie kann aber, mit einigen Anpassungen, auch unter Windows durchgeführt werden.
Als erstes muss man alle Abhängigkeiten installieren: Pandoc (>= 1.12), python (Version >= 3.2), GladTeX ([1]) und LaTeX, falls GladTeX verwendet wird.
Als nächstes holt man den Quellcode mittels Git (github.com):
git clone https://github.com/humenda/AGSBS-infrastructure.git
Nach dem Herunterladen wechselt man in das neue Verzeichnis und führt folgenden Befehl aus:
sudo matuc python3 setup.py install
Generelle Funktionsweise
Matuc ist ein Kommandozeilenprogramm. Da es als "eierlegende Wollmilchsau" konzipiert ist, besitzt es Unterkommandos, damit man nicht von einer Fülle von Optionen erschlagen wird. Ruft man also Matuc auf, muss man dahinter angeben, welches Unterpgrogramm man möchte. Gibt man keines an, wird der Hilfebildschirm ausgegeben:
matuc <lt;command>gt; <lt;options>gt; <lt;command>gt; determines which action to take. The syntax might vary between commands. Use matuc <lt;command>gt; -h for help. Available commands are: conf - set, init or update a configuration conv - convert a markdown file using pandoc imgdsc - generate image description snippets navbar - generate navigation bar at beginning of each page new - create new project structure mk - invoke "mistkerl", a quality assurance helper toc - generate table of contents version - output program version
Anlegen von Lehrmaterialien
Wer sich gern die korrekte Verzeichnisstruktur von Matuc generieren lassen möchte, der kann das Kommando new benutzen. Hilfebildschirm:
matuc new
Um z.B. ein Buch mit einem Vorwort, ohne Anhang, mit fünf Kapiteln und auf Englisch zu erstellen, führt man folgendes aus:
matuc new -l en -c 5 -p "Neues Material"
Konfiguration
Matuc soll sich möglichst viele Einstellungen abhängig von Lehrmaterial automatisch merken. Dazu gehört u.a.:
- Bearbeiter
- Arbeitsgruppe, Institution
- Titel, Quelle des Lehrmaterials
- Semester der Bearbeitung
- Tiefe der Nummerierung im Inhaltsverzeichnis
- ...
Dies wird in einer Datei namens ".lecturemetadata.dcxml" im obersten Verzeichnis des zu bearbeitenden Lehrmaterials abgelegt.
Anlegen einer Konfiguration
Initial legt man eine Konfiguration mittels
matuc conf init
im aktuellen Verzeichnis, am besten dem Stammverzeichnis des Materials (des obersten Verzeichnisses des Bearbeiteten Lehrmaterials) an.
Man sollte nun unbedingt die Werte für die Konfiguration anpassen, siehe nächster Abschnitt.
Anpassung der Konfiguration
Die Informationen der Konfiguration sind sehr wichtig, da sie in jedes konvertierte Dokument eingebettet werden und daher korrekt sein müssen. Außerdem ist das Setzen der Sprache sehr wichtig für den Bearbeitungsprozess und für den Bildschirmleser des Benutzers der fertigen Dokumente.
Man kann sich mit
matuc conf show
alle Optionen anzeigen lassen, die es gibt. Mit
matuc conf update
kann man dann eine Option neu setzen.
Lässt man bei genanntem Befehl die Argumente weg, so wird ein Hilfebildschir ausgegeben.
Es folg ein Beispiel zum Setzen des Quelldokuments:
matuc conf -s "Interne Vorlesungsunterlagen" update
Unterverzeichnisse
Falls Lehrmaterial nicht nur von einem Studenten bearbeitet wird, sollte in dem Unterverzeichnis des Materials, welches dem Studenten zugeteilt wurde, eine zusätzliche Konfiguration angelegt werden. Diese sollte dann den Namen des Beareiters enthalten.
Alle Unterkommandos von Matuc werden automatisch zuerst die Konfiguration verwenden, die "am nähsten" an der aktuellen Datei liegt, d.h. entweder im aktuellen Verzeichnis, dem darüber und so weiter. Damit kann z.B. im Stammverzeichnis der Bearbeiter auf "Max Mustermann" und im Verzeichnis anh01 der Bearbeiter auf "Otto Normalverbraucher" gesetzt werden.
Konvertierung von Dateien
Die Konvertierung nutzt intern Pandoc, erweitert dies aber um zusätzliche Ausgabefilter und Standardvorlagen. Pandoc sollte daher zur Umwandlung von Lehrmaterial nicht verwendet werden, da z.B. Seitenzahlen nicht umgewandelt werden.
Die Konvertierung geschieht mittels des Unterkommandos "conv", die Umwandlung von "Hallo.md" würde also wie folgt ablaufen:
matuc conv "Hallo.md"
Matuc wird automatisch erkennen, ob LaTeX-Formeln in das MarkDown-Dokument eingebettet wurden und GladTeX und damit LaTeX aufrufen. Dies wird auch ein Verzeichnis bilder anlegen, sofern es noch nicht existiert.
Erstellung eines automatischen Inhaltsverzeichnisses
Das Unterkommando "matuc toc" ermöglicht es automatisiert Inhaltsverzeichnisse zu erstellen. Die Überschriften der jeweiligen Kapitel und Unterkapitel werden automatisch mit der richtigen Nummerierung eingetragen. Dies setzt allerdings voraus, dass die Verzeichnisstruktur auch den Vorgaben der Tutorenanleitung entspricht.
Matuc toc erwartet das Verzeichnis als Parameter, in dem nach Kapiteln gesucht werden soll. Wenn man sich im Stammverzeichnis des Lehrmaterials befindet, tippt man ".". Die Ausgabe wird direkt auf das Terminal geschrieben. Möchte man sie stattdessen in einer Datei speichern, muss der Parameter "-o", gefolgt von einem Dateinamen verwendet werden. Beispiel:
matuc toc -o "inhalt.md" .
Die Navigationsleiste mit Link zum Inhalt und den Links zu den Seiten muss nicht von Hand generiert werden. Dies übernimmt "matuc navbar". Die Navigationsleiste für immer für ein ganzes Verzeichnis (Lehrmaterial oder Kapitel) generiert. Dabei werden nur Dateien berücksichtigt, die nach dem Schema "kXX", "anhXX" oder "vXX" benannt sind.
Wenn man sich im Stammverzeichnis des Lehrmaterials befindet, könnte ein Aufruf so aussehen:
matuc navbar .
Weitere Optionen erhält man mit "matuc navbar".
Der Abstand der Seitenzahlen die in die Navigationsleiste kommen, kann mit dem Konfigurationsschlüssel "pageNumberingGap" gesetzt werden. Siehe dazu auch den Abschnitt zum Verwalten der Konfiguration.
Alles in einem Kommando: Master
Matuc master wurde konzipiert um ganze Lehrmaterialverzeichnisse auf einmal zu Konvertieren. Der Aufruf ist denkbar einfach:
matuc master VERZEICHNIS
Wobei VERZEICHNIS entweder "." ist, wenn man sich bereits in dem korrekten Verzeichnis befindet, oder eben der Verzeichnisname, in dem die Konvertierung stattfinden soll.
Folgende Schritte werden ausgeführt:
- matuc navbar
- matuc toc
- matuc conv (für alle Dateien)