[Tex/LaTex] Using \selectlanguage with csquotes

babelcsquotespunctuation

As per this question, I am using csquotes to convert quotationmarks to typographical-quotes. However, when changing language through \selectlanguage the quotationmarks no longer gets converted. (I need an English abstract and Danish content. Instead of renaming the abstract I find it “prettier” to change language before and after the abstract, though it’s more cumbersome.)

MWE:

\documentclass[article,12pt,a4paper,openany,oneside]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,danish]{babel}
\usepackage[danish=quotes]{csquotes}
\MakeOuterQuote{"}    
\usepackage{lmodern}
\begin{document}

\selectlanguage{danish}
Quote: "Morbi dolor risus."
\end{document}

Best Answer

You can use \EnableQuotes to get the quotes back. But I personally prefer the \MakeAutoQuote command with an non-ascii arguments:

\documentclass[article,12pt,a4paper,openany,oneside]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,danish]{babel}

\usepackage[autostyle, %if quote style should change with language
           danish=quotes]{csquotes}
\MakeAutoQuote{«}{»}
\MakeOuterQuote{"}   
\usepackage{lmodern}
\begin{document}

\selectlanguage{danish}
\EnableQuotes
"Quote" 

danish Quote: «Morbi «dolor» risus.»

\selectlanguage{english}
\EnableQuotes
"Quote" 

english Quote: «Morbi «dolor» risus.»
\end{document}
Related Question