问题简要描述
在主要语言为希伯来语、次要语言为英语的双语文档中,csquotes
即使活动语言设置为英语,使用该包排版引号也会产生错误的引号。
通过最小工作示例演示问题
我将进行两次“实验”以比较它们的结果。我认为第一次实验的结果显示了预期的、理想的行为,而第二次实验的结果则显示了意外的、不理想的行为。
实验 1:预期、理想的行为
我将以下 LaTeX 代码保存在 中~/Test.tex
。
\documentclass{article}
%\usepackage[bidi=basic,english,hebrew,provide=*]{babel}
%\babelfont{rm}[Renderer=HarfBuzz]{FreeSerif}
\usepackage{csquotes}
\begin{document}
%\selectlanguage{english}
\enquote{hello}
\end{document}
代码排版单词你好作为引用,使用包提供的引用机制csquotes
。
然后我在终端中执行了以下命令:
> cd ~
> lualatex 测试
编译成功完成。文件~/Test.log
不包含任何警告。编译的结果是~/Test.pdf
创建了文件。在 PDF 查看器中打开时,文件显示如下。(我仅截取了显示的相关部分。)
实验 2:意外、不良行为
在上面列出的 LaTeX 代码中,我取消了三行注释。生成的代码使用该babel
包将文档的主要语言配置为希伯来语,将文档的次要语言配置为英语。文档的正文将活动语言设置为英语,然后排版单词你好作为引用,使用包提供的引用机制csquotes
。
与之前一样进行编译,编译成功完成,但是~/Test.log
包含一个警告:
Package csquotes Warning: No style for language 'hebrew'.
(csquotes) Using fallback style on input line 7.
并~/Test.pdf
显示如下。
可以看出,使用的引号是 ,?
而不是"
像第一个实验中那样。
问题
在第二个实验中,为什么引号的排版方式与
"
第一个实验不同,尽管排版时引用的语言是英语?如何改变第二个示例以实现正确排版的英文引文,同时保持文档为所配置的希伯来语-英语双语文档
babel
?
类似问题
这个问题与我的类似,但是在那个问题中英文引号排版正确,而在我的问题中却不正确。
答案1
默认csquotes
使用主语言的引号。
\usepackage[autostyle]{csquotes}
如果您希望它将引号适应“本地”语言,则应该加载它。