summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bgteubner/doc/src/tex_bilder.tex
blob: d8adf7936edd3a06fc0a4fbc5d0c1d1b3a8fe37b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
%
% 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: