Re: Xelatex e listings

#85316
samiel
Partecipante
    Up
    0
    Down
    ::


    Tralascia per un momento listings. Nel codice sopra che non funzionava
    c’erano solo le “scatole” di tcolorbox. Ora, considera uno scenario del tutto analogo:
    `\documentclass[a4paper]{article}
    \usepackage{fontspec}
    \usepackage{polyglossia}
    \setmainlanguage{italian}
    \setotherlanguage[variant=polytonic]{greek}
    %\setmainfont{UMTypewriter-Regular.otf}
    \setmainfont{DejaVu Serif}
    \newfontfamily\greekfont[Scale=MatchLowercase]{UMTypewriter-Regular.otf}
    \usepackage[skins,breakable]{tcolorbox}

    \begin{document}

    Testo in carattere normale (nella fattispecie, DejaVu)

    Ora testo greco:

    \begin{tcolorbox}[colback=yellow!10!white,colframe=red!75!black,title=Testo greco]
    \begin{greek}
    Κώνωψ πρὸς λέοντα ἐλθὼν εἶπεν· οὔτε φοβοῦμαί σε οὔτε δυνατώτερός μου εἶ· εἰ δὲ
    μή, τίς σοί ἐστιν ἡ δύναμις; ὅτι ξύεις τοῖς ὄνυξι καὶ δάκνεις τοῖς ὀδοῦσι;
    τοῦτο καὶ γυνὴ τῷ ἀνδρὶ μαχομένη ποιεῖ. ἐγὼ δὲ λίαν ὑπάρχω σου ἰσχυρότερος. εἰ
    δὲ θέλεις, ἔλθωμεν καὶ εἰς πόλεμον. καὶ σαλπίσας ὁ κώνωψ ἐνεπήγετο δάκνων τὰ
    περὶ τὰς ῥῖνας αὐτοῦ ἄτριχα πρόσωπα. ὁ δὲ λέων τοῖς ἰδίοις ὄνυξι κατέλυεν
    ἑαυτὸν, ἕως οὗ ἠγανάκτησεν. ὁ δὲ κώνωψ νικήσας τὸν λέοντα καὶ σαλπίσας καὶ
    ἐπινίκιον ᾄσας ἔπτατο. ἀράχνης δὲ δεσμῷ ἐμπλακείς, ἐσθιόμενος ἀπωδύρετο, ὅτι
    μεγίστοις πολεμῶν ὑπ' εὐτελοῦς ζῴου, τῆς ἀράχνης, ἀπώλετο.
    \end{greek}
    \end{tcolorbox}

    \end{document}`
    Avevo indicato male i font. Qui infatti ho il testo normale in DejaVu Serif
    e il greco monospaziato. La soluzione funziona e infatti prodice il risultato desiderato.

    Per quanto sia del tutto improbabile avere un codice tutto in greco,
    una soluzione di questo tipo, evidentemente errata, produce un risultato singolere:
    `\documentclass[a4paper]{article}
    \usepackage{fontspec}
    \usepackage{polyglossia}
    \setmainlanguage{italian}
    \setotherlanguage[variant=polytonic]{greek}
    \setmainfont{DejaVu Serif}
    \newfontfamily\greekfont[Scale=MatchLowercase]{UMTypewriter-Regular.otf}
    \usepackage[listings,theorems,skins,breakable]{tcolorbox}
    \tcbuselibrary{listingsutf8}
    \tcbset{listing utf8=latin1}

    \begin{document}

    Testo in carattere normale (nella fattispecie, DejaVu)

    Ora testo greco:

    \begin{tcolorbox}[colback=yellow!10!white,colframe=red!75!black,title=Testo greco]
    \begin{greek}
    Κώνωψ πρὸς λέοντα ἐλθὼν εἶπεν· οὔτε φοβοῦμαί σε οὔτε δυνατώτερός μου εἶ· εἰ δὲ
    μή, τίς σοί ἐστιν ἡ δύναμις; ὅτι ξύεις τοῖς ὄνυξι καὶ δάκνεις τοῖς ὀδοῦσι;
    τοῦτο καὶ γυνὴ τῷ ἀνδρὶ μαχομένη ποιεῖ. ἐγὼ δὲ λίαν ὑπάρχω σου ἰσχυρότερος. εἰ
    δὲ θέλεις, ἔλθωμεν καὶ εἰς πόλεμον. καὶ σαλπίσας ὁ κώνωψ ἐνεπήγετο δάκνων τὰ
    περὶ τὰς ῥῖνας αὐτοῦ ἄτριχα πρόσωπα. ὁ δὲ λέων τοῖς ἰδίοις ὄνυξι κατέλυεν
    ἑαυτὸν, ἕως οὗ ἠγανάκτησεν. ὁ δὲ κώνωψ νικήσας τὸν λέοντα καὶ σαλπίσας καὶ
    ἐπινίκιον ᾄσας ἔπτατο. ἀράχνης δὲ δεσμῷ ἐμπλακείς, ἐσθιόμενος ἀπωδύρετο, ὅτι
    μεγίστοις πολεμῶν ὑπ' εὐτελοῦς ζῴου, τῆς ἀράχνης, ἀπώλετο.
    \end{greek}
    \end{tcolorbox}

    \begin{tcblisting}{colback=yellow!5,colframe=yellow!50!black,listing only,
    title=This is source code in another language (XML), fonttitle=\bfseries,
    listing options={language=XML,columns=fullflexible,basicstyle=\ttfamily\,keywordstyle=\color{red}}}

    Apache Ant build file (http://ant.apache.org/)
    \end{tcblisting}

    \begin{tcblisting}{colback=yellow!5,colframe=yellow!50!black,listing only,
    title=This is source code in another language (GREEK ??), fonttitle=\bfseries,
    listing options={columns=fullflexible,keywordstyle=\color{red}}}
    Κώνωψ πρὸς λέοντα ἐλθὼν εἶπεν· οὔτε φοβοῦμαί σε οὔτε δυνατώτερός μου εἶ· εἰ δὲ
    μή, τίς σοί ἐστιν ἡ δύναμις; ὅτι ξύεις τοῖς ὄνυξι καὶ δάκνεις τοῖς ὀδοῦσι;
    τοῦτο καὶ γυνὴ τῷ ἀνδρὶ μαχομένη ποιεῖ.
    \end{tcblisting}

    \end{document}`
    Sistemato anche questo, vorre capire come integrare le colorbox con l’evidenziazione
    della sintassi di listings

    m

    Go to top