![将 language=british 传递到 biblatex-chicago 并附带 polyglossia](https://linux22.com/image/297899/%E5%B0%86%20language%3Dbritish%20%E4%BC%A0%E9%80%92%E5%88%B0%20biblatex-chicago%20%E5%B9%B6%E9%99%84%E5%B8%A6%20polyglossia.png)
这个问题类似于这个,但这里的关键是biblatex-chicago
。
我知道这有点粗糙的正在构建polyglossia
对 的支持biblatex
。迄今为止,biblatex-chicago
已babel
改为进行测试。
要在 中实现英国本地化biblatex-chicago
,手册说要babel
使用选项加载british
。当我改为使用polyglossia
和\setmainlanguage[variant=british]{english}
时,它会加载cms-american.lbx
实际上加载了 中提到的相同情况这个问题。 在这个答案对于该问题,解决方案之一是手动将(在这种情况下)传递language=ngerman
给biblatex
。因此,该选项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
无法与本地化文件绑定。
我想到了一些解决方法:
- 选择
biblatex
并将biblatex-chicago
的相关内容复制biblatex-chicago.sty
到我自己的序言中(以及以某种方式导入的内容biblatex-chicago
——cms-british.lbx
这样做的优雅方式是什么?); - 换成
polyglossia
。babel
请注意,我的文档包含十几种欧洲语言。
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