> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/mise-en-forme/04-articles-how-to-change-paragraph-spacing-in-latex.md).

# Mise en forme des paragraphes

## Introduction

Cet article explore deux méthodes pour modifier divers aspects de l'espacement des paragraphes :

* la méthode recommandée, la meilleure pratique, consistant à utiliser des packages LaTeX tels que [`setspace`](https://ctan.org/pkg/setspace) et [`parskip`](https://ctan.org/pkg/parskip) qui fournissent des options et des commandes de niveau utilisateur pour modifier l'espacement de vos documents LaTeX ;
* l'utilisation de commandes de paramètres bas niveau TeX/LaTeX *commandes de paramètres* pour modifier l'espacement des paragraphes. L'utilisation directe des commandes de paramètres peut contourner les vérifications ou contrôles fournis par des packages LaTeX soigneusement conçus, ce qui peut entraîner des conséquences/effets secondaires inattendus ailleurs dans votre document LaTeX ; utilisez-les donc avec précaution...

### Accéder directement aux sections d'intérêt

Les lecteurs à la recherche de solutions rapides :

* aller à la section [*Utilisation des packages LaTeX : setspace et parskip*](#using-latex-packages-setspace-and-parskip)

Les lecteurs intéressés par les commandes de bas niveau :

* aller aux sections [*Commandes de paramètres TeX/LaTeX*](#using-texlatex-parameter-commands) et [*Les notions de base : commandes de paramètres et exemples*](#the-fundamentals-parameter-commands-and-examples)

Les lecteurs intéressés par les détails fins des calculs d'interligne et de la structure des paragraphes :

* aller à la section [*Structure des paragraphes et calculs d'espacement des lignes*](#paragraph-structure-and-line-space-calculations)

## Utilisation des packages LaTeX : setspace et parskip

* [Le package parskip](#the-parskip-package)
* [Le package setspace](#the-setspace-package)

### Le package parskip

Le [`parskip` package](https://ctan.org/pkg/parskip?lang=en) vous aide à modifier en toute sécurité l'espace inséré entre les paragraphes de votre document. Il est conçu pour garantir que des structures de document telles que la table des matières, les environnements de listes et les titres affichés ne soient pas affectés négativement par une valeur non nulle de [`\parskip` commande](#parskip-tex-primitive), qui est utilisée pour définir la quantité d'espace que TeX/LaTeX insère entre les paragraphes.

Le `parskip` Le package ne fournit aucune commande de niveau utilisateur ; à la place, il utilise des options du package pour configurer ses actions. Le [`parskip` documentation](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) est bref, seulement trois pages, mais voici un court résumé des options du package :

* **`skip`**: spécifie `\parskip`, l'espace vertical entre les paragraphes ;
* **`tocskip`**: spécifie une valeur non nulle de `\parskip` à utiliser dans `\tableofcontents` et les listes similaires ;
* **`indent`**: définit la valeur de `\parindent`, le retrait de paragraphe ;
* **`parfill`**: ajuste la valeur de `\parfillskip`, la colle ajoutée à la fin de la dernière ligne d'un paragraphe.

Par défaut, le `parskip` Le package définit `\parindent` à `0pt` et fournit une valeur non nulle de `\parskip` une valeur de `.5[\baselineskip](#baselineskip-tex-primitive) plus 2pt`.

#### Exemples du package parskip

Les exemples suivants démontrent quelques utilisations du package `parskip` . Sélectionnez les liens « Ouvrir dans Overleaf » pour ouvrir et compiler les exemples avec Overleaf.

**Exemple minimal du package parskip**

L'exemple minimal suivant charge le package `parskip` et compose deux paragraphes créés à l'aide de [`blindtext` package](https://ctan.org/pkg/blindtext?lang=en). L'exemple compose également les valeurs par défaut de `\baselineskip`, `\parskip` et `\parindent`. La quantité d'espace entre les deux paragraphes est déterminée par la valeur de `\parskip`:

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Charger le package blindtext pour du faux texte
\usepackage{blindtext}
% Charger le package parskip sans options
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % Utiliser \par pour forcer un nouveau paragraphe
\blindtext[1]

La valeur de \verb|\parindent| est \texttt{\the\parindent}. Voici les autres valeurs :

\begin{itemize}
\item La valeur de \verb|\baselineskip| est \texttt{\the\baselineskip}
\item La valeur de \verb|\parskip| est \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+without+options%0A%5Cusepackage%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+is+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+Here+are+the+other+values%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cparskip%7C+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple d'utilisation du package LaTeX parskip](/files/9f867ad38bca8e39d4f5edfd7eac0eb43b34c2ab)

Notez que `\parskip` la colle contient généralement un composant extensible de [colle](#a-few-notes-on-glue) parce que cela aide LaTeX à adapter le contenu à la page et à produire les meilleurs sauts de page (optimaux).

**Utilisation des options du package parskip**

L'exemple suivant charge et configure les options du package `parskip` package en utilisant l' `skip` et `indent` . Il compose également deux paragraphes, via [`blindtext` package](https://ctan.org/pkg/blindtext?lang=en), et affiche les valeurs de `\baselineskip`, `\parskip` et `\parindent`.

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Charger le package blindtext pour du faux texte
\usepackage{blindtext}
% Charger le package parskip avec les options skip et indent
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % Utiliser \par pour forcer un nouveau paragraphe
\blindtext[1]

La valeur de \verb|\parindent| a été définie via l'option \texttt{indent}, elle vaut donc maintenant \texttt{\the\parindent}. Les autres valeurs sont :

\begin{itemize}
\item \verb|\baselineskip| vaut \texttt{\the\baselineskip}
\item \verb|\parskip| a été définie via l'option \texttt{skip}, donc sa valeur est \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+with+skip+and+indent+options%0A%5Cusepackage%5Bskip%3D10pt+plus1pt%2C+indent%3D40pt%5D%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25+Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+was+set+via+the+%5Ctexttt%7Bindent%7D+option%2C+so+it+is+now+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+The+other+values+are%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+%5Cverb%7C%5Cparskip%7C+was+set+via+the+%5Ctexttt%7Bskip%7D+option%2C+so+its+value+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Un deuxième exemple d'utilisation du package LaTeX parskip](/files/245461a61dedbe5cedcc3c93967649b82bf81405)

### Le package setspace

Le [`setspace` package](https://ctan.org/pkg/setspace?lang=en) fournit des commandes et des environnements pour modifier l'espacement des lignes de texte de votre document. Voici un bref résumé des principales commandes et environnements fournis par `setspace`:

* les commandes **`\singlespacing`**, **`\onehalfspacing`** et **`\doublespacing`** peuvent être utilisés dans le préambule du document, ou dans le corps du document pour modifier l'espacement d'une partie, ou de la totalité, de votre document ;
* le **`\setstretch{*quantité de baselinestretch*}`** la commande définit un espacement personnalisé (via des modifications de [`\baselinestretch`](#demonstrating-baselinestretch))—elle peut également être utilisée dans le préambule du document ;
* les environnements **`singlespace`**, **`singlespace*`** **`onehalfspace`** et **`doublespace`** permettent de modifier l'interligne pour des parties sélectionnées du texte du document ;
* le **`\SetSinglespace{*valeur*}`** la commande utilise `*valeur*` pour ajuster l'interligne simple afin de tenir compte de l'interligne du texte composé avec des polices dont les formes de caractères (« glyphes ») sont relativement petites ou grandes pour la taille en points donnée. Voir la section [*Brèves notes sur les polices et la taille en points*](#brief-notes-on-fonts-and-point-size) pour une illustration montrant la variation de la taille des glyphes de police pour une taille en points donnée ;
* le **`espacement`** l'environnement fournit un espacement personnalisé et requiert un argument : le [`\baselinestretch` valeur](#demonstrating-baselinestretch) à utiliser ; par exemple :

```latex
\begin{spacing}{2.5}
...
...
\end{spacing}
```

#### Exemples du package setspace

Les exemples suivants démontrent quelques utilisations du package `setspace` package : cliquez sur les liens « Ouvrir dans Overleaf » pour ouvrir et compiler les exemples avec Overleaf.

**Utilisation de \doublespacing dans le préambule du document**

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Charger le package blindtext pour du faux texte
\usepackage{blindtext}
% Charger le package setspace
\usepackage{setspace}
% Utiliser \doublespacing dans le préambule
% transforme le texte en interligne double
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[Ouvrez ceci `setspace` exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+doublespacing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de la commande \doublespacing de setspace](/files/9aa54ae08a494d2fe23fecbbda42d7128b192394)

**Utilisation de l'environnement spacing**

Comme le code suivant compose 3 pages, il est préférable de voir la sortie sur Overleaf en sélectionnant le lien « Ouvrir dans Overleaf » fourni ci-dessous.

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Charger le package blindtext pour du faux texte
\usepackage{blindtext}
% Charger le package setspace
\usepackage{setspace}
% Utiliser \doublespacing dans le préambule
% transforme le texte en interligne double
\doublespacing
\begin{document}
\blindtext[1]

À présent, appliquez un espacement (personnalisé) plus grand en appliquant une valeur de \verb|\baselinestretch| de 3 :

\begin{verbatim}
\begin{spacing}{3}
\blindtext[1]
\end{spacing}
\end{verbatim}

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
À présent, revenez à \verb|\singlespacing|\singlespacing\blindtext[1]
\end{document}
```

&#x20;[Ouvrez ceci `setspace` exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+various+setspace+commands\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%0ANow%2C+apply+a+larger+%28custom%29+spacing+by+applying+a+%5Cverb%7C%5Cbaselinestretch%7C+value+of+3%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Cbegin%7Bspacing%7D%7B3%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Cbegin%7Bspacing%7D%7B2.5%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0ANow%2C+revert+to+%5Cverb%7C%5Csinglespacing%7C%5Csinglespacing%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

**Utilisation de l'environnement singlespace\***

Comme indiqué dans l'article [*Petite note sur l'interligne*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/), la `setspace` Le package fournit des versions étoilées (`singlespace*`) et des versions non étoilées du `singlespace` environnement. Les commentaires dans le code du `setspace` package notent que le `singlespace*` environnement est conçu pour « ... offrir un meilleur espacement vertical autour des environnements itemize et quote ».

L'exemple suivant utilise des listes à puces contenues dans deux `minipage` environnements, placés côte à côte, pour démontrer l'espacement différent produit par le `singlespace` et `singlespace*` des environnements.

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
Voici une liste à puces\par (environnement \texttt{singlespace}).
\begin{itemize}
\item Un
\item Deux
\item Trois
\end{itemize}
\end{singlespace}%
La liste est terminée.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
Voici une liste à puces\par (environnement \texttt{singlespace*}).
\begin{itemize}
\item Un
\item Deux
\item Trois
\end{itemize}
\end{singlespace*}
La liste est terminée.
\end{minipage}
```

&#x20;[Ouvrez ceci `setspace` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+starred+singlespace+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cdoublespacing+%0A%5Cblindtext%5B1%5D%0A%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%7D%25%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%5Ckern10pt%25%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%2A%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%2A%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%2A%7D%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de l'environnement LaTeX singlespace\*](/files/6d1fe92b2ef2ab444c5df2eaa9b8f25fd8ea5249)

**Utilisation de la commande \setstretch**

`\setstretch{*valeur*}` définit la valeur de `\baselinestretch` à *valeur* et déclenche un *changement* immédiat `de \baselineslip` provoqué par `\baselinestretch`. L'exemple suivant utilise `\setstretch{1.618}`—la curieuse valeur de 1.618 est [expliquée plus loin dans l'article](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% La curieuse valeur de 1.618 est expliquée plus loin dans l'article.
\setstretch{1.618}
Nous écrivons \verb|\setstretch{1.618}| pour provoquer un changement immédiat de l'interligne. Si nous écrivions \verb|\renewcommand{\baselinestretch}{1.618}|, l'interligne ne serait pas modifié avant qu'une commande de changement de police, telle que \verb|\selectfont|, soit utilisée.

\blindtext[1]
```

&#x20;[Ouvrez ceci `setspace` exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+setstretch+command\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%25+The+strange+figure+of+1.618+is+explained+later+in+the+article.%0A%5Csetstretch%7B1.618%7D%0AWe+write+%5Cverb%7C%5Csetstretch%7B1.618%7D%7C+to+cause+an+immediate+change+to+the+line+spacing.+If+we+wrote+%5Cverb%7C%5Crenewcommand%7B%5Cbaselinestretch%7D%7B1.618%7D%7C+the+line+spacing+would+not+be+modified+until+a+font-changing+command%2C+such+as+%5Cverb%7C%5Cselectfont%7C%2C+is+used.%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de la commande \setstretch](/files/17cf09c689d8b13528c64b897d55c3349b425699)

**Utilisation de la commande \SetSinglespace**

Le projet suivant est compilé via LuaLaTeX et utilise le `fontspec` package pour accéder aux polices TeX Gyre Pagella. Il compare deux paragraphes de texte composés en TeX Gyre Pagella : le premier paragraphe utilise l'interligne simple par défaut et le second a un interligne simple plus grand grâce à l'application de `\SetSinglespace{1.1}`. Certaines personnes peuvent préférer le second paragraphe, légèrement « aéré », estimant qu'il améliore le confort de lecture, mais c'est bien sûr une question de préférence personnelle.

```latex
\section*{Espacement simple par défaut de Computer Modern}
Du texte ordinaire. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
\section*{Interligne simple par défaut de TeX Gyre Pagella}
Voici du texte ordinaire. \blindtext[1]
\section*{Interligne simple ajusté de TeX Gyre Pagella}
Note : nous devons insérer \verb|\singlespacing| après avoir écrit
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
Voici du texte ordinaire. \blindtext[1]
\end{singlespace*}
```

&#x20;[Ouvrez ceci `setspace` exemple dans Overleaf.](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Example+use+of+the+SetSinglespace+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%2A%7BComputer+Modern+default+single+spacing%7D%0ASome+regular+text.+%5Cblindtext%5B1%5D%0A%5Csetmainfont%7BTeX+Gyre+Pagella%7D%0A%5Csection%2A%7BTeX+Gyre+Pagella+default+single+line+spacing%7D%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Csection%2A%7BTeX+Gyre+Pagella+adjusted+single+line+spacing%7D%0ANote%3A+we+need+to+issue+%5Cverb%7C%5Csinglespacing%7C+after+writing++%0A%5Cverb%7C%5CSetSinglespace%7B1.1%7D%7C%5CSetSinglespace%7B1.1%7D%5Csinglespacing%0A%5Cbegin%7Bsinglespace%2A%7D+%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Cend%7Bsinglespace%2A%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Démonstration de la commande \SetSinglespace de LaTeX](/files/87b7aee90ad65bda71ad17518bed2e6811a62898)

Dans la section suivante, nous passons en revue les commandes `\baselinestretch` et `\linespread`.

#### Comprendre \baselinestretch et \linespread

Une partie de la conception de LaTeX pour gérer l'interligne et les changements de police (taille de police, famille de police, encodage de police, etc.) utilise deux commandes que vous pourriez rencontrer :

* **`\baselinestretch`**: cette commande stocke un facteur d'échelle utilisé pour multiplier (mettre à l'échelle) la valeur actuelle de [`\baselineskip`](#baselineskip-tex-primitive). Cette mise à l'échelle est généralement appliquée lorsque *la prochaine fois* une commande de sélection de police est utilisée — telle que `\selectfont`. Pour modifier la valeur stockée par `\baselinestretch` vous devez écrire `\renewcommand{\baselinestretch}{*échelle*}`
  * **Remarque**: Si vous écrivez `\renewcommand{\baselinestretch}{*échelle*}` dans le corps du document, la nouvelle valeur de `\baselinestretch` [n'entrera pas en vigueur immédiatement](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): la nouvelle `*échelle*` facteur est stocké pour une utilisation ultérieure. Pour utiliser/appliquer immédiatement la nouvelle valeur de`*échelle*` , écrivez `\selectfont` comme démontré dans le [fragment de code ci-dessous](#demonstrating-baselinestretch).
* **`\linespread{*échelle*}`**: peut être utilisé pour modifier [`\baselineskip`](#baselineskip-tex-primitive) sans affecter la taille de police actuelle. Cette commande définit `\baselinestretch` à `*échelle*` ce qui modifie ensuite `\baselineskip` à `*échelle* × [\baselineskip](#baselineskip-tex-primitive)`. Cependant, cette mise à l'échelle ne prend pas non plus effet immédiatement, sauf si la `\linespread` commande est utilisée dans le préambule du document. Si `\linespread` est utilisée dans le corps du document, elle prend effet après la prochaine commande de changement/sélection de taille de police.

Sur cette base, soit :

* `\renewcommand{\baselinestretch}{*échelle*}\selectfont` ou,
* `\linespread{*échelle*}\selectfont`

pouvaient être utilisées pour modifier l'interligne, et toutes deux fonctionneront à travers les changements de taille de police, comme démontré dans l'exemple ci-dessous. Alors, laquelle devriez-vous utiliser ? Reportez-vous à [cette courte discussion sur tex.stackexchange](https://tex.stackexchange.com/a/241121).

**Démonstration de \linespread**

L’exemple suivant utilise `\linespread{2.5}` dans le préambule du document, ce qui modifie l'interligne sans nécessiter de commandes supplémentaires de sélection de police :

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Charger le package blindtext pour du faux texte
\usepackage{blindtext}
% L'utilisation de \linespread dans le préambule modifie
% l'interligne sans nécessiter de commandes
% de sélection de police supplémentaires, telles que \selectfont
\linespread{2.5}
\begin{document}
\blindtext[1] % Les lignes sont affectées par \linespread{2.5}
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Using+%5Clinespread+in+the+preamble+changes+%0A%25+line+spacing+without+requiring+additional%0A%25+font-selection+commands%2C+such+as+%5Cselectfont%0A%5Clinespread%7B2.5%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D+%25+The+lines+are+affected+by+%5Clinespread%7B2.5%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation de la commande linespread](/files/3218c453750187115179f279b6bca29e526ac88c)

En utilisant `\linespread{2.5}` dans le corps du document (après `\begin{document}`) *devraient* nécessiter des commandes de sélection de police pour déclencher le changement d'interligne. Ouvrez le code suivant sur Overleaf et comparez la sortie avec l'exemple précédent :

```latex
Comme la commande \verb|\linespread| suivante est utilisée dans le corps du document, une commande de sélection de police est nécessaire pour modifier l'interligne. Décommentez \verb|\selectfont| pour voir la différence :

\linespread{2.5}%\selectfont

% Sans \selectfont, les paragraphes suivants sont
% non affectés par \linespread{2.5} :
\blindtext[1]
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+example+using+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0ABecause+the+following+%5Cverb%7C%5Clinespread%7C+command+is+used+in+the+document+body%2C+a+font-selection+command+is+required+to+change+the+line+spacing.+Un-comment+%5Cverb%7C%5Cselectfont%7C+to+see+the+difference%3A%0A%0A%5Clinespread%7B2.5%7D%25%5Cselectfont%0A+%0A%25+Without+%5Cselectfont+the+following+paragraph+lines+are+%0A%25+unaffected+affected+by+%5Clinespread%7B2.5%7D%3A+%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![utilisation de la commande \linespread de LaTeX dans le document](/files/c0d67d9d402459b2b7b35babae630d6f30c6b1e7)

**Démonstration de \baselinestretch**

L'exemple suivant démontre `\baselinestretch` et `\selectfont` pour montrer l'effet correspondant sur [`\baselineskip`](#baselineskip-tex-primitive):

```latex
La valeur par défaut de \verb|\baselineskip|=\the\baselineskip. Maintenant, mettez à jour \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}. Cependant, bien que nous ayons exécuté

\vspace{5pt}
\verb|\renewcommand\baselinestretch{2.5}|
\vspace{5pt}

\noindent il n'a \textit{pas} (encore) eu d'effet : la nouvelle valeur de \verb|\baselinestretch| est stockée, mais pas appliquée. Nous pouvons émettre une commande \verb|\selectfont| pour que le changement prenne effet ; mais, pour l'instant, la valeur de \verb|\baselineskip| est toujours \the\baselineskip{} (inchangée).

Si nous exécutons maintenant \verb|\selectfont|, le changement de \verb|\baselinestretch|, en le fixant à 2.5, prendra désormais effet---\selectfont même si nous sommes au milieu d'un paragraphe. Maintenant, la valeur de \verb|\baselineskip| est \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\)).

Que se passe-t-il si nous changeons la taille de police à 14pt et \verb|\baselineskip| à 16pt en utilisant les commandes \verb|\fontsize{14}{16}\selectfont| ?

\fontsize{14}{16}\selectfont Maintenant, \verb|\baselineskip| n'est \textit{pas} 16pt mais \the\baselineskip{} car la valeur de \verb|\baselinestretch| (2.5) a été préservée et appliquée, donnant \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\).

\section{\texttt{\bfseries\string\linespread}}
La commande \verb|\linespread| peut être utilisée pour modifier \verb|\baselineskip| sans changer la taille de police.
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0AThe+default+value+of+%5Cverb%7C%5Cbaselineskip%7C%3D%5Cthe%5Cbaselineskip.+Now+update+%5Cverb%7C%5Cbaselinestretch%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D.+However%2C+although+we+have+executed%0A%0A%5Cvspace%7B5pt%7D%0A%5Cverb%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D%7C+%0A%5Cvspace%7B5pt%7D%0A%0A%5Cnoindent+it+%5Ctextit%7Bhas+not%7D+%28yet%29+had+any+effect%3A+the+new+value+of+%5Cverb%7C%5Cbaselinestretch%7C+is+stored%2C+but+not+actioned.+We+can+issue+a+%5Cverb%7C%5Cselectfont%7C+command+to+make+the+change+take+effect%3B+but%2C+for+now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+still+%5Cthe%5Cbaselineskip%7B%7D+%28unchanged%29.+%0A%0AIf+we+now+execute+%5Cverb%7C%5Cselectfont%7C+the+change+to+%5Cverb%7C%5Cbaselinestretch%7C%2C+setting+it+to+2.5%2C+will+now+take+effect---%5Cselectfont+even+though+we+are+in+the+middle+of+a+paragraph.+Now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Cthe%5Cbaselineskip%7B%7D+%28%3D+%5C%282.5+%5Ctimes+12%3D30%5Cmathrm%7Bpt%7D%5C%29%29.%0A%0AWhat+happens+if+we+change+the+font+size+to+14pt+and+%5Cverb%7C%5Cbaselineskip%7C+to+16pt+using+the+commands+%5Cverb%7C%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont%7C%3F+%0A%0A%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont+Now%2C+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctextit%7Bnot%7D+16pt+but+%5Cthe%5Cbaselineskip%7B%7D+because+the+value+of++%5Cverb%7C%5Cbaselinestretch%7C+%282.5%29+has+been+preserved+and+applied%2C+giving+%5Cverb%7C%5Cbaselineskip%7C+%3D+%5C%282.5+%5Ctimes+16%3D40%5Cmathrm%7Bpt%7D%5C%29.%0A%0A%5Csection%7B%5Ctexttt%7B%5Cbfseries%5Cstring%5Clinespread%7D%7D%0AThe+%5Cverb%7C%5Clinespread%7C+command+can+be+used+to+modify+%5Cverb%7C%5Cbaselineskip%7C+without+changing+the+font+size.%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Démonstration de baselinestretch](/files/3c079d2968b5b5244c911789858dfd7f79cc7112)

#### Comment « l'interligne » est-il défini et modifié dans le package setspace ?

Le *précise* définition, et *mesure* de « l'interligne » est sujette à interprétation, ce qui peut conduire à diverses implémentations dans les systèmes/applications logiciels. De toute évidence, le `setspace` package doit supposer une définition opérationnelle de l'interligne afin de pouvoir prendre en charge la composition en lignes « simples » et « doubles », ou tout autre multiple d'interligne. Mais quelles variables sont modifiées par `setspace` pour produire des lignes avec différents niveaux d'espace blanc entre elles ?

Heureusement, [les discussions sur tex.stackexchange](https://tex.stackexchange.com/a/30106) et [les commentaires dans le code du package](https://tex.stackexchange.com/a/632830) clarifient comment `setspace` implémente l'interligne : il définit la valeur de `\baselineskip` en utilisant un multiple de la taille en points de la police.

**Brèves notes sur les polices et la taille en points**

Utiliser des polices à une taille en points particulière signifie appliquer un *facteur d'échelle* aux formes de caractères (glyphes) de ces polices ; une fois mis à l'échelle selon la taille en points, la taille visible du caractère est une fonction du dessin de la police (police de caractères). La taille en points n'a pas de relation universelle et stricte avec la taille réelle d'affichage des formes de caractères dans les polices.

L'image suivante montre des lettres minuscules « abc » stylisées à l'aide de 4 polices différentes, toutes *affichées à la même taille en points*. Notez comment la « taille » de ces lettres minuscules varie selon le dessin de la police (police de caractères), même si elles sont toutes composées à la *même* taille en points :

![Diverses polices à la même taille en points](/files/916b21e8bbc1d93a74daf9b3dd6893ec7fffea09)

#### Interligne simple dans le package setspace

Nous pouvons utiliser [les discussions sur tex.stackexchange](https://tex.stackexchange.com/a/30106) comme base pour des explications supplémentaires.

Un document de base utilisant la classe `article` a une taille de police de texte par défaut de 10pt avec une `\baselineskip` de 12pt. Avec l'option \[11pt] ou \[12pt], la classe article utilise une taille de texte plus grande et une valeur correspondante plus grande pour `\baselineskip` comme indiqué dans le tableau suivant :

| option               | taille de police            | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| -------------------- | --------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (par défaut) | 10pt                        | 12pt                       | 1.2                                                              |
| \[11pt]              | 10,95pt$${}^{\textbf{\*}}$$ | 13,6pt                     | 1.24                                                             |
| \[12pt]              | 12pt                        | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$La raison de la valeur anormale de `10,95pt`, et non exactement `11pt`, est joliment expliquée dans ce [message Reddit](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

Comme indiqué dans le tableau, pour chaque combinaison de taille de police du texte, et la valeur par défaut correspondante (c.-à-d. l'interligne simple) de `\baselineskip`, le rapport

$$\frac{\texttt{\baselineskip}}{\text{font size}}$$

est proche de 1,2. Cette valeur de rapport désigne l'interligne simple et fournit la base des calculs d'interligne utilisés par le `setspace` package.

**Comprendre et calculer les valeurs de \baselinestretch**

Pour obtenir un multiple d'interligne particulier tel que 1,5, 2, 3, etc., la `\baselinestretch` commande doit être réglée sur des valeurs apparemment [« étranges »](https://tex.stackexchange.com/a/30106); par exemple en [avec l’aide de `\linespread` commande](https://texblog.org/2011/09/30/quick-note-on-line-spacing/). Dans cette section, nous allons examiner de plus près `\baselinestretch` pour voir comment ces valeurs « étranges » apparaissent.

Choisissons un document avec une taille de police par défaut de $$f$$ et un `\baselineskip` de $$\text{dbls}\_1$$par défaut, où l'indice $${}\_1$$ implique la valeur par défaut de `\baselineskip` pour l'interligne simple à la taille de police $$f$$.

Nous allons ***définir*** l'interligne simple comme le rapport suivant, que nous appellerons $$\alpha\_f$$:

$$\frac{\text{dbls}\_1}{f}=\alpha\_f$$

Pour une taille de police donnée $$f$$, définissons aussi *définir* les valeurs d'interligne suivantes :

* un multiple d'interligne de 1,5 est *défini* comme

$$\frac{\text{dbls}\_{1.5}}{f}=1.5$$

* un multiple d'interligne de 2,0 est *défini* comme

$$\frac{\text{dbls}\_{2.0}}{f}=2.0$$

* un multiple, $$m$$, d'interligne est *défini* comme

$$\frac{\text{dbls}\_{m}}{f}=m$$

En utilisant notre interligne simple, défini par le rapport $$\alpha\_f$$, nous pouvons écrire le « pseudo-code » suivant pour déterminer une valeur de `\baselinestretch` correspondant à n'importe quel multiple d'interligne $$m$$:

$$\begin{align\*} \texttt{multi spacing } (m) &= \text{a constant } (\lambda) \times \texttt{single spacing}\ \frac{\text{dbls}\_{m}}{f}&=\lambda \times \alpha\_f\ m&=\lambda\alpha\_f\ \lambda&=\frac{m}{\alpha\_f}\kern5pt(\text{refer to }\lambda\text{ as }\texttt{\baselinestretch})\ \implies \texttt{\baselinestretch}&=\frac{m}{\alpha\_f} \end{align\*}$$

Utilisons `11pt` texte (en réalité `10,95pt`) et la valeur par défaut `\baselineskip` une valeur de `13,6pt` pour calculer `\baselinestretch` pour *double* interligne :

$$\begin{align\*} m&=2.0\ \texttt{\baselinestretch}&=\frac{2.0}{\alpha\_f}\ &=\frac{2.0}{\frac{\text{dbls}\_1}{f}}\ &=\frac{2.0}{\frac{13.6}{11}}\ &=2.0 \times \frac{11}{13.6}\ &=1.618\ \end{align\*}$$

L'extrait de code suivant est utilisé dans le `setspace` package pour obtenir `\doublespacing` lorsque la taille de police est de 11 pt. Notez comment la valeur de `1.618`, telle que calculée ci-dessus, est stockée dans la commande `\baselinestretch`:

```latex
\newcommand{\doublespacing}{%
  \setstretch {1.667}%  par défaut
  \ifcase \@ptsize \relax % 10 pt
    \setstretch {1.667}%
  \or % 11 pt
    \setstretch {1.618}%
  \or % 12 pt
    \setstretch {1.655}%
  Этот текст будет на русском языке. Это демонстрация того, что символы кириллицы в сгенерированном документе отображаются правильно.
}
```

En utilisant un `article` une classe de document avec l'option de police 11 pt, l'exemple suivant compare `\doublespacing` avec un `espacement` environnement utilisant notre valeur calculée de `1.618` pour `\baselinestretch`. Sans surprise, les `\baselineskip` valeurs sont identiques (`22.00475pt`):

```latex
\begingroup
\doublespacing
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\doublespacing)|

\blindtext[1]

\endgroup

\begin{spacing}{1.618}
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\begin{spacing}{1.618})|

\blindtext[1]
\end{spacing}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch+calculations\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D25cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D+%25+For+dummy+text.%0A%5Cbegin%7Bdocument%7D%0A%5Cbegingroup%0A%5Cdoublespacing%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cdoublespacing%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%0A%5Cendgroup%0A%0A%5Cbegin%7Bspacing%7D%7B1.618%7D%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cbegin%7Bspacing%7D%7B1.618%7D%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![démonstration de \baselinestretch](/files/408ea78ba076e8396ab73ff63ce79ed9215e1e32)

Des calculs similaires de `\baselinestretch` de valeurs s'appliquent à d'autres tailles de police et combinaisons d'interligne, comme indiqué dans les tableaux suivants :

![paramètres setspace](/files/e377541a8edb3953417dc6d5bb058027e9f178a9)

## Utilisation des commandes de paramètres TeX/LaTeX

Les sections suivantes explorent un certain nombre de commandes liées à l'espacement/la mise en forme des paragraphes : certaines de ces commandes sont *intégrées à* des moteurs de composition TeX, d'autres sont des macros TeX/LaTeX. Les commandes intégrées aux moteurs TeX sont appelées *primitives*, ce qui signifie qu'elles sont *fondamental* et *irréductibles* car, contrairement aux macros, les primitives ne sont pas construites à partir de séquences d'autres commandes.

En particulier, nous examinerons un certain nombre de primitives *commandes de paramètres* prises en charge par tous les moteurs TeX, y compris pdfTeX, XeTeX et LuaTeX. Les commandes de paramètres, qu'elles concernent ou non les paragraphes, sont utilisées pour *obtenir la valeur actuelle* du paramètre correspondant, ou *définir ce paramètre à une nouvelle valeur*. Par exemple, la `\parskip` commande, une primitive, détermine la valeur d'un paramètre qui contrôle la quantité d'espace blanc insérée entre deux paragraphes composés.

Pour *obtenir* (ici, pour la composer) la valeur actuelle de `\parskip` vous écririez :

```latex
\the\parskip
```

Pour *set* la valeur actuelle de `\parskip` à `1pt plus2pt` (une glue flexible) vous pourriez écrire quelque chose comme ceci :

```latex
\setlength{\parskip}{1pt plus2pt}
```

Nous discutons également de quelques *macros*commandes TeX/LaTeX utiles de niveau supérieur, écrites et construites à l'aide d'une séquence de commandes constitutives.

### Commandes utilisées pour l'espacement des paragraphes

Les commandes suivantes (primitives et macros) peuvent être utilisées pour modifier l'espacement des paragraphes. Certaines sont explorées plus en détail et on peut y accéder en suivant le lien à partir du nom de la commande.

#### Commandes primitives

* [`**\parindent**`](#parindent-tex-primitive) : la quantité d'indentation (espace blanc) ajoutée à la première ligne d'un paragraphe.
* [`**\parskip**`](#parskip-tex-primitive) : la quantité d'espace blanc flexible (« glue ») placée entre les paragraphes.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives) : espacement flexible (glue) inséré à droite de chaque ligne d'un paragraphe.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives) : espacement flexible (glue) inséré à gauche de chaque ligne d'un paragraphe.
* [`**\baselineskip**`](#baselineskip-tex-primitive) : la valeur de ce paramètre remplit deux rôles :
  * elle définit la distance souhaitée entre les lignes de base du texte dans un paragraphe ;
  * elle est utilisée pour calculer la quantité (variable) d'espace (glue) ajoutée entre les lignes afin d'obtenir la distance souhaitée entre les lignes de base ([voir plus loin dans l'article](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives) : un paramètre dont la valeur définit la distance minimale acceptable entre deux lignes adjacentes d'un paragraphe.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives) : la quantité d'espace (glue) insérée entre deux lignes d'un paragraphe si la glue calculée `\baselineskip` entraînerait des lignes trop rapprochées.
* `**\parfillskip**` : une glue très flexible ajoutée à la fin de la dernière ligne d'un paragraphe afin de la « remplir » d'espace blanc ; pour un exemple visuel, reportez-vous à l'illustration dans la section [*Visualisation d'autres types de glue de paragraphe*](#visualizing-other-types-of-paragraph-glue).

#### Commandes macro

Les commandes macro TeX/LaTeX suivantes sont souvent utilisées pour modifier l'espacement des paragraphes :

* [`**\offinterlineskip**` et `**\nointerlineskip**`](#offinterlineskipandnointerlineskip) : commandes qui peuvent être utilisées pour désactiver le calcul et l'insertion de `\baselineskip` glue ;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch) : une commande qui stocke un facteur numérique utilisé pour calculer la valeur de `\baselineskip` lorsqu'une police est sélectionnée. Sa valeur par défaut est 1 ;
* [`**\linespread**`](#demonstrating-linespread) : cette commande peut être utilisée pour modifier la valeur actuelle de `\baselinestretch`.

### Espacement flexible (glue)

Les moteurs TeX obtiennent des effets d'espacement, y compris à l'intérieur ou entre les paragraphes, grâce à l'utilisation d'un espace blanc flexible appelé *glue* qui peut être étiré ou contracté selon la quantité d'espace requise. Si vous souhaitez en savoir plus sur le concept de glue dans TeX, davantage de détails sont disponibles dans les articles Overleaf suivants :

* [Explorer les boîtes sous-remplies ou sur-remplies et les calculs de badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [Comment TeX calcule les réglages de glue dans une \hbox](/latex/fr/articles-approfondis/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [Comprendre les avertissements de boîtes sous-remplies et sur-remplies](/latex/fr/base-de-connaissances/138-understanding-underfull-and-overfull-box-warnings.md).

## Les notions de base : commandes de paramètres et exemples

Dans cette section, nous expliquons un certain nombre de commandes de paramètres liées aux paragraphes et fournissons des exemples de leur utilisation.

### \parindent (TeX primitive)

Cette commande de paramètre définit la quantité d'indentation (espace blanc) ajoutée à la première ligne d'un paragraphe. Elle peut être modifiée en utilisant la `\setlength` commande de LaTeX ; par exemple, pour indenter les paragraphes de `15 pt` set `\parindent` à `15 pt` en écrivant :

```latex
\setlength{\parindent}{15pt}
```

Notez que :

* vous pouvez modifier `\parindent` dans un groupe, en veillant à ce que son effet soit localisé aux paragraphes de ce groupe ;
* `\parindent` peut être négative, produisant un « retrait négatif » plutôt qu'une indentation ;
* par défaut, LaTeX n'indente pas le premier paragraphe suivant un titre de section de document (`\section{...}` etc.).

L'exemple suivant montre l'utilisation de `\parindent`.

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Créer une commande pour contenir un paragraphe de texte
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }Lorsque \TeX{} compose un paragraphe, il traite chaque caractère individuel comme une 2D ``boîte'' avec une largeur, une hauteur et une profondeur spécifiques.\par}
\begin{document}

% Définir \parskip pour insérer 10 pt entre les paragraphes
\setlength{\parskip}{10pt}

% Définir la valeur de \parindent à 0 pt
\setlength{\parindent}{0pt}
\testpar

% Définir la valeur de \parindent à 10 pt
\setlength{\parindent}{10pt}
\testpar

% Définir \parindent dans un groupe
{\setlength{\parindent}{50pt}\testpar}

% Maintenant \parindent est de nouveau de 10 pt
\testpar

% Oui, \parindent peut être négatif
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+paragraph+indentation\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Ctexttt%7B%5Cstring%5Cparindent%3D%5Cthe%5Cparindent%5C+%7DWhen+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D+%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%25+Set+%5Cparskip+to+put+10pt+between+paragraphs%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%0A%0A%25+Set+the+value+of+%5Cparindent+to+0pt%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%5Ctestpar%0A%0A%25+Set+the+value+of+%5Cparindent+to+10pt%0A%5Csetlength%7B%5Cparindent%7D%7B10pt%7D%0A%5Ctestpar%0A%0A%25+Set+%5Cparindent+in+a+group%0A%7B%5Csetlength%7B%5Cparindent%7D%7B50pt%7D%5Ctestpar%7D%0A%0A%25+Now+%5Cparindent+is+again+10pt%0A%5Ctestpar%0A%0A%25+Yes%2C+you+can+have+a+negative+%5Cparindent%0A%5Csetlength%7B%5Cparindent%7D%7B-20pt%7D%0A%5Ctestpar%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation de diverses valeurs d'indentation de paragraphe dans LaTeX](/files/f9a8707af3a180feef01d7987852d3a327a28a56)

### \parskip (TeX primitive)

La lisibilité du texte peut être améliorée en séparant les paragraphes par une quantité d'espace blanc qui variera selon une certaine esthétique de conception. TeX/LaTeX permettent aux utilisateurs de contrôler cet espacement entre les paragraphes via la `\parskip` commande de paramètre.

* **Les conseils du `parskip` package** : Le [package parskip](https://ctan.org/pkg/parskip) indiquent que la modification directe de `\parskip` peut « entraîner des espaces verticaux à des endroits inattendus » (dans un document LaTeX). Le `parskip` package tente de corriger les problèmes d'espacement qui peuvent survenir à la suite de modifications de la valeur de `\parskip`—par exemple dans la table des matières et les environnements de listes. Voir aussi la [`parskip` section consacrée au package dans cet article](#the-parskip-package).

Pour définir manuellement la valeur actuelle de `\parskip` utilisez la `\setlength` commande de LaTeX ; par exemple, pour séparer les paragraphes de 3 pt, vous pouvez écrire :

```latex
\setlength{\parskip}{3pt}
```

L'exemple suivant montre l'utilisation de `\parskip`:

```latex
\documentclass{article}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Créer une commande pour contenir un paragraphe de texte
\newcommand{\testpar}{\noindent La valeur actuelle de \texttt{\string\parskip} est \texttt{\the\parskip}. Lorsque \TeX{} compose un paragraphe, il traite chaque caractère individuel comme une 2D~``boîte'' avec une largeur, une hauteur et une profondeur spécifiques.\par}
\begin{document}
\testpar
% Définir \parskip à 5 pt
\setlength{\parskip}{5pt}\testpar
% Définir parskip à 10 pt
\setlength{\parskip}{10pt}\testpar
% Définir \parskip à 25 pt (mais dans un groupe)
{\setlength{\parskip}{25pt}\testpar}
% Le groupe se termine, \parskip est maintenant de nouveau à 10 pt
\testpar
% Oui, \parskip peut être négatif
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+parskip+settings\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Cnoindent+The+current+value+of+%5Ctexttt%7B%5Cstring%5Cparskip%7D+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D.+When+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D%7E%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar%0A%25+Set+%5Cparskip+to+5pt+%0A%5Csetlength%7B%5Cparskip%7D%7B5pt%7D%5Ctestpar%0A%25+Set+parskip+to+10pt%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%5Ctestpar%0A%25+Set+%5Cparskip+to+25pt+%28but+in+a+group%29%0A%7B%5Csetlength%7B%5Cparskip%7D%7B25pt%7D%5Ctestpar%7D%0A%25+Group+ends%2C+now+%5Cparskip+is+again+10pt%0A%5Ctestpar%0A%25+Yes%2C+you+can+have+a+negative+%5Cparskip%0A%5Csetlength%7B%5Cparskip%7D%7B-20pt%7D%5Ctestpar%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Démonstration de l'utilisation de \parskip dans LaTeX](/files/a6866d592b7735b05138dfa98fc7e12609947870)

#### \parskip flexible

Traditionnellement, `\parskip` n'est pas une *valeur fixe* , ce qui entraînerait la même quantité d'espace entre tous les paragraphes. À la place, `\parskip` est généralement défini comme un « espace flexible » (appelé glue) qui permet à TeX d'étirer ou de réduire l'espace entre les paragraphes, aidant ainsi à faire tenir le contenu sur la page et à trouver un « bon » endroit pour un saut de page.

Pour rendre `\parskip` flexible, vous l'écririez sous la forme d'une spécification de glue :

`\setlength{\parskip}{*quantité fixe* **plus** *quantité à étirer* **moins** *quantité à réduire*}`

où `**plus**` et `**minus**` êtes *keywords* utilisé par TeX/LaTeX pour identifier la *quantité à étirer* ou *quantité à réduire* contenue dans une spécification de glue. L'article Overleaf [*Explorer les boîtes sous-remplies ou sur-remplies et les calculs de badness*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) contient une discussion plus approfondie sur la glue.

Par exemple, pour permettre à `\parskip` de varier entre `3 + 1 = 4 pt` et `3 — 1 = 2 pt` vous pourriez écrire

```latex
\setlength{\parskip}{3pt plus1pt minus1pt}
```

### \leftskip and \rightskip (TeX primitives)

Les moteurs TeX fournissent deux commandes de paramètre qui ajoutent de l'espace (glue) à gauche et à droite de chaque ligne dans le paragraphe composé. Comme leurs noms l'indiquent :

* `\leftskip` insère de l'espace (glue) à gauche de chaque ligne d'un paragraphe ;
* `\rightskip` insère de l'espace (glue) à droite de chaque ligne d'un paragraphe.

Les exemples suivants utilisent `\leftskip` et `\rightskip` pour modifier directement l'alignement des paragraphes ; cependant... les modifications de l'alignement du texte sont généralement mieux obtenues via des environnements ou packages LaTeX appropriés — par exemple, voir l' [article Overleaf sur l'alignement du texte](/latex/fr/mise-en-forme/06-text-alignment.md). Bien que nous démontrions le comportement de certaines commandes de paramètres de bas niveau (primitives) fournies par les moteurs TeX, il est généralement conseillé d'utiliser autant que possible des packages LaTeX appropriés.

#### Rendre \leftskip fixe et \rightskip flexible

L'exemple suivant produit deux paragraphes : le premier utilise les valeurs par défaut de LaTeX pour `\leftskip` et `\rightskip` et le second paragraphe est composé avec les réglages suivants :

```latex
\leftskip 10pt
\rightskip 0pt plus 1 fill
```

Ouvrez le projet Overleaf suivant pour voir le résultat :

```latex
\documentclass{article}
\title{Deuxième exemple de \leftskip et \rightskip}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Définir la valeur de certains paramètres liés aux paragraphes
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB, chacun contenant le texte d'un paragraphe.
% Composer un paragraphe avec les valeurs par défaut de \leftskip et \rightskip

\mytextB

% Définir \leftskip et \rightskip à de nouvelles valeurs
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% Maintenant, composer à nouveau le même paragraphe
\mytextB

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Définition de la glue \leftskip dans LaTeX](/files/e520c5ff9e2780bf4f25cb033b13deebecfc1631)

Le graphique suivant est une version annotée du second paragraphe produit par l'exemple ci-dessus. Il est conçu pour mettre en évidence et montrer la quantité de `\leftskip` et `\rightskip` glues insérées dans les lignes du paragraphe, ainsi que l' `\parindent` espace pour la première ligne :

![Définition de la glue \leftskip dans LaTeX](/files/7a125aa45dbdeedb5aa7b3545afa22382138283a)

Notez que `\leftskip` la glue a une taille fixe (10 pt) mais `\rightskip` la glue s'est étirée pour fournir la quantité d'espace blanc requise afin de remplir le côté droit de chaque ligne. Cette « flexibilité » est due à la spécification de `\rightskip` qui contient `plus 1 fill`—fournissant une forme de glue « extensible à l'infini ».

#### Rendre \rightskip fixe et \leftskip flexible

L'exemple suivant produit deux paragraphes : le premier utilise les valeurs par défaut de LaTeX pour `\leftskip` et `\rightskip` et le second paragraphe est composé avec les réglages suivants :

```latex
\leftskip 0pt plus 1 fill
\rightskip 10pt
```

Ouvrez le projet Overleaf suivant pour voir le résultat :

```latex
\documentclass{article}
\title{Exemples de \leftskip et \rightskip}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Définir la valeur de certains paramètres liés aux paragraphes
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB, chacun contenant le texte d'un paragraphe.
% Composer un paragraphe avec les valeurs par défaut de \leftskip et \rightskip

\mytextB

% Définir \leftskip et \rightskip à de nouvelles valeurs
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% Maintenant, composer à nouveau le même paragraphe
\mytextB

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Définition de la glue \rightskip dans LaTeX](/files/cc081cebf85431a32f1c51898df41b9aba688c7d)

Le graphique suivant est une version annotée du second paragraphe produit par l'exemple ci-dessus. Il est conçu pour mettre en évidence et montrer la quantité de `\leftskip` et `\rightskip` glues insérées dans les lignes du paragraphe, ainsi que l' `\parindent` espace pour la première ligne :

![Définition de la glue \rightskip dans LaTeX](/files/f5475279d2693bd41efb1cba0940d10416a33645)

Notez que `\rightskip` la glue a une taille fixe (10 pt) mais `\leftskip` la glue s'est étirée pour fournir la quantité d'espace blanc requise afin de remplir le côté gauche de chaque ligne. Cette « flexibilité » est due à la spécification de `\leftskip` qui contient `plus 1 fill`—fournissant une forme de glue « extensible à l'infini ».

#### Définir \leftskip et \rightskip à des valeurs flexibles

L'exemple suivant produit deux paragraphes : le premier utilise les valeurs par défaut de LaTeX pour `\leftskip` et `\rightskip` et le second utilise les réglages de glue flexibles suivants :

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

Ces réglages aboutissent à des lignes de paragraphe centrées :

```latex
\documentclass{article}
\title{Exemples de \leftskip et \rightskip}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% Définir la valeur de certains paramètres liés aux paragraphes
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB qui définissent le texte de deux paragraphes
% Composer un paragraphe avec les valeurs par défaut de \leftskip et \rightskip

\mytextB

% Définir \leftskip et \rightskip sur des réglages de glue « extrêmement flexibles »
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% Maintenant, composer à nouveau le même paragraphe
\mytextB

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Exemple montrant \leftskip et \rightskip](/files/594ff9ea29125c24d01765f4a6a4a7a4c97eb8b2)

Le graphique suivant est une version annotée du second paragraphe produit par l'exemple ci-dessus. Il est conçu pour mettre en évidence et montrer la quantité de `\leftskip` et `\rightskip` glues insérées dans les lignes du paragraphe, ainsi que l' `\parindent` espace pour la première ligne :

![Exemple montrant \leftskip et \rightskip](/files/b3a3f60fd18a7d808e126026cc78e420a0c5572c)

Notez que les deux `\leftskip` et `\rightskip` sont spécifiés comme `0pt plus 1fill` ce qui les rend tous deux « infiniment flexibles » ; par conséquent, ils s'étirent de la même quantité, ce qui a pour résultat des lignes composées centrées.

#### Définir \leftskip et \rightskip dans un groupe

L'exemple suivant montre comment effectuer des modifications temporaires de `\leftskip` et `\rightskip` en les plaçant dans un groupe. Dans notre exemple, le groupe est créé par `\begingroup`... `\endgroup`, comme le montre l'extrait de code suivant :

```latex
\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup
```

Le premier paragraphe est composé en utilisant une glue « extrêmement flexible » pour `\leftskip` et `\rightskip`:

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

mais le second paragraphe utilise les valeurs par défaut de LaTeX :

```latex
\documentclass{article}
\title{Un autre exemple de \leftskip et \rightskip}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Définir la valeur de certains paramètres liés aux paragraphes
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB qui définissent le texte de deux paragraphes
% Ici, nous modifions \leftskip et \rightskip en réglages de glue « extrêmement flexibles »
% dans un groupe créé par \begingroup ... \endgroup

\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup

% Maintenant, composer à nouveau le même paragraphe après la fermeture du groupe
% ce qui fait revenir \leftskip et \rightskip à leurs valeurs précédentes

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Utilisation de \leftskip et \rightskip dans un groupe](/files/78fd287a3f48d0ae40875b85a2e23276b3aa9247)

**Remarque** : Les réglages de (les effets de) `\leftskip` et `\rightskip` sont limités au paragraphe dans le groupe créé par `\begingroup`... `\endgroup`. Après la fermeture du groupe, le paragraphe suivant est composé en utilisant les valeurs par défaut de LaTeX pour `\leftskip` et `\rightskip`.

### \baselineskip (TeX primitive)

Il est généralement admis en composition que les lignes de texte à l'intérieur des paragraphes doivent être espacées uniformément, sauf lorsque certaines lignes contiennent de grands éléments, tels que des mathématiques ou une image, qui rendent impossible le maintien d'un interligne constant pour ces lignes.

TeX/LaTeX fournissent des commandes et des mécanismes qui permettent aux utilisateurs d'exercer un certain degré de contrôle sur l'interligne. L'une de ces commandes est `\baselineskip` qui obtient ou définit la valeur d'un paramètre qui détermine l'interligne préféré (distance entre lignes de base) dans un paragraphe composé.

Pour composer la valeur actuelle de `\baselineskip` vous pouvez écrire

```latex
\the\baselineskip
```

Pour définir `\baselineskip` à une certaine `valeur` (une longueur LaTeX telle que `pt`) vous pouvez écrire

```latex
\setlength{\baselineskip}{value}
```

Par exemple, pour définir `\baselineskip` à `12pt` vous pouvez écrire

```latex
\setlength{\baselineskip}{12pt}
```

Nous pouvons démontrer le rôle de `\baselineskip` en utilisant le paragraphe (typique) suivant :

![Un exemple de paragraphe LaTeX](/files/26f4301a2579afe0b12864f66306273e2d70686e)

et en ajoutant des annotations qui montrent la distance entre lignes de base contrôlée par `\baselineskip`:

![Un exemple de paragraphe LaTeX annoté pour montrer les distances entre lignes de base](/files/fe70b795706701f96daf3f1ee390271123227c3a)

Le diagramme montre aussi la glue d'interligne : une quantité calculée d'espace blanc ajoutée entre les lignes — nous en discuterons plus en détail plus loin dans l'article.

#### \baselineskip et d'autres paramètres

`\baselineskip` est l'un des quatre paramètres fondamentaux qui contrôlent la quantité d'espace insérée entre les lignes d'un paragraphe ; les autres sont :

* `\lineskip`
* `\lineskiplimit`
* `\prevdepth`

Plus loin dans l'article, nous explorerons [*comment ces quatre paramètres sont utilisés*](#paragraph-structure-and-line-space-calculations) pour calculer les valeurs de glue d'interligne.

#### Exemple \baselineskip (espace fixe)

L'exemple suivant s'ouvre dans Overleaf pour créer un projet contenant un fichier appelé `text.tex` qui définit les commandes `\mytextA` et `\mytextB`—les deux commandes composent un paragraphe. Par souci de commodité, le projet Overleaf utilise un petit format de page car cela facilite la préparation des graphiques et des images pour cette page d'aide.

```latex
\documentclass{article}
\title{Démonstration de baselineskip}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Définir la valeur de certains paramètres liés aux paragraphes (nous en discuterons)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Définir la valeur de \baselineskip---modifiez la valeur pour voir l'effet
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB, chacun composant un paragraphe

% Tout d'abord, composer deux paragraphes avec la valeur par défaut de \baselineskip
\mytextA\mytextB

% Maintenant, modifier \baselineskip pour une valeur plus grande et composer
% un autre paragraphe
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Explorer baselineskip dans TeX ou LaTeX](/files/f8853c300b670702008a84d5e03635699e8a0d83)

Le paragraphe de la page 2 a des lignes largement espacées parce que `\baselineskip` a été fixé à 24 pt.

#### Exemple \baselineskip (espace flexible)

L'exemple suivant spécifie une `\baselineskip` valeur qui possède un composant d'étirement extrêmement flexible (dit « infini ») :

```latex
\baselineskip=12pt plus1fil
```

En raison de cette flexibilité, l'espace blanc entre les lignes des paragraphes peut s'étirer de toute quantité nécessaire pour remplir la page. Une telle flexibilité entraînerait des paragraphes ayant des quantités d'espace très différentes entre leurs lignes de texte constitutives, ce qui pourrait ne pas être esthétiquement plaisant ni facile à lire.

```latex
\documentclass{article}
\usepackage{blindtext}
\title{Démonstration flexible de \texttt{\string\baselineskip}}
\author{Overleaf}
\date{janvier 2022}

\begin{document}

\maketitle
Nous fournirons à \verb|\baselineskip| un composant d'« étirement » très flexible en lui attribuant la valeur \texttt{12pt plus1fil} : \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Introduction}
Ajoutez un paragraphe qui s'étendra maintenant pour remplir la page. \blindtext

\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Flexible+baselineskip+demo\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Ctitle%7BFlexible+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+demo%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BJanuary+2022%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cmaketitle%0AWe%E2%80%99ll+provide+%5Cverb%7C%5Cbaselineskip%7C+with+a+very+flexible+%60%60stretch%27%27+component+by+assigning+the+value+%5Ctexttt%7B12pt+plus1fil%7D%3A+%5Cverb%7C%5Cbaselineskip%3D12pt+plus1fil%7C.%5Cbaselineskip%3D12pt+plus1fil+%0A%5Csection%7BIntroduction%7D%0AAdd+a+paragraph+that+will+now+stretch+to+fill+the+page.+%5Cblindtext%0A%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Démonstration de la glue baselineskip avec une flexibilité infinie](/files/ed73e9ef7f5abd8ea924471d250b69768ff21f05)

**Quelques notes sur la glue**

Certaines des notes suivantes sont tirées de l'article Overleaf [exploration des boîtes sous-remplies ou surremplies et des calculs de mauvaise qualité](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), reproduit ici pour plus de commodité.

L'espace blanc que TeX insère entre les lignes d'un paragraphe, `\baselineskip`, est une forme d'espacement flexible appelée *glue*. Une valeur de glue peut être spécifiée par trois composants :

* a *valeur fixe* quantité ;
* une quantité qu'il peut *s'étirer*;
* une quantité qu'il peut *se réduire*,

Par conséquent, une `\baselineskip` valeur peut être spécifiée ainsi :

`\baselineskip`=*quantité fixe* **plus** *quantité à étirer* **moins** *quantité à réduire*

où

* **plus** et **moins** sont des mots-clés que les moteurs TeX comprennent ;
* *quantité fixe* est appelée le *composant normal* de la glue (aussi appelé le *naturelle* de la glue) ;
* *quantité à étirer* est appelée le *composant d'étirement* de la glue ;
* *quantité à réduire* est appelée le *composant de contraction* de la glue.

Le *quantité fixe* est requis pour toutes les valeurs de glue, mais *quantité à étirer* et *quantité à réduire* sont tous deux facultatifs — si l'un ou l'autre, ou les deux, manquent, leur valeur est fixée à 0.

En général, `\baselineskip` la glue est spécifiée avec une *quantité fixe* seulement, les composants d'étirement et de contraction sont nuls, sinon les lignes du paragraphe auraient un espacement irrégulier (variable), ce qui ne serait peut-être pas esthétiquement agréable.

### \offinterlineskip et \nointerlineskip (macros)

Ces macros sont souvent utilisées pour empêcher l'insertion de glue interligne entre les lignes d'un paragraphe. Les lecteurs intéressés par davantage de détails peuvent passer aux sections de l'article qui expliquent comment ces macros fonctionnent.

* **`\offinterlineskip`** : voir la section de l'article [*Glue interligne de taille nulle : \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`** : voir la section de l'article [*Empêcher la glue interligne : \prevdepth et \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## Structure des paragraphes et calculs d'espacement des lignes

En utilisant les capacités de LuaTeX, il est possible de [post-traiter un paragraphe composé](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) pour visualiser les limites des caractères constitutifs (glyphes), des lignes et des glues à partir desquels il est construit. Nous commencerons par une courte série de graphiques pour aider à visualiser le modèle « boîtes et glue » que les moteurs TeX utilisent pour composer le texte contenu dans un paragraphe.

### Structure du paragraphe

Quand TeX compose un paragraphe, il traite les caractères individuels comme de minuscules boîtes, chacune ayant sa propre largeur, hauteur et profondeur, et ces largeurs de boîtes de caractères sont utilisées pour calculer les emplacements optimaux des coupures de ligne. En outre, les caractères d'espace contenus dans le texte, et utilisés pour séparer les mots individuels, sont convertis en une forme d'espace flexible (glue) qui fournit l'espacement nécessaire pour réaliser chaque coupure de ligne.

La séquence suivante de 7 graphiques montre les composants essentiels d'un paragraphe composé : différents types de boîtes et de glue. Le premier graphique montre un paragraphe composé ainsi qu'une version annotée qui met en évidence divers éléments à l'intérieur du paragraphe. Cependant, le paragraphe annoté contient beaucoup d'informations, donc les graphiques suivants isolent divers composants afin de les rendre, espérons-le, plus faciles à comprendre.

![Paragraphanatomy1b.png](/files/4146dd7b1fe1572a2852762393308272d19fdb64)

* Le graphique suivant représente les lignes du paragraphe sous forme de boîtes grises séparées par de la glue représentée par des bandes vertes horizontales. Cette glue est calculée pour garantir que la distance entre deux lignes de base est égale à (c'est-à-dire à la valeur de) `\baselineskip`:

![Paragraphanatomy2b.png](/files/8b750922ee72ffecf6309737f1784c35d359a079)

* L'image suivante représente les caractères composés sous forme de boîtes : pour visualiser comment les moteurs TeX traitent les caractères afin de produire les coupures de ligne :

![Paragraphanatomy3.png](/files/a5adb1d800fe0fac5b23b5af292a4c2dd75304c2)

* L'image suivante montre des boîtes dans des boîtes : les grandes lignes du paragraphe (boîtes) contenant des boîtes plus petites (caractères individuels) :

![Paragraphanatomy5.png](/files/082613980e2e39b31431504d24d328fff3e2b245)

* L'image suivante montre la quantité d'espace entre les mots de chaque ligne : ces espaces inter-mots sont produits en convertissant les caractères d'espace en glues flexibles qui sont étirées ou rétrécies pour produire la longueur correcte de chaque ligne de texte. Notez bien que la taille de ces espaces varie d'une ligne à l'autre :

![Paragraphanatomy4.png](/files/96c5bcd3d81bd2ab3751d4665a237f2e0df30def)

* L'image suivante combine les boîtes de caractères et les glues correspondantes (espaces) placées entre les mots individuels :

![Paragraphanatomy6.png](/files/321d4b958beaf34a5b44555dd1427034771a2b39)

### Visualisation d'autres types de glue de paragraphe

Les paragraphes suivants ont également été composés et traités à l'aide de LuaTeX afin de montrer d'autres types de glue à l'intérieur d'une paire de paragraphes, et entre eux. Notez que `\rightskip` et `\leftskip` sont tous deux réglés sur 0pt, donc ils ne sont pas affichés :

* **`\parskip`** glue (bleu clair) placée entre les deux paragraphes composés ;
* les mots individuels sont séparés par ***glue inter-mots*** (jaune), créée en convertissant les caractères d'espace de l'entrée en espace blanc de taille variable (glue) dans la sortie composée. La glue provenant des espaces inter-mots est étirée ou rétrécie pour obtenir des coupures de ligne visuellement agréables ;
* **`\baselineskip`** glue (vert clair) placée entre les lignes — la quantité exacte de `\baselineskip` glue est calculée à l'aide du mécanisme présenté ci-dessous ;
* **`\lineskip`** glue (rouge) utilisée dans le deuxième paragraphe — en raison de la boîte basse contenue dans l'avant-dernière ligne ;
* **`\parfillskip`** glue (vert foncé) placée à la fin de la dernière ligne de chaque paragraphe.

![](/files/8c50363f6797f38dd3a8b39dcae8ced1f8e3649c)

### Traiter les lignes plus profondes (ou plus hautes) (boîtes)

Comme le montrent les graphiques de la [section précédente](#paragraph-structure), un paragraphe composé est une pile verticale de « boîtes », séparées par un certain espace blanc, que TeX appelle « glue ». À mesure que le paragraphe est traité et que les lignes individuelles (boîtes) sont empilées, la liste verticale (pile) croît dans une *direction descendante* vers le bas de la page. Bien que TeX/LaTeX essaient de s'assurer que les lignes du paragraphe sont empilées avec des lignes de base séparées par une distance constante de `\baselineskip`12pt

La hauteur et la profondeur de chaque ligne de paragraphe sont déterminées par la distance maximale à laquelle le contenu de cette ligne s'étend au-dessus ou au-dessous de la ligne de base ; par conséquent, les paragraphes contenant des éléments ayant une hauteur ou une profondeur relativement grande, comme des formules ou des graphiques en ligne, sont susceptibles de produire des lignes individuelles avec des hauteurs et/ou profondeurs correspondamment grandes. Pour de telles lignes, TeX/LaTeX peut être incapable de les empiler de sorte que leurs lignes de base soient séparées des autres lignes par la `\baselineskip` quantité. *en calculant* une quantité d'espace appropriée à insérer entre chaque paire de lignes affectées par de grandes hauteurs et/ou profondeurs.

#### \lineskip et \lineskiplimit (primitives TeX)

Ce mécanisme de repli implique les commandes de paramètres `\lineskip` et `\lineskiplimit` ainsi qu'un troisième paramètre appelé `\prevdepth`Les lecteurs intéressés par davantage de détails peuvent passer à la section de l'article [*Comment l'espace (glue) entre les lignes d'un paragraphe est calculé*](#how-the-space-glue-between-paragraph-lines-is-calculated).

L'exemple de projet ci-dessous compose un seul paragraphe dont la dernière ligne a une profondeur relativement grande en raison d'une boîte de texte décalée (`\\hbox`). Le paragraphe est composé avec ces réglages :

```latex
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
```

Utilisez le lien ci-dessous le code suivant pour ouvrir un projet Overleaf :

```latex
\documentclass{article}
% Utiliser une taille de page commodément petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Définir quelques paramètres importants
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Fichier d'entrée définissant \testpar
\input testpar.tex
\title{Un exemple de paragraphe pour lineskip}
\begin{document}
\testpar % Une macro créée dans le projet Overleaf
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%25+Use+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Set+some+important+parameters%0A%5Csetlength%7B%5Cbaselineskip%7D%7B12pt%7D%0A%5Csetlength%7B%5Clineskip%7D%7B3.5pt%7D%0A%5Csetlength%7B%5Clineskiplimit%7D%7B2pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B20pt%7D%0A%25+Input+file+defining+%5Ctestpar+%0A%5Cinput+testpar.tex%0A%5Ctitle%7BA+sample+paragraph+for+lineskip%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar+%25+A+macro+created+in+the+Overleaf+project%0A%5Cend%7Bdocument%7D\&snip_name\[]=testpar.tex\&snip\[]=%5Cnewcommand%7B%5Ctestpar%7D%7B%5CTeX%7B%7D+uses+the+name+%60%60glue%27%27+to+describe+%60%60flexible+white+space%27%27+used+to+separate+any+typeset+item+which+can+appear+on+the+page.+For+example%2C+individual+words%2C+and+whole+lines%2C+within+a+typeset+paragraph+are+seperated+by+%60%60glue%27%27.+%5CTeX%7B%7D+engines+identify+%28give+a+name+to%29+different+types+of+glue+according+to+where+it+is+being+used.+For+example%2C+each+line+is+separated+by+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue+or%2C+occasionally%2C+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue%2C+depending+on+%5CTeX%27s+calculations.+Let%27s+trigger+use+of+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+by+adding+an+%5Ctexttt%7B%5Cstring%5Chbox%7D+which+has+a+large+depth+due+to+the+%5Ctexttt%7B%5Cstring%5Clower%7D+command%3B+for+example%2C+the+box%0A+%5Clower5pt%5Chbox%7BLOW+BOX%7D+will+cause+%5CTeX%7B%7D+to+insert+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+instead+of+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue.%5Cpar%7D\&main_document=main.tex)

Cet exemple produit le résultat suivant :

![Exemple montrant la glue \lineskip](/files/1540c19bb51a2106aaca7f446682caacb8b237c7)

Le graphique suivant utilise une version annotée du paragraphe produit par le projet Overleaf précédent. Ici, nous zoomons pour nous concentrer sur la dernière ligne du paragraphe, indiquant l'utilisation de `\lineskip` glue (indiquée en rouge) causée par la profondeur de la boîte de texte décalée :

![Image montrant la glue \lineskip de TeX](/files/ae0a02a361a31218872e2e8cc7f2fa7e002cda55)

La dernière ligne du texte du paragraphe a une profondeur plus grande que d'habitude, empêchant TeX de maintenir l'espacement constant entre lignes de base spécifié par la valeur `\baselineskip` (12pt). Comme l'indiquent les flèches à droite du graphique, TeX/LaTeX essaient d'assurer une distance fixe (12pt) entre les paires de lignes — la valeur de `\baselineskip`. Cependant, pour la dernière paire de lignes, TeX les a séparées d'une quantité supérieure à 12pt et utilise la valeur de `\lineskip` pour la glue interligne au lieu d'une valeur calculée à l'aide de `\baselineskip`.

Les sections suivantes explorent et expliquent les détails des calculs de TeX concernant les valeurs de glue interligne.

### Comment l'espace (glue) entre les lignes d'un paragraphe est calculé

Pour l'instant, nous allons *très brièvement* mentionner le processus de construction de page de TeX, quoique de manière très simplifiée ! Une fois que TeX a terminé de composer un paragraphe, en achevant la césure et en déterminant les coupures de ligne, vous pouvez considérer ces données de paragraphe comme étant stockées dans un emplacement mémoire temporaire. TeX doit ensuite déplacer ces données de paragraphe, ligne par ligne, vers un nouvel emplacement mémoire qui stocke le contenu destiné à la page de sortie en cours.

Lorsque TeX déplace les données du paragraphe, ligne par ligne, il construit en fait une pile verticale de lignes (boîtes TeX) qui croît *direction descendante* vers le bas de la page. En déplaçant les lignes du paragraphe vers la page courante, TeX essaie de s'assurer que ces lignes seront espacées de manière égale, avec un espacement vertical cohérent (ligne de base à ligne de base) égal à la valeur `\baselineskip`. Lorsqu'une nouvelle ligne est transférée vers la page courante, le moteur TeX enregistre temporairement la *profondeur* de cette ligne, car elle sera utilisée pour calculer la quantité de glue interligne (espace blanc) entre cette ligne et celle placée après elle.

#### Calculs de la taille de la glue

Commençons par résumer les fonctionnalités d'espacement interligne fournies par les moteurs TeX :

* maintenir une distance constante entre les lignes de base, une distance égale à `\baselineskip`;
* fournir de l'espace pour toute ligne ayant une hauteur ou une profondeur relativement grande ;
* une capacité à désactiver l'insertion de glue interligne — soit automatiquement, soit sous le contrôle de l'utilisateur. Par exemple :
  * Les moteurs TeX désactivent automatiquement l'insertion de glue interligne après une règle en mode vertical ;
  * les macros `\offinterlineskip` et `\nointerlineskip` permettent aux utilisateurs de désactiver temporairement l'insertion de glue interligne — ces macros ont des effets différents, comme nous le verrons ci-dessous.

La décision d'ajouter ou non de la glue interligne, et si oui, quelle quantité de quel type, se présente ainsi :

* Faut-il ajouter de la glue interligne ? TeX le décide en testant si la *profondeur de la dernière ligne ajoutée* à la liste est inférieure à la valeur spéciale de `–1000pt` (points). Notez que `–1000pt` est une valeur « sentinelle » arbitraire utilisée en interne par les moteurs TeX.
  * **Remarque**: La valeur de « profondeur de la dernière ligne ajoutée », que TeX enregistre en interne, est également connue sous le nom de « profondeur précédente ». Les moteurs TeX fournissent la commande de paramètre `\prevdepth`— qui peut, dans certaines circonstances, être utilisée pour *obtenir* ou *set* la valeur de « profondeur précédente ». La macro `\nointerlineskip` utilise `\prevdepth`.
* TeX teste si `la profondeur de la ligne précédente est supérieure à –1000pt`?
  * ***Oui*** (il faut ajouter de la glue) :
    * calculer la valeur Δ, où Δ = \baselineskip – (profondeur de la ligne précédente) – (hauteur de la ligne suivante)
    * comparer Δ à la valeur de `\lineskiplimit`, un paramètre utilisé pour définir la distance minimale acceptable entre deux lignes, mesurée comme la distance entre le bas de la ligne supérieure et le haut de la ligne inférieure.
    * Si Δ < `\lineskiplimit`:
      * les lignes sont trop proches, donc insérez l'espacement minimal acceptable qui est `\lineskip`
    * Si Δ >= `\lineskiplimit`:
      * les lignes ne sont pas trop proches, donc utilisez Δ comme quantité de glue à insérer
  * ***Non*** (ne pas ajouter de glue) :
    * Ajouter la ligne suivante (boîte) sans insérer de glue

Le graphique suivant résume le processus de glue interligne :

![Comment TeX détermine les valeurs de glue interligne](/files/622940b27f24bef59bbeb4b4b4c87760ecf2d694)

### Un exemple de calculs de glue interligne

Dans l'exemple suivant, nous supposons que TeX/LaTeX utilise les valeurs de paramètres de commande suivantes :

```latex
\baselineskip=12pt
\lineskip=3.5pt
\lineskiplimit=2pt
```

Nous examinerons le calcul de la glue interligne pour les deux premières lignes de ce paragraphe :

![OLV2glue-calcs-step0.png](/files/7a67a2caea84183ff40253152f170851fcd71fa5)

Dans l'image suivante, le moteur TeX a traité la première ligne du paragraphe et l'a déplacée dans la liste verticale qu'il construit. Il conserve la trace de la profondeur de cette ligne (`d<sub>1</sub>`) qui est `2.1528` (points) :

![OLV2glue-calcs-step1.png](/files/4382d968e88bbab95b75842e4568fcdd5119f2ed)

Ensuite, TeX est prêt à ajouter une deuxième ligne à la liste qu'il construit : cette ligne a une hauteur (`h<sub>2</sub>`) qui est `6.9444` (points) et, accessoirement, une profondeur, `d<sub>2</sub>` de `0` (points) :

![OLV2glue-calcs-step2.png](/files/fcd209cc8108b46825f0f1f81052621d95492cdb)

À ce stade, TeX doit calculer la quantité d'espace (glue, `g<sub>1</sub>`) à insérer entre ces deux lignes :

![OLV2glue-calcs-step3.png](/files/071e6e1364f90b7ed89e7460cd14f9d4392f23c7)

L'image suivante montre les calculs de glue pour cette paire de lignes :

![OLV2glue-calcs-stepA3.png](/files/6381d3d18e936c722adcea0db5fea7e4f22176ec)

L'image finale montre les deux lignes déplacées vers la page courante avec la quantité calculée de glue interligne placée entre elles :

![OLV2glue-calcs-step5.png](/files/c4930c18867b5d6206ca96da12870b55f76d2309)

### Un autre paramètre : \prevdepth

Comme indiqué ci-dessus, lorsque TeX crée une pile verticale (liste) de boîtes, il stocke la profondeur de la dernière boîte ajoutée à cette liste. Cette valeur de profondeur stockée est connue sous le nom de « profondeur précédente », à laquelle on peut accéder via la commande de paramètre `\prevdepth`.

Le `\prevdepth` peut être utilisée ***uniquement*** lorsque TeX est en mode vertical ; c'est-à-dire entre les paragraphes ou à l'intérieur de boîtes verticales : `\vbox`, `\vtop` ou `\vcenter` (note : `\vcenter` les boîtes ne peuvent être utilisées qu'en mode mathématique).

`\prevdepth` fournit un accès en lecture et en écriture à la valeur de « profondeur précédente » :

* pour lire la valeur actuelle de `\prevdepth` vous pouvez écrire :

```latex
\the\prevdepth
```

* pour définir la valeur actuelle de `\prevdepth` à `une certaine valeur`, une longueur en points, mm, etc., vous pouvez écrire :

```latex
\setlength{\prevdepth}{some value}
```

Si vous essayez d'utiliser \verb`\prevdepth` dans des circonstances pour lesquelles il n'a pas été conçu, comme à l'intérieur d'un paragraphe ou dans un `\\hbox` vous obtiendrez une erreur

```latex
Utilisation incorrecte de \prevdepth.
```

avec des informations supplémentaires indiquant qu'il ne peut être utilisé qu'en mode vertical.

#### Empêcher la glue interligne : \prevdepth et \nointerlineskip

L'une des utilisations de `\prevdepth` est de *empêcher* TeX d'effectuer les calculs de ligne de base utilisés pour ajouter de la glue interligne entre les éléments d'une liste verticale, comme les lignes d'un paragraphe. En utilisant `\prevdepth` pour représenter `la profondeur de la ligne précédente` nous pouvons reformuler les calculs de glue (illustrés ci-dessus) comme suit :

```latex
si(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (hauteur de la ligne courante)

     si(Δ < \lineskiplimit)
       glue interligne = \lineskip
     sinon
       glue interligne = Δ
}
sinon
{
     Empilez la boîte sans ajouter
     de glue interligne
}
```

En interne, les moteurs TeX reconnaissent une valeur dite « sentinelle » de `\prevdepth` qui peut être utilisée pour désactiver le calcul et l'ajout de glue interligne. Cette valeur sentinelle est `–1000pt`—, que l'on peut voir à la première ligne du pseudo-code ci-dessus :

```latex
si(\prevdepth > –1000pt)
```

TeX n'ajoutera pas de glue interligne à moins que `\prevdepth` soit supérieure à `–1000pt`— ce qui fournit le mécanisme utilisé par la `\nointerlineskip` macro pour empêcher l'ajout de glue de ligne de base entre la paire suivante de boîtes dans une liste verticale.

`\nointerlineskip` a une définition équivalente à :

```latex
\def\nointerlineskip{
\prevdepth–1000pt
}
```

Notez que `\nointerlineskip` fournit une *désactivation ponctuelle* des calculs de glue interligne parce que la valeur de `\prevdepth` est continuellement mise à jour à mesure que de nouvelles boîtes sont ajoutées à la liste verticale courante, comme le montre l'exemple suivant :

```latex
\noindent Les \verb|\hbox| suivants sont traités lorsque \TeX{} est en mode vertical externe dit \textit{outer vertical mode}. Après traitement (composition), ces boîtes sont ajoutées à la page courante et empilées verticalement avec de la glue interligne insérée entre elles :

\hbox{j}
\hbox{p}
\hbox{g}

Maintenant, juste après la boîte \verb|\hbox{j}|, nous réglons \verb|\prevdepth| à \texttt{-1000pt} ce qui empêche l'insertion de glue interligne entre les boîtes \verb|\hbox{j}| et \verb|\hbox{p}| :

\hbox{j}\setlength{\prevdepth}{-1000pt}
\hbox{p}
\hbox{g}

Notez que de la glue interligne \textit{est} placée entre les boîtes \verb|\hbox{p}| et \verb|\hbox{g}| parce que la valeur de \verb|\prevdepth| est mise à jour après le traitement et l'ajout de \verb|\hbox{p}| à la liste : la valeur de \verb|\prevdepth| devient la profondeur de la boîte \verb|\hbox{p}|. Lorsque \verb|\hbox{g}| est ajoutée à la liste verticale, la valeur de \verb|\prevdepth| n'est plus \texttt{-1000pt} ; par conséquent, de la glue interligne peut maintenant être ajoutée.
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One-shot+use+of+nointerlineskip\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cbaselineskip%7D%7B14pt%7D%0A%5Csetlength%7B%5Cparskip%7D%7B1pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%25+A+convenience+macro+to+typeset+%5Cprevdepth+in+an+%5Chbox%2C+although+TeX+has+to+be%0A%25+in+a+vertical+mode+when+this+macro+is+used.%0A%5Cnoindent+The+following+%5Cverb%7C%5Chbox%7Ces+are+processed+when+%5CTeX%7B%7D+is+in+so-called+%5Ctextit%7Bouter+vertical+mode%7D.+After+processing+%28typesetting%29%2C+these+boxes+are+appended+to+the+current+page+and+stacked+vertically+with+interline+glue+inserted+between+them%3A%0A%0A%5Chbox%7Bj%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0ANow%2C+immediately+after+after+the+box+%5Cverb%7C%5Chbox%7Bj%7D%7C%2C+we+set+%5Cverb%7C%5Cprevdepth%7C+to+%5Ctexttt%7B-1000pt%7D+which+prevents+interline+glue+being+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bj%7D%7C+and+%5Cverb%7C%5Chbox%7Bp%7D%7C%3A+%0A%0A%5Chbox%7Bj%7D%5Csetlength%7B%5Cprevdepth%7D%7B-1000pt%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0AObserve+that+interline+glue+%5Ctextit%7Bis%7D+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bp%7D%7C+and+%5Cverb%7C%5Chbox%7Bg%7D%7C+because+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+updated+after+%5Cverb%7C%5Chbox%7Bp%7D%7C+is+processed+and+added+to+the+list%3A+the+value+of+%5Cverb%7C%5Cprevdepth%7C+becomes+the+depth+of+the+box+%5Cverb%7C%5Chbox%7Bp%7D%7C.+When+%5Cverb%7C%5Chbox%7Bg%7D%7C+is+added+to+the+vertical+list+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+no+longer+%5Ctexttt%7B-1000pt%7D%3B+consequently%2C+interline+glue+can+now+be+added.%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple démontrant le paramètre \prevdepth de TeX](/files/42a93e50be250ef02ad365c0274e894e1c78bd3d)

#### Glue interligne de taille nulle : \offinterlineskip

Il est possible de supprimer tout espacement interligne via la commande de macro `\nointerlineskip`, qui a une définition équivalente à :

```latex
\def\offinterlineskip{%
\baselineskip=-1000pt
\lineskip=0pt
\lineskiplimit=\maxdimen
}
```

Notez que `\maxdimen` est `16383.99998pt`, la plus grande longueur que TeX peut utiliser.

Le graphique suivant montre les calculs de base de la glue interligne et les différentes valeurs de paramètres utilisées par la macro `\nointerlineskip`:

![offinterlineskip](/files/a94a81c5ce3287692bb376e9c0c85164d72f24a9)

Le graphique suivant montre l'extrait de pseudo-code résultant de la substitution des valeurs de la macro dans les calculs de glue. Il démontre comment la `\nointerlineskip` macro fonctionne en définissant des valeurs pour `\nointerlineskip` de sorte que la glue interligne sera toujours `\baselineskip` et `\lineskiplimit` de la glue de `\lineskip` \offinterlineskip et d'une \lineskip non nulle `0pt`.

![offinterlineskip](/files/204e62b5c58475ce17baedd42d7c49c0b026d443)

#### \offinterlineskip et non-zero \lineskip

Le `\nointerlineskip` la macro définit `\lineskip` à zéro, mais, comme le montre le projet Overleaf suivant, vous pouvez combiner `\nointerlineskip` avec des valeurs non nulles de `\lineskip` pour obtenir des effets d'espacement des lignes.

```latex
\documentclass{article}
\title{Démonstration de \offinterlineskip non nulle}
% Choisissez une taille de page pratique et petite
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % Ceci règle \lineskip à 0pt

\setlength{\lineskip}{5pt} % Nous voulons une \lineskip non nulle

\input text.tex % Un fichier TeX généré qui définit les macros
% \mytextA et \mytextB, chacun d'eux compose un paragraphe

\mytextA % Composer un paragraphe

% Maintenant, modifiez \lineskip en une valeur de glue flexible et composez
% un autre paragraphe

\setlength{\lineskip}{5pt plus5pt minus5pt}

\mytextA

\end{document}
```

&#x20;Ouvrez cet exemple en tant que projet Overleaf LaTeX

Cet exemple génère le résultat suivant :

![Démonstration de la macro \offinterlineskip de LaTeX](/files/25b8698f35bb19075ff1ea666f1e9888b22cabb9)

Vous pouvez localiser l'effet de l'utilisation de `\offinterlineskip` et `\lineskip` (et d'autres commandes d'espacement) en les encadrant dans un groupe :

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...votre ou vos paragraphes ici

\endgroup
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/mise-en-forme/04-articles-how-to-change-paragraph-spacing-in-latex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
