TeX 中编译书目错误最常见的原因和解决方案列表

TeX 中编译书目错误最常见的原因和解决方案列表

Texmaker我开始在家用电脑上使用,当我尝试运行文件时,收到以下类型的错误消息:

INFO - This is biber 0.9.2

INFO - Logfile is 'bibertest.blg'

FATAL - Cannot find control file 'bibertest.bcf'! - did you pass the "backend=biber" option to BibLaTeX?

Process exited with error(s)

我使用了这个 MWE(来自之前的帖子)

%%% Tex File
\documentclass{article}

\usepackage[american]{babel}
\usepackage{csquotes}

\usepackage[backend=biber]{biblatex}

\DeclareLanguageMapping{american}{american-apa}

\addbibresource{NumFactorsTest.bib}

\begin{document}

Some text is here.
\textcite{Akaike1973}
\textcite{Akaike1987}


\printbibliography

\end{document}


%%% BIB file
@InProceedings{Akaike1973,
   author = {H. Akaike},
   title = {Information theory and an extension of the maximum likelihood principle},
   editor = {B. N. Petrov and F. Csaki},
   booktitle = {2nd International Symposium on Information Theory},
   pages = {267-281},
   year = {1973},
   location = {Budapest: Akademiai Kiado} 
}

@article{Akaike1987,
   author = {Akaike},
   title = {Factor analysis and AIC},
   journal = {Psychometrika},
   volume = {52},
   number = {3},
   pages = {317-332},
   year = {1987}
}

.blg文件:

[2] Config.pm:324> INFO - This is Biber 2.1
[2] Config.pm:327> INFO - Logfile is 'bibertest.blg'
[232] biber-MSWIN:273> INFO - === %a %b %e, %Y, %H:%M:%S
[597] Utils.pm:162> ERROR - Cannot find control file 'bibertest.bcf'! - did you pass the "backend=biber" option to BibLaTeX?
[598] Biber.pm:110> INFO - ERRORS: 1

.log文件(相关部分):

("C:\Program Files\Miktex 2.9\tex\latex\biblatex\biblatex.sty"
Package: biblatex 2015/04/19 v3.0 programmable bibliographies (PK/JW/AB)
("C:\Program Files\Miktex 2.9\tex\latex\biblatex\biblatex2.sty"
Package: biblatex2 2015/04/19 v3.0 programmable bibliographies (biber) (PK/JW/A
B)


Package biblatex Info: No input encoding detected.
(biblatex) Assuming 'ascii'.
Package biblatex Info: Automatic encoding selection.
(biblatex) Assuming data encoding 'ascii'.
Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'bibertest.bbl' not found.
No file bibertest.bbl.

我研究了一些潜在的解决方案:


  1. 更新MikTeX并配置Texmaker-Biblatex + Biber + Texmaker + MiKTeX

我更新MikTeX并配置Texmaker为使用 biber,如下所示

在此处输入图片描述


  1. 缓存文件夹

我检查临时文件中的缓存文件夹

  C:\Users\<username>\AppData\Local\Temp (Windows 7)

但我没有找到任何类型的缓存文件夹par-<hex_encoded_username>\cache-*


  1. 文件不匹配 - (书目辅助文件不匹配(.aux.bcf 与 .bcf)

我检查了文件之间是否不匹配。


  1. 控制文件 (.bcf) - 使用biber时出现错误消息

我也检查了其他解决方案来解决找不到控制文件的问题,但没有用。


此错误还有其他原因吗?我可以尝试哪些替代解决方案?如果认为这相关,列出最常见的错误原因和解决方案也可能是系统化此问题的好方法(但我不知道我应该查看多少帖子才能找到解决方案)。如果发现相关,请提供一些有关biber更新和纠正这些错误的努力的最新信息。

在我看来,有很多非常好的信息tex.stackexchange,但没有收集起来,这使得解决问题biber和参考书目变得困难,而参考书目是所有类型研究的重要课题。

注意:当我第一次运行运行PdfLaTeX前,biber我收到一个文件繁忙的警告消息synctex。我使用这个解决了这个问题回答,但最初的错误仍然存​​在。

答案1

在您的案例中,问题在于使用编辑器的“使用“构建”子目录作为输出文件选项”。当调用 Biber 时,它会查找文件.bcf(实际上,Biber“编译”了.bcf)。但如果.bcf文件已移动到 Biber 不知道的另一个子目录中,Biber 就找不到该文件。正是出于这个原因,Biber 拥有--output-directory--input-directory选项,如查找 LaTex 输出文件。但是,大多数编辑器都没有意识到这个很好的功能,也没有将其纳入他们的“使用“build”子目录作为输出文件选项”功能中,所以你必须自己做这件事。

该网站的共识似乎是:只有当您知道自己在做什么(以及它是什么!)时,才使用“使用“构建”子目录作为输出文件选项”选项。如果您为文档设置了良好的文件夹结构,您将能够很好地处理由 LaTeX 和朋友生成的临时文件。


根据我的经验,尝试运行 Biber 时最常遇到的问题biblatex如下。您会注意到,其中只有一个可以真正被视为错误,尽管它是由上游软件包引入的。

  1. 无法运行 Biber。尤其是使用编辑器/IDE 环境的初学者通常没有意识到必须在文件上运行外部程序。不仅需要 LaTeX 来编译文件,还需要 Biber。请参阅经常查看的问号代替引文编号。对于那些希望他们的编辑支持 Biber 的人来说,还有Biblatex 与 Biber:配置我的编辑器以避免未定义的引用

  2. 不匹配biblatex和 Biber 版本。当然,我们始终建议定期更新系统的所有组件。这对于biblatex和 Biber 来说更为重要,因为特定版本biblatex只能与特定版本的 Biber 一起使用。请参阅biblatex文档为了Biber/Biblatex 兼容性矩阵(文档 3.0 版第 6 页表 1)。发生此问题时收到的警告如下:

    Warning: Found biblatex control file version 2.5, expected version 2.4

    事实上,这只是一个警告,在某些情况下,如果您继续按,编译仍会通过,但这往往会在以后引起麻烦和悲伤。这里必须记住,控制biblatex文件 (bcf) 版本不一定与biblatex或 Biber 的版本一致。目前,biblatex是版本 3.0,Biber 是 2.1,相应的 bcf 版本是 2.5。

  3. Biber 臭名昭著的缓存错误。有时 Biber 会因为缓存文件夹而阻塞 - 缓存文件夹没有正确解压或被损坏。这是一个已知问题,它会通过奇怪的 Biber 错误和警告来显示出来,例如

    Use of uninitialized value $llabel in concatenation (.) or string at Biber.pm line 1741

    data source C:\Users\UserName\AppData\Local\Temp\par-416e6a61\cache-46f2da95c5284272f49f4e60b997c7e3f24afb19\recode_data.xml not found in .

    正如解释的那样Biblatex/biber 因缺少 recode_data.xml 文件而出现奇怪错误?可以通过删除 Biber 的缓存文件夹来解决这个问题。在链接的问题中,Biber 的一位开发人员宣布已更新了相关的 Perl 包,因此该错误应该会在 Biber 的未来版本中被删除。

  4. 非标准、不统一或格式错误的.bib文件。通常,这不会导致错误或警告,但会导致奇怪的输出。有时人们只是从互联网上下载参考信息或让他们的参考管理器导出文件.bib而不查看结果.bib文件。这些文件可能包含奇怪的结构,例如note = {\url{www.example.com} accessed 1. September 2014},当biblatex方式应该是时url = {www.example.com}, urldate = {2014-09-01}。人们有时会使用@misc来表示更适合输入类型的作品@online。有关受支持类型、其字段及其含义的列表,请参阅§2数据库指南biblatex文档.bib. 一个干净文件的例子biblatexbiblatex-examples.bib

这可能不言而喻,但如果您已经发现问题并已修复它,删除临时文件(.aux,,.bcf...)总是一个好主意,以确保编译可以通过而不会在临时文件中出现任何遗留问题。

相关内容