- Questo topic ha 0 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 11 anni, 7 mesi fa da .
-
Topic
-
Posso facilmente immaginare che non siano molti i frequentatori del forum che scrivono in arabo usando XeLaTeX, e quindi polyglossia.Benché io di arabo conosca solo forse tre parole, mi è capitato di vdver scrivere poche parole. Mi sono documentato e ho visto che dovendo comporre con XeLaTeX, oltre a polyglossia per gestire le altre lingue del documento dovevo usare il pacchetto ArabXeTeX, la cui documentazione è molo ricca di informazioni utili, compreso un metodo per introdurre il testo arabo usando una tastiera latina.
Ne consiglio la lettura, non foss’altro che per curiosità 🙂
Bene, prima che caricassi il pacchetto ArabXeTeX tutto filava liscio; avevo anche caricato (indirettamente) il pacchetto bidi, che gestisce la composizione bidirezionale nei testi multilingue che contengono le lingue europee mescolate alle lingue del medio oriente. Solo che a quel punto veniva fuori il messaggio d’errore che il comando \aemph era già definito; questo comando serve per evidenziare del testo scritto in arabo e che è definito in ArabXeTeX; chi altri poteva aver definito quel comando; Ho esaminato il codice della classe e il codice di tutti i file caricati prima di begin{document} e finalmente con mi sorpresa ho scoperto che quel comando veniva definito da polyglossia, che ne differiva la definizione al momento di eseguire \begin{document}, l’istruzione che mi segnalava la presenza della doppia definizione.
Bene; come dovuto ho informato il curatore di polyglossia, ma prima che appaia una versione corretta del pacchetto temo che passerà del tempo; comunico quindi ai pochi interessati che la correzione del conflitto è semplicissima; copiate il file polyglossia.sty nel vostro albero eprsonale (o locale se la vostra macchina è usata da più utenti) e modificate la riga 794 di quel file; originariamente questa riga contiene il testo eseguente:`\AtEndPreamble{\@ifpackageloaded{bidi}{\newcommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}}{}}`modificatela cambiando new con provide:`\AtEndPreamble{\@ifpackageloaded{bidi}{\providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}}{}}`Tutto qui, e il tuto funziona benissimo.
Se avete messo polyglossia.sty corretta nel vostro albero personale con MiKTeX, rinfrescate il filename database; se l’avete messa nell’albero personale con MacTeX o TeXLive, non occorre rinfrescare nulla; se con queste due distribuzioni avete messo il file corretto nell’albero locale, rinfrescate il filename databse.Se e quando polyglossia.sty verrà corretto dal suo curatore, potrete eliminare questo file personale.
Claudio
- Devi essere connesso per rispondere a questo topic.