Modifier l'encodage d'un fichier ".tex"

Rédigé par Alain Olivetti - -
Lorsque l'on s'échange des documents ".tex" un gros problème peut survenir : la perte de tout les caractères accentués à cause d'un problème d'encodage. Sous windows l'encodage le plus utilisé est le iso-8859-1 alors que sous linux il est préférable d'utiliser utf-8. Si vous ouvrez un fichier encodé en iso-8859-1 avec un éditeur qui ouvre ses documents par défaut en utf-8, les caractères accentués seront illisibles. Et si vous sauvegardez votre document, vous ne pourrez plus (facilement) revenir en arrière.

Modifier l'encodage d'un fichier

Une solution pour éviter cela consiste à modifier l'encodage des fichiers avant de les ouvrir. Pour cela nous allons utiliser le programme iconv dans un terminal de la manière suivante :
$ iconv -f iso-8859-1 -t utf-8 input.tex -o output.tex
où :
  • l'option -f permet de préciser l'encodage à modifier,
  • l'option -t permet de spécifier l'encodage final,
  • l'option -o permet de spécifier le nom du nouveau fichier ainsi créé.

Modifier l'encodage de tous les fichiers d'un dossier

Maintenant que nous savons comment changer l'encodage d'un fichier, nous allons faire une boucle pour changer l'encodage de tous les fichiers ".tex" d'un même dossier :
$ for i in *.tex; do iconv  -f iso-8859-1 -t utf-8 "$i" -o "${i%.tex}_utf-8.tex"; done;
Remarque : tout ce que nous venons de voir n'est pas spécifique aux fichiers ".tex" mais je dois avouer que c'est la seule fois que j'en ai eu besoin.