Mithilfe von git kann eine einfache und sinnvolle Versionskontrolle unter LaTeX erreicht werden.
Warum eine Versionskontrolle beim Schreiben sinnvoll ist und was man nehmen sollte,
beschreibt Schlosser in seinem Blog ausführlich.
Wenn man nun Metadaten, wie das Commit-Datum, beim Schreiben automatisch in sein Dokument setzen will, kann man das Paket gitinfo benutzen. Dabei sollten Windowsuser beachten, dass es Probleme mit der Erstellung von gitHeadInfo.gin geben kann. Die Lösung ist einfach:
Es liegt an der Angabe eines Pfades. Laut der Paketbeschreibung geht das Skript vom git-Repository-Arbeitsverzeichnis aus, wenn man Pfade angeben will, wo die tex-Dateien liegen. Dabei muss man laut Manual kein Punkt am Anfang setzen. Dies ist unter Windows nicht ganz korrekt. Mit einem vorangestellten Punkt klappt die Erstellung. Der Punkt bezeichnet dabei das Arbeitsverzeichnis von der git-Repository.
Mein Code:prefixes="./latex ./latex/parts" # Example for multiple gitHeadInfo.tex files
Damit hat man nun die Möglichkeit innerhalb eines LaTeX-Dokuments auf Git-Informationen zuzugreifen. Dies fand ich jedoch unzureichend und habe das gitinfo Paket etwas angepasst. Das Ergebnis ist gitinfox. Es lädt selbst gitinfo, damit alle Optionen und Befehle von gitinfo zur Verfügung stehen. gitinfo-Optionen werden von gitinfox an gitinfo weitergereicht.
Für gitinfox habe ich mich an das svninfo Paket angelehnt und somit eso-foot und scrpage Optionen hinzugefügt. Lädt man das Paket ohne eine dieser Optionen, so passiert nichts – keine Ausgabe von Metadaten wird erstellt, es wird lediglich gitinfo geladen.
Wenn man eso-foot als Option angibt, wird mithilfe des eso-pic Pakets die Informationen am unteren Blattrand eingefügt. Standard sind
\tiny Author:\gitAuthorName\quad AuthorIsoDate: \gitAuthorIsoDate\quad commit hash: \gitAbbrevHash
eingestellt. Mithilfe von
\renewcommand{\esofootGIT}{Anzeigetext} \renewcommand{\esofootGITformat}{Textaussehen}
kann dies geändert werden. Dabei sollten für die Textformatierung nur Attribute benutzt werden – siehe hier.
Die Option scrpage bewirkt, dass mithilfe scrpage2 die Fußzeile geändert wird. Zur Zeit können die Angaben dabei noch nicht geändert werden.
\ohead{\headmark}% \cfoot[\emph{\gitAuthorName\ \gitAuthorIsoDate}]{\emph{\gitAuthorName\ \gitAuthorIsoDate}}% \ifoot[commit hash: \gitAbbrevHash]{commit hash: \gitAbbrevHash}% \ofoot[\pagemark]{\pagemark}%
Weiterhin versteht gitinfox die final Option. Wenn man nun als Klassen- oder Paketoption final angibt, dann verschwinden alle Metadaten, egal ob eine Option angeben ist.
Wie man nun mit MiKTeX das Paket installiert, ist hier zu finden.
Was soll noch geändert werden?
[Download nicht gefunden.]