Comment empêcher une ligature ?#
C’est un point fort de TeX : certains couples de lettres sont automatiquement
remplacés par un glyphe unique, pour des raisons esthétiques, comme on le fait
en imprimerie au plomb. Par exemple quand un f
et un i
se suivent, le haut
du f
aurait normalement tendance à mordre sur le point du i
, ce qui ne
serait pas très beau. TeX les remplace donc par un nouveau glyphe plus
joli. Cette fusion de glyphes est une
ligature :
Sans ligature |
Avec ligature |
---|---|
Le même mécanisme est mis en jeu pour obtenir les caractères espagnols ¡ et ¿,
que l’on saisit !`
et ?`
.
Dans les polices cyrilliques utilisées avec l’encodage OT2, le couple de lettres sh
produira le glyphe ш.
1. Empêcher ponctuellement une ligature#
Pour empêcher une ligature, il suffit de séparer les lettres dans le code LaTeX avec quelque chose qui ne produira rien dans le fichier de sortie. Par exemple : \/
, {}
, \mbox{}
, \null
. Les codages de fontes T1 et OT1 fournissent aussi la commande \textcompwordmark
, qui a le même but.
L’exemple ci-dessous montre la différence de résultat.
\documentclass{article}
\usepackage{fontspec}
\usepackage[french]{babel}
\pagestyle{empty}
\defaultfontfeatures{
Ligatures={
NoCommon,
NoRequired,
NoContextual,
NoHistoric,
NoDiscretionary
}
}
\setmainfont[
BoldFont=lmroman10-bold.otf,
ItalicFont=lmroman10-italic.otf,
BoldItalicFont=lmroman10-bolditalic.otf,
SlantedFont=lmromanslant10-regular.otf,
BoldSlantedFont=lmromanslant10-bold.otf,
SmallCapsFont=lmromancaps10-regular.otf
]{lmroman10-regular.otf}
\begin{document}
\Large Comment effacer efficacement les fleurs ?
\end{document}
À comparer à la version qui ne désactive pas les ligatures :
\documentclass{article}
\usepackage{fontspec}
\usepackage[french]{babel}
\pagestyle{empty}
\setmainfont[
BoldFont=lmroman10-bold.otf,
ItalicFont=lmroman10-italic.otf,
BoldItalicFont=lmroman10-bolditalic.otf,
SlantedFont=lmromanslant10-regular.otf,
BoldSlantedFont=lmromanslant10-bold.otf,
SmallCapsFont=lmromancaps10-regular.otf
]{lmroman10-regular.otf}
\begin{document}
\Large Comment effacer efficacement les fleurs ?
\end{document}
et la version qui n’utilise pas
\setmainfont
pour charger la police :
\documentclass{article}
\usepackage{lmodern}
\usepackage[french]{babel}
\pagestyle{empty}
\begin{document}
\Large Comment effacer efficacement les fleurs ?
\end{document}
Sources
Livre LaTeX : Apprentissage, guide et référence, de Bernard Desgraupes.
LaTeX pour les linguistes, Thomas Pellard.