“Submit double-spaced.” When a journal writes that, it is quoting a typewriter. A machine set for 12-point type advanced the paper 12 points per line; turn the dial to 2 and it advanced 24 — enough room for an editor to write between the lines. The setspace package, which is how you widen line spacing in LaTeX, still reproduces exactly those dimensions. So \doublespacing does not double anything: it sets the leading to exactly twice the point size. This page follows the whole chain — the length called \baselineskip, the reason \linespread appears to do nothing, and the actual measured point values setspace produces.
Line spacing is a length called \baselineskip
What LaTeX calls line spacing is the distance from one line’s baseline — the invisible line the letters sit on — to the next line’s baseline, and it lives in a length called \baselineskip. The important part is that it measures the advance of a line, not the gap between letters, which is why enlarging the type automatically enlarges the spacing. Measured in a 10pt article, \baselineskip is exactly 12.0pt and the body width \textwidth is 345.0pt. The familiar rule of thumb that leading is 1.2 times the type size holds exactly at 10pt, and only there.
| Class option | Actual type size | baselineskip | Ratio |
|---|---|---|---|
10pt | 10pt | 12.0pt | 1.200 |
11pt | 10.95pt (not 11pt) | 13.6pt | 1.242 |
12pt | 12pt | 14.5pt | 1.208 |
The second row hides a fact worth knowing: the 11pt option does not actually select 11pt type — it selects 10.95pt. Ask LaTeX for \f@size and it answers 10.95. That is the design size Computer Modern was cut at; only the leading was rounded to a tidy 13.6pt. The oddly precise factors that setspace uses further down this page exist partly to absorb that 0.05pt discrepancy.
Why \linespread does nothing in the body but works in the preamble
\linespread{1.5} does nothing where you write it. \baselineskip does not move by a single point until the font is next selected. Measured: 12.0pt by default, still 12.0pt immediately after \linespread{1.5}, and 18.0pt the moment \selectfont runs. The mechanism makes it obvious — \linespread{x} is literally \renewcommand{\baselinestretch}{x}, so all it does is rewrite a note saying which factor to use. Turning that note into an actual length is \selectfont’s job: it compares the factor currently in force against \baselinestretch and recomputes the leading only when the two disagree.
That also explains the symptom pattern. A \linespread in the preamble works because \begin{document} runs \normalsize, which re-selects the font right there. Written in the body it needs a \selectfont of your own — and a size change such as \Large, or even a series change such as \bfseries, does the same job, because each of them goes through \selectfont internally. Measured: \linespread{2} followed by nothing but \large produced 28.0pt. When you change the spacing for one region, though, remember to put the closing \par inside the group. If the \par falls outside it, that paragraph is set with the old leading — a trap covered in detail on the page about font size commands.
% 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}How to use setspace: three declarations and the spacing environment
Load \usepackage{setspace} and put one line — \onehalfspacing or \doublespacing — in the preamble. In practice that is the whole job. Three things recommend the package. First, an arbitrary factor such as \setstretch{1.6} takes effect immediately, because internally it re-issues the current size command, so there is no \selectfont to forget. Second, the factors behind \onehalfspacing and \doublespacing are tuned per base type size. Third, it refuses to stretch footnotes and captions — measured two sections below.
| Command or environment | What it does |
|---|---|
\singlespacing | Declaration returning to the normal leading; affects everything after it |
\onehalfspacing | Declaration setting the leading to 1.5 times the type size |
\doublespacing | Declaration setting the leading to twice the type size — the “double-spaced” of author guidelines |
\setstretch | \setstretch{1.6} for an arbitrary factor; it multiplies \baselineskip |
spacing | Environment: \begin{spacing}{2.5} … \end{spacing} changes the factor for that region only and restores it after |
singlespace | Environment: inside double-spaced text, brings this region back to the normal leading |
onehalfspace | Environment: the local form of \onehalfspacing (and doublespace likewise). Meant only for widening the leading |
\SetSinglespace | Redefines what counts as “single” (default 1); a fine adjustment for fonts that run large for their nominal size |
\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}How many points is “double-spaced”? Measuring \doublespacing
The answer is exactly twice the type size: 20pt at 10pt, 22pt at 11pt, 24pt at 12pt. \doublespacing does not double \baselineskip; it works backwards from that target to find the factor. That is why the factor differs per class option and why it lands on numbers as awkward as 1.667, 1.618 and 1.655. Set the measurements side by side and the intent shows through.
| Class option | Normal leading | 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 |
This is not a guess. In the source of setspace.sty, the comment immediately above each definition reads “one and a half spacing is 1.5 x pt size” and “double spacing is 2 x pt size,” and the measurements land on exactly that. One practical consequence follows: \setstretch{2} is not \doublespacing. \setstretch{2} doubles \baselineskip, giving 24.0pt in a 10pt document — a fifth wider than the 20.0pt of \doublespacing. When a rulebook just says “double-spaced,” use \doublespacing and nothing else.
A paragraph on where setspace itself comes from. According to the credits at the head of the file, the original author was Erica M. S. Harris; GDG revised it between 1992 and 1994; Geoffrey Tobin turned it into a LaTeX2e package on 6 February 1996; Robin Fairbairns maintained it for years afterwards; and the copyright line now names the LaTeX Team (the version shipped in TeX Live 2024 is v6.7b, December 2022). Thirty years of names have collected on a package whose job is to change one number.
Footnotes and captions stay tight: what setspace protects for you
Even with a double-spaced body, footnotes and the contents of floats keep the normal leading. Measured in a 12pt article under \doublespacing: body 23.99pt, inside a footnote 12.0pt, inside a figure or table 14.5pt. setspace gets this by patching \@footnotetext, \@mpfootnotetext and \@xfloat so that the factor is reset to single inside them. A raw \linespread has no such courtesy and stretches footnotes and captions along with everything else — which, on a submitted manuscript, is a formatting violation in itself.
The quote environment, on the other hand, is not tightened automatically. Measured inside quote in a double-spaced 12pt document: still 23.99pt, the same as the body. That was the author’s intention — the source notes that a single-spaced quotation is made by wrapping singlespace in quote. So nest them yourself, as below. Incidentally, setspace also scales the space around displayed equations; \setdisplayskipstretch adjusts it and the nodisplayskipstretch package option turns it off.
% 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 versus \baselineskip: paragraph gaps are not line spacing
\parskip is the extra vertical space inserted between paragraphs, and it is accounted for separately from the line advance. Its default in the standard classes is 0.0pt plus 1.0pt — essentially nothing between paragraphs, with at most one point of give so LaTeX can even out a page. That is because the standard classes mark a paragraph break with an indent, not with a gap. What matters here: setspace never touches \parskip. Measured after \doublespacing, \parskip was still 0.0pt plus 1.0pt. So if double spacing leaves your paragraph breaks looking indistinct, that is a \parskip question, not a leading question.
One last thing not to do: never rewrite \baselineskip itself with \setlength. That length is re-established every time a font is selected, so the setting evaporates. Measured: after \setlength{\baselineskip}{20pt}, merely passing through \large gave 14.0pt, and \normalsize gave 12.0pt — the 20pt survives nowhere. Always drive the leading from the factor side instead (\linespread, \setstretch, or the setspace declarations). A factor follows every size change, and it keeps the footnote and float exemptions working.