Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
composition:texte:mots:desactiver_une_ligature [2016/10/16 07:54] – créée jejust3_composition:texte:mots:desactiver_une_ligature [2021/04/18 11:32] (Version actuelle) – Ajout de références et d'un exemple compilé pour "fontspec". jejust
Ligne 1: Ligne 1:
-\question{Comment désactiver une ligature ?} %29.50+====== Comment empêcher une ligature? ======
  
-\reponse Il suffit d'insérer \marg{}\cmd{mbox}\marg{}\cmd{null}, etc +C'est un point fort de <latex>\TeX</latex> : certains couples de lettres sont automatiquement remplacés par un glyphe uniquepour des raisons esthétiquescomme on le fait en imprimerie au plombPar exemple quand un ''f'' et un ''i'' se suiventle haut du ''f'' aurait normalement tendance à mordre sur le point du ''i'': <latex>\large f\null i</latex>ce qui ne serait pas très beau<latex>\TeX</latex> les remplace donc par un nouveau glyphe plus joli: <latex>\large fi</latex>. Cette fusion de glyphes est une [[wpfr>Ligature_(écriture)|ligature]]
-entre les lettres ligaturées. %Voir l'exemple~\ref{ligature}.  +
-Les codages de fontes T1 et OT1 fournissent aussi une commandeappelée +
-\cmd{textcompwordmark}, qui revient au mêmeDans tous les cas, les +
-césures du mot ne sont plus faites automatiquement par \LaTeX, il faut les +
-définir à la main.+
  
-L'exemple~\vref{ligature} montre la différence de résultat. Noter que, dans +Le même mécanisme est mis en jeu pour obtenir les caractères espagnols <latex>!`</latex> et <latex>?`</latex>, que l'on saisit ''!`'' et ''?`''
-cet exemple, la ligature avec \marg{} est quand même faite : c'est un effet + 
-de bord de l'utilisation du package \pack{multicol}. +Dans les polices cyrilliques utilisées avec l'encodage OT2, le couple de lettres ''sh'' produira le glyphe ш. 
-\begin{exemple}{Supprimer une ligature\label{ligature}} + 
-Comparer <<~effacer~>>, <<~ef{}facer~>>+===== Empêcher ponctuellement une ligature ===== 
-<<~ef\null facer~>><<~ef\mbox{}facer~>>, + 
-<<~ef\textcompwordmark facer~>>. +Pour empêcher une ligature, il suffit de séparer les lettres dans le code  <latex>\LaTeX</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. 
-\end{exemple}+ 
 +L'exemple ci-dessous montre la différence de résultat. 
 + 
 +<WRAP column 47%> 
 +<code latex> 
 +effacer 
 + 
 +ef\/facer 
 + 
 +ef{}facer 
 + 
 +ef\null facer 
 + 
 +ef\mbox{}facer 
 + 
 +ef\textcompwordmark facer 
 +</code> 
 + 
 +<note> 
 +La même solution permet d'empêcher [[wpfr>Crénage|le crénage entre deux caractères]] (//kerning//). 
 + 
 +Comparer ''AV'' (<latex>\large AV</latex>) et ''A\/V'' (<latex>\large A\/V</latex>). 
 +</note> 
 + 
 +</WRAP> 
 +<WRAP column 47%> 
 +<latex> 
 +\LARGE 
 +effacer 
 + 
 +ef\/facer 
 + 
 +ef{}facer 
 + 
 +ef\null facer 
 + 
 +ef\mbox{}facer 
 + 
 +ef\textcompwordmark facer 
 +</latex> 
 + 
 +\\ 
 +Notez que, dans certains cas (comme ici), la ligature est faite malgré ''{}''. Il peut s'agit d'un effet de bord de l'utilisation de l'extension [[ctanpkg>multicol]]. On peut donc préférer les autres solutions. Dans tous les cas, les césures du mot ne sont plus faites automatiquement par <latex>\LaTeX</latex>, il faut les définir à la main. 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 + 
 +===== Empêcher les ligatures dans tout le document ===== 
 + 
 +Les options de [[ctanpkg>fontspec]] peuvent désactiver toutes les ligatures esthétiques, ou les désactiver type par type. 
 + 
 +<WRAP column 47%> 
 +<code latex> 
 +\documentclass{article
 +  \usepackage{fontspec} 
 +  \usepackage[french]{babel} 
 + 
 +\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
 +</code> 
 +</WRAP> 
 +<WRAP column 47%> 
 +<latexdoc> 
 +\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} 
 +</latexdoc> 
 + 
 +\\ 
 +À comparer à la version qui ne désactive pas les ligatures: 
 +<latexdoc> 
 +\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} 
 +</latexdoc> 
 + 
 +\\ 
 +et la version qui n'utilise pas ''\setmainfont'' pour charger la police: 
 + 
 +<latexdoc> 
 +\documentclass{article} 
 +  \usepackage{lmodern} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\Large Comment effacer efficacement les fleurs? 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 +------ 
 +//Sources:// 
 +  * Livre //LaTeX: Apprentissage, guide et référence//, de Bernard Desgraupes
 +  * [[https://hal.archives-ouvertes.fr/cel-02145840/document|LaTeX pour les linguistes]], Thomas Pellard. 
 +  * [[https://tex.stackexchange.com/questions/103238/removing-ligatures-when-using-fontspec|Removing ligatures when using fontspec]]. 
 +  * [[https://english.stackexchange.com/questions/50660/when-should-i-not-use-a-ligature-in-english-typesetting|When should I not use a ligature in English typesetting?]] 
 + 
 +{{htmlmetatags>metatag-keywords=(LaTeX,typographie,fi,ffi,ligature esthétique,fontspec) 
 +metatag-og:title=(Comment empêcher une ligature) 
 +metatag-og:site_name=(FAQ LaTeX francophone) 
 +}}
  
-\endinput 
3_composition/texte/mots/desactiver_une_ligature.1476604497.txt.gz · Dernière modification : 2016/10/16 07:54 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0