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 cela se 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 principe de ligature sert pour d’autres cas, par exemple :
les caractères espagnols ¡ et ¿, obtenus avec la saisie
!`
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.
\documentclass[french]{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
\Large
Comment effacer efficacement les fleurs ?
Mais, oui, comment ef\/facer ef{}ficacement les f\mbox{}leurs ?
\end{document}
2. Empêcher systématiquement une ligature#
L’extension fontspec permet d’utiliser des fonctionnalités avancées des polices de caractères, dont le paramétrage des ligatures.
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}
%!TEX engine=lualatex
\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}
%!TEX engine=lualatex
\documentclass{article}
\usepackage{lmodern}
\usepackage[french]{babel}
\pagestyle{empty}
\begin{document}
\Large Comment effacer efficacement les fleurs ?
\end{document}
Sources