9. LaTeX#

9.1. Over LaTeX#

LaTeX is een tekstverwerker, net als Microsoft Word. LaTeX brengt echter een aantal voordelen met zich mee die het ontzettend geschikt maakt om te gebruiken voor artikelen en verslagen.

In dit hoofdstuk leer je dan ook stap voor stap wat je nodig hebt om je eerste verslag in LaTeX te schrijven. Voor het schrijven zal gebruik worden gemaakt van Overleaf, een online LaTeX editor. Houd wel in gedachte dat er meerdere alternatieven zijn voor Overleaf, zowel online als offline. Een voorbeeld van een goed alternatief voor de offline editor is TexStudio. En geavanceerder: je kunt Overleaf en Git aan elkaar koppelen en vervolgens werken in VisualStudioCode

Tip

Net als met Python geldt dat je het internet kunt raadplegen als je iets niet weet. Begin hierbij op Google, door bijvoorbeeld te zoeken naar “LaTeX” \(+\) datgene wat je wilt doen (in het Engels). StackExchange komt vaak als een van de eerste resultaten. Dit is altijd een goede bron van informatie, waar vaak antwoorden staan op vragen waar jij ook mee zit. Ook ChatGPT kan goed helpen met LaTeX.

9.2. Opstarten van LaTeX#

In deze Opdracht: zul je gebruik maken van een template van het practicum, zodat je niet zelf aan de opmaak hoeft te sleutelen. Voer de volgende Opdracht: uit om het practicum template verslag in Overleaf te laden.

Een document schrijven in LaTeX is eigenlijk een beetje als programmeren. Je vertelt de computer wat hij moet doen met behulp van code, die vervolgens wordt gecompileerd tot een pdf.

9.3. De preamble#

Een LaTeX document begint altijd met een preamble. In de preamble laad je packages in (net als Python), maak je de opmaak en begin je het document. In de preamble mag dus nog geen inhoudelijke tekst van je document. In het template verslag is er al een opmaak gemaakt en zijn er alvast een aantal packages ingeladen. Wil je later toch een andere opmaak? Om hiermee te beginnen zijn er online (bijvoorbeeld op Overleaf zelf) een hele hoop templates te vinden die je net als dit template kunt inladen in Overleaf.

Verder is het goed om te weten dat wanneer een regel voorafgaat met ‘%’, de regel overgeslagen wordt door de compiler. Dit werkt hetzelfde als ‘#’ in Python. Tenslotte, wanneer je iets hebt aangepast, kun je op de ‘Recompile’ knop klikken om en nieuw voorbeeld van je verslag te compileren.

9.4. Inhoud#

Nu de layout is gemaakt, kun je aan de slag met de inhoud. Het is belangrijk om een goede structuur in je document te hebben. Hiermee blijft je verslag overzichtelijk. In het template verslag is deze structuur gemaakt door middel van \chapter en \section. Hiermee creëer je hoofdstukken en secties.

Je kunt eenvoudig verwijzen naar de hoofdstukken en secties door ze te labelen. Dit doe je door het commando \label{<<NAAM>>} toe te voegen achter het commando voor je hoofdstuk of sectie. Vervolgens kun je in de tekst hiernaar verwijzen met het commando \ref{<<NAAM>>}.

Om verder overzicht te houden is het handig om verschillende hoofdstukken in verschillende .tex bestanden te schrijven. Gebruik \input om deze hoofdstukken vervolgens in je hoofdbestand main.tex te zetten.

Tip

Als je een nieuw .tex bestand maakt voor een nieuw hoofdstuk, zorg dan dat de naam geen spaties bevat. Dit kan errors in LaTeX opleveren.

9.5. Formules#

Een van de grote voordelen van het gebruiken van LaTeX zijn formules. Formules komen in twee vormen: (1) Inline, door gebruik te maken van de enkele dollar tekens: $y=4x$ of met \(y=4x\). (2) Op een nieuwe regel door gebruik te maken van de environment equation: \begin{equation} & \end{equation}.

Tip

Als je iets tussen haakjes wilt zetten gebruikt dan \left ( ... \right ) om de grootte van de haakjes aan te laten passen aan de inhoud.

Bijvoorbeeld: \(\begin{aligned} \text{zonder:} \hspace{1em}(\frac{1}{x})^2 && \text{met:} \hspace{1em} \left (\frac{1}{x}\right )^2 \end{aligned}\)

Mocht je er niet direct uitkomen, dan kunnen de volgende sites wellicht helpen.

Wanneer je de equation environment gebruikt, kun je vergelijkingen net als secties labelen om er daarna naar te kunnen verwijzen. Het label plaats je in dit geval binnen de equation environment.

Tip

Om het overzichtelijk te houden kun je de verschillende soorten labels laten voorgaan met prefixes. Bijvoorbeeld sec voor secties, eq voor equations, fig voor figuren en tab voor tabellen. Dit doe je door \label{fig:<<xxx>>}. Geef ook een naam die het duidelijk maakt voor jezelf waar je naar terug verwijst.

9.6. Tabellen#

Tabellen zijn een van de dingen die wat lastiger zijn in LaTeX dan in bijvoorbeeld Word. De makkelijkste manier om een tabel te maken is de tabel te maken in Excel en deze te importeren met een online tool. Een voorbeeld van zo’n tool is: table generator.

9.7. Afbeeldingen#

In LaTeX kun je afbeeldingen toevoegen door gebruik te maken van het figure environment. Wanneer je dit environment gebruikt, voegt Overleaf automatisch de commando’s toe waarmee je de afbeelding kunt inladen. De afbeelding zelf laad je in met het commando \includegraphics.

Om de grootte van de figuur te regelen, kun je de volgende optie aan je figuur toevoegen: [width=0.75\textwidth]. Met dit commando wordt de breedte van je figuur aangepast naar een fractie van de tekst breedte.

Voorbeeld Afbeeldingen
Om een figuur in te voegen kun je de volgende code gebruiken:

  \begin{figure}
    \centering
        \includegraphics[width=0.5\linewidth]{Figures/logo.jpg}
        \caption{Het TU Delft logo}
        \label{voorbeeld:fig:tudelft_logo}
  \end{figure}

Deze code geeft vervolgens als output:

Tip

Figuren worden het mooiste als je ze opslaat als .eps bestand. Omdat je plots dan worden opgeslagen als vector, blijft de resolutie behouden als je de grootte aanpast. Hiervoor moet je wel de package epstopdf laden.

9.8. Plaats van tabellen en afbeeldingen#

Zoals je misschien is opgevallen, komen de figuren en tabellen soms niet op de plaats terecht waar je ze bedoeld hebt. Het plaatsen van de figuren en tabellen, ook wel floats genoemd, gebeurt automatisch in LaTeX. De floats worden op de plaats gezet waar ze het beste passen in je document, zodat er zo min mogelijk witruimte ontstaat. Soms kan het handig zijn om echter zelf te bepalen waar de float terecht komt. Om dit te doen kun je zogenoemde placement specifiers gebruiken die je als optie toevoegt aan je environment:

    \begin{figure}[specifier]

9.9. Samenvatting#

Als je de documentclass report gebruikt: (dit kun je zien bij \``documentclass{} in de preamble) heeft een speciale environment voor de samenvatting. Deze ku je, net als de andere environments beginnen met het commando \begin{environment} en \end{environment}. Waarbij je in dit geval abstract gebruikt als environment. In het template is de samenvatting al gemaakt.

9.10. Inhoudsopgave#

Het maken van een inhoudsopgave gaat heel gemakkelijk in LaTeX. Wanneer je de commando’s \chapter, \section en \subsection gebruikt, worden deze automatisch toegevoegd. Ook de paginanummers en namen van de kopjes worden automatisch geüpdate al je ze besluit te veranderen. Om LaTeX de inhoudsopgave zelf te laten maken, gebruik je het commando \tableofcontents.

9.11. Referenties#

Om een referentielijst te maken, gebruik je het package natbib. Dit package kun je gebruiken door \usepackage{natbib} toe te voegen aan je preamble. In het template is dit al voor je gedaan. De referenties zelf voeg je toe aan de bibliography file bibliography.bib. In het template staan een paar voorbeelden van hoe je een referentie in de bibliography file zet.

Om je bibliografie te laten werken moet je LaTeX vertellen hoe deze moet worden gestructureerd. Dit doe je moet het commando \bibliographystyle{<<xxx>>}. In de template is gekozen voor de stijl unsrt.

Als je wilt verwijzen naar een bepaalde site, dan heb je het package \usepackage{url} nodig. De referentie in de .bib file ziet er als volgt uit:

@misc{andor2016,
  author       = {Andor Technologies ltd},
  title        = {Zyla 5.5 sCMOS},
  howpublished = {\url{http://www.andor.com/scientific-cameras/neo-and-zyla-scmos-cameras/zyla-55-scmos}},
  note         = {retrieved June 9 2016},
  }

9.12. Verslag#

9.13. Extra: Tips {#extra-tips .unnumbered}#

  • Nieuwe pagina: \newpage or \clearpage

  • Forceer een enter: \\

  • Kijk een keer naar het commando \autoref

  • Een handige tool voor het schrijven van vergelijkingen: Mathpix

Tot slot: Als je een error krijgt bij het compileren, zoek dan op internet naar je fout. Je bent vast niet de eerste (en de laatste) die met dat probleem zit.