LaTeX/Labels en Referenties
Een van de enorm sterke kanten in LaTeX is het maken van referenties. Bij het maken van grote werken kun je niet zonder deze functie maar ook bij kleine werken is deze functie heel handig.
kerncommando's
bewerkenOm een verwijzing naar een bepaalde plaats te hebben moet je eerst die plaats een \label
geven. Dit gebeurt met het gelijknamige commando
\label{referentiewoord}
Een label kan naar bijna ieder mogelijk element verwijzen. Je kunt verwijzen naar een hoofdstuk, naar een element van een genummerde lijst, naar een figuur of tabel.
Daarna kun je met het \ref
-commando een verwijzing geven naar het nummer in kwestie (hoofdstuk nummer, figuur nummer ...).
\ref{referentiewoord}
Je kunt ook naar het paginanummer verwijzen met het \pageref
-commando
\pageref{referentiewoord}
Het \pageref
commando kun je gebruiken als je naar een element verwijst dat een aantal pagina's van de huidige pagina verwijderd staat. Je kunt dan de code
Zie figuur \ref{fig:test} op pagina \pageref{fig:test}.
gebruiken om het de lezer iets gemakkelijker te maken.
Veel voorkomende problemen
bewerkenJe zult zien dat LaTeX zal klagen de eerste keer dat je het document compileert. LaTeX zal de volgende waarschuwing geven:
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
Deze waarschuwing komt tevoorschijn omdat LaTeX bij iedere compilatie slechts eenmaal het document doorloopt. De eerste maal dat je het document compileert zal LaTeX in een log bestand opslaan waar je het \label
-commando geplaatst hebt en LaTeX zal slechts bij de tweede compilatie de referenties vervangen door verwijzingen naar dat label. Voor je de definitieve versie van je document verspreidt moet je dus altijd LaTeX enkele malen het document laten compileren, tot het aantal waarschuwingen van LaTeX niet meer wijzigt.
Als je echter verwezen hebt naar een referentiewoord dat niet bestaat, dan zal LaTeX de volgende waarschuwing geven:
LaTeX Warning: There were undefined references.
Als je deze waarschuwing krijgt moet je dus op zoek naar welk referentiewoord je mogelijk verkeerd getypt hebt.
Tips voor je eigen gemak
bewerkenOmdat je voor alle elementen hetzelfde label-commando kunt gebruiken, is het niet uitzonderlijk dat er verwarring ontstaat tussen de figuur over de bevolkingsdichtheid, de tabel over de bevolkingsdichtheid en het hoofdstuk over de bevolkingsdichtheid. Om deze verwarring te voorkomen wordt er meestal een afspraak gemaakt om labels met een bepaalde prefix te beginnen. Hieronder staan algemeen aanvaarde prefixen voor de meest gebruikte elementen.
chap:
|
hoofdstuk |
sec:
|
sectie |
fig:
|
figuur |
tab:
|
tabel |
eq:
|
vergelijking (equation) |
itm:
|
item (van een genummerde lijst) |
Je bent natuurlijk niet verplicht om deze prefixen te gebruiken, maar het gebruik ervan zorgt dat het document heel wat gemakkelijker te onderhouden wordt.
Voor het ontwerpen van een document kun je het showkeys
-package gebruiken om de referentiewoorden van de labels te zien verschijnen in het pdf-document i.p.v. de nummers. Als je document dan klaar is, moet je natuurlijk weer het showkeys
-package verwijderen voor je de definitieve versie van je document verspreidt.
Links in een pdf-bestand
bewerkenIn een pdf-bestand kun je er ook voor zorgen dat iedere referentie een link naar het label in kwestie wordt. Dit doe je door het pakket hyperref
te laden. Dit pakket werkt enkel in pdfLaTeX en je moet het pakket altijd als laatste laden, dus na alle andere pakketten. Als je het hyperref
-pakket gebruikt, dan zul je zien dat er vervelende rode kadertjes rond de referenties komen. Deze kadertjes worden echter niet afgedrukt en bij de elektronische versie zorgen die kadertjes voor extra leesbaarheid. Er is dus goed over die kadertjes nagedacht.
Voorbeelden
bewerkenHieronder volgen enkele praktische voorbeelden van het werken met referenties.
Secties
bewerken\section{Begroeting}
\label{sec:begroeting}
Hallo!
\section{Referenties}
Ik gaf een begroeting in sectie \ref{sec:begroeting}.
|
Een label om te verwijzen naar een sectie kun je zowat overal plaatsen. Het is echter veel gemakkelijker het juist na het \section
-commando te zetten.
Figuren
bewerken\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{zeemeeuw}
\caption{Close-up van een meeuw}
\label{meeuw}
\end{figure}
Figuur \ref{meeuw} toont een foto van een meeuw.
|
Als je een label in een zwevende omgeving zet (zoals een figuur of een tabel) dan zal het \ref
-commando een verwijzing naar het nummer van de afbeelding of de tabel tonen. Bij het plaatsen van de labels moeten we wel opletten waar dat gebeurt. Je moet een \label
-commando altijd na de \caption
zetten of er in zoals:
\caption{Close-up van een meeuw \label{meeuw}}
Voor het plaatsen van het \label
-commando in een subfig
-omgeving verwijzen we terug naar de sectie subfloats.
Problemen met het hyperref
-pakket
bewerken
Als je met het hyperref
-pakket werkt, dan zul je merken dat je altijd naar de \caption
linkt i.p.v. naar de foto. Om dit op te lossen kun je het pakket hypcap
gebruiken. Je moet dit echter laden na het hyperref
-pakket wat normaal als laatste komt. Je laadt dit pakket met de code:
\usepackage[all]{hypcap}
Het gebruik van het hyperref
-pakket wordt nog verder uitgelegd in de sectie over hyperlinks.
Formules
bewerkenHier is een voorbeeld over het werken met formules:
Vaak wordt er bij formules de voorkeur aan gegeven te werken met \eqref
i.p.v. \ref
. \eqref
zorgt er gewoon nog voor dat er haakjes rond de referentie komen. Zo kan de lezer gemakkelijk het verschil zien tussen formules en andere objecten zonder dat hij telkens het woord formule moet lezen. Als je dit gebruikt moet je er wel voor opletten dat je overal \eqref
gebruikt en voor geen enkele formule \ref
.
numberwithin
bewerkenAls je met het amsmath
-pakket werkt, dan kun je het \numberwithin{tellera}{tellerb}
in de preambule zetten om een geavanceerdere nummering te krijgen. Zo zal het commando \numberwithin{equation}{section}
er voor zorgen dat ieder nummer van een vergelijking bestaat uit twee delen, waarbij het eerste deel het sectienummer is. De vijfde formule in de tweede sectie zal dus het nummer 2.5
krijgen.