1 Latex Kapitel 3: Tabellen und Gleitobjekte Martin Rabanser und Thomas Fahringer
2 Tabellen Daten lassen sich gut in Tabellenform präsentieren Zwei Standardumgebungen o o tabular (oder array für Formeln) tabbing Für korrekte Seitenumbrüche mit Tabellen o Tabellen in Gleitobjektumgebungen (nächstes Kapitel) tabular table o o tabular: Ordnet Tabellentext in Spalten an table: logisches Dokumentenelement für Tabellen, dessen Inhalt zusammengehalten wird und im Text gleiten kann
3 Unterschiede der Umgebungen g tabbing Jede Tabulatorposition muss explizit festgelegt werden Seitenumbrüche möglich Erzeugt immer einen Absatz tabular Berechnet Spaltenbreiten automatisch Keine Seitenumbrüche in der Standardumgebung Kann beliebig innerhalb von Text oder Formeln positioniert werden Tabellen können nicht verschachtelt werden Verschachtelung möglich, d.h. für komplexe Tabellen besser geeignet Weniger flexibel, zu aufwendig für komplexere Tabellen Flexible Einsatzmöglichkeiten
4 tabbing tabbing o Eignet sich gut, um Informationen in Spalten mit bekannter, gleich bleibender Breite anzuordnen o Aufwendig komplexere Tabellen mit z.b. Umrandung zu erstellen o Breite der Spalten anpassen mit \tabbingsep Änderung durch \setlength{\tabbingsep}{1cm} Trennung der Spaltenüberschriften mit \=
5 tabular tabular, tabular*, array o Stellen komfortable Instrumente für die Gestaltung von Tabellen und Matrizen zur Verfügung \begin{array}[pos]{sp_form} Zeilen \begin{tabular}[pos]{sp_form} Zeilen \end{array} \end{tabular} \begin{tabular*}{breite}[pos]{sp_form} Zeilen \end{tabular*} o o array Tabellenumgebung für Formeln Kann nur im Mathematikmodus verwendet werden Syntax und Parameter identisch wie tabular tabular* Zusätzliches Argument für die erforderliche Gesamtbreite der Tabelle
Einfache Tabelle Beispiel i 6 Ohne Ränder und ohne Tabellenlinien Optionale Größe des Ausrichtung in den Spalten Optionale Größe des Zeilenabstandes
Einfache Tabelle Beispiel i 2 Ohne Ränder und ohne Tabellenlinien 7 Überschriften werden fett gedruckt
tabular Parameter 8 Parameter pos breite sp_form Zeilen Vertikale Positionierung Beschreibung Gesamtbreite der Tabelle in tabular*-umgebungen. Bei den anderen Umgebungen wird die Breite entsprechend ihrem Inhalt automatisch bestimmt. Spaltenformatierung. Für jede Spalte ist ein Formatierungseintrag notwendig, ggf. ergänzt durch Formatierungsangaben für den linken und rechten Rand der Tabelle sowie den Zwischenraum zwischen benachbarten Spalten. (l, r, c, p{br}, *{num}{sp_form}) Stellt die durch \\ voneinander getrennten Zeilen der Tabelle dar, Spalteneinträge werden durch & getrennt. (\hline, \cline{n - m}, \multicolumn, mn \vline, \tabularnewline[abstand]) line[abstand]) o Parameter von sp_form, siehe nächste Folie o Formatierungsmöglichkeiten von Zeilen, 2 Folien weiter
9 Formatierungszeichen l r c o Spaltenformatierungszeichen für den Parameter sp_form Zeichen Linksbündig Rechtsbündig Zentriert Beschreibung p{br} Text dieser Spalte wird in Zeilen der Breite br umgebrochen *{num}{sp_form} Spaltenformatierung in sp_form wird num mal wiederholt o Formatierungszeichen der Ränder für den Parameter sp_form Zeichen erzeugt einen vertikaler Strich Beschreibung erzeugt zwei dicht benachbarte vertikale Striche @{text} Fügt den Inhalt von text in jeder Zeile zwischen den beiden links und rechts vom Ausdruck definierten Spalten ein. z.b. aus 3 und 5 wird 3 : 5
Formatierungsparameter in 10 Zeilen Parameter \hline \cline{n - m} \multicolumn{num}{sp}{text} \vline \tabularnewline[abst] Beschreibung Erzeugt eine tabellenbreite horizontale Linie am oberen Rand der Tabelle oder eine horizontale Linie unterhalb einer durch \\ abgeschlossenen Zeile Horizontale Linie vom linken Rand der Spalte n bis zum rechten Rand der Spalte m Macht aus den nächsten num Spalten eine Spalte von der Gesamtbreite dieser Spalten. Positionierungszeichen für sp Erzeugt einen vertikalen Strich über die Zeilenhöhe Alternative Beendigung von Tabellenzeilen
Tabelle mit Zeilen über 11 mehrere Spalten Linke und rechte Ausrichtung mit : als Trennzeichen Kürzere horizontale Linien durch \cline Hervorhebung durch kursiv
12 Ändern des Tabellenstils Definition des visuelles Erscheinungsbild o Sollte außerhalb der Tabellenumgebung erfolgen o Kann global für mehrere Tabellen gelten o Werden mit \setlength gesetzt (sofern nicht anders angegeben) Befehl \tabcolsep \arraycolsep \arrayrulewidth \doublerulesep \arraystretch Beschreibung Halbe Breite des Spaltenzwischenraums zwischen benachbarten Spalten (tabular, tabular*) ) Gilt entsprechend für die array-umgebung Dicke von vertikalen und horizontalen Linien in einer Tabelle Abstand zwischen Doppellinien Faktor um den Zeilenabstand in einer Tabelle zu verändern, wird mit \renewcommand eingestellt
Ändern des Tabellenstils Beispiel i 13 Gleiches Beispiel wie vorher mit veränderten Werten der Stilparameter G i S lt i h Geringerer Spaltenzwischenraum, Stärkere Liniendicke Größerer Abstand zwischen Doppellinien
14 Definieren neuer Spaltenkürzel \newcolumntype{kürzel}{dekl} o Layout einer Tabelle verändern kürzel: Einzelner Buchstabe zum Bezeichnen des neuen Spaltentyps t dekl: Deklarationen zum Aussehen des neuen Spaltentyps (l, c, r) Definition eines Spaltentyps mit Namen Z
tabular*, tabularx, tabulary 15 Ein Vergleich Alle Umgebungen haben gleiche Argumente und erzeugen Tabellen mit vorgegebener Breite Unterschiede o o o o tabularx, tabulary verändern Spaltenbreite; tabular* den Spaltenabstand Verschachtelung von tabular- und tabular*- Umgebungen ohne Einschränkungen möglich tabularx muss wiederholt id hltübersetzt t werden bis optimale Spaltenbreite gefunden wird, erheblich langsamer; Genau zwei Durchgänge g notwendig für tabulary tabularx versucht verfügbaren Platz gleichmäßig unter allen X-Spalten zu verteilen; tabulary versucht Spalten mit längeren Einträgen mehr Raum zu geben
tabularx Spaltenbreiten automatisch ti berechnen Automatische Berechnung der Spaltenbreite aus der Gesamtbreite 16 X steht für die automatisch berechnete Spaltenbreite Gesamtbreite der Tabelle soll 120mm sein \hline setzt die horizontalen Tabellenlinien, die vertikalen werden durch gesetzt
tabulary Am Inhalt orientierte t Spaltenbreiten 17 \begin{tabulary}{gesamtbreite}{spalten} Zeilen \end{tabulary} o Berechnung der Spaltenbreite in Abhängigkeit vom Inhalt der Tabelle, nicht der Gesamtbreite und Anzahl der Spalten o Häufige Anwendung um SGML/XML- oder HTML- Dokumente zu formatieren Minimale und maximale Breite von Spalten mit \tymin und \tymax festlegen Gesamtbreite der Tabelle
18 Farbige Tabellen Einfache Handhabung o Zuweisen der Farbe für eine ganze Spalte mit dem Tabellenformatkürzel > des array-paketes Setzt die Farbe blau und fette Schrift für die gesamte linke Spalte Fett geschriebene Kolumnentitel Fett geschriebene Kolumnentitel durch \bfseries
colorbtl Einfärben von Tabellenhintergrund Das color-paket würde nur den Hintergrund einer Zelle ausfüllen o Zusätzliche Befehle mit colorbtl zum Einfärben von Tabellenhintergrund und -linien Setzen der Farbe für eine ganze Spalte, wiederum mit > Zeilenabstand manuell vergrößern 19
Farbige Tabellen Eklä Erklärungen zu den Beispielen i Das Paket colorbtl stellt nützliche Befehle für farbige Tabellen bereit o Hintergrundfarbe einer ganzen Spalte bzw. Zeile oder einer einzelnen Zelle setzen mit \columncolor{farb_name} \rowcolor{farb_name} \cellcolor{farb_name} Zweite Syntax bei Farbbefehlen o \color[model]{farb_definition} o model = rgb, cmyk oder gray z.b. \color[rgb]{0.4, 0.5, 0} Bei Grau können verschiedene Stufen von 0 bis 1 gewählt werden z.b. \columncolor[gray]{0.3} 20
21 Linien variabler Stärke Definition der vertikalen Linie mit Dicke 3pt als Kürzel I Definition der horizontalen Linie als Befehl \whline Setzen der neuen Liniendicke Zeichnen der Linie Rücksetzen des Linienstils auf den ursprünglichen Wert Nach Deklaration der Linien im Präambel einfache Anwendung im Text
arydshln Gestrichelte Linien i 22 \hdashline[strich/lücke] \cdashline{spalten-spez} spez} [strich/lücke] \firstdashline[strich/lücke] \lasthdashline[strich/lücke] o [2pt/1pt] bedeutet z.b.: Linie besteht aus 2pt langen Strichen und 1pt langen Lücken o Standardgrößen d sind 4pt o Vertikal angegeben durch das Kürzel :
23 Warum Gleitobjekte? Gleitobjekte o Wenn zusammengehörende Informationen zusammen auf einer Seite erscheinen wird die Lesbarkeit von Dokumenten erhöht o Oft technisch nicht möglich, da ein Objekt (Bild oder Tabelle) zu hoch ist und nicht mehr auf die laufende Seite passt o Objekte und ihre Überschriften oder Unterzeilen müssen an eine geeignete Position gleiten, ohne die Formatierung zu verschlechtern Die laufende Seite soll nicht beendet werden wenn das Objekt Die laufende Seite soll nicht beendet werden, wenn das Objekt auf die nächste Seite gleitet, sondern nachfolgender Text vorgezogen werden
24 Gleitumgebungen g Gleitumgebungen o Basis Gleitumgebungen sind figure und table für Abbildungen und Tabellen \begin{figure}[wohin] Bild \end{figure} \begin{table}[wohin] Tabelle \end{table} o Bild bzw. Tabelle bedeutet t eine Bild- bzw. Tabellendefinition, erzeugt durch die picture- bzw. tabular-umgebung Eventuell ergänzt mit dem \caption-befehl für die Überschrift oder Legende o Parameter wohin bestimmt wohin das Bild bzw. die Tabelle gleiten kann oder soll Besteht aus einer Folge von bis zu vier Buchstaben zur Besteht aus einer Folge von bis zu vier Buchstaben zur Bestimmung der möglichen Plazierung
25 Gleitumgebungen g (2) Mögliche Optionen für den Parameter wohin o o o o h here: Positionierung erfolgt an der Stelle im Text, wo die Umgebung innerhalb des Textes auftritt t top: Positionierung erfolgt zu Beginn der laufenden Seite Voraussetzung: Text vorher passt noch voll auf die laufende Seite Anderfalls Positionierung zu Beginn der nächsten Seite, nachfolgender Text wird auf die laufende Seite bis zum normalen Seitenumbruch vorgezogen b bottom: Positionierung erfolgt unten auf der Seite. Platz bis zum Gleitobjekt wird mit nachfolgendem Text aufgefüllt Falls nicht genügend Platz vorhanden, wird es am unteren Ende der nächsten Seite angeordnet p page of floats: Gleitobjekte werden auf eigenen Seiten, die nur Tabellen und Bilder enthalten, gesammelt
Gleitumgebungen Beispiel i 26
Ausgabedokument Gleitumgebungen o Die Tabelle wurde dort eingefügt wo sie im Text vorkommt o Das Bild wurde jedoch an das Ende der laufenden Seite verschoben Beispiel i 27
28 Beispiele für Gleitobjekte
Positionierung von 29 Vielzahl von Parameter Gleitobjekten o Zur Positionierung können die Einstellungen dieser Parameter angepasst werden o Empfohlen ein geeignetes Paket zu verwenden, welches dafür sorgt, dass alle Tabellen und Abbildungen dort gedruckt werden, wo sie im Quelldokument erscheinen Positionierung o Algorithmus zur Positionierung von Gleitobjekten stellt Objekte vorzugsweise an den Anfang einer Seite o Wird durch Verwendung des Paketes flafter umgangen Stellt sicher, dass Gleitobjekte niemals vor ihrem Verweis erscheinen
30 Im Fließtext eingebettete Gleitobjekte Einbetten von Objekten inmitten eines Textes o Schwierige Verfahren für die Algorithmen o Automatische Lösungen führen häufig zu Fehlern o Alle Erweiterungspakete haben Schwachstellen, im Anwendungsfall sollte geprüft werden, welche Lösung am besten geeignet ist.
wrapfig Text zum Fließen lassen eines Bildes 31 \begin{wrapfigure}[nzeilen]{position}[überhang]{breite} \begin{wraptable}[nzeilen]{position}[überhang]{breite} o Setzen ein schmales Gleitobjekt an den Textrand und lassen den Text herum fließen o Setzen Legenden mit entsprechendem Standardlayout o nzeilen (optional): Anzahl Zeilen die benötigt t werden (normalerweise automatisch berechnet) Abgesetzte Formeln im Fließtext werden als 3 Textzeilen gezählt o position: l oder L für linke Seite und r oder R für rechte Seite des Textes. Großbuchstaben erlauben der Abbildung/Tabelle zu fließen, Kleinbuchstaben positionieren genau hier o überhang (optional): Überhang des Gleitobjektes in den Rand o breite: Freiraum der Abbildung/Tabelle, b ll 0pt bedeutet t natürliche Breite
wrapfig Beispiel: i Text um ein Bild fließen lassen 32 Definition von \sample als praktischen Textersatz 4 Zeilen
picins Bilder im Fließtext t positionieren i 33 \parpic(breite,höhe)(x-oben,y-oben)[opt][pos]{bild} o Positioniert ein Bild auf der linken oder rechten Seite eines oder mehrerer Absätze um das Text fließt breite, höhe: (optional) Breite und Höhe des Bildes x-oben, y-oben: (optional) Versetzt das Bild gegenüber der linken oberen Ecke der Bounding Box opt (optional): Charakteristika für die Positionierung und den Rahmen; Paarweise als ein Positions- und ein Rahmenargument angegeben: l (links), r (rechts), d (gestrichelt), f (durchgezogene Linie), o (abgerundete ecken), s (schattiert), x (3d Kasten) pos (optional): Position des Bildes innerhalb seines Rahmens; Als horizontales und/oder vertikales Argument angegeben: l, r, t, b bild: Befehle die das Bild generieren oder eine Grafik laden \picskip{nzeilen} o Führt den Absatz um nzeilen mit vorgegebenen Einzug weiter
picins Beispiel i 34 Einbinden eines Bildes Bild in Rahmen mit durchgezogener Linie Rahmen gestrichelt Freiraum unter dem Bild Freiraum unter dem Bild von 3 Zeilen
rotating Drehen von Gleitobjekten Nützlich bei großen Abbildungen o Legende kann wahlweise mit der Tabelle mitgedreht werden oder unverändert bleiben 35
caption Anpassen von Legenden Bietet nahezu alle Aspekte der Formatierung und Positionierung von Legenden 36 \caption{legendentext} o Einfaches Setzen des Befehls nach der eingefügten Grafik Formatierung der Legenden wird idbi beim Laden Ld des Paketes Pkt festgelegt t Zentriert das Bild innerhalb von figure
caption 37 Eklä Erklärungen zum Beispiel i Optionen beim Laden des Paketes format o Defaulteinstellung: Label und Text werden durch einen Doppelpunkt und ein Leerzeichen getrennt und die Legende wird im Blocksatz ausgerichtet o Mit format=hang werden weitere Zeilen um die Breite des Labels eingerückt margin, width o Abstand zum Rand (margin) bzw. Breite (width) der Legende Das Setzen einer der beiden Werte berechnet automatisch den anderen, z.b.: width=3cm o Ausdehnung der Legende; nimmt normalerweise die gesamte Spalten-/Seitenbreite ein o Wird nach innen zentriert, wenn angegeben
sidecap 38 Legenden seitlich setzen SCfigure und SCtable o entsprechen figure und table, setzen die Legenden jedoch seitlich des Gleitobjektes \begin{scfigure}[rel-breite][position] Objekt \end{scfigure} \begin{sctable}[rel-breite][position] Objekt \end{sctable}
39 Zusammenfassung Tabellen o Bessere Darstellung von Daten in Tabellenform o Standardumgebungen tabular (array) und tabbing Gleitobjekte o Erhöht die Lesbarkeit von Dokumenten o Standardumgebungen figure und table o Gleitobjekte im Fließtext