但是使用 babel 的引号行为?

但是使用 babel 的引号行为?

对于德语文本,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}

在此处输入图片描述

相关内容