xelatex lualatex e greco

  • Questo topic ha 14 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 8 anni fa da samiel.
  • Creatore
    Topic
  • #113733
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Ignaro di luatex, ho provato a compilare qualcosa. Ora il codice
      `\documentclass[a4paper,12pt]{article}
      \usepackage{fontspec}
      \defaultfontfeatures{Contextuals=NoAlternate}
      \setmainfont[Ligatures=TeX,Scale=1.1]{EB Garamond}
      \usepackage{polyglossia}
      \setmainlanguage[babelshorthands=true]{italian}
      \setotherlanguage[variant=polytonic]{greek}
      \newfontfamily\greekfont[Scale=MatchLowercase]{GFS Didot}
      \usepackage{microtype}

      \begin{document}
      Quel ramo del lago di Como, che volge a mezzogiorno

      \begin{greek}
      Κώνωψ πρὸς λέοντα ἐλθὼν εἶπεν·
      \end{greek}

      \end{document}`
      compila perfettamente con xetex, mentre con luatex mi dà l’errore
      `! Undefined control sequence.
      \greek@variant ->\l@polygreek

      l.7 \select@language {greek}`
      A quale differenza fra i due è dovuto l’errore?
      grazie
      m

    Visualizzazione 13 filoni di risposte
    • Autore
      Risposte
      • #113734
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Marco, è un problema noto che ho già segnalato più volte, ma da un lato chi si cura delle lingue e polyglossia non capisce che si tratta di una lingua con molte varianti, già prese in considerazione da xelatex, ma che lualatex non riconosce come varianti.
          Dall’altra pare che Apostolos Syropoulos sia stato “maltrattato” da quelli di luatex e quindi abbia rinunciato a usare quel programma e abbia deciso di disinteressarsene.
          Ma la soluzione c’è, ed è il pacchetto xgreek che con le opzioni monogreek oppure polygreek oppure ancientgreek compone e sillaba correttamente nelle tre varianti anche se si usa lualatex; l’ultimo aggiornamento è del2018/02/16, quindi se hai una installazione completa e aggiornata di TeXLive sei a posto. Di default usa monogreek.

          La documentazione si legge con texdoc xgreek e non a caso il titolo è “Greek Language Support for XƎLATEX and LuaLATEX”. Ovviamante il pacchetto è di Syropoulos con l’ausilio di Javier Bezos, il curatore di babel che gli ha implementato l’importazione delle tre impostazioni sillabiche con lualatex, cose che apparentemente Apostolos aveva chiesto ai curatori di LuaTeX dai quali avrebbe avuto una malarisposta. Si tratta di gossip di cui non devi tenere conto, ma purtroppo anch’io ho avuto brutte esperienze col boss del gruppo di lavoro texhyph, e anch’io ho smesso di collaborare sul piano della cesura.

        • #113735
          samiel
          Partecipante
            Up
            0
            Down
            ::


            ho visto la documentazione (certo, un po’ più chiara poteva essere
            visto che è in definitiva solo il codice commentato e le opzioni sono da cercare
            con la lente di ingrandimento a pag. 10).
            non ho ben capito se bisogna mettere
            `\usepackage[polytonic]{xgreek}`
            oppure
            `\setlanguage[polytonic]{xgreek}`
            di cui la documentazione parla a pag. 16.
            sarebbe inoltre interessante capire che differenze comporta polygreek rispetto a ancientgreek
            mille grazie
            m(auro)

          • #113736
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Non ho mai usato xgreek (una lacuna che non dovrei avere, anche perché l’ultima parte di quel file deriva direttamente da babel-greek che abbiamo creato insieme Apostolos ed io all’inizio degli anni ’90); ho letto il codice molto svagatamente, e mai dopo l’aggiornamento del febbraio 2018. Quindi mi cospargo in capo di cenere, ma penso che le due soluzioni siano quasi equivalenti; la seconda dovrebbe servire per configurare xgreek in un secondo tempo dopo avere invocato xgreek senza opzioni (cioè con monogreek di default) o con una opzione diversa. Mi pare, comunque che l’opzione da specificare dovrebbe essere polygreek e non polytonic.

              Ma la domanda importante è la seguente; che differenza c’è fra polygreek e ancientgreek? Non è solo una questione di accenti, te lo garantisco; polygreek si riferisce al greco moderno politonico che non usa la iota sottoscritta anche se usa tutti gli altri accenti grave, acuto e circonflesso, con o senza lo spirito dolce, aspro o la dieresi. La sillabazione è complicata a causa degli accenti e degli altri diacritici, ma è fonetica come quella del greco monotonico. Invece il greco classico, ancientgreek, usa tutti gli accenti e gli altri diacritici compresi la iota sottoscritta o, per le maiuscole, adscritta; la sillabazione è etimologica, non fonetica. Questo ha pesanti riflessi sui molteplici prefissi anche multipli su una stessa base.

              Le due lingue, quella moderna e quella antica, inoltre differiscono anche per l’uso che fanno di certe consonanti; per esempio la gamma davanti ad un’altra gutturale, diventa sempre nasale in greco classico (ἄγγελος), mentre la ni o la mi (dette anche nu e mu) davanti ad una labiale in greco moderno le cambiano il suono; come sai la beta si pronuncia come una fricativa sonora in greco moderno; quindi il mio cognome scritto Βεκκάρι si pronuncerebbe Veccari, con una fricativa sonora al posto della bilabiale; per pronunciarlo come in italiano bisogna scriverlo Μπεκκάρι. Ecco, quindi che questo diverso uso della gamma e delle nasali coinvolge anche la cesura, quindi i pattern per il greco moderno politonico sono diversi da quelli del greco antico.

              Nota che mi sono dato da fare con scarsi risultati per estendere i file di pattern da usare con pdflatex e i font con la codifica LGR, per far sì che funzionino anche quando si immettono direttamente i caratteri greci, come si può fare da qualche anno; ci ho consumato diverse settimane tra pattern da duplicare sia per la traslitterazione latina sia per l’uso diretto dei caratteri greci, ma i greci del gruppo TeX ellenico non mi hanno dato nessuna mano, per cui ho il tutto sul mio calcolatore, fermo da un paio d’anni senza nessun feedback da parte greca. Dico questo non per lamentarmi della scarsa collaborazione (in fondo siamo tutti volontari e facciamo tutto nel nostro tempo libero), ma perché facendo quel lavoro mi sono molto impratichito sulle tre varianti di greco, al punto che sono anche riuscito a trovare un errore nei pattern che Apostolos ha creato per la codifica UNICODE del greco. Per carità, non è niente, ma la dice lunga su quanto sono andato a fondo sugli algoritmi di cesura per quelle tre varianti della lingua greca.

              l buffo è che il greco classico me lo sono quasi scordato dopo 60 anni dalla maturità (riesco ancora a leggere il Vangelo aiutandomi con il testo a fronte in latino e con il Rocci a portata di mano), e il greco moderno mono- o politonico riesco a leggerli solo facendo gli esercizi col vocabolario come facevo col greco antico 60 e più anni fa al liceo. 🙁

            • #113737
              samiel
              Partecipante
                Up
                0
                Down
                ::


                grazie per l’articolata risposta. in effetti io, per quel poco che ne faccio uso,
                in genere ricorro al greco antico dei filosofi…

                vero, l’opzione è polygreek, mi ero confuso con quella di fontspec.

                mi resta un dubbio. poiché le opzioni per greek di polyglossia sono

                6.10 greek
                Options:
                ‣ variant = monotonic (= mono), polytonic (= poly), or ancient

                mentre il codice
                `\setotherlanguage[variant=ancient]{greek}
                \usepackage[ancientgreek]{xgreek}`
                per compilare con luatex va messo per intero, perché che il pacchetto xgreek
                complementa fontspec. ma avendo al contempo l’opzione ancient di polyglossia
                e l’opzione ancientgreek di xgreek che però servono (quasi) allo stesso scopo,
                la cosa non è un po’ “confusing”? alla fine la sillabazione viene realizzata
                correttamente secondo i pattern di xgreek?

              • #113738
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Mmmm, non credo che possa mescolare polyglossia con xgreek; per lo meno non credo che tu debba specificare nulla a polyglossia in merito al greco se tu usi xgreek. Ho dubbi, su quanto dico, perché non ho mai provato ad usare xgreek; leggendone il codice, mi pare di dire cose corrette, ma non ne sono sicuro al 100%.

                  Il problema con LuaLaTeX è che esso carica una lingua alla volta, con la sua eventuale variante, ma non puoi cambiare variante, a meno che tu non usi i comandi Lua attraverso codice passato a \directlua, che non è così semplice se uno non conosce i linguaggio Lua. I curatori di Lua)La)TeX sono molto orgogliosi di poter caricare le informazioni per le lingue solo al momento dell’esecuzione, senza essere obbligati a pre-caricare tutte le 80 e più lingue nel formato come si è sempre fatto con pdfLaTeX e XeLaTeX. è ovvio che per caricare in rial time, specialmente i pattern di sillabazione, ci vogliono comandi di basso livello che LuaLaTeX risolve con comandi in linguaggio Lua.

                  Prima o poi farò esperimenti, ma per ora ho cose molto più urgenti che mi impegnano completamente. Il bello di essere nonni e pensionati; poveretti, chissà come passano il tempo; i nipoti ne occupano abbastanza, e quando uno è nonno non ha più le energie di quando era giovane; inoltre ci sono un’infinità di altre cose di cui occuparsi e il tempo non è mai abbastanza.

                • #113739
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    a questo punto però non capisco più come dovrebbe risultare il preambolo corretto 🙁
                    Così sembra funzionare tutto
                    `\documentclass[a4paper,12pt]{article}
                    \usepackage{fontspec}
                    \defaultfontfeatures{Contextuals=NoAlternate}
                    \setmainfont[Ligatures=TeX,Scale=1.1]{EB Garamond}
                    \usepackage{polyglossia}
                    \setmainlanguage[babelshorthands=true]{italian}
                    \setotherlanguage[variant=ancient]{greek}
                    \usepackage[ancientgreek]{xgreek}
                    \newfontfamily\greekfont[Scale=MatchLowercase]{GFS Didot}
                    \usepackage{microtype}

                    \begin{document}

                    \begin{greek}
                    ΑΠΟΛ. Δοκῶ μοι περὶ ὧν πυνθάνεσθε οὐκ ἀμελέτητος
                    εἶναι.
                    \end{greek}

                    \end{document}`
                    se tolgo qualcosa, non compila più

                  • #113740
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      No è esatto; la sillabazione italiana non funziona, però basta anticipare la chiamata a xgreek e le due lingue funzionano anche con la sillabazione.`% !TEX TS-program = LuaLaTeX
                      % !TEX encoding = UTF-8 Unicode
                      \documentclass[a4paper,12pt]{article}
                      \usepackage{fontspec}
                      \defaultfontfeatures{Contextuals=NoAlternate}
                      \setmainfont[Ligatures=TeX,Scale=1.1]{EB Garamond}
                      \usepackage[ancientgreek]{xgreek}
                      \usepackage{polyglossia}
                      \setmainlanguage[babelshorthands=true]{italian}
                      \setotherlanguage[variant=ancient]{greek}
                      \newfontfamily\greekfont[Scale=MatchLowercase]{GFS Didot}
                      \usepackage{microtype}
                      \usepackage{testhyphens}

                      \begin{document}
                      \begin{italian}\showthe\language
                      \begin{checkhyphens}[1-1]
                      Ecco questo è in italiano
                      \end{checkhyphens}\end{italian}

                      \begin{greek}\begin{checkhyphens}[1-1]\showthe\language
                      ΑΠΟΛ. Δοκῶ μοι περὶ ὧν πυνθάνεσθε οὐκ ἀμελέτητος
                      εἶναι.
                      \end{checkhyphens}\end{greek}
                      \end{document}`Se lanci questo EMC la compilazione si ferma due volte per permetterti di leggere il numero della lingua, 52 per l’italiano e 84 per il greco. Il pacchetto testhyphens ti compila poi i due testi con una sola parola per ogni riga e divisa in sillabe; Nota che per entrambe le lingue ho impostato i valori minimi di cesura dopola unica prima lettera e prima dell’unica ultima lettera; Se togli l’opzione [1-1] all’apertura di checkhyphens, hai le impostazioni di default.

                      Ho scritto ad Apostols, ma non mi ha ancora risposto.

                    • #113741
                      samiel
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        la sillabazione italiana non funziona, però basta anticipare la chiamata a xgreek e le due lingue funzionano anche con la sillabazione.

                        pensa te quante minuzie… cmq sì, ora compila perfettamente con la sillabazione in entrambe le lingue.

                        Ho scritto ad Apostols, ma non mi ha ancora risposto.

                        non ho capito a che proposito…

                        cmq ora mi pare tutto funzioni a puntino
                        grazie mille
                        m

                      • #113742
                        OldClaudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          La documentazione di xgreek non dice niente in merito all’uso contemporaneo di xgreek e polyglossia. Gli ho chiesto come faccia lui a comporre documenti bilingui se usa LuaLaTeX. Ancora non mi ha risposto, ma mi ha segnalato di avere visto il mio messaggio.

                        • #113743
                          samiel
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            la documentazione in effetti è tutt’altro che perspicua.
                            d’accordo il codice commentato, ma si poteva premettere
                            una breve sezione sull’uso e le opzioni …
                            allora attendiamo aggiornamenti !

                            m

                          • #113744
                            OldClaudio
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Apostools dice che usare in un documento bilingue sia polyglossia sia xgreek è del tutto inutile; mi manda questo EMC (che io non ho testato) dicendo che funziona benissimo:`\documentclass[a4paper,12pt]{article}
                              \usepackage{fontspec}
                              \defaultfontfeatures{Contextuals=NoAlternate}
                              \setmainfont[Ligatures=TeX,Scale=1.1]{Minion Pro}
                              \usepackage{polyglossia}
                              \setmainlanguage[babelshorthands=true]{italian}
                              \setotherlanguage[variant=ancient]{greek}
                              \newfontfamily\greekfont[Scale=MatchLowercase]{GFS Didot}
                              \usepackage{microtype}
                              \usepackage{testhyphens}

                              \begin{document}
                              \begin{italian}%\showthe\language
                              \begin{checkhyphens}[1-1]
                              Ecco questo è in italiano
                              \end{checkhyphens}\end{italian}

                              \begin{checkhyphens}[1-1]%\showthe\language
                              \selectlanguage{ancientgreek}
                              ΑΠΟΛ. Δοκῶ μοι περὶ ὧν πυνθάνεσθε οὐκ ἀμελέτητος
                              εἶναι.
                              \end{checkhyphens}

                              \end{document}`Sostituisci Minion Pro con un altro font se non ne disponi.

                            • #113745
                              samiel
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                funziona, ma se i miei esperimento sono corretti
                                è necessario specificare sempre \begin{italian} e \end{italian},
                                il che con poliglossia non serve una volta impostato \setmainlanguage
                                altrimenti non sillaba

                              • #113746
                                OldClaudio
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::


                                  Be’ probabilmente sillaba anche l’italiano se dopo \begn{document} usi ciò che apparirebbe pleonastico, cioè se specifichi \setlanguage{italian} e non usi l’ambente italian.

                                • #113747
                                  samiel
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    rimane qualche oscurità sul funzionamento effettivo di xgreek,
                                    ma dal punto di vista pratico direi che il mio problema è stato risolto
                                    grazie
                                    m

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

                                Go to top