我想将预印本连同参考书目一起上传到 arXiv。我个人更喜欢 Biber,但我从经验中知道,如果我上传用 Biber 制作的 .bbl,arXiv 将无法正确解释它,因为版本不匹配无法纠正。(对于我目前的文章,我再次尝试了一次,只是为了看看是否有所改变,编译确实有效,但编译后的文档没有显示我的引用或包含参考书目。)
因此我使用 BibTeX 制作了一个 .bbl 文件(在编辑中添加:我通过在文档结尾之前\bibliographystyle{alphaurl}
添加序言和来实现这一点,然后使用、、、") 进行编译,上传并编译。最终导致 arXiv 编译退出的错误如下:{\footnotesize\bibliography{mybib.bib} }
pdflatex
bibtex
pdflatex
pdflatex
! 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-arXiv和Biblatex 和 arxiv,错误也一样。
Overleaf 用户可能感兴趣https://www.overleaf.com/learn/how-to/LaTeX_checklist_for_arXiv_submissions。
这里发生了几件事,所以我认为首先了解总体情况很重要。
biblatex
与 BibTeX 相比 -biber
与.bibtex
bibtex
(程序/“后端”)和“BibTeX 生成书目方式”之间存在差异。如果biblatex
将 引入方程式,则这种区别变得有意义。“BibTeX 生成书目方式”只是在 LaTeX 中获取书目的一种方法,其他选项包括biblatex
和手动方式thebibliography
(LaTeX 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
完全不兼容。.bbl
biblatex
bibtex
您正在使用biblatex
Biber 作为后端(一个不错的选择),您的文档(从评论中得出)大致如下
\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=biber
为backend=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
(目前biblatex
3.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
版本不兼容。但是,通常情况下,如果需要更改格式.bbl
,biblatex.bst
也必须更改(有时会忘记这一点并可能导致其他问题,但您不应该依赖开发人员的健忘)。所以你在这里使用不应该有明显的优势backend=bibtex
,因此我们将坚持使用backend=biber
。
获得正确的系统
因此,您需要biblatex
在系统上安装正确版本的 Biber(以及所有依赖项)。arXiv 正在运行 TeX live 2016 系统使用更新的软件包,如果您在 arXiv 更新其系统时没有保存 TeX live 2016 系统的快照,那么您几乎没有机会重新创建他们正在运行的确切系统。就biblatex
Biber 而言,未更新的 TeX live 2017 应该就够了。您可以从以下位置获取历史性的 TeX live 版本ftp://tug.org/texlive/historic/和如何在 Debian 或 Ubuntu 上安装“原始” TeXLive?解释如何安装这样的系统(另见TeX Archaeology - 安装历史/旧的 TeX Live 版本)。不要在当前系统上安装此系统,可以同时安装多个 TeX live 版本而不会相互干扰,请参阅同时使用两个 texlive 安装。