I'm not quite sure what's ›correct‹ and ›incorrect‹ in your perspective, or what exactly you find problematic with the result you're currently getting. Maybe a minimal example would be helpful.
Here's what I do, and what has always (i.e., for about 5 years now) given me output that's correct by my standards. Over time, I've reduced the number of different ways of entering quotes to two:
For short quotes, or for things that are not quotes but just need quotation marks, single or double, I'm using \MakeAutoQuote
in the preamble, so all I have to do is type in quotation marks directly, and let csquotes
do the rest (the quotation marks effectively trigger \enquote
and \enquote*
IIRC). I placed »
, «
, ›
, ‹
on [alt gr] + [2...5] on my keyboard, which helped a lot here. If I want it followed by a citation, I add plain old \cite{...}
which is handled by biblatex
.
For quotes that are longer, and that might have to be turned into a display quote in the output, I use \blockcquote[123]{Knuth82}{blabla}
. It is, of course, csquotes
that will decide if the quote has to be turned into a display one. That said, for texts whose layout I'm free to design myself, I've disabled display quotes completely: \SetBlockThreshold{99},
plus a re-definition of the display quotes' style. They're marked by quotation marks like text quotes, plus their left margin is reduced by \parindent.
(that latter aspect is not part of the example, though)...
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern,blindtext}
\usepackage[style=authoryear,autocite=footnote]{biblatex}
\usepackage[german=guillemets]{csquotes}
\MakeAutoQuote{»}{«}
\MakeAutoQuote*{›}{‹}
\SetCiteCommand{\autocite}
\begin{document}
»Knuth wrote in his »famous« book that LaTeX is superb«
\blindtext
\blockcquote[pre][post]{cite}{\blindtext etc}.
\end{document}
I don't let cquotes
play with my punctutation, I feel more comfortable staying in control of it myself. Unless I have to follow someone else's style guide (or write in English), my order is always:
[quotation] - [closing mark] - [period or other punctuation] - [footnote mark]
The csquotes
manual suggests to redefine \mkblockquote
, see section 8.7 Hooks for Quotations and Citations. One possibility would be
\renewcommand\mkblockquote[4]{\enquote{#1#2#3}#4}
which gives the same effect as in this answer.
The four arguments of \mkblockquote
refer to
\mkblockquote{<text>}{<punct>}{<tpunct>}{<cite>}
which are explained in the manual as follows
#1
The text argument of the command.
#2
The optional <punct>
argument of the command. If there is no <punct>
argument, this parameter is empty.
#3
Trailing <tpunct>
punctuation immediately after the command. If there is no such punctuation or if the autopunct
feature is
disabled, this parameter is empty.
#4
The optional <cite>
argument of the command, wrapped in \mkcitation
. If there is no <cite>
argument, this parameter is
empty. With integrated quotation commands, this parameter is the
citation code, wrapped in \mkccitation
.
In the example below I use
\renewcommand\mkblockquote[4]{\leavevmode\llap{,,}#1#2#3``#4}
where \llap{,,}
places the opening quotation mark left of the text in the quote margin. (The space at the end before the closing quotation mark is an artefact of \blindtext
and not related to \mkblockquote
.)
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern,blindtext}
\usepackage[babel=true,strict=true,german=quotes,threshold=1]{csquotes}
\renewcommand\mkblockquote[4]{\leavevmode\llap{,,}#1#2#3``#4}
\begin{document}
\blindtext
\blockquote{\blindtext}
\blindtext
\end{document}
Best Answer
Here's a solution you maybe have to adjust according to your fonts (the
\hspace
).