\documentclass[12pt,a4paper,abstracton]{scrartcl} % \usepackage[T1]{fontenc} \usepackage[german]{varioref} \usepackage{% german, multirow, shortvrb, textcomp, url } % \renewcommand{\sectfont}{\rmfamily\bfseries} \renewcommand{\descfont}{\rmfamily\bfseries} \typearea{8} % \renewcommand{\reftextcurrent}{\normalfont auf dieser Seite} \renewcommand{\reftextbefore}{\normalfont auf der \reftextvario{vorigen}{vorangehenden} Seite} \renewcommand{\reftextfacebefore}{\normalfont auf der \reftextvario{linken}{ge\-gen\-\"uber\-lie\-gen\-den} Seite} \renewcommand{\reftextafter}{\normalfont auf der \reftextvario{n\"ach\-sten}{folgenden} Seite} \renewcommand{\reftextfaceafter}{\normalfont auf der \reftextvario{rechten}{ge\-gen\-\"uber\-lie\-gen\-den} Seite} \renewcommand{\reftextfaraway}[1]{\normalfont auf Seite~\pageref{#1}} % \begin{document} % \MakeShortVerb{\|} % \title{Gleitobjekte -- die richtige Schmierung} \author{Axel Reichert\\\url{reich@mpie-duesseldorf.mpg.de}} \date{1997-10-10} \maketitle % \begin{abstract} Dieses Tutorium erl"autert den Umgang mit Gleitobjekten. Die Plazierung von Floats und die Erstellung einer Legende werden behandelt. Die Einbettung und Beschriftung von Abbildungen wird erkl"art. Die Gestaltung von Tabellen und umfangreichem Zahlenmaterial wird dargestellt. Im zweiten Teil werden Hinweise zur Beschaffung und Installation zus"atzlicher \LaTeXe-Pakete gegeben und weitere Informationsquellen genannt, Motto: Hilfe zur Selbsthilfe. Das Tutorium richtet sich an neugierige \LaTeX-Anwender mit Grundkenntnissen, aber vielleicht wird auch ein Guru eine Alternative zum selbstgebastelten Hack kennenlernen. \end{abstract} % \newpage % \tableofcontents % \newpage % \section{Gleitobjekte -- die richtige Schmierung} % \subsection{Allgemeines} % \subsubsection{Platzverweise} % \paragraph{Optionale Argumente.} Sowohl die |figure|"~~als auch die |table|"=Umgebung besitzen ein optionales Argument, mit dem die erlaubte Plazierung angegeben werden kann. Folgende Argumente sind definiert: \begin{labeling}{\bfseries b} \item[\bfseries h] Hier. Bei den |*|-Formen der Umgebungen nicht erlaubt. \item[\bfseries t] Oben. Wenn der Text, der bei einer |h|-Plazierung \emph{vor} diesem Gleitobjekt auf der laufenden Seite st"unde, auch noch \emph{nach} dem Gleitobjekt auf die Seite pa"st, erfolgt eine Plazierung oben auf \emph{dieser} Seite, sonst oben auf der \emph{n"achsten} Seite, und die laufende Seite wird mit dem auf das Gleitobjekt folgenden Text aufgef"ullt. \item[\bfseries b] Unten. Wenn dieses Gleitobjekt noch unten auf die laufende Seite pa"st, erfolgt die Plazierung dort, der Platz bis dorthin wird mit dem auf das Gleitobjekt folgenden Text aufgef"ullt. Ist die laufende Seite dagegen schon zu weit mit Text gef"ullt, wird das Gleitobjekt unten auf der n"achsten Seite plaziert. Dieses Argument ist bei den |*|"~Formen der Umgebungen nicht erlaubt. \item[\bfseries p] Das Gleitobjekt wird auf einer eigenen Seite ausgegeben, die durchaus auch mehrere Gleitobjekte enthalten kann. \item[\bfseries !] Die im n"achsten Absatz besprochenen Plazierungsparameter werden ignoriert. \end{labeling} Die Voreinstellung f"ur das optionale Argument ist~|[tbp]|. In der Regel sollte man es dabei belassen, da Gleitobjekte als getrennte Textebene gedacht sind, eine |h|"~Plazierung aber den Leseflu"s st"ort. % \paragraph{Plazierungsparameter.} Das Verhalten von \LaTeX{} bei der Plazierung von Gleitobjekten wird durch Plazierungsparameter gesteuert. Folgende Parameter sind definiert: \begin{description} \item[\textbackslash{}floatpagefraction] Minimaler Anteil einer Seite, der bei einer |p|"=Plazierung eines oder mehrerer Gleitobjekte erreicht werden mu"s. Voreinstellung:~0,5. \item[\textbackslash{}topfraction] Maximaler Anteil einer Seite, der bei einer |t|"~Plazierung eines oder mehrerer Gleitobjekte erreicht werden darf. Voreinstellung:~0,7. \item[\textbackslash{}bottomfraction] Maximaler Anteil einer Seite, der bei einer |b|"=Plazierung eines oder mehrerer Gleitobjekte erreicht werden darf. Voreinstellung:~0,3. \item[\textbackslash{}textfraction] Minimaler Textanteil einer Seite, der bei einer |h|"~, |t|"~~oder |b|"~Plazierung eines Gleitobjektes erreicht werden mu"s. Voreinstellung:~0,2. \end{description} Einer der Werte |\topfraction| oder |\bottomfraction| sollte gr"o"ser als |\floatpagefraction| sein. Diese Befehle k"onnen "uber |\renewcommand| ge"andert werden. Weitere Parameter sind: \begin{description} \item[topnumber] Maximale Anzahl der Gleitobjekte mit |t|"~Plazierung auf der Seite. Voreinstellung:~2. \item[bottomnumber] Maximale Anzahl der Gleitobjekte mit |b|"~Plazierung auf der Seite. Voreinstellung:~1. \item[totalnumber] Maximale Anzahl der Gleitobjekte auf der gesamten Seite. Voreinstellung:~3. \end{description} Diese Z"ahler k"onnen "uber |\setcounter| ge"andert werden. % \paragraph{flafter.sty.} Dieses Paket erzwingt die Plazierung eines Gleitobjektes \emph{nach} seiner Deklaration. Damit kann das Gleitobjekt fr"uhestens an der Stelle seines Aufrufs erscheinen, falls eine |h|"~Plazierung m"oglich ist, ansonsten unten auf der laufenden Seite oder oben auf der n"achsten Seite. % \paragraph{afterpage.sty.} Mit diesem Paket kann die Ausf"uhrung eines Befehls verz"ogert werden, so da"s sie erst nach der Ausgabe der laufenden Seite erfolgt. Mit \begin{verbatim} \afterpage{\clearpage} \end{verbatim} wird z.\,B. die laufende Seite noch mit nachfolgendem Text aufgef"ullt, bevor der |\clearpage|-Befehl die unmittelbare Ausgabe aller anstehenden Gleitobjekte erzwingt. Besonders praktisch ist diese M"oglichkeit bei |longtable|-Umgebungen (siehe Abschnitt~\vref{sec:longtable}), deren Ausgabe auf diese Weise erst oben auf der n"achsten Seite beginnt. So wird vermieden, da"s sich unten auf der laufenden Seite nur wenige Tabellenzeilen befinden. % \paragraph{endfloat.sty.} Dieses Paket schiebt alle Gleitobjekte an das Ende des Dokumentes und erzeugt dabei auf Wunsch Abbildungs"~~und Tabellenverzeichnisse sowie Markierungen im Text an den Stellen, wo die Gleitobjekte deklariert wurden. Dies ist nicht nur f"ur Ver"offentlichungen praktisch, sondern auch f"ur Texte mit einem sehr hohen Gleitobjektanteil. In solchen F"allen lassen sich die vielen Gleitobjekte nicht mehr sinnvoll im Text anordnen, so da"s eine Plazierung am Ende des Textes besser ist. Dieses Verhalten erreicht man etwa mit \begin{verbatim} \usepackage[nolists,nomarkers]{endfloat} \renewcommand{\efloatseparator}{} \end{verbatim} Auf diese Weise werden keine Verzeichnisse und keine Markierungen im Text erzeugt. Au"serdem wird der Seitenumbruch zwischen den Gleitobjekten (Voreinstellung) unterdr"uckt. % \paragraph{lscape.sty.} Dieses Paket stellt eine |landscape|-Umgebung zur Verf"ugung, in der die Textseite (au"ser den Kopf"~~und Fu"szeilen) um 90\textdegree{} gegen den Uhrzeigersinn gedreht wird. Es geh"ort zum |graphics|-B"undel (siehe Abschnitt~\vref{sec:graphicx}) und erfordert/erkennt die gleichen Optionen. % \paragraph{varioref.sty.} Dieses Paket stellt verbesserte Querverweise zur Verf"ugung. Mit \begin{verbatim} \vref{marke} \end{verbatim} wird zus"atzlich zur Nummer ein Hinweis auf die Seite erzeugt: Befindet sich die Marke auf der n"achsten oder vorigen Seite, werden entsprechende Texte ausgegeben, ist die Marke mehr als eine Seite von dem Querverweis entfernt, wird die Seitenzahl explizit angegeben. Stehen Marke und Querverweis auf einer Seite, wird die zus"atzliche Information unterdr"uckt. Das Paket erkennt diverse Sprachen als Optionen, die ausgegebenen Texte k"onnen konfiguriert werden. Probleme k"onnen entstehen, wenn ein Seitenumbruch in dem erg"anzenden Text auftritt. In solchen F"allen kann es passieren, da"s der Querverweis st"andig zwischen den Seiten hin und her springt und einen Fehler produziert. Mit dem Befehl |\vrefwarning| im Vorspann wird ein solcher Fehler in eine Warnung umgewandelt. H"aufig werden die ersten Querverweise auf Gleitobjekte halbfett gesetzt, damit man die zugeh"orige Erl"auterung schnell findet. In solchen F"allen ist es unerw"unscht, da"s der gesamte Text halbfett gesetzt wird, etwa \textbf{"`Abbildung~1 auf Seite~19"'.} Dies kann durch Konfiguration der vom |varioref|-Paket benutzten Texte ge"andert werden: \begin{verbatim} \renewcommand{\reftextcurrent}{\normalfont auf dieser Seite} \renewcommand{\reftextbefore}{\normalfont auf der \reftextvario{vorigen}{vorangehenden} Seite} \renewcommand{\reftextfacebefore}{\normalfont auf der \reftextvario{linken}{ge\-gen\-\"uber\-lie\-gen\-den} Seite} \renewcommand{\reftextafter}{\normalfont auf der \reftextvario{n\"ach\-sten}{folgenden} Seite} \renewcommand{\reftextfaceafter}{\normalfont auf der \reftextvario{rechten}{ge\-gen\-\"uber\-lie\-gen\-den} Seite} \renewcommand{\reftextfaraway}[1]{\normalfont auf Seite~\pageref{#1}} \end{verbatim} % \subsubsection{Legendenbildung} % Legenden stehen nie in der Grundschriftart, weil sie eine vom Haupttext getrennte Ebene darstellen. Die Schriftart sollte daher kontrastieren, darf aber nicht schwer zu lesen sein. Deshalb bietet sich die Kursive (|\itshape|) an, eventuell auch die Schriftmischung mit der Grotesk (|\sffamily|). Legenden werden flatternd gesetzt (|\raggedright|) und sinngerecht umgebrochen (|\protect\\|). Die Abst"ande zum Gleitobjekt m"ussen stets einheitlich sein. Da \LaTeX{} Legenden stets \emph{unter} dem Gleitobjekt erwartet, stimmen die Abst"ande nicht, wenn man, wie im Buchdruck "ublich, Tabellen mit einer Überschrift versieht. Folgende Kommandos helfen hier weiter: \begin{verbatim} \newcommand{\tablecaption}{% \setlength{\abovecaptionskip}{0pt} \setlength{\belowcaptionskip}{10pt} \caption% } \newcommand{\figurecaption}{% \setlength{\abovecaptionskip}{10pt} \setlength{\belowcaptionskip}{0pt} \caption% } \end{verbatim} Statt |\caption| wird dann in Tabellen |\tablecaption| benutzt, in Abbildungen |\figurecaption|. % \paragraph{caption2.sty.} Dieses Paket erlaubt die einheitliche Formatierung von Legenden. Es vertr"agt sich mit dem |longtable|-Paket (Abschnitt~\vref{sec:longtable}), mu"s aber nach diesem geladen werden. \begin{verbatim} \usepackage[footnotesize,hang,nooneline]{caption2} \end{verbatim} erzeugt etwa Legenden in Fu"snotengr"o"se, die mit h"angendem Einzug versehen sind, auch einzeilige Legenden werden nicht zentriert. Die Schriftart f"ur die Marke und den Legendentext selbst kann etwa mit \begin{verbatim} \renewcommand{\captionfont}{% \normalfont\itshape\footnotesize% } \renewcommand{\captionlabelfont}{% \normalfont\bfseries\footnotesize% } \end{verbatim} ver"andert werden. Das Trennzeichen kann man etwa mit \begin{verbatim} \renewcommand{\captionlabeldelim}{.} \end{verbatim} anpassen, wenn einem der Doppelpunkt (Voreinstellung) nicht gef"allt. Mit der Option |longtable| wird die Voreinstellung des gleichnamigen Paketes f"ur die Breite der Legenden (4\,Zoll) "ubersteuert und somit eine einheitliche Behandlung aller |\caption|-Befehle erreicht. % \subsection{Abbildungen} % Bei einspaltigen Texten wird man meist die Abbildungen auf Textbreite skalieren, damit sie sich harmonisch in den Satzspiegel einf"ugen. Im mehrspaltigen Satz ist darauf zu achten, da"s bei der Skalierung von mehreren, nebeneinander gesetzten Bildern sich die Breite der einzelnen Bilder entweder mit der Spaltenbreite deckt oder sich deutlich von ihr unterscheidet. Ebenso sollte die H"ohe mehrerer, nebeneinander gesetzter Bilder entweder "ubereinstimmen oder stark kontrastieren. % \subsubsection{Gemachte Betten} % \paragraph{graphicx.sty.}\label{sec:graphicx} Dieses Paket geh"ort zum |graphics|-B"undel und dient der Einbindung von Graphiken. Die Graphikeinbindung ist treiberabh"angig, daher mu"s dem Paket entweder mit einer Option (etwa |dvips|) oder mit einer Datei |graphics.cfg|, die im Eingabepfad f"ur |tex|-Dateien zu finden sein mu"s, mitgeteilt werden, welcher Treiber verwendet wird. In der Konfigurationsdatei steht etwa ein Eintrag der Form \begin{verbatim} \ExecuteOptions{dvips} \end{verbatim} Zur Zeit werden u.\,a. die Optionen |emtex|, |dviwin|, |xdvi| und |dvips| unterst"utzt, wobei |dvips| die meisten Features bietet. Der wichtigste Befehl des Paketes ist |\includegraphics| und hat zahlreiche Optionen. Ein typisches Beispiel: \begin{verbatim} \includegraphics[trim=1cm 0cm 2cm 0.5cm,clip,angle=90,width=\columnwidth]{file} \end{verbatim} Damit wird die Bounding Box der |eps|-Datei nach innen verschoben, und zwar links um 1\,cm, unten um 0\,cm, rechts um 2\,cm und oben um 0,5\,cm. Danach wird die Graphik auf diese neue Bounding Box zurechtgeschnitten, um 90\textdegree{} gedreht (gegen den Uhrzeigersinn) und dann auf Spaltenbreite skaliert. Entsprechend kann man auf etwa 40\,\% der Texth"ohe skalieren, um bei geeignet gew"ahlten Positionierungsparametern mehrere Abbildungen oben auf der Seite zu plazieren. Die Reihenfolge der Optionen ist insbesondere bei der Drehung von Graphiken nicht beliebig! F"ur die Graphikdateien kann etwa mit \begin{verbatim} \graphicspath{{eps/}{tiff/}} \end{verbatim} ein Suchpfad angegeben werden. Standardm"a"sig werden Graphikdateien in den Verzeichnissen gesucht, in denen auch |tex|-Dateien gesucht werden. Das |graphicx|-Paket erm"oglicht auch das Drehen von Text, etwa in gest"urzten Tabellenk"opfen (die von rechts lesbar sein m"ussen): \begin{verbatim} \rotatebox{90}{gestuerzter Eintrag} \end{verbatim} Gest"urzte Tabellenk"opfe innerhalb von |landscape|-Umgebungen m"ussen dagegen um 270\textdegree{} gedreht werden, da sie sonst bei normaler Haltung des Buches auf dem Kopf st"unden. M"ochte man grunds"atzlich alle Dateien auf die Bounding Box zurechtschneiden und auf Spaltenbreite skalieren, kann man mit \begin{verbatim} \setkeys{Gin}{clip,width=\columnwidth} \end{verbatim} diese Optionen als Standard festlegen. % \subsubsection{Buchst"ablich rausgeworfen} % \paragraph{psfrag.sty.} Dieses Paket erlaubt die Beschriftung von |eps|-Bildern mit \LaTeX{} und verbindet so die einfache Erstellung von Graphiken mit |xfig|, |xmgr| oder CorelDraw mit der Leistungsf"ahigkeit von \LaTeX{} im Formelsatz. Dazu sind das |graphics|-B"undel sowie ein Postscript-Treiber, etwa |dvips|, erforderlich. Ein typisches Beispiel: \begin{verbatim} \psfrag{marke-in-eps-datei}{$e^{\pi\mathrm{i}}+1=0$} \end{verbatim} Damit wird eine im Zeichenprogramm zuvor mit der Textfunktion gesetzte Marke durch einen \LaTeX-Ausdruck ersetzt. Dieser Befehl mu"s \emph{vor} dem jeweiligen |\includegraphics|-Befehl stehen, die angegebene Marke \emph{exakt} mit dem Text im Zeichenprogramm "ubereinstimmen. Eine solche Text\-erset\-zung gilt f"ur die gesamte laufende Umgebung, daher kann man direkt nach |\begin{document}| globale Ersetzungen festlegen. Manche Zeichenprogramme schreiben jeden Buchstaben der Marke einzeln in die Postscript"=Datei, so da"s die Ersetzung mit |psfrag| nicht mehr funktioniert. In solchen F"allen kann man sich mit Dummy-Texten behelfen, die nur aus einem Buchstaben bestehen. % \subsection{Tabellen} % \subsubsection{Tafeln, wie sie im Buche stehen} % Strenge Tabellen, wie man sie in "alteren B"uchern finden kann, sind meist "ubersichtlicher als die modernen, mit "`Auto Layout"' verunstalteten Varianten: Meist werden statt der K"astchenl"osung ausschlie"slich horizontale Linien verwendet, und die Ausrichtung der Tabelle erfolgt konsequent zur Linksachse. Bei unterschiedlich hohen Tabellenzeilen wirkt ein "ubergeordnetes Raster beruhigend, bei unklarer Zuordnung der Spalten"uberschriften helfen unterbrochene, horizontale Linien. % \paragraph{booktabs.sty.} Dieses Paket stellt Befehle zur Verf"ugung, mit denen derartige Tafeln auf einfache Weise gesetzt werden k"onnen. In der Dokumentation werden weitere Hinweise zum Layout von Tabellen gegeben: \begin{itemize} \item Keine vertikalen Linien benutzen. \item Keine doppelten Linien benutzen. \item Einheiten stehen im Tabellenkopf. \item F"uhrende Nullen werden ausgeschrieben. \item Keine Unterf"uhrungszeichen benutzen, sondern das Feld entweder leer lassen oder den Eintrag wiederholen. \end{itemize} Folgende Befehle stehen u.\,a. zur Verf"ugung: \begin{verbatim} \toprule \midrule \bottomrule \end{verbatim} Sie werden zum Setzen der etwas dickeren Kopf"~~und Fu"slinie bzw. der etwas d"unneren Halslinie benutzt. Mit \begin{verbatim} \addlinespace \end{verbatim} schafft man vertikalen Abstand, um un"ubersichtlich viele Linien in der Tabelle zu vermeiden. Mit \begin{verbatim} \cmidrule(r){1-2}\cmidrule(lr){3-4}\cmidrule(l){5-6} \end{verbatim} setzt man beispielsweise Linien "uber die Spalten 1 und 2, 3 und 4 bzw. 5~und 6, die sich nicht ber"uhren. Ohne das Argument in runden Klammern unterbleibt diese "`Trimmung"'. Solche Linien helfen dabei, den Geltungsbereich von kurzen Spalten"uberschriften eindeutig zu kl"aren. Leider erzeugen die Befehle |\toprule|, |\midrule| und |\bottomrule| bei der Verwendung in |longtable|-Umgebungen Linien "uber die gesamte Satzbreite. Abhilfe schaffen folgende Befehle, \begin{verbatim} \newcommand{\LTtoprule}[1]{% \\ \cmidrule[\heavyrulewidth]{#1} } \newcommand{\LTmidrule}[1]{% \cmidrule[\lightrulewidth]{#1} } \newcommand{\LTbottomrule}[1]{% \cmidrule[\heavyrulewidth]{#1} } \end{verbatim} die dann mit etwas Handarbeit (Z"ahlen der Spalten) das Gew"unschte leisten, etwa wie folgt: \begin{verbatim} \LTtoprule{1-4} \end{verbatim} % \paragraph{multirow.sty.} Dieses Paket stellt den |\multirow|-Befehl zur Verf"ugung, eine Entsprechung zum |\multicolumn|-Befehl, mit der man mehrere Felder einer Zeile zu einem flatternd gesetzten Feld definierter Breite zusammenfassen kann. Das erste Argument des |\multirow|-Befehls ist die Zeilenzahl, das zweite die Satzbreite des Feldes. Das dritte, optionale Argument dient zur Feinjustierung der vertikalen Ausrichtung. Der Benutzer mu"s daf"ur sorgen, da"s die f"ur den |\multirow|-Befehl reservierten Felder tats"achlich \emph{leer} bleiben. Ben"otigt der Text mehr Zeilen als angegeben, wird der darunter stehende Text "uberschrieben. Ist zuviel Platz reserviert worden, wird der Text vertikal zentriert, wie im folgenden Beispiel: \begin{flushleft} \hspace{18pt}% \begin{tabular}{@{}lll} \multirow{3}{1cm}{Zu kurz!} & 1 & \multirow{3}{1cm}[0.22ex]{Nicht zu kurz!} \\ & 2 \\ & 3 \end{tabular} \end{flushleft} wurde mit \begin{verbatim} \begin{tabular}{@{}lll} \multirow{3}{1cm}{Zu kurz!} & 1 & \multirow{3}{1cm}[0.22ex]{Nicht zu kurz!} \\ & 2 \\ & 3 \end{tabular} \end{verbatim} erzeugt. % \paragraph{tabularx.sty.} Mit diesem Paket kann eine festgelegte Tabellenbreite erreicht werden. Dabei wird \emph{nicht} der Platz zwischen den Spalten vergr"o"sert (wie bei der |tabular*|-Umgebung), sondern die Spalten selbst werden verbreitert. Das folgende Beispiel deklariert eine Tabelle mit zwei linksb"undigen Spalten und einer Spalte, deren Breite so festgelegt wird, da"s 80\,\% der Satzbreite erreicht werden: \begin{verbatim} \begin{tabularx}{0.8\textwidth}{llX} \end{verbatim} % \subsubsection{Zahlen "uber Zahlen} % \paragraph{longtable.sty.} \label{sec:longtable} Mit diesem Paket kann man mehrseitige Tabellen automatisch umbrechen lassen. Die |longtable|-Umgebung benutzt den gleichen Z"ahler wie die |table|-Umgebung, der |\caption|-Befehl erzeugt einen Eintrag in der |lot|-Datei. Horizontale Linien, die mit Seitenumbr"uchen zusammenfallen, werden automatisch verdoppelt. Mit dem optionalen Argument k"onnen Tabellen linksb"undig, zentriert (Voreinstellung) oder rechtsb"undig gesetzt werden. Ein Umbruch innerhalb eines |p|-Feldes ist nicht m"oglich, Fu"snoten in |p|-Spalten sind dagegen erlaubt. M"ochte man Fu"snoten auch im Tabellenkopf verwenden, m"ussen |\footnotemark| sowie (auf der gleichen Seite im Hauptteil der Tabelle) |\footnotetext| benutzt werden. Ein Tabellenkopf oder~"~fu"s kann automatisch an jedem Seitenbeginn bzw.~"~ende wiederholt werden. Zur manuellen Steuerung von Umbr"uchen sind die normalen \LaTeX-Befehle |\nopagebreak| und |\newpage| verwendbar. Das |longtable|-Paket arbeitet mit |caption2.sty| zusammen und bietet verschiedene M"oglichkeiten, Legenden zu erzeugen. Die Überschrift der ersten Tabellenseite erzeugt man etwa mit: \begin{verbatim} \caption[Kurzer Text fuer lot-Datei]{Langer Text} \end{verbatim} Soll auch auf den weiteren Tabellenseiten eine Überschrift gesetzt werden, kann man hierzu beispielsweise \begin{verbatim} \caption[]{Langer Text, anders als Hauptueberschrift} \end{verbatim} verwenden. Überschriften werden mit 4~Zoll Satzbreite (Voreinstellung) gesetzt. Den |\label|-Befehl bringt man am besten im Tabellenkopf der ersten Seite unter (vor |\endfirsthead|). Leider funktioniert das |longtable|-Paket weder mit der |twocolumn|-Option noch mit der |multicols|-Umgebung. % \paragraph{ltxtable.sty.} Dieses Paket verbindet die M"oglichkeiten von |longtable| und |tabularx|, erlaubt also mehrseitige Tabellen mit automatischem Seitenumbruch und automatischer Anpassung an eine bestimmte Breite. Die Tabelle steht dabei in einer eigenen Datei und wird etwa wie folgt deklariert: \begin{verbatim} \begin{longtable}{llX} \end{verbatim} Die Einbindung in das Dokument erfolgt dann etwa mit \begin{verbatim} \LTXtable{0.8\textwidth}{file} \end{verbatim} % \paragraph{array.sty.} Dieses Paket erweitert die |tabular|"~~und die |array|"=Umgebung um n"utzliche Optionen zur Spaltenformatierung. Mit \begin{verbatim} >{\raggedright}p{2.1cm} \end{verbatim} kann beispielsweise eine flatternd gesetzte Spalte mit definierter Breite deklariert werden, mit \begin{verbatim} >{$}l<{$} \end{verbatim} erh"alt man eine linksb"undige Spalte f"ur Formeln. Der Befehl |@{Ausdruck}| \emph{ersetzt} den Abstand zwischen den Spalten durch den angegebenen Ausdruck, der Befehl |!{Ausdruck}| f"ugt den Ausdruck \emph{zus"atzlich} zum Abstand hinzu. Mit \begin{verbatim} p{2cm}m{2cm}b{2cm} \end{verbatim} werden drei Flie"stextspalten erzeugt. Die linke schlie"st oben b"undig mit der laufenden Zeile ab, die mittlere wird vertikal an der laufenden Zeile zentriert, w"ahrend die dritte unten b"undig mit der laufenden Zeile abschlie"st. Besonders praktisch ist die M"oglichkeit, h"aufig vorkommende Spaltendeklarationen als eigenen Spaltentyp zu definieren: \begin{verbatim} \newcolumntype{L}{>{$}l<{$}} \end{verbatim} deklariert einen neuen Spaltentyp |L|, der in Tabellen eine Formelspalte erzeugt. In der |array|-Umgebung w"urde dagegen auf diese Weise eine Textspalte erzeugt, da das Dollar-Zeichen ein Toggle ist. Auch Kombinationen wie |>{\bfseries}L| sind ohne Schwierigkeiten m"oglich, ebenso k"onnen Argumente benutzt werden: \begin{verbatim} \newcolumntype{P}[1]{>{\raggedright\footnotesize}p{#1}} \end{verbatim} erzeugt eine flatternd gesetzte Spalte in Fu"snotengr"o"se, deren Breite mit dem Argument angegeben werden kann. % \paragraph{dcolumn.sty.} Dieses Paket erm"oglicht die Ausrichtung von Spalten an Dezimaltrennzeichen. Mit \begin{verbatim} D{,}{.}{2} \end{verbatim} wird etwa eine Spalte mit zwei Nachkommastellen deklariert, die rechtsb"undig im Mathematikmodus gesetzt wird. Dabei wird (z.\,B. f"ur einen englischen Text) das in der |tex|-Datei verwendete Dezimalkomma f"ur die |dvi|-Datei in einen Dezimalpunkt umgewandelt. H"aufig vorkommende Spaltendeklarationen kann man wie beim |array|-Paket abk"urzen. Bei breiten Spalten"uberschriften sind kurze, rechtsb"undig ausgerichtete Felder unsch"on. Besser ist in solchen F"allen, die Zahl mit den meisten Stellen vor dem Komma linksb"undig zu setzen und den Rest der Spalte an deren Dezimaltrennzeichen auszurichten. Leider kann man keine linksb"undigen Spalten mit Dezimaltrennzeichen deklarieren, sondern lediglich mit beispielsweise \begin{verbatim} D{.}{\cdot}{5.2} \end{verbatim} alle Zahlen so in der Spalte zentrieren lassen, als h"atten sie f"unf Vor"~~und zwei Nachkommastellen. Hier ist also Handarbeit n"otig. % \section{Pakete -- an den Quellen} % \subsection{Beschaffung} % \subsubsection{FTP-Server} % Die Quelle f"ur Software jeglicher Art zu \TeX{} und \LaTeX{} sind die CTAN-Server, in Deutschland ist das \begin{verbatim} ftp://ftp.dante.de/tex-archive/ \end{verbatim} mit zahlreichen Spiegelungen. Ist der Name eines Paketes bekannt, kann man das Suchformular unter der Adresse \begin{verbatim} http://www.dante.de/cgi-bin/ctan-index \end{verbatim} benutzen, um das Verzeichnis zu finden, in dem es abgelegt ist. % \subsubsection{Der \LaTeX-Katalog} % Sucht man dagegen Informationen dar"uber, was f"ur Zusatzpakete und Hilfsprogramme es zu \TeX{} und \LaTeX{} "uberhaupt gibt, hilft der \LaTeX-Katalog, eine alphabetisch sortierte Liste, die meist mit Querverweisen zum entsprechenden Verzeichnis versehen ist. Bei einer Stichwortsuche in \begin{verbatim} CTAN: help/Catalogue/catalogue.html \end{verbatim} findet man meist f"ur das Problem geeignete Pakete. % \subsection{Installation} % Ein komplettes \LaTeXe-Paket besteht meist aus dem Installationsskript, einer |ins|-Datei, und dem Archiv, einer |dtx|-Datei, die mit Hilfe von |docstrip| bearbeitet wird. Es empfiehlt sich aber immer, die Dokumentation in den jeweiligen Verzeichnissen auf CTAN zu lesen. % \subsubsection{Verpackung} % Nachdem das Paket auf dem heimischen Rechner vorhanden ist, mu"s es noch ausgepackt werden. Dies geschieht beispielsweise mit dem folgenden Befehl: \begin{verbatim} tex package.ins \end{verbatim} Dadurch werden diverse Dateien erzeugt, die noch in die entsprechenden Verzeichnisse verschoben werden m"ussen. % \subsubsection{Dokumentation} % Das sch"onste Paket n"utzt nicht viel, wenn es nicht dokumentiert ist. Mit dem Befehl \begin{verbatim} latex package.dtx \end{verbatim} wird die Dokumentation als |dvi|-Datei erzeugt, je nach Paket sind auch noch Durchl"aufe mit |bibtex| oder |makeindex| notwendig. % \subsection{Hilfe} % Die sch"onste Dokumentation n"utzt nicht viel, wenn sie nicht gelesen wird. Zum Gl"uck lassen sich die meisten Probleme mit der vorhandenen Dokumentation l"osen, die in der Regel ausf"uhrlich und genau ist. Also: RTFM! % \subsubsection{Gedrucktes} % \paragraph{Anleitungen} % \begin{labeling}{|usrguide.dvi|} \item[|usrguide.dvi|] Hinweise f"ur Umsteiger von \LaTeX\,2.09, aber auch f"ur Anf"anger, da hier das Konzept der Klassen und Pakete erl"autert wird. Sollte man kennen. \item[|fancyhdr.dvi|] Hinweise zum Seitenlayout, zur Erstellung von Kopf"~~und Fu"szeilen und zur Plazierung von Gleitobjekten. Sollte man kennen. \item[|epslatex.ps|] Hinweise zur Graphikeinbindung in \LaTeXe. Sollte man kennen. \item[|modguide.dvi|] Hinweise zur Verteilung und Änderung der Bestandteile von \LaTeXe. F"ur Fortgeschrittene. \item[|cfgguide.dvi|] Hinweise zur Konfiguration von Schriftarten und Trennmustern in \LaTeXe{}. F"ur Fortgeschrittene. \item[|clsguide.dvi|] Hinweise f"ur Paket- und Klassenautoren. \item[|fntguide.dvi|] Hinweise zur Auswahl, Installation und Codierung von Schriftarten in \LaTeXe{}. F"ur Paket- und Klassenautoren. \end{labeling} % \paragraph{B"ucher} % \begin{itemize} \item \textsc{Kopka, H.}: \emph{\LaTeX}. Addison-Wesley, 1994. \item \textsc{Goossens, M.} et al.: \emph{Der \LaTeX-Begleiter}. Addison-Wesley, 1995. \item \textsc{Goossens, M.} et al.: \emph{The \LaTeX{} Graphics Companion}. Addison-Wesley-Longman, 1997. \end{itemize} % \subsubsection{Elektronisches} % \paragraph{FAQ} % \begin{itemize} \item \url{http://www.dante.de/dante/dante-faq.html} \end{itemize} % \paragraph{News-Gruppen} % \begin{itemize} \item \url{de.comp.text.tex} \item \url{comp.text.tex} \end{itemize} % \paragraph{Mailing-Listen} % \begin{itemize} \item \url{tex-d-l} (\url{listserv@vm.gmd.de}) \item \url{TeX-Euro} (\url{listserv@urz.uni-heidelberg.de}) \item \url{emtex-user} (\url{majordomo@physik.tu-berlin.de}) \item \url{tetex} (\url{majordomo@informatik.uni-hannover.de}) \end{itemize} % \end{document}