我正在 Overleaf 上写一篇论文。我收到一条错误消息:
(no line number):
[0] Config.pm:343> INFO - This is Biber 2.5
[0] Config.pm:346> INFO - Logfile is 'filename.blg'
[42] biber:290> INFO - === Wed Apr 11, 2018, 13:41:14
[164] Utils.pm:165> ERROR - filename.bcf is malformed, last biblatex run probably failed. Deleted filename.bbl
[164] Biber.pm:113> INFO - ERRORS: 1
一切都运行良好(包括参考文献和参考书目),但我突然在某个看似随意的点(只写标准文本,没有参考文献或任何其他内容)出现此错误。当我删除文本时,一切又恢复正常。
我加载了以下包:
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=apa]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
并且我已经\printbibliography
在文档末尾了,但是删除它并不能解决问题。
日志文件中的最后一句话是:
<fig_name.jpg, id=33, 824.07875pt x 631.35875pt>
File: fig_name.jpg Graphic file (type jpg)
<use fig_name.jpg>
Package pdftex.def Info: fig_name.jpg used on input line 299
.
(pdftex.def) Requested size: 426.79134pt x 326.97899pt.
LaTeX Warning: Citation 'meuwese2014subjective' on page 5 undefined on input li
ne 300.
LaTeX Warning: Citation 'meuwese2014subjective' on page 5 undefined on input li
ne 300.
[5 <./SDT.png>]
./filename.tex:302: LaTeX Error: Float(s) lost.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.302 \end{figure}
Here is how much of TeX's memory you used:
24590 strings out of 493013
492167 string characters out of 6135682
964956 words of memory out of 5000000
27686 multiletter control sequences out of 15000+600000
11931 words of font info for 41 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
62i,9n,92p,1438b,1663s stack positions out of 5000i,500n,10000p,200000b,80000s
./filename.tex:302: ==> Fatal error occurred, no output PDF fi
le produced!
它所抱怨的参考资料确实存在于 bibtex 文件中:
@article{meuwese2014subjective,
title={The subjective experience of object recognition: comparing metacognition for object detection and object categorization},
author={Meuwese, Julia DI and van Loon, Anouk M and Lamme, Victor AF and Fahrenfort, Johannes J},
journal={Attention, Perception, \& Psychophysics},
volume={76},
number={4},
pages={1057--1068},
year={2014},
publisher={Springer}
}
并且之前在文档中使用过并且没有出现错误。
答案1
这里真正的问题是您收到的第一个错误消息
./filename.tex:302: LaTeX Error: Float(s) lost.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.302 \end{figure}
这将中止 TeX 在您的文档上运行。特别是,这会导致与 Biber 通信.bcf
的文件biblatex
损坏。该.bcf
文件仅在文档的最后完成。如果您没有到达那里,因为错误提前停止了 TeX,则将.bcf
不完整,Biber 将无法理解它。Biber 注意到了这一点,并通过删除文件来应对这种.bbl
情况
ERROR - filename.bcf is malformed, last biblatex run probably failed. Deleted filename.bbl
该.bbl
文件以可读格式包含所有引文的数据biblatex
。如果删除该文件,则意味着所有引文最终都将变得未定义。
因此,您必须确保您的.tex
文件可以无错误地编译。您必须找到丢失的浮点数:http://www.tex.ac.uk/FAQ-fllost.html,出现“Float(s) lost”错误时如何找到丢失的文本部分,浮点丢失错误。
一般来说,当 Biber 抱怨.bcf
文件格式错误时,您的 LaTeX 运行可能会因某些致命错误而中止。该.bcf
文件用于将信息从 LaTeX 传递到 Biber,并且在每次运行 LaTeX 时都会重新写入。文件的第一部分是在文档处理开始时写入的,并且只在文档的最后完成和关闭。这意味着该文件在 LaTeX 运行期间很容易出错,因为基本上文档开头和结尾之间的任何错误都可能导致文件无法正确写出。
每当 Biber 遇到此问题时,它都会.bbl
为您删除该文件。这是一种服务,因为导致 LaTeX 运行失败的问题代码可能隐藏在 Biber 生成的.bbl
文件中。无论如何,如果您遇到此错误,仅重新运行 Biber 不会解决任何问题。您需要找出格式.bcf
错误的原因。通常这是由于 LaTeX 错误造成的,应在 LaTeX 运行中报告该错误.log
,并应予以修复。修复错误,删除所有临时文件(.aux
、、、 ...)并重新运行完整的 LaTeX、Biber、LaTeX、 .bbl
LaTeX.bcf
循环。