[Tex/LaTex] End quotes and punctuation when using biblatex

biblatexlanguagespunctuationquoting

This seems like a rudimentary question but I haven't been able to find a clear answer. The cultural context in question is American English.

When putting citations in footnotes in biblatex (I'm using biblatex-chicago), the rule I've been following is to put the citation commands where they would go if the citation were parenthetical: after the end quote and before the final punctuation mark. The end result, however, has the punctuation mark after the quote, e.g. "this is my quote".1
The correct punctuation should be "this is my quote."1
How can this be accomplished automatically?

Here is an example document:

\documentclass[]{article} 
\usepackage[]{setspace} 
\usepackage[utf8]{inputenc} 
\usepackage[american]{babel} 
\usepackage[]{csquotes} 
\usepackage[backend=biber,bibencoding=utf8]{biblatex}
\usepackage[]{hyperref} 
\bibliography{mybib} 
\begin{document} ``This is a quote''\autocite[1]{mysource}. 
\end{document}

Best Answer

To a large extent, you can get American punctuation patterns automatically with biblatex by loading babel with the [american] option.

For your bibliography items themselves

If you load the babel package with the option [american], biblatex will put the punctuation inside the quotation marks automatically. This is explained in section 3.91 of the biblatex manual.

For in text quotations

The best way to do this automatically is to use the \textquote command of the csquotes package. You need to change the default formatting for the citation part of the quote, and you need to redefine the \mktextquote command. This is explained in section 9.2 of the csquotes manual.

Here is an example document. Notice that the quotation marks in the text quotation and in the bibliography item are in the correct place for American standards. The example works the same way with the biblatex-chicago package loaded.

\documentclass[12pt]{article}
\usepackage[citestyle=verbose]{biblatex}
%\usepackage{biblatex-chicago} % or load this instead
\usepackage[american]{babel}
\usepackage{csquotes}
\renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
\renewcommand*{\mkcitation}{}
\bibliography{biblatex-examples}
\usepackage{lipsum}
\begin{document}

Here is a quotation \textquote[\autocite{shore}]{Some text}.

\end{document}

output of code