Quotations (quote / quotation / csquotes)

There is no key on your keyboard for a curly quotation mark. The reason a LaTeX document nevertheless prints proper quotation marks is that two backticks and two apostrophes are rewritten into real marks by the font’s ligature mechanism — the very same machinery that turns f plus i into fi. This page follows one thread from there: how to get the marks right, how \enquote from csquotes switches their shape per language and handles nesting for you, and how the quote, quotation and verse environments set a quotation off as a block of its own.

Where curly quotation marks come from: the double-backtick ligature

The answer lives inside the font. When TeX reads a font it consults a .tfm (font metric) file, and a .tfm carries a ligature program: a table saying which character followed by which other character should be replaced by a third glyph. The quotation marks are written straight into that table. Decompile ecrm1000.tfm, the T1-encoded Computer Modern roman, and the entry for the backtick reads (LIG O 140 O 20) — “backtick followed by backtick becomes the glyph in octal slot 20”. Octal 20 is \textquotedblleft, the opening double quotation mark. The apostrophe entry has the same shape: (LIG O 47 O 21) points at \textquotedblright, the closing one.

Here is the pleasing part. In the same file, the entry for f reads (LIG C i O 14) — “f followed by i becomes the fi glyph”. In other words, the quotation marks and the fi ligature that metal typesetters cut for centuries are literally the same instruction to TeX. Knuth took a mechanism designed for letter pairs and reused it, unchanged, for punctuation. Two hyphens becoming an en dash sits a few lines further down in that same table, as (LIG O 55 O 173). TeX’s first surprise — that what you type is not quite what you get — comes out of this small table.

latex
% Two backticks open a quotation, two apostrophes close it.
``A quotation set the TeX way.''

% One of each gives the single marks.
`A quotation inside a quotation.'

% Adjacent closing marks collide; a thin space keeps them apart.
``He said `yes.'\thinspace''
InputGlyph producedNotes
``opening double mark, composed by ligature
''closing double mark, two apostrophes
`opening single mark; no ligature involved
'closing single mark; also the apostrophe
"” or "avoid; see the next section

Why typing " gives the wrong quotation mark (OT1 vs T1)

Typing the straight ASCII " breaks in two different ways depending on which font encoding is in force. Under LaTeX’s default OT1 encoding, ot1enc.def assigns \textquotedblright to slot 34 — exactly where ASCII keeps ". So "quoted" prints as ”quoted”: two closing marks, opening one included. Load \usepackage[T1]{fontenc} and t1enc.def puts \textquotedbl in that same slot 34, a genuine upright typewriter quote, so the same input stays "quoted" and never curls. One line in the preamble changes how the mistake looks, not whether it is a mistake. The apostrophe has the same story. When you genuinely need a straight ' — a code fragment, an identifier that must not curl — reach for \textquotesingle, a TS1 character available without any extra package since the 2020 kernel. It stays upright inside \texttt too.

latex
% Default OT1: slot 34 holds the CLOSING double mark.
%   "quoted"  ->  ”quoted”   (two closing marks)
\documentclass{article}

% With T1: slot 34 holds an upright typewriter quote.
%   "quoted"  ->  "quoted"   (never curls)
\usepackage[T1]{fontenc}

% Either way, this is what you want instead:
``quoted''

Three habits keep this from ever biting you. First, never type " in the source; a single search-and-replace sweep is the reliable cure. Second, load \usepackage[T1]{fontenc} — not to fix slot 34, but for correct hyphenation and accented characters. Third, with LuaLaTeX or XeLaTeX typing the UTF-8 characters “ ” directly is perfectly valid: the font is addressed through Unicode, so no ligature is involved, and the source now looks like the output. The catch is that the shape of the mark is then frozen into the manuscript, which is why multilingual documents are better served by \enquote, next.

\enquote versus typing the marks by hand

The difference in one line: typing by hand records a glyph, while \enquote records the fact that this is a quotation. Load the csquotes package, write \enquote{…}, and which glyph actually lands on the page is decided by the quote style in force. Nesting comes free. \enquote counts how deep it is (in an internal counter, \csq@qlevel) and picks the outer marks at the first level and the inner marks below it. Whether that means double-outside-single-inside, as in American usage, or the reverse, as in British usage, is now the style definition’s problem rather than yours.

latex
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[autostyle=true]{csquotes}
% ...
\enquote{He said \enquote{yes} to me.}
%  ->  “He said ‘yes’ to me.”

\begin{otherlanguage}{ngerman}
\enquote{Er sagte \enquote{ja} zu mir.}
\end{otherlanguage}
%  ->  „Er sagte ‚ja‘ zu mir.“

\begin{otherlanguage}{french}
\enquote{Il a dit \enquote{oui}.}
\end{otherlanguage}
%  ->  « Il a dit “oui”. »

All three lines above are the same \enquote written the same way, and all three produce different marks. What does the work is autostyle=true, the option that ties the quote style to the current babel or polyglossia language. Switch language and the marks follow, so no per-language branching ever appears in the manuscript. When you need the inner marks explicitly — a quotation that begins already nested — use the starred form \enquote*{…}. To pin a style down in the preamble instead, \setquotestyle{german} names it directly.

Recording meaning buys you a second thing: your mistakes become detectable. A hand-typed mark that is never closed produces no complaint at all; you find it in print. Because \enquote tracks nesting depth, an unbalanced quotation stops the run with Package csquotes Error: Unbalanced groups or invalid nesting or Still 1 quote open. Proofreading quotation marks by eye across three hundred pages turns into a single line of compiler output. csquotes also takes over the collision problem: every style definition carries a kern, written as something like [0.05em], that is inserted automatically whenever an outer and an inner mark open or close together — the job you used to do by hand with \thinspace.

Quotation marks by language: „ “, « », and 「 」

Quotation marks differ by language, and not merely in shape: which mark opens and which closes differs too. Japanese 「 」 and 『 』, German „ “, French « … », English “ ” all do the same job with glyphs that agree on neither form nor direction nor height. csquotes models this as quote styles, and csquotes.def ships definitions for 29 languages, English, German, French, Spanish and Japanese among them. The Japanese style is refreshingly plain: 「 」 outside, 『 』 inside, and a kern of [0pt] — full-width marks never collide, so there is nothing to pull together.

Style nameOuterInnerNotes
american“ ”‘ ’the default variant of english
british‘ ’“ ”outer and inner swapped versus American
german„ “‚ ’the closing mark is the English opening glyph
french« »“ ”an unbreakable space goes inside the marks
spanish« »“ ”repeats » at the head of each continued paragraph
japanese「 」『 』kern is 0pt: full-width marks do not collide

The table hides a few reversals worth knowing. The German guillemets variant opens with \guillemotright and closes with \guillemotleft: »…« points inward, exactly opposite to French « … ». French, for its part, requires an unbreakable space inside its guillemets, and csquotes provides a dedicated hook, \mkfrenchopenquote, just for placing it. And the Spanish style defines a middle mark — the Latin-typography convention of repeating » at the head of every continued paragraph in a multi-paragraph quotation. \DeclareQuoteStyle has an argument slot reserved for exactly that.

Two practical cautions. First, csquotes.def covers 29 languages and ships no Korean or Chinese style. If you need one, either declare it yourself with \DeclareQuoteStyle or borrow an existing style whose glyphs already match — for modern horizontal setting, american fits both as-is. Second, mind babel’s language shorthands. The German babel modules make " active and map it so that a following backtick yields \glqq and a following apostrophe yields \grqq — a classic trick, but one that ties the manuscript to German. Fine for a single-language document; for a multilingual one, leaning on \enquote saves trouble later.

The difference between quote and quotation

It comes down to one thing: how a paragraph break is made visible. Once a quotation runs past three or four lines (roughly forty words), the convention is to stop wrapping it in marks inside your sentence and set it off with margins on both sides. From there you have two choices. Read the definitions in classes.dtx and you find both environments are built on list; only the parameters differ. quote sets \rightmargin\leftmargin and nothing else, so no first line is indented. quotation adds \listparindent 1.5em, \itemindent \listparindent and \parsep 0pt plus 1pt: it indents each paragraph by 1.5em and squeezes the space between paragraphs to nearly nothing — marking breaks the way ordinary body text does.

latex
\begin{quote}
One paragraph, indented from both margins,
with no first-line indent at all.
\end{quote}

\begin{quotation}
First paragraph of a longer quotation. Its first line is indented.

Second paragraph. The indent, not blank space, marks the break,
which is why quotation is the right choice past one paragraph.
\end{quotation}
EnvironmentFirst-line indentSpace between paragraphsBest for
quotenonethe usual paragraph spaceone-paragraph quotations, epigraphs, short parallel lines
quotation1.5emnearly none (0pt plus 1pt)long quotations spanning paragraphs, excerpts with dialogue
verse−1.5em (hanging)the usual paragraph spacepoetry, lyrics, any text where line breaks carry meaning

One mistake beginners make often enough to warn about: a displayed quotation does not take quotation marks in English-language typography. The indentation is itself the signal that this is a quotation, so adding “ ” on top says the same thing twice. That quote and quotation insert no marks at all is a straightforward reflection of that convention. Other traditions differ — Japanese practice sometimes keeps 「 」 even on displayed quotations, and journals disagree among themselves. Whichever you adopt, being consistent across the document matters more than the choice.

The verse environment for poetry and lyrics

Use verse for text where line breaks carry meaning. You decide where each line ends with \\, and a blank line separates stanzas. The definition in classes.dtx sets \itemindent to minus 1.5em while adding 1.5em to \leftmargin, and that pairing is what produces a hanging indent. When a verse line is too long for the measure and wraps, only the run-over is pushed in by 1.5em, so the reader can tell a genuinely new line from the tail of the previous one at a glance. Two parameters, and the line structure of the poem survives the page width.

latex
\begin{verse}
Roses are red, \\
Violets are blue, \\
This stanza ends here.

A new stanza starts after the blank line, and a line long enough to
run over gets a hanging indent so it still reads as a single verse.
\end{verse}

\blockquote: letting length decide inline or block

csquotes removes the act of choosing between quote and quotation altogether. \blockquote{…} actually measures its contents and sets them as a displayed block past a threshold, or as an inline quotation with marks below it. The defaults are thresholdtype=lines with a threshold of 3 lines, and quote as the environment used for display. \SetBlockThreshold{5} and \SetBlockEnvironment{quotation} change those; to count words instead, pass thresholdtype=words with threshold=50. On top of that, parthreshold is enabled by default, so any explicit paragraph or line break inside the quotation forces display mode regardless of length — exactly the intuition that a multi-paragraph quotation always wants to be a block.

latex
\usepackage[autostyle=true]{csquotes}
\SetBlockThreshold{3}        % default: 3 lines
\SetBlockEnvironment{quote}  % default: the quote environment
% ...

% Short -> stays inline, with quotation marks around it:
\blockquote{Brevity is the soul of wit.}

% Longer than the threshold -> set as an indented block, no marks:
\blockquote{A passage that runs past three printed lines of text is
set off on its own instead, and csquotes reaches that decision by
measuring the material rather than by asking the author to choose
between the quote and the quotation environment by hand.}

% Block quotation that also prints a citation (page 67 of doe2020):
\blockcquote[][67]{doe2020}{The argument develops over several
sentences and is long enough to be set as a block.}

To print a citation alongside the quotation, use \blockcquote and its inline counterpart \textcquote. The form is \blockcquote[⟨prenote⟩][⟨postnote⟩]{⟨key⟩}{⟨text⟩}, where the postnote is usually a page number. Which citation command gets called is configurable through \SetCiteCommand, so the same source works with biblatex or with natbib. When you want an inline quotation and want the marks unconditionally, regardless of length, reach for \textquote{…} instead — unlike \blockquote, it never switches to a block. For quotations in another language there are \foreignblockquote{⟨lang⟩}{…}, which matches both marks and hyphenation to that language, and \hyphenblockquote{⟨lang⟩}{…}, which switches the hyphenation only.

A word on where csquotes came from. It was written by Philipp Lehman, who also wrote biblatex; the copyright notice records his stewardship from 2003 to 2011, with Joseph Wright maintaining it from 2015 onwards (TeX Live 2024 carries v5.2n). Knowing that quotation and bibliography were redesigned by the same hand makes it much less surprising that \blockcquote meshes with biblatex as smoothly as it does.

Which one to use

  • Short inline quotation\enquote{…}. The language picks the glyphs; nesting and balance checking come free.
  • One-paragraph displayed quotationquote. No package needed, and no marks added.
  • Long, multi-paragraph quotationquotation (paragraphs marked by first-line indent).
  • Poetry or lyricsverse (\\ ends a line, a blank line ends a stanza, run-overs hang).
  • Let the length decide\blockquote (3 lines by default; parthreshold forces a block whenever paragraphs are present).
  • Quotation plus its citation\blockcquote / \textcquote (wired to biblatex or natbib via \SetCiteCommand).
  • Multilingual documents\usepackage[autostyle=true]{csquotes} alongside babel or polyglossia.

One last note. Every environment above is built on list internally, so — just like itemize — each adds vertical space around itself and can be nested. To fine-tune where lines break inside a quotation, see “Line & paragraph breaks”; for indentation and centering in general, “Text alignment”; and for the dashes and ellipses that live around quotations, “Quotes & dashes”.