Guarda, ci ho messo più tempo a copiare e incollare il documento in un nuovo file che a scopre l’errore; infatti prima viene stampato l’errore, poi viene rimessa nella console la riga che contiene l’errore , ma viene stampata spezzata: il primo momcone arriva fino alla riga, il secondo moncone compiecia esattamente sotto, come se fosse semplicemente spostata in verticale e il primo carattere che compare in questo secondo spezzone non è ancora stato letto; dunque l’errore è alla fine della parola stalking.
Il messaggio d’errore dice che cè un carattere (che non si vede nella console) e che segue stalking. Perciò bisogna cancellare qualunque cosa ci sia prima dei due punti e riscriverlo. Cosa che ha risolto il problema a me, ma ovviamente quanto ti ho scritto è stato solo un pensiero, non mi è occorso il tempo che ho usato per scriverlo.
Per carità: quando si incontrano errori se si ha esperienza spesso si risolve subito il problema, se si manca di esperienza il problema rimane un mistero; ma l’esperienza si ottiene leggendo i messaggi d’errore e prendere familiarità con l’output; la riga spezzata, preceduta dal messaggio e seguita dal punto interrogativo, il prompt dei programmi di composizione che informa l’utente che il programma è in attesa di un input da parte di chi sta usando il programma.
Il messaggio che it ha scritto @matteo.I ” (unicode U+200B, Spazio a larghezza zero),” spiega anche il fatto tecnico; spiega che hai copiato e incollato il testo da un testo presumibilmnete in rete; e questo testo contien quello che con i programmi del sistema TeX si otterebbe con [tt]\hskip 0pt[/tt] cioè mettendo un grumetto di spazio di larghezza nulla; ma in TeX questo è un comando che riguarda TeX, non riguarda i font usati; invece la specifica utf8 al pacchetto inputenc permette di avere solo le codifiche dei vari font che hai usato, specificatamente la codifica T1 data a fontenc. Ora la codifica T1 contiene solo 256 caratteri e fra questi non ce ne è nessuno di larghezza nulla; 256 sono talmente pochi che non è il caso di sprecarne uno per una cosa banale come lo spazio nullo.
Invece i font OpenType possono contenere centinaia di migliaia di segni, quindi uno più o uno meno non cambiano gl’occupazione della memoria o l’esaurimento degli indirizzi per recuperarli dal file che li contiene; inoltre essi servono molto per i linguaggi come HTML e simili, che non sono “Page description language” e quindi bisogn sostituire con caratteri ciò che un vero page description language sa fare da solo, indipendentemente dai caratteri usati.
Scusa se mi sono dilungato, ma spiegando il perché si capisce anche come evitare in futuro situazioni apparentemente strane come questa che ti è capitata.
Claudio
PS: ricorda inoltre che quando specifichi più lingue a babel, l’ultima è quella di default; quindicaso mai nel tuo testo bisognerebbe scrivere `\usepackage[english,italian]{babel}`
Inoltre puoi evitare di usare [tt]\selectlanguage{italian}[/tt] oppure [tt]\selectlanguage{english}[/tt] ogni volta che cambi lingua. ci sono i comandi \foreignalnguage con o senza asterisco e c’è l’ambiente otherlanguage con o senza asterisco; Infine c’è la possibilità di definirsi un comando per scrivere qualcosa di più di una semplice parola, per esempio, nel tuo caso, se volessi evitare che termini tecnici in inglese risultino divisi in fiin di riga con le regole dell’italiano, potresti definirti il comando [tt]\inglese[/tt] cosi:`\newcommand{\inglese}[1]{\begin{otherlanguage*}#1\end{otherlanguage*}}` e poi usare questo comando per scrivere una parola, una frase, un periodo, più periodi un capoverso, più capoversi in inglese mettendoli semplicemente come argomento del tuo nuovo comando; perciò è vero che devi ogni volta specificare la lingua (puoi scegliere fra una ottantina di lingue) ma non devi tornare all’italiano, perché l’italiano torna ad essere la lingua con cui comporre quando il comando ha esaurito il suo lavoro.
Apri un terminale e scrivici dentro texdoc babel; dopo aver premuto il tasto
PPS: che io sappia non esiste nessun software che selezione la lingua con cui comporre in modo automatico; anche con MS Word o con LibreOffice Writer, devi specificare la lingua con cui comporre, per esempio selezionando il tratto scritto in inglese, e poi selezionando nell’apposito menù la lingua inglese; se non applichi la scelta della lingua ad un testo selezionato, la lingua specificata ti resta in vigore finché non ne specifichi un’altra. Il funzionamento è simile a quello di babel, ma quest’ultimo accetta molte più possibilità.
PPPS: stai attento agli spazi prima delle virgole, perché sono sbagliati, non ci vogliono. In italiano non ci vogliono spazi prima di nessun segno di interpunzione.