> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/nl/kennisbank/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

# Hoe fouten vinden en oplossen die in gegenereerde bestanden worden gemeld

## Inleiding

Soms meldt Overleaf fouten die voortkomen uit bestanden met namen zoals `output.toc`, `output.bbl`, enz., maar die bestanden *bestaan helemaal niet in je project*. Dus waar komen zulke bestanden *vandaan* en, belangrijker nog, hoe *zoek* en *los je* de fouten op?

> ![Gen-toc-error.png](/files/72bc86a676a1afb8f1d0aa2ca351abbe5e1e0fff) “Maar ik heb niet eens **te** dit `output.toc` bestand in mijn project!”

Deze “mysterieuze bestanden” zijn artefacten: hulpbestanden die worden gegenereerd tijdens het LaTeX-compilatieproces, maar ze kunnen ook fouten veroorzaken die meestal voortkomen uit coderingsproblemen in de bronbestanden van je project. Dit helpartikel gebruikt een [echt voorbeeld vol fouten](#playing-detective-locating-errors-in-generated-files) om te laten zien hoe je zulke fouten kunt terugvoeren tot hun oorsprong in het/de bronbestand(en) van je project.

## Bestanden die tijdens het LaTeX-compilatieproces worden gegenereerd

Naast het uitvoer `.pdf` bestand genereert het LaTeX-compilatieproces verschillende bestandstypen die informatie bevatten over labels, kruisverwijzingen, paginanummers enz. Sommige hulpbestandstypen worden niet rechtstreeks door de LaTeX-compiler aangemaakt, maar door andere verwerkingstools die tijdens het zetten worden gebruikt: bijvoorbeeld opgemaakte referentielijsten en indexen. Deze gegenereerde bestanden moeten bij volgende runs door de compiler worden gelezen, zodat het uiteindelijke `.pdf` bestand wordt gevuld met de juiste lijsten, citaties en kruisverwijzingen.

Het feit dat LaTeX en bijbehorende verwerkingstools hulpdatabestanden moeten schrijven en lezen betekent dat er meerdere compilatie-/verwerkingsstappen nodig kunnen zijn voordat de totale bestandsdataset samenkomt (stabiliseert) om het uiteindelijke gezet (stabiele) `.pdf` bestand te produceren. Een typische zetcyclus zou kunnen zijn:

`pdflatex`$$\mapsto$$`bibtex`$$\mapsto$$`pdflatex`$$\mapsto$$`pdflatex`

Op een lokale LaTeX-installatie moet je misschien elke tussenstap zelf uitvoeren, of je kunt een bouwtool gebruiken zoals [make](https://www.gnu.org/software/make/manual/), [latexmk](https://ctan.org/pkg/latexmk) of [arara](https://ctan.org/pkg/arara), om deze keten van processen te automatiseren. [Overleaf gebruikt latexmk](/latex/nl/kennisbank/064-how-does-overleaf-compile-my-project.md), en deze video laat zien wat er gebeurt telkens wanneer je op de knop “Opnieuw compileren” in je Overleaf-project klikt.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/Uo3I2FXEI8H6aFPBZq171/e2139f9575a4db6955dc2278dc08283c/latexmk-ol.mp4>" %}

Gewoonlijk hebben gegenereerde bestanden dezelfde bestandsnaam als het `.tex` bestand dat wordt gecompileerd; bijvoorbeeld, als je `**main**.tex`compilert, zouden de gegenereerde bestanden heten `**main**.aux`, `**main**.toc`, `**main**.lof` enz. Echter, *op Overleaf* de compilatie `\jobname` staat altijd ingesteld op `**output**`, dus de [gegenereerde bestanden](/latex/nl/kennisbank/150-view-generated-files.md) van je Overleaf-project heten altijd `**output**.aux`, `**output**.toc`, `**output**.lof` enz. Deze gegenereerde bestanden kunnen worden gedownload uit je Overleaf-project, maar ze kunnen niet worden bekeken of bewerkt op Overleaf.

## Compilatiefouten gemeld vanuit gegenereerde bestanden

Coderingsfouten in het hoofdproject `.tex` bestand kunnen worden doorgegeven aan de gegenereerde bestanden. Bijvoorbeeld, een niet-geëscapete `&` in `\section{Introduction & Background}` zou terechtkomen in het gegenereerde `.toc` bestand. Wanneer het gegenereerde `.toc` bestand vervolgens wordt ingelezen door de volgende `pdflatex` compilatierun, wordt dan een foutmelding gegeven als “afkomstig uit het .toc-bestand”. De huidige LaTeX-logbestanden en foutmeldingen maken echter geen koppeling van regels in het `.toc` bestand (en andere gegenereerde bestanden) naar hun oorsprong in het bron `.tex` bestand: het is misschien niet meteen duidelijk waar de oorspronkelijke fout moet worden gecorrigeerd.

Hier is een voorbeeld van hoe fouten worden weergegeven in een andere LaTeX-editor: hoewel je op de foutmelding kunt klikken om de betreffende regel in het gegenereerde `.toc` of `.aux` bestand te openen, is er geen pad om van de fout naar de oorspronkelijke locatie in het `.tex` bestand te gaan. En zelfs als je de fout corrigeert door `&` meestal `\&` in het `.toc` bestand te vervangen, lost dat het probleem eigenlijk niet op: de volgende keer dat je het `.tex` bestand compileert, wordt het `.toc` bestand opnieuw gegenereerd en dezelfde fout wordt opnieuw naar het `.toc` bestand.

![Texstudio-errors-generated-files.gif](/files/72aef478eb7a2c57957883eb8314b8ffbd74c150)

Wanneer een fout wordt gemeld als afkomstig uit gegenereerde bestanden, is de juiste manier om ze op te lossen het daadwerkelijke foutpunt in de bronbestanden te lokaliseren en die te corrigeren. De foutmeldingen bevatten meestal contextuele informatie, wat tekst of code rondom de fout, dus zoeken op tekst in de bronbestanden helpt om ze te vinden. De fouten zelf zijn vaak algemeen: je kunt enkele veelvoorkomende fouten opzoeken op [deze hulppagina](/latex/nl/latex-basis/05-errors.md), of in de [TeX FAQ-lijst](https://texfaq.org/#errors).

## Probeer eerst de gegenereerde bestanden te verwijderen

Soms zijn fouten in de gegenereerde bestanden restanten van een eerdere compilatie. Zelfs als je de fouten in je `.tex` bestand had gecorrigeerd en opnieuw compileert, kunnen de gegenereerde bestanden, die de fouten nog steeds bevatten, nog steeds door de compiler worden gelezen, waardoor dezelfde fouten als voorheen ontstaan. Je kunt proberen de gegenereerde bestanden te verwijderen voordat je opnieuw compileert. Instructies hiervoor in Overleaf vind je [hier](/latex/nl/kennisbank/028-clearing-the-cache.md).

Als je nog steeds dezelfde fouten ziet, zelfs na het verwijderen van alle gegenereerde bestanden en opnieuw compileren, is het waarschijnlijk dat er echte fouten in je bronbestanden zitten.

## Speurwerk: fouten in gegenereerde bestanden opsporen

De volgende secties bieden enkele tips over waar je naar zulke fouten kunt zoeken. We gebruiken het volgende *opzettelijk foutieve* voorbeeldproject voor onze speurdersoefening. Klaar? Laten we gaan!

[Open een *foutief* Overleaf-project!](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demo+of+LaTeX+compile+errors+reported+from+generated+files\&main_document=main.tex\&snip_uri=https%3A%2F%2Fassets.ctfassets.net%2Fnrgyaltdicpt%2F5qdEqgUidaYDHjOlBoKM7K%2F55395921a114edb36ed3d51d7b1c6edb%2Fdemoerrors.zip) Het project zou er ongeveer zo uit moeten zien 😲:

![Afbeelding die LaTeX-projectfouten toont](/files/ecf80b3943ec73e16016e4ff02219ec07f3178ed)

### Fouten uit .aux-bestanden

De `.aux` bestand bevat informatie over het gebruik van `\label{...}` verklaringen en `\cite{...}` in het `.tex` bestand, dus dat zijn nuttige dingen om te controleren.

Laten we eens kijken naar deze eerste fout uit ons voorbeeldproject vol fouten.

![voorbeeldfout in een .aux-bestand door onjuiste \label-declaratie](/files/3c55ae2137fe9878d65c24f22f1bad52a1aa4b4a)

De fout `Missing \endcsname inserted.` bij een `\alpha` lijkt op het eerste gezicht nogal cryptisch en lijkt niet zo behulpzaam bij het debuggen. Maar uit de tekst (context) van de foutmelding zien we dat deze ergens optreedt vlak bij code die `sec:\alpha`bevat, wat is gekoppeld aan een label of teller genummerd 1.1. Daarom willen we misschien goed kijken naar eventuele `\label{...}` in ons `.tex` bestanden die het fragment bevatten `sec:\alpha`.

Je zou al snel terecht moeten komen bij regel 37 van ons voorbeeldproject:

```latex
\label{sec:\alpha}
```

Het argument dat aan `\label{...}` wordt doorgegeven, mag geen LaTeX-opdrachten of besturingssequenties bevatten, zoals `\alpha`. Daarom zal het corrigeren van het label naar iets als `\label{sec:alpha}`, evenals eventuele bijbehorende `\ref{...}`, zal deze fout verhelpen.

Hier is nog een fout gemeld vanuit het `.aux` bestand, in ons voorbeeldproject:

![voorbeeldfout in een .aux-bestand door spatie in \cite{...}-sleutel](/files/ec633ea3a30062332e733ee61d0186a1415620b7)

Deze keer klaagt de compiler over een witruimte in een `\citation`; waarbij de sleutel begint met “That”. Dus zouden we willen zoeken naar `\cite{That ...}` in ons `.tex` bestand... en we vinden het op regel 23:

```latex
... justo \cite{That mandatory talk} eget magna ...
```

Citatiesleutels mogen geen spaties bevatten, dus de spaties in deze `\cite{...}`, evenals de overeenkomstige BIBTeX-sleutel in het `.bib` bestand, moeten worden verwijderd.

### Fouten uit .toc-bestanden

De `.toc` bestand bevat vermeldingen voor `\tableofcontents`. Deze worden gevuld vanuit sectiekoppen in een LaTeX-document, bijvoorbeeld `\chapter{...}`, `\section{...}`, enz. Daarom, als je fouten ziet gemeld vanuit `.toc` bestanden, is het nuttig om je sectiekoppen te controleren die de tekst bevatten die in de foutmelding wordt vermeld.

![voorbeeldfout in een .toc-bestand door niet-geëscapete & in \section{...}](/files/3c9eccda552c015a4eebf007ba5bc9563fbda348)

Dit lijkt op een sectiekop die genummerd zou worden als “1”, en bevat de tekst `Introduction & Welcome`. Een snelle zoekactie in het `.tex` bestand brengt ons naar regel 12:

```latex
\section{Introduction & Welcome}
```

De `&` is hier niet geëscaped, dus we moeten het wijzigen in `\&` in het `.tex` bestand.

Nog een soortgelijk voorbeeld:

![voorbeeldfout in een .toc-bestand door een wiskundeopdracht niet in wiskundemodus in \section{...}-sleutel](/files/379c636085a479ad2e4a1fa454a1a8b8c3e826a3)

Evenzo zou onze ingeving zijn om te zoeken naar een sectiekop die genummerd zou worden als “1.1”, en waarschijnlijk bevat `Setting \alpha`. Onze ingeving blijkt juist te zijn, op regel 36 van de `.tex` bestand:

```latex
\subsection{Setting \alpha}
```

`\alpha` is een wiskundige opdracht maar we vergaten hem hier in wiskundemodus te zetten, dus we moeten dit corrigeren naar

```latex
\subsection{Setting $\alpha$}
```

of

```latex
\subsection{Setting \(\alpha\)}
```

Soms ontstaan de fouten in het `.toc` bestand door fouten in de code die wordt gebruikt om de vermeldingen in de inhoudsopgave op te maken:

![voorbeeldfout in een .toc-bestand door onjuiste code bij het opmaken van de inhoudsopgavevermelding](/files/8a2a93dcd03a6e490ed8c48a5ba035f9a7834e8c)

Hier brengt zoeken met `\itshae` ons naar een typfout op regel 5 van ons voorbeeld `.tex`: het zou `\itshape` moeten zijn. In dit geval kan de fout worden gelokaliseerd in de preambule van ons `.tex` bestand, dus kunnen we die meteen corrigeren. Maar als je een `.cls` of `.sty` bestand gebruikt dat door je instelling is verstrekt en je vermoedt dat de fouten te wijten zijn aan een verkeerde configuratie in de geleverde bestanden, neem dan contact op met de auteur of beheerder van de sjabloon of het pakket zodat zij de sjabloon kunnen bijwerken.

### Fouten uit .lof- en .lot-bestanden

De `.lof` bestand bevat vermeldingen voor `\listoffigures`, en worden gevuld door `\caption{...}` van `figure` omgevingen gebruiken.

Evenzo gebruikt het `.lot` bestand `\caption{...}` van `table` omgevingen, om vermeldingen voor `\listoftables`.

Daarom, als er LaTeX-fouten uit `.lof` of `.lot` bestanden zijn, moet je de `\caption{...}` die de relevante tekstfragmenten bevat, controleren.

Op basis van de foutmelding hier zoeken we naar `Effects of \alpha and var_coeff` in ons `\caption{...}`s, vooral voor `figure`s:

![voorbeeldfout in een .lof-bestand door wiskundecommando niet in wiskundemodus in figuur \caption{...}-sleutel](/files/032467657bc8accb89b1c2ea3b3045618b2b1de2)

en komen uit bij regel 19 in ons `.tex` bestand:

```latex
\caption{Effects of \alpha and var_coeff}
```

De `\alpha` moet in wiskundemodus worden geplaatst; en als `var_coeff` bedoeld is als variabelenaam, moet de underscore worden geëscaped. Gebruik niet `\verb|var_coeff|` omdat dit ook in `\caption{...}`tamelijk rampzalig kan zijn!

```latex
\caption{Effects of $\alpha$ and \texttt{var\_coeff}}
```

Evenzo zouden we bij het bekijken van deze fout zoeken naar `enige voorbeeldgegevens met n^i` in `table` `\caption{...}`, met het vermoeden dat we vergeten zijn om de `n^i` ook in wiskundemodus te zetten.

![voorbeeldfout in een .lot-bestand door superscript niet in wiskundemodus in tabel \caption{...}-sleutel](/files/e8c06315d8f1273fde10043559a3ff40a6dcc873)

En zo corrigeren we regel 31

```latex
\caption{Some sample data with n^i}
```

om

```latex
\caption{Some sample data with $n^i$}
```

### Fouten uit .bbl-bestanden

De `.bbl` bestand bevat vermeldingen voor de referentielijst (bibliografie) en wordt door BIBTeX gegenereerd na verwerking van het `.bib` bestand, met gebruik van opmaakinformatie uit het `.bst` bestand. Fouten gemeld uit `.bbl` komen meestal voort uit het `.bib` bestand.

Hier is een veelvoorkomende fout die we vaak zien in Overleaf-ondersteuning:

![voorbeeldfout in een .bbl-bestand door niet-geëscapete & in .bib-bestand](/files/bd06b55d054c1e46f109be609cc735d77b008a1b)

Zoeken naar `This & that` in het `.bib` bestand van het voorbeeldproject brengt ons op regel 13, waar we beseffen dat de `&` moet worden geëscaped als `\&` of vervangen door het woord `en`.

```bibtex
    title   = {This & That},
```

Auteurs komen vaak fouten tegen die verband houden met Unicode-tekens in `.bbl` (en dus `.bib`) bestanden—vooral als de informatiebronnen ergens anders vandaan zijn gekopieerd en geplakt:

![voorbeeldfout in een .bbl-bestand door niet-ondersteund Unicode-teken in .bib-bestand](/files/f47c0624f4b4ae955d34e6478b46a66180998593)

Het kopiëren en plakken van het ♣-teken uit de foutmelding en ernaar zoeken binnen het `.bib` bestand brengt je naar regel 3:

```bibtex
    title   = {Research ♣ Development},
```

Sommige Unicode-tekens worden niet ondersteund door de `latex` en `pdflatex` compilers. Om de fout te vermijden, kun je proberen [de compiler van je project te wijzigen](/latex/nl/kennisbank/026-changing-compiler.md) om `XeLaTeX` of `LuaLaTeX`. Maar zelfs dan moet je ervoor zorgen dat je project compatibel is met die compilers, en dat je een lettertype hebt gebruikt dat een glyph bevat om ♣ weer te geven, zodat het correct wordt weergegeven in de uitvoer-PDF. Daarom is het beter om de relevante LaTeX-opdrachten te gebruiken:

```bibtex
    title   = {Research $\clubsuit$ Development},
```

Soms is het karakter echter veel moeilijker te zien:

![voorbeeldfout in een .bbl-bestand door niet-ondersteund, niet-afdrukbaar Unicode-teken in .bib-bestand](/files/a36f36f050ef84b8ae7bad03d4b9788ffa7b408b)

Hier is U+3000 een [Unicode-teken `IDEOGRAFISCHE SPATIE`](https://www.fileformat.info/info/unicode/char/3000/index.htm), en inderdaad is het dus een witruimte. Het kan lastig zijn om dit exacte teken uit de foutmelding te kopiëren zodat je het kunt zoeken in het `.bib` bestand. Dus moeten we het op een andere manier proberen te lokaliseren, met behulp van een `\DeclareUnicodeCharacter` om `U+3000` te vervangen door iets zichtbaarders! Voeg de volgende regels toe in de preambule van je project, vóór `\begin{document}`:

```latex
\usepackage{xcolor}
\DeclareUnicodeCharacter{3000}{\textcolor{red}{BAD!!}}
```

Door je project te compileren zal de fout vervolgens verdwijnen; maar je moet goed kijken in de output-PDF naar de BAD!!:

![uitvoer-PDF waarbij U+3000 wordt vervangen door rood BAD!!](/files/1a9d61437dc291c0ceca731a578cd8f6cf928e3a)

Dus nu weten we dat het verkeerde teken tussen `van` en `Wondrous`, voor het bibliografie-item van “An Author”. Het ziet er vrij onschuldig uit op regel 5 van het `.bib` bestand omdat het onzichtbaar is: maar als je die `...of Wondrous...` handmatig opnieuw typt met een normale spatiebalk, verdwijnt de fout na opnieuw compileren.

```bibtex
    journal = {Journal of　Wondrous Musings},
```

#### Een opmerking over biblatex

Als u de `biblatex` pakket, dan zouden vergelijkbare fouten in de `.bib` bestanden waarschijnlijk allemaal worden gemeld als afkomstig van de `\printbibliography` regel in je `.tex` bestand. Het debugproces is vergelijkbaar: gebruik de korte tekstfragmenten in de foutmeldingen om in je `.bib` bestand te zoeken naar de problematische regels en corrigeer ze.

### Fouten uit .bst-bestanden

`.bst` bestanden zijn bibliografiestijlen die BIBTeX gebruikt om de referentielijst te verwerken en op te maken. Als je fouten ziet uit `.bst` bestanden, kan dit komen door bugs in het `.bst` zelf, vooral als het een heel, heel oud stijlbestand is dat mogelijk niet langer compatibel is met recente LaTeX-pakketten. Maar het kan ook daadwerkelijk komen door fouten in het `.bib` bestand. De meest voorkomende fout in deze categorie ziet er zo uit:

![Bst-error-example-01.png](/files/08578ed6a5adebebb25298badbf0c12824fdcf3a)

Het item met BIBTeX-sleutel `Someone:etal:2008` heeft het `auteur` veld op regel 12 van het `.bib` bestand:

```bibtex
    author  = {Strange Someone, Night Stranger, and Random Person},
```

In een `.bib` bestand, [een lijst van meerdere namen](/latex/nl/referenties-en-citaten/01-bibliography-management-with-bibtex.md#multiple-authors) moet worden gescheiden door `en`en, niet door komma's noch `&`. Daarom moet dit `auteur` veld worden gecorrigeerd naar

```bibtex
    author  = {Strange Someone and Night Stranger and Random Person},
```

### Fouten uit .ttt- en .fff-bestanden

Deze bestandstypen worden alleen gegenereerd als je het [`endfloat` pakket](https://www.ctan.org/pkg/endfloat)laadt, dat wordt gebruikt om alle table- en figure-omgevingen te verplaatsen naar het einde van het document, volgens de vereisten van sommige academische tijdschriften tijdens het indienen van een artikel.

Om voorbeeldfouten uit deze gegenereerde bestanden te zien, maak je regel 3 ongedaan `\usepackage{endfloat}` van de `.tex` bestand in ons voorbeeldproject.

![Ttt-error-example-01.png](/files/0ef46b1aa87defcd89c319e2ddb5628f792e536a)

De `.ttt` bestand bevat inhoud van alle `table` omgevingen in het document, dus we zouden zoeken naar `dummy & data` in het `.tex` bestand, met aandacht voor tabellen. We zouden uitkomen bij regel 29 in het `.tex` bestand, waar we het probleem zien: we hebben drie kolommen, één meer dan de twee gedeclareerde. Dus misschien moet één extra kolom worden verwijderd; of we moeten `\\` na `dummy` invoegen om een nieuwe rij te beginnen; of misschien hadden we toch drie kolommen willen declareren `c | c | c` !

![Fff-error-example-01.png](/files/e6871bb2d7250ed2478c9cb034e31770876cf98d)

Evenzo gebruikt het `.fff` bestand bevat inhoud van alle `figure` omgevingen, en zoeken naar die typfout `\includegraphcs` zou ons brengen naar regel 18 van het `.tex` bestand, waar we het kunnen corrigeren naar `\includegraphics`.

## Verder lezen

* [Hoe compileert Overleaf mijn project?](/latex/nl/kennisbank/064-how-does-overleaf-compile-my-project.md)
* [Veelvoorkomende LaTeX-fouten](/latex/nl/latex-basis/05-errors.md)
* [TeX FAQ-lijst](https://texfaq.org/#errors)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/nl/kennisbank/066-how-to-find-and-fix-errors-reported-in-generated-files.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
