fournit les commandes \raggedright
et \raggedleft
pour mettre le texte
au fer à gauche ou à droite (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.
\raggedleft Ce texte d'exemple est au fer à droite. On dit aussi qu'il est \emph{en drapeau à gauche}.
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 :
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.
Le code suivant (à insérer dans votre propre fichier « .sty » ou entre les commandes “\makeatletter” et “\makeatother”) définit une commande qui rétablit la justification à droite et à gauche, qui est la justification par défaut de :
\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 :
twocolumn
, la valeur par défaut de \parindent
est 1em
et non 1.5em
;
Une solution plus souple pour revenir au mode justifié après avoir mis le texte en drapeau est
d'utiliser l'extension ragged2e de Martin Schröder, qui propose une commande \justifying
annulant l'effet
de ses commandes “\raggedleft” et “\raggedright”.
L'extension fournit également un environnement justify
, qui permet de justifier une portion de texte au milieu d'un document en drapeau.
\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{ragged2e} \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{ragged2e} \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 Retour à la normale. \end{document}
Sources :