XeLaTeX e caratteri accentati: dove sbaglio?

  • Creatore
    Topic
  • #81454
    Up
    0
    Down
    ::


    Sto cercando di compilare un documento LaTeX con xelatex sotto Windows con TeXLive 2012.
    Il sorgente non è niente di speciale… un esempio minimo del mio preambolo è il seguente:

    `
    \documentclass[a4paper]{article}

    \usepackage[italian]{babel}
    \usepackage[xetex]{graphicx}
    \usepackage{xltxtra}
    \usepackage{xcolor}
    \usepackage{hyperref}

    \defaultfontfeatures{Mapping=tex-text}
    \setromanfont{Monaco}

    \begin{document}

    Questo testo vorrei che fosse scritto in Monaco.

    Fino a quando non ci sono le accentate come à è ì ò ù tutto va bene!

    \end{document}
    `

    Il problema è che le accentate nel PDF ottenuto non sono mostrate e al loro posto
    ci sono dei quadratini bianchi vuoti.

    Ho provato a cambiare font ma non credo dipenda da quello…
    qualche suggerimento?

    Grazie per l’attenzione!

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

      twiki” post=80704Sto cercando di compilare un documento LaTeX con xelatex sotto Windows con TeXLive 2012.
      Il sorgente non è niente di speciale… un esempio minimo del mio preambolo è il seguente:

      `
      \documentclass[a4paper]{article}

      \usepackage[italian]{babel}
      \usepackage[xetex]{graphicx}
      \usepackage{xltxtra}
      \usepackage{xcolor}
      \usepackage{hyperref}

      \defaultfontfeatures{Mapping=tex-text}
      \setromanfont{Monaco}

      \begin{document}

      Questo testo vorrei che fosse scritto in Monaco.

      Fino a quando non ci sono le accentate come à è ì ò ù tutto va bene!

      \end{document}
      `

      Il problema è che le accentate nel PDF ottenuto non sono mostrate e al loro posto
      ci sono dei quadratini bianchi vuoti.

      Ho provato a cambiare font ma non credo dipenda da quello…
      qualche suggerimento?

      Grazie per l’attenzione!

      Ciao e benvenuto 🙂

      I problemi del tuo sorgente sono:

      1) usare [tt]babel[/tt] e non [tt]polyglossia[/tt];
      2) non usare [tt]fontspec[/tt].

      A me questo sorgente compila perfettamente:`
      \documentclass[a4paper]{article}
      \usepackage{fontspec}
      \usepackage{polyglossia}%
      \setmainlanguage{italian}
      \usepackage{graphicx}
      \usepackage{xltxtra}
      \usepackage{xcolor}
      \usepackage{hyperref}

      \setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
      \begin{document}

      Questo testo vorrei che fosse scritto in Monaco.

      Fino a quando non ci sono le accentate come à è ì ò ù tutto va bene!

      \end{document}
      ` Non ho installato il font Monaco ecco il perché del [tt]TeX Gyre Pagella[/tt].

      PS: non è il caso di specificare il driver a [tt]graphicx[/tt] perché viene identificato automaticamente.

      Ciao
      Claudio

    • #81456
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Inoltre è probabile che il tuo editor sia configurato per salvare il file con una codifica diversa da utf8.

        Se per esempio è configurato per salvare con codifica applemac (orrore! — e te lo dico da utente Mac; deduco che usi un Mac, forse sbagliando, visto che vuoi usare il font Monaco, che per quanto mi risulta non è preinstallato nelle altre macchine; ma se non usi applemac mausi latin1, la spiegazione è la stessa), le lettere accentate sono nella seconda metà della prima (unica) pagina dela codifica; Xelatex prevede la codifica unicode, quindi l’editore deve salvare in UTF-8, lui se non altro assume questa codifica; per cui dato e non concesso che riesa a leggere la seconda metà della prima pagina, non trova nessun carattere unicode, ma trova solo degli slot vuoti.

        Perciò verifica le Preferences del tuo editor e impostale a utf8 (UTF-8, secondo la dizione ufficiale); riscrivi il file come suggerisce Claudio e magari continua con l’invocazione del font Monaco, ma attraverso le istruzioni specifiche di fontspec; altrimenti senza queste istruzioni specifiche, fontspec usa i font Latin Modern Open Type.

      • #81457
        Up
        0
        Down
        ::


        Scusate il ritardo…
        il problema era appunto di codifica dei caratteri del sorgente.

        Tutto è “nato” da un sorgente creato tramite “dir /b > source.txt” dalla *console di Windows*

        Riporto come ho risolto perchè può servire a qualcuno.

        Il file source.txt è codificato con una codifica (codepage) ibm850 e siccome c’erano nell’albero nomi
        di file anche accentati questi non venivano riconosciuti dall’editor.

        Ho risolto così usando Emacs:

        – ho aperto source.txt
        – C-x RET r
        – ho scelto ibm850 per riaprire il file
        – ho impostato utf-8 come codifica di salvataggio
        – se non c’è nel file “.emacs” allora si può usare C-x RET f e scegliere utf-8
        – infine ho salvato e compilato da console con xelatex

        Per quanto riguarda invece il preambolo latex ho seguito le
        indicazioni date da E.Gregorio nella sua breve guida su XeLaTeX
        cioè ho usato polyglossia per la lingua e fontspec per disporre di
        “\setmainfont{Monaco}”

        Alla fine tutto ha funzionato…
        grazie x i suggerimenti!

      • #81458
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Sono contento che tu abbia risolto il problema della codifica con emacs, che è sempre uno strumento tuttofare, ci manca ancara che faccia il caffè…:wink:

          Per altro qui sopra nella sezione documentazione c’è la Guida Tematica sulle codifiche che forse ti converrebbe leggere, anche se hai già risolto il problema.

          Per bacco, non credevo che ci fosse ancora qualche sistema operativo che usasse ancora, oggi, quasi nel 2013, la codifica IBM 850 — non la vedo più da anni. Nello stesso tempo trovo ancora più strano che ci sia qualcuno che nomina i file con stringhe di caratteri che contengono lettere accentate, veramente strano e anche veramente autolesionista; nel momento in cui quei file dovranno essere copiati, spostato, trasferiti su altri calcolatori con sistemi operativi diversi o anche semplicemente pù nuovi o più vecchi, quei file sicuramente non saranno più accessibili nemmeno per cambiare loro il nome, se non editando con software speciali per poter accedere al singolo byte registrato su disco le informazioni relative ai quei file.

          Ti ringrazio di averci tenuto informati.

          Buone feste
          Claudio

        • #81459
          Up
          0
          Down
          ::


          Ricambio e rinnovo gli auguri di buone feste…

          E, in merito al problema delle codifiche, aggiungo:

          – se è vero (come penso sia vero) che che ci
          stiamo “darwinianamente adattando” all’unicode e in particolare
          utf-8 allora non dovrebbe essere strano trovare nomi di file
          con accentate… anzi… già per noi occidentali le accentate
          non sono “cose strane”… figuriamoci quando ci saranno
          altre “bizzarrie orientali” nei nomi dei file

          – le accentate poi sui filesystem unix-like vengono gestite, su ntfs
          (windows da NT in poi) pure, su fat32 (chiavette usb, memorie a
          ss) anche, su ISO-9660 (+ Rock Ridge e/o Joliet) anche

          – i problemi secondo me si hanno più sulla lunghezza dei nomi dei
          file che non sui caratteri usati (anche perchè molti filesystem
          convertono nomi strani in nomi univoci corti)

          – ho verificato che ibm850 funziona pure per la console dos di
          windows… insomma… dio ci salvi da tanta/troppa
          complicazione… e quando c’era solo *LEI* (ASCII) si stava
          meglio… etc.

          BUON NATALE!

        • #81460
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Condivido quasi tutto quello che hai detto: certo i fatti che hai riportato sono fatti e non li discuto.

            Discuto il fatto di usare qualcosa di non ASCII nei nomi dei file e discuto l’abitudine di inserire spazi nei nomi dei file, che certo sono tutti accettabilissimi da tutti i file system moderni e qualcuno degli antichi. Sto parlando in generale, non mi sto riferendo a nessuna persona particolare.

            Ma basta provare a mettere spazi e/o lettere non ASCII nei nomi dei file da far elaborare dai programmi di composizione del sistema TeX (da tex, a latex, a pdflatex, a xelatex, eccetera) e si vedrà che si incontrano problemi. Certo, da questo punto di vista anche il sistema TeX potrebbe modernizzarsi, ma perderebbe molte delle sue caratteristiche di compatibilità con il passato.

            Tanto per fare un esempio: l’underscore è un carattere ASCII perfettamente gestibile nei file system fin dai tempi del vecchio DOS; fino a non molti anni fa l’underscore era vietato nei nomi dei file da elaborare con i programmi di composizione del sistema TeX. Ora sembra che lo sia (cioè sembra che sia accettabile) ma si continua a raccomandare di non usarlo: se va a finire in un argomento mobile sono guai.

            BUON NATALE

            Claudio

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

        Go to top