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
2_composition:texte:paragraphes:latex_fait_des_lignes_trop_longues [2021/02/03 13:08] – Fin de traduction. yannick.tanguy2_composition:texte:paragraphes:latex_fait_des_lignes_trop_longues [2021/02/10 10:12] (Version actuelle) – Explicitation de l'utilisation de \linebreak bdumont
Ligne 1: Ligne 1:
-====== Comment gérer des lignes qui débordent ? ======+====== Comment gérer des lignes qui débordent? ======
  
-Lorsque <latex>\LaTeX</latex> construit un paragraphe, il peut faire plusieurs tentatives pour obtenir un saut de ligne correct. À chaque tentative, il exécute le même algorithme mais lui donne des paramètres différents. Vous pouvez influencer le fonctionnement de la coupure de ligne de <latex>\LaTeX</latex> en ajustant ces paramètres : cette réponse traite des paramètres de « tolérance » et d'étirement. L'autre « paramètre » vital est l'ensemble des césures applicables : la question « [[2_composition:langues:cesure:la_cesure_ne_fonctionne_pas|Pourquoi mes mots ne sont pas césurés ?]] » et toutes les questions liées développent ce point. +Lorsque <latex>\LaTeX</latex> construit un paragraphe, il peut faire plusieurs tentatives pour obtenir un saut de ligne correct. À chaque tentative, il exécute le même algorithme mais lui donne des paramètres différents. Vous pouvez influencer le fonctionnement de la coupure de ligne de <latex>\LaTeX</latex> en ajustant ces paramètres : cette réponse traite des paramètres de « tolérance » et d'étirement. L'autre « paramètre » vital est l'ensemble des césures applicables : la question « [[3_composition:langues:cesure:la_cesure_ne_fonctionne_pas|Pourquoi mes mots ne sont pas césurés ?]] » et toutes les questions liées développent ce point. 
  
 Si vous obtenez l'erreur « overfull box » (boîte qui déborde), <latex>\LaTeX</latex> a tout simplement abandonné ses tentatives : les paramètres que vous lui avez donnés ne lui permettent pas de produire un résultat sans débordement. Dans ce cas, Donald Knuth a décidé que la meilleure chose à faire était de produire un avertissement et de permettre à l'utilisateur de résoudre le problème (l'alternative, passer sous silence ce problème, aurait été désagréable pour tout typographe averti). En temps normal, l'utilisateur peut presque toujours résoudre le problème en reformulant son texte --- mais ce n'est pas toujours possible. Cette réponse décrit donc les approches à adopter pour résoudre le problème, en supposant que la césure est correcte.  Si vous obtenez l'erreur « overfull box » (boîte qui déborde), <latex>\LaTeX</latex> a tout simplement abandonné ses tentatives : les paramètres que vous lui avez donnés ne lui permettent pas de produire un résultat sans débordement. Dans ce cas, Donald Knuth a décidé que la meilleure chose à faire était de produire un avertissement et de permettre à l'utilisateur de résoudre le problème (l'alternative, passer sous silence ce problème, aurait été désagréable pour tout typographe averti). En temps normal, l'utilisateur peut presque toujours résoudre le problème en reformulant son texte --- mais ce n'est pas toujours possible. Cette réponse décrit donc les approches à adopter pour résoudre le problème, en supposant que la césure est correcte. 
Ligne 7: Ligne 7:
 ===== Avec la commande \linebreak ===== ===== Avec la commande \linebreak =====
  
-Le cas le plus simple est celui où un mot court ne parvient pas à être césuré à la fin d'une ligne. Déplacer le mot entier sur une nouvelle ligne ne fait souvent pas grande différence mais cela peut conduire à un résultat si mauvais que <latex>\LaTeX</latex> le refuse par défaut. Dans ce cas, //essayer// d'utiliser la commande ''\linebreak'' peut résoudre le problème bien que cela puisse parfois demande énormément de « bidouilles ». Sinon, il faut ajuster les paramètres : pour ce faire, nous devons récapituler les détails des mécanismes de coupure de ligne de <latex>\LaTeX</latex>+Le cas le plus simple est celui où un mot court ne parvient pas à être césuré à la fin d'une ligne. Déplacer le mot entier sur une nouvelle ligne ne fait souvent pas grande différence mais cela peut conduire à un résultat si mauvais que <latex>\LaTeX</latex> le refuse par défaut. Dans ce cas, on peut //essayer// d'introduire la commande ''\linebreak[n]'' à l'endroit où un passage à la ligne nous paraît souhaitable, ''n'' étant un entier compris entre 1 et 4 : plus le nombre est élevé, plus <latex>\TeX</latex> est incité à opérer le passage à la ligne, un valeur de 4 ne lui laissant pas le choix. il faut toutefois prendre garde à ce que cela ne produise pas des espacements trop larges dans la ligne que vous coupez 
 + 
 +Sinon, il faut ajuster les paramètres : pour ce faire, nous devons récapituler les détails des mécanismes de coupure de ligne de <latex>\LaTeX</latex>
  
 ===== Avec les paramètres \pretolerance, \tolerance et \emergencystretch ===== ===== Avec les paramètres \pretolerance, \tolerance et \emergencystretch =====
Ligne 40: Ligne 42:
 Modifier ''\tolerance'' est souvent une bonne méthode pour ajuster l'espacement. Plain <latex>\TeX</latex> et <latex>\LaTeX</latex> lui attribuent la valeur ''200''. La commande ''\sloppy'' de <latex>\LaTeX</latex> lui donne la valeur de ''9999'', tout comme l'environnement ''sloppypar''. Cette valeur est la plus grande disponible (hors infini) et peut autoriser des pauses assez médiocres.  Modifier ''\tolerance'' est souvent une bonne méthode pour ajuster l'espacement. Plain <latex>\TeX</latex> et <latex>\LaTeX</latex> lui attribuent la valeur ''200''. La commande ''\sloppy'' de <latex>\LaTeX</latex> lui donne la valeur de ''9999'', tout comme l'environnement ''sloppypar''. Cette valeur est la plus grande disponible (hors infini) et peut autoriser des pauses assez médiocres. 
  
-Il est plus satisfaisant d'apporter de petits changements à ''\tolerance'', de manière incrémentielle, puis de voir comment le changement affecte le résultat. De très petites augmentations peuvent souvent suffire. Rappelez-vous que ''\tolerance'' est un paramètre de paragraphe : vous devez donc vous assurer qu'il est réellement appliqué comme l'explique la question « [[2_composition:texte:paragraphes:parametres_non_appliques_au_paragraphe|Pourquoi mon paramètre de paragraphe est-il ignoré ?]] ». Dans la pratique, les utilisateurs de <latex>\LaTeX</latex> peuvent définir un environnement pouvant englobant plusieurs paragraphes pour y appliquer leur valeur de paramètre. Voici un exemple : +Il est plus satisfaisant d'apporter de petits changements à ''\tolerance'', de manière incrémentielle, puis de voir comment le changement affecte le résultat. De très petites augmentations peuvent souvent suffire. Rappelez-vous que ''\tolerance'' est un paramètre de paragraphe : vous devez donc vous assurer qu'il est réellement appliqué comme l'explique la question « [[3_composition:texte:paragraphes:parametres_non_appliques_au_paragraphe|Pourquoi mon paramètre de paragraphe est-il ignoré ?]] ». Dans la pratique, les utilisateurs de <latex>\LaTeX</latex> peuvent définir un environnement pouvant englobant plusieurs paragraphes pour y appliquer leur valeur de paramètre. Voici un exemple : 
  
 <code latex> <code latex>
Ligne 74: Ligne 76:
 metatag-og:site_name=(FAQ LaTeX francophone) metatag-og:site_name=(FAQ LaTeX francophone)
 }} }}
 +
3_composition/texte/paragraphes/latex_fait_des_lignes_trop_longues.1612357687.txt.gz · Dernière modification : 2021/02/03 13:08 de yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0