Scrivere in greco con pdflatex: ucs e utf8x

  • Creatore
    Topic
  • #75145
    Up
    0
    Down
    ::


    Argomento immagino già trattato, ma dopo essermi trovato nella buca delle lettere il numero 13 di ArsTeXnica mi sono andato a rileggere per bene la puntata precedente sulla scrittura in greco (Ars n. 12).

    Dunque, da quello che ho capito:

    1. Usando pdflatex, si può scrivere in greco sia traslitterando i caratteri, sia immettendoli direttamente in greco (il paletto, ovviamente, è usare un editor Unicode). Il seguente codice funziona:

    `% !TEX encoding = UTF-8 Unicode
    % !TEX TS-program = pdflatex

    \documentclass[a4paper]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8x]{inputenc}
    \usepackage[polutonikogreek,italian]{babel}

    \newcommand{\greco}{\foreignlanguage{greek}}

    \begin{document}

    \foreignlanguage{greek}{>En >arq{\~h|}}

    \foreignlanguage{greek}{Ἐν ἀρχῇ}

    \begin{otherlanguage*}{greek}
    >En >arq{\~h|}
    \end{otherlanguage*}

    \begin{otherlanguage*}{greek}
    Ἐν ἀρχῇ
    \end{otherlanguage*}

    \greco{>En >arq{\~h|}}

    \greco{Ἐν ἀρχῇ}

    \end{document}`

    2. Usando xelatex, si può scrivere in greco sia traslitterando i caratteri (cosa che richiede il pacchetto lgreek), sia, naturalmente, immettendoli direttamente in greco (con il vantaggio di poter scegliere tutti i font greci installati nel proprio computer).

    Ora ho qualche domanda.

    1. Dovendo scrivere un documento italiano/greco antico con pdflatex, anziché scrivere

    `\usepackage[greek,italian]{babel}
    \languageattribute{greek}{polutoniko}`

    io scriverei direttamente

    `\usepackage[polutonikogreek,italian]{babel}`

    risparmiando una riga di codice. Giusto?

    2. Analogamente («anagolo, anagolo… anagolo de che?» 🙂 Da quale film è tratta la citazione?) per il greco moderno, si scrive:

    `\usepackage[greek,italian]{babel}`

    E mi pare giusto.

    3. Dichiarando nel preambolo

    `\usepackage[polutonikogreek,italian]{babel}`

    quando poi definisco un comando [tt]\greco[/tt] in questo modo

    `\newcommand{\greco}{\foreignlanguage{greek}}`

    quel [tt]greek[/tt] è automaticamente [tt]polutonikogreek[/tt], giusto?

    4. Se davvero il pacchetto ucs non è necessario, allora cade anche l’incompatibilità con biblatex, giusto? E allora: quando ucs è davvero necessario?

    5. Dichiarare [tt]polutonikogreek[/tt] come lingua di babel assicura la corretta traduzione delle parole fisse e la corretta interpretazione della tilde come se lo si dichiarasse in una riga a sé come [tt]\languageattribute[/tt]?

    Grazie e perdonate le tante domande in un solo filone, ma siccome riguardano tutte uno stesso argomento, spero di aver violato la netiquette solo in parte.

    Ciao
    Tommaso

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #75146
      Up
      0
      Down
      ::

      illinguista1972″ post=74230Argomento immagino già trattato, ma dopo essermi trovato nella buca delle lettere il numero 13 di ArsTeXnica mi sono andato a rileggere per bene la puntata precedente sulla scrittura in greco (Ars n. 12).

      Dunque, da quello che ho capito:

      1. Usando pdflatex, si può scrivere in greco sia traslitterando i caratteri, sia immettendoli direttamente in greco (il paletto, ovviamente, è usare un editor Unicode). Il seguente codice funziona:

      `…`

      2. Usando xelatex, si può scrivere in greco sia traslitterando i caratteri (cosa che richiede il pacchetto lgreek), sia, naturalmente, immettendoli direttamente in greco (con il vantaggio di poter scegliere tutti i font greci installati nel proprio computer).

      Ora ho qualche domanda.

      1. Dovendo scrivere un documento italiano/greco antico con pdflatex, anziché scrivere

      `\usepackage[greek,italian]{babel}
      \languageattribute{greek}{polutoniko}`

      io scriverei direttamente

      `\usepackage[polutonikogreek,italian]{babel}`

      risparmiando una riga di codice. Giusto?

      2. Analogamente («anagolo, anagolo… anagolo de che?» 🙂 Da quale film è tratta la citazione?) per il greco moderno, si scrive:

      `\usepackage[greek,italian]{babel}`

      E mi pare giusto.

      3. Dichiarando nel preambolo

      `\usepackage[polutonikogreek,italian]{babel}`

      quando poi definisco un comando [tt]\greco[/tt] in questo modo

      `\newcommand{\greco}{\foreignlanguage{greek}}`

      quel [tt]greek[/tt] è automaticamente [tt]polutonikogreek[/tt], giusto?

      4. Se davvero il pacchetto ucs non è necessario, allora cade anche l’incompatibilità con biblatex, giusto? E allora: quando ucs è davvero necessario?

      5. Dichiarare [tt]polutonikogreek[/tt] come lingua di babel assicura la corretta traduzione delle parole fisse e la corretta interpretazione della tilde come se lo si dichiarasse in una riga a sé come [tt]\languageattribute[/tt]?

      Grazie e perdonate le tante domande in un solo filone, ma siccome riguardano tutte uno stesso argomento, spero di aver violato la netiquette solo in parte.

      Ciao
      Tommaso

      Il seguente codice funziona:
      `% !TEX encoding = UTF-8 Unicode
      % !TEX TS-program = pdflatex

      \documentclass[a4paper]{article}
      \usepackage[LGRx,T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[polutonikogreek,italian]{babel}
      \makeatletter
      \input{/usr/local/texlive/2011/texmf-dist/doc/latex/lgrx/lgrenc.dfu}
      \makeatother

      \newcommand{\greco}{\foreignlanguage{greek}}

      \begin{document}

      \foreignlanguage{greek}{>En >arq{\~h|}}

      \foreignlanguage{greek}{Ἐν ἀρχῇ}

      \begin{otherlanguage*}{greek}
      >En >arq{\~h|}
      \end{otherlanguage*}

      \begin{otherlanguage*}{greek}
      Ἐν ἀρχῇ
      \end{otherlanguage*}

      \greco{>En >arq{\~h|}}

      \greco{Ἐν ἀρχῇ}

      \end{document}`
      Per motivi misteriosi il file [tt]lgrenc.dfu[/tt] non è al posto dove dovrebbe essere. Errore nello spacchettamento, evidentemente. Il pacchetto lgrx è piuttosto recente.

      Veniamo alle domande:

      1. Anch’io scriverei la forma abbreviata

      2. Non c’è domanda, ma la risposta è sì. 🙂

      3. Sì.

      4. Con lgrx mai.

      5. Sì.

      Ciao
      Enrico

    • #75147
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Per quel che ne so, è tutto giusto salvo il punto 4 a cui non so rispondere.

        usare come nome della lingua polutoniko si può fare, ma è un ritorno al passato, forse a babel 5.x, invece che babel 7.x; All’inizio del greco Apostolos e io dovemmo decidere di creare due “lingue greche” perché babel non concedeva due varianti con lo stesso file per descrivere due varianti della stessa lingua. In un certo senso nacque prima polutonikogreek, perché i font che avevo disegnato erano stati fatti apposta per il greco classico, quindi politonico. In realtà ai greci interessava di più la versione moderna, cioè monotonica; quindi creammo due distinti file .ldf. Poi babel 6.x introdusse il concetto di attributo, che permetteva di descrivere con un solo file due lingue con molti aspetti in comune.

        Ora polygreek è un sinonimo, ai fini della sillabazione, di greek; mentre esiste la lingua monogreek che carica la sillabazione per il greco monotoniko; poi esiste ancientgreek che è indipendente dalle altre due e carica una altro file di pattern diversi (tutto questo da language.dat, il file di configurazione per le sillabazioni delle lingue usato per la creazione del formato pdflatex). Ai fini della data, della tilde, delle due numerazioni greche, e simili le differenze nell’ortografia sono specificate mediante la vecchia polutoniko e l’attributo polutoniko. Io lascerei perdere la vecchia lingua polutonikogreek e userei nei tuoi esempi di una sola riga la lingua polygreek. Il tutto sarebbe molto più coerente. Tuttavia è un po’ che non guardavo queste cose, quindi vedo che il working group sulla sillabazione ha fatto grosse modifiche. Bisogna che mi aggiorni.

        Nello stesso tempo, Tommaso, ci sono due modi per aggiornarsi: (1) leggere i file sorgenti, e (2) fare esperimenti; ovviamente uno non esclude l’altro. Non ti dico di leggere la documentazione, perché questa è stata sempre piuttosto carente; poi con l’ “assenza” pluriennale di Johannes Brams le cose si sono mosse solo sul fronte della sillabazione, ma credo che non si sia fatto nulla per la documentazione e i file di descrizione delle lingue. Se si è fatto aualcosa è passato del tutto inosservato ai miei occhi.

      • #75148
        Up
        0
        Down
        ::

        egreg9″ post=74235

        Argomento immagino già trattato, ma dopo essermi trovato nella buca delle lettere il numero 13 di ArsTeXnica mi sono andato a rileggere per bene la puntata precedente sulla scrittura in greco (Ars n. 12).

        Dunque, da quello che ho capito:

        1. Usando pdflatex, si può scrivere in greco sia traslitterando i caratteri, sia immettendoli direttamente in greco (il paletto, ovviamente, è usare un editor Unicode). Il seguente codice funziona:

        `…`

        2. Usando xelatex, si può scrivere in greco sia traslitterando i caratteri (cosa che richiede il pacchetto lgreek), sia, naturalmente, immettendoli direttamente in greco (con il vantaggio di poter scegliere tutti i font greci installati nel proprio computer).

        Ora ho qualche domanda.

        1. Dovendo scrivere un documento italiano/greco antico con pdflatex, anziché scrivere

        `\usepackage[greek,italian]{babel}
        \languageattribute{greek}{polutoniko}`

        io scriverei direttamente

        `\usepackage[polutonikogreek,italian]{babel}`

        risparmiando una riga di codice. Giusto?

        2. Analogamente («anagolo, anagolo… anagolo de che?» 🙂 Da quale film è tratta la citazione?) per il greco moderno, si scrive:

        `\usepackage[greek,italian]{babel}`

        E mi pare giusto.

        3. Dichiarando nel preambolo

        `\usepackage[polutonikogreek,italian]{babel}`

        quando poi definisco un comando [tt]\greco[/tt] in questo modo

        `\newcommand{\greco}{\foreignlanguage{greek}}`

        quel [tt]greek[/tt] è automaticamente [tt]polutonikogreek[/tt], giusto?

        4. Se davvero il pacchetto ucs non è necessario, allora cade anche l’incompatibilità con biblatex, giusto? E allora: quando ucs è davvero necessario?

        5. Dichiarare [tt]polutonikogreek[/tt] come lingua di babel assicura la corretta traduzione delle parole fisse e la corretta interpretazione della tilde come se lo si dichiarasse in una riga a sé come [tt]\languageattribute[/tt]?

        Grazie e perdonate le tante domande in un solo filone, ma siccome riguardano tutte uno stesso argomento, spero di aver violato la netiquette solo in parte.

        Ciao
        Tommaso

        Il seguente codice funziona:
        `% !TEX encoding = UTF-8 Unicode
        % !TEX TS-program = pdflatex

        \documentclass[a4paper]{article}
        \usepackage[LGRx,T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[polutonikogreek,italian]{babel}
        \makeatletter
        \input{/usr/local/texlive/2011/texmf-dist/doc/latex/lgrx/lgrenc.dfu}
        \makeatother

        \newcommand{\greco}{\foreignlanguage{greek}}

        \begin{document}

        \foreignlanguage{greek}{>En >arq{\~h|}}

        \foreignlanguage{greek}{Ἐν ἀρχῇ}

        \begin{otherlanguage*}{greek}
        >En >arq{\~h|}
        \end{otherlanguage*}

        \begin{otherlanguage*}{greek}
        Ἐν ἀρχῇ
        \end{otherlanguage*}

        \greco{>En >arq{\~h|}}

        \greco{Ἐν ἀρχῇ}

        \end{document}`
        Per motivi misteriosi il file [tt]lgrenc.dfu[/tt] non è al posto dove dovrebbe essere. Errore nello spacchettamento, evidentemente. Il pacchetto lgrx è piuttosto recente.

        Veniamo alle domande:

        1. Anch’io scriverei la forma abbreviata

        2. Non c’è domanda, ma la risposta è sì. 🙂

        3. Sì.

        4. Con lgrx mai.

        5. Sì.

        Ciao
        Enrico

        Grazie a Claudio e a Enrico (piacere di risentirti 🙂 ).

        Se il pacchetto (ma è un pacchetto, poi?) lgrx si trovasse dove dovrebbe essere, quale sarebbe la scrittura nel preambolo?

        Dalla breve documentazione si capisce che si tratta di una codifica, ma altro non si dice. La forma corretta da mettere nell’argomento di fontenc è LGRx oppure lgrx?

        Ultima domanda, perdonatemi se potete: lgrx ha limiti, oppure permette di scrivere qualunque testo in greco? Insomma: semplifica le cose, nonostante i \makeat…?

        Ciao
        Tommaso

      • #75149
        Up
        0
        Down
        ::

        illinguista1972″ post=74240Se il pacchetto (ma è un pacchetto, poi?) lgrx si trovasse dove dovrebbe essere, quale sarebbe la scrittura nel preambolo?

        Dalla breve documentazione si capisce che si tratta di una codifica, ma altro non si dice. La forma corretta da mettere nell’argomento di fontenc è LGRx oppure lgrx?

        Ultima domanda, perdonatemi se potete: lgrx ha limiti, oppure permette di scrivere qualunque testo in greco? Insomma: semplifica le cose, nonostante i \makeat…?

        Pacchetto nel senso di tlmgr:
        `% tlmgr show –list lgrx
        package: lgrx
        category: Package
        installed: Yes
        revision: 26262
        collection: collection-langgreek
        Included files, by type:
        run files:
        texmf-dist/tex/latex/lgrx/lgrxenc.def
        texmf-dist/tex/latex/lgrx/textalpha.sty
        doc files:
        texmf-dist/doc/latex/lgrx/README
        texmf-dist/doc/latex/lgrx/README.html
        texmf-dist/doc/latex/lgrx/greek-unicode.pdf
        texmf-dist/doc/latex/lgrx/greek-unicode.tex
        texmf-dist/doc/latex/lgrx/greekhyperref.pdf
        texmf-dist/doc/latex/lgrx/greekhyperref.tex
        texmf-dist/doc/latex/lgrx/lgrenc.dfu
        texmf-dist/doc/latex/lgrx/lgrenc.dfu.html
        texmf-dist/doc/latex/lgrx/lgrxenc-test.pdf
        texmf-dist/doc/latex/lgrx/lgrxenc-test.tex
        texmf-dist/doc/latex/lgrx/lgrxenc.def.html
        texmf-dist/doc/latex/lgrx/lgrxenc.pdf
        texmf-dist/doc/latex/lgrx/lgrxenc.tex
        texmf-dist/doc/latex/lgrx/textalpha-test.pdf
        texmf-dist/doc/latex/lgrx/textalpha-test.tex
        texmf-dist/doc/latex/lgrx/textalpha.sty.html`
        Sfortunatamente [tt]lgrenc.dfu[/tt] finisce sotto [tt]doc[/tt], mentre dovrebbe andare insieme ai primi due. Usando [tt]LGRx[/tt] nelle opzioni a fontenc viene letto [tt]lgrxenc.def[/tt] che è molto più ricco del vecchio [tt]lgrenc.def[/tt] e contiene tutti i comandi che poi [tt]lgrenc.dfu[/tt] usa per definire la corrispondenza dei caratteri Unicode con i caratteri in uscita. Esempio
        `\DeclareTextCommand{\~}{LGR}{\Perispomeni}

        \DeclareTextComposite{\Perispomeni}{LGR}{\textalpha}{144}`
        che dice: se trovi [tt]\Perispomeni\textalpha[/tt] stampa il carattere di posto 144 nella codifica del greco. In [tt]lgrenc.dfu[/tt] trovi
        `\DeclareUnicodeCharacter{1FB6}{\~\textalpha} % ᾶ`
        che significa: “caro LaTeX, quando trovi ᾶ, sostituiscilo con [tt]\~\textalpha[/tt]. La macro [tt]\~[/tt] (nell’ambiente greco) diventa [tt]\Perispomeni[/tt] e il gioco è fatto. 🙂 Non mi è del tutto chiaro perché non dare direttamente [tt]\Perispomeni\textalpha[/tt] come sostituzione, ma evidentemente Günter Milde avrà i suoi motivi.

        Semplifica? E certo! Puoi scrivere direttamente in greco e biblatex non si lamenta, ma anzi fa quello che deve. Il notevole vantaggio è che il tuo file, con i caratteri greci, sarà compilabile direttamente anche con XeLaTeX (togliendo il richiamo ai pacchetti fontenc e inputenc, ovviamente).

        Ciao
        Enrico

      • #75150
        Up
        0
        Down
        ::


        Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live

        http://tug.org/pipermail/tex-live/2012-June/031757.html

        I think the file

        texmf-dist/doc/latex/lgrx/lgrenc.dfu

        (for UTF8 Greek support in LGR font encoding) should rather be in the
        TEXINPUTS path.

        Ciao
        Enrico

      • #75151
        Up
        0
        Down
        ::

        egreg9″ post=74499Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live

        http://tug.org/pipermail/tex-live/2012-June/031757.html

        I think the file

        texmf-dist/doc/latex/lgrx/lgrenc.dfu

        (for UTF8 Greek support in LGR font encoding) should rather be in the
        TEXINPUTS path.

        Ciao
        Enrico

        E dunque? Dovrebbe essere, ma non lo è, no?

        Ciao
        Tommaso

      • #75152
        Up
        0
        Down
        ::

        illinguista1972″ post=74503

        Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live

        http://tug.org/pipermail/tex-live/2012-June/031757.html

        I think the file

        texmf-dist/doc/latex/lgrx/lgrenc.dfu

        (for UTF8 Greek support in LGR font encoding) should rather be in the
        TEXINPUTS path.

        Ciao
        Enrico

        E dunque? Dovrebbe essere, ma non lo è, no?

        Ciao
        Tommaso

        È solo per far notare che l’ha visto. Infatti Karl Berry ha risposto che metterà il file al posto giusto non appena sarà possibile (siamo nella fase in cui la 2012 è ferma per le ultime verifiche prima dell’uscita ufficiale). Il trucco di [tt]\input{…/…/…lgrenc.dfu}[/tt] non servirà più.

        Ciao
        Enrico

      • #75153
        Up
        0
        Down
        ::

        egreg9″ post=74509

        [quote=”egreg9″ post=74499]Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live

        http://tug.org/pipermail/tex-live/2012-June/031757.html

        I think the file

        texmf-dist/doc/latex/lgrx/lgrenc.dfu

        (for UTF8 Greek support in LGR font encoding) should rather be in the
        TEXINPUTS path.

        Ciao
        Enrico

        E dunque? Dovrebbe essere, ma non lo è, no?

        Ciao
        Tommaso

        È solo per far notare che l’ha visto. Infatti Karl Berry ha risposto che metterà il file al posto giusto non appena sarà possibile (siamo nella fase in cui la 2012 è ferma per le ultime verifiche prima dell’uscita ufficiale). Il trucco di [tt]\input{…/…/…lgrenc.dfu}[/tt] non servirà più.

        Ciao
        Enrico[/quote]

        Ottima notizia, allora. Per ricapitolare, se tutto va in porto basteranno queste righe

        `\usepackage[LGRx,T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[polutonikogreek,italian]{babel}`

        per scrivere in greco antico (traslitterato ε νον τρασλιττερατο 🙂 ) con [tt]pdflatex[/tt] e [tt]xelatex[/tt], e le righe

        `\usepackage[LGRx,T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[greek,italian]{babel}`

        per scrivere in greco moderno con gli stessi due programmi e le stesse modalità.

        Naturalmente con XeLaTeX bisognerà impostare polyglossia, però. Ricordo che con XeLaTeX si può scrivere il greco traslitterandolo grazie al pacchetto lgreek.

        [OT]

        Segnalo anche un’altra buona notizia, da prendere con le dovute cautele: da quanto mi ha comunicato OldClaudio, anche il file [tt]babel.def[/tt] dovrebbe ricevere quella famosa modifica per non avere lo spazio indesiderato quando si scrive il latino con le quantità e il modo *normale*, diciamo.

        Ovviamente il pacchetto newunicodechar e quelle poche righe di codice con cui ci si definisce il set di vocali lunghe e brevi risolverebbe ogni problema, ma come il mondo dei computer se la deve vedere con più di un sistema operativo, così LaTeX se la deve vedere con chi ha una tastiera italiana, e non può scrivere troppo facilmente rosā e rosă.

        [/OT]

        L’Arte verrà dunque semplificata. Meglio 🙂

        Ciao
        Tommaso

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

    Go to top