Re: Template PhD-UNIVPM non funzionante

#66452
Up
0
Down
::


Anche se ormai Claudio ti avrà corretto il codice, ho cercato una spiegazione per il problema della lingua. E l’ho trovata! 🙂

La causa risiede nel fatto che ciascun pacchetto (quindi anche babel) analizza prima le opzioni della classe e poi quelle passate al pacchetto stesso. Il risultato è che, passando italian alla classe, babel legge per prima l’opzione italian. Successivamente, analizzando le opzioni passate a babel stesso, legge english e poi di nuovo italian. Ma siccome aveva già letto italian, la ignora, e di conseguenza l’ultima lingua specificata rimane english. Così succede esattamente l’opposto di quel che si vorrebbe. Una soluzione è usare specificare esplicitamente la lingua principale, ma questo va fatto attraverso \AtBeginDocument o simili (perché babel di suo lo fa tramite \AtBeginDocument e quindi bisogna “sovrascriverlo”):
`\RequirePackage[italian,english]{babel}

\ifthenelse{\boolean{univpm@english}}
{
\AtBeginDocument{\selectlanguage{english}}
}
{
\AtBeginDocument{\selectlanguage{italian}}
\RequirePackage{indentfirst}
}`
Nota che non serve mettere RequirePackage dentro l’ifthenelse (e non servono nemmeno quei %, ma vabbè è un dettaglio).

Fonti: qua e qua.

Ciao,
Antonio

Go to top