昨天我将我的 MikTex 2.9 发行版(Win XP SP3 32 位)更新至biblatex
2.1 以及biber
1.1 和其他一些版本。(以下软件包已更新:
biblatex.tar.lzma...
hyperref.tar.lzma...miktex-biber-bin.tar.lzma... miktex-misc.tar.lzma...miktex-texinfo-base.tar.lzma...todonotes.tar.lzma..)
并且,突然间,我无法再编译我的文档了。
以下是我所做的和得到的:
删除
.aux
文件。运行
pdflatex -synctex=1 -interaction=nonstopmode %.tex
-> 一切正常。没有错误运行
biber
。可以工作,但是会出现一系列警告,例如:WARN - BibTeX subsystem: C:\DOKUME~1\jelzow01\LOKALE~1\Temp\scsg79gtPA\Lit.bib_320.utf8, line 18, warning: 1 characters of junk seen at toplevel
最后的消息仍然是“进程正常退出”。
由于在此阶段 PDF 文件中的引用尚未解析,因此我
pdftex
再次运行:pdflatex -synctex=1 -interaction=nonstopmode %.tex
但这次我收到了很多错误(这里是摘录):
line 1034: Paragraph ended before \name was complete
line 136: Undefined control sequence ...csname newcount\endcsname \scratchcounter
line 136: Missing number, treated as zero ...csname newcount\endcsname \scratchcounter
line 136: Missing = inserted for \ifnum ...csname newcount\endcsname \scratchcounter
line 136: Missing number, treated as zero ...csname newcount\endcsname \scratchcounter
line 136: Undefined control sequence ...csname newcount\endcsname \scratchcounter
line 136: Undefined control sequence ...csname newcount\endcsname \scratchcounter
line 136: Missing number, treated as zero ...csname newcount\endcsname \scratchcounter
line 136: Undefined control sequence ...csname newcount\endcsname \scratchcounter
line 136: You can't use `\xdef' after \advance ...csname newcount\endcsname \scratchcounter
第一个与文件相关*.bbl
,其他的与相关supp-pdf.mkii
。它们链接到日志文件中的以下几行:
Package biblatex Info: Reference section=2 on input line 10.
Package biblatex Info: Reference section/segment=2/0 on input line 10.
("C:\Programme\MiKTeX 2.9\tex\context\base\supp-pdf.mkii"
[Loading MPS to PDF converter (version 2006.09.02).]
! Undefined control sequence.
<argument> \blx@bbl@data
然后我找到了这个主题:Biblatex 2.1 错误
Ulrike Fischer 提到,问题可能与 2.1 有关biblatex
,不应该出现在 2.0 中。因此,我降级到 2.0。但没有成功。同样的问题再次出现。我注意到以下警告:
Package biblatex Warning: File 'main_diss.bbl' created by wrong version.
Package biblatex Info: ... file 'main_diss.bbl' found.
('path to my bbl file'.bbl
Runaway argument?
{{{hash=3b25bddedd00854b83d926f7f0f709e9}{Tuchin}{T\bibinitperiod }{V\ETC.
! Paragraph ended before \name was complete.
<to be read again>
\par
l.1034
显然,biber
1.1bbl
为biblatex
2.1 创建了一个文件。然后我想降级到biber
1.0。但在存储库中
http://www.ctan.org/tex-archive/biblio/biber/binaries/Windows
我只找到了 2012 年 7 月 30 日上传的最新文件版本。
有人知道问题是什么以及如何解决吗?我在哪里可以得到biber
1.0?其他软件包会对这个问题产生影响吗?
非常欢迎任何帮助。
[更新] 我也尝试更新biblatex
到 2.2。同样,没有成功。
[更新] 问题解决方案
我想,我不应该指责 biblatex 或 biber。问题出在我用作参考书目数据库的 *.bib 文件中。此文件是从 Zotero 自动导出的。昨天,我添加了一个简短的引文,但没有编译(因为当时正在运行 Miktex 的更新)。今天,更新后,我注意到了上述问题。我真丢脸。
以下是导致问题的条目:
@book{tuchin_tissue_2007,
address = {Bellingham, Wash.},
title = {Tissue optics light scattering methods and instruments for medical diagnosis},
isbn = {9780819464330 0819464333 9780819481061 0819481068 9781615837311 1615837310},
url = {http://link.aip.org/link/doi/10.1117/3.684093},
abstract = {This second edition covers the intensive growth in tissue optics--in particular, the field of tissue diagnostics and imaging--that has occurred since 2000. As in the original edition, Part I describes fundamentals and basic research, and Part {II} presents instrumentation and medical applications. The extensive new material includes results on tissue optical property measurements, including polarized light interaction with turbid tissues; an overview of new polarization imaging and spectroscopy techniques, optical computed tomography {(OCT)} developments and applications; updates on controlling tissue optical properties, and the optothermal and optoacoustic interaction of light with tissues; and descriptions of fluorescence, nonlinear spectroscopies, and inelastic light scattering.},
publisher = {{SPIE/International} Society for Optical Engineering},
author = {Tuchin, V. V and {{Society} of Photo-optical Instrumentation Engineers}},
year = {2007},
file = {Tissue Optics | Press Monographs - eBooks:D:\aj\zotero\storage\SXWHA9T7\pm166.html:text/html;Tissue Optics | Press Monographs - eBooks:D:\aj\zotero\storage\Z2A22V52\pm166.html:text/html}
},
更确切地说,问题是由 author 字段引起的。如果我替换
author = {Tuchin, V. V and {{Society} of Photo-optical Instrumentation Engineers}},
和
author = {Tuchin, V. V},
一切正常。如您所见,第二个“作者”(社会)周围有一些额外的括号 {},这可能是造成问题的原因。如果我删除第二个作者,一切正常。
我猜想 biber 会解析作者字段直到找到第一个结束的 } 然后停止。在这种情况下,开括号和闭括号不平衡。这造成了麻烦。
感谢 Ulrike Fischer 和 PLK 的评论。下次我会先尝试一个最小的例子。