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

# Mangler $ satt inn

## Slik retter du denne feilen

Denne feilen kan utløses på ulike måter, og særlig for dem som er nye i LaTeX, er det ikke alltid *umiddelbart* åpenbart hvorfor den oppstod, eller, viktigere, hvordan man løser den. Vi begynner med en oversikt over de *generelle* forholdene som utløser denne feilen, og deretter lister vi noen av de vanligste årsakene og hvordan de kan rettes. De [siste delene av denne artikkelen](#background-to-the-missing-inserted-error) gir mer dyptgående stoff for lesere som ønsker å utvide forståelsen sin.

**Merk**: I denne artikkelen bruker vi begrepene «TeX», «LaTeX» og «TeX-motor», men hvis du er usikker på de ulike betydningene deres, kan du finne ut av det i Overleaf-artikkelen [Hva er i et navn: En guide til de mange variantene av TeX](/latex/no/dybdeartikler/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

### De viktigste årsakene til «Mangler $ satt inn»

Det er tre hovedgrunner til at (La)TeX genererer denne feilen:

1. Du har gjort en eksplisitt feil i matematikkmarkeringen din, for eksempel ved å skrive `$y=f(x)$$`—vi ser på andre eksempler senere i denne artikkelen.
2. TeX har oppdaget et tegn eller en kommando som er laget for å brukes **bare** når TeX setter matematikk, men dette tegnet eller denne kommandoen er brukt når TeX var **inneholder** i ferd med å sette matematikk.
   * **Teknisk sett**: TeX oppdaget et tegn eller en kommando som er laget for å fungere *inne i* [*matemodus*](#math-mode) men du har forsøkt å bruke det *utenfor* [*matemodus*](#math-mode). For å klargjøre problemet med «tegn» som er laget for å fungere i [matemodus](#math-mode), mener vi egentlig å bruke tegn som er tilordnet bestemte [kategori-koder](/latex/no/flere-emner/43-table-of-tex-category-codes.md) som er laget for å virke inne i matematisk materiale.
3. TeX har oppdaget en kommando som er laget for å brukes bare når TeX er **inneholder** i ferd med å sette matematikk, men denne kommandoen ble oppdaget (brukt) mens TeX **var** i ferd med å sette matematisk materiale.
   * **Teknisk sett**: TeX oppdaget en kommando som er laget for å fungere *utenfor* [*matemodus*](#math-mode) men du har forsøkt å bruke det *inne i* [*matemodus*](#math-mode).

### Eksempler på feil og løsningene deres

Følgende eksempler viser noen måter hvorpå `Mangler $ satt inn` feilen kan utløses, sammen med løsninger for å rette feilen.

#### Symbolkommandoer må brukes i matemodus

Mange matematikksymboler i LaTeX nås via kommandoer som bare må brukes når TeX setter matematikk; altså når TeX er i matemodus.

Eksempler på ofte brukte symbolkommandoer omfatter de for greske bokstaver: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ og så videre. Mange andre LaTeX-kommandoer, som de for modifikatorer: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ osv., er også laget for bruk i matemodus.

Å bruke modifikatorer, symbolkommandoer — og mange andre matematikkrelaterte kommandoer — utenfor setting av matematisk innhold vil generere en `Mangler $ satt inn` feil og tvinge kompilatoren til å gå inn i matemodus.

Følgende eksempel viser hva som skjer hvis du prøver å bruke kommandoen `\alpha` $$(\alpha)$$ utenfor matematikkmodus:

```latex
Å skrive \verb|\alpha| utenfor matemodus vil generere en feil: \alpha, og dermed vil denne teksten ikke bli satt riktig...
```

[Åpne dette ***feilutløsende*** eksemplet i 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)

Følgende bilde viser en del av utdataene produsert av LaTeX-koden over, og demonstrerer feilen som skyldes bruk av `\alpha` utenfor matemodus:

![\alpha utenfor matemodus](/files/dc862f7fc37ebd87b2bf6496e8e21baf961e589c)

**Slik retter du feil forårsaket av LaTeX-symbolkommandoer**

For å bruke modifikatorer eller greske matematikk-symboler i setninger må de alltid omsluttes av enkle dollartegn `$...$`, eller LaTeXs `\(...\)` syntaks, slik at TeX kan behandle dem i *inline matemodus*, som vist nedenfor.

```latex
Når du skriver den greske bokstaven alfa i en setning, må den skrives som \verb|$\alpha$| for å generere $\alpha$, eller som \verb|\(\alpha\)| som også genererer \(\alpha\).

Når du skriver en vektor x i en setning, må den skrives som \verb|$\vec{x}$| for å produsere $\vec{x}$, eller som \verb|\(\vec{x}\)| som også gir \(\vec{x}\).
```

[Åpne dette eksemplet i 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)

**En liste over LaTeX-symboler**

Overleaf-artikkelen [Liste over greske bokstaver og matematiske symboler](/latex/no/matematikk/11-list-of-greek-letters-and-math-symbols.md) gir en liste over symboler som bare brukes i matemodus, sammen med lenker til flere nyttige ressurser.

#### Bruke tegn som bare er for matemodus, utenfor matemodus

Tradisjonelt reserverer TeX/LaTeX enkelte vanlige tegn til bruk i matemodus:

* `^`: reservert for å lage hevet skrift
* `_`: reservert for å lage senket skrift
* `$`: reservert for å starte/stoppe matemodus

Å bruke dem direkte utenfor matemodus utløser feil.

* For å skrive `$` utenfor matemodus bruker du `\$`
* For å skrive `_` utenfor matemodus bruker du `\_`
* Flere måter å skrive `^` utenfor matemodus. En liste finnes på [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**Bruk av understrek utenfor matemodus**

En vanlig årsak til `Mangler $ satt inn` feilen er bruk av understreker (`_`), et tegn for matemodus, utenfor matemodus — for eksempel understreker i filnavn: et eksempel på dette vises nedenfor.

```latex
Bruke et matte-tegn, for eksempel understrek, i et filnavn: math_example.tex.
```

[Åpne dette ***feilgenererende*** kode på 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)

Fordi understrek-tegnet er tilordnet [kategori-kode 8](/latex/no/flere-emner/43-table-of-tex-category-codes.md) er det reservert for å lage senket skrift når TeX-motoren er i matemodus. Følgelig, når (La)TeX oppdager `_` i filnavnet `math_example.tex` gjør den det utenfor matemodus, noe som utløser en feil og fører til feilaktig setting av påfølgende tekst:

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

Den `_` tegn (teknisk sett kategori-koden 8) utløser en feil og får TeX til å gå inn i matemodus: bokstaven `e` som følger umiddelbart etter `_` blir behandlet som et tegn som skal settes som senket skrift. Behandlingen fortsetter deretter i matemodus, noe som gir kursiv tekst, og i tillegg finnes det ingen måte her for TeX å forlate matemodus på en elegant måte, noe som vil utløse flere feil.

For å unngå denne spesifikke feilen må du alltid bruke `_` i matemodus — dvs. inne i `$..$`, `$$...$$` eller, helst, inne i LaTeXs notasjon `\(...\)` og `\[...\]`.

Utenfor matemodus må du skrive `\_` for å bruke eller sette en understrek, som vist i den korrigerte versjonen av eksemplet:

```latex
For å bruke understrek-tegnet fra matemodus i et filnavn, skriv det slik: math\_example.tex.
```

[Åpne dette ***korrigert versjon*** i 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)

**Bruke understreker i URL-er**

Du kan også støte på denne feilen når du prøver å sette URL-er med understreker, f.eks. `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. I stedet for å escape hvert understrektegn, kan det være lurt å laste inn `url` eller `hyperref` pakken, og deretter bruke `\url` kommandoen slik:

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

[Åpne dette eksemplet i 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)

**Understreker i URL-er i .bib-filer**

Hvis slike URL-er finnes i bibliografien din `.bib` filen, slik at feil rapporteres fra `.bbl` filen, må du sørge for at du bruker `url` eller `doi` feltene til å registrere disse feltene i `.bib` fil:

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

og last inn `url` eller `hyperref` pakken i preamblen din, om nødvendig. De fleste bibliografistilfilene vil da kunne pakke disse verdiene automatisk inn i en `\url{...}` kommandoen.

#### Bruke kommandoer som ikke er tillatt i matemodus

En rekke innebygde TeX-kommandoer på lavt nivå (kalt *primitivene*) er ikke tillatt i matemodus, og bruk av dem i matemodus vil utløse `Mangler $ satt inn` feilen. Selv om de fleste brukere neppe vil bruke disse kommandoene i daglig LaTeX-kode, tar vi det med her fordi det er mulig at de kan være inneholdt i LaTeX-kommandoer (makroer) som brukes i matemodus.

Følgende eksempel prøver å bruke TeX-kommandoen `\vskip` inne i matematisk materiale. Dette er ikke tillatt og genererer en feil.

```latex
\documentclass{article}
\begin{document}
Jeg vil legge til litt mellomrom, men dette er ikke måten å gjøre det på...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[Åpne dette ***feilgenererende*** kode på 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)

Andre TeX-kommandoer (primitive) som ikke er tillatt når TeX er i matemodus, inkluderer `\par`, `\hrule`, `\unvbox`, `\unvcopy` og `\valign`.

#### Blanke linjer i matematikk

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

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

[Åpne dette ***feilgenererende*** kode på 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)

**Årsak**: Den tomme linjen mellom formlene blir konvertert til en `\par` kommando som ikke er tillatt i matemodus. Du kan også se dette ved å skrive

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

[Åpne dette ***feilgenererende*** kode på 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)

For å rette dette kan du enten slette de tomme linjene eller kommentere dem ut:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% Dette vil undertrykke den tomme linjen
z=x^3
\end{equation}
\end{document}
```

[Åpne dette ***korrigert versjon*** i 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)

#### Bruke $ inne i matematiske miljøer

Noen LaTeX-miljøer, for eksempel `align` og `equation` miljøene, krever ikke at matematikk omsluttes av `$` tegn, eller bruk av LaTeXs matematikksyntaks: `\(...\)` eller `\[...\]`. LaTeX-koden som implementerer disse miljøene tar seg av å gå inn og ut av matemodus.

Følgende eksempel viser bruk av `$` tegnet inne i et `amsmath` `align` miljø, noe som utløser en `Mangler $ satt inn` feil, blant mange andre....

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

[Åpne dette ***feilgenererende*** kode på 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)

Den riktige måten å skrive disse ligningene på er:

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

[Åpne dette ***korrigert versjon*** i 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)

## Bakgrunnen for feilen «Mangler $ satt inn»

Følgende seksjon er for lesere som ønsker å forstå bedre årsakene bak feilen `Mangler $ satt inn`. Det er ikke *nødvendig* lesning, men den kan hjelpe deg med å finne og rette feil.

### Det mangler ikke noen $-tegn, men jeg får likevel feilen

Under noen omstendigheter kan `Mangler $ satt inn` feilen være svært forvirrende fordi LaTeX-koden din faktisk kanskje ikke har noen problemer med *synlig manglende* `$` tegn. For eksempel vil LaTeX-fragmentet $$\verb|$$y=f(x)\par$$|$$ se ut til å være korrekt ved første øyekast:  $$\verb|$$|$$-parene er balanserte, men det vil utløse «`manglende $`»-feilen. Her skyldes det `\par` kommandoen som ikke er tillatt i matemodus:

```latex
\documentclass{article}
\begin{document}
Dette eksemplet genererer feilen \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[Åpne dette for å se en «Mangler $ satt inn»-feil](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)

LaTeX-koden ovenfor utløser faktisk en *kaskade* av feil, som vist nedenfor, så du bør åpenbart ikke bruke `\par` inne i matematikk!

```
! Manglende $ satt inn.
<innsatt tekst>
                $
l.12 $$y=f(x)\par
                 $$
Jeg har satt inn et begynn-matematikk-/slutt-matematikk-symbol, siden jeg tror
du glemte ett. Fortsett, med kryssede fingre.

! Visningsmatematikk bør ende med $$.
<to be read again>
                   \par
l.12 $$y=f(x)\par
                 $$
«$»-tegnet jeg nettopp så, skal visstnok matche et tidligere «$$».
Så jeg antar at du skrev «$$» begge gangene.

! Manglende $ satt inn.
<innsatt tekst>
                $
l.13 \end{document}

Jeg har satt inn et begynn-matematikk-/slutt-matematikk-symbol, siden jeg tror
du glemte ett. Fortsett, med kryssede fingre.

! Visningsmatematikk bør ende med $$.
<to be read again>
                   \par
l.13 \end{document}

«$»-tegnet jeg nettopp så, skal visstnok matche et tidligere «$$».
Så jeg antar at du skrev «$$» begge gangene.
```

Når `Mangler $ satt inn` feilen oppstår prøver TeX-motorprogramvaren å gjenopprette seg og «komme tilbake på sporet» slik at den kan fortsette behandlingen etter punktet der feilen oppstod. Seksjonen [Avansert: En forklaring av TeXs feilgjenopprettingsmekanisme](#advanced-an-explanation-of-texs-error-recovery-mechanism) vil hjelpe deg å forstå hvorfor denne kaskaden av feil oppstår på grunn av TeXs forsøk på å rette den opprinnelige feilen.

### Om moduser, og når

Internt opererer TeX-motorer ved hjelp av tre «sinnstilstander», kalt *moduser*, som avhenger av hvilken type materiale en TeX-motor er *for øyeblikket* i ferd med å sette. Modusen en TeX-motor er i på et hvilket som helst tidspunkt under settingen kalles dens *nåværende* modus, som endres gjennom hele prosessen med å sette innholdet i LaTeX-dokumentet ditt.

For hver av en TeX-motors moduser finnes det bestemte kommandoer og tegn (eller, mer korrekt, kategori-koder) som er «inkompatible» med TeXs gjeldende modus: de bør ikke brukes mens TeX er i den spesifikke modusen. Hvis du prøver å bruke disse upassende tegnene eller kommandoene, vil TeX gi en feil som `Mangler $ satt inn` for å fortelle deg at noe er galt.

#### Matemodus

Denne feilen `Mangler $ satt inn` er knyttet til TeXs *matemodus*—dvs. modusen en TeX-motor er i når du ber LaTeX om å sette litt matematikk.

Bare for fullstendighetens skyld nevner vi at det finnes *to* typer matemodus, som gjenspeiler opprettelsen av inline- eller visningsmatematikk:

* inline matemodus
* visningsmatemodus

TeX trenger disse to ulike matemodusene fordi den bruker ulike regler for avstand, symbolstørrelser osv. når den setter matematikk beregnet for inline eller visning.

#### Utløse TeXs matemodus

Det finnes flere måter å få en TeX-motor til å *gå inn i* og deretter *forlate* matemodus.

* Du kan bruke eksplisitt markering som for eksempel:
  * LaTeX-syntaks: `\(...\)` til *gå inn i* `\(` deretter *forlate* `\)` inline matemodus eller `\[...\]` til *gå inn i* `\[` og deretter forlate `\]` visningsmatemodus;
  * (historisk) TeX-syntaks: `$...$` for å gå inn (først `$`) og deretter forlate (andre `$`) inline matemodus eller `$$...$$` for å gå inn (først `$$` *par*) og deretter forlate (andre `$$` *par*) visningsmatemodus;
* eller et hvilket som helst av LaTeXs matematiske miljøer:
  * `\begin{align}...\end{align}` osv. Bak kulissene tar disse miljøene seg av å gå inn og ut av matemodus.

Den faktiske *tekst* av meldingen `Mangler $ satt inn` er *innebygd i* («hardkodet» i) TeX-motorprogramvaren, og det er derfor du fortsatt vil se `Mangler $` selv om du ikke bruker `$` tegn for å sette matematikk og bruker ren LaTeX-syntaks for å markere matematikken i dokumentet ditt. Dette kan være forvirrende for nye brukere av LaTeX, men det er lite som kan gjøres for å endre denne feilmeldingsteksten uten å endre kildekoden til TeX-motorer!

#### Makroer: teste for matemodus

Det er mulig å teste om TeX for øyeblikket er i matemodus ved å bruke den primitive kommandoen `\ifmmode`; på den måten kan du skrive makroer hvis oppførsel kan tilpasses for å unngå å generere modusrelaterte feil. Her er et helt grunnleggende eksempel for å demonstrere prinsippet, som skriver ut `Ja.` eller `Nei.` avhengig av om TeX er i matemodus på tidspunktet for «utførelsen» av makroen.

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

Blir makroen brukt i matemodus? $\mytest$

Blir makroen brukt i matemodus? $$\mytest$$

Blir makroen brukt i matemodus? \(\mytest\)

Blir makroen brukt i matemodus? \[\mytest\]

Blir makroen brukt i matemodus? \mytest
\end{document}
```

[Åpne dette eksemplet i 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)

Følgende grafikk viser utdataene produsert av eksemplet over:

![LaTeX-makro for å teste matemodus](/files/68a375eec1a7245d2f03dd48c168710c8f037ca2)

## Avansert: En forklaring av TeXs feilgjenopprettingsmekanisme

Feilmeldingen `Mangler $ satt inn` skrives ikke ut av Overleaf, LaTeX eller LaTeX-pakker; den stammer faktisk fra *inne i det kjørbare programmet* som er ansvarlig for å sette LaTeX-dokumentet ditt: det kjørbare programmet kalles en TeX *motor*—du kan tenke på det som å «styre» setningsprosessen.

I kildekoden til TeX-programvaren gjør opphavsmannen (Donald Knuth) denne observasjonen om koden som er ansvarlig for å generere `Mangler $ satt inn` feilen:

> Her er en liste over tilfeller der brukeren sannsynligvis har kommet inn i eller ut av matemodus ved en feil. TeX vil sette inn et dollartegn og skanne det gjeldende tokenet på nytt.

Kjernen i `Mangler $ satt inn` feilen er at TeX oppdager «noe» som ikke burde ha blitt brukt i matemodus, eller «noe» som uttrykkelig er laget for matematisk setting og brukes utenfor matemodus.

Oppgaven TeX står overfor er: Hvordan gjenoppretter jeg meg fra dette? TeX gjør nøyaktig det Knuth skriver: den setter inn et dollartegn og skanner det gjeldende tokenet på nytt — et [«token»](/latex/no/dybdeartikler/53-what-is-a-tex-token.md) er TeXs interne numeriske (heltalls-)verdi som representerer tegnet eller kommandoen den nettopp har lest inn. Men på grunn av den presise konteksten til feilen kan denne strategien være vellykket, eller ikke — som feilmeldingsteksten fortsetter med å si: «Fortsett, med kryssede fingre.»!

### Gjennomarbeidet eksempel

La oss utforske Knuths kommentarer ved å se nærmere på følgende eksempel: $$\verb|$y=f(x)$$\vskip3pt|$$. Hvis du åpner koden nedenfor, ser du at den utløser feilen `Mangler $ satt inn`.

```latex
Å skrive \verb|$y=f(x)$$\vskip3pt| gir...$y=f(x)$$\vskip3pt Start ny linje...
```

[Åpne dette eksemplet i 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)

For å gå gjennom hvorfor dette utløser en feil, la oss skrive indekser for å identifisere hver $$\verb|$|$$ i uttrykket for å få $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. TeX kan korrekt behandle den første delen $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ som behandles som et korrekt formatert stykke inline matematikk, og gir $$y=f(x)$$. Rett etter behandling av $$\verb|$|*{\mathtt2}$$ forlater TeX midlertidig inline matemodus — i vårt eksempel lager vi inline matematikk i et avsnitt, så den går kortvarig inn i såkalt *horisontalmodus*.

Det som skjer deretter, utløser feilen. TeX fortsetter å behandle $$\verb|$|\_{\mathtt3}$$ som får TeX til å gå inn i inline matemodus igjen. TeX leser nå det neste tokenet, som er $$\verb|\vskip|$$ kommandoen — den har ennå ikke lest $$\verb|3pt|$$. På dette tidspunktet ser TeX $$\verb|\vskip|$$ men den er i inline matemodus: $$\verb|\vskip|$$ er ikke tillatt der, så den utløser TeXs feilhåndteringsprosess som beskrevet av Knuth:

> TeX vil sette inn et dollartegn og skanne det gjeldende tokenet på nytt.

Her er det gjeldende tokenet $$\verb|\vskip|$$ kommandoen, så det TeX gjør er å plassere et *nytt* `$` inn i inndataene sine; la oss kalle det $$\verb|$|*{\mathtt4}$$. På dette tidspunktet er TeX fortsatt i inline matemodus, men nå går den tilbake for å lese ekvivalenten av $$\verb|$|*{\mathtt4}\verb|\vskip|$$ som leses i inline matemodus.  $$\verb|$|\_{\mathtt4}$$, satt inn av TeX selv, nå *lukker* den gjeldende inline matemodusen, og TeX fortsetter med å lese $$\verb|\vskip|$$ kommandoen *utenfor* inline matemodus — her er TeX i et avsnitt, så $$\verb|\vskip3pt|$$ fører til at det gjeldende avsnittet avsluttes og $$\verb|3pt|$$ at det settes inn et mellomrom etter det.


---

# 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/no/latex-feil/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.
