\section{Das Paket vhistory}
Sinn und Zweck dieses Pakets wurde bereits ausführlich in Abschnitt \ref{einleitung} beschrieben. Ich sagte ja, dass es sich lohnt, die Einleitung zu lesen. Hier soll nun ausführlich erklärt werden, wie man mit vhistory arbeitet.

\subsection{Laden des Pakets}\label{laden}
Das Paket wird wie üblich in der Präambel mit dem Befehl\\
\mbox{}\hspace{2em}\verb|\usepackage{vhistory}|\\
geladen. Vhistory setzt \LaTeXe\ und die Pakete sets und ltxtable (welches wiederum longtable und tabularx benötigt) voraus. Sollten die Pakete noch nicht geladen worden sein, werden sie von vhistory automatisch geladen.

Das Paket vhistory versteht einige Optionen, um sein Verhalten anzupassen. Diese sind im Folgenden aufgelistet. Ein Aufruf mit Optionen lautet zum Beispiel\\
\mbox{}\hspace{2em}\verb|\usepackage[tocentry, owncaptions]{vhistory}|.

\paragraph{nochapter:} Ist diese Option beim Laden des Pakets angegeben worden, wird für die Versionshistorie kein eigenes Kapitel -- bzw. kein eigener Abschnitt, falls die Dokumentenklasse article (oder scrartcl) verwendet wird -- erzeugt.

\paragraph{tocentry:} Mit dieser Option wird veranlasst, dass die Versionshistorie im Inhaltsverzeichnis aufgeführt wird. Normalerweise wird dieser Eintrag nicht erzeugt. Ist die Option nochapter aktiviert hat tocentry keine Funktion. Hier sind Sie selbst für eventuelle Einträge in das Inhaltsverzeichnis verantwortlich.

\paragraph{owncaptions:} vhistory unterstützt die Sprachen Deutsch und Englisch. Verwenden Sie eine nicht unterstützte Sprache, werden die Überschriften (z.\,B. "`Versionshistorie"' oder "`Änderungen"') in Englisch ausgegeben. In diesem Fall möchten Sie vielleicht die Überschriften selbst verändern. Die Option own\-capt\-ions unterstützt Sie dabei. Näheres zu diesem Thema finden Sie in Unterabschnitt \ref{sprachen}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Verwendung}\label{verwendung}
Die Verwendung von vhistory ist denkbar einfach und soll in diesem Unterabschnitt beschrieben werden. Allgemein gilt, dass vhistory zwei Durchläufe benötigt, da Daten in Dateien geschrieben werden.

\subsubsection{Erzeugen der Versionshistorie}\label{begin}
Die Versionshistorie wird als Umgebung dargestellt:\\
\mbox{}\hspace{2em}\verb|\begin{versionhistory}|\\
\mbox{}\hspace{2em}\verb|<Einträge>|\\
\mbox{}\hspace{2em}\verb|\begin{versionhistory}|

Ein Eintrag hat die allgemeine Gestalt:\\
\mbox{}\hspace{2em}\verb@\vhEntry{<Version>}{<Datum>}{<Autoren>}{<Änderungen>}@

Die Autoren werden in der Mengenschreibweise des Pakets set angegeben, d.\,h. als Trennzeichen wird \texttt{|} verwendet. Ein Eintrag könnte also wie folgt aussehen:\\
\mbox{}\hspace{2em}\verb@\vhEntry{1.1}{13.05.04}{JW|AK|KL}{Fehler korrigiert.}@

Durch das \verb|\begin|\ldots wird ein neues Kapitel (beziehungsweise ein neuer Abschnitt, falls article verwendet wird) begonnen, wenn dies nicht durch die Paketoption nochapter wie oben beschrieben abgeschalten wurde.

Die Versionshistorie selbst wird in eine "`ltxtable"' gesetzt. Dadurch kann die Versionshistorie auch mehrere Seiten umfassen. Die Spalten "`Autor(en)"' und "`Änderungen"' werden automatisch umgebrochen. Das Paket ltxtable setzt voraus, dass die Tabelle in einer eigenen Datei liegt. Diese Datei wird von vhistory automatisch erzeugt und hat die Endung "`ver"'.

\subsubsection{Auslesen der aktuellen Versionsnummer}
Die aktuelle Versionsnummer -- genauer: die zuletzt angegebene Versionsnummer -- kann mit dem Befehl\\
\mbox{}\hspace{2em}\verb|\vhCurrentVersion|\\
bestimmt werden. Der Befehl ist ab der Einbindung des Pakets verfügbar.

\subsubsection{Auslesen des aktuellen Datums}
Analog zur aktuellen Versionsnummer kann auch das Datum der letzten Änderung angezeigt werden. Dies funktioniert mit dem Befehl\\
\mbox{}\hspace{2em}\verb|\vhCurrentDate|.\\
Der Befehl ist ebenfalls ab der Einbindung des Pakets verfügbar.

\subsubsection{Liste aller Autoren ausgeben}
An eine Liste der Autoren kommen Sie auf zwei Wege. Über das Kommando\\
\mbox{}\hspace{2em}\verb|\vhAllAuthorsSet|\\
können Sie sich die Autoren als Menge wie in Abschnitt \ref{sets} beschrieben zurückgeben lassen. Der weitaus einfachere Weg liegt im Kommando\\
\mbox{}\hspace{2em}\verb|\vhListAllAuthors|.

Dieses Kommando gibt eine alphabetisch sortierte Liste der Autoren aus. Die einzelnen Einträge werden durch Kommata getrennt. Soll stattdessen ein anderes Trennzeichen -- beispielsweise \texttt{\&} zur Ausgabe in einer Tabelle -- verwendet werden, können sie den Befehl\\
\mbox{}\hspace{2em}\verb|\setsepararator|\\
aus dem Paket sets umdefinieren (siehe auch Abschnitt \ref{inspektoren}).

Manchmal möchten Sie vielleicht, dass die Autorenliste komplette Namen statt Kürzeln enthält, zum Beispiel
"`Jochen Wer\-ten\-au\-er"' statt des Kürzels "`JW"', das in der Versionshistorie Verwendung findet. Indem Sie das Kommando\\
\mbox{}\hspace{2em}\verb|\vhListAllAuthorsLong|\\
verwenden, erhalten Sei das gewünschte Verhalten. In diesem Fall schreiben Sie weiterhin ``JW'' im \verb|\entry|-Kommando (Hinweis: Da ist kein backslash an dieser Stelle!), definieren aber zusätzlich das Makro \verb|\JW| wie unten beschrieben.\\
\mbox{}\hspace{2em}\verb|\newcommand{\JW}{Jochen Wertenauer}|\\
In der Versionshistorie wird weiterhin der Text ``JW'' angezeigt, aber das Kommando \verb|\vhListAllAuthorsLong| verwendet das Makro \verb|\JW|. Ist das Makro undefiniert, wird kein Text (für diesen Autor) ausgegeben.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Sprachunterstützung}\label{sprachen}
Wie schon in Abschnitt \ref{laden} erwähnt unterstützt vhistory die Sprachen Deutsch und Englisch. Die sprachabhängigen Texte mit ihren Voreinstellungen sind in Tabelle \ref{tab:sprachen} aufgelistet. Soll das Dokument in einer Sprache verfasst werden, die vhistory nicht unterstützt, wird die englische Variante gewählt.

Mit der Paketoption "`owncaptions"' können eigene Überschriften verwendet werden. Die Option veranlasst vhistory dazu, die Kommandos, die die Überschriften enthalten, mit den Varianten der aktuell gewählten Sprache vorzubelegen. Deshalb ist es sinnvoll, in diesem Fall Pakete wie babel oder ngerman vor vhistory zu laden.

Über das Kommando\\
\mbox{}\hspace{2em}\verb|\renewcommand{<Kommando>}{<gewünschter Text>}|\\
kann eine Überschrift verändert werden. Wollen Sie beispielsweise statt "`Änderungen"' lieber "`Verbesserungen"' verwenden, schreiben Sie\\
\mbox{}\hspace{2em}\verb|\renewcommand{\vhchangename}{Verbesserungen}|.

\begin{table}%[htb]
\begin{center}
\begin{tabular}{|l|l|l|}\hline
\textbf{Kommando} & \textbf{Deutsch} & \textbf{Englisch}\\ \hline
\verb|\vhhistoryname| & Versionshistorie & History of Versions \\
\verb|\vhversionname| & Version & Version \\
\verb|\vhdatename| & Datum & Date \\
\verb|\vhauthorname| & Autor(en) & Author(s) \\
\verb|\vhchangename| & Änderungen & Changes \\ \hline
\end{tabular}
\caption{sprachabhängige Texte}
\label{tab:sprachen}
\end{center}
\end{table}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Beispiel}
%Abbildung \ref{abb:beispiel} zeigt ein kurzes Beispiel für die Verwendung von vhistory.
\input{de_beispiel}