# Polyglossia-Babelshorthands for quotes ignores csquotes formatting

For a larger book project containing two languages I use polyglossia with the babelshorthands option. For the German style quotes I used the shorthands " (opening) and "' (closing). This worked perfectly.

Now that I got the layout rules from my publisher I have to change all quotation marks to guillemets. I did this by loading csquotes with the german=guillemets option.

But only with partial success. All biblatex references correctly use guillemets now, also all quotes that are envoked with \enquote. But all quotations using the mentioned shorthand still use the normal German style of quotation marks.

Alas, I do not have the extra two months of time to replace all the shorthands with a correct \enquote command. How do I tell csquotes to interpret the shorthands according to the default setting? Or where else do I find this configuration?

MWE:

\documentclass[10pt]{book}
\setlength{\parindent}{3.5mm}
\usepackage{ebgaramond}
\usepackage[german=guillemets]{csquotes}

\usepackage{polyglossia}%
\setmainlanguage[babelshorthands=true]{german}
\setotherlanguage{hebrew}
\defaultfontfeatures{RawFeature={-clig}}
\setmainfont[Mapping=tex-text,Numbers=OldStyle,Ligatures=TeX]{EB Garamond}
\newfontfamily\hebrewfont{Linux Libertine O}

\begin{document}

Quotation with enquote looks like \enquote{this}.

Quotation with babelshorthands  looks like "this"'. Which is not intended.

\end{document}


I could get it to work with \defineshorthand (but I had to trim down your example, for I miss stuff in my system which was required to build it).

\documentclass{book}

\usepackage{fontspec}

\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{german}

\usepackage[german=guillemets]{csquotes}

\defineshorthand{"}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}

\begin{document}

Quotation with enquote looks like \enquote{this}.

Quotation with babelshorthands also looks like "this"'. Which is what is sought for.

\end{document}

% Local Variables:
% TeX-engine: xetex
% End:


• Great, thank you! The clue was to invoke \defineshorthand after polyglossia package is loaded. Stupid me. Could you add that to your answer? (And I'll delete this utterly wrong sentence from my question). Feb 3, 2019 at 20:19
• @shevek You probably have to call it after babelshorthands has been specified. Feb 3, 2019 at 20:55