> 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/base-di-conoscenza/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

# Come trovare e correggere gli errori segnalati nei file generati

## Introduzione

A volte Overleaf segnalerà errori che derivano da file con nomi come `output.toc`, `output.bbl`, ecc., ma quei file *non esistono nemmeno nel tuo progetto*. Quindi, da dove vengono questi file *provengono* e, soprattutto, come fai a *individua* e *correggere* gli errori?

> ![Gen-toc-error.png](/files/c602ded020ac919f56fc9262696f35202d956f2a) «Ma io non **hanno** questo `output.toc` file nel mio progetto!»

Questi “file misteriosi” sono artefatti: file ausiliari generati durante il processo di compilazione LaTeX, ma possono anche attivare errori che di solito hanno origine da problemi di codice nei file sorgente del tuo progetto. Questo articolo di aiuto usa un [esempio reale pieno di errori](#playing-detective-locating-errors-in-generated-files) per mostrare come rintracciare tali errori fino al loro punto di origine all'interno del/i file sorgente del tuo progetto.

## File generati durante il processo di compilazione LaTeX

Oltre al file di output `.pdf` il processo di compilazione LaTeX genera diversi tipi di file che contengono informazioni su etichette, riferimenti incrociati, numeri di pagina ecc. Alcuni tipi di file ausiliari non sono creati direttamente dal compilatore LaTeX, ma da altri strumenti di elaborazione usati durante l'impaginazione: per esempio, elenchi di riferimenti e indici formattati. Questi file generati devono essere letti dal compilatore nelle esecuzioni successive, in modo che il file finale `.pdf` sia popolato con gli elenchi, le citazioni e i riferimenti incrociati corretti.

La necessità per LaTeX, e per gli strumenti di elaborazione associati, di scrivere e leggere file di dati ausiliari significa che possono essere necessari diversi passaggi di compilazione/elaborazione prima che l'intero insieme di dati dei file converga (si stabilizzi) per produrre il file finale impaginato (stabile) `.pdf` . Un tipico ciclo di impaginazione potrebbe essere:

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

In un'installazione locale di LaTeX potrebbe essere necessario eseguire tu stesso ogni passaggio intermedio, oppure potresti usare uno strumento di build come [make](https://www.gnu.org/software/make/manual/), [latexmk](https://ctan.org/pkg/latexmk) o [arara](https://ctan.org/pkg/arara), per automatizzare questa catena di processi. [Overleaf usa latexmk](/latex/it/base-di-conoscenza/064-how-does-overleaf-compile-my-project.md), e questo video mostra cosa succede ogni volta che fai clic sul pulsante “Ricompila” nel tuo progetto Overleaf.

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

Di solito, i file generati hanno lo stesso nome del `.tex` file in compilazione; per esempio, se stai compilando `**main**.tex`, i file generati si chiamerebbero `**main**.aux`, `**main**.toc`, `**main**.lof` ecc. Tuttavia, *su Overleaf* la compilazione `\jobname` è sempre impostata su `**output**`, quindi i [file generati](/latex/it/base-di-conoscenza/150-view-generated-files.md) dal tuo progetto Overleaf si chiamano sempre `**output**.aux`, `**output**.toc`, `**output**.lof` ecc. Questi file generati possono essere scaricati dal tuo progetto Overleaf, ma non possono essere visualizzati o modificati su Overleaf.

## Errori di compilazione segnalati dai file generati

Errori di codice nel progetto principale `.tex` file può essere propagato ai file generati. Per esempio, una `&` in `\section{Introduction & Background}` non escapata finirebbe nel file generato `.toc` . Quando il file generato `.toc` viene successivamente riletto dalla successiva esecuzione di `pdflatex` compilazione, viene quindi generato un messaggio di errore “proveniente dal file .toc”. Tuttavia, i log e la segnalazione degli errori di LaTeX attuali non stabiliscono alcuna connessione tra le righe del `.toc` file (e di altri file generati) e la loro posizione di origine nel `.tex` file sorgente: potrebbe non essere subito ovvio dove correggere l'errore originale.

Ecco un esempio di come vengono presentati gli errori in un altro editor LaTeX: anche se puoi fare clic sul messaggio di errore per aprire la riga corrispondente nel file generato `.toc` o `.aux` file, non esiste un percorso per andare dall'errore alla posizione di origine nel `.tex` file. E anche se correggi l'errore sostituendo `&` con `\&` nella `.toc` file, questo in realtà non risolve il problema: la prossima volta che compili il `.tex` file, il `.toc` file viene rigenerato e lo stesso errore viene riscritto nel `.toc` file.

![Texstudio-errors-generated-files.gif](/files/47846716544e36f4ace6fc0d4e40fe157b5d9dd6)

Quando un errore viene segnalato come proveniente dai file generati, il modo corretto per risolverlo è individuare il vero errore di origine nei file sorgente e correggerli. I messaggi di errore di solito includono informazioni contestuali, un po' di testo o codice intorno all'errore, quindi eseguire una ricerca testuale nei file sorgente aiuterà a localizzarli. Gli errori stessi sono spesso comuni: puoi cercare alcuni errori frequenti su [questa pagina di aiuto](/latex/it/concetti-di-base-di-latex/05-errors.md), oppure nella [lista delle FAQ di TeX](https://texfaq.org/#errors).

## Per prima cosa, prova a cancellare i file generati

A volte, gli errori nei file generati sono residui di una compilazione precedente. Anche se avessi corretto gli errori nel tuo `.tex` file e ricompilato, i file generati, contenendo ancora gli errori, potrebbero essere letti comunque dal compilatore, producendo gli stessi errori di prima. Puoi provare a cancellare i file generati prima di ricompilare. Le istruzioni su come farlo su Overleaf si trovano [qui](/latex/it/base-di-conoscenza/028-clearing-the-cache.md).

Se continui a vedere gli stessi errori anche dopo aver eliminato tutti i file generati e aver ricompilato, è probabile che ci siano errori reali nei tuoi file sorgente.

## Fare il detective: individuare gli errori nei file generati

Le sezioni seguenti offrono alcuni suggerimenti su dove cercare tali errori. Useremo il seguente *appositamente pieno di errori* progetto di esempio per esercitarci nelle indagini. Pronto? Andiamo!

[Apri un *pieno di errori* progetto Overleaf!](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) Il progetto dovrebbe assomigliare a questo 😲:

![Immagine che mostra errori in un progetto LaTeX](/files/8c71e9a944cc3d39c64aa228379f2f4872201215)

### Errori dai file .aux

Il `.aux` file contiene informazioni sull'uso di `\label{...}` dichiarazioni e `\cite{...}` nella `.tex` file, quindi queste sono cose utili da controllare.

Diamo un'occhiata a questo primo errore del nostro progetto di esempio pieno di errori.

![esempio di errore in un file .aux dovuto a una dichiarazione \label errata](/files/c8680efe3cac71be71f74ebb07c71f72998c3aa2)

L'errore `Missing \endcsname inserted.` in un `\alpha` può sembrare piuttosto criptico a prima vista e non sembra molto utile per il nostro debugging. Ma vediamo dal testo (contesto) del messaggio di errore che si sta verificando da qualche parte vicino a del codice che ha `sec:\alpha`, che è associato a qualche etichetta o contatore numerato 1.1. Pertanto, potremmo voler esaminare con attenzione eventuali `\label{...}` nel nostro `.tex` file che contengono la stringa `sec:\alpha`.

Dovresti presto trovare la riga 37 del nostro progetto di esempio:

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

L'argomento passato a `\label{...}` non dovrebbe contenere alcun comando LaTeX o sequenza di controllo, come `\alpha`. Quindi, correggere l'etichetta in qualcosa come `\label{sec:alpha}`, così come eventuali `\ref{...}`, eliminerà questo errore.

Ecco un altro errore segnalato dal `.aux` file, nel nostro progetto di esempio:

![esempio di errore in un file .aux dovuto a spazio nella chiave \cite{...}](/files/887c3ee8662f3113ebf467bc8e5731e43eefae0c)

Questa volta il compilatore si lamenta di uno spazio bianco in una `\citation`; dove la chiave inizia con “That”. Quindi vorremmo cercare `\cite{That ...}` nel nostro `.tex` file... e lo troviamo alla riga 23:

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

Le chiavi delle citazioni non dovrebbero contenere spazi, quindi gli spazi in questa `\cite{...}`, così come la chiave BIBTeX corrispondente nel `.bib` file, dovrebbero essere rimossi.

### Errori dai file .toc

Il `.toc` file contiene voci per `\tableofcontents`gli indici `\chapter{...}`, `\section{...}`, ecc. Questi vengono popolati a partire dai titoli di sezione in un documento LaTeX, ad esempio `.toc` file, sarebbe utile controllare i titoli di sezione che contengono il testo riportato nel messaggio di errore.

![esempio di errore in un file .toc dovuto a & non escapato in \section{...}](/files/988df32fe790e6f68cdcb7b3977bb7f0ddd034b7)

Questo sembra un titolo di sezione che sarebbe numerato “1” e contiene il testo `Introduction & Welcome`. Una rapida ricerca nel `.tex` file ci porterà alla riga 12:

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

Il `&` qui non è escapato, quindi dobbiamo cambiarlo in `\&` nella `.tex` file.

Un altro esempio simile:

![esempio di errore in un file .toc dovuto a comando matematico non in modalità matematica nella chiave \section{...}](/files/4bbe3b58b4a72add7d33dea31179826e3975da1b)

Allo stesso modo, la nostra ipotesi sarebbe quella di cercare un titolo di sezione che sarebbe numerato “1.1” e probabilmente contenente `Setting \alpha`. La nostra ipotesi risulta corretta, alla riga 36 del `.tex` file personalizzato:

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

`\alpha` è un comando matematico ma qui abbiamo dimenticato di metterlo in modalità matematica, quindi dobbiamo correggere in

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

o

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

A volte gli errori sorgono nel `.toc` file a causa di errori nel codice usato per stilizzare le voci dell'indice:

![esempio di errore in un file .toc dovuto a codice improprio durante la formattazione della voce del ToC](/files/531aa84d47928587e83ef7ef683d6d687f5cc942)

Qui, cercando con `\itshae` arriveremo a un refuso alla riga 5 del nostro esempio `.tex`: dovrebbe essere `\itshape` invece. In questo caso l'errore può essere localizzato nel preambolo del nostro `.tex` file, quindi possiamo procedere e correggerlo. Ma se stai usando un `.cls` o `.sty` file fornito dalla tua istituzione e sospetti che gli errori siano dovuti a una cattiva configurazione nei file forniti, dovresti contattare l'autore o il manutentore del modello o del pacchetto così che possano aggiornare il modello.

### Errori dai file .lof e .lot

Il `.lof` file contiene voci per `\listoffigures`, e sono popolati dagli ambienti `\caption{...}` di `ambiente figure` .

Analogamente, il `.lot` file usa `\caption{...}` da `table` ambienti, per generare voci per `\listoftables`.

Pertanto, se ci sono errori LaTeX provenienti da `.lof` o `.lot` file, dovresti controllare i `\caption{...}` che contiene gli estratti di testo rilevanti.

In base al messaggio di errore qui, cercheremo `Effects of \alpha and var_coeff` nel nostro `\caption{...}`s, soprattutto per `ambiente figure`s:

![esempio di errore in un file .lof dovuto a comando matematico non in modalità matematica nella chiave figure \caption{...}](/files/3d6948f192e82389da0f8f481236db116da3dd40)

e arriviamo alla riga 19 nel nostro `.tex` file personalizzato:

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

Il `\alpha` dovrebbe essere inserito in modalità matematica; e se `var_coeff` dovrebbe essere un nome di variabile, il trattino basso deve essere escapato. Non usare `\verb|var_coeff|` perché anche questo può essere piuttosto disastroso in `\caption{...}`, pure!

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

Allo stesso modo, guardando questo errore, cercheremmo `alcuni dati di esempio con n^i` in `table` `\caption{...}`, con il sospetto di aver dimenticato di mettere anche `n^i` in modalità matematica.

![esempio di errore in un file .lot dovuto a apice non in modalità matematica nella chiave table \caption{...}](/files/427333a8e90cfaf33c9a52c2bbf0ebff0ddde509)

E così correggiamo la riga 31

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

su

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

### Errori dai file .bbl

Il `.bbl` file contiene le voci della lista di riferimenti (bibliografia) ed è generato da BIBTeX dopo l'elaborazione del `.bib` file, usando le informazioni di stile del `.bst` file. Gli errori segnalati dal `.bbl` di solito hanno origine dal `.bib` file.

Ecco un errore comune che vediamo spesso nell'assistenza Overleaf:

![esempio di errore in un file .bbl dovuto a & non escapato nel file .bib](/files/b2ab62bb8e314594a3808a0cb2e6dcfaaa875d05)

Cercando `This & that` nella `.bib` file del progetto di esempio ci porterà alla riga 13, dove ci rendiamo conto che il `&` dovrebbe essere escapato come `\&` o sostituito con la parola `e`.

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

Gli autori spesso incontrano errori legati a caratteri Unicode nei `.bbl` (e quindi nei `.bib`) file—soprattutto se le fonti delle informazioni sono state copiate e incollate da altrove:

![esempio di errore in un file .bbl dovuto a carattere Unicode non supportato nel file .bib](/files/375bded4ede02162389cf89d94da0347e57002e3)

Copiare e incollare il carattere ♣ dal messaggio di errore e cercarlo all'interno del `.bib` file ti porterà alla riga 3:

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

Alcuni caratteri Unicode non sono supportati dai `latex` e `pdflatex` compilatori. Per evitare l'errore, potresti provare a [cambiare il compilatore del tuo progetto](/latex/it/base-di-conoscenza/026-changing-compiler.md) su `XeLaTeX` o `LuaLaTeX`. Ma anche in quel caso dovresti assicurarti che il tuo progetto sia compatibile con quei compilatori, e di aver usato un font che contenga un glifo per rappresentare ♣ in modo che venga renderizzato correttamente nel PDF di output. Pertanto, sarebbe meglio usare i comandi LaTeX pertinenti:

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

A volte, però, il carattere potrebbe essere molto più difficile da individuare:

![esempio di errore in un file .bbl dovuto a carattere Unicode non supportato e non stampabile nel file .bib](/files/37762084a366fb745253ce68c6dc9bae42a77241)

Qui, U+3000 è un [Carattere Unicode `SPAZIO IDEOGRAFICO`](https://www.fileformat.info/info/unicode/char/3000/index.htm), e quindi è effettivamente uno spazio bianco. Potrebbe essere difficile copiare questo carattere esatto dal messaggio di errore in modo da poterlo cercare nel `.bib` file. Quindi dovremo provare un altro modo per individuarlo, usando un `\DeclareUnicodeCharacter` per sostituire `U+3000` con qualcosa di più visibile! Aggiungi le seguenti righe nel preambolo del tuo progetto, prima di `\begin{document}`:

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

Compilando il tuo progetto l'errore sparirà; ma dovresti guardare attentamente nel PDF di output per il BAD!!:

![PDF di output che sostituisce U+3000 con BAD!! rosso](/files/b232669408f5d64fda2cf2b58b60d4dbf019f4a8)

Quindi ora sappiamo che il carattere errato è tra `di` e `Wondrous`, per la voce bibliografica dell'“An Author”. Sembra abbastanza innocuo alla riga 5 del `.bib` file poiché è invisibile: ma se riscrivi quel `...of Wondrous...` manualmente con la normale barra spaziatrice, l'errore scomparirà dopo una ricompilazione.

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

#### Una nota su biblatex

Se stai usando l' `biblatex` pacchetto, allora errori simili nei `.bib` file probabilmente verrebbero tutti segnalati come provenienti dalla `\printbibliography` riga nel tuo `.tex` file. Il processo di debugging è simile: usa i brevi frammenti di testo nei messaggi di errore per cercare nel tuo `.bib` file per individuare le righe problematiche e correggerle.

### Errori dai file .bst

`.bst` file sono stili bibliografici che BIBTeX usa per elaborare e formattare la lista di riferimenti. Se vedi errori dai `.bst` file, ciò potrebbe essere dovuto a bug nel `.bst` stesso, soprattutto se si tratta di un file di stile molto, molto vecchio che potrebbe non essere più compatibile con i pacchetti LaTeX recenti. Ma potrebbe anche essere dovuto a errori nel `.bib` file, pure. L'errore più comune in questa categoria ha questo aspetto:

![Bst-error-example-01.png](/files/2df4dfc7f9a8f6bab1cd3ee1d80fe0abde205873)

La voce con chiave BIBTeX `Someone:etal:2008` ha il `autore` campo alla riga 12 del `.bib` file personalizzato:

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

In un `.bib` file, [un elenco di più nomi](/latex/it/riferimenti-e-citazioni/01-bibliography-management-with-bibtex.md#multiple-authors) dovrebbe essere separato da `e`, non da virgole né da `&`. Pertanto questo `autore` campo dovrebbe essere corretto in

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

### Errori dai file .ttt e .fff

Questi tipi di file vengono generati solo se carichi il [`endfloat` che fornisce i comandi e le funzionalità necessarie per includere file grafici esterni. L'esempio sopra carica il](https://www.ctan.org/pkg/endfloat), che viene usato per forzare lo spostamento di tutti gli ambienti table e figure alla fine del documento, secondo i requisiti di alcune riviste accademiche durante l'invio dell'articolo.

Per vedere errori di esempio da questi file generati, decommenta la riga 3 `\usepackage{endfloat}` della `.tex` file nel nostro progetto di esempio.

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

Il `.ttt` file contiene i contenuti di tutti gli ambienti `table` nel documento, quindi cercheremmo `dummy & data` nella `.tex` file, prestando attenzione alle tabelle. Arriveremmo alla riga 29 nel `.tex` file, dove vediamo il problema: abbiamo tre colonne, una in più rispetto alle due dichiarate. Quindi potrebbe essere necessario eliminare una colonna extra; oppure dovremmo inserire `\\` dopo `dummy` per iniziare una nuova riga; oppure forse intendevamo dichiarare tre colonne `c | c | c` dopo tutto!

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

Analogamente, il `.fff` file contiene il contenuto di tutti gli ambienti `ambiente figure` e cercare quel refuso `\includegraphcs` ci porterebbe alla riga 18 del `.tex` file, dove possiamo correggerlo in `\includegraphics`.

## Ulteriori letture

* [Come compila Overleaf il mio progetto?](/latex/it/base-di-conoscenza/064-how-does-overleaf-compile-my-project.md)
* [Errori LaTeX comuni](/latex/it/concetti-di-base-di-latex/05-errors.md)
* [lista delle FAQ di TeX](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/it/base-di-conoscenza/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.
