latex-skript/content/references.tex

46 lines
2.6 KiB
TeX

\chapter{Referenzen}
\label{sec:references}
Für Querverweise der Form \enquote{Wie man in Abbildung 23 sieht, \textellipsis} bringt \LaTeX\ von Haus aus den Befehl \mintinline{latex}{\ref{label}} mit, der lästige Anpassungen an der Nummerierung der Grafiken, Tabellen etc. erspart.
Er erhält als Argument ein eindeutiges Label, das auch dem referenzierten Element zugeordnet werden muss.
Anschließend erscheint an der Stelle des Befehlsaufrufs die fortlaufende Nummer des referenzierten Elements.
\Example{lst:fooboar-learning-latex}{references/ref}{references/ref_crop}{Beispiel für eine Referenzierung}
Noch smarter ist das Paket \mintinline{latex}{cleveref}.\footnote{mit nur einem \enquote{r}!}
Es bringt den Befehl \mintinline{latex}{\cref{label}} mit, dem auch -- durch Kommata getrennt -- mehrere Labels übergeben werden können.
Daraus entstehen dann automatisiert Angaben wie \enquote{Abschnitte 1 bis 3 und 5}.\footnote{für den Quelltext \mintinline{latex}{\cref{sec:section1,sec:section2,
sec:section3,sec:section5}}}
Zudem fügt \mintinline{latex}{\cref{label}} eigenständig die richtige Abkürzung ein, beispielsweise \enquote{Abb.} für Grafiken.
Referenziert werden können neben Grafiken und Tabellen unter anderem auch Abschnitte, Bilder, Quelltext-Listings und Gleichungen.
Viele Pakete nutzen das Label, um herauszufinden, zu welchem Objekttyp es gehört.
Aus diesem Grund ist es üblich, jedem Label ein Präfix voranzustellen (\cref{lst:reference-prefixes}).
\begin{table}[H]
\centering
\begin{tabular}{@{}llll@{}}
\toprule
Präfix & Objekttyp & Präfix & Objekttyp \\ \midrule
fig: & Abbildungen & tbl: & Tabellen \\
sec: & Abschnitte & subsec: & Unterabschnitte \\
ch: & Kapitel & itm: & Aufzählungselemente \\
eq: & Gleichungen & lst: & Quelltext-Listings \\ \bottomrule
\end{tabular}
\caption{Präfixe für Labels}
\label{lst:reference-prefixes}
\end{table}
Bei der Verwendung von \mintinline{latex}{\cref{label}} ist zu beachten, dass die generierten Passagen in einigen Dokumentklassen erst dann auf Deutsch erscheinen, wenn bereits in der Dokumentklasse die Sprache festgelegt wurde:
\begin{minted}{latex}
\documentclass[ngerman]{article}
\end{minted}
\noindent Von Abschnitten abgesehen, müssen Beschriftungen\footnote{\mintinline{latex}{\caption{}}} außerdem \emph{immer vergeben und vor dem Label platziert} werden, damit sie anschließend referenziert werden können.
Bei Abschnitten wird das Label direkt hinter dem Befehl angefügt:
\begin{minted}{latex}
\section{Hinweise}\label{sec:hints}
\end{minted}