%
% bgteubner class bundle
%
% tex_bilder.tex
% Copyright 2003--2012 Harald Harders
%
% This program may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your opinion) any later version.
% The latest version of this license is in
%    http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% This program consists of all files listed in manifest.txt.
% ===================================================================
\chapter{Bilder und Tabellen}%
\label{chap:tex:bilder}%

Bilder und Tabellen sind so genannte
\emph{Fließobjekte}\texindex{Fließobjekt}, die von der Stelle, an der
sie im Quelltext stehen, an die Position im Dokument "`fließen"'.
Da für beide größtenteils die gleichen Dinge gelten, werden sie hier
gemeinsam am Beispiel von Bildern behandelt.

% ===================================================================
\section{Bilder}%
\texindex{Bild}%

Der Aufbau eines Bildes im Quelltext ist etwa folgendermaßen:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\begin{figure}%
  \centering
  \includegraphics|marg[Dateiname]%
  \caption|marg[Bildunterschrift]%
  \label|marg[Label]%
\end{figure}%
\end{verbatim}
\envindex{figure}\macroindex{caption}\macroindex{label}%
Der \verb|\centering|"=Befehl\macroindex{centering} sorgt dafür, dass
das Bild horizontal zentriert gesetzt wird.
Die von vielen \LaTeX"=Benutzern verwendete Umgebung
\cs{begin\{center\}} \ldots\ \cs{end\{center\}}
fügt vertikalen Platz ein und \emph{darf deshalb nicht verwendet
  werden!}
Anstelle des hier gezeigten \macroindex{includegraphics}%
\feinschliff{Befehls
  \cs{includegraphics}}{\cs{includegraphics}"=Befehls}%
  {\cs{includegraphics}"=Befehls}{\cs{includegraphics}"=Befehls}
können alle Dinge stehen, die zur Darstellung des Bildes notwendig sind,
beispielsweise Unterbilder, erzeugt mit dem
\verb|\subfigure|"=Befehl\macroindex{subfigure} \cite{cochran1995a},
der zur Verfügung steht, weil automatisch das Paket \verb|hhsubfigure|
geladen wird, das eine leicht veränderte Version des
\verb|subfigure|"=Pakets ist.

Die Angabe des Dateinamens im \verb|\includegraphics|"=Befehl sollte
ohne die Dateiendung\texindex{Dateiendung} auskommen, da \pdfLaTeX\
dann automatisch die entsprechende Endung auswählen kann. 
Da für den Teubner Verlag zur Erzeugung von \acro{PDF}"=Dateien das
Programm \pdfLaTeX\texindex{pdflatex@\pdfLaTeX} verwendet werden muss,
müssen alle Bilder in einem der folgenden Dateiformate vorliegen:
\acro{JPG}\texindex{JPG"=Datei@\acro{JPG}"=Datei},
\acro{PNG}\texindex{PNG"=Datei@\acro{PNG}"=Datei} oder
\acro{PDF}\texindex{PDF"=Datei@\acro{PDF}"=Datei}.
\acro{EPS}"=Dateien\texindex{EPS"=Datei@\acro{EPS}"=Datei} können
nicht verarbeitet werden. 
Sie können jedoch unter Verwendung des Programms
\verb|epstopdf|\srcindex{epstopdf} und Ghostscript\footnote{Sowohl
  \texttt{epstopdf} als auch Ghostscript sind auf der
  \TeXLive"=\acro{CD} enthalten. Siehe dazu auch
  Anhang~\ref{sec:installation-hilfe}.} bzw.\ mit Adobe Acrobat ins
\acro{PDF}"=Format umgewandelt werden.

Die Bildunterschrift\texindex{Bildunterschrift} sollte so ausführlich
sein, dass man den Bildinhalt versteht, auch ohne den Fließtext zu lesen.
Wenn ein Bilderverzeichnis erstellt wird, sollte dann für das
Bilderverzeichnis eine Kurzform der Bildunterschrift verwendet werden.
Das wird erreicht, indem in eckigen Klammern die Kurzform angegeben
wird:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
  \caption|oarg[Kurzform]|marg[Langform der Bildunterschrift]%
\end{verbatim}
\macroindex{caption}%
Das Label muss \emph{in} den oder \emph{nach} dem
\verb|\caption|"=Befehl eingefügt werden, da ansonsten die Bildnummer
nicht zuverlässig richtig zugeordnet wird.

Die Kommentarzeichen, die am Ende der Zeilen
\verb|\begin{figure}|\envindex{figure} und \verb|\end{figure}|
angehängt sind, sind in den meisten Fällen ohne Wirkung.
Sie werden dann wichtig, wenn innerhalb eines Absatzes zwei
Fließumgebungen aufeinander folgen, wie im folgenden Beispiel
illustriert:
\begin{verbatim}[\small]
... Fließtext Fließtext.
%
\begin{figure}%
  ...
\end{figure}%
%
\begin{figure}%
  ...
\end{figure}%
%
Fließtext Fließtext ...
\end{verbatim}
Ohne die \verb|%|"=Zeichen 
würde in den Fließtext ein zusätzliches, unerwünschtes Leerzeichen
eingefügt werden.
Aus diesem Grund sollten Sie immer die Kommentarzeichen an die
entsprechenden Zeilen anhängen.
Wie im vorigen Beispiel gezeigt, ist es hier, wie auch bei den
Formeln, sinnvoll, eine Gliederung des Quelltextes durch Zeilen, die
nur ein Kommentarzeichen enthalten, zu erstellen.

Die in \LaTeX\ mögliche Einschränkung der Fließumgebungsplatzierung
(Stichwort \verb|htbp|) soll bei Büchern des Teubner Verlags nicht
verwendet werden. 
In Ausnahmefällen sind die Parameter \verb|t| und \verb|p|
erlaubt, \verb|h|, \verb|b| und \verb|!| jedoch nicht.

Um die Fließumgebungen in der Nähe des zugehörigen Textes zu halten,
ist es eine vernünftige Strategie, ein Bild oder eine Tabelle im
Quelltext immer direkt nach dem entsprechenden Verweis einzufügen.
Wenn man dabei überflüssige Leerzeilen vermeidet, werden auch keine
unerwünschten Absätze erzeugt.
Folgendes Beispiel illustriert das:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
Bild~\ref{fig:bild1} zeigt dies und jenes Verhalten.
%
\begin{figure}%
  \centering
  |meta[Bilddefinitionen]
  \label{fig:bild1}%
\end{figure}%
%
Auf der linken Seite ist |ldots zu sehen |ldots
\end{verbatim}

Sollen einzeln nummerierte Teilbilder wie in
Bild~\ref{fig:bildpositionen} erzeugt werden, kann dies mit dem Befehl
\cs{subfigure\oarg{Bildunterschrift}\marg{Bilddefinitionen}} erreicht
werden.
Anders als bei den Defaulteinstellungen des zugrunde liegenden
\verb|subfigure|"=Pakets werden um die Teilbilder keine automatischen
Abstände eingefügt.
Dies muss vom Autoren selbst vorgenommen werden.
Dadurch können die gewünschten Abstände exakt erzeugt werden.

Sollen beispielsweise zwei Teilbilder nebeneinander gesetzt werden,
kann dies durch folgenden Code erreicht werden:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\begin{figure}%
  \hfil
  \subfigure|oarg[Bildunterschrift 1]{%
    \includegraphics|marg[Dateiname 1]%
    \label|meta[Label 1]%
  }%
  \hfil
  \subfigure|oarg[Bildunterschrift 2]{%
    \includegraphics|marg[Dateiname 2]%
    \label|meta[Label 2]%
  }%
  \hfil
  \caption|marg[Bildunterschrift 3]%
  \label|marg[Label 3]%
\end{figure}%
\end{verbatim}
Die \cs{hfil}"=Befehle sorgen dafür, dass links, in der Mitte und
rechts die gleichen Abstände gesetzt werden.
Sollen die beiden Teilbilder dagegen links und rechts außen gesetzt
werden, kann zwischen die beiden \cs{subfigure}"=Befehle ein
\cs{hfill} geschrieben und die \cs{hfil} fortgelassen werden.

Wird mit dem \cs{label}"=Befehl auf ein Teilbild verwiesen, so wird
die Hauptbildnummer sowie die Teilbildnummer geschrieben, z.\,B.\
"`Bild~\ref{fig:bildpositionen1}"'.
Soll nur auf ein Teilbild verwiesen werden, zum Beispiel "`Siehe
Teilbild~\subref{fig:bildpositionen1} aus
Bild~\ref{fig:bildpositionen}"', so kann dies mit dem
\cs{subref}"=Befehl getan werden, der ansonsten wie der
\cs{label}"=Befehl verwendet wird.

\bigskip
Manchmal kommt es vor, dass in einem Bild so viele Informationen
untergebracht werden sollen, dass diese nicht auf eine Seite passen.
Es ist dann zweckmäßig, wenn die Bilder auf unterschiedlichen Seiten
eine gemeinsame Bildnummer erhalten.
Dies kann mit der \env{subfigures}"=Umgebung aus dem
\verb|subfloat|"=Paket~\cite{subfloat2003a} erreicht werden. 
Diese wird \emph{außerhalb} der \env{figure}"=Umgebungen, die eine
gemeinsame Nummer erhalten sollen, gesetzt, z.\,B.\ so:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\begin{subfigures}%
\begin{figure}%
  \centering
  \includegraphics|marg[Dateiname 1]%
  \caption|marg[Bildunterschrift 1]%
  \label|marg[Label 1]%
\end{figure}%
|dots
\begin{figure}%
  \centering
  \includegraphics|marg[Dateiname 2]%
  \caption|marg[Bildunterschrift 2]%
  \label|marg[Label 2]%
\end{figure}%
\end{subfigures}%
\end{verbatim}
Die Nummerierung der 
\feinschliff{einzelnen }{}{}{}%
 Bilder erhält zusätzlich zur
gemeinsamen Nummer eine Nummerierung des Teilbildes in der Form
"`Bild~\meta{Hauptnummer}\,(\meta{Teilnummer}/\meta{Anzahl})"', z.\,B.\
"`Bild~3.1\,(1/3)"'.


% ===================================================================
\section{Tabellen}%
\label{sec:tex:tabellen}%
\texindex{Tabelle}%

Eine Tabelle\texindex{Tabelle} wird folgendermaßen erzeugt:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\begin{table}%
  \centering
  \caption|marg[Tabellenüberschriftstext]%
  \label|marg[Label]%
  \begin{tabular}|marg[Spaltendefinition]
    \toprule
    |meta[Tabellenkopf] \\
    \midrule
    |meta[Tabelleninhalt] \\
    \midrule
    |meta[Tabellenfuß] \\
    \bottomrule
  \end{tabular}
\end{table}%
\end{verbatim}
\envindex{table}\envindex{tabular}%
Der wichtigste Unterschied zu einem Bild ist, dass die
Tabellenüberschrift\texindex{Tabellenüberschrift} \emph{vor} der
eigentlichen Tabelle definiert wird, damit sie auch wirklich als
Überschrift gesetzt wird.
Der \meta{Tabellenfuß} (inklusive dem vorangehenden \cs{midrule}) ist
häufig nicht nötig und kann weggelassen werden, wie es auch in
Tabelle~\ref{tab:tabelle_beispiel} getan wurde.

In der Tabelle selbst werden
\feinschliff{--~wie im Sourcecode oben zu sehen~-- }{}{}{}%
zur Unterteilung die Befehle
\verb|\toprule|\macroindex{toprule},
\verb|\midrule|\macroindex{midrule} und
\verb|\bottomrule|\macroindex{bottomrule} verwendet, die horizontale
Linien unterschiedlicher Dicke erzeugen.
Ein weiterer Unterschied zu dem normalen Befehl
\verb|\hline|\macroindex{hline}, der nicht
verwendet werden darf, besteht in den Abständen, die bei den drei
Befehlen besser gestaltet werden.
Als Ersatz für den \verb|\cline|"=Befehl\macroindex{cline} dient der
Befehl \verb|\cmidrule|\macroindex{cmidrule}.
Die Verwendung dieses Befehls ist in der Beschreibung zum
\verb|booktabs|"=Paket~\cite{fear2003a} erläutert.

In der Spaltendefinition der
\verb|tabular|"=Umgebung\envindex{tabular} darf das Symbol für
vertikale Linien (\verb/|/) nicht verwendet werden, da, wie in
Abschnitt~\ref{sec:tabellen} beschrieben, nur horizontale Linien
verwendet werden dürfen.

Mehrseitige Tabellen werden mit der \env{longtable}"=Umgebung gesetzt.
Konsultieren Sie bitte für eine ausführliche Beschreibung die
Dokumentation zum \verb|longtable|"=Paket~\cite{carlisle2000a}.
An dieser Stelle wird nur eine kurze Einführung gegeben.

Eine lange Tabelle wird folgendermaßen definiert:
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\begin{longtable}|marg[Spaltendefinition]
  \caption|marg[Tabellenüberschriftstext]\label|marg[Label]\\
  %
  \toprule
  |meta[Tabellenkopf] \\
  \midrule
  \endhead
  |meta[Tabellenfuß] \\
  \bottomrule
  \endfoot
  |meta[Tabelleninhalt] \\
\end{longtable}
\end{verbatim}
%
Wichtige Unterschiede zu normalen Tabellen sind diese:
\begin{itemize*}
\item Die \env{longtable}"=Umgebung wird nicht wie die
  \env{tabular}"=Umgebung von einer \env{table}"=Umgebung umschlossen,
  sondern steht für sich alleine.
\item Für die Zentrierung muss nicht explizit gesorgt werden.
\item Der \cs{caption}"=Befehl wird innerhalb der
  \env{longtable}"=Umgebung angegeben.
  Das Label sollte im Argument des \cs{caption}"=Befehls oder direkt
  \emph{danach} definiert werden.
  Es folgt --~anders als in der \env{table}"=Umgebung~-- ein
  expliziter Zeilenumbruch mit Hilfe des
  \cs{\textbackslash}"=Befehls.
\item Die Tabelle wird nicht durchgängig in der Reihenfolge definiert,
  in der sie gesetzt wird.
  Zunächst werden die Tabellenzeilen und Linien definiert, die auf
  jeder Seite den Tabellenkopf bilden (Im Beispiel
  \meta{Tabellenkopf}).
  Ihre Definition wird mit \cs{endhead} abgeschlossen.\footnote{Soll
    sich der Tabellenkopf auf der ersten Tabellenseite von den anderen
    unterscheiden, kann zusätzlich ein mit \cs{endfirsthead}
    abgeschlossener Abschnitt eingefügt werden.}
  Es folgt die Definition des \meta{Tabellenfuß}es, die mit
  \cs{endfoot} abgeschlossen werden.\footnote{Hier kann für die letzte
    Seite ein Bereich mit \cs{endlastfoot} eingefügt werden.}
  Auch wenn kein Tabellenfuß vorgesehen ist, sollte hier zumindest ein
  \cs{bottomrule} enthalten sein, damit die Tabelle auf jeder Seite am
  Fuß eine Linie erhält.
  Als letztes wird der eigentliche Inhalt der Tabelle definiert.
\item Da \env{longtable}"=Umgebungen im Gegensatz zu
  \env{table}"=Umgebungen nicht fließen, kann es vorkommen, dass die
  Reihenfolge der Tabellen an einer langen Tabelle durcheinander
  gerät.
  Achten Sie bitte selbst darauf, dass die Reihenfolge korrekt
  bleibt.
  Verschieben Sie zum Beheben des Problems beispielsweise die
  Definition der fließenden Tabellen etwas im Sourcecode.
\end{itemize*}
Es kann vorkommen, dass eine Linie in der Mitte der Tabelle auf
den Fuß der Seite fällt, so dass zwei Linien direkt aufeinander
folgen.
Dies ist nicht erwünscht.
Leider bietet \LaTeX\ keine Möglichkeit, dies zu verhindern.
Daher muss der Autor selbst dafür sorgen, dass die überflüssige Linie
entfernt wird.
Dies wird normalerweise dadurch erreicht, dass der
\cs{midrule}"=Befehl in der Definition des Tabelleninhalts
auskommentiert wird.
Dies sollte allerdings als eine der letzten Arbeiten am Dokument getan
werden, da jede noch so geringfügige Änderung am Umbruch dafür sorgt,
dass die Linien --~wie gewünscht~-- nicht mehr aufeinandertreffen.
Hat der Autor die Linie voreilig gelöscht, so fehlt sie dann in
der Tabelle.
  
% ===================================================================
\section{Eigene Fließumgebungen}%
\label{sec:tex:fliessumgebung}%
\texindex{Fließumgebung}%

Außer Bildern und Tabellen kann es auch notwendig werden, weitere
Fließumgebungen einzurichten.
Beispielsweise kann der Autor zwischen Grafiken und Fotografien
unterscheiden wollen.

Neue Fließumgebungen können mit Hilfe des \LaTeX"=Pakets
\texttt{float} erzeugt werden.
Es wird mittels
\begin{verbatim}[\small]
\usepackage{float}
\end{verbatim}
eingebunden.

Eine neue Fließumgebungsart wird schließlich mit folgender
Befehlsfolge eingerichtet:
\begin{verbatim}[\small\makeescape\|\makebgroup\(\makeegroup\)]
\floatstyle|marg(Position)
\newfloat|marg(Typ){tp}|marg(Dateiendung)[chapter]
\floatname|marg(Typ)|marg(Überschrift)
\end{verbatim}
Dabei wird für \meta{Position} entweder \texttt{komaabove} oder
\texttt{komabelow} eingesetzt, je nachdem, ob die Legende als
Überschrift (wie bei Tabellen) oder als Unterschrift (wie bei Bildern)
gesetzt wird.
Die anderen vom \texttt{float}"=Paket angebotenen Stile dürfen nicht
verwendet werden.

\meta{Typ} ist der Name der neu eingerichteten Umgebung.
\texttt{\{tp\}} sorgt für die korrekte Platzierung der neuen
Fließumgebung.
Die Optionen \texttt{h} und \texttt{b} dürfen nicht verwendet werden.
Die \meta{Dateiendung} gibt die Endung der Datei für das Verzeichnis
der neuen Fließumgebung an.
Bilder verwenden z.\,B.\ \texttt{lof} für "`List of figures"'.
Es ist darauf zu achten, dass eine Endung verwendet wird, die noch
unbenutzt ist.
Der Eintrag \texttt{[chapter]} sorgt dafür, dass die neue Fließumgebung
kapitelweise nummeriert wird, wie es auch bei den Bildern und Tabellen
getan wird.

Mit \cs{floatname} wird für den Fließumgebungs"=\meta{Typ} festgelegt,
welche \meta{Überschrift} sie trägt.

Beispielsweise erzeugt
\begin{verbatim}[\small]
\floatstyle{komabelow}
\newfloat{graphics}{tp}{gra}[chapter]
\floatname{graphics}{Grafik}
\end{verbatim}
die \texttt{graphics}"=Umgebung, die wie eine
\texttt{figure}"=Umgebung die Legende unter dem Umgebungsinhalt hat,
die wiederum die Überschrift "`Grafik"' trägt, wie in
der Beispielgrafik~\ref{gra:beispiel1} gezeigt.%
%
\begin{graphics}%
  \centering
  Hier wäre eine Grafik \ldots
  \caption{Dies ist die Legende zur Grafik.}%
  \label{gra:beispiel1}%
\end{graphics}%

Ein Verzeichnis der neuen Fließumgebung wird mit dem Befehl
\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
\listof|marg[Typ]|marg[Überschrift]
\end{verbatim}
erzeugt, beispielsweise mit folgendem Befehl:
\begin{verbatim}[\small]
\listof{graphics}{Verzeichnis der Grafiken}
\end{verbatim}


% ===================================================================

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "bgteubner"
%%% End: 
