正如我所读到的,人们应该转向 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,如中所述biblatex
biber
.bbl
在常见问题解答中. 就我个人而言,我同时安装了 texlive 2016 和 2018,并根据需要在它们之间切换。
答案4
给出了更新的答案这里;让我从中摘录一段:
安装2017 年 Tex Live 展会,选择一个安装文件夹,例如
/usr/local/texlive/old/
,确保不要添加文件链接。为 arXiv 准备文件时,使用命令
/usr/local/texlive/old/bin/x86_64-linux/pdflatex
,/usr/local/texlive/old/bin/x86_64-linux/biber
等等,而不是相应的命令pdflatex
,biber
等等。
我所有的项目都是用基勒;我安装了纺织机械商/usr/local/texlive/old/bin/x86_64-linux/
并在 Texmaker 的选项中为每个命令添加了前缀。如果我需要为 arXiv 准备文件,我会使用 Texmaker。