03 febbraio, 2007

LaTeX e i caratteri accentati

Finalmente mi sono deciso: sto imparando LaTeX. Io e i word processor come Microsoft Word o OpenOffice Writer non siamo mai andati molto d'accordo. Ho un intimo bisogno che il pc segua le regole che io gli impongo e questi programmi di solito hanno la tendenza e la presunzione di lavorare secondo delle proprie filosofie che spesso non condivido. Così dopo qualche esitazione mi son deciso ad affrontare il mostro (che poi per fortuna tanto mostro non è, anzi ...).

Uno dei primi problemi che mi son trovato ad affrontare sono le lettere accentate (le simpatiche è é ò ù ì à etc) E si perché LaTeX se non gli si da qualche dritta non sa come gestirle (o meglio le gestisce ma bisogna usare cose del tipo \`e per fare una è).

In rete si trovano vari tutorial per principianti (anche in italiano) ma purtroppo quelli che ho trovato io non tengono in considerazione che la maggior parte dei sistemi operativi moderni seri, usa la codifica utf-8 per i file di testo, che a differenza della codifica ASCII, utilizza due bytes per rappresentare un carattere e non uno. Il succo del discorso è che le soluzioni proposte nei tutorials per far "piacere" i fatidici caratteri a LaTeX non funzionano.

Vi posto qui la soluzione funzionante sulla mia ubuntu edgy:


\documentclass[12pt,a4paper,oneside,italian]{book}


\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}

\begin{document}

Adesso possiamo usare tutti i caratteri accentati
èéòàìù

\end{document}
Salvate il file ad esempio come test.tex, compilate con latex test.tex ed ecco le vostre lettere accentate felicemente stampate sul file dvi :)
P.S. Imparate LaTeX se dovete scrivere qualcosa di serio, non ve ne pentirete!

9 commenti:

  1. Anonimo11:36 PM

    Perfetto! utf-8 invece di latin1 e va tutto a meraviglia! grazie

    RispondiElimina
  2. Anonimo10:49 AM

    Grazie! Non riuscivo più a venirne fuori| ;-)

    RispondiElimina
  3. Anonimo3:57 AM

    Ma non sarebbe più semplice impostare la codifica europea in X/K/Ubuntu?

    yves@tux-box:~$ locale
    LANG=it_IT@euro
    LANGUAGE=it_IT:it
    LC_CTYPE="it_IT@euro"
    LC_NUMERIC="it_IT@euro"
    LC_TIME="it_IT@euro"
    LC_COLLATE="it_IT@euro"
    LC_MONETARY="it_IT@euro"
    LC_MESSAGES="it_IT@euro"
    LC_PAPER="it_IT@euro"
    LC_NAME="it_IT@euro"
    LC_ADDRESS="it_IT@euro"
    LC_TELEPHONE="it_IT@euro"
    LC_MEASUREMENT="it_IT@euro"
    LC_IDENTIFICATION="it_IT@euro"
    LC_ALL=

    In questo sistema ci si risparmierebbero altri mal di pancia con documenti redatti con altri, o da inviare ad user di altri SO..

    RispondiElimina
  4. Pensavo che l'encoding utf8 fosse di default in latex! Ecco perche' non riuscivo a venirne fuori .. Bhe grazie mille!

    Andrea

    RispondiElimina
  5. Anonimo1:42 PM

    Niente non riesco a uscirne,,non capisco perchè ma le accentate non me le legge proprio..cosa fare?? Io uso un plugin di eclipse cm editor latex ke m permette la compilazione e la visualizzazione automatica del file formato pdf..heeelp!ciao

    RispondiElimina
  6. Mamma mia, mi hai risolto un problemone, ho perso una mattinata per capire come fargli piacere le accentate e con utf8 al posto di latin1 va alla grande...GRAZIE!!!!

    RispondiElimina
  7. Anonimo11:45 PM

    hai scritto questo utile post il giorno del mio compleanno... grazie!

    RispondiElimina
  8. sotto windows, usando TeXnicCenter, non avevo questo problema, ora sotto linux con questo post ho risolto in 1 minuto. grazie.

    RispondiElimina
  9. Ti adoro, sei stato veramente utile!!! Sto scrivendo la tesi di mio cugino in latex e avevo perso il template della mia tesi...quindi mi si presentava questo errore e non sapevo come risolverlo.

    Grazie!!

    RispondiElimina