在英语中使用 csquotes 的简写

在英语中使用 csquotes 的简写

是否有特殊原因导致csquotes' 简写不能用于英文文本,还是我忽略了什么?该\enquote命令工作正常。

确实,英文风格的引号在 LaTeX 中是最容易输入的,但是csquotes在多语言文档中,用英文来区分结束引号和撇号,或者分开书写文本并决定使用单引号还是双引号,仍然是很好的做法。

我希望这个问题的答案也可以用于引号,但我无法让它工作。

\documentclass{scrartcl}

\usepackage[main=british, german, french]{babel}
\usepackage[babel=true]{csquotes}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}

\begin{document}
"`Text in "`British"'"'\\
\enquote{enquote} \enquote*{enquote*}

\selectlanguage{german}%
"`Text auf "`Deutsch"'"'\\
\enquote{enquote} \enquote*{enquote*}

\selectlanguage{french}%
"`Texte en "`Fran\c{c}ais"'"'\\
\enquote{enquote} \enquote*{enquote*}
\end{document}

引用测试

答案1

再次尝试,现在它起作用了(也适用于美国)...

\usepackage[main=british]{babel}
\usepackage[babel=true]{csquotes}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}

但我还没有弄清楚。当我运行这个程序时LuaTeX

\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX, Scale=0.92]{Linux Libertine O}

\usepackage[main=british,russian,ngerman]{babel}
\usepackage[babel=true]{csquotes}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}
\addto\extrasenglish{\languageshorthands{russian}}

\begin{document}
"`Text in "`British"'"'\par
\selectlanguage{russian}%
"`Текст на "`русском"' языке"'\par
\selectlanguage{british}%
"`Text in "`British"'"'\par
\enquote{enquoted text in \enquote*{British}}\par
\selectlanguage{ngerman}%
"`Text auf "`deutsch"'"'\par
\selectlanguage{british}%
"`Text in "`British"'"'\par
\end{document}

英国的引言并不总是有效:

俄语与LuaTeX

相关内容