À cause des règles traditionnelles d'espacement entre les phrases en anglais et dans d'autres langues (mais pas en français), TeX génère normalement dans ces langues un espacement agrandi après un point (et quelques autres signes de ponctuation), mais désactive ce comportement quand la lettre précédant le point est une majuscule: TeX suppose que dans ce cas, le point fait partie d'un sigle, mais ne termine généralement pas une phrase. Une telle supposition tend à ne plus être vérifiée de nos jours, puisque les points ne sont quasiment plus utilisés dans les sigles (tout du moins en anglais).
Maintenant on doit corriger ce comportement quand la supposition de TeX est erronée. Il y a deux cas:
Un point suivant une lettre minuscule
ne termine pas une phrase. Par exemple, cela peut se produire
après les abréviations e.g.
ou
i.e.
, et une solution courante
est d'ajouter un backslash
avant l'espace qui suit. Mettre \@
après le point peut
être une solution
sémantiquement plus propre
et plus sûre si du word-wrapping
automatique est utilisé à l'édition du source TeX/LaTeX (le
backslash ne doit pas se trouver
en fin de ligne source). Un tilde dans le source (espace insécable) peut
être un meilleur choix après Dr.
et Mr.
, comme suggéré sur
cette page.
Un point suivant une lettre majuscule
termine une phrase. Ceci se produit généralement quand la phrase
se termine par un sigle (dont la dernière lettre est une majuscule).
De nombreux utilisateurs suggèrent d'ajouter \@
avant le
point, comme dans le premier lien ci-dessus. Mais comme expliqué sur
cette page,
\@
détruit le kerning,
et ne devrait donc pas être utilisé. Une solution donnée dans un commentaire
produit une erreur, mais un code légèrement modifié semble fonctionner:
\spacefactor=\sfcode`\.{}
après le point (voir mes tests
ci-dessous).
J'ai fait quelques tests. Voici le source LaTeX space-after-period.tex et le fichier PDF généré (zoomer pour mieux voir les différences).
Les informations ci-dessous sur les paquets ae et aeguill sont obsolètes, ces paquets ayant des inconvénients et ne devant donc plus être utilisés. Maintenant, pour avoir de véritables caractères accentués et une coupure des mots (hyphenation) correcte, une solution est d'utiliser les polices Latin Modern:
\usepackage[T1]{fontenc} \usepackage{lmodern}
Le tilde \textasciitilde
des polices
Computer Modern (utilisées via le
package ae
ou aeguill) est trop haut. Pour obtenir un tilde à
une meilleure hauteur, on peut définir des polices virtuelles, comme
décrit ci-dessous. Merci à Josselin
Noirel pour son aide.
De telles polices virtuelles basées sur le paquet ae peuvent être créées à partir de ce simple script shell. Ensuite les fichiers générés doivent être installés dans des répertoires standard ou listés dans les variables d'environnement TFMFONTS (pour les *.tfm) et VFFONTS (pour les *.vf).
Pour utiliser ces polices virtuelles, installer
le fichier
ltae.sty dans un répertoire standard ou
listé dans la variable d'environnement TEXINPUTS, et
ajouter à son fichier LaTeX: \usepackage{ltae}
.
Note: ltae inclut automatiquement ae
et peut être utilisé en plus d'aeguill.