Biber 2.14 - 令人费解的重复错误:“日期字段‘日期’的格式‘2020-01-01’无效 - 忽略”

Biber 2.14 - 令人费解的重复错误:“日期字段‘日期’的格式‘2020-01-01’无效 - 忽略”

我遇到了和这里,也使用 Biber 2.14,尽管我没有升级、降级、更改 TexLive 版本、更改编码或(似乎)做任何事情。就好像 Biber 突然停止解析我的日期一样。

bibfile 是用 ASCII 还是 UTF-8 编码都没有区别。日期是短格式还是完整的 YYYY-MM-DD 都没有区别。我不确定还要测试什么。

这是 MWE 和相关的 .blg 文件:

\begin{filecontents}{mwe.bib}
    @Article{JD2020,
        author       = {John Doe},
        title        = {A Title},
        date         = {2020-01-01},
        %date       = {2020}
        journaltitle = {Journal},
    }
\end{filecontents}

\documentclass{article}
\usepackage{biblatex}
\addbibresource{mwe.bib}

\begin{document}
    test\autocite{JD2020}
    \printbibliography
\end{document}
[1] Config.pm:304> INFO - This is Biber 2.14
[1] Config.pm:307> INFO - Logfile is 'mwe.blg'
[154] biber-darwin:322> INFO - === Thu Apr 30, 2020, 11:04:33
[185] Biber.pm:415> INFO - Reading 'mwe.bcf'
[354] Biber.pm:943> INFO - Found 1 citekeys in bib section 0
[384] Biber.pm:4256> INFO - Processing section 0
[385] Utils.pm:75> INFO - Globbing data source 'mwe.bib'
[385] Utils.pm:91> INFO - Globbed data source 'mwe.bib' to mwe.bib
[401] Biber.pm:4455> INFO - Looking for bibtex format file 'mwe.bib' for section 0
[402] bibtex.pm:1653> INFO - LaTeX decoding ...
[406] bibtex.pm:1471> INFO - Found BibTeX data source 'mwe.bib'
[437] Utils.pm:304> WARN - Entry 'JD2020' (mwe.bib): Invalid format '2020-01-01' of date field 'date' - ignoring
[457] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized'
[457] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable'
[457] Biber.pm:4084> INFO - Sorting list 'nty/global//global/global' of type 'entry' with template 'nty' and locale 'en-US'
[457] Biber.pm:4090> INFO - No sort tailoring available for locale 'en-US'
[461] bbl.pm:652> INFO - Writing 'mwe.bbl' with encoding 'UTF-8'
[463] bbl.pm:755> INFO - Output to mwe.bbl
[463] Biber.pm:128> INFO - WARNINGS: 1

输出\printbibliography实际上是这样的:
[1] John Doe. “A Title”. In: Journal ().

在我的实际论文中,所有日期都从 pdf 输出中消失了。

答案1

Biber 是用 Perl 编写的,但为了方便没有安装 Perl 的人使用,并确保所有依赖项都有正确的版本,它以“编译”二进制形式分发,使用以下方式捆绑所有 Perl 依赖项PAR::Packer

第一次运行 Biber 时,Biber 会将其所有依赖项解压到临时缓存位置。后续运行将使用缓存中的依赖项。

有时,缓存会在解压过程中或之后被破坏(可能是由于防病毒软件)。在这种情况下,Biber 可能会毫无理由地表现得非常奇怪,有时会出现有用的错误,有时则不会。

过去,有一个非常常见的错误,关于缺失recode.xmlBiblatex/biber 失败,出现有关缺少 recode_data.xml 文件的奇怪错误

如果出现奇怪的 Biber 错误,请按照以下说明删除 Biber 缓存Biblatex/biber 失败,出现有关缺少 recode_data.xml 文件的奇怪错误(如果 Biber 仍然运行良好,biber --cache应该会给你缓存位置。否则,你必须手动找到该位置,这在链接的答案中也有描述,Biber 文档

然后重新运行 Biber(例如biber --help从命令行运行),重要的是,Biber 的运行必须干净地完成,不会中断。即使它花费的时间比您预期的要长,也不要终止该进程。(由于 Biber 会自行解压,因此这次运行比通常的 Biber 运行花费的时间更长。)

Biber 缓存最近存在以下问题https://github.com/plk/biber/issues/312而且很可能还会Biber 2.14 坏了?- Biber 警告:[557] Utils.pm:304> WARN - Entry ...'(....bib):日期字段'date'的格式'2018'无效 - 忽略

答案2

作为莫威猜到了在他的评论中,问题是 Biber 的缓存被破坏了,并且删除缓存修复。

相关内容