> 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/latex-fouten/25-missing-inserted.md).

# Ontbrekende $ ingevoegd

## Hoe deze fout op te lossen

Deze fout kan op verschillende manieren worden veroorzaakt en, vooral voor mensen die nieuw zijn met LaTeX, is het niet altijd *meteen* duidelijk waarom het gebeurde, of, belangrijker nog, hoe je het oplost. We beginnen met een overzicht van de *algemene* omstandigheden die deze fout veroorzaken en sommen daarna enkele van de meest voorkomende oorzaken en oplossingen op. De [laatste delen van dit artikel](#background-to-the-missing-inserted-error) bieden meer diepgaande informatie voor lezers die hun begrip willen verdiepen.

**Opmerking**: In dit artikel gebruiken we de termen “TeX”, “LaTeX” en “TeX-engine”, maar als je niet zeker weet wat hun verschillende betekenissen zijn, kun je dat lezen in het Overleaf-artikel [Wat zit er in een naam: een gids voor de vele varianten van TeX](/latex/nl/diepgaande-artikelen/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

### De belangrijkste oorzaken van Missing $ inserted

Er zijn drie belangrijke redenen waarom (La)TeX deze fout genereert:

1. Je hebt een expliciete fout gemaakt in je wiskundenotatie, zoals het schrijven van `$y=f(x)$$`—later in dit artikel bekijken we andere voorbeelden.
2. TeX heeft een teken of commando gedetecteerd dat bedoeld is om te worden gebruikt **alleen** wanneer TeX wiskunde opmaakt, maar dat teken of commando is gebruikt terwijl TeX **niet** wiskunde aan het opmaken was.
   * **TeXnisch gesproken**: TeX heeft een teken of commando gedetecteerd dat bedoeld is om te werken *binnen* [*wiskundemodus*](#math-mode) maar je hebt geprobeerd het te gebruiken *buiten* [*wiskundemodus*](#math-mode). Om het probleem met “tekens” die bedoeld zijn om te werken in te verduidelijken, [wiskundemodus](#math-mode), bedoelen we eigenlijk tekens gebruiken waaraan bepaalde [categoriecodes](/latex/nl/meer-onderwerpen/43-table-of-tex-category-codes.md) zijn toegewezen om binnen wiskundige inhoud te werken.
3. TeX heeft een commando gedetecteerd dat alleen bedoeld is om te worden gebruikt wanneer TeX **niet** wiskunde opmaakt, maar dat commando werd gedetecteerd (gebruikt) terwijl TeX **was** wiskundige inhoud aan het opmaken was.
   * **TeXnisch gesproken**: TeX heeft een commando gedetecteerd dat bedoeld is om te werken *buiten* [*wiskundemodus*](#math-mode) maar je hebt geprobeerd het te gebruiken *binnen* [*wiskundemodus*](#math-mode).

### Voorbeelden van fouten en hun oplossingen

De volgende voorbeelden tonen enkele manieren waarop de `Ontbrekende $ ingevoegd` fout kan worden veroorzaakt, samen met oplossingen om de fout op te lossen.

#### Symboolcommando’s moeten in wiskundemodus worden gebruikt

Veel wiskundesymbolen in LaTeX worden benaderd met commando’s die alleen mogen worden gebruikt wanneer TeX wiskunde opmaakt; dat wil zeggen wanneer TeX in wiskundemodus staat.

Voorbeelden van veelgebruikte symboolcommando’s zijn die voor Griekse letters: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ enzovoort. Veel andere LaTeX-commando’s, zoals die voor modifiers: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ enz., zijn ook bedoeld voor gebruik in wiskundemodus.

Het gebruik van modifiers, symboolcommando’s — en veel andere aan wiskunde gerelateerde commando’s — buiten het opmaken van wiskundige inhoud zal een `Ontbrekende $ ingevoegd` fout genereren en de compiler dwingen om wiskundemodus in te gaan.

Het volgende voorbeeld laat zien wat er gebeurt als je probeert het commando te gebruiken `\alpha` $$(\alpha)$$ buiten wiskundemodus:

```latex
Het schrijven van \verb|\alpha| buiten wiskundemodus zal een fout genereren: \alpha en dus zal deze tekst niet correct worden opgemaakt...
```

[Open dit ***foutveroorzakende*** voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Incorrect+use+of+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%5Calpha%7C+outside+math+mode+will+generate+an+error%3A+%5Calpha+and+so+this+text+will+not+be+typeset+correctly...%0A%5Cend%7Bdocument%7D)

De volgende afbeelding toont een deel van de uitvoer die door de bovenstaande LaTeX-code wordt geproduceerd, en laat de fout zien die wordt veroorzaakt door het gebruik van `\alpha` buiten wiskundemodus:

![\alpha buiten wiskundemodus](/files/9bb6654e4611e2d12f63f31cc7df8be5d5a7672e)

**Fouten veroorzaakt door LaTeX-symboolcommando’s oplossen**

Om modifiers of Griekse wiskundesymbolen binnen zinnen te gebruiken, moeten ze altijd tussen enkele dollartekens worden geplaatst `$...$`, of LaTeX’ `\(...\)` syntaxis, zodat TeX ze kan verwerken in *inline wiskundemodus*, zoals hieronder wordt getoond.

```latex
Wanneer je de Griekse letter alpha in een zin schrijft, moet die worden geschreven als \verb|$\alpha$| om $\alpha$ te genereren, of als \verb|\(\alpha\)| wat ook \(\alpha\) genereert.

Wanneer je een vector x in een zin schrijft, moet die worden geschreven als \verb|$\vec{x}$| om $\vec{x}$ te produceren of als \verb|\(\vec{x}\)| wat ook \(\vec{x}\) oplevert.
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWhen+writing+the+Greek+letter+alpha+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Calpha%24%7C+to+generate+%24%5Calpha%24%2C++or+as+%5Cverb%7C%5C%28%5Calpha%5C%29%7C+which+also+generates+%5C%28%5Calpha%5C%29.%0A+%0AWhen+writing+a+vector+x+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Cvec%7Bx%7D%24%7C+to+produce+%24%5Cvec%7Bx%7D%24+or+as+%5Cverb%7C%5C%28%5Cvec%7Bx%7D%5C%29%7C+which+also+yields+%5C%28%5Cvec%7Bx%7D%5C%29.%0A%5Cend%7Bdocument%7D)

**Een lijst met LaTeX-symbolen**

Het Overleaf-artikel [Lijst van Griekse letters en wiskundige symbolen](/latex/nl/wiskunde/11-list-of-greek-letters-and-math-symbols.md) biedt een lijst met symbolen die uitsluitend in wiskundemodus beschikbaar zijn, samen met links naar verdere nuttige bronnen.

#### Tekens die alleen in wiskundemodus mogen worden gebruikt buiten wiskundemodus

Traditioneel reserveren TeX/LaTeX bepaalde veelgebruikte tekens voor gebruik in wiskundemodus:

* `^`: gereserveerd voor het maken van superscripts
* `_`: gereserveerd voor het maken van subscripts
* `$`: gereserveerd voor het starten/stoppen van wiskundemodus

Ze rechtstreeks buiten wiskundemodus gebruiken veroorzaakt fouten.

* Om `$` buiten wiskundemodus te typen, gebruik `\$`
* Om `_` buiten wiskundemodus te typen, gebruik `\_`
* Meerdere manieren om `^` buiten wiskundemodus te typen. Een lijst staat op [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**Underscores buiten wiskundemodus gebruiken**

Een veelvoorkomende oorzaak van de `Ontbrekende $ ingevoegd` fout is het gebruik van underscores (`_`), een teken uit wiskundemodus, buiten wiskundemodus — bijvoorbeeld underscores in bestandsnamen: hieronder staat een voorbeeld hiervan.

```latex
Een wiskundeteken, zoals een underscore, gebruiken in een bestandsnaam: math_example.tex.
```

[Open dit ***foutveroorzakend*** code in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AUsing+a+math+character%2C+such+as+an+underscore%2C+in+a+file+name%3A+math_example.tex.%0A%5Cend%7Bdocument%7D)

Omdat het underscore-teken de [categoriecode 8](/latex/nl/meer-onderwerpen/43-table-of-tex-category-codes.md) heeft, is het gereserveerd voor het maken van subscripts wanneer de TeX-engine in wiskundemodus staat. Daarom, wanneer (La)TeX het `_` in de bestandsnaam `math_example.tex` tegenkomt, gebeurt dat buiten wiskundemodus, wat een fout veroorzaakt en leidt tot onjuiste opmaak van daaropvolgende tekst:

$$\text{Using a math character, such as an underscore, in a file name: math}\_example.tex.$$

De `_` teken (technisch gezien zijn categoriecode 8) veroorzaakt een fout en zorgt ervoor dat TeX wiskundemodus ingaat: de letter `e` die direct volgt op de `_` wordt behandeld als een teken dat als subscript moet worden opgemaakt. De verwerking gaat vervolgens verder in wiskundemodus, wat leidt tot cursieve tekst en bovendien is er hier geen manier voor TeX om wiskundemodus netjes te verlaten, wat verdere fouten zal veroorzaken.

Om deze specifieke fout te voorkomen, moet je altijd `_` in wiskundemodus gebruiken — dat wil zeggen, binnen `$..$`, `$$...$$` of, bij voorkeur, binnen LaTeX’ notatie van `\(...\)` en `\[...\]`.

Buiten wiskundemodus moet je schrijven `\_` om een underscore te gebruiken of op te maken, zoals in de gecorrigeerde versie van het voorbeeld:

```latex
Om het underscore-teken uit wiskundemodus in een bestandsnaam te gebruiken, schrijf je het zo: math\_example.tex.
```

[Open dit ***gecorrigeerde versie*** op Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fixed+math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATo+use+the+math-mode+underscore+character+in+a+file+name%2C+write+it+like+this%3A+math%5C_example.tex.%0A%5Cend%7Bdocument%7D)

**Underscores in URL’s gebruiken**

Je kunt deze fout ook tegenkomen wanneer je URL’s met underscores probeert op te maken, bijvoorbeeld `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. In plaats van elk underscore-teken te escapen, kun je beter het `url` of `hyperref` pakket laden en vervolgens de `\url` commando als volgt:

```latex
\documentclass{article}
\usepackage{url}
\begin{document}
\url{https://www.overleaf.com/learn/latex/Subscripts_and_superscripts}
\end{document}
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=URL+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Burl%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Curl%7Bhttps%3A%2F%2Fwww.overleaf.com%2Flearn%2Flatex%2FSubscripts_and_superscripts%7D%0A%5Cend%7Bdocument%7D)

**Underscores in URL’s in .bib-bestanden**

Als zulke URL’s in je bibliografie `.bib` bestand staan, waardoor fouten worden gemeld vanuit het `.bbl` bestand, zorg er dan voor dat je de `url` of `doi` velden gebruikt om deze velden vast te leggen in de `.bib` bestand:

```
doi = {10.1007/978-94-015-6859-3_4},
url = {https://abc.com/latest_news_1.html}
```

en laad het `url` of `hyperref` pakket in je preamble, indien nodig. De meeste bibliografiestijlbestanden kunnen deze waarden dan automatisch tussen een `\url{...}` commando.

#### Commando’s gebruiken die niet zijn toegestaan in wiskundemodus

Een aantal laag-niveau ingebouwde TeX-commando’s (genoemd *primitieven*) zijn niet toegestaan in wiskundemodus en het gebruik ervan in wiskundemodus zal de `Ontbrekende $ ingevoegd` fout veroorzaken. Hoewel de meeste gebruikers deze commando’s waarschijnlijk niet in de dagelijkse LaTeX-code zullen gebruiken, noemen we dit hier omdat ze mogelijk kunnen voorkomen in LaTeX-commando’s (macro’s) die in wiskundemodus worden gebruikt.

Het volgende voorbeeld probeert het TeX-commando te gebruiken `\vskip` binnen wiskundige inhoud. Dit is niet toegestaan en genereert een fout.

```latex
\documentclass{article}
\begin{document}
Ik wil wat ruimte toevoegen, maar dit is niet de manier om dat te doen...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[Open dit ***foutveroorzakend*** code in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AI+want+to+add+some+space%2C+but+this+is+not+the+way+to+do+it...%0A%5C%5By%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%5C%5D%0A%24y%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%24%0A%5Cend%7Bdocument%7D)

Andere TeX-(primitieve) commando’s die niet zijn toegestaan wanneer TeX in wiskundemodus staat, zijn onder meer `\par`, `\hrule`, `\unvbox`, `\unvcopy` en `\valign`.

#### Blanco regels in wiskunde

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,

z=x^3
\end{equation}
\end{document}
```

[Open dit ***foutveroorzakend*** code in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

**Oorzaak**: De blanco regel tussen de formules wordt omgezet in een `\par` commando dat niet is toegestaan in wiskundemodus. Je kunt dit ook zien door te schrijven

```latex
\documentclass{article}
\begin{document}
\[y=x^3,\par z=x^3\]
\end{document}
```

[Open dit ***foutveroorzakend*** code in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5C%5By%3Dx%5E3%2C%5Cpar+z%3Dx%5E3%5C%5D%0A%5Cend%7Bdocument%7D)

Om dit op te lossen, verwijder je de blanco regels of zet je ze in commentaar:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% Dit onderdrukt de blanco regel
z=x^3
\end{equation}
\end{document}
```

[Open dit ***gecorrigeerde versie*** op Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%25+This+will+suppress+the+blank+line%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

#### Het gebruik van $ binnen wiskunde-omgevingen

Sommige LaTeX-omgevingen, zoals de `align` en `equation` omgevingen, vereisen niet dat wiskunde tussen `$` tekens wordt geplaatst, of dat LaTeX’ wiskundige syntaxis wordt gebruikt: `\(...\)` of `\[...\]`. De LaTeX-code die deze omgevingen implementeert zorgt zelf voor het ingaan en verlaten van wiskundemodus.

Het volgende voorbeeld laat het gebruik van het `$` teken binnen een `amsmath` `align` omgeving zien, wat een `Ontbrekende $ ingevoegd` fout veroorzaakt, naast vele andere....

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
$2x - 5y &=  8 \\
3x + 9y &=  -12$
\end{align*}
\end{document}
```

[Open dit ***foutveroorzakend*** code in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+4\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A%242x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%24%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

De juiste manier om deze vergelijkingen te schrijven is:

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
2x - 5y &=  8 \\
3x + 9y &=  -12
\end{align*}
\end{document}
```

[Open dit ***gecorrigeerde versie*** op Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+5\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A2x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

## Achtergrond bij de fout Missing $ inserted

Het volgende deel is voor lezers die de redenen achter de fout beter willen begrijpen `Ontbrekende $ ingevoegd`. Het is niet *essentieel* om te lezen, maar het kan helpen bij het vinden en oplossen van fouten.

### Er ontbreken geen $-tekens, maar ik krijg de fout nog steeds

In sommige gevallen kan de `Ontbrekende $ ingevoegd` fout erg verwarrend zijn omdat je LaTeX-code misschien helemaal geen problemen heeft met *zichtbaar ontbrekende* `$` tekens. Bijvoorbeeld het LaTeX-fragment $$\verb|$$y=f(x)\par$$|$$ er op het eerste gezicht correct uitziet: de $$\verb|$$|$$-paren zijn in evenwicht, maar het zal de fout “`ontbrekende $`” veroorzaken. Hier komt dat door het `\par` commando dat niet is toegestaan in wiskundemodus:

```latex
\documentclass{article}
\begin{document}
Dit voorbeeld genereert de fout \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[Open dit om een Missing $ inserted-fout te zien](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AThis+example+generates+the+error+%5Cverb%7CMissing+%24+inserted%7C%3A+%0A%24%24y%3Df%28x%29%5Cpar%24%24%0A%5Cend%7Bdocument%7D)

De bovenstaande LaTeX-code veroorzaakt eigenlijk een *kettingreactie* van fouten, zoals hieronder wordt getoond, dus je moet duidelijk niet `\par` binnen wiskunde gebruiken!

```
! Missing $ inserted.
<ingevoegde tekst>
                $
l.12 $$y=f(x)\par
                 $$
Ik heb een begin-wiskunde/eind-wiskunde-symbool ingevoegd omdat ik denk
dat je er een hebt weggelaten. Ga verder, met duimen gekruist.

! Weergavewiskunde moet eindigen met $$.
<opnieuw te lezen>
                   \par
l.12 $$y=f(x)\par
                 $$
De `$' die ik zojuist zag, zou overeenkomen met een eerdere `$$'.
Dus ga ik ervan uit dat je beide keren `$$' hebt getypt.

! Missing $ inserted.
<ingevoegde tekst>
                $
l.13 \end{document}

Ik heb een begin-wiskunde/eind-wiskunde-symbool ingevoegd omdat ik denk
dat je er een hebt weggelaten. Ga verder, met duimen gekruist.

! Weergavewiskunde moet eindigen met $$.
<opnieuw te lezen>
                   \par
l.13 \end{document}

De `$' die ik zojuist zag, zou overeenkomen met een eerdere `$$'.
Dus ga ik ervan uit dat je beide keren `$$' hebt getypt.
```

Wanneer het `Ontbrekende $ ingevoegd` dat wanneer de fout optreedt, de TeX-engine-software probeert te herstellen en “weer op koers te komen” zodat hij kan doorgaan met verwerken na het punt waar de fout optrad. Het gedeelte [Geavanceerd: een uitleg van TeX’ foutherstelsmechanisme](#advanced-an-explanation-of-texs-error-recovery-mechanism) zal je helpen begrijpen waarom deze kettingreactie van fouten ontstaat door TeX’ pogingen om de oorspronkelijke fout te herstellen.

### Over modi, en wanneer

Intern werken TeX-engines met drie ‘toestanden van geest’, genoemd *modi*, die afhangen van het type materiaal dat een TeX-engine *momenteel* opmaakt. De modus waarin een TeX-engine zich op enig moment tijdens het opmaken bevindt, heet zijn *huidige* modus, die gedurende het opmaken van de inhoud van je LaTeX-document verandert.

Voor elke modus van een TeX-engine zijn er bepaalde commando’s en tekens (of, nauwkeuriger gezegd, categoriecodes) die “incompatibel” zijn met de huidige modus van TeX: ze mogen niet worden gebruikt terwijl TeX in die specifieke modus staat. Als je probeert die ongeschikte tekens of commando’s te gebruiken, zal TeX een fout geven zoals `Ontbrekende $ ingevoegd` om je te laten weten dat er iets mis is.

#### Wiskundemodus

Deze fout `Ontbrekende $ ingevoegd` heeft te maken met TeX’ *wiskundemodus*—oftewel de modus waarin een TeX-engine zich bevindt wanneer je LaTeX vraagt om wiskunde op te maken.

Voor de volledigheid merken we op dat er *twee* soorten wiskundemodus zijn, die overeenkomen met het maken van inline- of weergavewiskunde:

* inline wiskundemodus
* weergavewiskundemodus

TeX heeft deze twee verschillende wiskundemodi nodig omdat het verschillende regels toepast voor spatiëring, symboolgroottes enz. bij het opmaken van wiskunde bedoeld voor inline of weergave.

#### TeX-wiskundemodi activeren

Er zijn meerdere manieren om een TeX-engine te laten *ingaan in* en vervolgens *verlaten* wiskundemodus.

* Je kunt expliciete opmaak gebruiken zoals:
  * LaTeX-syntaxis: `\(...\)` om *ingaan in* `\(` dan *verlaten* `\)` inline wiskundemodus of `\[...\]` om *ingaan in* `\[` dan verlaten `\]` weergavewiskundemodus;
  * (historische) TeX-syntaxis: `$...$` om in te gaan (eerste `$`) en vervolgens te verlaten (tweede `$`) inline wiskundemodus of `$$...$$` om in te gaan (eerste `$$` *paar*) en vervolgens te verlaten (tweede `$$` *paar*) weergavewiskundemodus;
* of een van de LaTeX-wiskundeomgevingen:
  * `\begin{align}...\end{align}` enz. Achter de schermen zorgen deze omgevingen ervoor dat wiskundemodus wordt betreden en verlaten.

De daadwerkelijke *tekst* van het bericht `Ontbrekende $ ingevoegd` is *die zijn ingebouwd in* (‘hardcoded’ in) de TeX-engine-software, daarom zie je nog steeds `Missing $` zelfs als je geen `$` tekens gebruikt om wiskunde op te maken en uitsluitend LaTeX-syntaxis gebruikt om de wiskunde in je document op te maken. Dit kan verwarrend zijn voor nieuwe gebruikers van LaTeX, maar er kan weinig worden gedaan om deze foutmeldingstekst te veranderen zonder de broncode van TeX-engines aan te passen!

#### Macro’s: testen op wiskundemodus

Het is mogelijk te testen of TeX momenteel in wiskundemodus staat met het primitieve commando `\ifmmode`; zo kun je macro’s schrijven waarvan het gedrag zich kan aanpassen om modusgerelateerde fouten te voorkomen. Hier is een heel eenvoudig voorbeeld om het principe te demonstreren, dat `Ja.` of `Nee.` afhankelijk van of TeX in wiskundemodus staat op het moment van het “uitvoeren” van de macro.

```latex
\documentclass{article}
\begin{document}
\newcommand{\mytest}{\ifmmode \mathrm{Yes}\else No\fi.}

Wordt de macro in wiskundemodus gebruikt? $\mytest$

Wordt de macro in wiskundemodus gebruikt? $$\mytest$$

Wordt de macro in wiskundemodus gebruikt? \(\mytest\)

Wordt de macro in wiskundemodus gebruikt? \[\mytest\]

Wordt de macro in wiskundemodus gebruikt? \mytest
\end{document}
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Testing+for+math+mode\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cmytest%7D%7B%5Cifmmode+%5Cmathrm%7BYes%7D%5Celse+No%5Cfi.%7D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%5Cmytest%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%24%5Cmytest%24%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%28%5Cmytest%5C%29+%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%5B%5Cmytest%5C%5D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5Cmytest%0A%5Cend%7Bdocument%7D)

De volgende afbeelding toont de uitvoer die door het bovenstaande voorbeeld wordt geproduceerd:

![LaTeX-macro om wiskundemodus te testen](/files/329ffc91e8557fe8a136c784a2e697d94eba6d73)

## Geavanceerd: een uitleg van TeX’ foutherstelsmechanisme

De foutmelding `Ontbrekende $ ingevoegd` wordt niet uitgevoerd door Overleaf, LaTeX of LaTeX-pakketten; het komt eigenlijk van *binnen het uitvoerbare programma* dat verantwoordelijk is voor het opmaken van je LaTeX-document: dat uitvoerbare programma wordt een TeX *engine*—je kunt het zien als het “aansturen” van het opmaakproces.

In de broncode van de TeX-software merkt de auteur ervan (Donald Knuth) dit op over de code die verantwoordelijk is voor het genereren van de `Ontbrekende $ ingevoegd` fout:

> Hier is een lijst met gevallen waarin de gebruiker waarschijnlijk per ongeluk in of uit wiskundemodus is geraakt. TeX zal een dollarteken invoegen en het huidige token opnieuw scannen.

De kern van de `Ontbrekende $ ingevoegd` fout is dat TeX “iets” detecteert dat niet in wiskundemodus had mogen worden gebruikt, of “iets” dat speciaal voor wiskunde-opmaak is bedoeld maar buiten wiskundemodus wordt gebruikt.

De taak voor TeX is: hoe herstel ik hiervan? TeX doet precies wat Knuth schrijft: het voegt een dollarteken in en scant het huidige token opnieuw—een [“token”](/latex/nl/diepgaande-artikelen/53-what-is-a-tex-token.md) is de interne numerieke (gehele) waarde van TeX die het teken of commando weergeeft dat het zojuist heeft gelezen. Door de precieze context van de fout kan deze strategie echter wel of niet succesvol zijn—zoals de fouttekst verderop zegt: “Proceed, with fingers crossed.”!

### Uitgewerkt voorbeeld

Laten we Knuths opmerkingen verkennen door het volgende voorbeeld van dichterbij te bekijken: $$\verb|$y=f(x)$$\vskip3pt|$$. Als je de code hieronder opent, zie je dat deze de fout veroorzaakt `Ontbrekende $ ingevoegd`.

```latex
Het schrijven van \verb|$y=f(x)$$\vskip3pt| produceert...$y=f(x)$$\vskip3pt Nieuwe regel starten...
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+missing+%24+inserted+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%24y%3Df%28x%29%24%24%5Cvskip3pt%7C+produces...%24y%3Df%28x%29%24%24%5Cvskip3pt+Start+new+line...%0A%5Cend%7Bdocument%7D)

Om te bekijken waarom dit een fout veroorzaakt, schrijven we subscripts om elk $$\verb|$|$$ in de expressie te identificeren om te krijgen $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. TeX kan het eerste deel correct verwerken $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ dat wordt behandeld als een correct opgemaakt stuk inline wiskunde, wat $$y=f(x)$$. $$\verb|$|*{\mathtt2}$$ Onmiddellijk na het verwerken van *horizontale modus*.

Wat er daarna gebeurt veroorzaakt de fout. TeX gaat verder met het verwerken van de $$\verb|$|\_{\mathtt3}$$ waardoor TeX opnieuw inline wiskundemodus ingaat. TeX leest nu het volgende token, namelijk het $$\verb|\vskip|$$ commando — het heeft de $$\verb|3pt|$$. $$\verb|\vskip|$$ maar het staat in inline wiskundemodus: $$\verb|\vskip|$$ is daar niet toegestaan, dus activeert het TeX’ foutafhandelingsproces zoals Knuth beschrijft:

> TeX zal een dollarteken invoegen en het huidige token opnieuw scannen.

Hier is het huidige token het $$\verb|\vskip|$$ commando, dus wat TeX doet is een *nieuwe* `$` in zijn invoer plaatsen, laten we het $$\verb|$|*{\mathtt4}$$. $$\verb|$|*{\mathtt4}\verb|\vskip|$$ Op dit punt staat TeX nog steeds in inline wiskundemodus, maar nu gaat het terug om het equivalent van $$\verb|$|\_{\mathtt4}$$, door TeX zelf ingevoegd, nu *sluit* de huidige inline wiskundemodus af en TeX gaat verder met het lezen van de $$\verb|\vskip|$$ commando *buiten* inline wiskundemodus — hier staat TeX in een alinea, dus de $$\verb|\vskip3pt|$$ zorgt ervoor dat de huidige alinea wordt beëindigd en $$\verb|3pt|$$ er een spatie achter wordt geplaatst.


---

# 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/latex-fouten/25-missing-inserted.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.
