<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\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!} &amp; 1 &amp; 
  \multirow{3}{1cm}[0.22ex]{Nicht zu kurz!} \\
                              &amp; 2           \\
                              &amp; 3
\end{tabular}
\end{flushleft}
wurde mit
\begin{verbatim}
   \begin{tabular}{@{}lll}
     \multirow{3}{1cm}{Zu kurz!} &amp; 1 &amp; 
     \multirow{3}{1cm}[0.22ex]{Nicht zu kurz!} \\
                                 &amp; 2           \\
                                 &amp; 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}
   &gt;{\raggedright}p{2.1cm}
\end{verbatim}
kann beispielsweise eine flatternd gesetzte Spalte mit definierter
Breite deklariert werden, mit
\begin{verbatim}
   &gt;{$}l&lt;{$}
\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}{&gt;{$}l&lt;{$}}
\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 |&gt;{\bfseries}L| sind ohne Schwierigkeiten
m"oglich, ebenso k"onnen Argumente benutzt werden:
\begin{verbatim}
   \newcolumntype{P}[1]{&gt;{\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}
</pre></body></html>