Heute werde ich mit einer Tutorial Serie starten, die euch LaTeX näher bringen soll und euch hoffentlich am Ende zu LaTeX Fetischisten verwandeln lässt. Warum sollte ich LaTeX verwenden, wenn ich doch MS Word oder OpenOffice habe? Das beste an LaTeX ist, dass man nur einmal eine Grundformatierung benötigt und dann nimmt LaTeX einem viel Arbeit ab. Beispielsweise wird einem die Erstellung von Inhaltsverzeichnis, Tabellenverzeichnis oder das Literaturverzeichnis abgenommen, da LaTeX diese dynamisch generieren kann. Zwar gibt es unter Word auch diese Optionen, aber irgendwie sind diese nicht so komfortabel, wie unter LaTeX. LaTeX benötigt einen Befehl für die Einrichtung eines Inhaltsverzeichnisses und bei Word muss man noch einige Sachen einstellen damit es ordentlich funktioniert. Auch muss man das Inhaltsverzeichnis manuell aktualisieren, bei LaTeX geschieht dies automatisch durch das Kompilieren. Und der größte Vorteil in LaTeX sind die korrekten Darstellungen von Mathematischen Formeln und dies ist mit ein paar Befehlen sehr einfach. In Word hingegen muss man sich mit einem komischen Formeleditor herumschlagen. Ein weiterer Vorteil ist die Versionierung. Man kann für sein Projekt eine Versionsverwaltung verwenden und so immer alle Änderungen sehen. Mit einem Word Dokument fällt dies weg, da beispielsweise GIT nicht in die DOCX hineinschauen kann. Aber egal, fangen wir nun endlich an :)
KOMA-Script
Was zum Teufel ist das denn nun wieder? LaTeX bietet zwar schon einiges, doch KOMA-Script ist eine Art Erweiterung für LaTeX. Es ist ein Paket, welches mit fast jeder LaTeX Version mitgeliefert wird. Es bietet einige Befehle, die einem Formatierungsarbeiten erleichtern. Bei dem klassischen LaTeX kann es unter Umständen zu besonderen Situationen kommen, wo dann einige Formatierungen nur mit gewalt umgesetzt werden können oder fast gar nicht. Dazu zählen Kopf- und Fußzeilen zu gestalten. Da wir aber alles so einfach wie möglich haben wollen, werde ich die Tutorial Serie auf KOMA-Script aufbauen.
Die Dokumentklassen
Um unser erstes Dokument anzulegen, müssen wir zunächst unsere Dokumentklasse auswählen. Die Dokumentklasse bestimmt dann im vorhinein bestimmte Formatierungen und ist eine Art Grundstein für das Dokument. Folgende Dokumentklassen könnt ihr benutzen:
Dokumentklasse (KOMA) | Verwendungszweck |
scrbook | Buchformatierung |
scrartcl | kurze Artikel |
scrreprt | geeignet für Berichte |
scrlttr2 | Für Briefe (hab ich noch nie Gemacht) |
Hinweis: Dies sind schon die KOMA-Klassen, ohne „scr“ wären es die normalen TeX Klassen. Beispielsweise „book“, „reprt“ oder „artcl“.
Je nach dem für welches Format ihr euch nun entscheidet, stehen euch ein paar Befehle mehr oder weniger zur Verfügung. Ich werde speziell immer scrbook nehmen, da mir so der Befehl „\chapter{}“ zur Verfügung steht. Dadurch könnte man seine Kapitel bis auf eine 5. Ebene runterbrechen. Das heißt das kleinste Kapitel ist dann 1.1.1.1.1! Auch wird jedes Kapitel auf einer neuen Seite begonnen. Wie verwende ich aber nun die Dokumentklassen? Folgender Code zeigt nun, wie man die Dokumentklasse anwendet:
\documentclass[OPTIONEN]{Dokumentklasse}[\tex] Jede Dokumentklasse hat verschiedene Optionen. Ich habe mal meine Beispieldokumentklasse angelegt. Die Prozentzeichen stehen für ein Kommentar, dabei wird alles in der Zeile nach dem Prozentzeichen als Kommentar erkannt. Damit haben wir nun schon fast alles, um unser erstes Dokument generieren zu lassen. Dafür müssen wir nur noch den Dokumentenbereich definieren. Dies geschieht mittels "\begin{document}", welches das Dokument einleitet und endet mit "\end{document}", welches das Dokument beendet. \documentclass[ a4paper, %Papierformat fontsize=12pt, %Schriftgröße oneside, %einseitiger Druck, ansonsten Leerseiten bei Verzeichnissen %BCOR=16mm %Bindekorrektur toc=listof %fügt Abbildungs- & Tabellenverzeichnis ins Inhaltsverzeichnis ein ]{scrbook} \begin{document} Mein erstes LaTeX Dokument!!! \end{document}
Kapitel, Inhaltsverzeichnis und Auslagern
Kommen wir nun zum nächsten Abschnitt. Da wir ein Buch als Dokumentklasse ausgewählt haben ist unsere oberste Ebene die wir im Dokument bestimmen können das „\chapter{}“. Würde man andere Dokumentklassen verwenden, kann man nur bei „\section{}“ einsteigen und hat damit eine Ebene weniger zur Verfügung. Damit das Inhaltsverzeichnis eingefügt werden kann, benötigen wir nur den Befehl „\tableofcontents“. LaTeX generiert dann dynamisch anhand der Kapitel im Dokument das Inhaltsverzeichnis. Da meine Uni die Vorgabe hatte, dass auch das Inhaltsverzeichnis im Inhaltsverzeichnis aufaucht, werde ich auch gleich erklären wie man manuell Sachen in das Inhaltsverzeichnis einfügt. Dafür werden zwei Befehle benötigt. „\clearpage“ und „\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}“. Clearpage wird nur genutzt, weil das Inhaltsverzeichnis sich sonst selbst eine falsche Nummer im Inhaltsverzeichnis gibt. Der Befehl „\addcontentsline{}{}{}“ ist einfach erklärt. Dem Befehl werden drei Argumente gegeben. Zuerst welches Verzeichnis einen zusätzlichen Eintrag erhält. Dies könnte auch das „List of Figures“ (lof) sein. Als zweites Argument wird die Kapitelebene übergeben. In unserem Fall die größte Ebene. Wenn ihr statt chapter, section schreibt seht ihr was ich meine ;). Zum Schluss wird der Name übergeben, welcher dann Im Inhaltsverzeichnis erscheint. Der nun nachfolgende Code sollte dann alle Fragen klären.
\documentclass[ a4paper, %Papierformat fontsize=12pt, %Schriftgröße oneside, %einseitiger Druck, ansonsten Leerseiten bei Verzeichnissen %BCOR=16mm %Bindekorrektur toc=listof %fügt Abbildungs- & Tabellenverzeichnis ins Inhaltsverzeichnis ein ]{scrbook} \begin{document} %### Inhaltsverzeichnis anlegen### \clearpage %damit das Inhaltsverzeichnis sich selber die richtige Nummer gibt \addcontentsline{toc}{chapter}{Inhaltsverzeichnis} %Inhaltsverzeichnis im Inhaltsverzeichnis hinzufügen \tableofcontents %Inhaltsverzeichnis \chapter{Einführung in LaTeX} Hier folgen einige Beispiele wie man LaTeX anwendet äüöaeioasdfhoasbvaeb \newpage %neue Seite \section{Abkürzungen} ÖÜÄüöäß \\ %doppelbackslash heißt neuer Absatz - neue Zeile einfach mit einem Zeilenumbruch 15,5 \euro asdfasdf \subsection{Überschrift 1.1} \subsubsection{Überschrift 1.1.1} \paragraph{Ebene 1.1.1.1} \subparagraph{letzte ebene 1.1.1.1.1} \subparagraph*{nicht im Inhaltsverzeichnis} Ein Kapitel mit einem Sternchen dahinter wird nicht in das Inhaltsverzeichnis aufgenommen \end{document}
Kommen wir nun zum Auslagern von Dateien in LaTeX. Eigentlich sehr simpel. Man legt eine neue TeX Datei an und speichert diese im selben Verzeichnis. Diese kann einfach mit \input{Datei} in das TeX Dokument integriert werden. Input liest dabei nur stupide den Inhalt der angegebenen Datei aus. Wenn ihr nun mein Dokument selbst kompiliert habt und schon ein wenig mit dem Code rumgespielt habt, fällt euch sicherlich auf, dass noch alles in Englisch ist. So wird die Überschrift des Inhaltsverzeichnisses als „Contents“ bezeichnet. Denn jetzt kommen wir zum schwierigsten Teil von LaTeX. Die Einstellungen!
Einstellungen
Ich habe es bisher immer so gehandhabt, dass ich meine Einstellungen immer in einer externen Datei ausgelagert habe. So brauchte ich nur dieses Dokument anpassen und man kann es auch super mit anderen Leuten teilen. In den Einstellungen, kann man neue Pakete einbinden, aber auch die Formatierungsweise des Dokumentes kann geändert werden. In diesem Abschnitt werde ich jedoch nur auf kleine Pakete eingehen. Pakete die größere Änderungen mit sich bringen, werde ich in einem weiteren Blog-Eintrag erläutern.
%###################################### %### Schriftart und Rechtschreibung ### %###################################### \usepackage[ngerman]{babel} % neue deutsche Rechtschreibung \usepackage[utf8]{inputenc} % Eingabe ist UTF-8 %\usepackage[mapple]{inputenc} % für Apple- Eingabe %\usepackage[latin1]{inputenc} % Für Unix-Eingabe %\usepackage[ansinew]{inputenc} % Eingabe ist ANSI (Windows) \usepackage[onehalfspacing]{setspace} % Zeilenabstand definieren (1.5 zeilig) %mehr Schriftarten unter http://www.tug.dk/FontCatalogue/ % fontsize bitte auf 11pt stellen \usepackage[scaled]{uarial} % Schriftart Arial \fontfamily{phv}\fontseries{m}\fontshape{n}\selectfont % Schriftart Arial \setkomafont{sectioning}{\sffamily\bfseries} % Arial für die Überschriften \renewcommand{\familydefault}{\sfdefault} % Arial für den Text % fontsize bitte auf 12pt stellen %\usepackage{mathptmx} % Schriftart Times Roman für Mathe %\fontfamily{ptm}\fontseries{m}\fontshape{n}\selectfont % Schriftart Times Roman %\setkomafont{sectioning}{\rmfamily\bfseries} % Times Roman für die Überschriften %\renewcommand{\familydefault}{\rmdefault} % Times Roman für den Text \usepackage[T1]{fontenc} % bessere und richtige Schriftausgabe
OK es sieht zwar auf den ersten Blick gewaltig aus, das meiste ist aber weg kommentiert. Der erste Befehl bindet das Paket „babel“ ein, mit dem alle dynamischen Sachen eingedeutscht werden. So wird das Inhaltsverzeichnis nicht mehr mit der Überschrift „Contents“ angezeigt, sondern hat nun die Überschrift „Inhaltsverzeichnis“.
Das nächste Package definiert die Eingabe-Kodierung. Wie ich in meinem Blog-Eintrag „Texmaker Tipps und Tricks“ bereits gesagt hatte, das die Zeichenkodierung in TeX enorm wichtig ist. Haben wir den Editor mit einer UTF-8 Zeichenkodierung, müssen wir auch die Eingabekodierung genauso definieren.
Im Anschluss wird durch das Package „setspace“ der Zeilenabstand definiert. Hierfür stehen die Optionen „singlespacing“, „onehalfspacing“ oder „doublespacing“ zur Verfügung. Man kann auch im Dokument diese Einstellung wechseln. Wenn ich im Dokument den Befehl „\singlespacing“ eingebe, wird von da an alles mit einfachem Zeilenabstand geschrieben. Genauso gut lassen sich mit diesem Package auch nur bestimmte Abschnitte definieren. Wenn man im Dokument eine Umgebung einrichtet mittels „\begin{singlespacing}“ und „\end{singlespacing}“, wird in dem Bereich zwischen den beiden Befehlen alles mit einem Zeilenabstand von einer Zeile ausgegeben.
Im letzten Code Abschnitt kann ausgewählt werden, ob man Arial verwenden möchte oder Times New Roman. Zum Anfang wird halt die entsprechende Mathe-Schriftart als Package importiert, damit auch die Matheformeln in der jeweiligen Schriftart angezeigt werden. \fontfamily wählt die Schriftart global aus. Mit „\setkomafont“ mach ich KOMA-Script klar das alle Überschriften (sectioning) die jeweilige Schriftart bekommen. „\sffamily“ steht dabei für eine Sans Serif Schrift wie Arial. „\rmfamily“ steht für eine Roman Schrift wie Times New Roman. Man könnte auch „\ttfamily“ verwenden, was für eine Monospaced Schrift wie TypeWriter steht. Das „\bfseries“ macht die Überschriften noch zusätzlich Fett.
Damit nun neben den Überschriften auch der restliche Text in einer neuen Schriftart erscheint, muss ein Befehl aktualisiert werden. Dabei geht es um den „\familydefault“ Befehl. Diesen passen wir so an, dass er dann die entsprechende Schrift mitbekommt. Also „\sfdefault“ oder „\rmdefault“.
%################################# %### Formatierung Seitenränder ### %################################# \usepackage{geometry} \geometry { left=4cm, %linker Seitenrand right=2cm, %rechter Seitenrand top=25mm, %oben der Abstand bottom=25mm %Unten der Abstand }
Kommen wir nun zu der Formatierung der Seitenränder. Hierfür verwende ich das „geometry“ Package, welches durch ein paar angaben alle Seitenränder anpasst.
%########################################## %### Inhaltsverzeichnis - Einstellungen ### %########################################## \setcounter{tocdepth}{5} % Tiefe wo das Inhaltsverzeichnis greift \setcounter{secnumdepth}{5} % Sektionstiefe wo Überschriften nummeriert werden % 0 - keins 5 - alles
Wir haben fast alle Einstellungen vorgenommen. Das Inhaltsverzeichnis wird dynamisch generiert, aber man kann noch bestimmen, welche Kapitelebenen in das Inhaltsverzeichnis übernommen werden sollen und bis in welcher Tiefe die Kapitelebenen nummeriert werden sollen. In dem obigen Beispiel werden alle Ebenen nummeriert und auch alle Ebenen werden mit in das Inhaltsverzeichnis übernommen. Wenn ihr mit den Zahlen spielt, seht ihr welcher Effekt auftritt.
%#################### %### Mathe-Pakete ### %#################### %mehr unter: http://www.golatex.de/tutorials-dokumentationen-pakete-fuer-mathematik-mit-latex-t2017.html \usepackage{amsmath} %Grundpaket für mathematische Formeln %\usepackage{amsthm} %Paket für Theoreme %\usepackage{amscd} %Paket für Diagramme %\usepackage{amsfont} %Schriftart
Wer mathematische Formeln in seinem TeX Dokument benutzen möchte, sollte folgende Packages einbinden. Wofür welches Package benutzt wird, steht ja in dem Kommentar. Ich persönlich musste noch keine mathematischen Formeln einsetzen, aber für einen Mathematiker unerlässlich.
%##################### %### Zusatz-Pakete ### %##################### \usepackage{textcomp} % beinhaltet Sonderzeichen (äöüÖÜÄß...) \usepackage{eurosym} % offizielles Eurosymbol \euro \usepackage[printonlyused]{acronym} % für das Abkürzungsverzeichnis \usepackage{graphicx} % für externe Grafiken/Bilder \usepackage{todonotes} % \todo{Testnotiz} & \listoftodos
Und zum Schluss einige erweiternde Pakete. All diese eben gezeigten Einstellungen lagere ich immer selbst in einer Einstellungen.tex aus. Wir gehen davon aus, das die „Einstellungen.tex“ im selben Verzeichnis, wie die zu kompilierende TeX Datei liegt. Desegen können wir dann mit folgenden Code die Einstellungen in das TeX Dokument importieren. Zu dem Abkürzungsverzeichnis und dem einfügen von Bildern komme ich später. Auch werde ich später Designvorschläge für Kopf und Fußzeile aufzeigen und wie das in den Einstellungen integriert werden kann.:
\documentclass[ a4paper, %Papierformat fontsize=12pt, %Schriftgröße oneside, %einseitiger Druck, ansonsten Leerseiten bei Verzeichnissen %BCOR=16mm %Bindekorrektur toc=listof %fügt Abbildungs- & Tabellenverzeichnis ins Inhaltsverzeichnis ein ]{scrbook} %### Einstellungen importieren ### \input{Einstellungen.tex} \begin{document} Mein erstes LaTeX Dokument!!! kleine Tipp, wenn du dieses Dokument ausgewählt hast. Gehe im Texmaker unter Optionen und wähle dieses Dokument als Masterdatei aus. Dann gehst du in die Einstellungen.tex und kompilierst das Dokument. Nun wird immer diese Datei kompiliert. Statt die Einstellungen.tex alleine \end{document}
So nun haben wir erst einmal eine kleine Grundlage. Im zweiten Teil werden mindestens Grafiken und Tabellen behandelt. Auch das Tabellenverzeichnis und Abbildungsverzeichnis werde ich mit einbinden lassen ;) Auch versuche ich die Änderungen von Schriften noch einmal angehen. Also Fett, Kursiv, Unterstrichen und was es nicht sonst noch so gibt.
LaTeX Tut 01 (2039 Downloads)Ich würde mich über Feedback freuen und was ich eventuell besser hätte erklären können. Ich würde die entsprechenden Abschnitte dann überarbeiten.
Greetz TheVamp