1

For German texts, the babel packages provides the shorthands "` and "'. Those translate to German quotes, but only when the German language is enabled. In English texts, one has to use `` and '' to get proper English quotes. In fact, if babel is set to English, the shorthands are not even available.

Is there a package that enhances babel so that the shorthands "` and "' always produce quotes appropriate for the current language of the text?

As far as I can see, my editor (TeXStudio) also supports emitting \enquote{ and }. This is a general solution provided by the csquotes package. But I'd really appreciate the shorthands and wonder why the shorthands were not extended to work regardless of the current language.

3
  • It is hard to describe "` as a shorthand for `` isn't it? It's no shorter? Commented Nov 25, 2020 at 21:56
  • You are correct. My point, however, would be that having a language-agnostic way to write the quotes would be convenient. In TeXStudio for example, I have to chose one style of quotes.
    – Sven
    Commented Nov 25, 2020 at 21:57
  • sure, I think I have seen such a feature somewhere, someone will no doubt answer. Commented Nov 25, 2020 at 22:15

1 Answer 1

1

Personally I don't like the german quote style as I never can remember which is the right and which the left quote. So normally I use \enquote. Sometimes I use also guillemets along with \MakeAutoQuote. But if you want the short hands everywhere you can easily setup babel to do this:

\documentclass{article}
\usepackage[ngerman,english,french]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[T1]{fontenc}
\MakeAutoQuote{«}{»}
\useshorthands*{"}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
\begin{document}
"`quote "`inner quote"' outer"'
«quote «inner quote» outer»

\selectlanguage{english}

"`quote "`inner quote"' outer"'
«quote «inner quote» outer»

\selectlanguage{ngerman}

"`quote "`inner quote"' outer"'
«quote «inner quote» outer»


\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .