+4 Daumen
760 Aufrufe

- Teil 1: https://www.stacklounge.de/1178/wissensartikel-008-arbeiten-mit-latex-teil-1
- Teil 3: https://www.stacklounge.de/1190/wissensartikel-arbeiten-anfuhrungszeichen-enumerate-itemize

latex2.png

4. Sections und Labels

Um ein Dokument in verschiedene Sektionen (Abschnitte/Kapitel; fortan Kapitel) zu unterteilen, verwendet man den Befehl \section{Name des Kapitels}. In geschweifte Klammern wird der gewünschte Name der des Kapitels eingetragen. Neben Kapiteln gibt es auch die Möglichkeit Unterkapitel und Unterunterkapitel zu erstellen. Diese werden später beim Inhaltsverzeichnis automatisch eingedrückt und durchnummeriert. Der Dokumentersteller ist von der eigenen Kapitelnummerierung völlig befreit und muss nur entscheiden, wo welches Kapitel in dem Dokument auftauchen soll (danach richtet sich die von \(\LaTeX\) erzeugte Nummer). Ein Unterkapitel wird mit dem Befehl \subsection{Name des Unterkapitels} erstellt. Auch hier gehört in die geschweiften Klammern wieder der Name des Unterkapitels. Analog wird der Befehl \subsubsection{Name des Unterunterkapitels} verwendet. Achte darauf, dass ein definiertes Unterkapitel (Subsection) sich immer auf das direkt vorangehende Kapitel (Section) bezieht. Für

\section{Einleitung}
\section{Kapitel 1}
\subsection{Unterkapitel 1}
\subsubsection{Unterunterkapitel 1}

bezieht sich die Subsection auf die vorangehende Section "Kapitel 1" und nicht auf "Einleitung". Das Kapitel "Einleitung" besitzt kein Unterkapitel. Mit Unterunterkapiteln verfährt man analog (hier bezieht sich das "Unterunterkapitel 1" auf "Unterkapitel 1". Um dem \(\LaTeX-\)Dokument auch optisch einen organisierten Look zu verschaffen, kann man Unterkapitel und Unterunterkapitel mit ein bzw. zwei Tabs einrücken:

\section{Einleitung}
\section{Kapitel 1}
\subsection{Unterkapitel 1}
\subsubsection{Unterunterkapitel 1}

Wir verwenden im Folgenden die Dokumentstruktur

\section{Einleitung}
\section{Kapitel 1}
\subsection{Unterkapitel 1}
\subsubsection{Unterunterkapitel 1}
\subsection{Unterkapitel 2}

Mit einem Label können Kapitel (und auch Definitionen, Sätze, Beweise, Abbildungen, Tabellen, ...) referenziert werden. Der Vorteil: Einmal definiert, werden diese unabhängig von später vorgenommenen Kapitelverschiebungen (analog für Definitionen, Sätze, Beweise, Abbildungen, Tabellen, ...) automatisch angepasst. Hierfür benötigt (wie bei dem Generieren und Abdrucken eines Inhaltsverzeichnisses, siehe Kapitel 5) zwei Durchläufe. Für das Kapitel "Einleitung" (als Code \section{Einleitung}) könnte ein Label folgendermaßen definiert werden:

\section{Einleitung}
\label{einleitung}

Ein Label definiert man also mit dem Befehl \label{Labelname}. Dieses wird üblicherweise direkt hinter das zu referenzierende Objekt (Kapitel, Definitionen, Sätze, Beweise, Abbildungen, Tabellen, ...) gesetzt (hier direkt hinter \section{Einleitung}).

Bei der Vergabe von Labelnamen solltest Du Dir ein geeignetes System überlegen. Diesen möchte ich an dieser Stelle nicht vorgeben, da jeder mit seinem eigenen System am besten zurechtkommt (und in größeren Teams wird man sich ohnehin auf eine gemeinsame Namenskonvention einigen müssen). Grundsätzlich empfehle ich Dir semantisches Markup bzw. das Loslösen von der Idee kryptischer (nur durch Ziffern kodierte) Labelnamen, da Du Dir (und anderen) beim Referenzieren damit keinen gefallen tust! Exemplarisch könnte man so vorgehen:

\section{Einleitung}
\label{sec:einleitung}

\section{Kapitel 1}
\label{sec:kapitel-1}

\subsection{Unterkapitel 1}
\label{subsec:unterkapitel-1}

\subsubsection{Unterunterkapitel 1}
\label{subsubsec:unterunterkapitel-1}

\subsection{Unterkapitel 2}
\label{subsec:unterkapitel-2}

Das Referenzieren eines Labels funktioniert mit dem Befehl \ref {Name des zu referenzierenden Labels}. Dieser Befehl wird einfach innerhalb des Fließtextes aufgerufen. Wir füttern unser Beispiel nun mit ein wenig Inhalt:

\section{Einleitung}
\label{sec:einleitung}
Dies ist ein kleines Testdokument, in dem die Grundzüge von
\LaTeX\ erklärt werden. Als der Standard in wissenschaftlichen
Publikationen, lohnt es sich besonders im universitären Umfeld früh damit
anzufangen. Im Vergleich zu anderen Programmen lohnt sich die lange
Einarbeitungsphase zu 100\%, da es sehr viele Vorteile bietet.

\section{Kapitel 1}
\label{sec:kapitel-1}
In der Einleitung wurde bereits erwähnt, dass \LaTeX\ viele
Vorteil bietet. In \ref{subsec:unterkapitel-1} werden wir dieses Thema auch
noch einmal aufgreifen. Die besagten Vorteile sind unter anderem:

\subsection{Unterkapitel 1}
\label{subsec:unterkapitel-1}

\subsubsection{Unterunterkapitel 1}
\label{subsubsec:unterunterkapitel-1}

\subsection{Unterkapitel 2}
\label{subsec:unterkapitel-2}

Mit dem Befehl \LaTeX wird das \(\LaTeX-\)Logo eingeblendet. Der zusätzliche Backslash am Ende des Befehl weist \(\LaTeX\) an, hinter dem Logo ein Leerzeichen zu lassen (dies wird uns bei dem Setzen von Anführungszeichen, siehe Kapitel 7, folgt im nächsten Teil).

Die Formulierung

In Unterkapitel 1 werden wir dieses Thema auch noch einmal aufgreifen.

im \(\TeX-\)Code ist überhaupt nicht dynamisch und kann in der späteren Überarbeitung ganz anders aussehen. Statt nun eine Liste mit allen potentiell zu tätigenden Änderungen zu führen, können wir diese Formulierung durch den Referenz-Befehl ersetzen:

In Kapitel \ref {subsec:unterkapitel-1} werden wir dieses Thema auch noch einmal aufgreifen.

Zusätzlich wurde das eine hierarchische Struktur implizierende Wort Unterkapitel durch Kapitel ersetzt, was bei Änderungen in der Kapitel-Hierarchie zu keinen Komplikationen führt, da die Nummerierung in \(\LaTeX\) diese Strukturierung vornimmt.

Noch einmal der Hinweis: Immer zweimal auf den neben "Schnelles Übersetzen" befindlichen Pfeil klicken. Näheres dazu im nächsten Kapitel.

5. Erstellen eines Inhaltsverzeichnisses

Das Erstellen des Inhaltsverzeichnis ist mit nur einem einzigen Befehl möglich: \tableofcontents. Dieser wird an der gewünschten Stelle (üblicherweise zu dem in Teil 1 zum Abdrucken des Titels verwendeten Befehl \maketitle) eingefügt:

\maketitle
\tableofcontents

Achte aber darauf, dass Du zweimal auf den Pfeil links neben dem "Schnelles Übersetzen" drücken musst, da \(\LaTeX\) für das Generieren und Abdrucken des Inhaltsverzeichnisses zwei Durchläufe benötigt:

GIF_TEST1.gif

Dies gilt auch für Änderungen im Inhaltsverzeichnis, die sich durch verschobene, gekürzte oder erweiterte Textpassagen ergeben. Tückisch ist dabei, dass die Notwendigkeit eines doppelten Klicks nicht auf Anhieb ersichtlich ist, da \(\LaTeX\) das bereits bestehende (veraltete) Inhaltsverzeichnis nicht löscht, sondern unverändert stehen lässt. Erst mit dem zweiten Klick werden die Seitenzahlen oder Kapitelnummerierungen auf den neuesten Stand gebracht.

6. Klickbares Inhaltsverzeichnis

Bestimmt hast Du schon PDF-Dokumente gesehen, in denen die Inhaltsverzeichnisse anklickbar waren. Dadurch ist (gerade bei mehrseitigen Werken) eine leichte Navigation zu den einzelnen Kapiteln möglich. Wir haben bereits unser Inhaltsverzeichnis. Viel fehlt nicht mehr. Um es genau zu nehmen sogar nur ein einzufügendes Package, nämlich

\usepackage{hyperref}

Dieses fügen wir in unserer Dokumentvorlage der Übersichtlichkeit wegen hinter dem Kommentar

% Weitere Packages

ein. Klicken wir nun wieder zweimal auf den Pfeil, erscheinen im Texmaker um die einzelnen Kapitel herum ein roter Kasten. Dieser ist im Druck natürlich nicht zu sehen und signalisiert lediglich, dass dieses Textelement klickbar ist.

1.png

Doch nicht nur das Inhaltsverzeichnis wird klickbar: Auch die mit dem Befehl \ref referenzierten Labels können angeklickt werden:

2.png

Dies ist ein weiterer Beweis dafür, dass man unbedingt auf Labels und Referenzen setzen sollte statt alles hart in den Quellcode zu schreiben! \(\LaTeX\) belohnt dieses Verhalten sofort mit einer enormen Arbeitsersparnis.

Um die Links wieder zu entfernen, kann man entweder mit Package-Optionen (diese sind in eckige Klammern gesetzt [ ]) oder (weitaus effizienter): Man lässt einfach das Hyperref-Package weg ;-)

Unsere Dokumentvorlage hat nun folgenden Stand:

%
% Dokumentenvorlage
% Autor: F. André Dalwigk
% Veröffentlicht auf www.stacklounge.de
%
% ----------------------------------------------------------------------
% Angabe der Dokumentenklasse
\documentclass[a4paper,12pt]{scrartcl}
% ----------------------------------------------------------------------
% Style-Packages
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
% ----------------------------------------------------------------------
% Weitere Packages
\usepackage{hyperref}
% ----------------------------------------------------------------------
% Definition eigener Direktiven/Befehle
% ...
% ----------------------------------------------------------------------
% Titel, Untertitel, Autor und Datum festlegen
\title{\LaTeX Tutorial}
\subtitle{Eine kurze Einführung}
\author{André Dalwigk}
\date{\today}
% ----------------------------------------------------------------------
% Dokument beginnen
\begin{document}
\maketitle
\tableofcontents

\section{Einleitung}
\label{sec:einleitung}
Dies ist ein kleines Testdokument, in dem die Grundzüge von
\LaTeX\ erklärt werden. Als der Standard in wissenschaftlichen
Publikationen, lohnt es sich besonders im universitären Umfeld früh damit
anzufangen. Im Vergleich zu anderen Programmen lohnt sich die lange
Einarbeitungsphase zu 100\%, da es sehr viele Vorteile bietet.

\section{Kapitel 1}
\label{sec:kapitel-1}
In der Einleitung wurde bereits erwähnt, dass \LaTeX\ viele
Vorteil bietet. In Kapitel \ref{subsec:unterkapitel-1} werden wir dieses Thema auch
noch einmal aufgreifen. Die besagten Vorteile sind unter anderem:
\subsection{Unterkapitel 1}
\label{subsec:unterkapitel-1}
\subsubsection{Unterunterkapitel 1}
\label{subsubsec:unterunterkapitel-1}
\subsection{Unterkapitel 2}
\label{subsec:unterkapitel-2}

\end{document}

Autor: Florian André Dalwigk

geschlossen: Stack-Artikel
von

Ich finde den Artikel sehr gut. Wird des weitere Teile geben?

Danke :-) Ja, den nächsten bin ich gerade am Schreiben ;-)

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community