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

# $ mancante inserito

## Come correggere questo errore

Questo errore può essere generato in modi diversi e, soprattutto per chi è alle prime armi con LaTeX, non è sempre *immediatamente* chiaro perché sia accaduto, o, cosa più importante, come risolverlo. Inizieremo con una panoramica delle *generali* condizioni che generano questo errore, poi elencheremo alcune delle cause più comuni e come correggerle. Le [parti finali di questo articolo](#background-to-the-missing-inserted-error) offrono materiale più approfondito per i lettori che desiderano ampliare la propria comprensione.

**Nota**: In questo articolo usiamo i termini “TeX”, “LaTeX” e “motore TeX”, ma se non sei sicuro dei loro diversi significati puoi scoprirlo nell’articolo di Overleaf [Cosa c'è in un nome: una guida alle molte varianti di TeX](/latex/it/articoli-approfonditi/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

### Le principali cause di Missing $ inserted

Ci sono tre motivi principali per cui (La)TeX genera questo errore:

1. Hai commesso un errore esplicito nel markup matematico, ad esempio scrivendo `$y=f(x)$$`—vedremo altri esempi più avanti in questo articolo.
2. TeX ha rilevato un carattere o un comando progettato per essere usato **solo** quando TeX sta impaginando formule matematiche, ma quel carattere o comando è stato usato quando TeX stava **non** impaginando formule matematiche.
   * **Tecnicamente parlando**: TeX ha rilevato un carattere o comando progettato per funzionare *all’interno* [*della modalità matematica*](#math-mode) ma hai cercato di usarlo *al di fuori* [*della modalità matematica*](#math-mode). Per chiarire la questione dei “caratteri” progettati per funzionare in [della modalità matematica](#math-mode), intendiamo in realtà l’uso di caratteri assegnati a determinati [codici di categoria](/latex/it/altri-argomenti/43-table-of-tex-category-codes.md) progettati per operare all’interno di materiale matematico.
3. TeX ha rilevato un comando progettato per essere usato solo quando TeX sta **non** impaginando formule matematiche, ma quel comando è stato rilevato (usato) mentre TeX **stava** impaginando materiale matematico.
   * **Tecnicamente parlando**: TeX ha rilevato un comando progettato per funzionare *al di fuori* [*della modalità matematica*](#math-mode) ma hai cercato di usarlo *all’interno* [*della modalità matematica*](#math-mode).

### Esempi di errori e relative soluzioni

I seguenti esempi mostrano alcuni modi in cui l’ `Manca un $ inserito` errore può essere generato, offrendo anche soluzioni per risolverlo.

#### I comandi simbolo devono essere usati in modalità matematica

Molti simboli matematici in LaTeX si ottengono tramite comandi che devono essere usati solo quando TeX sta impaginando formule; cioè quando TeX è in modalità matematica.

Esempi di comandi simbolo comunemente usati includono quelli per le lettere greche: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ e così via. Molti altri comandi LaTeX, come quelli per i modificatori: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ ecc., sono anch’essi progettati per l’uso in modalità matematica.

L’uso di modificatori, comandi simbolo — e di molti altri comandi legati alla matematica — al di fuori dell’impaginazione di contenuti matematici genererà un `Manca un $ inserito` errore e forzerà il compilatore a entrare in modalità matematica.

L’esempio seguente mostra cosa succede se provi a usare il comando `\alpha` $$(\alpha)$$ al di fuori della modalità matematica:

```latex
Scrivere \verb|\alpha| al di fuori della modalità matematica genererà un errore: \alpha e quindi questo testo non verrà impaginato correttamente...
```

[Apri questo ***che genera l’errore*** esempio 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)

L’immagine seguente mostra una parte dell’output prodotto dal codice LaTeX sopra, dimostrando l’errore causato dall’uso di `\alpha` al di fuori della modalità matematica:

![\alpha outside math mode](/files/adbe1f60cb02e32a209ae711f85205039169d67e)

**Correggere gli errori causati dai comandi simbolo di LaTeX**

Per usare i modificatori, o i simboli matematici greci, all’interno delle frasi devono sempre essere racchiusi tra singoli segni di dollaro `$...$`, oppure nella sintassi di LaTeX `\(...\)` , affinché TeX li elabori in *modalità matematica in linea*, come mostrato di seguito.

```latex
Quando si scrive la lettera greca alfa in una frase, deve essere scritta come \verb|$\alpha$| per generare $\alpha$, oppure come \verb|\(\alpha\)| che genera anch’essa \(\alpha\).

Quando si scrive un vettore x in una frase, deve essere scritto come \verb|$\vec{x}$| per produrre $\vec{x}$ oppure come \verb|\(\vec{x}\)| che produce anch’esso \(\vec{x}\).
```

[Apri questo esempio 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)

**Un elenco di simboli LaTeX**

L’articolo di Overleaf [Elenco delle lettere greche e dei simboli matematici](/latex/it/matematica/11-list-of-greek-letters-and-math-symbols.md) fornisce un elenco di simboli esclusivi della modalità matematica, insieme a collegamenti ad altre risorse utili.

#### Uso di caratteri utilizzabili solo in modalità matematica al di fuori della modalità matematica

Tradizionalmente, TeX/LaTeX riservano alcuni caratteri comuni per l’uso in modalità matematica:

* `^`: riservato alla creazione di esponenti
* `_`: riservato alla creazione di pedici
* `$`: riservato per avviare/terminare la modalità matematica

Usarli direttamente al di fuori della modalità matematica genera errori.

* Per digitare `$` al di fuori della modalità matematica usa `\$`
* Per digitare `_` al di fuori della modalità matematica usa `\_`
* Diversi modi per digitare `^` al di fuori della modalità matematica. Un elenco è fornito in [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**Uso degli underscore al di fuori della modalità matematica**

Una causa comune dell’ `Manca un $ inserito` errore è l’uso degli underscore (`_`), un carattere della modalità matematica, al di fuori della modalità matematica—come gli underscore presenti nei nomi dei file: un esempio è mostrato di seguito.

```latex
Uso di un carattere matematico, come un underscore, in un nome di file: math_example.tex.
```

[Apri questo ***che genera l'errore*** codice su 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)

Poiché al carattere underscore è assegnato [codice di categoria 8](/latex/it/altri-argomenti/43-table-of-tex-category-codes.md) è riservato alla creazione di pedici quando il motore TeX è in modalità matematica. Di conseguenza, quando (La)TeX rileva il `_` nel nome del file `math_example.tex` lo fa al di fuori della modalità matematica, il che genera un errore e provoca un’impaginazione errata del testo successivo:

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

Il `_` carattere (tecnicamente il suo codice di categoria 8) genera un errore e fa entrare TeX in modalità matematica: la lettera `e` che segue immediatamente `_` viene trattata come un carattere da impaginare come pedice. L’elaborazione quindi continua in modalità matematica, producendo il testo in corsivo e, inoltre, qui non c’è modo per TeX di uscire in modo corretto dalla modalità matematica, il che genererà ulteriori errori.

Per evitare questo errore specifico, devi sempre usare `_` in modalità matematica — cioè all’interno di `$..$`, `$$...$$` oppure, preferibilmente, all’interno della notazione di LaTeX `\(...\)` e `\[...\]`.

Al di fuori della modalità matematica devi scrivere `\_` per usare o impaginare un underscore, come mostrato nella versione corretta dell’esempio:

```latex
Per usare il carattere underscore della modalità matematica in un nome di file, scrivilo così: math\_example.tex.
```

[Apri questo ***versione corretta*** su 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)

**Uso degli underscore negli URL**

Potresti incontrare questo errore anche cercando di impaginare URL con underscore, ad esempio `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. Invece di fare l’escape di ogni carattere underscore, potresti voler caricare il `url` o `hyperref` pacchetto e poi usare il `\url` comando in questo modo:

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

[Apri questo esempio 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)

**Underscore negli URL dei file .bib**

Se tali URL si trovano nella tua bibliografia `.bib` file, causando errori segnalati dal `.bbl` file, assicurati allora di usare i `url` o `doi` campi per registrare questi valori nel `.bib` file personalizzato:

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

e carica il `url` o `hyperref` pacchetto nel preambolo, se necessario. La maggior parte dei file di stile bibliografico sarà quindi in grado di racchiudere automaticamente questi valori in un `\url{...}` comando.

#### Uso di comandi non permessi in modalità matematica

Alcuni comandi TeX integrati di basso livello (chiamati *primitivi*) non sono permessi in modalità matematica e il loro uso in modalità matematica genererà l’ `Manca un $ inserito` errore. Sebbene la maggior parte degli utenti difficilmente usi questi comandi nel codice LaTeX quotidiano, lo segnaliamo qui perché è possibile che siano contenuti in comandi LaTeX (macro) usati in modalità matematica.

L’esempio seguente cerca di usare il comando TeX `\vskip` all’interno di materiale matematico. Questo non è permesso e genera un errore.

```latex
\documentclass{article}
\begin{document}
Voglio aggiungere un po’ di spazio, ma questo non è il modo giusto per farlo...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[Apri questo ***che genera l'errore*** codice su 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)

Altri comandi TeX (primitivi) non permessi quando TeX è in modalità matematica includono `\par`, `\hrule`, `\unvbox`, `\unvcopy` e `\valign`.

#### Righe vuote in matematica

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

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

[Apri questo ***che genera l'errore*** codice su 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)

**Causa**: La riga vuota tra le formule viene convertita in un `\par` comando che non è consentito in modalità matematica. Puoi vederlo anche scrivendo

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

[Apri questo ***che genera l'errore*** codice su 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)

Per correggerlo, elimina le righe vuote oppure commentale:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% Questo sopprimerà la riga vuota
z=x^3
\end{equation}
\end{document}
```

[Apri questo ***versione corretta*** su 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)

#### Uso di $ all’interno degli ambienti matematici

Alcuni ambienti LaTeX, come gli `align` e `equation` ambienti, non richiedono che la matematica sia racchiusa in `$` segni, né l’uso della sintassi matematica di LaTeX: `\(...\)` o `\[...\]`. Il codice LaTeX che implementa questi ambienti si occupa di entrare e uscire dalla modalità matematica.

L’esempio seguente mostra l’uso del `$` segno all’interno di un `amsmath` `align` ambiente, il che genera un `Manca un $ inserito` errore, tra molti altri....

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

[Apri questo ***che genera l'errore*** codice su 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)

Il modo corretto di scrivere queste equazioni è:

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

[Apri questo ***versione corretta*** su 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)

## Contesto dell’errore Missing $ inserted

La sezione seguente è per i lettori che desiderano comprendere meglio le ragioni dell’errore `Manca un $ inserito`. Non è *essenziale* lettura obbligatoria, ma può aiutarti a individuare e correggere gli errori.

### Non mancano segni $ ma ricevo comunque l’errore

In alcune circostanze l’ `Manca un $ inserito` errore può essere molto confuso perché il tuo codice LaTeX potrebbe in realtà non avere alcun problema con *mancanze visibili di* `$` caratteri. Per esempio, il frammento LaTeX $$\verb|$$y=f(x)\par$$|$$ all’apparenza sembra corretto: le $$\verb|$$coppie |$$ sono bilanciate, ma genererà l’errore “`missing $`”. Qui, è dovuto al `\par` comando che non è consentito in modalità matematica:

```latex
\documentclass{article}
\begin{document}
Questo esempio genera l’errore \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[Apri per vedere un errore Missing $ inserted](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)

Il codice LaTeX sopra in realtà genera una *cascata* di errori, come mostrato qui sotto, quindi chiaramente non dovresti usare `\par` all’interno della matematica!

```
! Inserito $ mancante.
<testo inserito>
                $
l.12 $$y=f(x)\par
                 $$
Ho inserito un simbolo di inizio-fine matematica perché penso
che ne sia stato omesso uno. Procedi, incrociando le dita.

! La matematica visualizzata dovrebbe terminare con $$.
<da rileggere>
                   \par
l.12 $$y=f(x)\par
                 $$
Il `$' che ho appena visto dovrebbe corrispondere a un precedente `$$'.
Quindi presumerò che tu abbia digitato `$$' entrambe le volte.

! Inserito $ mancante.
<testo inserito>
                $
l.13 \end{document}

Ho inserito un simbolo di inizio-fine matematica perché penso
che ne sia stato omesso uno. Procedi, incrociando le dita.

! La matematica visualizzata dovrebbe terminare con $$.
<da rileggere>
                   \par
l.13 \end{document}

Il `$' che ho appena visto dovrebbe corrispondere a un precedente `$$'.
Quindi presumerò che tu abbia digitato `$$' entrambe le volte.
```

Quando il `Manca un $ inserito` l’errore si verifica il software del motore TeX sta cercando di riprendersi e di “rimettersi in carreggiata” in modo da poter continuare l’elaborazione dopo il punto in cui si è verificato l’errore. La sezione [Avanzato: una spiegazione del meccanismo di recupero dagli errori di TeX](#advanced-an-explanation-of-texs-error-recovery-mechanism) ti aiuterà a capire perché questa cascata di errori nasce dai tentativi di TeX di correggere l’errore iniziale.

### Delle modalità, e quando

Internamente, i motori TeX operano usando tre “stati mentali”, chiamati *modalità*, che dipendono dal tipo di materiale che un motore TeX sta *attualmente* impaginando. La modalità in cui si trova un motore TeX in qualsiasi momento durante l’impaginazione è chiamata sua *dimensione* modalità, che cambia nel corso del processo di impaginazione del contenuto del tuo documento LaTeX.

Per ciascuna delle modalità di un motore TeX ci sono alcuni comandi e caratteri (o, più correttamente, codici di categoria) che sono “incompatibili” con la modalità corrente di TeX: non dovrebbero essere usati mentre TeX è in quella specifica modalità. Se provi a usare quei caratteri o comandi non appropriati, TeX emetterà un errore come `Manca un $ inserito` per indicarti che qualcosa non va.

#### Modalità matematica

Questo errore `Manca un $ inserito` è collegato alla *della modalità matematica*—cioè la modalità in cui si trova un motore TeX quando chiedi a LaTeX di impaginare della matematica.

Per completezza noteremo che esistono *due* tipi di modalità matematica, che riflettono la creazione di matematica in linea o visualizzata:

* modalità matematica in linea
* modalità matematica visualizzata

TeX ha bisogno di queste due diverse modalità matematiche perché applica regole diverse per spaziatura, dimensioni dei simboli, ecc. quando impagina la matematica destinata alla forma in linea o visualizzata.

#### Attivare le modalità matematiche di TeX

Esistono diversi modi per far sì che un motore TeX *entri* e poi *esca dalla* modalità matematica.

* Puoi usare un markup esplicito come:
  * Sintassi LaTeX: `\(...\)` su *entri* `\(` poi *esca dalla* `\)` modalità matematica in linea oppure `\[...\]` su *entri* `\[` poi uscire dalla `\]` modalità matematica visualizzata;
  * sintassi TeX (storica): `$...$` per entrare (prima `$`) poi uscire (secondo `$`) modalità matematica in linea oppure `$$...$$` per entrare (prima `$$` *pair*) poi uscire (secondo `$$` *pair*) modalità matematica visualizzata;
* oppure uno qualsiasi degli ambienti matematici LaTeX:
  * `\begin{align}...\end{align}` ecc. Dietro le quinte questi ambienti si occupano di entrare e uscire dalla modalità matematica.

Il testo effettivo *testo* del messaggio `Manca un $ inserito` è *incorporati nel* è (“codificato” nel) software del motore TeX, motivo per cui vedrai ancora `Missing $` anche se non stai usando `$` caratteri per impaginare la matematica e usi esclusivamente la sintassi LaTeX per il markup della matematica nel tuo documento. Questo può confondere i nuovi utenti di LaTeX, ma c’è poco che si possa fare per cambiare il testo di questo messaggio di errore senza modificare il codice sorgente dei motori TeX!

#### Macro: verifica della modalità matematica

È possibile verificare se TeX si trova attualmente in modalità matematica usando il comando primitivo `\ifmmode`; in questo modo puoi scrivere macro il cui comportamento si adatta per evitare di generare errori legati alla modalità. Ecco un esempio molto basilare per dimostrare il principio, che stampa `Sì.` o `No.` a seconda che TeX sia o meno in modalità matematica nel momento in cui la macro viene “eseguita”.

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

La macro viene usata in modalità matematica? $\mytest$

La macro viene usata in modalità matematica? $$\mytest$$

La macro viene usata in modalità matematica? \(\mytest\)

La macro viene usata in modalità matematica? \[\mytest\]

La macro viene usata in modalità matematica? \mytest
\end{document}
```

[Apri questo esempio 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)

La seguente grafica mostra l’output prodotto dall’esempio sopra:

![Macro LaTeX per testare la modalità matematica](/files/f9352a1ead900cb2f1fc54c6bf3cf0bca08b0579)

## Avanzato: una spiegazione del meccanismo di recupero dagli errori di TeX

Il messaggio di errore `Manca un $ inserito` non è prodotto da Overleaf, LaTeX o dai pacchetti LaTeX; in realtà proviene da *all’interno del programma eseguibile* responsabile dell’impaginazione del tuo documento LaTeX: quel programma eseguibile si chiama un motore TeX *motore*—puoi pensarlo come qualcosa che “guida” il processo di impaginazione.

Nel codice sorgente del software TeX, il suo autore (Donald Knuth) fa questa osservazione sul codice responsabile della generazione dell’ `Manca un $ inserito` errore:

> Ecco un elenco di casi in cui l’utente è probabilmente entrato o uscito per errore dalla modalità matematica. TeX inserirà un segno di dollaro e riesaminerà il token corrente.

Alla base dell’ `Manca un $ inserito` errore c’è TeX che rileva “qualcosa” che non avrebbe dovuto essere usato all’interno della modalità matematica, oppure “qualcosa” espressamente progettato per l’impaginazione matematica usato al di fuori della modalità matematica.

Il compito che TeX deve affrontare è: come mi riprendo da questo? TeX fa esattamente ciò che scrive Knuth: inserisce un segno di dollaro e riesamina il token corrente — un [“token”](/latex/it/articoli-approfonditi/53-what-is-a-tex-token.md) è il valore numerico interno (intero) di TeX che rappresenta il carattere o comando appena letto. Tuttavia, a causa del contesto preciso dell’errore, questa strategia può, oppure no, avere successo—come continua a dire il testo dell’errore: “Procedi, incrociando le dita.”!

### Esempio svolto

Esploriamo i commenti di Knuth dando uno sguardo più da vicino al seguente esempio: $$\verb|$y=f(x)$$\vskip3pt|$$. Se apri il codice qui sotto vedrai che genera l’errore `Manca un $ inserito`.

```latex
Scrivere \verb|$y=f(x)$$\vskip3pt| produce...$y=f(x)$$\vskip3pt Inizia una nuova riga...
```

[Apri questo esempio 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)

Per rivedere perché questo genera un errore, scriviamo pedici per identificare ciascun $$\verb|$|$$ nell’espressione per ottenere $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. TeX è in grado di elaborare correttamente la prima parte $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ che viene trattata come un pezzo di matematica in linea formattato correttamente, producendo $$y=f(x)$$. Subito dopo aver elaborato $$\verb|$|*{\mathtt2}$$ TeX esce temporaneamente dalla modalità matematica in linea—nel nostro esempio stiamo creando matematica in linea in un paragrafo, quindi entra brevemente nella cosiddetta *modalità orizzontale*.

È ciò che accade dopo a generare l’errore. TeX continua a elaborare il $$\verb|$|\_{\mathtt3}$$ che induce TeX a rientrare nella modalità matematica in linea. TeX ora legge il token successivo, che è il $$\verb|\vskip|$$ comando—non ha ancora letto il $$\verb|3pt|$$. $$\verb|\vskip|$$ A questo punto, TeX vede $$\verb|\vskip|$$ non è consentito lì, quindi attiva il processo di gestione degli errori di TeX, come descritto da Knuth:

> TeX inserirà un segno di dollaro e riesaminerà il token corrente.

Qui, il token corrente è il $$\verb|\vskip|$$ comando, quindi ciò che fa TeX è inserire un *nuovo* `$` nel suo input, chiamiamolo $$\verb|$|*{\mathtt4}$$. $$\verb|$|*{\mathtt4}\verb|\vskip|$$ A questo punto, TeX è ancora in modalità matematica in linea, ma ora torna a leggere l’equivalente di $$\verb|$|\_{\mathtt4}$$, inserito da TeX stesso, ora *chiude* la modalità matematica in linea corrente e TeX continua a leggere il $$\verb|\vskip|$$ comando *al di fuori* modalità matematica in linea—qui, TeX è in un paragrafo quindi il $$\verb|\vskip3pt|$$ fa terminare il paragrafo corrente e $$\verb|3pt|$$ lo spazio viene inserito dopo di esso.


---

# 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/it/errori-latex/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.
