我在使用时无法尊重包的选项biblatex
。我想将我的参考资料打印为autopunct
csquotes
polyglossia
IN 会议记录。“作品标题。” 收录于:2019 年。
不像
IN 会议记录。“作品标题”。2019 年。
.
(请注意之前的 的位置”
)。
在下面的 MWE 中,我使用 Babel 实现了这一点,但是不是当我使用polyglossia
。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{example,
author = {Proceedings, I. N.},
year = {2019},
title = {Title of the Work},
}
\end{filecontents}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{example}
\printbibliography
\end{document}
我是不是做错了什么,还是我只是遇到了其中一个包中的错误?我使用 LuaLaTeX 编译我的文档。
答案1
biblatex
这是由于和polyglossia
的语言接口不兼容造成的。polyglossia
biblatex
只能检测主要语言(english
在本例中)而不能检测语言变体( )。 通常,这个问题不会被注意到,但在某些极端情况下,例如这种情况,它可能会导致一些不良影响。 这就是为什么下一个会在与 一起使用时发出警告的american
原因version
biblatex
polyglossia
:https://github.com/plk/biblatex/issues/845。
biblatex
仅当检测到美式英语 ( )时,才会启用完整的美式引号标点方案,american
而对于通用英语 ( english
) 则不会启用,通用英语与美式英语完全相同。对于 ,polyglossia
我们只检测,因此未启用美国标点方案。(需要说明的是:在参考书目中english
,在 产生的引号周围移动标点完全由及其命令和控制。'选项对此没有发言权。)biblatex
biblatex
\uspunctuation
\stdpunctuation
csquotes
autopunct
以下行将启用美国引号标点规则,即使使用普通的english
\DefineBibliographyExtras{english}{\uspunctuation}
或者,你可以english
使用american
\DeclareLanguageMapping{english}{american}
但请注意,文档中明确不鼓励这样做biblatex
。这种方法相对于特定方法的优势\DefineBibliographyExtras{english}{\uspunctuation}
在于它会自动复制全部的american
设置,english
而不仅仅是\uspunctuation
。
\documentclass{article}
\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
\usepackage{polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\else
\usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\DefineBibliographyExtras{english}{\uspunctuation}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}
相关问题讨论于Biblatex-Chicago 和非美国报价风格?。使用 biblatex 和 polyglossia 进行本地化日期,\DeclareLanguageMappingBiblatex 中的后缀、继承和多语种和我们如何让 Polyglossia 语言变体与 Biblatex 书目兼容?处理biblatex
和之间的兼容性问题polyglossia
。
不久前,我曾毫不含糊地建议polyglossia
尽可能放弃babel
,因为该语言babel
正在积极发展(再次),而且polyglossia
在很大程度上似乎处于休眠状态。实际上,它对大多数(西方)欧洲语言babel
的效果一样好(如果不是更好的话)polyglossia
,而且在传统上更强大的领域(希伯来语、阿拉伯语等)babel
也取得了进展。参见polyglossia
2019 年 LuaLaTeX 应该使用 Polyglossia 还是 Babel?。最近,polyglossia
GitHub 页面,所以也许这个项目又重新获得了动力。(顺便说一句,我认为如果这两个项目以某种形式合并,而不是继续以类似的目标独立开发,那么 LaTeX 社区将会受益。发展的起起伏伏只会让人们对选择哪个软件包感到困惑。)