include "headerinclude"; ?> include "body1inc"; ?>
include "body2inc"; ?>Überblick:
In Zuge dieses Tutorials werden wir ein erstes LaTeX-Dokument erstellen. Schritt für Schritt wird erklärt, wie wir das Dokument aufbauen.
Weiters wird empfohlen, die angegebenen Befehle und Texte nicht per Copy and Paste in das Dokument zu übertragen, da der Lerneffekt gerade beim ersten Dokument durch Selberschreiben erhöht wird.
Beim Arbeiten verweisen wir immer wieder auf die Einsteigerdoku "l2kurz" (l2kurz.pdf). Die Datei sollte im Hintergrund geöffnet sein, und es wird empfohlen, die jeweils angesprochenen Passagen durchzulesen. l2kurz ist als Hilfe für Einsteiger besonders gut geeignet - sollten also bei den ersten LaTeX-Dokumenten Fragen auftreten, ein Blick in das Inhaltsverzeichnis von l2kurz kann ein Problem oft schneller (mit angegebenem Beispiel) lösen, als das Internet!Beim Arbeiten mit LaTeX sollte man daran denken, daß man nicht mit einem "programmierbaren Word" arbeitet. In Word würde man, um eine Überschrift zu erstellen, zuerst den Text schreiben, diesen markieren und aus einer Fülle von 35 Schriftarten mit je 6 Schriftgrößen die hoffentlich richtige Kombination auswählen. Es gibt jedoch nicht viele Kombinationen, die wirklich gut zum Gesamtlayout passen. Word versucht, der Versuchung der persönlichen Auswahl mit der Vorgabe einiger Formatierungshilfen entgegenzutreten: so kann einem Text, nachdem er markiert wurde, das Format "Überschrift 1" (für eine "große" Überschrift) zugewiesen werden. Das Vorgehen als Schreiber ist bei LaTeX ähnlich: Wir schreiben einen Text, erklären LaTeX, daß dieser Text z.B. eine Überschrift oder ein Aufzählungspunkt sein sollte, und überlassen die Zuweisung von Schriftart, Schriftgröße, Einrückungstiefe dem Programm LaTeX.
Jeder der erwähnten Editoren unterstützt die Arbeit mit LaTeX-Dokumenten. Wie der jeweils ausgewählte Editor beim Tutorial hilft, kann einem Cheatsheet entnommen werden:
Zu Beginn müssen wir LaTeX sagen, was für eine Art von Dokument wir schreiben möchten (Brief, Buch,...). In unserem Fall wäre das ein 'article'; verwenden werden wir die Klasse 'scrartcl'. Das Festlegen des Stils wird in der ersten Zeile von tutorial.tex festgelegt, mit
\documentclass[11pt]{scrartcl}Befehle (wie hier \documentclass) unterscheiden sich in LaTeX vom Fließtext durch ein \ am Beginn des Wortes. Danach folgt öfters noch eine zwingende Eingabe in geschwungenen Klammern, Optionen können (müssen jedoch nicht) vor der geschwungenen Klammer in eckigen Klammern angegeben werden.
In unserem Fall wollen wir eine Dokumentklasse "scrartcl" festlegen (\documentclass{scrartcl}), als Option geben wir eine Schriftgröße von [11pt] an. Mehr zum Befehl \documentclass{Stil} ist auf Seite 7 (Abschnitt 2.5) in l2kurz zu finden.
Nach ein paar Zeilen Abstand (der Platz wird für die "Präambel" freigehalten) markieren wir Beginn und Ende des Dokumentes:
\begin{document} \end{document}Hier begegnet uns die erste Umgebung. Umgebungen werden von \begin{umgebungsname} und \end{umgebungsname} begrenzt. Die Umgebung "document" beinhaltet, wie der Name schon sagt, den Dokumentinhalt. Text, der ausserhalb von \begin{document} und \end{document} steht, wird nicht als Inhalt interpretiert. Anderes Beispiel: alles, was zwischen \begin{center} und \end{center} steht, wird zentriert dargestellt. Dazu jedoch noch später - im Moment wollen wir nur den Bereich begrenzen, der unser Dokument enthalten soll.
Finster war's, der Mond schien helle auf die grünbeschneite Flur, als ein Wagen blitzesschnelle langsam um die runde Ecke fuhr. Drinnen saßen stehend Leute schweigend ins Gespräch vertieft, als ein totgeschossner Hase auf dem Wasser Schlittschuh lief und ein blondgelockter Knabe mit kohlrabenschwarzem Haar auf die grüne Bank sich setzte, die gelb angestrichen war.
Dabei ist es egal, ob man die Zeilen umbricht, oder den gesamten Absatz in einer Zeile durchschreibt. LaTeX unterscheidet auch nicht, ob zwischen zwei Wörtern ein, zwei oder mehrere Leerzeichen sind.
Es gibt 2 Möglichkeiten, das Dokument mit latex in ein druckbares Format umzuwandeln: latex und pdflatex. latex hat als Outputformat .dvi - diese Datei kann mit einem DVI-Viewer betrachtet werden (z.B. yap in Windows, xdvi in Linux). pdflatex erzeugt eine .pdf - Datei, die z.B. mit dem Acrobat geöffnet werden kann.
Wir wollen zu Beginn mit dem Befehl "latex" arbeiten, und gegen Ende des Tutorials "pdflatex" ausprobieren. Wer in der Kommandozeile und nicht über den Editor kompilieren möchte, macht dies mit
latex tutorial.tex
Wenn alles glatt läuft, haben wir eine Datei tutorial.dvi vorliegen, die wir mit dem DVI-Viewer betrachten können. Diesen können wir im Hintergrund geöffnet lassen, wir werden ihn noch öfter brauchen - das .dvi-Dokument sollte sich nach jedem Mal kompilieren von selber im Viewer aktualisieren.
Es kann jedoch sein, daß der LaTeX-Befehl nicht mit obiger OK-Meldung beendet wird. Dann heisst es auf Fehlersuche gehen. Zu Beginn sind die Schreibfehler am wahrscheinlichsten. Nehmen wir als Beispiel folgendes:
! Undefined control sequence. [..] l.7 \usepakcage {color} ?
LaTeX will uns damit sagen, daß ein Befehl nicht erkannt wurde. "l.7 \usepakcage" zeigt an, daß sich der Fehler in der 7. Zeile befindet, und den unbekannten Befehl "\usepakcage" (der natürlich "\usepackage" heißen sollte, wie wir im nächsten Abschnitt sehen werden).
\usepackage[latin1]{inputenc}"inputenc" ist hier der Paketname, "latin1" die Option, die angibt, welcher Zeichensatz verwendet werden soll. Bei deutschen Texten ist meistens "latin1" zu empfehlen (Windows, Linux); unter Windows kann
latin1
durch ansinew
ersetzt werden, auf einem Apple applemac
. Ein paar Linux Distributionen (z.B. SuSE, Red Hat) benötigen eine Erweiterung des Pakets "inputenc", um den Zeichensatz utf-8 mit LaTeX darstellen zu können. Nach Installation des Pakets (SuSE: "latex-ucs") den Zeichensatz mit utf8
angeben.Wir wollen jedoch nicht nur deutsche Sonderzeichen verwenden, LaTeX sollte eventuell vorkommende Silbentrennungen auch nach neuer deutscher Rechtschreibung vornehmen - dies wird vom Paket "ngerman" erledigt, das wir auch gleich per \usepackage laden. "ngerman" wandelt auch von LaTeX erstellte englische Ausdrücke in deutsche um ("Table of contents" wird später beispielsweise zu "Inhaltsverzeichnis" usw).
\usepackage{ngerman}
Alice kann es einfach nicht lassen, sie muß dem weißen Kaninchen mit der großen Uhr folgen und landet prompt im Wunderland. Auf ihrer Reise durch diese fröhlich bunte, aber auch sehr eigenartige Welt begegnet sie einer gestiefelten Raupe, dem verrückten Hutmacher und ist zu Gast bei einer nicht Geburtstags-Party. Einer hinterlistigen Tigerkatze hat es das Mädchen schließlich zu verdanken, daß sie den Zorn der Herz-Königin auf sich zieht. So etwas kann einem eigentlich nur im Traum passieren.Anschliessend wieder mit latex kompilieren und das Ergebnis überprüfen.
Will man einen neuen Absatz nicht durch Einrücken der neuen Zeile, sondern durch einen kleinen vertikalen Abstand kennzeichnen, fügt man den Optionen der \documentclass
ein halfparskip
(oder parskip
für größere Abstände) hinzu: aus [11pt]
wird [11pt,halfparkip]
.
\section{Einleitende Worte}Es wird empfohlen, jeden Abschnitt auch gleich mit einer Markierung zu versehen - warum, das werden wir im Laufe dieses Tutorials noch sehen. Eine solche Beschriftung (engl.: "label") wird mit \label{name} gesetzt. "name" muss hier eine Buchstabenkombination ohne Sonderzeichen, Umlaute oder Leerstellen sein. Man kann sich angewöhnen, sections mit "sec:name-des-kapitels" zu beschriften - einige Editoren generieren die Beschriftung aber automatisch aus dem section-Namen, sodaß hier kein Aufwand mehr nötig ist.
\label{sec:einleitende-worte}Neben \section stehen noch \subsection, \subsubsection, \paragraph und \subparagraph zur Verfügung.
Erneut nach 'latex' das Ergebnis ansehen.
\begin{Umgebung} \end{Umgebung}"Aufgliedern" bedeutet auf Englisch "itemize", genauso heißt auch unsere Aufzählungsumgebung:
\begin{itemize} \end{itemize}In dieser Umgebung können wir nun mit \item einen Aufzählungspunkt angeben. Wollen wir mit folgenden zwei Punkten beginnen:
\item Alice im Wunderland \item Till EulenspiegelMan beachte, zwischen zwei \item-Objekten ist keine Leerzeile nötig, um einen Zeilenumbruch zu bewirken.
Der nächste Punkt soll "Harry Potter" lauten, und hier wollen wir die einzelnen Harry Potter Bände angeben - in einer weiteren itemize-Umgebung. Man kann solche Umgebungen also auch ineinander schachteln: die hier angeschriebene itemize-Umgebung ist ein "Unterpunkt" des Hauptpunktes "Harry Potter".
\item Harry Potter \begin{itemize} \item Der Stein der Weisen \item Kammer des Schreckens \item Der Gefangene von Askaban \item Der Feuerkelch \item Der Orden des Phönix \end{itemize}Zuguterletzt noch einen Punkt in der ersten Aufzählungsumgebung:
\item Jim KnopfNeben \itemize gibt es natürlich noch andere Listen - ein Blick in Kapitel 3.9.2 (Seite 20f) in l2kurz ist empfehlenswert. Man kann z.b. versuchen, die itemize-Umgebung im Hauptpunkt "Harry Potter" durch eine enumerate-Umgebung zu ersetzen:
\item Harry Potter \begin{enumerate} \item Der Stein der Weisen \item Kammer des Schreckens \item Der Gefangene von Askaban \item Der Feuerkelch \item Der Orden des Phönix \end{enumerate}
Zuerst werden wir ein paar zusätzliche Pakete laden, um eine breite Palette an Möglichkeiten zur Formatierung von Formeln zu erhalten:
\usepackage{amsmath,amssymb,amstext}Den zu erstellenden Abschnitt Mathematik werden wir in zwei Unterabschnitte (=subsection) "Unterstufe" und "Oberstufe" gliedern:
\section{Mathematik} \label{sec:mathematik} \subsection{Unterstufe} \label{sec:unterstufe} \subsection{Oberstufe} \label{sec:oberstufe}In den Unterabschnitt "Unterstufe" wollen wir eine Gleichung setzen "a + 2 = c". Dazu öffnen wir eine mathematische Umgebung "equation*":
\begin{equation*} a + 2 = c \end{equation*}latex'en und das Ergebnis ansehen. Nicht schwierig, oder? Nun wollen wir in einer Gleichung Indizes hinzufügen: dies geschieht mit dem Underline-Zeichen "_". Der Text hinter diesem Zeichen ist in geschwungene Klammer zu setzen (ausser es handelt sich nur um ein Zeichen, dann kann man auf die geschwungenen Klammern verzichten):
\begin{equation*} a_{ij} - a_2 = 0 \end{equation*}Ersetzt man das "_" durch ein "^", werden die (in geschwungener Klammer angegebenen) nachfolgenden Zeichen hochgestellt - dazu gleich, vorher werden wir noch einen Bruch darstellen. Hier hilft der Befehl \frac{Zähler}{Nenner}:
\begin{equation*} \frac{1}{a} + \frac{1}{b} = \frac{a+b}{ab} \end{equation*}Zuguterletzt wollen wir in der "Unterstufe" noch ein paar griechische Symbole verwenden:
\begin{equation*} \sigma + \tau = \alpha \end{equation*}Nachdem dies wohl nicht allzu schwierig ist, wollen wir uns ein paar größeren Aufgaben aus dem mathematischen Bereich widmen. Die folgenden Formeln werden wir numerieren und beschriften, das erlaubt es uns, dass wir später Bezug darauf nehmen (a la "Beweis: siehe Gl.(4.8)"). Für beschriftete Formeln lassen wir das "*" weg bei equation* - jetzt verwenden wir \begin{equation} und \end{equation}. Die Formel beschriften wir, ähnlich den Kapiteln, mit \label{eq:1}.
\begin{equation} \label{eq:1} \left( \frac{a}{b} \right)' = \frac{a'b-ab'}{b^{2}} \end{equation} In dieser Gleichung muß $b\neq 0$ gelten.Was sind die einzelnen Elemente der Formel?
\begin{equation} \label{eq:2} \int\limits_{a}^{b} x^{2} \, dx = \frac{ b^{2} - a^{2} }{2} \end{equation}Auch hier finden wir wieder einige neue Elemente:
Zuguterletzt wollen wir den Satz von Pythagoras anschreiben, etwas umgeformt:
\begin{equation} \label{eq:3} c = \sqrt{ a^{2} + b^{2} } \end{equation}Das einzige neue Element hier ist das Wurzelzeichen \sqrt{Ausdruck}. Dem Zeichen kann man auch eine Option mitgeben: \sqrt[5]{x} ergibt im Dokument die fünfte Wurzel aus x.
Funktionen wie sin
, ln
usw. werden in Formeln im Gegensatz zu
Variablen nicht kursiv dargestellt. Deshalb sind diese Funktionen als Befehle definiert:
\sin \cos \ln \det ...Ohne jetzt noch ein Beispiel anzugeben, sollte man ein paar Formeln mit solchen Funktionen niederschreiben (z.B. zuerst "sin \alpha", anschließend "\sin \alpha", um den Unterschied zu bemerken).
In Büchern findet man oft eine Formeldarstellung, in denen alle Formeln linksbündig ausgerichtet sind. In LaTeX kann dies durch eine Dokumentklassenoption fleqn
festgelegt werden: die erste Zeile wird zu
\documentclass[11pt,fleqn]{scrartcl}
Zuerst wollen wir einen neuen Abschnitt Fortgeschrittene Anwendung mit den zwei Unterabschnitten Was macht Alice im Wunderland und Analyse anlegen (\label nicht vergessen!).
\section{Fortgeschrittene Anwendung} \label{sec:fortg-anwend} \subsection{Was macht Alice im Wunderland?} \label{sec:was-macht-alice} \subsection{Analyse} \label{sec:analyse}Wir haben, wenn wir uns erinnern, unsere Kapitel bereits mit eindeutigen \label-Beschriftungen versehen - diese benötigen wir nun. Folgenden Satz schreiben wir zum Unterabschnitt "Was macht Alice im Wunderland?":
In Abschnitt \ref{sec:einleitende-worte} wurde ein Mädchen namens Alice erwähnt. Was sie im Wunderland erlebt, kann in einem Buch nachgelesen werden."sec:einleitende-worte" muß eventuell durch die vom Editor vergebene Beschriftung des ersten Kapitels ersetzt werden.
Wenn wir nun das Dokument zweimal mit latex kompilieren, sehen wir, daß \ref{sec:einleitende-worte} durch die Kapitelnummer des Abschnitts ersetzt wurde, das wir mit \label{sec:einleitende-worte} beschrifteten. Warum zweimal kompilieren? Beim ersten Mal legt LaTeX eine Datei an, in die eine Liste der Kapitelnummern geschrieben werden. Beim zweiten Mal ruf LaTeX diese Datei auf und ersetzt \ref{Bezeichnung} mit der jeweiligen Kapitelnummer. Um alle Referenzen aktuell vorliegen zu haben, sollte zweimal kompiliert werden!
Wir wollen dies gleich wiederholen: in das zweite Unterkapitel kommt folgender Text, ebenfalls mit Referenz. Diesmal beziehen wir uns auf die Gleichungen - dazu verwenden wir \eqref{eq:...}, das hat den Vorteil, daß LaTeX die Gleichungsnummer gleich in runde Klammern packt (wer das nicht will, kann natürlich hier auch \ref benützen). Weiters beziehen wir uns mit \pageref{...} auf die Seitennummer, auf der sich eine zu referenzierende Stelle befindet.
Die Gleichungen \eqref{eq:1} bis \eqref{eq:3} beherrschen wir bestens. Alice, von der wir auf Seite \pageref{sec:einleitende-worte} gehört haben, kennt diese Gleichungen wahrscheinlich nicht.
Um Bilder einbinden zu können, müssen wir ein Grafikpaket laden:
\usepackage{graphicx}Damit stehen uns einige Grafikbefehle zur Verfügung. Unser Bild wollen wir in einem neuen Abschnitt "Ihr Bilderlein kommet!" einfügen (natürlich wieder mit \label). In diesem Abschnitt soll in einem zentrierten Bereich das Bild murauer.eps eingefügt werden (diese Datei in dasselbe Verzeichnis legen wie die Datei tutorial.tex):
\begin{center} \includegraphics[width=0.5\textwidth]{murauer} \end{center}So, aber alles Schritt für Schritt:
Das Bild zeigt köstliche Flüssigkeiten\footnote{Murauer}.\footnote setzt also ein Fußnotenzeichen an das Wort "Flüssigkeiten" und legt eine Fußnote mit dem Text "Murauer" an.
\title{Märchen und andere Geschichten} \author{Stefan Sollerer} \date{\today{}, Graz}Hier sollte alles klar sein - Titel, Autor und eine Zeile mit dem Datum werden festgelegt (\today{} wird durch das aktuelle Datum ersetzt - vorausgesetzt, die Computerzeit stimmt).
Damit sind zwar die Daten des Titels festgelegt, aber LaTeX weiss ja noch nicht, wohin der Titel gedruckt werden soll. Wir wollen, daß der Titel gleich auf der ersten Seite steht - deswegen setzen wir nach \begin{document} ein
\maketitleKompilieren und das Ergebnis betrachten!
\tableofcontentsDamit alle Referenzen (auch die in der Inhaltsangabe) passen, wieder zweimal kompilieren - fertig.
scrpage2
erledigt diese Aufgabe sehr
schön:
\usepackage[automark]{scrpage2}Damit ist das Paket geladen, LaTeX müssen wir noch sagen, daß es damit das Seitenlayout ("pagestyle") schmücken soll: in die Präambel kommt
\pagestyle{scrheadings}Kompilieren, das Ergebnis sollte mit Kopf- und Fußzeilen versehen sein (die Seite, auf der sich der Titel befindet, wird hierbei anders beschriftet).
Wer selbst ein bißchen an der Formatierung schrauben will, kann dies recht einfach tun: die eckigen Klammern betreffen die Titelseite, die geschwungenen Klammern das restliche Dokument
\lhead[]{}gesetzt, bleibt der linke Teil der Kopfzeile leer.
\ifoot[]{Mein Name} \cfoot{} \ofoot[]{\thepage}setzt in der Fußzeile links den Text "Mein Name" und rechts die aktuelle Seitenzahl, die Mitte der Fußzeile bleibt frei (ausgenommen ist die Titelseite). Wer sich weiter damit spielen möchte, wird auf die KOMA-Dokumentation verwiesen.