Depuis vos premières heures sous LaTeX, on vous dit de toujours utiliser les packages « fontenc » et « inputenc », au moins jusqu’à ce que vous vous mettiez à la langue de Miley Cyrus. Je vais donc (enfin) vous dévoiler leur utilité.
Table des matières
inputenc
Son nom signifie globalement « encodage d’entrée », c’est-à-dire encodage des caractères utilisés dans le fichier source. Ce package sert à pouvoir taper les accents directement dans le fichier source (par exemple en utilisant « é » au lieu de \'{e}
). inputenc
se contente en fait de faire lui-même la conversion entre ces caractères accentués et les commandes d’accentuation.
En option de ce package, il est impératif de préciser quel encodage est utilisé pour le fichier source :
\usepackage[utf8]{inputenc} |
fontenc
Ce package permet quant à lui d’afficher et de prendre correctement en charge ces caractères accentués (du point de vue du fichier de sortie).
Dans la très grande majorité des cas, on utilisera l’encodage T1 :
\usepackage[T1]{fontenc} |
Il est préférable de charger inputenc
avant fontenc
.
Exemples de rendus
On va donc torturer un peu $latex \LaTeX$ avec les accents, en essayant de compiler le code suivant :
\documentclass{minimal} \usepackage[francais]{babel} \begin{document} aïoli défaite abrègement désir dessécher dévot anthropoïde archaïque archaïsme aléa allégresse algèbre arachnoïde amèrement après arène amitié assèchement café céder céleri alcaloïde cicérone ambiguë androïde crémerie anéroïde crépi crépu abcès affrètement anthérozoïde \end{document} |
On obtient donc (sans surprise) ceci :
Aucun des caractères accentués n’est sorti, puisqu’ils ne peuvent même pas être lus par le compilateur !
Si on rajoute inputenc
:
Le rendu est pas mal (tous les caractères sont correctement lus et affichés), mais la césure est catastrophique : le compilateur ne connaît pas les règles de césure pour les mot accentués. Et c’est, vous vous en doutez, fontenc
qui va nous sortir de ce mauvais pas :
Le résultat semble maintenant parfait… de loin ! Car si on zoome :
On en revient à mon billet précédent sur les polices $latex \LaTeX$ : le fait de charger fontenc
remplace les polices par défaut par des fontes de type 3, c’est-à-dire non vectorielles.
Rétablissement des polices vectorielles
Pour retourner dans le droit chemin, vous pouvez passer par le package ae
ou bien utiliser les fontes modernes, voire les deux :
\usepackage{ae,lmodern} |
Il est conseillé de charger lmodern
avant fontenc
Conclusion
Votre préambule doit donc toujours avoir au moins :
\usepackage{ae,lmodern} % ou seulement l'un, ou l'autre, ou times etc. \usepackage[francais]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} |