是否有特殊原因导致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}
英国的引言并不总是有效: