\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}