latex-skript/content/referenzen.tex

53 lines
2.6 KiB
TeX

\section{Referenzen}\label{sec:referenzen}
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.
\begin{minted}[]{latex}
\begin{figure}[H]
\includegraphics % …
\caption{Unser Maskottchen Fooboar}
\label{img:fooboar}
\end{figure}
Wie man in Abbildung \ref{img:fooboar}
\end{minted}
\todo{Ordentliches Beispiel schneidern.}
Noch smarter ist das Paket \mintinline{latex}{cleveref}\footnote{mit 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 einen Präfix voranzustellen:
\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}
\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}
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:hinweise}
\end{minted}