Social Icons

miércoles, 11 de enero de 2012

Recodificar un fichero .tex a utf-8 en Linux y Mac OS X

Introducción

Este post es heredero de éste otro  ---convendría consultarlo ahora para situarse--- y particulariza la información dada allí a la problemática específica de LaTeX.

La cuestión es que muy frecuentemente echamos mano a unos viejos apuntes escritos de acuerdo con el convenio iso-8899-1, también conocido como "latin1", y encontramos que ahora nos conviene mejor tenerlo bajo el convenio utf-8. O sencillamente, podemos haber recibido un "fichero.tex" escrito en ambiente Windows por alguien, que queremos compilarlo en nuestro Ubuntu y que no podemos por la codificación de los acentos, según indica el mensaje de error.  ¿Cómo recodificamos el fichero para su compilación?

Supondremos, una vez más, que usamos emacs para escribir nuestros ficheros .tex en nuestro sistema Ubuntu, aunque por supuesto esta restricción es sólo por fijar ideas. Lo que se dice para emacs vale para nuestro editor preferido.

Procedimiento en Linux

Supongamos que tenemos un "fichero .tex" codificado en iso-8859-1 y que queremos recodificarlo a utf-8 y producir un fichero "fichero_utf8.tex". Si la codificación del inicial no fuera iso-8859-1, indagaríamos cuál es dicha codificación con la orden:

  $ file -i fichero.tex 

y procederíamos en analogía. La denominación de las diferentes codificaciones las conocemos mediante la orden

  $ iconv -l

En el caso que nos ocupa, actuaremos como sigue:

1) Recodificación del fichero 

$ iconv -f ISO_8859-1 -t UTF-8 -o fichero_utf8.tex fichero.tex

2) Abrimos "fichero_utf8.tex" con emacs y sustituimos, si la hubiera, la línea:
   
    \usepackage[latin1]{inputenc}

   por la línea:

    \usepackage[utf8]{inputenc}

Este tipo de información no suele faltar en los ficheros .tex pues está prescrito indicar en la cabecera del documento qué codificación estamos usando para que no sea tomada la de defecto, que eventualmente no será la nuestra. No obstante, hay ficheros .tex que no llevan esa información y entonces no sería necesario el paso 2 ni el 3 ni el 4.

3) Guardamos los cambios del paso anterior en la línea mencionada y procedemos a cerrar el fichero "fichero_utf8.tex" saliendo de emacs.

4) Abrimos nuevamente el "fichero_utf8.tex" y ya deben ser visibles correctamente los acentos en él y ser compilable.

Procedimiento en Mac OS X

En Mac OS X el procedimiento es análogo. Para encontrar la codificación del fichero ejecutaríamos en terminal:

file -I file.tex

Para encontrar la lista de codificaciones usamos la misma orden que en Ubuntu:

iconv -l

y para cambiar la codificación del fichero (por ejemplo de iso_8859-1 a utf-8) ejecutaremos:

iconv -f iso-8859-1 -t utf-8 file.tex > newfile.tex

lo cual modificará el fichero, por lo que habríamos de tener copia aparte, si queremos conservar el original. Es posible que tengamos que editar el fichero y operar dentro cambiando los acentos.

Y ... esto es todo por hoy.

0 comentarios:

Publicar un comentario