我正在尝试将 LaTeX 文件提交给论文集它使用biblatex
。但是,无论我做什么,它都会失败。
我首先收到消息
biblatex.sty is not found
我尝试过包括(所有来自 TeXLive 2010 的),biblatex.sty
但后来我得到了
logreq.sty is missing then logreq.def is missing
然后
! Package biblatex Error: Outdated 'etoolbox' package.
然后我尝试添加etoolbox.sty
并etoolbox.def
得到
! Package biblatex Error: Style 'alphabetic' not found
所以我添加了alphabetic.bbx
然后standard.bbx
最后alphabetic.cbx
我得到了
! Package biblatex Error: Autocite command 'inline' undefined
我还尝试将 bib 合并到主 LaTeX 文件中,如下所示biblatex 提交给期刊但没有帮助。
有谁成功使用过biblatex
过论文集如果是的话,怎么做的?
答案1
截至 2024 年,这比以前容易得多; @NajibIdrissi 当时的出色回答这个问题已经过时了。有一个很好的详细说明关于一个较新的问题,但它既很长,又本身现在略微过时,因此这里有一个快速的 2024 年摘要:
arXiv 现在定期更新其 TeXLive,并且记录清楚— 它目前在 TeXLive 2023 上 — 因此它有一个相当新的 biblatex 版本。
鉴于此,使用 biblatex 提交通常与使用普通 bibtex 的方式相同:上传 biblatex 生成的
*.bbl
文件以及其他源文件,如果幸运的话,arXiv 将能够成功地基于这些文件构建您的论文。到目前为止,每次我尝试这种方法时,它都对我有效。arXiv 常见问题列表一些可能的错误来源:后端不匹配(Biber 与 BibTeX 后端;arXiv 支持两者,但您的
*.bbl
文件必须使用您*.tex
指定的后端生成),以及版本不匹配(BibTeX/Biber/biblatex 与 arXiv 之间;小版本差异通常不会在 中产生不兼容*.bbl
,但有时可能会)。在后一种情况下,Overleaf 非常有用(即使您通常不使用它),因为它可以让您轻松地选择使用哪个 TeXLive 版本— 这样您就可以将文件临时上传到 Overleaf 项目,选择 arXiv 当前所用的 TeXLive 版本,并使用该版本编译您的项目以获取与 arXiv 兼容的文件*.bbl
。我曾多次使用此功能来排除其他情况下与包版本相关的问题。
答案2
arXiv 仍在运行 TeXlive 2016。您可以在 TeXlive 2019 中找到的版本 biblatex 3.12 与 arXiv 的版本(biblatex 3.7)不兼容。
最简单的解决方案是安装 TeXlive 2017(不是 TeXlive 2016,因为 arXiv 在快要切换到 TeXlive 2017 时切换到了 TeXlive 2016,所以他们的 biblatex 版本是 TeXlive 2017 中的版本)。你可以从ftp://tug.org/historic/systems/texlive/
完成后,运行旧的 pdflatex,然后运行旧的 biber,并将生成的 .bbl 文件发送给 arXiv。
下面的内容虽然已经过时,但仍为后人保留。
更新: 截至 2017 年 2 月 10 日,arXiv 已切换到 TeX Live 2016。哈利路亚!现在应该可以使用 biblatex 上传到 arXiv 了(尽管这值得测试)。
更新 2:最近我将一篇论文上传到 arXiv,我可以确认它运行正常。
从 TeX Live 2016 开始,无论怎么修修补补都无法得到 arXiv(仍然使用 TeXlive 2011) 将会接受。
将所有需要的文件上传到 arXiv 不再是一种选择。事实上,最新版本的 biblatex 使用了包 xstring 中的一些宏,而 2011 版中并不存在这些宏。包 xstring 需要一个名为 xstring.tex 的文件。没有办法告诉 arXiv 这不是我的主文件(无害地命名为“article.tex”),所以它试图编译它。显然它没有成功。
这意味着使用 biber 不是一种选择,因为新版本的 biber 生成的 .bbl 文件不适用于旧版本的 biblatex。使用 TeXlive 2015 使用 bibtex 后备是可行的,因为 bibtex 具有足够的向后兼容性,它生成的 .bbl 文件可以与 TeXlive 2011 一起使用。现在情况不再如此,因为生成的 .bbl 文件包含一些旧 TeXlive 中不存在的宏(我无法看到所有宏,但第一个导致构建失败的宏与条目排序有关)。
我的解决方案?我重新安装了已有 5 年历史的 TeXlive 2011,运行了旧版本的 pdflatex 和 bibtex,并将该 .bbl 文件提供给 arXiv。
答案3
刚刚用 biblatex 上传了一篇论文,开箱即用。可能是因为他们在 2011 年底改用了 texlive 2011。
答案4
我发现一个可能的选择是,即使版本号发生变化,.bbl 条目格式也不一定发生变化。这意味着有一种选择可以避免必须安装不同版本的 biblatex 或必须上传您的 biblatex 版本(但它不如这些选项强大,因为它取决于您的 biblatex 版本和 arxiv 版本的 biblatex 之间的条目格式匹配),如下所示:
- 使用你的 biblatex 版本在你的设备上进行编译
- 在 arxiv 上查找使用当前版本的 biblatex 提交的文件(撰写本文时本文我刚刚提交了正确的版本)
- 点击“其他格式”,然后点击“源”下载源文件
- 用那里的序言替换你的 .bbl 文件序言(或者如果你有你喜欢的特定设置,尝试合并它们,希望你能看到序言的哪些部分需要更改)
如果您已经设法提交了一个版本并且只想对参考书目进行一些更改以进行修订,这可能是最简单的方法,但并不适合第一次提交某些内容。