From 04f8d3312301550a655b78c346f9c38a9377e0c5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 27 Oct 2007 22:42:59 +0000 Subject: new latex package gu (25nov06) git-svn-id: svn://tug.org/texlive/trunk@5293 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/gu/README | 31 + Master/texmf-dist/doc/latex/gu/gudemo.tex | 480 ++++++++++++ Master/texmf-dist/doc/latex/gu/gudoc.pdf | Bin 0 -> 766552 bytes Master/texmf-dist/doc/latex/gu/gudoc.tex | 1204 +++++++++++++++++++++++++++++ 4 files changed, 1715 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/gu/README create mode 100644 Master/texmf-dist/doc/latex/gu/gudemo.tex create mode 100644 Master/texmf-dist/doc/latex/gu/gudoc.pdf create mode 100644 Master/texmf-dist/doc/latex/gu/gudoc.tex (limited to 'Master/texmf-dist/doc/latex/gu') diff --git a/Master/texmf-dist/doc/latex/gu/README b/Master/texmf-dist/doc/latex/gu/README new file mode 100644 index 00000000000..14ce71173c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/gu/README @@ -0,0 +1,31 @@ +gu.sty - Gruppe-Untergruppe-Stammbäume setzen + +(Note for English speaking users: see further down for an English version of +this summary.) + +Das Paket gu.sty erleichtert das Setzen von einfachen kristallographischen +Gruppe-Untergruppe-Schemata im Bärnighausen-Formalismus und/oder +Lagenfortführungstabellen. Die einzelnen Elemente und Abstände werden +innerhalb einer neuen Umgebung namens "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. Für Einzelheiten und Dokumentation siehe gudoc.pdf. +Dieses Paket unterliegt der LaTeX Project Public License, siehe +http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html für nähere +Details. Copyright (C) 2006, 2007 Stefan Lange + + +The aim of the package gu.sty is to simplify typesetting of simple +crystallographic group-subgroup-schemes in the Bärnighausen formalism. It +defines a new environment "stammbaum", wherein all elements of the scheme +are defined. Afterwards all necessary dimensions are calculated and the +scheme is drawn. Currently two steps of symmetry reduction are supported. +Further documentation is currently only available in German in the file +gudoc.pdf. + +This material is subject to the LaTeX Project Public License. See +http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the +details of that license. + +Copyright (C) 2006, 2007 Stefan Lange \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/gu/gudemo.tex b/Master/texmf-dist/doc/latex/gu/gudemo.tex new file mode 100644 index 00000000000..6161a3f8395 --- /dev/null +++ b/Master/texmf-dist/doc/latex/gu/gudemo.tex @@ -0,0 +1,480 @@ +\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} + + +\begin{document} + +Momentan werden zwei Symmetrieabstiegsschritte unterstützt. Ein schematischer +Stammbaum ist in Abbildung~\ref{abb_schematisch} gezeigt. + +\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 x + {0em} % Extraabstand für Kollisionskontrolle Pfeile rechts y + {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} + + +Abbildung~\ref{abb_einfach} zeigt einen einfachen Stammbaum mit einem +Symmetrieabstieg ohne Lagenfortführung. +\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% +{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} + + + + + +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. +\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} + + + +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}) manuell +vergrößert oder verkleinert werden, wenn die Ergebnisse suboptimal aussehen. + +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. + + +\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 +{2em}% Mindestlänge Linie/Pfeil 2 +{true}% Abstiegssymbol 2 +{true}% Raumgruppe und Summenformel 3 +{0em}% zusätzliche vertikale Abstände + +\setuprechts% +{true}% Lagentabelle 1 +{2em}% 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} + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/gu/gudoc.pdf b/Master/texmf-dist/doc/latex/gu/gudoc.pdf new file mode 100644 index 00000000000..cefeba9d4e4 Binary files /dev/null and b/Master/texmf-dist/doc/latex/gu/gudoc.pdf differ diff --git a/Master/texmf-dist/doc/latex/gu/gudoc.tex b/Master/texmf-dist/doc/latex/gu/gudoc.tex new file mode 100644 index 00000000000..a808af122f2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/gu/gudoc.tex @@ -0,0 +1,1204 @@ +\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} -- cgit v1.2.3