Ceci est une ancienne révision du document !


\question{Comment supprimer certaines coupures de mots ?}

\reponse Pour agir sur un mot particulier, il faut utiliser la commande \cmd{hyphenation}. L'exemple~\vref{log-showhyphen} montre le fichier \ext{log} produit lors de l'utilisation de \cmd{showhyphens} et comment il est affecté par \cmd{hyphenation}. La sortie sur le terminal est tr\`es similaire (un peu moins d\'etaill\'ee).

\begin{termexemple}{Sortie produite par la commande \cmd{showhyphen}\label{log-showhyphen}} \begin{source} \nonstopmode \showhyphens{mousehole AlGaAs GaAs GaInP AlInP} \hyphenation{AlGaAs GaAs GaInP AlInP} \showhyphens{mousehole AlGaAs GaAs GaInP AlInP} \endinput \end{source} \end{termexemple}

\reponse Moins propre mais tout aussi efficace, on peut inclure le mot à ne pas couper dans une \cmd{hbox}. Cela s'applique plus g\'en\'eralement \`a une phrase qu'on voudrait ne pas couper (voir exemple~\vref{hbox-anti-cesure}).

Si l'on met une phrase dans un \cmd{hbox}, les espaces auront leur taille naturelle (plus de compression ni d'étirement).

\begin{exemple}{Emp\^echer une coupure avec \cmd{hbox}\label{hbox-anti-cesure}} M\^eme en bout de ligne, \hbox{une bo\^ite horizontale n'est pas coup\'ee}. \end{exemple}

\reponse Pour empêcher \LaTeX de couper les mots dans un paragraphe il suffit de l'encadrer par les commandes \benv{sloppypar} et \eenv{sloppypar}.

\reponse Pour empêcher \LaTeX de couper les mots dans tout un document, il faut utiliser la commande \cmd{sloppy} dans le préambule du document. On peut également utiliser la déclaration : \cmd{hyphenpenalty 10000}.

\reponse De manière globale, on peut aussi supprimer les césures pour toute une famille de fonte en déclarant: \begin{noexemple} \DeclareFontFamily{T1}{cmr}{\hyphenchar\font=-1} \end{noexemple}

\reponse Pour interdire la coupure de tous les mots commençant par une majuscule, il faut utiliser : \cmd{uchyph=0} dans le préambule du document.

\reponse On peut également interdire la coupure des mots d'une langue particulière dans un document multilingues en utilisant l'astuce suivante : il suffit de créer un fichier de motifs de césures vide, par exemple pour le russe, le source~\vref{ruhyph-tex}.

\begin{file}{ruhyph.tex}{ruhyph-tex} \patterns{} \endinput \end{file}

Et dans le fichier \fichier{language.dat} ajouter la ligne \begin{noexemple} russian ruhyph.tex \end{noexemple}

\endinput

3_composition/texte/mots/empecher_des_coupures_de_mots.1476604534.txt.gz · Dernière modification: 2016/10/16 09:55 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0