Langere documenten structureren
Deze les laat zien hoe LaTeX je in staat stelt om je bronbestanden op te splitsen in kleinere, beter beheersbare bestanden, en hoe dit het bouwen van een lang document eenvoudiger en sneller maakt.
Wanneer je een langer document schrijft, wil je waarschijnlijk de broncode opdelen in meerdere bestanden. Het is bijvoorbeeld heel gebruikelijk om één ‘hoofdbestand’ te hebben, en dan één bronbestand per hoofdstuk (voor een boek of proefschrift), of per belangrijk onderdeel (voor een lang artikel).
Structureren van je bronbestanden
LaTeX stelt je in staat om bronnen op een gecontroleerde manier op te splitsen. Er zijn twee belangrijke commando’s: \input
en \include
. Met \input
kan je een bestand invoegen alsof het op die plaats getypt is en het kan dus voor vrijwel alles worden gebruikt. Het \include
-commando is enkel bedoeld voor hoofdstukken: het begint op een nieuwe pagina en maakt interne aanpassingen. Het heeft echter een groot voordeel: je kan selectief kiezen welke hoofdstukken je wil invoegen, zodat je aan een deel van je document kan werken in plaats van aan het geheel.
Een langer document zou er dus ongeveer als volgt uit kunnen zien:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[dutch]{babel}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\title{Een Voorbeeldboek}
\author{Jan Jansens \and Lies Liesens}
\IfFileExists{\jobname.run.xml}
{
\includeonly{
front,
% chap1,
chap2,
% append
}
}
{
% Maak eerst een volledig document om alle
% hulppagina's te genereren
}
\begin{document}
\frontmatter
\include{front}
% =========================
\mainmatter
\include{chap1}
\include{chap2}
\appendix
\include{append}
% ========================
\backmatter
\printbibliography
\newpage
\input{backcover}
\end{document}
We bekijken de verschillende aspecten van dit bestand hieronder. (De bijbehorende ondersteunende bestanden staan aan het einde van deze pagina.)
Het gebruik van \input
Het \input
-commando is handig voor delen van een lang bestand die geen aparte hoofdstukken zijn. In het voorbeeld hebben we het gebruikt voor de voor- en achterkaft, zodat het hoofddocument kort en overzichtelijk blijft. Ook kunnen we de kaftbestanden hergebruiken in een ander document. We hebben het ook gebruikt voor de secties aan het begin van het boek die geen hoofdstuk zijn: zaken zoals het voorwoord. Opnieuw helpt dit om het hoofddocument overzichtelijk te houden.
Het gebruik van \include
en \includeonly
Het \include
-commando is ideaal voor hoofdstukken, dus we hebben het gebruikt voor elk volledig hoofdstuk; het begint altijd op een nieuwe pagina. We hebben met \includeonly
geselecteerd welke hoofdstukken daadwerkelijk worden gezet. Zoals je kan zien, gebruikt \includeonly
een lijst van bestandsnamen, gescheiden door komma’s. Door \includeonly
te gebruiken, kan je het zetproces versnellen en een ‘selectieve’ PDF maken om te proeflezen. Het belangrijkste voordeel is dat LaTeX wel alle kruisverwijzingen gebruikt uit de .aux
-bestanden van andere hoofdstukken.
Een inhoudsopgave maken
Het \tableofcontents
-commando gebruikt de informatie uit de sectiecommando’s om de inhoudsopgave op te bouwen. Hiervoor wordt een apart hulpbestand met de extensie .toc
gebruikt, dus je moet LaTeX mogelijk twee keer draaien om alles correct weer te geven. De inhoudsopgave wordt automatisch gegenereerd op basis van de sectietitels. Er zijn soortgelijke commando’s voor \listoffigures
en \listoftables
, die werken met de onderschriften van afbeeldingen en tabellen en gebruiken de bestanden .lof
en .lot
.
Het document opdelen
De commando’s \frontmatter
, \mainmatter
en \backmatter
beïnvloeden de opmaak. Zo schakelt \frontmatter
over op Romeinse paginanummers. Het commando \appendix
verandert de nummering naar A
, B
, enz., dus bijvoorbeeld in het eerste hoofdstuk na \appendix
zal de kop Appendix A
luiden.
Oefeningen
Experimenteer met de basisstructuur van het voorbeelddocument. Probeer hoofdstukken toe te voegen en te verwijderen via \includeonly
en kijk wat er gebeurt.
Voeg enkele floats toe en genereer een lijst van figuren en tabellen. Als je een lokale LaTeX-installatie gebruikt, kan je dan zien hoe vaak LaTeX moet worden uitgevoerd? (Online systemen draaien LaTeX “achter de schermen” opnieuw, waardoor dat minder opvalt.)
front.tex
\input{frontcover}
\maketitle
\input{dedication}
\input{copyright}
\tableofcontents
\input{pref}
pref.tex
\chapter{Voorwoord}
De tekst van het voorwoord. Zie \cite{doody}.
chap1.tex
\chapter{Inleiding}
De tekst van het eerste hoofdstuk.
chap2.tex
\chapter{Iets Anders}
De tekst van het tweede hoofdstuk.
append.tex
\chapter*{Appendix}
De tekst van de eerste appendix.
frontcover.tex
\begin{center}
De voorkaft
\end{center}
dedication.tex
\begin{center}
\large
Voor \ldots
\end{center}
copyright.tex
\begin{center}
Copyright 2020 learnlatex.
\end{center}
backcover.tex
\begin{center}
De achterkaft
\end{center}