我想包含大量不同语言的参考书目条目。绝大多数都是英文的,只有少数是其他语言的。我没有language
或字段,无法为每个条目使用不同的语言。我可以手动将字段添加到非英文条目中。有没有办法为每个未设置的条目设置默认设置?langid
hyphenation
langid
langid={english}
答案1
autolang
第 48 页上对该选项的描述biblatex
文档说
[如果加载了/包并且参考书目条目包含字段,则
autolang
] 选项控制使用哪种语言babel
环境(参见 § 2.2.3)。请注意,如果加载了/ ,Biblatex 会自动调整为主文档语言。在多语言文档中,它还会不断调整当前语言,就引用和参考书目的默认语言而言。此选项用于在参考书目中按条目切换语言。babel
polyglossia
langid
babel
polyglossia
因此,如果没有langid
提供字段,biblatex
则返回当前语言。考虑以下 MWE,其中british
是文档语言并且uthor
不附带langid
字段,而torin
有ngerman
。
\documentclass[ngerman,british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear-icomp,autolang=other]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{uthor,
author = {Anne Uthor},
year = {2001},
title = {An English Title},
booktitle = {Collection},
editor = {Eddie Tor},
}
@incollection{torin,
author = {Anne U. Torin},
year = {2002},
title = {Ein deutscher Titel},
booktitle = {Sammelband},
editor = {Heinz E. Rausgeber},
langid = {ngerman},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
torin
以德语为背景,但uthor
仍保留(英国)英语。
如果您坚持要langid
为尚无该字段的条目设置字段,请使用
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=langid, fieldvalue={english}]
}
}
}
因为此映射不会覆盖字段,所以只有那些没有langid
获取的条目english
。