Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
composition:langues:cesure:desactiver_completement_la_cesure [2018/05/24 16:58] joseph.wright3_composition:langues:cesure:desactiver_completement_la_cesure [2021/08/24 15:44] (Version actuelle) – Suite et fin de traduction. Ajout d'exemples de "\sloppy" et "\raggedright". jejust
Ligne 1: Ligne 1:
---- +====== Comment désactiver complètement la coupure des mots======
-section: How do I do…? +
-subsection: Hyphenation +
-permalink: /FAQ-hyphoff +
-date: 2014-06-10 +
----+
  
-# Stopping all hyphenation 
  
-It may seem an odd thing to want to do (after allone of TeX's +Cela peut sembler une drôle d'idée (après toutla qualité de son algorithme de césure 
-great advertised virtues is the quality of its hyphenation) but it'+est l'une des forces de TeX) mais c'est parfois nécessaire.
-sometimes necessary.  The real problem is, that the quality of +
-TeX's output is by default largely dependent on the presence of +
-hyphenation; if you want to abandon hyphenation, something has to +
-give.+
  
-TeX (slightly confusingly) offers four possible mechanisms for +<note important> 
-suppressing hyphenation (there were only two prior to the extensions +Si vous utilisez couramment TeX, vous avez dû vous habituer à obtenir automatiquement 
-that arrived with TeX version&nbsp;3).+des blocs de texte plutôt esthétiques. Or ceci est largement dépendant de l'utilisation 
 +de la césure... Si vous abandonnez la césure, vous risquez d'être déçu par le résultat. 
 +</note>
  
-First, one can set the hyphenation penalties `\hyphenpenalty` and 
-`\exhyphenpenalty` to an ''infinite'' value (that is to say, 10000). 
-This means that all hyphenations will sufficiently penalise the line 
-that would contain them, that the hyphenation won't happen.  The 
-disadvantage of this method is that TeX will re-evaluate any 
-paragraph for which hyphenations might help, which will slow TeX 
-down. 
  
-Second, one can select a language for which no hyphenation patterns +TeX offre quatre façons différentes de supprimer la césure (il n'y en avait 
-exist.  Some distributions create a language `nohyphenation`, +que deux jusqu'à la version 3 de TeX).
-and the [`hyphenat`](https://ctan.org/pkg/hyphenat) package uses this technique for its +
-`\nohyphens` command which sets its argument without any +
-hyphenation.  You can load [`hyphenat`](https://ctan.org/pkg/hyphenatwith the command +
-  `\usepackage[none]{hyphenat}` +
-to prevent any hyphenation in a single-language document.  The +
-technique cannot work in a document in which [`babel`](https://ctan.org/pkg/babel) controls +
-language selection, since [`babel`](https://ctan.org/pkg/babel) incorporates hyphenation +
-change into its language change facilities.+
  
-Third, one can set `\left-` and/or `\righthyphenmin` to a 
-sufficiently large value that no hyphenation could possibly succeed, 
-since the minimum is larger than the length of the longest word 
-TeX is willing to hyphenate (the appropriate value is 62). 
  
-Fourthone can suppress hyphenation for all text using the current +===== Par les pénalités de coupure de mots ===== 
-font by the command + 
-```latex+Tout d'abord, on peut donner aux pénalités de césure ''\hyphenpenalty'' et ''\exhyphenpenalty'' 
 +des valeurs « infinies » (c'est-à-dire 10000, pour TeX). Cela signifie que toute césure pénalisera 
 +suffisamment la ligne qui la contiendrait pour qu'elle n'ait pas lieu. 
 +L'inconvénient de cette méthode est que le moteur TeX recalculera tout paragraphe 
 +pour lequel les césures pourraient être utiles, ce qui le ralentira. 
 + 
 +<WRAP column 42ex> 
 +**Césure standard**: 
 +<code latex> 
 +
 +
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[11pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=5.65cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP column 42ex> 
 +**Sans césure**: 
 +<code latex> 
 +\hyphenpenalty=10000 
 +\exhyphenpenalty=10000 
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[11pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=5.65cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\hyphenpenalty=10000 
 +\exhyphenpenalty=10000 
 + 
 +\begin{document} 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 + 
 +===== En utilisant une langue sans motifs de césure ===== 
 + 
 +On peut sélectionner une langue pour laquelle aucun motif de césure n'existe. 
 +Certaines distributions créent pour cela une langue ''nohyphenation'', 
 +et le paquetage [[ctanpkg>hyphenat]] utilise cette technique pour sa commande ''\nohyphens'', 
 +qui compose son argument sans césure. 
 +Vous pouvez charger [[ctanpkg>hyphenat]] avec la commande: 
 +<code latex> 
 +\usepackage[none]{hyphenat} 
 +</code> 
 +pour empêcher toute césure dans un document monolingue. 
 + 
 +Cette technique ne peut pas fonctionner dans un document dans lequel [[ctanpkg>babel]] 
 +est utilisé pour sélectionner la langue, puisque [[ctanpkg>babel]] s'occupe de régler 
 +les paramètres de césure en même temps qu'il change la langue. 
 + 
 +===== En jouant sur les longueurs minimales des fragments coupés ===== 
 + 
 +Les variables ''\lefthyphenmin'' et ''\righthyphenmin'' définissent 
 +la longueur minimale des fragments à gauche et à droite (respectivement) 
 +d'une coupure de mot, en nombre de caractères. 
 + 
 +Les valeurs standard en français et anglais sont: 
 +<code latex> 
 +\lefthyphenmin=2 
 +\righthyphenmin=3 
 +</code> 
 + 
 +Si vous leur donnez une valeur plus grande que la longueur du plus long mot existant, 
 +vous désactiverez de fait la césure. 
 +La valeur généralement conseillée est ''62''
 +\\ 
 + 
 +:!: Les trois exemples ci-dessous n'utilisent pas [[ctanpkg>babel]], pour un résultat plus illustratif. 
 + 
 +<WRAP column 33ex> 
 +**Césure standard**: 
 +<code latex> 
 +\lefthyphenmin=2 
 +\righthyphenmin=3 
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[10pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=4.7cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\lefthyphenmin=2 
 +\righthyphenmin=3 
 + 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP column 33ex> 
 +**Petites valeurs**: 
 +<code latex> 
 +\lefthyphenmin=1 
 +\righthyphenmin=1 
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[10pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=4.7cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\lefthyphenmin=1 
 +\righthyphenmin=1 
 + 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP column 33ex> 
 +**Grandes valeurs**: 
 +<code latex> 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[10pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=4.7cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 + 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 +<note important> 
 +''\left-'' et ''\righthyphenmin'' reprennent leurs valeurs par défaut à chaque changement de langue. 
 +</note> 
 + 
 +===== Par la méthode utilisée par LaTeX en interne ===== 
 + 
 +Enfin, on peut supprimer la césure pour tout texte utilisant la police courante
 +grâce à la commande: 
 +<code latex>
 \hyphenchar\font=-1 \hyphenchar\font=-1
-``` +</code> 
-This isn't a particularly practical way for users to suppress + 
-hyphenation&nbsp;&mdash; the command has to be issued for every font the +Ce n'est pas un moyen spécialement commode pour l'utilisateur, puisque cette commande 
-document uses&nbsp;&mdashbut it's how LaTeX itself suppresses hyphenation +doit être répétée pour chaque police utilisée dans le document, mais c'est ainsi que 
-in `tt` and other fixed-width fonts.+LaTeX supprime la césure dans les polices ''tt'' et autres polices à chasse fixe. 
 + 
 + 
 +===== Comment choisir? ===== 
 + 
 +Cela dépend de ce que vous voulez réellement faire... 
 +Si le texte dont la césure doit être désactivé s'étend sur moins d'un paragraphe, 
 +votre seule possibilité est d'utiliser la langue sans césure: 
 +en effet, la valeur de la langue peut être changée en cours de paragraphe 
 +(comme la police courante), et avoir immédiatement un effet, 
 +alors que les valeurs des pénalités et des longueurs minimales des fragments 
 +ne sont utilisées qu'à la fin du paragraphe en cours pour mettre celui-ci en forme. 
 + 
 +En revanche, si vous écrivez un document multilingue en utilisant l'extension [[ctanpkg>babel]], 
 +vous //ne pouvez pas// désactiver la césure en utilisant une langue sans césure ou 
 +les longueurs minimales des fragments, car toutes ces valeurs sont modifiées à chaque changement 
 +de langue par [[ctanpkg>babel]]. Donc dans ce cas, utilisez plutôt les pénalités. 
 + 
 + 
 +===== Comment améliorer le résultat? ===== 
 + 
 +Si vous vous contentez de désactiver la césure pour une bonne partie du texte, 
 +le bloc de texte aura une apparence « en dents de scie » sur la droite, 
 +et de nombreuses lignes seront trop longues. 
 +Pendant la compilation, (La)TeX vous bombardera d'avertissements ''overfull/underfull boxes'' 
 +(à chaque ligne trop longue ou trop courte, en fait). 
 +Pour éviter cela, vous avez deux options. 
 + 
 +Le plus simple est d'utiliser la commande ''\sloppy'' (ou l'environnement correspondant ''sloppypar''). 
 +Cela demande à TeX d'étirer le contenu des lignes insuffisamment remplies 
 +pour occuper tout l'espace disponible, et de couper les lignes trop pleines 
 +puis d'étirer le reste. 
 +Évidemment, le résultat ne sera pas très beau, mais il faut savoir faire des concessions. 
 + 
 + 
 +La meilleure solution consiste à composer le texte 
 +[[3_composition:texte:paragraphes:justifier_un_paragraphe_a_droite_ou_a_gauche|au fer à gauche]] 
 +(ou « en drapeau à droite »), avec la commande ''\raggedright'' (ou l'environnement correspondant ''flushleft''), 
 +pour se débarrasser au moins des lignes trop longues; 
 +cette technique est « traditionnelle » (dans le sens où les dactylographes l'ont toujours fait) 
 +et le résultat n'est pas forcément contraire au bon goût typographique. 
 + 
 +Vous pouvez comparer le rendu ici: 
 + 
 +<WRAP column 33ex> 
 +**Césure juste désactivée**: 
 +<code latex> 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 +
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[10pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=4.6cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 + 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP column 33ex> 
 +**Avec ''\sloppy''**: 
 +<code latex> 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 +\sloppy 
 +</code> 
 + 
 +<latexdoc> 
 +\documentclass[10pt]{article} 
 +  \usepackage[T1]{fontenc} 
 +  \usepackage[width=4.6cm,height=6cm]{geometry} 
 +  \usepackage{lmodern} 
 +  \usepackage[french]{babel} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 +\sloppy 
 + 
 +Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière. 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP column 33ex> 
 +**Avec ''\raggedright''**: 
 +<code latex> 
 +\lefthyphenmin=62 
 +\righthyphenmin=62 
 +\raggedright 
 +</code>
  
-Which of the techniques you should use depends on what you actually +<latexdoc> 
-want to do.  If the text whose hyphenation is to be suppressed runs +\documentclass[10pt]{article} 
-for less than a paragraphyour only choice is the no-hyphens +  \usepackage[T1]{fontenc} 
-language: the language value is preserved along with the text (in the +  \usepackage[width=4.6cm,height=6cm]{geometry} 
-same way that the current font is); the values for penalties and +  \usepackage{lmodern} 
-hyphen minima active at the end of a paragraph are used when +  \usepackage[french]{babel} 
-hyphenation is calculated.+  \pagestyle{empty}
  
-Contrariwise, if you are writing a multilanguage document using the +\begin{document} 
-[`babel`](https://ctan.org/pkg/babel) package, you _cannot_ suppress hyphenation +\lefthyphenmin=62 
-throughout using either the no-hyphens language or the hyphen minima: +\righthyphenmin=62 
-all those values get changed at a [`babel`](https://ctan.org/pkg/babel) language switch: use +\raggedright
-the penalties instead.+
  
-If you simply switch off hyphenation for a good bit of textthe +Longtempsje me suis couché de bonne heure. Parfoisà peine ma bougie éteintemes yeux se fermaient si vite que je n'avais pas le temps de me dire : \og{}Je m'endors.\fg{} Etune demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière
-output will have a jagged edge (with many lines seriously overfull), +\end{document} 
-and your (La)TeX run will bombard you with warnings about overfull +</latexdoc> 
-and underfull boxes (that isreallylines) To avoid this you have +</WRAP> 
-two options.+<WRAP clear />
  
-The simplest route is to use `\sloppy` (or its environment version 
-`sloppypar`), and have TeX stretch what would otherwise 
-be underfull lines to fill the space offered, while prematurely 
-wrapping overfull lines and stretching the remainder.   
  
-The better bet is to set the text [ragged right](FAQ-ragright.md)+----- 
-and at least get rid of the overfull lines; this technique is +//Sources:// 
-''traditional'' (in the sense that typists have always done it) and may +  * [[faquk>FAQ-hyphoff|Stopping all hyphenation]]
-be expected to  +  * [[https://tex.stackexchange.com/questions/5036/how-to-prevent-latex-from-hyphenating-the-entire-document|How to prevent LaTeX from hyphenating the entire document?]]
-appeal to the specifiers of eccentric document layouts (such as those +
-for dissertations), but for once their sense conforms with typographic +
-style.  (Or at least, style constrained in this curious way.)+
  
 +{{htmlmetatags>metatag-keywords=(LaTeX,césure,coupure des mots,hyphenation,coupure en fin de ligne,désactiver la césure,désactiver la coupure des mots)
 +metatag-og:title=(Comment désactiver complètement la coupure des mots?)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
3_composition/langues/cesure/desactiver_completement_la_cesure.1527181137.txt.gz · Dernière modification : 2018/05/24 16:58 de joseph.wright
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0