我通过 biblatex/biber 维护一个特殊的软件包列表。通常,我指的是一般的软件,而不是特定的版本。因此,很难给出 bibtex 条目的精确版本year
。date
因此,它们可能如下所示:
@software{Boost,
label = {Boost},
title = {Boost C++~Libraries},
url = {http://www.boost.org/},
urldate = {2016-09-08}
}
我已经使用了这个问题让 bibersoftware
完全了解条目类型,因此使用--validate-datamodel
命令行标志时大多数警告都会消失。然而,剩下的是:
Biber 报告了“Boost”的以下问题: - 数据模型:条目“Boost”(thesis.bib):缺少必填字段 - 必须定义“日期、年份”之一。(第 1 页)
由于我已手动分配了,因此label
我对打印的方式非常满意。我只想让此警告静音。有什么方法可以实现吗?
答案1
为此,您确实必须推出自己的数据模型,请参阅使用 biber 定义 biblatex 中所需的 bib 字段和biblatex 中的强制约束类型有什么作用?。
如果你这样做,这将自动解决你的问题静音 biber 警告“输入类型‘YYY’的字段‘XXX’无效”同样,您不需要使用别名\DeclareDriverSourcemap
(事实上,如果这样做会产生问题!),只需返回即可\DeclareBibliographyAlias
。
创建名为languitar.dbx
以下内容的文件
\DeclareDatamodelEntryfields[software]{
title,
url,
addendum,
author,
editor,
editortype,
language,
month,
note,
organization,
pubstate,
subtitle,
titleaddon,
urlhour,
urlminute,
urlsecond,
urltimezone,
urlendhour,
urlendminute,
urlendsecond,
urlendtimezone,
urlday,
urlendday,
urlendmonth,
urlendyear,
urlmonth,
urlyear,
version,
year}
(这是针对 的@software
,但您可以对 执行相同的操作@standard
。)
datamodel=languitar
然后,无论何时加载,都使用该选项加载该模型biblatex
。