使用 Biblatex-Biber 发布到 Arxiv

使用 Biblatex-Biber 发布到 Arxiv

正如我所读到的,人们应该转向 Biblatex-Biber。许多网站指出,Biber 远优于 latex 文件中的 \bibitem 或 Biblatex backend=BibTex。因此,我开始尝试创建更好、更高效、更清晰的参考书目。与 99% 的 LaTeX 用户一样,我真的不了解任何技术细节,我只是一个感激的 LaTeX 用户。

自从转换到 Biber 以来,我遇到了几个问题。其中最重要的是我无法将我的文档上传到 ArXiv.org,但该文件在我的系统上编译得很好。我无数个小时的阅读似乎表明 ArXiv 不喜欢使用我的 .bib 文件(我认为它不能用 biber 编译)。因此,我上传了 .bbl 文件,但是,ArXiv 也不知道如何处理它并生成:

Package biblatex Warning: File 'test.bbl' created by
wrong version.

(./test.bbl
! Undefined control sequence.
l.21 \sortlist
{entry}{nty}
? 
! Emergency stop.
l.21 \sortlist
{entry}{nty}
! ==> Fatal error occurred, no output PDF file produced!

我有 Biber 1.8。我应该使用哪种 Biber。我认为 ArXiv 使用的是 Live Tex 2011。网上很多地方似乎都表明我应该重新使用 \bibitem 或类似的东西。总的来说,我尽量不更改或编辑我的参考书目条目,但我想学习如何正确使用 LaTeX 来处理事情,而不是进行无休止的手动编辑。

我的第二个问题是如何控制参考书目输出。阅读了一段时间后,我为我的参考书目代码写了以下内容:

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp,firstinits=true,backend=biber,%backref=true
,]{biblatex}
\bibliography{test.bib}
\DeclareFieldFormat[article,book,incollection,phdthesis,misc]{volume}{\mkbibbold{#1}}
\DeclareFieldFormat[article]{publisher}{\textnormal{#1}}
\DeclareFieldFormat[article,book]{title}{\mkbibemph{#1}}

然而,如果我使用,

\DeclareFieldFormat[phdthesis]{title}{\mkbibemph{#1}}

什么都没发生。Biber 仍然默认在我的标题周围使用“引号”,并且不将其设置为斜体。最好能解释一下为什么会发生这种情况。

答案1

可以将bbl创建的包含bibtex到 中,而不是 中biber。因此,使用backend=bibtex选项,bibtex在您的系统上运行,然后将bbl文件上传到 arXiv。第二个选项是上传 最新版本所需的所有样式文件biblatex(但您必须包含太多文件)以及 该bbl文件。

答案2

您可以丑陋的这里讨论的解决方法: https://tex.stackexchange.com/a/186206/113639

本质上,您提供了一个编译的.pdf和一个.tex插入 pdf 的伪造的\includepdf(不幸的是,这似乎破坏了所有超链接),并提供源作为被忽略的辅助数据......

arXiv 与 biblatex 反复不兼容是一个非常烦人的问题。

为什么 arXiv 不能给你一个复选框,上面写着“上传后为我运行 bibtex/biber”。然后这些会在正确的版本,在 PDF 上我可以验证它是否有效。并不是说 biblatex 版本之间有太大差异 - 大多数情况下,如果您实际使用 .bib 输入,而不是中间 .bbl 文件,它们就会起作用。arXiv 在这里错了:您不应该上传 .bbl,而应该上传 .bib。通常会生成.bbl,而.bib 是其来源。因此,如果 arXiv 真的想使用源代码,他们也应该生成 .bbl;但不幸的是,他们在这里有不同的意见:

我们要求您重新设计您的引文管理系统以使用更便携的结构,或者让您的系统使用作为我们的 TeX 树的一部分安装的相同版本的 BibLaTeX。

虽然真正的原因可能是他们不想存储(和处理).bib 文件 - 但人们可能仍然会上传这些文件?

arXiv 应该遵守标准构建 LaTeX 的方法 - 涉及运行 bibtex 或 biber。这些.bbl文件不是输入文件,正如 biblatex 明确记录的那样:

% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated as
% required.

所以在我看来,arXiv 是破碎的当谈到从源代码正确构建 LaTeX 时...他们只想做最后一次,并希望你上传最后一次之前的所有文件 - 完全按照他们的版本。他们有诚实的动机(必要时重新生成 PDF 的能力),但他们使用了错误的方法:

如果你想要“便携式”版本,那么这个应该包括辅助文件的可移植构建...并且它应该涉及正确的 biblatex 支持,希望您从 bib 重新创建 .bbl 文件,如 .bbl 文件中生成的注释所证明的那样。

答案3

应将使用与 arxiv.org 上安装的相同版本创建的文件上传到 arxiv.org 。.bbl不同版本之间的文件不兼容。在撰写本文时,arxiv.org 使用 TeXlive 2016,如中所述biblatexbiber.bbl在常见问题解答中. 就我个人而言,我同时安装了 texlive 2016 和 2018,并根据需要在它们之间切换。

答案4

给出了更新的答案这里;让我从中摘录一段:

  1. 安装2017 年 Tex Live 展会,选择一个安装文件夹,例如/usr/local/texlive/old/,确保不要添加文件链接。

  2. 为 arXiv 准备文件时,使用命令/usr/local/texlive/old/bin/x86_64-linux/pdflatex/usr/local/texlive/old/bin/x86_64-linux/biber等等,而不是相应的命令pdflatexbiber等等。

我所有的项目都是用基勒;我安装了纺织机械商/usr/local/texlive/old/bin/x86_64-linux/并在 Texmaker 的选项中为每个命令添加了前缀。如果我需要为 arXiv 准备文件,我会使用 Texmaker。

相关内容