È l'errore che blocca più principianti : il compilatore sbagliato. LaTeX ne propone tre — pdfLaTeX, XeLaTeX, LuaLaTeX — e basta un menu a tendina per passare dall'uno all'altro. Vediamo quando usare ciascuno.
Quale scegliere?
- pdfLaTeX — la scelta predefinita, veloce, adatta alla maggioranza dei documenti. Cominci sempre da questo.
- XeLaTeX / LuaLaTeX — necessari non appena il documento usa
fontspec(dei font di sistema, file .otf/.ttf) o dell'unicode avanzato (arabo, cirillico…).
Compilare La maggior parte dei documenti funziona in pdfLaTeX. Compili questo così com'è (il compilatore è già impostato su pdfLaTeX).
Il caso classico : fontspec richiede XeLaTeX
Se un documento carica \usepackage{fontspec} e Lei lo compila in pdfLaTeX, si ferma di colpo su : « Fatal Package fontspec Error: The fontspec package requires either XeTeX or LuaTeX ». La soluzione non richiede alcuna modifica del codice : basta cambiare compilatore.
Correggere Questo documento carica
fontspec e fallisce in pdfLaTeX (guardi il registro). Nel menu a tendina del compilatore (in alto nell'editor), scelga XeLaTeX, poi ricompili : funziona, senza toccare il codice.Vedi la soluzione
% !TEX program = xelatex
\documentclass{article}
\usepackage{fontspec}
\begin{document}
Questo documento carica fontspec : richiede XeLaTeX o LuaLaTeX.
\end{document} Consiglio duraturo : aggiunga come primissima riga
% !TEX program = xelatex. L'editor selezionerà automaticamente il compilatore giusto all'apertura del file — non dovrà più pensarci.La ricompensa di XeLaTeX : i font di sistema
Una volta in XeLaTeX (o LuaLaTeX), può comporre con qualsiasi font installato, tramite \setmainfont{...}.
Compilare Questo esempio è già impostato su XeLaTeX. Lo compili : il testo è composto con il font di sistema Lato — impossibile in pdfLaTeX in questo modo.
Da ricordare :
fontspec o un font di sistema → XeLaTeX o LuaLaTeX. Altrimenti, pdfLaTeX va bene. Il menu del compilatore è sempre a portata di clic — e % !TEX program = ... rende la scelta permanente.Questo errore ricorre così spesso che gli abbiamo dedicato una pagina apposita : vecchi package & compilatore →