[RISOLTO] Listings e Greco politonico

  • Questo topic ha 6 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 1 mese fa da Doc.
  • Creatore
    Topic
  • #113666
    Doc
    Partecipante
      Up
      0
      Down
      ::


      Cari tutti,
      intanto un salutone, visto che è da tempo che non scrivo su questo forum.

      Il problema, come da titolo, è che non riesco a far comparire testo greco dentro un ambiente [tt]listings[/tt].
      Ho letto da più parti che il pacchetto non supporta la codifica UTF-8, ma ho chiaramente problemi anche con [tt]listingsutf8[/tt], come da MWE che propongo in calce alla presente.

      La domanda dunque è la seguente: è possisibile risolvere il problema e, se sì, come? Workaround, altro pacchetto, κτλ…..

      Grazie in anticipo a tutti,
      Domenico

      `
      % !TeX encoding = UTF-8
      % !TeX TS-program = xelatex

      \documentclass{book}
      \usepackage{fontspec}
      \setmainfont[Ligatures=TeX]{Libertinus Serif}
      \setmonofont[Scale=MatchLowercase]{Libertinus Mono}
      \usepackage{unicode-math}
      \usepackage{xunicode}
      \usepackage{polyglossia}
      %\usepackage{listings}
      \usepackage{listingsutf8}
      \lstset{language=[LaTeX]TeX}

      \begin{document}
      lkjlkjljk

      ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον. καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν. μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο, τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.

      \begin{lstlisting}
      \begin{center}
      lkjlkjlkj
      \end{center}
      \end{lstlisting}

      \begin{lstlisting}
      \documentclass{book}
      \begin{document}
      ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον. καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν. μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο, τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
      \end{document}
      \end{lstlisting}

      \end{document}
      `

    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #113667
        Up
        0
        Down
        ::


        Mi sono avvicinato, ma con il greco non riesco a fare di meglio.
        `% !TeX encoding = UTF-8
        % !TeX TS-program = xelatex

        \documentclass{book}

        \usepackage{fontspec}
        \setmainfont[Ligatures=TeX]{Baskerville}
        \setmonofont[Scale=MatchLowercase]{Menlo}
        \newfontfamily\greco{Baskerville}

        \usepackage{polyglossia}
        \setmainlanguage{italian}
        \setotherlanguage[variant=ancient]{greek}

        \usepackage{listingsutf8}
        \lstset{language=[LaTeX]TeX,
        basicstyle=\normalfont\ttfamily}

        \begin{document}

        lkjlkjljk

        \greco{ὅτι μὲν ὑμεῖς}

        \begin{lstlisting}
        \begin{center}
        lkjlkjlkj
        \end{center}
        \end{lstlisting}

        \begin{lstlisting}
        \documentclass{book}
        \begin{document}
        ὅτι μὲν ὑμεῖς
        \end{document}
        \end{lstlisting}

        \end{document}`
        Ciao
        Tommaso

      • #113668
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Certo lstlisting produce dei listati molto belli, ma fa cilecca con i caratteri non ascii.

          Non ho mai provato lstlistingutf8, quindi non so dire quali siano le sue debolezze.

          Posso dirti che sono riuscito a comporre listati in greco usando fancivrb, che con xelatex e lualatex funziona benissimo; certo no cambia i colori e non fa certe belle impaginazioni come lstlisting, ma quandosi tratta di greco scritto direttamente in greco, non è altro che fancyvrb.

          In alternativa ci sono cose più artigianali, ma che non ti consiglio.
          Uno dei problemi con il greco copiato e incollato da altri testi è che in realtà negli altri testi non si usanoi caratteri già accentati, ma i self cobining diacritics, che fra l’altro osservano una notazione post-posta, iinvece che pre-posta. Non è detto che i caratteri monospaziati dispongano correttamente dei diacritici posposti.

        • #113669
          Doc
          Partecipante
            Up
            0
            Down
            ::

            OldClaudio” post=114027Certo lstlisting produce dei listati molto belli, ma fa cilecca con i caratteri non ascii.

            Non ho mai provato lstlistingutf8, quindi non so dire quali siano le sue debolezze.

            Posso dirti che sono riuscito a comporre listati in greco usando fancivrb, che con xelatex e lualatex funziona benissimo; certo no cambia i colori e non fa certe belle impaginazioni come lstlisting, ma quandosi tratta di greco scritto direttamente in greco, non è altro che fancyvrb.

            In alternativa ci sono cose più artigianali, ma che non ti consiglio.
            Uno dei problemi con il greco copiato e incollato da altri testi è che in realtà negli altri testi non si usanoi caratteri già accentati, ma i self cobining diacritics, che fra l’altro osservano una notazione post-posta, iinvece che pre-posta. Non è detto che i caratteri monospaziati dispongano correttamente dei diacritici posposti.

            Carissimo, ti ringrazio!

            Ho provato questo [ŧt]fancyvrb[/tt], che non conoscevo, e, almeno non dà problemi di compilazione. Tuttavia, ho imparato che è difficile trovare un font MONO che abbia il greco, regolare e esteso.
            Sai indicarmi un font “buono” in tal senso? Oppure, c’è un modo per fare usare un font NON mono a questi pacchetti?

          • #113670
            Doc
            Partecipante
              Up
              0
              Down
              ::


              PERFETTO! GRAZIE A TUTTI!

              Ho trovato la soluzione! Il problema è che il testo non va a capo, ma si può interrompere la riga manualmente.
              Il risultato non è bellino come quelli di [tt]listings[/tt], ma almeno funziona!

              Allego esempio per i posteri:

              `
              % !TeX encoding = UTF-8
              % !TeX TS-program = xelatex

              \documentclass{book}
              \usepackage{fontspec}
              \setmainfont[Ligatures=TeX]{Libertinus Serif}
              \setmonofont[Scale=MatchLowercase]{Liberation Mono}
              \usepackage{unicode-math}
              \usepackage{xunicode}
              \usepackage{polyglossia}
              \usepackage{fancyvrb}
              \RecustomVerbatimEnvironment
              {Verbatim}{Verbatim}
              {fontfamily=tt,frame=single,label=Default,numbers=left}

              \begin{document}
              lkjlkjljk

              ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον. καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν. μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο, τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.

              \begin{Verbatim}[fontfamily=tt,frame=single,label=My text,numbers=left]
              \documentclass{book}
              \begin{document}
              ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν
              ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς
              ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.
              καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν.
              μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο,
              τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ
              ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
              \end{document}
              \end{Verbatim}

              \begin{Verbatim}
              ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν
              ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς
              ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.
              καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν.
              μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο,
              τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ
              ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
              \end{Verbatim}

              \end{document}
              `

            • #113671
              Heinrich Fleck
              Partecipante
                Up
                0
                Down
                ::


                Caro Domenico, anzitutto ben felice di rileggerti dopo tanto tempo. Ho letto il tuo messaggio e le risposte de illinguista1972 ed OldClaudio. Se non ho compreso male, il tuo problema è la copia di testo greco altrove reperito. Se è così io ho sempre positivamente risolto queste questioni ricorrendo a pdflatex ed omettendo, in questo caso, il pacchetto fontspec. Se questo non è essenziale, se xelatex parimenti non è essenziale, io ho mandato perfettamente a compilazione il tuo sorgente adattandolo secondo questo codice:

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

                \documentclass[10pt,a4paper,twoside]{memoir}% con book va bene egualmente
                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage{lmodern} %
                \usepackage[greek,italian]{babel}
                \usepackage{microtype}
                \usepackage{substitutefont}
                \usepackage{teubner}
                \usepackage{fancyvrb}
                %Per teubner
                \newenvironment{GRL}{\begin{otherlanguage*}{greek}%\fontseries{b}
                \lishape}{\end{otherlanguage*}}
                \newenvironment{GRD}{\begin{otherlanguage*}{greek}%\fontseries{b}
                \upshape}{\end{otherlanguage*}}

                \begin{document}

                ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον. καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν. μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο, τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.

                \begin{Verbatim}
                %[fontfamily=tt,frame=single,label=My text,numbers=left]
                %\documentclass{book}
                \begin{document}
                ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν
                ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς
                ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.
                καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν.
                μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο,
                τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ
                ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
                \end{document}
                \end{Verbatim}

                \begin{GRD}
                ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν
                ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς
                ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.
                καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν.
                μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο,
                τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ
                ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
                \end{GRD}

                \begin{GRL}
                ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Ἀθηναῖοι, πεπόνθατε ὑπὸ τῶν
                ἐμῶν κατηγόρων, οὐκ οἶδα· ἐγὼ δ' οὖν καὶ αὐτὸς
                ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.
                καίτοι ἀληθές γε ὡς ἔπος εἰπεῖν οὐδὲν εἰρήκασιν.
                μάλιστα δὲ αὐτῶν ἓν ἐθαύμασα τῶν πολλῶν ὧν ἐψεύσαντο,
                τοῦτο ἐν ᾧ ἔλεγον ὡς χρῆν ὑμᾶς εὐλαβεῖσθαι μὴ
                ὑπ' ἐμοῦ ἐξαπατηθῆτε ὡς δεινοῦ ὄντος λέγειν.
                \end{GRL}
                \end{document}
                `

                Come noterai, sia nelle <> Didot che Lipsiakos il grecp va correttamente a capo.

                Tutto questo, ripeto, a meno che non ti serva assolutamente xelatex e il pacchetto fontspec, nel quale caso considera questo messaggio solo come un saluto.

                Ciao, Enrico M.

              • #113672
                Doc
                Partecipante
                  Up
                  0
                  Down
                  ::

                  heinrich” post=114032Caro Domenico, anzitutto ben felice di rileggerti dopo tanto tempo. Ho letto il tuo messaggio e le risposte de illinguista1972 ed OldClaudio. Se non ho compreso male, il tuo problema è la copia di testo greco altrove reperito. Se è così io ho sempre positivamente risolto queste questioni ricorrendo a pdflatex ed omettendo, in questo caso, il pacchetto fontspec. Se questo non è essenziale, se xelatex parimenti non è essenziale, io ho mandato perfettamente a compilazione il tuo sorgente adattandolo secondo questo codice:

                  Grazie anche a te, ma non ho nessun problema con la copia o la digitazione del testo greco.
                  Il problema è infilare testo greco in [tt]listings[/tt], visto che questo pacchetto non supporta caratteri non ASCII e visto che il corrispondente [tt]listingsutf8[/tt] non funziona affatto.

                  La soluzione sopra indicata, e suggerita da Claudio, è meno carina di [tt]listings[/tt], ma pienamente efficace.

                  Salutoni anche a te!

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

              Go to top