\documentclass[tablecaptionabove]{scrartcl}
\usepackage{amssymb} % Symbole
\usepackage{ifpdf}
\ifpdf
\usepackage[pdftex]{gu}
\else
\usepackage[dvips]{gu}
%\usepackage[dvips,pstarrows]{gu}
\fi

%\setlength{\extrarowheight}{0.1em} % Extraabstand Zellinhalt-Zellrahmen


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
%\usepackage[german]{babel}
\usepackage{textcomp,lmodern,booktabs}
\ifpdf
\usepackage[pdftex,usenames]{color}
\else
\usepackage[dvips,usenames]{color}
\fi
\usepackage{microtype}
\usepackage[%
\ifpdf
     pdftex,%
\else
           dvipdfm,%
\fi     
           linktocpage=true,% nur Seitenzahl im toc/lof/lot ist verlinkt
           pdfpagelabels=true,%
           plainpages=false,%
           final=true,% auch im draft-Modus von KOMA schon linken
           bookmarks=true,%
           bookmarksnumbered=true,% Abschnittsnummern in den Bookmarks
     colorlinks=true,%
           pdftitle={Das Paket gu},%
           pdfsubject={Dokumentation},%
           pdfauthor={Stefan Lange},%
           pdfkeywords={Gruppe, Untergruppe, Stammbaum, Bärnighausen,
	   Symmetrieabbau, Lagenfortführung},%
           linkcolor=blue,% Farbe von Querverweisen \ref etc.
           citecolor=blue,% Farbe von Lit. \cite etc.
           pagecolor=blue,% Farbe von Seitenverweisen im toc etc.
           pagebackref=true,% Rckverweise im Lit-Verzeichnis auf die Seiten
           ]{hyperref}




\title{Das Paket gu}
\author{Stefan Lange}
\date{2007-01-19}

\begin{document}
\maketitle
\tableofcontents
\listoffigures
\listoftables
\section{Überblick}
Das Paket \texttt{gu.sty} erleichtert das Setzen von einfachen
Gruppe-Untergruppe-Stammbäumen
und/oder Lagenfortführungstabellen im Bärnighausen-Formalismus.\footnote{siehe H.
Bärnighausen, \textit{Comm. Math. Chem.} \textbf{1980}, \textit{9}, 139. und  H.
Bärnighausen, U. Müller, \textit{Symmetriebeziehungen zwischen den Raumgruppen
als Hilfsmittel zur straffen Darstellung von Strukturzusammenhängen in der
Kristallchemie}, Universität Karlsruhe und Universität/GH Kassel, \textbf{1996}.}
Die einzelnen Elemente und Abstände werden innerhalb einer neuen Umgebung namens
\texttt{stammbaum} mittels vorgegebener Kommandos
definiert.
Anschließend werden alle Abstände automatisch berechnet und der Stammbaum
und/oder die Tabellen ausgegeben.
Momentan werden maximal zwei Abstiegsschritte unterstützt, eine Erweiterung ist
aber relativ problemlos möglich.

\section{Voraussetzungen}
\texttt{gu.sty} benötigt \LaTeXe mit folgenden Zusatzpaketen:
\begin{itemize}
\item array
\item tabularx
\item pict2e
\item calc (mindestens Version [2005/08/06])
\item fp
\item ifthen
\end{itemize}

\section{Optionen}
Unterstützt werden die meisten Optionen des Paketes \texttt{pict2e.sty} (vgl.
Dokumentation dieses Pakets). Alle Optionen
werden an dieses Paket unverändert durchgereicht. Eine Aufstellung ist in
Tabelle~\ref{tabelle_optionen} zu finden.
Hinweis (aus der \texttt{pict2e}-Dokumentation): \texttt{pict2e} (und damit auch
\texttt{gu})  sollte immer mit der gleichen
Treiberoption wie die Pakete \texttt{graphic\{x,s\}} und \texttt{color} aufgerufen werden.
Andernfalls könnten unerwünschte Nebeneffekte auftreten.

\begin{table}[tbp]
\caption{Unterstützte Paketoptionen von \texttt{gu.sty}}
\label{tabelle_optionen}
\centering
\begin{tabular}{l l}
\toprule
Option & Funktion \\
\midrule
dvips   & Treiberoption \\
xdvi    & Treiberoption \\
pdftex  & Treiberoption \\
vtex     & Treiberoption \\
dvipdfm  & Treiberoption \\
ltxarrows & Pfeilspitzen im \LaTeX{}-Stil \\
pstarrows & Pfeilspitzen im PSTricks-Stil\\

\bottomrule
\end{tabular}
\end{table}

\section{Neue Befehle und Umgebungen}
\texttt{gu.sty} definiert die neue Umgebung \texttt{stammbaum}. Ein
Stammbaum im Bärnighausen-Formalismus wird also nach folgendem Prinzip
definiert:
\begin{quote}
\texttt{\textbackslash{}begin\{stammbaum\}\newline
\textbackslash{}befehl1\newline
\textbackslash{}befehl2\newline
\ldots\newline
\textbackslash{}end\{stammbaum\}}
\end{quote}
Momentan werden zwei Symmetrieabstiegsschritte unterstützt. Ein schematischer
Stammbaum ist in Abbildung~\ref{abb_schematisch} gezeigt. Die neuen Befehle und
ihre Bedeutung werden im folgenden kurz beschrieben.

\begin{figure}[btp]
\begin{stammbaum}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%  Ab hier die einzelnen Elemente eintragen  %%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Die verschiedenen Elemente, die links gesetzt werden, der Stammbaum
\setuplinks{true}      % Raumgruppe+Summenformel eins: true=Anzeigen, false=Ausblenden
           {2em}    % Mindestlänge Linie/Pfeil1: Muss unbedingt Längeneinheit
	            % sein, zum Ausblenden: 0em oder 0pt etc.
           {true}      % Abstiegssymbol eins: true=Anzeigen, false=Ausblenden
	   {true}      % Raumgruppe+Summenformel zwei: true=Anzeigen, false=Ausblenden
	   {2em}    % Mindestlänge Linie/Pfeil2: Muss unbedingt Längeneinheit
	            % sein, zum Ausblenden: 0em oder 0pt etc.
	   {true}      % Abstiegssymbol zwei: true=Anzeigen, false=Ausblenden 
	   {true}      % Raumgruppe+Summenformel drei: true=Anzeigen, false=Ausblenden 
           {0em}    % zusätzliche Abstände zwischen den Elementen: Muss 
	            % unbedingt Längeneinheit sein


% Die Elemente rechts, die Tabellen mit der Lagenfortführung
\setuprechts{true}     % Lagentabelle eins: true=Anzeigen, false=Ausblenden 
            {2em}   % Pfeile eins Mindestlänge: Muss unbedingt Längeneinheit
	            % sein, zum Ausblenden: 0em oder 0pt etc.
	    {true}     % Transformationsmatrix eins: true=Anzeigen, false=Ausblenden
	    {true}     % Lagentabelle zwei: true=Anzeigen, false=Ausblenden 
	    {4em}   % Pfeile zwei Mindestlänge: Muss unbedingt Längeneinheit
	            % sein, zum Ausblenden: 0em oder 0pt etc.
	    {true}     % Transformationsmatrix zwei: true=Anzeigen, false=Ausblenden
	    {true}     % Lagentabelle drei: true=Anzeigen, false=Ausblenden 
	    {0.5em} % zusätzliche Abstände zwischen den Elementen: Muss 
	            % unbedingt Längeneinheit sein

% Weitere Einstellungen
\setupdivers{2em}     % horizontaler Abstand Stammbaum <--> Lagentabellen
	    {0em}   % Extraabstand für Kollisionskontrolle Pfeile rechts
	    {0em}
	    {false}       % Abstieg 1: true=Symbole links und rechts auf gleicher Höhe
	    {false}       % Abstieg 2: true=Symbole links und rechts auf gleicher Höhe
	    {false}       % true=Randbox, false=keine Randbox anzeigen

% Einstellungen, die die Lagentabellen betreffen
\setuprlagentabellen{4.5em}   % Spaltenbreite (Längeneinheit, bei Bedarf anpassen)
                    {2}     % Anzahl Spalten Tabelle 1 (Zahl)
		    {1}     % Anzahl Spalten Tabelle 2 (Zahl)
		    {1}     % Anzahl Spalten Tabelle 3 (Zahl)
{0em}% horizontale Verschiebung Tabelle eins
{0em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei

% Raumgruppe und Summenformel eins
\lverbindungeins{%
\fbox{{\Huge lblockeins}}%
}

% Abstiegssymbol eins
\labstiegeins{%
\fbox{lseins}%
}

% Raumgruppe und Summenformel zwei
\lverbindungzwei{%
\fbox{{\tiny lblockzwei}}%
}

% Abstiegssymbol zwei
\labstiegzwei{%
\fbox{lszwei}%
}

% Raumgruppe und Summenformel drei
\lverbindungdrei{%
\fbox{{\Huge lblockdrei}}%
}

% Transformationsmatrix zwischen Tabelle 1 und 2
\rlagentranseins{%
\fbox{rseins}%
}

% Transformationsmatrix zwischen Tabelle 2 und 3
\rlagentranszwei{%
\fbox{rszwei}%
}

% Lagentabelle eins
% Optional Verschiebung in x angeben (Längeneinheit)
% negative Werte funktionieren evtl. noch nicht so 100%
\rlagentabelleeins{%
\fbox{{\tiny rblockeins}}%
}

% Lagentabelle zwei
% Optional Verschiebung in x angeben (Längeneinheit)
% negative Werte funktionieren evtl. noch nicht so 100%
\rlagentabellezwei{%
\fbox{{\Huge rblockzwei}}%
}

% Lagentabelle drei
% Optional Verschiebung in x angeben (Längeneinheit)
% negative Werte funktionieren evtl. noch nicht so 100%
\rlagentabelledrei{%
\fbox{{\tiny rblockdrei}}%
}


% Die Pfeile zwischen den Tabellen
% \rpfeileinszwei{start}{ziel} zeichnet einen Pfeil von Spalte "start" nach
% Spalte "ziel" von Lagentabelle eins nach Lagentabelle zwei
% \rpfeilzweidrei{start}{ziel} zeichnet einen Pfeil von Spalte "start" nach
% Spalte "ziel" von Lagentabelle zwei nach Lagentabelle drei
\rechtspfeilsetup{
\rpfeileinszwei{1}{1}
\rpfeilzweidrei{1}{1}
\rpfeileinszwei{1}{3}
\rpfeilzweidrei{1}{3}



}

\end{stammbaum}
\caption{Allgemeiner schematischer Aufbau der einzelnen Elemente.}
\label{abb_schematisch}
\end{figure}

\subsection{Allgemeines}
Einige Befehle dienen der Konfiguration des Stammbaumes, also der Definition,
welche Elemente vorhanden sind. Diese Befehle sind obligatorisch, ein Weglassen
führt zu Fehlermeldungen. 

Argumente vom Typ \emph{Länge} erwarten eine von \TeX{}
unterstützte Längeneinheit (sp, pt, bp, dd, mm, pc, cc, cm, in, ex oder em). Zum
vollständigen Deaktivieren eines solchen Elements muss die entsprechende Länge
auf 0 gesetzt werden, allerdings \emph{mit} Einheit, also etwa \texttt{0em}.

Argumente vom Typ \emph{boolean} erwarten als Eingabe entweder \texttt{true} oder
\texttt{false}. \texttt{true} aktiviert das jeweilig Element, \texttt{false}
deaktiviert es, so dass es nicht angezeigt wird.

Argumente vom Typ \emph{Integer} erwarten eine positive ganze Zahl.



\subsection{Befehle zur Konfiguration des Stammbaumes (obligatorisch)}

\subsubsection{\textbackslash{}setuplinks}
\texttt{\textbackslash{}setuplinks} erwartet insgesamt acht Argumente, welche die
einzelnen Elemente und Abstände im linken Teil der Abbildung, dem
Symmetriestammbaum, steuern. Die
Argumente sind im Einzelnen in Tabelle~\ref{tab_optionen_setuplinks} aufgeführt.

\begin{table}[hbtp]
\centering
\caption{Argumente von \texttt{\textbackslash{}setuplinks}}
\label{tab_optionen_setuplinks}
\begin{tabular}{l l l l}
\toprule
& Typ & Beschreibung & Name in Abb.~\ref{abb_schematisch} \\
\midrule
\texttt{\textbackslash{}setuplinks} & \{\emph{boolean}\} & Raumgruppe und
Summenformel eins & lblockeins \\

& \{\emph{Länge}\}  &  Mindestlänge Linie/Pfeil1 & \\
& \{\emph{boolean}\}   & Abstiegssymbol eins & lseins \\
&	   \{\emph{boolean}\}      & Raumgruppe und Summenformel zwei &
lblockzwei \\
& \{\emph{Länge}\} & Mindestlänge Linie/Pfeil2 &  \\
&    \{\emph{boolean}\}  & Abstiegssymbol zwei & lszwei \\
&	   \{\emph{boolean}\} & Raumgruppe und Summenformel drei & lblockdrei \\
& \{\emph{Länge}\}  & zusätzliche vertikale Abstände& \\
\bottomrule
\end{tabular}
\end{table}

\subsubsection{\textbackslash{}setuprechts}
\texttt{\textbackslash{}setuprechts} erwartet insgesamt acht Argumente, welche die
einzelnen Elemente und Abstände im rechten Teil der Abbildung, den
Tabellen mit der Lagenfortführung, steuern. Die
Argumente sind im Einzelnen in Tabelle~\ref{tab_optionen_setuprechts} aufgeführt.

\begin{table}[hbtp]
\centering
\caption{Argumente von \texttt{\textbackslash{}setuprechts}}
\label{tab_optionen_setuprechts}
\begin{tabular}{l l l l}
\toprule
& Typ & Beschreibung & Name in Abb.~\ref{abb_schematisch} \\
\midrule
\texttt{\textbackslash{}setuprechts} & \{\emph{boolean}\} & Lagentabelle eins &
rblockeins \\

& \{\emph{Länge}\}  &  Mindestlänge Linie/Pfeil1 & \\
& \{\emph{boolean}\}   & Transformation eins & rseins \\
&	   \{\emph{boolean}\}      & Lagentabelle zwei &
rblockzwei \\
& \{\emph{Länge}\} & Mindestlänge Linie/Pfeil2 &  \\
&    \{\emph{boolean}\}  & Transformation zwei & rszwei \\
&	   \{\emph{boolean}\} & Lagentabelle drei & rblockdrei \\
& \{\emph{Länge}\}  & zusätzliche vertikale Abstände& \\
\bottomrule
\end{tabular}
\end{table}


\subsubsection{\textbackslash{}setupdivers}
\label{setupdivers}
\texttt{\textbackslash{}setupdivers} erwartet insgesamt sechs Argumente, welche
weitere Zeichnungsoptionen, steuern. Die
Argumente sind im Einzelnen in Tabelle~\ref{tab_optionen_setupdivers} aufgeführt.

\begin{table}[hbtp]
\centering
\caption{Argumente von \texttt{\textbackslash{}setupdivers}}
\label{tab_optionen_setupdivers}
\begin{tabular}{l l l}
\toprule
& Typ & Beschreibung  \\
\midrule
\texttt{\textbackslash{}setupdivers} & \{\emph{Länge}\} & horizontaler Abstand
links $\leftrightarrow$ rechts  \\
& \{\emph{Länge}\}  & Feinabstimmung Kollisionskontrolle x  \\
& \{\emph{Länge}\}  & Feinabstimmung Kollisionskontrolle y \\
& \{\emph{boolean}\}   & lseins und rseins vertikal zentrieren   \\
&	   \{\emph{boolean}\}      & lszwei und rszwei vertikal zentieren  \\
&    \{\emph{boolean}\}  & Randbox zeichnen  \\
\bottomrule
\end{tabular}
\end{table}


\subsubsection{\textbackslash{}setuprlagentabellen}
\texttt{\textbackslash{}setuprlagentabellen} erwartet insgesamt sieben Argumente,
welche die Lagenfortführungstabellen steuern. Die
Argumente sind im Einzelnen in Tabelle~\ref{tab_optionen_setuprlagentabellen} aufgeführt.
Die letzten drei Längenangaben bei den Lagentabellen definieren dabei eine optionale
Verschiebung der jeweiligen Tabelle in $x$-Richtung. Achtung: Führt
eventuell zu Problemen, weitgehend ungetestet.

\begin{table}[hbtp]
\centering
\caption{Argumente von \texttt{\textbackslash{}setuprlagentabellen}}
\label{tab_optionen_setuprlagentabellen}
\begin{tabular}{l l l}
\toprule
& Typ & Beschreibung  \\
\midrule
\texttt{\textbackslash{}setuprlagentabellen} & \{\emph{Länge}\} &
Spaltenbreite \\
& \{\emph{Integer}\}   & Anzahl Spalten Tabelle 1  \\
& \{\emph{Integer}\}   & Anzahl Spalten Tabelle 2  \\
& \{\emph{Integer}\}   & Anzahl Spalten Tabelle 3  \\
& \{\emph{Länge}\}     & optionale horizontale Verschiebung Tabelle 1 \\
& \{\emph{Länge}\}     & optionale horizontale Verschiebung Tabelle 2 \\
& \{\emph{Länge}\}     & optionale horizontale Verschiebung Tabelle 3 \\
\bottomrule
\end{tabular}
\end{table}


\subsection{Befehle zur Definition der einzelnen Elemente (optional)}
\subsubsection{Festlegen der einzelnen Elemente links}
Die einzelnen Blöcke links (Stammbaum) werden mit weiteren Befehlen
definiert. Die Angabe dieser Elemente ist optional, nicht benötigte Blöcke
müssen nicht definiert werden.

Alle Befehle erwarten je ein Argument, einen beliebigen
\TeX{}-Ausdruck, also zum Beispiel einen einzelnen Buchstabe, ein Wort, eine
mathematische Formel, eine Tabelle etc. Die einzelnen Befehle und die
entsprechende Bezeichung des jeweiligen Elements in
Abbildung~\ref{abb_schematisch} lauten:
\begin{itemize}
\item \texttt{\textbackslash{}lverbindungeins}\{\TeX\emph{-Ausdruck}\}: lblockeins
\item \texttt{\textbackslash{}lverbindungzwei}\{\TeX\emph{-Ausdruck}\}: lblockzwei
\item \texttt{\textbackslash{}lverbindungdrei}\{\TeX\emph{-Ausdruck}\}: lblockdrei
\item \texttt{\textbackslash{}labstiegeins}\{\TeX\emph{-Ausdruck}\}: lseins
\item \texttt{\textbackslash{}labstiegzwei}\{\TeX\emph{-Ausdruck}\}: lszwei
\end{itemize}


\subsubsection{Festlegen der einzelnen Elemente rechts}
Die einzelnen Blöcke rechts (Lagenfortführung) werden mit weiteren Befehlen
definiert. Die Angabe dieser Elemente ist optional, nicht benötigte Blöcke
müssen nicht definiert werden.

Alle Befehle ervarten je ein Argument, einen beliebigen
\TeX{}-Ausdruck, also zum Beispiel einen einzelnen Buchstabe, ein Wort, eine
mathematische Formel, eine Tabelle etc. Die einzelnen Befehle und die
entsprechende Bezeichung des jeweiligen Elements in
Abbildung~\ref{abb_schematisch} lauten:
\begin{itemize}
\item
\texttt{\textbackslash{}rlagentabelleeins}\{\TeX\emph{-Ausdruck}\}:
rblockeins
\item
\texttt{\textbackslash{}rlagentabellezwei}\{\TeX\emph{-Ausdruck}\}:
rblockzwei
\item
\texttt{\textbackslash{}rlagentabelledrei}\{\TeX\emph{-Ausdruck}\}:
rblockdrei
\item \texttt{\textbackslash{}rlagentranseins}\{\TeX\emph{-Ausdruck}\}: rseins
\item \texttt{\textbackslash{}rlagentranszwei}\{\TeX\emph{-Ausdruck}\}: rszwei
\end{itemize}

\subsubsection{Festlegen der Pfeile rechts}
Die Definition der Pfeile rechts zwischen den einzelnen Lagentabellen erfolgt
mit Hilfe des Befehls \texttt{\textbackslash{}rechtspfeilsetup}. Dieser erhält
als Argument eine Reihe von Pfeildefinitionen. Als Hilfe existieren die beiden
weiteren Befehle
\begin{itemize}
\item \texttt{\textbackslash{}rpfeileinszwei}\{\emph{Integer}\}\{\emph{Integer}\} und
\item \texttt{\textbackslash{}rpfeilzweidrei}\{\emph{Integer}\}\{\emph{Integer}\}.
\end{itemize}
 Beide erhalten jeweils zwei Argumente,
die die Nummer des Start- und des Endkästchens der Pfeile festlegen.

\texttt{\textbackslash{}rpfeileinszwei}\{1\}\{3\} zeichnet so beispielsweise einen
Pfeil von Kästchen 1 der ersten Tabelle nach Kästchen 3 der zweiten Tabelle,
\texttt{\textbackslash{}rpfeilzweidrei}\{4\}\{3\} entsprechend von Kästchen 4 der
zweiten Tabelle nach Kästchen 3 der dritten.

Hinweis: Die Start- und Endwerte müssen technisch gesehen keine Integerzahlen
sein, eine Angabe der Form \texttt{\textbackslash{}rpfeileinszwei}\{1\}\{2.9\}
ist durchaus möglich. Dies kann nützlich sein, um einzelne Pfeile minimal in der
Position anzupassen, um ein \glqq{}Ineinanderlaufen\grqq{} mehrerer Pfeilspitzen
zu verhindern.

\subsubsection{Details zu den Lagentabellen}
Damit die Pfeile rechts zwischen den Lagentabellen automatisch generiert werden
können, müssen die Tabellen eine fixe, bekannte Breite besitzen. Aus diesem
Grund sind die Lagentabellen in \texttt{tabularx}-Umgebungen mit fester
Gesamtbreite anzugeben. Als Spaltentyp wurde der neue Typ \texttt{z} definiert,
der Spalten mit fester Breite und zentriertem Inhalt liefert. Die Tabellen
werden am einfachsten folgendermaßen definiert (Beispiel für Tabelle eins):
\begin{quote}
\begin{verbatim}
\rlagentabelleeins{%
\begin{tabularx}{\spaltenbreiteem*\spalteneins}[b]{|z|z|}
... Tabelleninhalt ...
\end{tabularx}%
}
\end{verbatim}
\end{quote}
Die Längenangabe
\texttt{\{\textbackslash{}spaltenbreiteem{}*\textbackslash{}spalteneins\}} und
die Platzierungsangabe \texttt{[b]} sollten dabei auf keinen Fall editiert
werden, da hiermit die Berechnung der Breite und der vertikalen Platzierung
durchgeführt werden. Die Einstellung der Spalten, im Beispiel \texttt{|z|z|},
muss an die Anzahl der tatsächlich vorhandenen Spalten angepasst werden.

Achtung: Eine Änderung der Schriftgröße mitten in einer Stammbaum-Umgebung kann
bei Verwendung relativer Längeneinheiten (em, ex) zu unerwarteten Nebenwirkungen
wie falsch platzierten Pfeilen führen!

\subsection{Sonstige neue Befehle}
Der neue Befehl \texttt{\textbackslash{}nfrac} wird
definiert.\footnote{\texttt{\textbackslash{}nfrac} wurde übernommen aus: Donald
E. Knuth: The \TeX{}book. Addison-Wesley Publ., Reading, Mass.,
    März 1992.} Er erwartet zwei
Argumente und bietet eine
alternative Schreibweise für Brüche im Vergleich zur Standard-\LaTeX-Variante:
\begin{quote}
\texttt{\textbackslash{}nfrac\{2\}\{3\}}: $\nfrac{2}{3}$
im Gegensatz zu
\texttt{\textbackslash{}frac\{2\}\{3\}}: $\frac{2}{3}$
\end{quote}
Einige Abkürzungen für häufig benutzte Brüche werden ebenfalls vordefiniert:
\begin{quote}
\texttt{\textbackslash{}eh}: \eh, 
\texttt{\textbackslash{}ed}: \ed,
\texttt{\textbackslash{}ev}: \ev,
\texttt{\textbackslash{}es}: \es,
\texttt{\textbackslash{}zd}: \zd,
\texttt{\textbackslash{}dv}: \dv,
\texttt{\textbackslash{}fs}: \fs,
\texttt{\textbackslash{}ea}: \ea,
\texttt{\textbackslash{}da}: \da,
\texttt{\textbackslash{}fa}: \fa,
\texttt{\textbackslash{}sa}: \sa,
\end{quote}

\section{Beispiele}
\subsection{Einfacher Stammbaum ohne Lagenfortführung}
Abbildung~\ref{abb_einfach} zeigt einen einfachen Stammbaum mit einem
Symmetrieabstieg ohne Lagenfortführung. Der entsprechende Quellcode ist in
Abbildung~\ref{abb_einfach_src} gezeigt.
\begin{figure}[htbp]
\centering
\begin{stammbaum}

\setuplinks%
{true}% Raumgruppe und Summenformel 1
{2em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Abstiegssymbol 2
{false}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{false}% Lagentabelle 1
{0em}% Mindestlänge Linie/Pfeil 1
{false}% Transformation 1
{false}% Lagentabelle 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Transformation 2
{false}% Lagentabelle 3
{0em}% zusätzliche vertikale Abstände

\setupdivers%
{0em}% horizontaler Abstand links <-> rechts
{0em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{false}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
      
\setuprlagentabellen%
{0em}% Spaltenbreite
{0}% Anzahl Spalten Tabelle eins
{0}% Anzahl Spalten Tabelle zwei
{0}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{0em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei

\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/mmc$\\
\fbox{AuSn}\\
\end{tabular}%
}

\labstiegeins{%
t2%
}

\lverbindungzwei{%
\begin{tabular}{c}%
$P\overline{3}m1$\\
\fbox{AuNiSn$_2$}\\
\end{tabular}%
}

\end{stammbaum}

\caption{Einfacher Stammbaum ohne Lagenfortführung.}
\label{abb_einfach}
\end{figure}

\begin{figure}[bp]
\centering
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}
\begin{stammbaum}

\setuplinks%
{true}% Raumgruppe und Summenformel 1
{2em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Abstiegssymbol 2
{false}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{false}% Lagentabelle 1
{0em}% Mindestlänge Linie/Pfeil 1
{false}% Transformation 1
{false}% Lagentabelle 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Transformation 2
{false}% Lagentabelle 3
{0em}% zusätzliche vertikale Abstände

\setupdivers%
{0em}% horizontaler Abstand links <-> rechts
{0em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{false}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
\end{verbatim}
\end{tiny}
\end{minipage}
\hfill
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}
\setuprlagentabellen%
{0em}% Spaltenbreite
{0}% Anzahl Spalten Tabelle eins
{0}% Anzahl Spalten Tabelle zwei
{0}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{0em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei

\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/mmc$\\
\fbox{AuSn}\\
\end{tabular}%
}

\labstiegeins{%
t2%
}

\lverbindungzwei{%
\begin{tabular}{c}%
$P\overline{3}m1$\\
\fbox{AuNiSn$_2$}\\
\end{tabular}%
}

\end{stammbaum}
\end{verbatim}
\end{tiny}
\end{minipage}
\caption{Quellcode zu Abb.~\ref{abb_einfach}: Einfacher Stammbaum ohne Lagenfortführung.}
\label{abb_einfach_src}
\end{figure}



\subsection{Einfacher Stammbaum mit Lagenfortführung}
Abbildung~\ref{abb_einfach_mit} zeigt einen einfachen Stammbaum mit einem
Symmetrieabstieg mit Lagenfortführung. Dieses Mal werden die Lagentabellen mit
definiert. Zur Demonstration des optionalen Parameters zur Verschiebung der
Tabellen ist die untere Tabelle um \texttt{2em} nach rechts verschoben. Der
zugehörige Quellcode ist in Abbildung~\ref{abb_einfach_mit_src} gezeigt.

\begin{figure}[btp]
\centering
\begin{stammbaum}
\setuplinks%
{true}% Raumgruppe und Summenformel 1
{2em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Abstiegssymbol 2
{false}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{true}% Lagentabelle 1
{2em}% Mindestlänge Linie/Pfeil 1
{false}% Transformation 1
{true}% Lagentabelle 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Transformation 2
{false}% Lagentabelle 3
{0.5em}% zusätzliche vertikale Abstände

\setupdivers%
{1em}% horizontaler Abstand links <-> rechts
{0em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{true}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
      
\setuprlagentabellen%
{4.5em}% Spaltenbreite
{2}% Anzahl Spalten Tabelle eins
{3}% Anzahl Spalten Tabelle zwei
{0}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{2em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei


\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/mmc$\\
\fbox{AuSn}\\
\end{tabular}%
}

\labstiegeins{%
t2%
}

\lverbindungzwei{%
\begin{tabular}{c}%
$P\overline{3}m1$\\
\fbox{AuNiSn$_2$}\\
\end{tabular}%
}

\rlagentabelleeins{%
\begin{tabularx}{\spaltenbreiteem*\spalteneins}[b]{|z|z|}
\hline
Au: $2a$ & Sn: $2c$ \\
$\overline{3}m.$ & $\overline{6}m2$ \\
\hline
0 & \ed \\
0 & \zd \\
0 & \ev \\
\hline
\end{tabularx}%
}

\rlagentabellezwei{%
\begin{tabularx}{\spaltenbreiteem*\spaltenzwei}[b]{|z|z|z|}
\hline
Au: $2a$  & Ni: $1b$ & Sn: $2d$ \\
$\overline{3}m.$ & $\overline{3}m.$ & $3m.$ \\
\hline
0 & 0 & \ed \\
0 & 0 & \zd \\
0 & \eh & 0.2831 \\
\hline
\end{tabularx}%
}

\rechtspfeilsetup{%
\rpfeileinszwei{1}{1}
\rpfeileinszwei{1}{2}
\rpfeileinszwei{2}{3}
}
\end{stammbaum}
\caption{Einfacher Stammbaum mit Lagenfortführung.}
\label{abb_einfach_mit}
\end{figure}

\begin{figure}[btp]
\centering
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}
\begin{stammbaum}
\setuplinks%
{true}% Raumgruppe und Summenformel 1
{2em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Abstiegssymbol 2
{false}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{true}% Lagentabelle 1
{2em}% Mindestlänge Linie/Pfeil 1
{false}% Transformation 1
{true}% Lagentabelle 2
{0em}% Mindestlänge Linie/Pfeil 2
{false}% Transformation 2
{false}% Lagentabelle 3
{0.5em}% zusätzliche vertikale Abstände

\setupdivers%
{1em}% horizontaler Abstand links <-> rechts
{0em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{true}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
      
\setuprlagentabellen%
{4.5em}% Spaltenbreite
{2}% Anzahl Spalten Tabelle eins
{3}% Anzahl Spalten Tabelle zwei
{0}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{2em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei
\end{verbatim}
\end{tiny}
\end{minipage}
\hfill
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}
\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/mmc$\\
\fbox{AuSn}\\
\end{tabular}%
}

\labstiegeins{%
t2%
}

\lverbindungzwei{%
\begin{tabular}{c}%
$P\overline{3}m1$\\
\fbox{AuNiSn$_2$}\\
\end{tabular}%
}

\rlagentabelleeins{%
\begin{tabularx}{\spaltenbreiteem*\spalteneins}[b]{|z|z|}
\hline
Au: $2a$ & Sn: $2c$ \\
$\overline{3}m.$ & $\overline{6}m2$ \\
\hline
0 & \ed \\
0 & \zd \\
0 & \ev \\
\hline
\end{tabularx}%
}

\rlagentabellezwei{%
\begin{tabularx}{\spaltenbreiteem*\spaltenzwei}[b]{|z|z|z|}
\hline
Au: $2a$  & Ni: $1b$ & Sn: $2d$ \\
$\overline{3}m.$ & $\overline{3}m.$ & $3m.$ \\
\hline
0 & 0 & \ed \\
0 & 0 & \zd \\
0 & \eh & 0.2831 \\
\hline
\end{tabularx}%
}

\rechtspfeilsetup{%
\rpfeileinszwei{1}{1}
\rpfeileinszwei{1}{2}
\rpfeileinszwei{2}{3}
}
\end{stammbaum}
\end{verbatim}
\end{tiny}
\end{minipage}

\caption{Quellcode zu Abb.~\ref{abb_einfach_mit}: Einfacher Stammbaum mit Lagenfortführung.}
\label{abb_einfach_mit_src}
\end{figure}


\subsection{Etwas aufwändigerer Stammbaum mit Lagenfortführung}
Abbildung~\ref{abb_mit_aufw} zeigt einen etwas aufwändigeren Stammbaum
mit zwei Symmetrieabbaustufen und Lagenfortführung. Außerdem wird die
Möglichkeit der Angabe einer Lagentransformation demonstriert, auch wenn sie in
diesem Beispiel kristallographisch gesehen sinnfrei ist. Die Pfeile rechts
werden gegebenenfalls durchbrochen, wenn sie den Text der Lagentransformation
schneiden würden. Die virtuelle Box um den Text der Lagentransformation (rseins,
rszwei), die benutzt wird, um zu bestimmen, ob der Pfeil unterbrochen werden
muss oder nicht, kann mit Hilfe eines Parameters zur Feineinstellung (Teil des
Befehls \texttt{\textbackslash{}setupdivers}, siehe Abschnitt~\ref{setupdivers}) manuell
vergrößert oder verkleinert werden, wenn die Ergebnisse suboptimal aussehen. In
diesem Fall wurde der Parameter für die horizontale Feineinstellung auf
\texttt{-0.5em} angepasst, um ein Durchbrechen des unteren Pfeils rechts außen
zu verhindern.

Dieses Beispiel zeigt auch die beiden unterschiedlichen Anordnungsoptionen für
die Abstiegssymbole und die Lagentransformation. Im ersten Schritt sind beide
auf gleicher Höhe ausgerichtet, das Abstiegssymbol ist dafür nicht mehr genau in
der Mitte zwischen lblockeins und lblockzwei. Im Fall des zweiten Abstiegs sind
rseins und lseins jeweils genau in der Mitte der Pfeile, aber dafür nicht bündig
auf einer Höhe. Das Verhalten läßt sich mittels der Schalter in
\texttt{\textbackslash{}setupdivers} einstellen (siehe
Abschnitt~\ref{setupdivers}).

Weiterhin wurden die Pfeilmindestlängen links und rechts auf diverse
verschiedene Werte festgelegt, um diese Option zu demonstrieren.

Der Quellcode zu diesem Beispiel ist in Abbildung~\ref{abb_mit_aufw_src}
gezeigt.
\begin{figure}[btp]
\centering
\begin{stammbaum}

\setuplinks%
{true}% Raumgruppe und Summenformel 1
{1em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{4em}% Mindestlänge Linie/Pfeil 2
{true}% Abstiegssymbol 2
{true}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{true}% Lagentabelle 1
{5em}% Mindestlänge Linie/Pfeil 1
{true}% Transformation 1
{true}% Lagentabelle 2
{2em}% Mindestlänge Linie/Pfeil 2
{true}% Transformation 2
{true}% Lagentabelle 3
{0.5em}% zusätzliche vertikale Abstände

\setupdivers%
{3em}% horizontaler Abstand links <-> rechts
{-0.5em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{true}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
      
\setuprlagentabellen%
{4.5em}% Spaltenbreite
{2}% Anzahl Spalten Tabelle eins
{2}% Anzahl Spalten Tabelle zwei
{4}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{0em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei

\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/m \, 2/c \, 2/m$\\[0.3em]
\fbox{hex. TiI$_3$}\\
\end{tabular}%
}

\labstiegeins{%
\begin{tabular}{c}
k3\\
$\mathbf{a-b, a+2b, c}$
\end{tabular}%
}

\lverbindungzwei{%
$P6_3/m \, 2/m \, 2/c$%\\
}

\labstiegzwei{%
t2%
}

\lverbindungdrei{%
\begin{tabular}{c}
$P\overline{3} \, 2/m \, 1$\\[0.3em]
\fbox{$\beta$-WCl$_6$}\\
\end{tabular}%
}

\rlagentranseins{%
$x,y,z$ (überflüssig)%
}

\rlagentranszwei{%
$x,y,z$ (sinnfrei)%
}

\rlagentabelleeins{%
\begin{tabularx}{\spaltenbreiteem*\spalteneins}[t]{|z|z|}
\hline
Ti: $2b$	  & $\Box$: $4d$ \\
$\overline{3}m$ & $3.2$ \\
\hline
0		  & \zd \\
0		  & \ed \\
0		  & 0 \\
\hline
\end{tabularx}%
}

\rlagentabellezwei{%
\begin{tabularx}{\spaltenbreiteem*\spaltenzwei}[t]{|z|z|}%
\hline
$2a$	    & $4f$ \\
$\overline{3}m$    &  $3m$ \\
\hline
0		    	  	 & \ed \\
0		    	  	 & \zd \\
0		      & 0.0 \\
\hline
\end{tabularx}%
}

\rlagentabelledrei{%
\begin{tabularx}{\spaltenbreiteem*\spaltendrei}[t]{|z|z|z|z|}
\hline
W1: $1a$	    & $\Box$: $1b$         & W2: $2d$  & $\Box$: $2d$\\
$\overline{3}m$    & $\overline{3}m$ & $3m$ & $3m$ \\
\hline
0		    & 0 	       & \ed  & \ed \\
0		    & 0 	       & \zd  & \zd \\
0		    & \eh   & 0.473 & 0.0 \\
\hline
\end{tabularx}%
}


\rechtspfeilsetup{
\rpfeileinszwei{1}{1}
\rpfeileinszwei{1}{2}
\rpfeilzweidrei{1}{1}
\rpfeilzweidrei{1}{2}
\rpfeilzweidrei{2}{3}
\rpfeilzweidrei{2}{4}
}
\end{stammbaum}

\caption{Etwas aufwändigerer Stammbaum mit Lagenfortführung und
(sinnfreier) Koordinatentransformation.}
\label{abb_mit_aufw}
\end{figure}

\begin{figure}[btp]
\centering
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}

\begin{stammbaum}

\setuplinks%
{true}% Raumgruppe und Summenformel 1
{1em}% Mindestlänge Linie/Pfeil 1
{true}% Abstiegssymbol 1
{true}% Raumgruppe und Summenformel 2
{4em}% Mindestlänge Linie/Pfeil 2
{true}% Abstiegssymbol 2
{true}% Raumgruppe und Summenformel 3
{0em}% zusätzliche vertikale Abstände
   
\setuprechts%
{true}% Lagentabelle 1
{5em}% Mindestlänge Linie/Pfeil 1
{true}% Transformation 1
{true}% Lagentabelle 2
{2em}% Mindestlänge Linie/Pfeil 2
{true}% Transformation 2
{true}% Lagentabelle 3
{0.5em}% zusätzliche vertikale Abstände

\setupdivers%
{3em}% horizontaler Abstand links <-> rechts
{-0.5em}% Feinabstimmung Kollisionskontrolle x
{0em}% Feinabstimmung Kollisionskontrolle y
{true}% lseins und rseins vertikal zentrieren
{false}% lszwei und rszwei vertikal zentieren
{false}% Randbox zeichnen
      
\setuprlagentabellen%
{4.5em}% Spaltenbreite
{2}% Anzahl Spalten Tabelle eins
{2}% Anzahl Spalten Tabelle zwei
{4}% Anzahl Spalten Tabelle drei  
{0em}% horizontale Verschiebung Tabelle eins
{0em}% horizontale Verschiebung Tabelle zwei
{0em}% horizontale Verschiebung Tabelle drei

\lverbindungeins{%
\begin{tabular}{c}%
$P6_3/m \, 2/c \, 2/m$\\[0.3em]
\fbox{hex. TiI$_3$}\\
\end{tabular}%
}

\labstiegeins{%
\begin{tabular}{c}
k3\\
$\mathbf{a-b, a+2b, c}$
\end{tabular}%
}

\lverbindungzwei{%
$P6_3/m \, 2/m \, 2/c$%\\
}

\labstiegzwei{%
t2%
}
\end{verbatim}
\end{tiny}
\end{minipage}
\hfill
\begin{minipage}{0.45\textwidth}
\begin{tiny}
\begin{verbatim}
\lverbindungdrei{%
\begin{tabular}{c}
$P\overline{3} \, 2/m \, 1$\\[0.3em]
\fbox{$\beta$-WCl$_6$}\\
\end{tabular}%
}

\rlagentranseins{%
$x,y,z$ (überflüssig)%
}

\rlagentranszwei{%
$x,y,z$ (sinnfrei)%
}

\rlagentabelleeins{%
\begin{tabularx}{\spaltenbreiteem*\spalteneins}[t]{|z|z|}
\hline
Ti: $2b$	  & $\Box$: $4d$ \\
$\overline{3}m$ & $3.2$ \\
\hline
0		  & \zd \\
0		  & \ed \\
0		  & 0 \\
\hline
\end{tabularx}%
}

\rlagentabellezwei{%
\begin{tabularx}{\spaltenbreiteem*\spaltenzwei}[t]{|z|z|}%
\hline
$2a$	    & $4f$ \\
$\overline{3}m$    &  $3m$ \\
\hline
0		    	  	 & \ed \\
0		    	  	 & \zd \\
0		      & 0.0 \\
\hline
\end{tabularx}%
}

\rlagentabelledrei{%
\begin{tabularx}{\spaltenbreiteem*\spaltendrei}[t]{|z|z|z|z|}
\hline
W1: $1a$	    & $\Box$: $1b$         & W2: $2d$  & $\Box$: $2d$\\
$\overline{3}m$    & $\overline{3}m$ & $3m$ & $3m$ \\
\hline
0		    & 0 	       & \ed  & \ed \\
0		    & 0 	       & \zd  & \zd \\
0		    & \eh   & 0.473 & 0.0 \\
\hline
\end{tabularx}%
}


\rechtspfeilsetup{
\rpfeileinszwei{1}{1}
\rpfeileinszwei{1}{2}
\rpfeilzweidrei{1}{1}
\rpfeilzweidrei{1}{2}
\rpfeilzweidrei{2}{3}
\rpfeilzweidrei{2}{4}
}
\end{stammbaum}
\end{verbatim}
\end{tiny}
\end{minipage}
\caption{Quellcode zu Abb.~\ref{abb_mit_aufw}: Etwas aufwändigerer Stammbaum mit Lagenfortführung und
(sinnfreier) Koordinatentransformation.}
\label{abb_mit_aufw_src}
\end{figure}

\section{Lizenz}
Dieses Paket unterliegt der LaTeX Project Public License, siehe
\href{http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html}{http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html} für nähere
Details.
Copyright \textcopyright{} 2006, 2007 Stefan Lange

\section{Dank}
Die Idee für dieses Paket basiert auf einem \LaTeXe{}-Beispiel von Prof. Dr. U.
Müller, in dem ebenfalls Stammbäume mit Hilfe der picture-Umgebung gesetzt
werden. Ich danke Melanie Bawohl, Michael Bräu und Michael Leitl für das Testen und viele
hilfreiche Kommentare und Hinweise.

\section{Fehler}
Ich habe versucht, alle offensichtlichen Fehler zu beseitigen. Nichtsdestotrotz
sind möglicherweise noch Fehler enthalten. Insbesondere ist das Paket sehr
anfällig gegenüber unsinnigen Eingaben, es gibt kein Fehlermanagement. Die
Übersetzungszeit für einen Stammbaum ist aufgrund sehr vieler (ineffizient
umgesetzter) Berechnungen relativ hoch.

\section{Kontakt}
Anregungen, Kommentare und Fehlerberichte sind erwünscht an die email-Adresse
\href{mailto:hoirkman@gmx.de}{hoirkman@gmx.de}.


\end{document}
