--- myst: html_meta: keywords: LaTeX,mise en page,justification à droite,justification à gauche,au fer à droite,au fer à gauche,arrêter la justification --- # Comment annuler l'effet des commandes « `\raggedleft` » et « `\raggedright` » ? LaTeX fournit les commandes `\raggedright` et `\raggedleft` pour mettre le texte au [fer à gauche ou à droite](wpfr:Justification_(typographie)) (respectivement), mais aucune pour annuler leur effet. La commande `\centering` est implémentée de la même manière que les commandes `\ragged...` et pose le même problème pour revenir à l'alignement standard. ``` \documentclass{article} \usepackage[width=6.2cm]{geometry} \usepackage[french]{babel} \pagestyle{empty} \begin{document} \setlength{\parindent}{0ex} \raggedleft Ce texte d'exemple est au fer à droite. On dit aussi qu'il est \emph{en drapeau à gauche}. \end{document} ``` ## Avec un groupe La façon la plus courante pour limiter l'effet de ces commandes consiste à les utiliser à l'intérieur d'un groupe (ou bloc), délimité par des accolades ouvrante et fermante, ce qui limite l'action des commandes `\raggedright` et `\raggedleft` à ce seul groupe : ``` \documentclass{article} \usepackage[width=6.2cm]{geometry} \usepackage[french]{babel} \pagestyle{empty} \begin{document} \setlength{\parindent}{0ex} Texte aligné à gauche. {\raggedleft Ce texte d'exemple est au fer à droite. On dit aussi qu'il est \emph{en drapeau à gauche}. \par } Retour à la normale. \end{document} ``` ## Avec des commandes de base Le code suivant (à insérer dans votre propre fichier « .sty » ou [entre les commandes « `\makeatletter` » et « `\makeatother` »](/2_programmation/macros/makeatletter_et_makeatother)) définit une commande qui rétablit la justification à droite et à gauche, qui est la justification par défaut de LaTeX : ```{noedit} \def\flushboth{% \let\\\@normalcr \@rightskip\z@skip \rightskip\@rightskip \leftskip\z@skip \parindent 1.5em\relax} ``` Cependant un problème réside dans le paramètre `\parindent` dans ce code : nous le mettons à une valeur fixe (ici `1.5em`). Ceci est nécessaire parce que les deux commandes `\raggedright` et `\raggedleft` mettent `\parindent` à `0`, mais cette solution ne tient pas compte des éventuelles modifications apportées à ce paramètre par ailleurs : - par exemple en mode `twocolumn`, la valeur par défaut de `\parindent` est `1em` et non `1.5em` ; - vous avez également pu aussi le modifier manuellement. ## Avec l'extension « ragged2e » Une solution plus souple pour revenir au mode justifié après avoir mis le texte en drapeau est d'utiliser l'extension de Martin Schröder, qui propose une commande `\justifying` annulant l'effet [de ses commandes « `\raggedleft` » et « `\raggedright` »](/3_composition/texte/paragraphes/justifier_un_paragraphe_a_droite_ou_a_gauche). L'extension fournit également un environnement `justify`, qui permet de justifier une portion de texte au milieu d'un document en drapeau. :::{important} Le paramètre `\parindent` est là encore modifié quand vous changez la justification du texte. Si vous souhaitez qu'il reprenne une valeur particulière quand vous appelez `\justifying`, et non la valeur par défaut de LaTeX, stockez cette valeur particulière dans `\JustifyingParindent`. L'exemple ci-dessous met cette valeur à `0ex` : ::: ``` \documentclass{article} \usepackage[width=6.2cm]{geometry} \usepackage{ragged2e} \usepackage[french]{babel} \pagestyle{empty} \begin{document} \setlength{\parindent}{0ex} \setlength{\JustifyingParindent}{0ex} Texte aligné à gauche. \raggedleft Ce texte d'exemple est au fer à droite. On dit aussi qu'il est \emph{en drapeau à gauche}. \justifying Retour à la normale. \end{document} ``` Si on ne fait pas attention au contenu de `\JustifyingParindent`, on retrouve l'indentation par défaut de LaTeX (ici mise en évidence en rouge) : ``` \documentclass{article} \usepackage[width=6.2cm]{geometry} \usepackage{ragged2e} \usepackage{tikz} \usepackage[french]{babel} \pagestyle{empty} \begin{document} \setlength{\parindent}{0ex} Texte aligné à gauche. \raggedleft Ce texte d'exemple est au fer à droite. On dit aussi qu'il est \emph{en drapeau à gauche}. \justifying \tikz[overlay]\fill[red] (0,0) rectangle (-\parindent,1.5ex);Retour à la normale. \end{document} ``` :::{sources} - [Justification et alignement](https://essentiels.bnf.fr/fr/) par Danièle Memet, - [Cancelling « `\ragged` » commands](faquk:FAQ-flushboth). :::