Re: Template PhD-UNIVPM non funzionante

#66454
Up
0
Down
::

egreg9″ post=66914

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

Una classe non deve mai prevedere supporto esplicito per una o più lingue; oppure deve vietare l’uso di lingue non previste.

Solo così si evitano i pasticci di questo tipo. Vedi anche pagina 7 di questo articolo su PracTeX

Sconsiglio vivamente di usare ifthen.

Ciao
Enrico

Enrico quindi come si dovrebbe fare per il frontespizio che può essere solo in italiano o in inglese? se non specificassi la possibilità di usare solo queste due lingue quale sarebbe l’alternativa?

Grazie
Marco

Go to top