将 language=british 传递到 biblatex-chicago 并附带 polyglossia

将 language=british 传递到 biblatex-chicago 并附带 polyglossia

这个问题类似于这个,但这里的关键是biblatex-chicago

我知道这有点粗糙的正在构建polyglossia对 的支持biblatex。迄今为止,biblatex-chicagobabel改为进行测试。

要在 中实现英国本地化biblatex-chicago,手册说要babel使用选项加载british。当我改为使用polyglossia\setmainlanguage[variant=british]{english}时,它会加载cms-american.lbx实际上加载了 中提到的相同情况这个问题。 在这个答案对于该问题,解决方案之一是手动将(在这种情况下)传递language=ngermanbiblatex。因此,该选项language=british适用于我的目的biblatex。但是,如果将此选项传递给biblatex-chicago,则在加载本地化文件时似乎会出现问题,因为所有参考书目字符串仍未定义:

\documentclass{book}
\usepackage{fontspec}
\usepackage{filecontents}
\usepackage[style=british]{csquotes}
\usepackage{polyglossia}
\usepackage[notes,language=british]{biblatex-chicago}

\setdefaultlanguage[variant=british]{english}
\setmainfont[Ligatures=TeX]{Cardo}
\begin{filecontents}{book.bib}
@online{key1,
   title = {Stack Exchange},
   url = {http://www.stackexchange.com},
   urldate = {2014-09-16}
}
\end{filecontents}
\addbibresource{book.bib}

\begin{document}

See date formatting in footnote below.\autocite{key1}

\end{document}

返回警告:

Package biblatex Warning: Bibliography string 'urlseen' undefined
(biblatex)                at entry 'key1' on input line 21.

Package biblatex Warning: Bibliography string 'september' undefined
(biblatex)                at entry 'key1' on input line 21.

输出:

未定义的字符串
(来源:langeslag.org

如果我加载ngerman,它实际上会工作,尽管显然本地化是错误的。这表明british无法与本地化文件绑定。

我想到了一些解决方法:

  1. 选择biblatex并将biblatex-chicago的相关内容复制biblatex-chicago.sty到我自己的序言中(以及以某种方式导入的内容biblatex-chicago——cms-british.lbx这样做的优雅方式是什么?);
  2. 换成polyglossiababel请注意,我的文档包含十几种欧洲语言。

biblatex-chicago但是,真正告诉从其自身加载本地化的正确方法是什么cms-british.lbx

答案1

你可以biblatex-chicago认为这种语言确实是british

\begin{filecontents}{\jobname.bib}
@online{key1,
   title = {Stack Exchange},
   url = {http://www.stackexchange.com},
   urldate = {2014-09-16}
}
\end{filecontents}
\documentclass{book}
\usepackage{fontspec}
\usepackage{filecontents}
\usepackage[style=british]{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage[variant=british]{english}

\let\keptlanguagename\languagename
\def\languagename{british}
\usepackage[notes,language=british]{biblatex-chicago}
\let\languagename\keptlanguagename

\setmainfont[Ligatures=TeX]{Cardo}
\addbibresource{\jobname.bib}

\begin{document}

See date formatting in footnote below.\autocite{key1}

\end{document}

适当的支持polyglossia需要改变biblatex-chicago.sty

在此处输入图片描述

答案2

据我所知,polyglossia英国变体的定义是

\setdefaultlanguage[variant=uk]{english}

所以尝试改变线路

\setdefaultlanguage[variant=british]{english}

希望它能帮到你!Jigdrel

相关内容