Heute geht es im zweiten Teil, der LaTeX Tutoiral Serie, um Grafiken und Tabellen.
Grafiken
Für die Grafiken benutzte ich das Package „graphicx“. Prüft also am besten nach, ob ihr dieses Paket euren Einstellungen eingebunden habt. „graphicx“ erweitert die Funktionen beim einfügen einer Grafikdatei. Mit dem Paket kann man beispielsweise einstellen, wie transparent das Bild sein soll. Kommen wir nun zum Grundaufbau, wie man am besten eine Grafik in sein TeX Dokument einbindet.
\begin{figure} \caption{Piraten Abbildung} \includegraphics[]{Abbildungen/PIRAT.jpg} \end{figure}
Im Grunde genommen reicht es auch nur „\includegraphics[]{Bild.jpg}“ zu benutzen, aber gewöhnt euch schon einmal daran, dass ihr eure Bilder in einer „figure-Umgebung“ benutzt. Dies dient dazu dass LaTeX weis, dass in diesem Bereich ein Bild definiert worden ist. Wenn man nun ein Abbildungsverzeichnis („\listoffigures“) erstellt, erkennt LaTeX das Bild durch die „figure-Umgebung“ und trägt das Bild in das Abbildungsverzeichnis ein.
In das Abbildungsverzeichnis kommt dann der Name der als Überschrift gewählt worden ist. Die Überschrift kann man in der „figure-Umgebung“ mittels „\caption{}“ definieren.
Nun ja, ich selbst habe stundenlang gesucht, wie ich nun die Überschrift unter das Bild bekomme. Ich dachte zuerst dafür gibt es einen eigenen Befehl. Doch dann viel mir ein: „LaTeX schreibt dir alles dort hin, wo du es selbst definiert hast!“ Wenn man nun den Caption-Befehl nach dem Includegraphics-Befehl setzt, so wird die Überschrift auch unter dem Bild dargestellt.
Teilweise ist es so, dass man ein weißes Bild hat und an einigen Universitäten ist es so, dass die Bilder einen Rahmen haben müssen. Entweder man zeichnet nun selber nachträglich einen schwarzen Rahmen in das Bild oder man benutzt einen LaTeX Befehl: „\fbox{}“. Zu beachten bei diesem Befehl ist, dass alles in der geschweiften Klammer umrahmt wird.
Es könnte auch vorkommen dass die Abbildung zu groß ist. Wie schon angedeutet hat „\includegraphics[]{}“ ein optionales Feld. In diesem kann man auch das Bild skalieren, das werde ich gleich im nachfolgenden Code darstellen.
Aber zuvor gebe ich noch einen kleinen Hinweis zur Überschrift. Auch hier gibt es ein optionales Feld, welches beispielsweise bei Fußnoten nützlich sein wird. Die Funktion wird im Code beschrieben.
\begin{figure} \center %zentriert alles in dieser Umgebung \fbox{ \includegraphics[scale=0.5]{Abbildung/PIRAT.jpg} } \caption[Überschrift im Abbildungsdingens]{Pirateüberschrift unterm Bild} \end{figure}
Nun haben wir unseren Code für das Bild zusammengebastelt, doch eines fehlt noch. Die Platzierung des Bildes ist ein wenig komisch in LaTeX. Wir haben zwar das Bild zentriert, doch in größeren Texten kommt es vor, das einfach alle Bilder an das Ende des Kapitels gepackt werden. Hierfür kann man sagen, wo die „figure-Umgebung“ platziert werden soll. Dies geschieht mit folgenden Code:
\begin{figure}[p] %Platzierung \end{figure}
In der folgenden Tabelle zeige ich alle Optionen auf und was sie beudeuten:
Code | Bedeutung | Effekt |
t | top | Bild wird oben auf dieser Seite platziert |
b | bottom | Bild wird unter auf dieser Seite platziert |
h | here | Bild wird an diese Stelle gesetzt, eventuell auch auf die nächste Seite, wenn kein Platz da ist |
p | separate page |
Bild kommt auf eine einzelne Seite |
!= | &%$! | PLATZIERE ES AN DER STELLE, es ist egal ob es HÄSSLICH ist |
Letzteres hab ich bisher nur im Rage-Modus angewandt :D Nun wissen wir, wie man Bilder einfügt. Man kann auch mehrere Parameter übergeben. Beispielsweise „\begin{figure}[hb]“. Was für Effekte dabei rauskommen, müsst ihr einfach selber ausprobieren. Kommen wir nun zu dem komplexeren Thema: Tabellen.
Tabellen
Für die Tabellen benutze ich zwei weitere Packages. Zum einen das Package „array“ und zum anderen ein Package namens „multirow“. Dabei werde ich zuerst nicht auf die Packages eingehen und nur die normale Funktion von Tabellen beschreiben. Im folgenden zeige ich zunächst den Code für den Grundaufbau einer Tabelle
\begin{table}[h] \centering \begin{tabular}{|l|c|c|r|} \end{tabular} \caption{Tabellentitel} \end{table}
Zuerst habe ich eine „Table-Umgebung“ definiert. Diese lässt LaTeX wissen, dass alles in diesem Abschnitt zu einer Tabelle gehört und nimmt es dann mit in das Tabellenverzeichnis auf. Ähnlich wie bei der „Figure-Umgebung“ gibt es auch hier den Befehl „\caption[]{}“ womit man den Titel der Überschrift wählen kann. Nach der Definition der Tabellen-Umgebung, wird durch „\centering“ die Tabelle zentriert. „Aber bei der ‚figure-Umgebung‘ ist der Befehl ‚\center‘ zuständig und warum hier nicht?“. Ganz ehrlich keine Ahnung. Ich kann nur vermuten dass es etwas mit der „Tabular-Umgebung“ zu tun hat.
Die nächste Umgebung lässt uns endlich eine Tabelle Zeichnen. Dabei müsst ihr euch vorstellen, ihr würdet mit Bleistift und Linial agieren. Die „Tabular-Umgebung“ hat ein zweites Argumentfeld, in dem die Anzahl der Spalten definiert wird. Die Pipe steht dafür für einen senkrechten durchgezogenen Strich, innerhalb der Tabelle. Macht man zwei Pipes hintereinander, kommt auch ein doppelter Strich raus. Als nächstes kommt ein „l“ was für linksbündig steht. Damit wird der „Tabular-Umgebung“ gesagt, dass die erste Spalte linksbündig ist. Nun schließen wir diese Spalte mit einer Pipe ab. Wir ziehen sozusagen die nächste senkrechte Linie. Würden wir diese Linie nicht ziehen, also die Pipe weglassen, wären die Spalten 1 und 2 miteinander verbunden. Zumindestens optisch, intern sind es immer noch zwei Spalten. Dies geht so lange, bis man alle Spalten definiert hat. Wie ihr euch schon sicherlich gedacht habt, steht „c“ für zentriert und „r“ für rechtsbündig. Unsere bisher definierte Tabelle könnt ihr euch so vorstellen:
Jetzt der neue Code:
\begin{tabular}{|l|c|c|r|} \hline Spalte1 & Spalte2 & Spalte3 & Spalte 4 \\ \hline \multicolumn{2}{|c|}{asdf} & 345 & 456 \\ \hline lool & yo & verbund & cool \\ \cline{1-2} \cline{4-4} lool & yo & & bla \\ \hline \end{tabular}
Gut wir gehen nun Schritt für Schritt weiter. Wir sind immer noch bei der Abbildung mit den senkrechten Strichen. Damit das Ding wie eine Tabelle aussieht, müssen wir eine waagerechte Linie ziehen, die über alle Spalten geht. Hierfür benötigen wir den Befehl „\hline“. Kann man sich leicht merken: „Horizontale Linie“! Nun kommen wir zu den Werten. Wir tragen den ersten Wert ein, in dem wir irgend etwas schreiben. Sobald ein „&“ Zeichen in der Tabular-Umgebung auftaucht, sagt dies, dass wir in die nächste Spalte springen. Dann kommt der zweite Wert gefolgt von einem „&“ und damit sind wir schon in der dritten Spalte. Dies geht bis zum Ende weiter.
Wenn wir nun ein „\\“ in dieser Umgebung setzen, initiert dies einen Zeilensprung. Dann wären wir in der zweiten Zeile der Tabelle und können neue Werte eintragen. Es kommt auch vor dass wir Spalten verbinden wollen. Dafür gibt es den Befehl „\multicolumn{}{}{}“. Dabei gibt man in dem ersten Argument an, wie viele Spalten verbunden werden sollen, im zweiten Argument das Design der Verbundenen Spalten und als drittes Argument, der eigentliche Wert der in dieser neuen Zelle stehen soll.
In den nächsten Zeile habe ich wieder eine normale Zeile angelegt und um euch zu zeigen, wie man Zeilen miteinander verbindet. Es gibt leider nur einen kleinen Trick dafür. Der Befehl „\cline{X-Y}“ ist für die Verbindung von Spalte X zur Spalte Y zuständig. Das Heißt der Befehl \cline{1-2} zieht eine Linie von Anfang der Spalte 1 bis zum Ende der Spalte 2. Eigentlich Simpel. Selbiger Satz gilt auch für „\cline{4-4}“. Ziehe eine Linie vom Anfang der Spalte 4 bis zum Ende der Spalte 4. Dann setzen wir die nächsten Werte für die letzte Zeile. Es scheint nun so, als seien die Zellen miteinander verbundenen. Doch der Gegenteil ist der Fall! Im Code werden die Zellen immer noch als einzelne Objekte erkannt. „Wie kriegen wir dass denn nun richtig Verbunden, wie in Wööörd?“ Die Antwort ist: „Gar nicht!“
Ich kann mir schon vorstellen was ihr jetzt denkt: „LaTeX ist Müll! Werde ich nicht benutzen! Steig ich wieder auf Wörd um!“ :D Aber hey wir haben zwei Möglichkeiten. Wir machen Tabellen in Word und machen nen Screenshot davon! Oder wir sind klug und benutzen Erweiterungen.
Zeilen verbinden und Tabellengröße
Wie am Anfang des des Kapitels erwähnt benutze ich zwei Erweiterungen. Eine davon ist „multirow“, welches dieses Problem löst. also definieren wir in den Einstellungen „\usepackage{multirow}“. Nun müssen wir nur noch unseren Tabellen Code anpassen:
\begin{tabular}{|l|c|c|r|} \hline Spalte1 & Spalte2 & Spalte3 & Spalte 4 \\ \hline \multicolumn{2}{|c|}{asdf} & 345 & 456 \\ \hline lool & yo & \multirow{2}{*}{YEAHA} & cool \\ \cline{1-2} \cline{4-4} lool & yo & & bla \\ \hline \end{tabular}
Dabei gibt es drei Argumente. Das erste steht für die Anzahl der Zeilen, die danach zusammengefügt werden. Das zweite Argument steht für die Textlänge der Zelle und das dritte ist der eigentliche Text. Das zweite Argument ist auf „*“ gesetzt, weil es indiziert das die Länge des eingegebenen Textes übernommen wird.
Nun können wir uns freuen und wir haben so gut wie alle Grundlagen für das Tabellen erstellen in LaTeX erlernt. Bis wir an dem Punkt kommen, dass wir in der Tabelle die Spaltengröße selber bestimmen wollen. Mit den normalen Befehlen in LaTeX ist dies leider nicht möglich! Deswegen haben wir auch das zweite Package mit dem Namen „array“.
Das sieht erstmal ein wenig verwirrend aus, in der Definition der Spalten, aber man muss diese ja nur einmal anlegen. Das Package „array“ beinhaltet drei neue Befehle, die innerhalb der Spaltendefinition genutzt werden können. Zum einen der „m{}“ Befehl. Dieser sagt der „Tabular-Umgebung“, dass diese Spalte manuell angelegt wird. In den geschweiften Klammern des Befehls können wir manuell die Breite angeben. Ich gebe diese immer im Verhältnis zur Textbreite an. Probieren hilft hier am meistens. Die nächsten zwei Befehle sind „>{}“ und „<{}“. Diese Befehle sind für die Formatierung der Spalten verantwortlich. „>{}“ heißt einfach, die Rechts von mir definierte Spalte, soll mein defniertes Format übernehmen. Das Format definiert ihr dabei in den geschweiften Klammern. In dem Beispiel habe ich einfach eine dauerhafte Zentrierung angegeben. Man könnte aber noch zusätzliche Formatierungsbefehle eingeben, wie beispielsweise „\bfseries“, welches die gesamte Spalte in Fettschrift schreibt. Wenn ihr wissen wollt welche Formatierungsmöglichkeiten ihr noch habt, dann solltet ihr euch das folgende Dokument anschauen: LaTeX Cheat Sheet Und nun solltet ihr gut vorbereitet sein. Vorallem das Thema Tabellen in LaTeX ist extrem kompliziert und teilweise abartig. Ich habe in meiner Studiengruppe LaTeX kurz vorgestellt und spätestens bei den Tabellen haben die meisten das Handtuch geworfen. Für Programmierer sollte das aber nicht weiter schwer werden, es ist nur mit ein wenig Fantasie extrem leicht. [download id="917"] Im dritten Teil der Tutorial Serie, werde ich auf das Design von Kopf und Fußzeile eingehen und wie ihr diese anpasst. Anschließend gehe ich auf die Benutzung von Fußnoten ein. Am Ende werde ich unserem Test Dokument ein Titelblatt verpassen. Eventuell gehe ich noch auf Aufteilungen innerhalb des Dokumentes ein. Dazu zählen Vorderteil, Hauptteil und der Schlussteil. Ich hoffe es hat euch wieder geholfen und ich würde mich über ein wenig Feedback freuen. Greetz TheVamp
Und wann wird es den 3. Teil geben?