- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 5 mesi fa da .
-
Topic
-
Carissimi, in altri filoni di discussione si è ragionato spesso se si debba caricare prima inputenc con le sue opzioni o fontenc con le sue opzioni.Enrico mi ha convinto che le due cose sono irrilevanti eccetto nel caso in cui l’opzione di inputenc sia utf8.
Sono andato a leggere il codice e mi è sembrato appunto che Enrico avesse ragione. Poi mi sono stampato al documentazione del pacchetto inputenc.dtx e sono tornato dell’idea che sia indifferente quale dei due pacchetti sia caricato per primo, anche quando l’opzione sia utf8.
Per i curiosi la lettura di inputenc.pdf (la documentazione) non è particolarmente difficile, almeno la parte introduttiva, non la parte di commento del codice. Però per disporne bisogna (solitamente) copiare il file inputenc.dtx (che si trova nella cartella [tt]…/texmf-dist/source/latex/base/[/tt] (con TeX Live; con KiKTeX cambia solo la radice dell’albero, forse…) sul Desktop o in qualche cartella personale per la quale si abbia il permesso di leggere e scrivere. Poi bisogna aprire il file con il proprio editor che si usa abitualmente per gestire i file [tt].tex[/tt] (potrebbe essere necessario azionare in fase di apertura l’impostazione “Tutti i file”) e poi bisogna compilarlo con pdflatex. Il file compilato viene letto direttamente con il pdf viewer interno all’editor, o con Adobe Reader, o con qualunque altro programma di visualizzazione di file PDF.
Nell’introduzione si spiega quale sia la filosofia per attribuire un significato a caratteri che il motore di composizione trova nel file di entrata e ne spiega gli eventuali messaggi d’errore. Per i caratteri UNICODE, codificati utf8, la filosofia è la seguente: si definiscono gli indirizzi dei font codificati utf8 solo per quei caratteri effettivamente presenti nei font usati in uscita, non tutti i caratteri che la codifica utf8 consentirebbe di usare (più di due milioni). Questa affermazione è in linea con quanto ha affermato Enrico, che quindi ha un’ottima base per avere ragione. Però la descrizione della filosofia prosegue dicendo che queste definizioni si eseguono solo alla fine del preambolo (quando si esegue [tt]\begin{document}[/tt], in modo che si sappia quali codifiche per i font di uscita si useranno nel documento e sono state richieste con le opzioni al pacchetto fontenc o mediante altri pacchetti come textcomp caricati nel preambolo.
Quindi di nuovo è del tutto indifferente se si carica prima inputenc oppure fontenc, qualunque sia la codifica specificata a inputenc; infatti se anche si fosse specificata la codifica utf8, le definizioni che questa codifica comporta vengono differite alla fine del preambolo, quando sono stati caricati anche tutti i pacchetti per i font da usare.
Invece non è indifferente l’ordine con cui si caricano fontenc e babel; per alcune lingue, fra cui l’italiano, vengono eseguite delle definizioni inutili se babel non sa quali font verranno usati; quindi babel va sempre chiamato dopo fontenc.
Conclusione; siccome è indifferente, caricate inputenc e fontenc nell’ordine che preferite; se usate la codifica utf8 per inputenc, ricordatevi che potreste avere dei messaggi d’errore nel caso che non abbiate caricato (prima o dopo non ha importanza) il pacchetto textcomp che definisce con una sua codifica di uscita, un centinaio di caratteri che mancano nelle altre codifiche per i font usati nel documento. La documentazione di inputenc fa l’esempio del simbolo dell’euro: senza textcomp (o altro pacchetto che definisca diversamente il simbolo dell’euro da una polizza diversa) il simbolo € che è stato tranquillamente messo nel file sorgente, produrrà un errore, perché le definizioni utf8 differite fino allo sviluppo del comando [tt]\begin{document}[/tt] saranno state fatte solo per i glifi effettivamente presenti nei font di uscita; siccome la codifica T1 non contiene l’euro, ecco l’errore. La codifica LY1 lo contiene, ma solo i font Latin Modern, che io sappia, fra quelli distribuiti con una normale installazione del sistema TeX, possono essere usati con quella codifica di uscita. Onestamente non conosco, né ho mai sentito sul forum, nessun utente di pdfLaTeX che usi la codifica LY1.
Attenzione; il pacchetto inputenc con la codifica utf8 non fa un buon lavoro con gli alfabeti diversi da quello latino (così dice la documentazione); sicuramente con il greco monotonico funziona correttamente, ma con il greco politonico non è adatto; con il cirillico sembra che funzioni correttamente; non funziona affatto per le lingue orientali, per il quale la documentazione reindirizza alla codifica utf8x e alla sua documentazione; nella documentazione di inputenc non ho visto citato il pacchetto ucs, e non ho approfondito, ma sembra che sia necessario per usare il greco politonico (per usare il greco politonico io preferisco usare XeLaTeX).
- Devi essere connesso per rispondere a questo topic.