对于德语文本,babel
软件包提供了简写“` 和 "'。这些会翻译成德语引号,但只有启用德语时才有效。在英语文本中,必须使用 `` 和 '' 才能获得正确的英语引号。事实上,如果babel
设置为英语,简写甚至不可用。
是否有一个软件包可以增强 babel,以便简写“` 和 “' 总是产生适合文本当前语言的引号?
据我所知,我的编辑器 (TeXStudio) 也支持发射\enquote{
和}
。这是软件包提供的通用解决方案csquotes
。但我真的很感激这些简写,并想知道为什么这些简写没有扩展到无论当前语言如何都可以工作。
答案1
我个人不喜欢德语引号样式,因为我永远记不住哪个是右引号,哪个是左引号。所以通常我使用 \enquote。有时我还会使用 guillemets 和 \MakeAutoQuote。但是如果你想要到处都使用简写,你可以轻松地设置 babel 来执行此操作:
\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}