« À rendre en double interligne. » Quand une revue écrit cela, elle cite une machine à écrire. Une machine réglée sur du 12 points faisait avancer le papier de 12 points par ligne ; sur la position 2, de 24 — de quoi laisser un éditeur écrire entre les lignes. Le package setspace, par lequel on élargit l’interligne en LaTeX, reproduit encore exactement ces dimensions. \doublespacing ne double donc rien : il porte l’interligne à exactement deux fois le corps. Cette page suit toute la chaîne : la longueur \baselineskip, la raison pour laquelle \linespread semble sans effet, et les valeurs en points réellement mesurées que produit setspace.
L’interligne est une longueur nommée \baselineskip
Ce que LaTeX appelle interligne est la distance entre la ligne de base d’une ligne — la ligne invisible sur laquelle reposent les lettres — et celle de la suivante ; elle est stockée dans la longueur \baselineskip. Le point essentiel est qu’elle mesure l’avance d’une ligne et non l’écart entre les lettres : agrandir la police agrandit donc automatiquement l’interligne. Mesuré dans un article en 10pt, \baselineskip vaut exactement 12.0pt et la largeur du corps \textwidth 345.0pt. La règle bien connue selon laquelle l’interligne vaut 1,2 fois le corps est exacte à 10pt, et seulement là.
| Option de classe | corps réel | baselineskip | Rapport |
|---|---|---|---|
10pt | 10pt | 12.0pt | 1,200 |
11pt | 10,95pt (et non 11pt) | 13.6pt | 1,242 |
12pt | 12pt | 14.5pt | 1,208 |
La deuxième ligne cache un fait utile : l’option 11pt ne choisit pas du 11 points, mais du 10,95 points. Demandez \f@size à LaTeX : il répond 10.95. C’est la taille de dessin de Computer Modern ; seul l’interligne a été arrondi à un 13.6pt bien rond. Les facteurs curieusement précis employés par setspace plus bas servent en partie à absorber ces 0,05pt d’écart.
Pourquoi \linespread ne fait rien dans le corps mais agit dans le préambule
\linespread{1.5} ne produit rien là où on l’écrit. \baselineskip ne bouge pas d’un point tant que la police n’est pas resélectionnée. Mesures : 12.0pt par défaut, encore 12.0pt juste après \linespread{1.5}, et 18.0pt à l’instant où \selectfont s’exécute. Le mécanisme le rend évident : \linespread{x} est littéralement \renewcommand{\baselinestretch}{x} et se borne à réécrire une note indiquant quel facteur employer. Convertir cette note en longueur réelle relève de \selectfont, qui compare le facteur en vigueur à \baselinestretch et ne recalcule l’interligne qu’en cas de désaccord.
Cela explique aussi la répartition des symptômes. Un \linespread dans le préambule fonctionne parce que \begin{document} exécute \normalsize, ce qui resélectionne la police à cet endroit précis. Dans le corps, il faut appeler soi-même \selectfont — et un changement de taille comme \Large, voire un changement de graisse comme \bfseries, fait le même travail, puisque tous passent en interne par \selectfont. Mesure : \linespread{2} suivi du seul \large donne 28.0pt. Pour un changement local, pensez toutefois à placer le \par de fin à l’intérieur du groupe. S’il tombe à l’extérieur, ce paragraphe est composé avec l’ancien interligne — piège traité en détail sur la page des commandes de taille de police.
% In the preamble: applies to the whole document.
\linespread{1.3} % measured: baselineskip 12.0pt -> 15.6pt
% In the body: nothing happens until the font is re-selected.
\linespread{1.6} % baselineskip is STILL 12.0pt here
\selectfont % now it becomes 19.2pt
% One paragraph only. Note the \par INSIDE the braces.
{\linespread{1.6}\selectfont
This paragraph is set with wider leading.\par}Utiliser setspace : trois déclarations et l’environnement spacing
Chargez \usepackage{setspace} et mettez une ligne dans le préambule : \onehalfspacing ou \doublespacing. En pratique, c’est tout. Trois raisons de préférer ce package. D’abord, un facteur libre comme \setstretch{1.6} prend effet immédiatement, car il réémet en interne la commande de taille courante : impossible d’oublier un \selectfont. Ensuite, les facteurs de \onehalfspacing et \doublespacing sont réglés pour chaque corps de base. Enfin, il refuse d’élargir notes et légendes — mesuré deux sections plus bas.
| Commande ou environnement | Effet |
|---|---|
\singlespacing | Déclaration ramenant à l’interligne normal ; agit sur la suite |
\onehalfspacing | Déclaration portant l’interligne à 1,5 fois le corps |
\doublespacing | Déclaration portant l’interligne au double du corps — le « double interligne » des consignes aux auteurs |
\setstretch | \setstretch{1.6} pour un facteur libre ; il multiplie \baselineskip |
spacing | Environnement : \begin{spacing}{2.5} … \end{spacing} ne change le facteur que là, puis le restaure |
singlespace | Environnement : dans un texte en double interligne, ramène cette zone à l’interligne normal |
onehalfspace | Environnement : forme locale de \onehalfspacing (de même doublespace). Uniquement pour élargir l’interligne |
\SetSinglespace | Redéfinit ce qui compte comme « simple » (défaut 1) ; réglage fin pour les polices qui paraissent grandes pour leur corps nominal |
\documentclass[12pt]{article}
\usepackage{setspace}
\doublespacing % whole document: leading 24.0pt at 12pt
% \onehalfspacing % or 18.0pt
% \setstretch{1.6} % or any factor you like
\begin{document}
The body is set double spaced.
\begin{spacing}{1} % one region back to the normal leading
A long quotation, set tight.
\end{spacing}
Back to double spacing here.
\end{document}Combien de points fait un « double interligne » ? \doublespacing mesuré
La réponse est exactement deux fois le corps : 20pt en 10pt, 22pt en 11pt, 24pt en 12pt. \doublespacing ne double pas \baselineskip ; il remonte du résultat visé au facteur nécessaire. D’où un facteur différent selon l’option de classe, et des valeurs aussi peu rondes que 1.667, 1.618 et 1.655. Mises côte à côte, les mesures laissent voir l’intention.
| Option de classe | interligne normal | onehalfspacing | doublespacing |
|---|---|---|---|
10pt | 12.0pt | 1.25 → 15.00pt | 1.667 → 20.00pt |
11pt | 13.6pt | 1.213 → 16.50pt | 1.618 → 22.00pt |
12pt | 14.5pt | 1.241 → 17.99pt | 1.655 → 24.00pt |
Ce n’est pas une conjecture. Dans les sources de setspace.sty, le commentaire placé juste au-dessus de chaque définition dit « one and a half spacing is 1.5 x pt size » et « double spacing is 2 x pt size », et les mesures tombent exactement là-dessus. Une conséquence pratique en découle : \setstretch{2} n’est pas \doublespacing. \setstretch{2} double \baselineskip et donne 24.0pt dans un document en 10pt, soit un cinquième de plus que les 20.0pt de \doublespacing. Quand une consigne dit simplement « double interligne », employez \doublespacing, rien d’autre.
Un paragraphe sur l’origine de setspace lui-même. D’après les crédits en tête du fichier, l’auteure d’origine est Erica M. S. Harris ; GDG l’a remanié entre 1992 et 1994 ; Geoffrey Tobin en a fait un package LaTeX2e le 6 février 1996 ; Robin Fairbairns l’a ensuite maintenu longtemps, et la ligne de copyright mentionne aujourd’hui la LaTeX Team (TeX Live 2024 livre la v6.7b de décembre 2022). Trente ans de noms se sont accumulés sur un package dont le travail consiste à changer un seul nombre.
Notes et légendes restent serrées : ce que setspace protège
Même avec un corps en double interligne, les notes et le contenu des flottants gardent l’interligne normal. Mesures dans un article en 12pt sous \doublespacing : corps 23.99pt, dans une note 12.0pt, dans une figure ou une table 14.5pt. setspace y parvient en corrigeant \@footnotetext, \@mpfootnotetext et \@xfloat afin d’y rétablir l’interligne simple. Un \linespread brut n’a pas cette délicatesse et allonge notes et légendes avec le reste — ce qui, sur un manuscrit soumis, constitue déjà une infraction aux consignes.
En revanche, l’environnement quote n’est pas resserré automatiquement. Mesuré à l’intérieur de quote dans un document 12pt en double interligne : toujours 23.99pt, comme le corps. C’était l’intention de l’auteur : les sources indiquent qu’une citation en interligne simple s’obtient en enveloppant singlespace dans quote. Il faut donc les imbriquer soi-même, comme ci-dessous. Au passage, setspace met aussi à l’échelle l’espace autour des équations hors texte ; \setdisplayskipstretch le règle et l’option nodisplayskipstretch le désactive.
% quote is NOT single-spaced by setspace; nest it yourself.
\begin{quote}
\begin{singlespace}
A long quotation, set tight inside a double-spaced document.
\end{singlespace}
\end{quote}\parskip et \baselineskip : l’espace entre paragraphes n’est pas l’interligne
\parskip est l’espace vertical supplémentaire inséré entre les paragraphes, compté séparément de l’avance de ligne. Sa valeur par défaut dans les classes standard est 0.0pt plus 1.0pt : pratiquement rien entre paragraphes, avec au plus un point de jeu pour équilibrer la page. C’est que les classes standard marquent un changement de paragraphe par un retrait, pas par un blanc. Point important : setspace ne touche jamais à \parskip. Après \doublespacing, la mesure donne toujours 0.0pt plus 1.0pt. Si les frontières de paragraphes semblent floues en double interligne, c’est une affaire de \parskip, pas d’interligne.
Une dernière chose à éviter : ne réécrivez jamais \baselineskip avec \setlength. Cette longueur est rétablie à chaque sélection de police, si bien que le réglage s’évapore. Mesures : après \setlength{\baselineskip}{20pt}, un simple \large donne 14.0pt et \normalsize 12.0pt — les 20pt ne survivent nulle part. Pilotez toujours l’interligne par le facteur (\linespread, \setstretch ou les déclarations de setspace). Un facteur suit tous les changements de taille et laisse fonctionner les exceptions des notes et des flottants.