Tabellen und Abbildungen: Gleitobjekte - LaTeX-Kurs der Unix-AG

Transcription

Tabellen und Abbildungen: Gleitobjekte - LaTeX-Kurs der Unix-AG
Tabellen und Abbildungen: Gleitobjekte
ATEX-Kurs der Unix-AG
L
Jan-Martin Rämer
23.05.2011
Übersicht
Gleitobjekte
Umgebungen
Positionierung
Titel
Referenzen
Abbildungen
Tabellen:
tabular-Umgebung
Inhalt
multicolumn
lange Tabellen
Professionelle Tabellen:
booktabs
dcolumn
Ausrichtung an Kommas:
Codelistings
Textuÿ um Gleitobjekte
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
2 / 27
Gleitobjekte
Problem
ATEX macht Textsatz
I L
→
Blocksatz, Zeilenumbrüche, . . .
I Tabellen, Graken, etc. oft notwendig . . .
I . . . und am Besten beim relevanten Text
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
3 / 27
Gleitobjekte
Problem
ATEX macht Textsatz
I L
→
Blocksatz, Zeilenumbrüche, . . .
I Tabellen, Graken, etc. oft notwendig . . .
I . . . und am Besten beim relevanten Text
Lösung: Gleitobjekte
ATEX positioniert
I werden von L
I wenn möglich nah am Befehl
I wenn nötig verschoben
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
3 / 27
Abbildung:
Jan-Martin Rämer
einfache Gleitobjekte
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
4 / 27
Umgebungen
figure
Tabellen: table
Codelistings: lstlisting
I Abbildungen:
I
I
I Inhalt beliebig (Tabelle in
1
2
3
4
(Besonderheiten beachten!)
figure
möglich)
\ begin { figure }[ position ]
Inhalt
\ caption { Titel }
\ end { figure }
Listing 1: Sourcecode für
Jan-Martin Rämer
figure
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
5 / 27
Positionierung
ATEX
I genaue Positionierung: L
I ungefähre Positionierung über (optionales) Argument:
\begin{figure}[pos]
Werte für pos
h here (if possible)
t top (der Seite)
b bottom
p page of oats (eigene Seite für Gleitobjekte)
! überschreibt LATEX-Positionierung
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
6 / 27
Positionierung
Werte für pos
h here (if possible)
t top (der Seite)
b bottom
p page of oats (eigene Seite für Gleitobjekte)
! überschreibt LATEX-Positionierung
I mehrere Werte möglich:
I
Reihenfolge legt Priorität fest
I
nicht angegebene Positionen werden ignoriert
I
Standard:
Jan-Martin Rämer
tbp
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
6 / 27
(vereinfachte) Platzierungsregeln
I möglichst früh
I aber nicht vor Denition
I Reihenfolge (verschiedener Gleitobjekte) erhalten
I Gleitobjekte sammeln, wenn Seitenlayout mit diesen nicht schön
I Ausgabe kann erzwungen werden
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
7 / 27
(vereinfachte) Platzierungsregeln
I möglichst früh
I aber nicht vor Denition
I Reihenfolge (verschiedener Gleitobjekte) erhalten
I Gleitobjekte sammeln, wenn Seitenlayout mit diesen nicht schön
I Ausgabe kann erzwungen werden
mit Seitenumbruch:
\clearpage
I gibt alle schwebenden Gleitobjekte aus
I erzeugt danach Seitenumbruch
ohne Seitenumbruch:
\FloatBarrier
I gibt alle schwebenden Gleitobjekte aus
I setzt danach Seite normal fort
I braucht Paket placeins
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
7 / 27
Titel
I innerhalb der Umgebung
I
\caption{Titel}
I Abbildung und Tabelle mit Nummer automatisch
I kann mit Paket
caption
umformatiert werden
I Ändern von Abbildung:
\renewcommand{\figurename}{neuer Titel}
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
8 / 27
Titel
caption
Optionen im \usepackage-Befehl
I Paket:
I
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
9 / 27
Titel
caption
Optionen im \usepackage-Befehl
I Paket:
I
Beispiel
1
\ usepackage [ margin =2 em , labelfont = bf , sf , font = sl , small
]{ caption }
Listing 2: Beispiel zu Caption
I
I
I
margin=2em: Rand der Breite 2 em auf beiden Seiten
labelfont=bf,sf: Namen des Floats: fett und serifenlos
font=sl,small: Beschreibung: slanted geneigt und klein
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
9 / 27
Referenzen
I Nummerierung erfolgt automatisch
I ein Zähler pro Typ
\label
\caption
I Referenzierung:
I
1
2
3
4
\label
in
und
\ref
\ begin { figure }
Inhalt
\ caption { Beispielabbildung \ label { bspabb }}
\ end { figure }
Listing 3: Beispiel: caption in gure
1
Im Text kann man auf Abbildung \ ref { bspabb }
verweisen .
Listing 4: Beispiel: Referenz
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
10 / 27
Referenzen: Verzeichnisse
I ein Zähler pro Typ
→
ein Verzeichnis pro Typ
I analog zum Inhaltsverzeichnis:
(pdf)latex-Durchläufe
I
mehrere
I
Ausgabebefehl nötig
I Ausgabebefehle:
I
I
I
I
Jan-Martin Rämer
\listoffigures
\listoftables
\lstlistoflistings
...
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
11 / 27
Abbildungen
graphicx
figure-Umgebung
I Paket
\includegraphics
optionales Argument für includegraphics: width
1
z.B. [width=.5\textwidth] =
2 der Textbreite
für Unterabbildungen: Paket subfigure
I in
I
I
Jan-Martin Rämer
mit
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
12 / 27
Abbildungen
graphicx
figure-Umgebung
I Paket
\includegraphics
optionales Argument für includegraphics: width
1
z.B. [width=.5\textwidth] =
2 der Textbreite
für Unterabbildungen: Paket subfigure
I in
I
I
1
2
3
4
5
6
mit
\ begin { figure }
\ subfigure [ Frosch ]{\ includegraphics { frosch }}
\ subfigure [ Kakadu ]{\ includegraphics { kakadu }}
\ subfigure [ Pinguin ]{\ includegraphics { pinguin }}
\ caption { Tiere }
\ end { figure }
Listing 5: Unterabbildungen
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
12 / 27
Abbildungen
(a) Frosch
(b) Kakadu
Abbildung:
Jan-Martin Rämer
(c) Pinguin
Tiere
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
12 / 27
Abbildungen
I ohne Nummerierung
I trotzdem nebeneinander
I Lösung: Minipages
I Umgebung:
Jan-Martin Rämer
minipage
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
13 / 27
Abbildungen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
\ begin { figure }
\ begin { minipage }[ b ]{.3\ textwidth }
\ includegraphics [ width =\ textwidth ]{ frosch }
\ caption { Frosch }
\ end { minipage }
\ begin { minipage }[ b ]{.3\ textwidth }
\ includegraphics [ width =\ textwidth ]{ kakadu }
\ caption { Kakadu }
\ end { minipage }
\ begin { minipage }[ b ]{.3\ textwidth }
\ includegraphics [ width =\ textwidth ]{ tux }
\ caption { Pinguin }
\ end { minipage }
\ end { figure }
Listing 6: Unterabbildungen
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
13 / 27
Abbildungen
Abbildung:
Jan-Martin Rämer
Frosch
Abbildung:
Kakadu
Tabellen und Abbildungen: Gleitobjekte
Abbildung:
Pinguin
23.05.2011
13 / 27
Tabellen: tabular-Umgebung
I
I
I
table-Umgebung deniert das Gleitobjekt
tabular-Umgebung deniert die eigentliche Tabelle
Syntax: \begin{tabular}{Spaltendefinition}
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
14 / 27
Tabellen: tabular-Umgebung
I
I
I
table-Umgebung deniert das Gleitobjekt
tabular-Umgebung deniert die eigentliche Tabelle
Syntax: \begin{tabular}{Spaltendefinition}
Spaltendenition
c center
l left
r right
p{width} paragraph (Umbrüche möglich)
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
14 / 27
Tabellen: tabular-Umgebung
I
I
I
table-Umgebung deniert das Gleitobjekt
tabular-Umgebung deniert die eigentliche Tabelle
Syntax: \begin{tabular}{Spaltendefinition}
Spaltendenition
c center
l left
r right
p{width} paragraph (Umbrüche möglich)
| vertikale Linie
@{text} Text in jeder Zeile (ohne automatischen Spaltenabstand)
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
14 / 27
Tabellen: tabular-Umgebung
I
I
I
table-Umgebung deniert das Gleitobjekt
tabular-Umgebung deniert die eigentliche Tabelle
Syntax: \begin{tabular}{Spaltendefinition}
Spaltendenition
c center
l left
r right
p{width} paragraph (Umbrüche möglich)
| vertikale Linie
@{text} Text in jeder Zeile (ohne automatischen Spaltenabstand)
*{n}{def} wiederholt
Jan-Martin Rämer
def n-mal
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
14 / 27
tabular:
Inhalt
I Zelleninhalt beliebig (Text, Formeln, Tabellen,. . . )
I ähnlich wie Positionierung in Formeln
Befehle in
tabular
& Spaltentrennung
\\ Zeilentrennung
\hline horizontale Linie (ganze Breite)
\cline{n-m} horizontale Linie, Spalten n-m
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
15 / 27
tabular:
1
2
3
4
5
6
Beispiel
\ begin { tabular }{|*{2}{ l |} r@ { -} l |}\ hline
Funktion & Pl " atze && Nummer \\\ hline \ hline
H " orsaal &123&46 HS &280\\\ hline
Seminarraum &30&46&387\\\ hline
Fachschaft & -&46&352\\\ hline
\ end { tabular }
Listing 7:
Jan-Martin Rämer
tabular:
Beispiel
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
16 / 27
tabular:
1
2
3
4
5
6
Beispiel
\ begin { tabular }{|*{2}{ l |} r@ { -} l |}\ hline
Funktion & Pl " atze && Nummer \\\ hline \ hline
H " orsaal &123&46 HS &280\\\ hline
Seminarraum &30&46&387\\\ hline
Fachschaft & -&46&352\\\ hline
\ end { tabular }
Listing 8:
tabular:
Funktion
Plätze
Hörsaal
123
Seminarraum
30
46-387
Fachschaft
-
46-352
Tabelle:
Jan-Martin Rämer
Beispiel
-Nummer
46HS-280
Beispieltabelle
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
16 / 27
multicolumn
I eine Zelle über mehrere Spalten
I
\multicolumn{n}{def}{text}
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
17 / 27
multicolumn
I eine Zelle über mehrere Spalten
I
1
2
3
4
5
6
\multicolumn{n}{def}{text}
\ begin { tabular }{|*{2}{ l |} r@ { -} l |}\ hline
Funktion & Pl " atze &\ multicolumn {2}{ c |}{ Nummer
}\\\ hline \ hline
H " orsaal &123&46 HS &280\\\ hline
Seminarraum &30&46&387\\\ hline
Fachschaft & -&46&352\\\ hline
\ end { tabular }\\}
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
17 / 27
multicolumn
I eine Zelle über mehrere Spalten
I
1
2
3
4
5
6
\multicolumn{n}{def}{text}
\ begin { tabular }{|*{2}{ l |} r@ { -} l |}\ hline
Funktion & Pl " atze &\ multicolumn {2}{ c |}{ Nummer
}\\\ hline \ hline
H " orsaal &123&46 HS &280\\\ hline
Seminarraum &30&46&387\\\ hline
Fachschaft & -&46&352\\\ hline
\ end { tabular }\\}
Jan-Martin Rämer
Funktion
Plätze
Nummer
Hörsaal
123
Seminarraum
30
46-387
Fachschaft
-
46-352
46HS-280
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
17 / 27
lange Tabellen
longtable
Umgebung: longtable
I Paket:
I
(statt
table
und
tabular)
I mehrere Durchläufe
Befehle
\endfirsthead Ende des Kopfes der ersten Seite
\endhead Ende des Kopfes der folgenden Seiten
\endlastfoot Ende der Fuÿzeile des letzten Seite
\endfoot Ende der Fuÿzeile der vorherigen Seiten
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
18 / 27
longtable:
1
2
3
4
5
6
7
8
9
10
11
12
Beispielcode
\ begin { longtable }{| l | l | l |}\ hline
\ multicolumn {3}{| c |}{ Rechneradressen }\\\ hline
Hostname & IPv 4 - Adresse & IPv 6 - Adresse \\\ hline
\ endfirsthead
Hostname & IPv 4 - Adresse & IPv 6 - Adresse \\\ hline
\ endhead
\ multicolumn {3}{| c |}{\ footnotesize weiter auf n "
achster Seite }\\\ hline
\ endfoot
\ endlastfoot
sushi . unix - ag . uni - kl . de &131.246.124.65&2001:638:208:
ef 34:0: ff : fe 00:65\\\ hline
...
\ end { longtable }
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
19 / 27
Professionelle Tabellen: booktabs
I Paket:
booktabs
I hübschere Tabellen
I Design:
I
keine vertikalen Linien
I
keine doppelten Linien
I
etwas mehr Abstand über dem Text
I
führt neue Befehle ein
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
20 / 27
Professionelle Tabellen: booktabs
I Paket:
booktabs
I hübschere Tabellen
I Design:
I
keine vertikalen Linien
I
keine doppelten Linien
I
etwas mehr Abstand über dem Text
I
führt neue Befehle ein
booktabs-Befehle
I
I
I
I
toprule: Linie über dem Kopf
midrule: Linie unter dem Kopf/in der Tabelle
bottomrule: Linie am Ende der Tabelle
cmidrule{n-m}: Ersetzt crule
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
20 / 27
booktabs:
1
2
3
4
5
6
7
8
9
Beispiel
\ begin { tabular }{*{2}{ l } r@ { -} l }
\ toprule
Funktion & Pl " atze &\ multicolumn {2}{ c }{ Nummer }\\
\ midrule
H " orsaal &123&46 HS &280\\
Seminarraum &30&46&387\\
Fachschaft & -&46&352\\
\ bottomrule
\ end { tabular }
Listing 9:
Jan-Martin Rämer
booktabs:
Beispiel
Funktion
Plätze
Nummer
Hörsaal
123
Seminarraum
30
46-387
Fachschaft
-
46-352
46HS-280
booktabs
Tabellen und Abbildungen: Gleitobjekte
Tabelle:
Tabelle mit
23.05.2011
21 / 27
Ausrichtung an Kommas: dcolumn
I Paket:
dcolumn
I neue Spaltendenition:
D{Eingabetrenner}{Ausgabetrenner}{Nachkommastellen}
Eingabetrenner Zeichen im Quellcode, an dem ausgerichtet
wird
Ausgabetrenner ersetzt Eingabetrenner in Ausgabe
Nachkommastellen Anzahl der Nachkommastellen, für die
Platz gelassen wird
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
22 / 27
dcolumn:
1
2
3
4
5
6
7
8
Beispiel
\ begin { tabular }{| D { ,}{.}{3}| D { ,}{.}{ -1}|}\ hline
1.234
&1 ,234\\
123.45 &123 ,45\\
0.123456&\\
&0 ,123456\\
.123
&1.234\\
0
&0\\
\ end { tabular }
Listing 10: Beispiel zu
1.234
123.45
0.123456
.123
0
Jan-Martin Rämer
dcolumn
1.234
123.45
0.123456
1.234
0
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
23 / 27
Codelistings
listings
zwischen \begin{lstlisting}
I Paket:
I alles
und
\end{lstlisting}
wird als Code ausgegeben
→ \caption
Jan-Martin Rämer
etc. funktioniert nicht
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
24 / 27
Codelistings
listings
zwischen \begin{lstlisting}
I Paket:
I alles
und
\end{lstlisting}
wird als Code ausgegeben
→ \caption
etc. funktioniert nicht
I Lösung: optionale Argumente
I
\begin{lstlisting}[caption=Titel des
Listings,float=tbp,label=code:lst1,...]
I analoge Befehle, nur andere Position
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
24 / 27
Textuÿ um Gleitobjekte
I normalerweise kein Textuÿ um Gleitobjekte
I für kleine Abbildungen oder Tabellen unschön
I braucht Paket(e)
I hier:
wrapfig
I Vorteil: Für Tabellen und Abbildungen
I Alternativ z.B.
Jan-Martin Rämer
floatflt
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
25 / 27
wrapfig
I
I
figure → wrapfigure
table → wraptable
I jeweils zwei weitere Argumente:
I
Position: l(eft), r(ight), o(utside) oder i(nside)
I
Position groÿ: Gleitobjekt
I
Breite
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
26 / 27
wrapfig
I
I
figure → wrapfigure
table → wraptable
I jeweils zwei weitere Argumente:
1
2
3
4
5
6
7
8
9
10
11
I
Position: l(eft), r(ight), o(utside) oder i(nside)
I
Position groÿ: Gleitobjekt
I
Breite
\ begin { wrapfigure }{ r }{.5\ textwidth }
\ includegraphics [ width =.5\ textwidth ]{ frosch }
\ caption { Frosch }
\ end { wrapfigure }
\ begin { wraptable }{ l }{.5\ textwidth }
\ begin { tabular }{| l | l |}\ hline
Tier & Farbe \\
Frosch & gr " u \\
Kakadu & wei " s \\
\ end { tabular }
\ end { wraptable }
Jan-Martin Rämer
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
26 / 27
wrapfig:
Beispiel
Abbildung:
Jan-Martin Rämer
wrapfig-Beispiel
Tabellen und Abbildungen: Gleitobjekte
23.05.2011
27 / 27