在收到建议切换到使用 Biber 后另一个问题,我现在正在尝试。不幸的是,我似乎总是会收到这样的信息
LaTeX Warning: Citation 'History' on page 1 undefined on input line 11.
LaTeX Warning: Empty bibliography on input line 14.
然后再加几行:
LaTeX Warning: There were undefined references.
Package biblatex Warning: Please (re)run Biber on the file:
(biblatex) test
(biblatex) and rerun LaTeX afterwards.
(显然,我一开始就遵循了这个建议,但与 BibTeX 不同,通常两次左右的重新运行就足够了,我已经完成了循环的最后两行
pdflatex test.tex
biber test
pdflatex test.tex
六次现在已经连续出现上述消息。
该.blg
文件仅包含一个警告(我不知道如何影响,因为我正在处理新安装的未修改的MikTeX2.9.5736 x64):
[0] Config.pm:324> INFO - This is Biber 2.1
[1] Config.pm:327> INFO - Logfile is 'test.blg'
[136] biber-MSWIN:273> INFO - === %a %b %e, %Y, %H:%M:%S
[137] Biber.pm:333> INFO - Reading 'test.bcf'
[779] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.6, expected version 2.7
[780] Biber.pm:642> INFO - Using all citekeys in bib section 0
[832] Biber.pm:2977> INFO - Processing section 0
[894] Biber.pm:3115> INFO - Looking for bibtex format file 'test.bib' for section 0
[912] bibtex.pm:1021> INFO - Decoding LaTeX character macros into UTF-8
[921] bibtex.pm:895> INFO - Found BibTeX data source 'test.bib'
[1028] UCollate.pm:66> INFO - Overriding locale '' defaults 'variable = shifted' with 'variable = non-ignorable'
[1028] UCollate.pm:66> INFO - Overriding locale '' defaults 'normalization = NFD' with 'normalization = prenormalized'
[1029] Biber.pm:2854> INFO - Sorting list 'anyt' of type 'entry' with scheme 'anyt' and locale ''
[1030] Biber.pm:2858> INFO - No sort tailoring available for locale ''
[1030] Biber.pm:2858> INFO - No sort tailoring available for locale ''
由于其他消息都只是信息消息,没有警告,也没有错误,所以我推测这里一切顺利。
最小工作示例:
这是文件test.tex
:
\documentclass{article}
\usepackage[
backend=biber,
style=alphabetic
]{biblatex}
\addbibresource{test.bib}
\begin{document}
abc~\cite{History}
\nocite{*}
\printbibliography
\end{document}
这是文件test.bib
:
@ARTICLE{History,
author = {Aaron Aman and Betty Beertent},
title = {A new history of things},
journal = {Stuff},
year = {2014},
volume = {29},
pages = {3--36},
timestamp = {2015.09.20}
}
@INPROCEEDINGS{Happy,
author = {Charles C. Cooper and Dora D. Davis and Evgeny Eroshkin},
title = {We are a happy team of researchers},
booktitle = {Declarations of Confidence},
year = {2009},
timestamp = {2015.09.20}
}
生成的 PDF 文件仅包含一页,内容如下:
我发现各种资源都暗示像我以前使用 BibTeX 那样重新运行就足够了,例如:
- 此论坛主题建议“运行 biber 后,您必须再次运行一到两次 pdflatex。”
- 这个 LaTeX SE 答案说一个简单的序列LaTeX-比伯-LaTeX应该做。
- 也是这个答案。
- 这个答案甚至特别提到
pdflatex
“为了编译,您现在应该调用,,pdflatex
” 。biber
pdflatex
如何让 Biber 作为 BibLaTeX 的后端工作?
答案1
您的问题在文件中的这一行中被指出.blg
:
[779] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.6,
expected version 2.7 you have biblatex, version, but you need version 2.7.
Biber
和biblatex
相互依赖。这意味着特殊Biber
版本需要特殊版本才能运行。如果只有和biblatex
的一部分更新,而不是两者同时更新,则会出现此消息。biber
biblatex
这就是我问你的原因:你只安装了 MikTeX 吗?请运行 MiKTeX 包管理器并安装所有可更新的包。
新安装的 MiKTeX 基于安装程序的数据库。安装程序无法识别 MiKTeX 软件包的后续更改。这就是安装新版 MiKTeX 的最佳方式:
- 运行 MiKTeX 安装程序(我个人更喜欢完整的网络安装程序,但这当然是你的选择),
- 安装完成后重新启动(Windows:当然可以)
- 运行 MikteX 包管理器来检查新包(因为安装程序已构建)并安装它们。之后我会再次重新启动。
答案2
也许您的问题如下(我刚刚在您的文件中遇到了这个问题):
Biber 使用缓存文件,可以在其中找到C:\Users\YourName\AppData\Local\Temp\par-4265726e617264\
(数字可能不同),但由于某种原因,该缓存被损坏。
解决方案是删除此目录。Biber 将在下次运行时创建一个全新的缓存。