Forse hai ragione, ma a me sembra che il meccanismo sia diverso; se un pacchetto (non solo per la scelta dei font, ma anche per la scelta della lingua) chiama un pacchetto per i font o usa \DeclareFontEncoding dopo che è stato letto inputenc con l’opzione utf8, l’eventuale lettura avviene subito, non al momento di [tt]\atBeginDocument[/come quasi tutta la documentazione lascerebbe pensare, Infatti la ridefinizione di [tt]\DeclareFontEncoding[/tt] aggiunge l’eventuale nuovo encoding alla lista degli encoding già noti e lancia [tt]\cdp@list[/tt] che legge ill file dfu subito, non differito all’inizio del documento.
Come dicevo in un precedente messaggio, non è il caso di farne una questione di principio. Il pericolo che tu paventi potrebbe avverarsi anche se l’utente chiamasse i vari pacchetti parecchio prima di inputenc, perché i pacchetti chiamati prima non producono la lettura immediata del corrispondente file dfu, che viene letto solo durante l’esecuzione di inputenc. L’importante secondo me è avere presente nei dettagli ciò che avviene dietro le quinte per poter invocare i pacchetti che servono al momento giusto. Quando si conoscono quelle operazioni, che finora non mi ero mai preoccupato di conoscere nel dettaglio, si può fare tutto quel che si vuole perché si sa quello che si sta facendo. Poi per le raccomandazioni per un neofita, sono d’accordissimo di darle nella forma che tu raccomandi.
Forse la raccomandazione giusta sarebbe: “Il preambolo deve cominciare con l’impostazione della codifica dei font usati nel documento e quella del file di ingresso poi devono essere caricati tutti i pacchetti che in qualche modo potrebbero alterare la lista delle codifiche dei font, infine babel e alla fine di tutto il preambolo hyperref, se lo si vuole usare”. È tutta una questione di dipendenze, secondo me, tanto che è esperienza comune quella che certi errori spariscono se si altera l’ordine di caricamento dei file di estensione; l’ultimo che mi è capitato riguardava l’ordine di caricamento di wasysym e di marvosym (che tra l’altro gestiscono font, ma sono con codifica U e quindi nessuno ha da preoccuparsene perché a questa codifica non corrispondono né file def né file dfu).
Ciao a tutti
Claudio