Problema accentazione in Linux

  • Creatore
    Topic
  • #8171
    Up
    0
    Down
    ::


    Ciao a tutti!
    Sono recentemente passato da win a Linux e quindi dal Miktex a Tetex … uso come editor Kile. Utilizzo PdfLatex.
    Volevo ricompilare un mio precedente lavoro e mi sono accorto di un errore grave in linux.
    La “à” non viene più visualizzata correttamente, al suo posto sono presenti simboli senza senzo… In win usavo
    `\usepackage[latin1]{inputenc} %Scrittura accentazione italiana`
    Non è più corretto in linux?

    Altro problema: non mi riconosce più il pacchetto listings. L’ho anche aggiunto manualmente nella cartella del file .tex, ma non è servito a nulla.

    Ultima cosa, mi sembra che la qualità delle figure sia peggiorato compilando con Pdflatex su linux. Sono io che ci vedo male o è legato al visualizzatore utilizzato (Kpdf o Xpdf).

    Vi ringrazio veramente molto per l’aiuto

Visualizzazione 19 filoni di risposte
  • Autore
    Risposte
    • #8172
      Up
      0
      Down
      ::


      Cortesemente, un post una domanda, soprattutto se gli argomenti sono così diversi.

      Volevo ricompilare un mio precedente lavoro e mi sono accorto di un errore grave in linux.
      La “à” non viene più visualizzata correttamente, al suo posto sono presenti simboli senza senzo… In win usavo
      `\usepackage[latin1]{inputenc} %Scrittura accentazione italiana`
      Non è più corretto in linux?

      Ti riferisci alla visualizzazione nell’editor o nel pdf finale?

      In generale, se hai usato inputenc e non riesci, dall’editor di testo, a leggere cosa c’è scritto, LaTeX riesce ugualmente a compilare correttamente (e quindi con le lettere accentate in modo corretto).

      Per quanto riguarda l’encoding, invece, su GNU/Linux la questione è molto diversa, in quanto è possibile mettere qualsiasi encoding alla distribuzione. La scelta di quale encoding dipende fondamentalmente da chi ha distribuito il sistema operativo: Fedora adotta di default UTF-8, Mandriva e altre usano ancora ISO-8859-1 (latin1), altre ISO-8859-15 (latin9).

      Uno dei modi più validi per vedere quale encoding è abilitato di default nella distribuzione è quello di lanciare il comando`printenv LC_ALL`su un terminale. Riporta qui l’output di quel comando e ti diremo cosa devi fare e quale altra opzione di inputenc usare. Magari, dicci anche che distribuzione hai.

      Ciao.

    • #8173
      Up
      0
      Down
      ::

      Cortesemente, un post una domanda, soprattutto se gli argomenti sono così diversi.

      Scusami hai pienamente ragione. Per gli altri punti apro altri thread.

      Nell’editor riesco a leggere correttamente quello che ho scritto, è nell’output che non vengono rappresentati correttamente.

      Comunque il comando che mi hai dato in terminale non da nessun output.
      La mia distribuzione è Kubuntu 5.10 (l’ultima versione).

      Grazie

    • #8174
      MWH
        Up
        0
        Down
        ::

        Comunque il comando che mi hai dato in terminale non da nessun output.

        digiti il comando `printenv`

        poi nell’output cerchi la voce corrispondente a (nel caso di Fedora 3): `LANG=it_IT.UTF-8` e
        `GDM_LANG=it_IT.UTF-8`
        ciao

        mau

      • #8175
        Up
        0
        Down
        ::


        Oppure, meglio ancora, lanciare il comando`locale`e riportarci l’output.

        Ciao.

      • #8176
        Up
        0
        Down
        ::


        Ecco l’output:

        `davide@kubuntu:~$ locale
        LANG=it_IT.UTF-8
        LC_CTYPE=”it_IT.UTF-8″
        LC_NUMERIC=”it_IT.UTF-8″
        LC_TIME=”it_IT.UTF-8″
        LC_COLLATE=”it_IT.UTF-8″
        LC_MONETARY=”it_IT.UTF-8″
        LC_MESSAGES=”it_IT.UTF-8″
        LC_PAPER=”it_IT.UTF-8″
        LC_NAME=”it_IT.UTF-8″
        LC_ADDRESS=”it_IT.UTF-8″
        LC_TELEPHONE=”it_IT.UTF-8″
        LC_MEASUREMENT=”it_IT.UTF-8″
        LC_IDENTIFICATION=”it_IT.UTF-8″
        LC_ALL=
        davide@kubuntu:~$
        `

      • #8177
        MWH
          Up
          0
          Down
          ::

          Ecco l’output:

          installa il pacchetto utf8x, poi:
          `\usepackage[utf8x]{inputenc}`

          Ciao

          Mau

        • #8178
          Up
          0
          Down
          ::


          Correggo Mau, il pacchetto da installare è unicode.

          Ciao.

          PS: se ti interessa convertire i tuoi documenti da latin1 a utf8x, cerca nel forum di iconv.

        • #8179
          MWH
            Up
            0
            Down
            ::

            Correggo Mau, il pacchetto da installare è unicode

            sorry 😳 i miei ultimi neuroni cominciano a fare cilecca.

          • #8180
            Up
            0
            Down
            ::


            Sto cercando di installare unicode seguendo i consigli che mi avevate dato a suo tempo per layaureo.
            Sono andato su CTAN … ma ci sono tantissimi file … quali prendo?
            Io ho preso :
            ucs.sty
            ucsencs.def
            utf8x.def
            Li ho inseriti in una cartella e ho fatto texhash. Ho controllato l’installazione;
            `davide@kubuntu:~$ kpsewhich utf8x.def
            /home/davide/texmf/tex/latex/ucs/utf8x.def
            `
            Nel file ho inserito:
            `\usepackage{ucs}
            \usepackage[utf8x]{inputenc} `
            Ma mi si generano un’infinità di errori.
            Credo che mi manchi qualche file.

          • #8181
            Up
            0
            Down
            ::


            Maurizio (e anche io) intendeva dirti che quel pacchetto lo devi usare solo con i nuovi documenti.

            Per il tuo documento che non riesci a vedere, prova così:`iconv -f latin1 -t utf8 origfile.tex > prova.tex`Cambia all’interno di prova.tex ‘latin1’ con ‘utf8x’ e prova a compilare.

            Ciao.

          • #8182
            Up
            0
            Down
            ::


            Io mi trovo nella stessa situazione di cyberciro con l’aggravante che non riesco a vedere le lettere neanche nell’editor (sono però sicuro che ci siano dal momento che windows le visualizza).
            Il comando locale mi da questo output:

            LANG=it_IT.UTF-8
            LC_CTYPE=”it_IT.UTF-8″
            LC_NUMERIC=”it_IT.UTF-8″
            LC_TIME=”it_IT.UTF-8″
            LC_COLLATE=”it_IT.UTF-8″
            LC_MONETARY=”it_IT.UTF-8″
            LC_MESSAGES=”it_IT.UTF-8″
            LC_PAPER=”it_IT.UTF-8″
            LC_NAME=”it_IT.UTF-8″
            LC_ADDRESS=”it_IT.UTF-8″
            LC_TELEPHONE=”it_IT.UTF-8″
            LC_MEASUREMENT=”it_IT.UTF-8″
            LC_IDENTIFICATION=”it_IT.UTF-8″
            LC_ALL=

            e il mio sistema è suse 9.3 con kde 3.5.
            Mi potete aiutare?
            Grazie,
            Xwang

          • #8183
            Up
            0
            Down
            ::

            […]non riesco a vedere le lettere neanche nell’editor (sono però sicuro che ci siano dal momento che windows le visualizza).[…]

            Con che editor hai scritto? Che charset usavi sotto Windows? Devi conoscere questa cosa per poter eseguire i seguenti passi:

            • convertire l’encoding del tuo documento usando iconv

            • Installare il pacchetto unicode

            • Sostituire l’opzione del pacchetto inputenc nel sorgente con utf8x

            In linea teorica, dopo questo percorso tutto dovrebbe andare a posto.

            Ciao.

          • #8184
            Up
            0
            Down
            ::

            […]non riesco a vedere le lettere neanche nell’editor (sono però sicuro che ci siano dal momento che windows le visualizza).[…]

            Con che editor hai scritto? Che charset usavi sotto Windows? Devi conoscere questa cosa per poter eseguire i seguenti passi:[ul][li]convertire l’encoding del tuo documento usando iconv
            [li]Installare il pacchetto unicode[li]Sostituire l’opzione del pacchetto inputenc nel sorgente con utf8x[/ul]In linea teorica, dopo questo percorso tutto dovrebbe andare a posto.

            Ciao.

            Il file inizialmente è stato creato sotto windows xp home usando texnic center.

            Usando il comando iconv come suggerito adesso vedo correttamente i caratteri accentati nell’editor sotto linux (sia in kwrite che in kile), ma sotto windows il sorgente ottenuto tramite iconv non è più correttamente visualizzato(nel senso che qualsiasi editor io usi non riconosce correttamente le lettere accentate).

            Come si fa ad ottenere un file .tex che sia correttamente visualizzato da entrambi i SO senza dover ogni volta convertire usando iconv?

            C’è una guida che prenda in considerazione questo aspetto?
            Grazie,
            Xwang

          • #8185
            Up
            0
            Down
            ::

            Come si fa ad ottenere un file .tex che sia correttamente visualizzato da entrambi i SO senza dover ogni volta convertire usando iconv?

            Facendo in modo che i due sistemi operativi utilizzino lo stesso encoding: il che vuol dire cambiare encoding alla tua distro Linux, facendo in modo di sostituire l’attuale UTF-8 con un più classico ISO-8859-1 (che è la codifica utilizzata da TeXnicCenter, a quanto pare).

            Per sapere come fare, è necessario che tu ti rivolga a qualcun altro, ad esempio al Linux Users Group più vicino a te, oppure che tu chieda a Google.

            Ciao.

          • #8186
            MWH
              Up
              0
              Down
              ::


              Aggiungo alle indicazioni di Emiliano la sempre valida soluzione di non usare vocali accentate nel sorgente (quindi: \`e tanto per capirci 😉 )

              Ciao

              Mau

            • #8187
              Up
              0
              Down
              ::


              Il non usare vocali accentate è un’ottima soluzione, all’inizio lo facevo sempre … però qualche volta mi dimenticavo, e nella stampa avevo o lettere senza senso o spazi vuoti.

            • #8188
              Up
              0
              Down
              ::


              Ciao a tutti!
              Recupero un vecchio post perché mi si è ripresentato lo stesso problema.
              Ho appena aggiornato la mia distro di linux (Kubuntu) alla nuova versione e è cambiato l’encoding. Ora non è più UTF8x ma solo UTF8.
              L’accentazione è corretta ma si presenta un errore con il pacchetto listing. Definendo l’opzione:
              `
              inputencoding=utf8`
              e quindi utilizzando:
              `\lstinputlisting{codice}`
              Ho il seguente errore:
              `[PDFLaTeX] relazione.tex => relazione.pdf (pdflatex)
              [PDFLaTeX] finished with exit status 1
              ./cilindro_potenza_genB.m:9:Package inputenc Error: Unicode char \u8:�expandafter not set up for use with LaTeX. %Conduttività
              ./cilindro_potenza_genB.m:9:Package inputenc Error: Keyboard character used is undefined(inputenc) in inputencoding `utf8'. %Conduttività
              [PDFLaTeX] 2 errors, 0 warnings, 0 badboxes`
              Il carattere problematico è ovviamente “à”.
              Ho cercato su ctan ma l’unico pacchetto che si riferisce a UTF è unicode (che ho già installato).
              Non so come intervenire.

              Vi ringrazio per la pazienza.

            • #8189
              Up
              0
              Down
              ::

              Ora non è più UTF8x ma solo UTF8.

              Non esiste un encoding che si chiami UTF8x; con il nome utf8x ci si riferisce solamente a un file .def particolare, installato con il pacchetto unicode.

              Ti consiglio di provare a continuare ad utilizzare utf8x come opzione per inputenc e utilizzare anche quell’opzione per listing.

              Facci sapere, ciao.

            • #8190
              Up
              0
              Down
              ::


              Con un po’ di ritardo ho riprovato ma continua a darmi errori.
              Questo è il file .tex principale (ho cercato di renderlo il più minimale possibile):
              `\documentclass[a4paper,11pt]{article}

              \usepackage[utf8x]{inputenc}

              \lstset{language=Matlab,basicstyle=\small,breaklines=true,inputencoding=utf8x,numbers=left,emptylines=2,numberblanklines=false}

              \usepackage[big]{layaureo}

              \begin{document}

              \input{barracil.tex}

              \end{document}`
              All’interno del file barracil.tex è presente l’istruzione:
              `\paragraph*{Listato Matlab}

              \lstinputlisting{cilindro_potenza_genB.m}`

              L’errore che si presenta è il seguente:

              `[PDFLaTeX] relazione.tex => relazione.pdf (pdflatex)
              [PDFLaTeX] finished with exit status 1
              ./cilindro_potenza_genB.m:9:Package utf8x Error: Malformed UTF-8 sequence. %Conduttività
              ./cilindro_potenza_genB.m:9:Package ucs Error: Unknown Unicode character 65533 = U+FFFD,(ucs) possibly declared in uni-255.def. %Conduttività
              ./cilindro_potenza_genB.m:9:Package utf8x Error: Character 160 appeared alone. %Conduttività
              [PDFLaTeX] 3 errors, 0 warnings, 0 badboxes`

              Ovviamente la stringa accentata si trova all’interno del file .m, il listato inseritto.
              L’accentazione nel resto del documento non presenta problemi. Penso che il problema sia legato proprio a listings.

              Vi ringrazio per l’aiuto

            • #8191
              Up
              0
              Down
              ::


              SO che sto rispondendo ad un argomento vecchio di 5 anni, ma lo faccio perché è uno dei pochi argomenti su come risolvere il problema in questione, e completo la soluzione in modo che altri, come ho fatto io oggi, possano risolverlo leggendo direttamente qui.

              La soluzione consiste nell’aggiungere la riga
              `
              \lstset {inputencoding=utf8x, extendedchars=\true}
              `

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

          Go to top