这是一个错误吗?行为是否已经改变(即,它是一个新的“功能”)?或者最终用户只是一个白痴?
当我尝试在最近(即在 TeX Live 的最新更新之前)编译良好的代码上运行 Biber 时,我收到以下错误:
Can't call method "get_field" on an undefined value at /tmp/par-636672656573/cache-c198dfb38941e814f5331b149bc84facd9e9c2e6/inc/lib/Biber.pm line 2247.
移动网络:
\begin{filecontents}{\jobname.bib}
@bookinbook{entry1,
ids = {entry3},
title = {Original Title},
crossref = {entry2},
origdate = 1098}
@bookinbook{entry4,
title = {Another Original Title},
crossref = {entry2},
origdate = 1076}
@inbook{entry2,
author = {Author, A. N.},
title = {Collected Works},
publisher = {Old Books 'n Stuff},
location = cam,
date = {2003}}
\end{filecontents}
\begin{filecontents}{places.bib}
@string{cam = {Cambridge}}
\end{filecontents}
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\bibliography{places,\jobname}
\begin{document}
\textcite{entry1}
\begin{refsection}
\textcite{entry3,entry4,entry2}
\printbibliography
\end{refsection}
\end{document}
请注意,测试表明,如果
- 将 的引用
entry3
改为 使用entry1
; refsection
未使用;- 之外没有引用任何内容
refsection
; @string{...}
包含在内\jobname.bib
;- 仅
entry4
未在内引用refsection
。
但是,我在想出 MWEB 时遇到了很多困难,所以如果能有头脑清醒的人再检查一下就好了。我可能真的太困惑了。
Biber 抱怨的文件第 2247 行.pm
是:
my $bee = $be->get_field('entrytype');
我正在使用 Biber 2.2 版本。