Zusatzpakete

In diesem Abschnitt sollen in alphabetischer Reihenfolge einige Pakete aufgelistet werden, die mittels der \usepackage-Anweisung eingebunden werden können und weitere hilfreiche Funktionen für spezielle Zwecke bereitstellen.

array – Bessere Spaltenoptionen für Tabellen

In der Standard-Version von LaTex können, wie im Abschnitt Spaltenoptionen beschrieben, Spalten mit fester Breite nur linksbündig ausgerichtet werden.

Das Paket array ermöglicht es, Spalten mit fester Breite auch zentriert oder rechtsbündig auszurichten. Hierfür ist es sinnvoll, in der Präambel folgende “neue” Spaltentypen zu definieren: [1]

\usepackage{array}

\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

Damit können beispielsweise L{5cm}, R{5cm} oder C{5cm} als Spaltenoptionen verwendet werden, um linksbündige, rechtsbündige oder zentrierte Spalten mit fester Breite zu definieren. Der Text wird dabei vertikal stets zentriert ausgerichtet, also jeweils mittig in die Reihen der Tabellen gesetzt.

Soll die vertikale Ausrichtung der Zeilen jeweils bündig am unteren Zeilenrand erfolgen, wie dies beispielsweise für das Setzen von sehr langen Spaltennamen mittels rotatebox{} vorteilhaft sein kann, so können nach dem obigen Prinzip weitere Spaltentypen definiert werden, wobei lediglich m{#1} (“middle”) durch b{#1} (“bottom”) ersetzt werden muss.

Bei Verwendung von Spaltenoptionen mit fester Breite wird der Spaltentext bei Bedarf automatisch in der nächsten Zeile weitergeführt. Bei Verwendung der oben definierten Spaltenoptionen L, C und R kann eine Fortsetzung des Spaltentexts in der nächsten Zeile manuell mittels \newline explizit erzwungen werden.

blindtext – Blindtext setzen

Das Paket blindtext stellt die gleichnamige Anweisung \blindtext bereit, mit deren Hilfe – wie der Name schon sagt – ein Blindtext ins Dokument eingefügt werden kann. Dabei handelt es sich um einen Textabschnitt, der an sich keinen Sinn ergibt, aber als “Füllmaterial” für Layout-Überlegungen dienen soll.

Das Paket bietet neben der Anweisunge \blindtext, die einen einzelnen Absatz erstellt, folgende weitere Möglichkeiten:

  • \blindtext[x] erstellt einen Absatz Mustertext mit x Wiederholungen. [2]
  • \Blindtext[y][x] erstellt y Absätze an Mustertext mit x Wiederholungen.
  • \blinddocument erstellt einen Mustertext mit 3 Seiten Länge.
  • \Blinddocument erstellt einen Mustertext mit 16 Seiten Länge.

Beispiel:

% In der Präambel:

\usepackage{blindtext}

% Im Dokument:

\blindtext[1]

Ergebnis:

_images/blindtext.png

Zusätzlich zu den obigen Anweisungen, die “normalen” Blindtext erzeugen, gibt es mit dem \blindtext-Paket auch die Möglichkeit, beispielhafte Aufzählungen zu erzeugen:

  • \blinditemize erstellt eine Muster-Aufzählung verschiedener Punkte ohne Nummerierung.
  • \blindenumerate erstellt eine Muster-Aufzählung verschiedener Punkte mit Nummerierung.

Die obigen Anweisungen können beispielsweise beim Testen anderer Dokumentklassen (beispielsweise Brief), Schriftarten und Schriftgrößen genutzt werden.

caption – Bildunterschriften ohne Nummerierung

Das Paket caption stellt die Anweisung \caption*{} bereit, die beispielsweise innerhalb von figure- oder table-Umgebungen genutzt werden kann, um Bild- beziehungsweise Tabellen-Unterschriften ohne eine automatische Nummerierung zu setzen.

cmap – Copy und Paste in PDF-Dateien

Als das Textsatzungssystem (La-)TeX von Donald Knuth entwickelt wurde, gab es noch keine graphischen Bedienoberflächen und noch keine Maus als Bedienungs-Werkzeug; als Zielgeräte waren Drucker vorgesehen. Heutzutage hingegen ist es sehr nützlich, wenn aus den erstellten PDF-Dateien der darin enthaltene Text einfach via Copy-and-Paste in eine andere Datei übernommen werden kann. Hierfür genügt es, in der Präambel das Zusatz-Paket cmap mittels \usepacke{cmap} zu laden:

% Möglichst zu Beginn der Präambel:

\usepackage{cmap}

Das Paket sollte möglichst zu Beginn der Präambel eingebunden werden, um Konflikte mit anderen Zusatz-Paketen zu vermeiden. Innerhalb des Dokuments sind keine weiteren Anweisungen nötig.

colortbl – Tabellen mit farbigem Hintergrund

Das Paket colortbl ermöglicht es in Kombination mit dem Paket xcolor, in Tabellen auch nur einzelne Zellen mit einer anderen Hintergrund-Farbe hervorzuheben.

Beispiel:

% In der Präambel:

\usepackage{xcolor, colortbl}
\definecolor{grey}{rgb}{0.8,0.8,0.8}

% Innerhalb des Dokuments:

    \begin{tabular}{|c|c|c|}
        \hline
        Spalte A & Spalte B & Spalte C \\
        \hline
        A1 & B1 & C1 \\
        A2 & \cellcolor{grey} B2 & C2 \\
        A3 & B3 & C3 \\
        \hline
    \end{tabular}

Ergebnis:

_images/colortbl.png

Die \cellcolor{}-Anweisung kann auch im Argument der \multicolum{}-Anweisung genutzt werden, um einen Bereich über mehrere Spalten farblich hervorzuheben, beispielsweise \multicolumn{3}{c}{\cellcolor{grey}Hallo Welt!}. Dabei muss allerdings genau diese Verschachtelungs-Reihenfolge eingehalten werden, andernfalls erhält man eine Fehlermeldung.

geometry – Seitenränder festlegen

Das Paket geometry bietet eine einfache Möglichkeit, die Abstände zwischen dem Seitenrand und dem Textbereich einer Seite manuell einzustellen. Die Syntax hierzu ist folgende:

% In der Präambel:

\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

Die Angabe der einzelnen Abstände ist optional, es können somit beispielsweise auch nur die Werte für den oberen und unteren Seitenrand (top und bottom) angepasst werden; für die seitlichen Ränder gelten dann weiterhin die LaTeX-Standardwerte.

Sollen die so definierten Einstellungen, die Auswirkungen auf das gesamte Dokument haben, zu einem späteren Zeitpunkt innerhalb des Dokuments wieder geändert werden, so ist dies mittels der \newgeometry{}-Anweisung möglich:

% Innerhalb des Dokuments:

\newgeometry{left=1cm, right=1cm, top=2.5cm, bottom=2.5cm}

Diese Anweisung hat Auswirkungen auf das Layout der aktuellen und aller folgenden Seiten beziehungsweise bis eine neue \newgeometry{}-Anweisung gesetzt wird.

hyperref – Verlinkungen erstellen

Das Paket hyperref dient zur Erstellung von Verlinkungen innerhalb des erstellten PDF-Dokuments. In der Präambel sollte dieses Pakete mittels \usepackage{hyperref} möglichst am Ende geladen werden, um Konflikte mit anderen Zusatzpaketen zu vermeiden.

Bindet man dieses Paket ohne weitere Optionen ein, so werden beispielsweise automatisch die Überschriften das Inhaltsverzeichnis in der PDF-Datei mit roten Rahmen versehen; sofern der PDF-Betrachter dies unterstützt, kann mit der Maus auf eine solche “Box” geklickt werden, und man gelangt zur entsprechenden Stelle im Dokument. Die Boxen werden nur am Computer-Bildschirm angezeigt; schickt man die Datei an einen Drucker, so werden diese nicht mit gedruckt. [3]

Das Paket stellt die folgenden vier Anweisungen bereit:

  • Mit \url{webadresse} kann eine Web-Adresse anklickbar verlinkt werden. Die als Argument angegebene Adresse wird als Ganzes in Maschinenschrift gedruckt.

    % Möglichst am Ende der Präambel:
    
    \usepackage{url, hyperref}
    
    
    % Innerhalb des Dokuments:
    
    \url{http://www.grund-wissen.de}
    

    Kommen in der angegebenen Webadresse Unterstriche vor, so müssen diese manuell mit einem vorangehenden Backslash-Zeichen versehen werden; alternativ dazu kann zusätzlich zum Paket hyperref das Paket url geladen werden, das genau hierfür Abhilfe schafft.

  • Mit \href{webadresse}{text} kann ebenfalls ein anklickbarer Link auf eine Webadresse gesetzt werden; es wird allerdings nicht die Web-Adresse, sondern der als zweites Argument angegebene Text gedruckt und dieser mit der Adresse verlinkt.

    \href{http://www.grund-wissen.de}{Grund-Wissen-Webseite}
    

    Die \href{}-Anweisung kann ebenso verwendet werden, um Email-Adressen zu setzen. Dazu muss man lediglich die Ziel-Adresse mit dem Vermerk mailto: versehen werden: [4]

    \href{mailto:email@adresse.de}{email@adresse.de}
    

    In seltenen Fällen ist es auch hilfreich, mit \href{} auf lokale Dateien verlinken zu können. Hierzu wird der Ziel-Pfad mit dem Vermerk run: versehen.

    \href{run:/path/to/file.pdf}{Dateiname}
    

    Die Datei wird dann mit der für den jeweiligen Dateityp vorgesehenen Standard-Anwedung geöffnet.

  • Mit \ref{labelname} kann auf eine andere Stelle im aktuellen PDF-Dokument verlinkt werden; diese muss im LaTeX-Quellcode mittels der Anweisung \label{labelname} markiert werden. Als labelname sollten dabei nur ASCII-Symbole (Groß- und Kleinbuchstaben, Zahlen, Bindestrich, Doppelpunkt) verwendet werden, um mögliche Kodierungsfehler zu vermeiden. [5]

    Verlinkt man mit der \ref{}-Anweisung auf ein Label, so wird im PDF-Dokument an dieser Stelle der Wert des so genannten refstepcounters eingefügt; beispielsweise könnte dieser bei der ersten Abbildung im vierten Abschnitt des ersten Kapitels als Ergebnis 1.4.1 liefern. Möchte man anstelle dieses Zählers die jeweilige Seitenzahl ausgeben, so ist dies mit der Anweisung \pageref{label} möglich. [6]

  • Mit \hyperlink{target}{Link-Text} wird ein Link auf eine Textstelle erzeugt, die sich auch innerhalb eines Absatzes befinden kann – beispielsweise eine Definition eines Fachbegriffs oder einer Abkürzung. Das jeweilige Ziel wird dabei mittels der Anweisung \hypertarget{target}{Eigentlicher Text} definiert.

Konfiguration des hyperref-Pakets

Das Paket hyperref bietet zudem vielerlei Möglichkeiten, das Aussehen der Links anzupassen; dies ist mittels der Anweisung \hypersetup{} am Ende der Präambel möglich. Unter anderem kann damit das Aussehen der Links festgelegt werden:

% Am Ende der Präambel:

\hypersetup{

    unicode     = true,     % Umlaute in Links erlauben
    colorlinks  = true,     % Links anstelle von Umrandungsboxen farbig hervorheben
    citecolor   = green,    % Farbe von Links auf Bibliographie-Einträge festlegen
    linkcolor   = blue,     % Farbe von Links auf Sprungmarken festlegen
    urlcolor    = cyan,     % Farbe von Links auf Webseiten festlegen
    % ...
}

Mit der \hypersetup{}-Anweisung können zudem Meta-Tags in die PDF-Datei geschrieben werden, die Informationen über den Titel des Dokuments, den Autor-Namen usw. beinhalten; in einem PDF-Betrachter können diese als Dokument-Eigenschaften agezeigt werden. Insbesondere bei Veröffentlichungen im Internet ist ein Setzen solcher Informationen empfehlenswert, da Suchmaschinen wie Google diese in ihren Algorithmen mit auswerten.

% Am Ende der Präambel:

\hypersetup{

    % ... andere Konfigurationen ...

    pdftitle    = {Dokumentname},
    pdfsubject  = {Kurzbeschreibung},
    pdfauthor   = {Autorname},
    pdfkeywords = {Schlagwort 1} {Schlagwort 2},
    pdfnewwindow= true,
}

Eine vollständige Liste der hyperref-Optionen findet sich auch im LaTeX-Wörterbuch.

longtable – Mehrseitige Tabellen

Das Paket longtable stellt eine gleichnamige Umgebung bereit, die zum Erstellen von beliebig langen Tabellen verwendet werden kann. Die Syntax ist dabei im Wesentlichen an die tabular-Umgebung angelehnt; es können allerdings unterschiedliche Kopf- unf Fußzeilen für die erste Seite der Tabelle sowie für die folgenden Tabellen-Seiten definiert werden.

Beispiel:

% In der Präambel:

\usepackage{multicol}
\usepackage{array, longtable}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering  \let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft \let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

% Im Dokument:

\begin{longtable}{|C{3cm}|C{7cm}|C{3cm}|}
    \hline
    &&\\[-11pt]

    % Kopfzeile zu Beginn der Tabelle:
    Spalte A & Spalte B & Spalte C \\
    \hline \endfirsthead

    % Kopfzeile für die Folgeseiten:
    A & B & C \\
    \hline \endhead

    % Fußzeilen bei Seiten-Umbrüchen mitten in der Tabelle:
    \multicolumn{3}{|c|}{Fortsetzung folgt...} \\
    \hline \endfoot

    % Fußzeile am Ende der Tabelle:
    \multicolumn{3}{|c|}{Ende!}\\
    \hline \endlastfoot

    % Eigentlicher Tabellen-Inhalt:
    A1 & B1 & C1 \\
    A2 & B2 & C2 \\
    A3 & B3 & C3 \\
    \hline
\end{longtable}

Ergebnis:

_images/longtable.png

In diesem Beispiel wurden wieder die im Abschnitt Tabular beschriebenen Eigen-Definitionen für zentrierte Spalten mit fester Breite genutzt. Da der eigentliche Tabellen-Inhalt im Beispiel nur sehr kurz ist und auf eine Seite passt, wird nur der erste Tabellenkopf sowie die Fußzeile für das Tabellen-Ende gedruckt.

Der Aufbau einer longtable unterscheidet sich also nur durch die explizite Definition der Kopf- und Fußzeilen von einer “normalen” tabular-Umgebung. [7] Der wesentliche Vorteil liegt dabei darin, dass man sich keine Gedanken darüber machen muss, an welcher Stelle die Seitentrennung erfolgt – LaTeX übernimmt dies von selbst.

lscape – Bereiche in Querformat setzen

Das Paket lscape stellt die Umgebung landscape bereit, mit deren Hilfe einzelne Bereiche eines Dokuments im Querformat gedruckt werden können. Dies ist beispielsweise für breite Tabellen hilfreich.

Beispiel:

% In der Präambel:

\usepackage{lscape}

% Im Dokument:

\begin{landscape}

    \begin{tabular}{|c|c|c|}
        \hline
        Spalte A & Spalte B & Spalte C \\
        \hline
        A1 & B1 & C1 \\
        A2 & B2 & C2 \\
        A3 & B3 & C3 \\
        \hline
    \end{tabular}

\end{landscape}

Ergebnis:

_images/landscape.png

Der entsprechende Bereich muss also lediglich durch \begin{landscape} und \end{landscape} eingeschlossen werden.

multicol – Tabelleneinträge über mehrere Spalten

Das Paket multicol stellt die Anweisung \multicolumn{} bereit, mit deren Hilfe Einträge in Tabellen über mehrere Spalten hinweg gesetzt werden können. Die Syntax hierfür ist folgende:

% In der Präambel:

\usepackage{multicol}


% Innerhalb des Dokuments:

\multicolumn{AnzahlSpalten}{Ausrichtung}{Text}

Die Ausrichtung des angegebenen Textes beginnt dann mit in der Spalte, in der die \multicolumn{}-Anweisung steht, und umfasst insgesamt die mit AnzahlSpalten angegebene Anzahl an Spalten. Als Ausrichtung kann l, c oder r gewählt werden; Trennstriche am linken beziehungsweise rechten Rand des multicolumn-Eintrags können mittels eines |-Zeichens vor beziehungsweise nach dem Ausrichtungs-Zeichen gesetzt werden.

multirow – Tabelleneinträge über mehrere Zeilen

Das Paket multirow stellt die gleichnamige Anweisung \multirow{} bereit, mit deren Hilfe Einträge in Tabellen über mehrere Zeilen hinweg ausgerichtet werden können. Die Syntax hierfür ist folgende:

% In der Präambel:

\usepackage{multirow}


% Innerhalb des Dokuments:

\multirow{AnzahlReihen}{Breite}{Text}

Die Ausrichtung des angegebenen Textes innerhalb der Spalte, in der die \multirow{}-Anweisung steht, beginnt mit der aktuellen Reihe und umfasst insgesamt die mit AnzahlReihen angegebene Anzahl an Reihen. Der Inhalt der Reihe wird zentriert zu den mit AnzahlReihen angegebenen Reihen ausgerichtet. Als vertikal für den Text zu reservierende Breite wird meist * für eine automatische Breite gewählt, die Breite der auszurichtenden Reihe entspricht dann der Breite der angegebenen Anzahl von Reihen.

paralist – Kompakte Aufzählungen

Das Paket paralist stellt die Umgebungen compactitem und compactenum bereit, mit deren Hilfe kompakte Aufzählungen gesetzt werden können:

% Kompakte Aufzählung ohne Nummerierung:
\begin{compactitem}
    \item Eintrag 1
    \item Eintrag 2
\end{compactitem}

% Kompakte Aufzählung mit Nummerierung:
\begin{compactenum}
    \item Eintrag 1
    \item Eintrag 2
\end{compactenum}

units – Einheiten setzen

In der Typographie ist es allgemein üblich, mathematische oder physikalische Symbole kursiv zu drucken, die zugehörigen Einheiten hingegen in aufrechter Schriftform (“roman”). Um insbesondere bei der Eingabe von Einheiten im Mathe-Modus nicht ständig den Schrift-Typ ändern zu müssen, kann anstelle dessen in der Präambel das Paket units mittels \usepackage{units} eingebunden werden.

Das Paket units stellt die Anweisung \units[Zahlenwert]{Einheit} bereit, die sowohl in Text- wie auch in Mathe-Umgebungen genutzt werden kann; sie stellt einerseits sicher, dass die angegebene Einheit aufrecht gedruckt wird, andererseits verringert sie geringfügig den horizontalen Abstand zwischen Zahlenwert und Einheit, so dass diese optisch als zusammengehörig, aber nicht gequetscht erscheinen. Die Angabe des Zahlenwerts ist optional, es kann also auch nur \units{Einheit} gesetzt werden, beispielsweise um beim Setzen physikalischer Aufgaben eine Einheiten-Kontrolle vorzunehmen.

Sowohl bei der Angabe des Zahlenwerts wie auch bei der Angabe der Einheit dürfen weitere mathematische Anweisungen gesetzt werden; beispielsweise kann mittels \unit{\frac{km}{h}} die Ausgabe \unit{\frac{km}{h}} erzeugt werden. Eine solche Bruch-Schreibweise wird häufig bei Formeln verwendet, die eigene Absätze darstellen; bei Angaben von Einheiten innerhalb einer Zeile kann hingegen die zusätzlich bereitgestellte Anweisung \unitfrac[Zahlenwert]{Zähler}{Nenner} verwendet werden, die beispielsweise für den Quellcode \unitfrac{km}{h} die Ausgabe \unitfrac{km}{h} liefert.