biblatex与 BibTeX 相比 -biber与.bibtex

biblatex与 BibTeX 相比 -biber与.bibtex

我想将预印本连同参考书目一起上传到 arXiv。我个人更喜欢 Biber,但我从经验中知道,如果我上传用 Biber 制作的 .bbl,arXiv 将无法正确解释它,因为版本不匹配无法纠正。(对于我目前的文章,我再次尝试了一次,只是为了看看是否有所改变,编译确实有效,但编译后的文档没有显示我的引用或包含参考书目。)

因此我使用 BibTeX 制作了一个 .bbl 文件(在编辑中添加:我通过在文档结尾之前\bibliographystyle{alphaurl}添加序言和来实现这一点,然后使用、、、") 进行编译,上传并编译。最终导致 arXiv 编译退出的错误如下:{\footnotesize\bibliography{mybib.bib} }pdflatexbibtexpdflatexpdflatex

! Package biblatex Error: File 'xxxxxxx.bbl' not created by biblatex.

嗯,我知道:我避免使用 BibLaTeX,因为我知道 arXiv 无论如何都会破坏它。但它显然不喜欢 BibTeX,因为它不是 BibLaTeX。我可以在这里做什么?

(版主注意:我知道这个网站上已经有关于这个问题的一系列变体,但是由于 arXiv 的软件包随着时间而变化,问题的答案也会随之变化。到目前为止,我发现的其他任何东西都无法帮助我。)

答案1

如果你正在寻找帮助biblatex有关 arXiv 上传的 Biber 帮助,请查看https://github.com/plk/biblatex/wiki/biblatex-and-the-arXivBiblatex 和 arxiv,错误也一样。

Overleaf 用户可能感兴趣https://www.overleaf.com/learn/how-to/LaTeX_checklist_for_arXiv_submissions


这里发生了几件事,所以我认为首先了解总体情况很重要。

biblatex与 BibTeX 相比 -biber与.bibtex

bibtex(程序/“后端”)和“BibTeX 生成书目方式”之间存在差异。如果biblatex将 引入方程式,则这种区别变得有意义。“BibTeX 生成书目方式”只是在 LaTeX 中获取书目的一种方法,其他选项包括biblatex和手动方式thebibliographyLaTeX Wikibook 详细列出了制作参考书目的几种方法,并且简要概述)。BibTeX 生成参考书目的方式当然与使用bibtex(程序)有关,手册thebibliography不需要额外的辅助程序,并且biblatex可以与其专用的 Biber 后端(首选)或bibtex。请阅读bibtex 与 biber 以及 biblatex 与 natbib 的比较了解更多有关这方面的解释。有关后端角色的详细说明(bibtex了解更多解释。有关后端(或 Biber)使用问号或粗体引用关键字代替引用编号

.bbl文件及其biblatex与 BibTeX之间的区别

.bbl文件所起的作用biblatex与 BibTeX 方式相似,但.bbl两种可能方式生成的文件有很大不同。如果使用 BibTeX 方式,BibTeX 运行将生成一个.bbl文件,其中包含参考书目,与文档中应显示的内容完全一致,并且经过格式化和排序。biblatex文件.bbl不包含完成的参考书目,而是包含 LaTeX 可理解格式的条目数据以及文件中不存在的一些额外信息.bib(消歧义、自动计算的标签等);条目也经过排序。为 BibTeX 方式创建参考书目的文件与为(或 Biber)生成的文件.bbl完全不兼容。.bblbiblatexbibtex

您正在使用biblatexBiber 作为后端(一个不错的选择),您的文档(从评论中得出)大致如下

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,style=ieee-alphabetic,sorting=nyvt]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage{hyperref}

\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

此类文档始终需要.bbl由 Biber 生成的文件。即使您更改backend=biberbackend=bibtex,该.bbl文件也必须由 BibTeX 创建以供biblatex,它不能来自不使用 的文档biblatex.bbl为 生成的文件

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{hyperref}

\bibliographystyle{alphaurl}
\begin{document}
\cite{sigfridsson}
\bibliography{biblatex-examples}
\end{document}

不能用于biblatex

错误消息的内容

无论你做什么,你都不能在你的本地机器和 arXiv 版本上混合使用这两种方法。这就是你看到错误消息的原因

! Package biblatex Error: File 'xxxxxxx.bbl' not created by biblatex.

您提交给 arXiv 的论文使用了biblatex(使用 Biber!),而.bbl您提交的 则是bibtex使用 BibTeX 创建参考书目方式生成的。

将正确的提交.bbl给 arXiv

BibTeX

如果您采用 BibTeX 方式,您可以简单地将其上传.bbl到 arXiv 就可以了 - 当然,您上传的论文也必须使用 BibTeX 方式,因此它应该看起来像第二个代码示例,而不是像第一个。

biblatex

如果你使用,biblatex你必须确保.bbl你上传的版本与 arXiv 上的 Biber 版本兼容biblatex(目前biblatex3.7 和 Biber 2.7,请参阅Biblatex 和 arxiv,错误哪个 biblatex/biber 版本可以生成 BBL 格式 2.8?)——同样,.tex您上传的文件biblatex也必须使用相同的版本。实际上,这意味着您必须运行相同版本的biblatex在本地计算机上运行与 arXiv 运行的相同版本的 Biber。请参阅在两台机器上匹配 biblatex解释为什么这是必要的。

如果您使用 ,biblatex对于 arXiv 来说,使用 或 Biber 作为后端并不重要bibtex。虽然一般规则是使用bibtex后端提供的功能较少并且比 Biber 更稳定(就新功能而言),但.bbl文件版本的相关更改通常会影响bibtex和 Biber。总体而言非常稳定(许多新功能都需要 Biber)这一事实biblatex.bst可能是有理由希望使用bibtex作为后端可以避免.bbl版本不兼容。但是,通常情况下,如果需要更改格式.bblbiblatex.bst也必须更改(有时会忘记这一点并可能导致其他问题,但您不应该依赖开发人员的健忘)。所以你在这里使用不应该有明显的优势backend=bibtex,因此我们将坚持使用backend=biber

获得正确的系统

因此,您需要biblatex在系统上安装正确版本的 Biber(以及所有依赖项)。arXiv 正在运行 TeX live 2016 系统使用更新的软件包,如果您在 arXiv 更新其系统时没有保存 TeX live 2016 系统的快照,那么您几乎没有机会重新创建他们正在运行的确切系统。biblatexBiber 而言,未更新的 TeX live 2017 应该就够了。您可以从以下位置获取历史性的 TeX live 版本ftp://tug.org/texlive/historic/如何在 Debian 或 Ubuntu 上安装“原始” TeXLive?解释如何安装这样的系统(另见TeX Archaeology - 安装历史/旧的 TeX Live 版本)。不要在当前系统上安装此系统,可以同时安装多个 TeX live 版本而不会相互干扰,请参阅同时使用两个 texlive 安装

相关内容