Suivant: , Précédent: , Monter: Line breaking   [Table des matières][Index]


9.5 \discretionary (point de césure généralisé)

Synopsis :

\discretionary{avant-saut}{après-saut}{sans-saut}

Gère la modification d’un mot autour d’une césure. Cette commande est d’un usage rare dans les documents LaTeX.

Si un saut de ligne survient au point où \discretionary apparaît, alors TeX met avant-saut à la fin de la ligne courante et met après-saut au début de la ligne suivante. S’il n’y a pas de saut à cet endroit alors TeX met sans-saut.

Dans le mot ‘difficile’ les trois lettres ffi forment une ligature. TeX peut néanmoins faire un saut entre les deux ‘f’ avec ceci :

di\discretionary{f-}{fi}{ffi}cile

Notez que l’utilisateur n’a pas à faire ceci. C’est typiquement géré automatiquement par l’algorithme de césure de TeX.

Les arguments de \discretionary ne peuvent contenir que des caractères, des boîtes ou des crénages.

La commande \discretionary permet de contrôler finement la césure dans les cas où ne suffisent ni le contrôle standard de la césure fait l’algorithme de césure de TeX et les règles de césures données par les paquetages de gestion linguistiques, ni les moyens de contrôle explicites offerts par les commandes \hyphenation (voir \hyphenation) et \- (voir \- (césure à gré)).

L’usage typique de \discretionary est par exemple de contrôler la césure au sein d’une formule mathématique en mode ligne (voir aussi Miscellanées mathématique (entrée \*)). Ci-dessous un exemple de contrôle de la césure au sein d’une adresse réticulaire, où l’on autorise la césure sur les obliques mais en utilisant une controblique violette en lieu de trait d’union :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{french}
\newcommand*\DiscrSlash{\discretionary{\mbox{\textcolor
 {purple}{\textbackslash}}}{/}{/}}
\begin{document}
Allez donc à \href{http://une/tr\%c3\%A8s/tr\%c3\%A8s/longue%
  /mais/vraiment/tr\%c3\%A8s/longue/adresse/r\%C3\%A9ticulaire%
  /index.html}{http://une\DiscrSlash très\DiscrSlash très\DiscrSlash
  longue\DiscrSlash mais\DiscrSlash vraiment\DiscrSlash
  très\DiscrSlash longue\DiscrSlash adresse\DiscrSlash
  réticulaire\DiscrSlash index.html}
\end{document}

Suivant: , Précédent: , Monter: Line breaking   [Table des matières][Index]