Babel e XeTeX – Chiarimenti

  • Creatore
    Topic
  • #111419
    Doc
    Partecipante
      Up
      0
      Down
      ::


      Carissimi, in seguito all’aggiornamento odierno di [tt]babel[/tt], mi son preso la briga di andare a controllare il changelog e il manuale.
      Ebbene, all’inizio di esso, ho letto quanto segue:

      Current development is focused on Unicode engines (XeTEX and LuaTEX). New features related to font selection, bidi writing and the like will be added
      incrementally, but you may use babel for many languages.

      Che vuol dire? Forse che stanno cercando di implementare il pacchetto in modo da accedere direttamente ai caratteri unicode come avviene con XeTeX? In tal caso, secondo voi, [tt]babel[/tt] potrà soppiantare [tt]polyglossia[/tt]?

      Scusate le domande, ma sono molto ignorante nel campo. Sono infatti un utente XeTeX e Polyglossia, poiché costretto a cambiare troppo frequentemente lingua/e nei miei documenti e XeTeX è per me più comodo.

      Grazie dei chiarimenti,
      Domenico

    Visualizzazione 8 filoni di risposte
    • Autore
      Risposte
      • #111420
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          No, Domenico, babel non può soppiantare polyglossia e José Besos lo sa benissimo. Quello che lui sta cercando di fare è di renderlo sempre più compatibile con i due programmi OpenType aware. Immagino per due motivi:
          1) già ora un file che sia compilabile con pdfLaTeX (che può usare solo babel) è compilabile anche con {Xe|Lua}LaTeX che sono in grado di usare anche i font codificati a 8 bit come quelli che gestisce pdfLaTeX.
          2) se babel diventasse più compatibile con la gestione dei font OpenType e con le scritture che usano direzioni destra-sinistra, orse qualche utente potrebbe decidere di usare babel invece di polyglossia, perché maggiormente abituato alla sua sintassi.

          Usando sia pdfLaTeX sia LuaLaTeX (che preferisco a XeLaTeX, anche se qualche volta mi da dei problemini) ti assicuro che babel e polyglossia, ognuno nel suo campo, fa un ottimo lavoro, ma polyglossia è decisamente più moderno e permette di cambiare le impostazioni di una stessa lingua in qualunque punto del documento; con XeLaTeX, per esempio, se decidi di scrivere unacitazione in greco moderno monotonico imposti \setotherlanguage[variant=mono]{greek} a metà documento, anche se nel preambolo avevi scritto \setotherlanguage[variant=ancient]{greek}; se poi dopo devi tornare al greco antico poi reimpostare il greco. Con babel questo è impossibile; nell’esempio spcifico se nel preambolo hai specificato \usepackage[…,greek=ancient,…]{babel} hai impostato sia la sillabazione antica/classica, sia le parole fisse in greco classico; tu puoi inserire una citazione scrivendo l’input in greco moderno monotonico, ma eventualmente questo viene diviso in sillabe secondo le regole antiche, non secondo le regole moderne; Non esiste con babel nessun modo per cambiare regole di sillabazione di una data lingua.

          Quindi resta affezionato a polyglossia e xelatex; se non ti importa scrivere documenti archiviabili secondo le norme ISO, con xelatex è difficile, mentre con lualatex è facile; con lualatex, per ora, si carica una sola sillabazione alla volta per ogni data lingua (io l’ho fatto sia per il latino sia per il greco), ma il coordinatore del gruppo di lavoro tex-hyphen non ne vuole sapere di modificare il file adatti a lualatex per gestire contemporaneamente tre o quattro varianti. La filosofia di lualatex di caricare la sillabazione di una lingua al momento della compilazione di un dato documento ha dei vantaggi, ma per certe lingue come il latino o il greco è una palla al piede, facilmente superabile con i file gloss-latin.ldf e gloss-greek.ldf se il coordinatore del gruppo tex-hyphen non fosse così testardo. Il coordinatore del gruppo, tanto per evitare equivoci, è Arthur Reutenhauer; José Besos ed io, rispettivamente per le lingue ispaniche, o per le lingue italiana, latina e (molto parzialmente) greca, siamo fra le sue “vittime”; tanto vittime che io per il latino ho gettato la spugna.

          Ciao
          Claudio

        • #111421
          Doc
          Partecipante
            Up
            0
            Down
            ::


            Grazie mille, Claudio! Sempre esauriente e prezioso!

            In effetti, nel frattempo ho fatto delle prove e constatato che un mio documento di prova può essere compilato sia con pdfLaTeX sia con XeLaTeX.

            In realtà, il mio problema è che, se mi capita di scrivere, ad esempio in un documento in italiano, una breve citazione in greco, anche solo poche lettere, con XeLaTeX non devo far altro che scrivere in greco, con pdfLaTeX, invece, devo impostare la lingua volta per volta. Giacché i cambi di lingua sono frequenti, la cosa è oltre modo pallosa e mi fa propendere per XeLaTeX.
            Insomma, non è solo problema di sillabazione, ma proprio di accesso al set di caratteri Unicode. D’altra parte, in favore di pdfLaTeX ci sono il migliore supporto microtype e la maggiore, mi par di aver notato, velocità di compilazione.

            Di nuovo, grazie per i chiarimenti!
            Ciao,
            Domenico

          • #111422
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Capisco benissimo; solo che la sillabazione del greco scritto direttamente in greco mentre è in vigore l’italiano, viene all’occorrenza sillabato regole ignote, o forse non sillabato affatto col risultato che ti restano nella riga spazi interparola abnormi, o la riga ti sporge nel margine. Invece dichiara anche il greco, e per scrivere in greco usa l’ambiente [tt]\begin{greek}…\end{greek}[/tt] che se hai definito un font diverso da quello latino, ti seleziona anche quel font.

              Per esempio se a fontspec non imposti nessun font, lui usa di default il Latin Modern OpenType; se specifchi un font qualsisai, per esempio un Garamond, questo non contiene le paigne del greco, quindi devi comunque usare un font diverso; se lo imposti con [tt]\newfontfamily{\greekfont}{GFS Bodoni}[/tt], ogni volta che usi l’ambiente [tt]greek[/tt] ti scrive il greco in Bodoni.

              Queste funzionalità molto comode, babe non le ha; forse le avrà in futuro, ma per il momento non ci sono.

              Io ho scritto un pacchettino begingreek che permette di fare quelle cose, compreso l’ambiente [tt]greek[/tt] con pdflatex. Inoltre da tempo puoi usare dentro questo ambiente [tt]greek[/tt] la scrittura in greco; prova con pdflatex un EMC come questo:`\documentclass[article}
              \usepackage[utf8]{inputenc}
              \usepackage[T1]{fontenc}
              \usepackage[italian=main, greek.ancient]{babel}
              \usepackage[bodoni]{begingreek}
              \begin{document}
              Allora Archimede esclamò: «\begin{greek}Ἔυρεκα\end{greek}»
              \end{document}`Vedrai che otterrai qualcosa di meglio di quello che si fa abitualmente con pdfLaTeX e non tanto diverso da quanto si fa con XeLaTeX, col vantaggio di disporre della microgiustificazione completa.

              Non è un invito ad abbandonare XeLaTeX; è solo per renderti conto di quello che si può fare anche con i pacchetti per pdflatex.

            • #111423
              Doc
              Partecipante
                Up
                0
                Down
                ::


                Sì, ma questo lo so! Il problema è che nella mia edizione critica ho migliaia e migliaia di citazioni in cui in greco c’è solo una lettera: qualcosa tipo “Moer. α 25”, in cui non ho problemi di giustificazione. Del resto, se la giustificazione salta, metto il [tt]\textgreek[/tt] e via.
                Tuttavia, non posso permettermi il lusso di specificare il greco per ognuna della migliaia di singole lettere che uso e quindi i vantaggi di fontspec da te indicati vanno a farsi benedire.

                Appunto, io speravo che ci fossero prospettive per babel e, da quanto capisco, le cose si muovono.

              • #111424
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Be’, certo, per lettere singole non hai bisogno di niente; io stavo parlando di parole o di citazioni testuali.

                  Per pdflatex ci sarebbe anche il pacchetto alphabeta; permette di scrivere lettere greche senza cambiare nulla, nel senso che devi solo specificare la codifica LGR oltre alla codifica T1;\code]\documentclass{article}
                  \usepackage[LGR,T1]{fontenc}
                  \usepackage[utf8]{inputenc}
                  \usepackage[italian]{babel}
                  \usepackage{alphabeta}
                  \begin{document}

                  Moer. \alpha\ 25

                  \end{document|[/code]In atre parole quel pacchettino ti permette di usare in modo testo gli stessi comandi per le lettere greche che puoi usare per la matematica, senza tanti begin ..end, o altre impostazioni “balelliane”.

                  Ripeto, con pdflatex bisogn battere qualche tasto in più a causa delle sue limitazioni co i font codificati con non più di 8 bit, ma non è disastroso come uno potrebbe temere. Lo è certamente con le lingue retrograde, arabo, ebraico, e con le lingue a ideogrammi o che usano “alfabeti” formati da centinaia di caratteri, come il sanscrito, per esempio, ma tutto sommato anche pdflatex non è male. Un filo più veloce di xelatex, sensibilmente più veloce di lualatex, ma con i calcolatori di oggi non penso che la velocità sia un fattore essenziale, è sempre molto alta.

                • #111425
                  Doc
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Buono a sapersi!
                    Certo, la migrazione dei miei attuali documenti, con centinaia di pagine, è impensabile, ma vedremo cosa ci riserva il futuro. 🙂

                  • #111426
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::

                      Usando sia pdfLaTeX sia LuaLaTeX (che preferisco a XeLaTeX, anche se qualche volta mi da dei problemini)

                      POsso sapere, per curiosità, perché la preferenza per LuaLaTeX rispetto a XeLaTeX?

                      m

                    • #111427
                      Doc
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        LuaLaTeX è più potente se conosci il linguaggio di scripting LUA, ma, come ha detto Claudio, è più lento. Ho fatto delle prove in proposito e, a parità di pc e di documento, la differenza di velocità è significativa.
                        Se poi non conosci il LUA (come me), a che serve usarlo?

                        Questa è la mia risposta, ma di certo Claudio ed altri potranno dirti dell’altro.

                      • #111428
                        OldClaudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          LaLaTeX fa le stesse cose di XeLaTeX più tante altre che ancora non ho provato perché sono restio a imparare l’ennesimo linguaggio di programmazione, visto che sono più vicino agli 80 che ai 75…. Perché permette di usare microtype in modo completo; perché permette di comporre file PDF/A conformi meglio anche di pdfLaTeX; perch´la sua gestione dele lingue è sotto certi spetti migliore di quella di {pdf|Xe}LaTeX, anche se in questo campo ha ancora una certa rigidità, nel senso che per ogni lingua carica un solo file di pattern di sillabazione, quindi dà dei problemini con i latino che a seconda della varietà ne usa 4 diversi, e con il greco, che ne usa 3 diversi; sono problemini che sono riuscito a superare su miei file personali, ma non riesco a farli digerire al tex-hyphen working group perché siano disponibili per tutti; tuttavia questo approccio non ingombra la memoria con decine e decine di file di pattern pre-digeriti nel file di formato, come avviene per {pdf|Xe}LaTeX, ma anzi consente di porci le mani individualmente sui singoli documenti da comporre.

                          L’unico svantaggio di LuaLaTeX è che nel comporre un file che sia lavorabile con tutti e tre i programmi di composizione, è quello che ci mette più tempo; a stima direi che se i tempo impiegato da pdfLaTeX è di una unità per questo ipotetico file, il tempo diventa 1.5 unità per XeLaTeX e 2 unità per LuaLaTeX. Solo che oggi i calcolatori sono così veloci che questi tempi si percepiscono di più con file brevi, perché la lettura dei formati e di tutti i file accessori pesa di più con i programmi che fanno più cose; la compilazione vera e propria, da quando esce la prima pagina del documento a quando esce l’ultima pagina è sostanzialmente uguale; ma, ragazzi, stiamo palando di secondi, non di minuti o di ore, quando il file campione non contiene pacchetti che richiedono elaborazioni lunghissime, come pgfplots; infatti in questi casi il tempo è lunghissimo, anche minuti a causa di pgfplots, non a causa del motore di compilazione.

                          Non voglio fare reclame a nessuno dei tre programmi, ognuno ha i suoi vantaggi e svantaggi, come non tutti i documenti richiedono le peculiarità di LuaLaTeX; pdflatex va benissimo la maggior parte delle volte; xelatex va benissimo se si devono usare con comodità alfabeti diversi da quello latino e non è richiesta la conformità ISO per l’archiviabilità a lungo termine.

                          Direi che il gruppo che lavora su LuaTeX sta facendo un ottimo lavoro, ma non posso apprezzarlo fino in fondo perché sono restio ad imparare Lua; lo apprezzo, sia chiaro, ma non lo sfrutto a fondo; @robitex, invece, ha avuto al pazienza di imparare Lua e sta facendo faville con LuaLaTeX. Non parlo di @luigi-S., perché lui è nel luatex-team; lui lo conosce in ogni sua intima funzionalità.

                          Il discorso è diverso con il linguaggio LaTeX3 a cui sta lavorando anche Enrico G.; questo è il sottofondo di un numero sempre maggiore di pacchetti e lo usiamo tutti e con ognuno dei tre programmi, anche senza saperlo; ma ci sono dei pacchetti che sfruttano appieno la forza di questo linguaggio. Provate a leggere la documentazione del pacchetto xparse, e vi rendete conto di quali progressi stia facendo questo linguaggio; questo a livello do di linguaggio LaTeX, non a livello di interprete pdftex o xetex o luatex.

                      Visualizzazione 8 filoni di risposte
                      • Devi essere connesso per rispondere a questo topic.

                      Go to top