29

As I have read, one should transition to Biblatex-Biber. Many sites indicating that Biber is far superior to \bibitem's in a latex file or Biblatex backend=BibTex. Thus, I have begun the transition of trying to create better, more efficient, clearer bibliographies. As with 99% of LaTeX users, I really don't understand any of the technical details, I am simply a grateful user of LaTeX.

Since making the transition to Biber, I have come across several problems. The most important of which is that I can't upload my document to the ArXiv.org, however the file compiles perfectly fine on my system. My endless hours of reading seems to indicate that ArXiv doesn't like to use my .bib file (it doesn't compile with biber, I think). So, instead I upload the .bbl file, however, the ArXiv doesn't know what to do with that either and produces:

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!

I have Biber 1.8. What Biber should I be using. ArXiv is using Live Tex 2011 I think. Many places online seem to indicate that I should go back to using \bibitem's or something similar to that. In general I am trying (the best that I can) to not change or edit my bibliography entries, but instead I want to learn how to properly use LaTeX to handle things instead of performing endless manual edits.

My second issue is how to control the bibliography output. After reading for some time I wrote this for my bibliography code:

\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}}

However, in a confusing fashion, if I use,

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

nothing happens. Biber still defaults to ``quotes'' around my titles and doesn't italics them. An explanation of why this is happening would be nice.

  • 3
    You can create a bbl using bibtex instead of biber and upload that bbl, so you have to use the backend=bibtex option. The other option is to upload all style files required by a recent version of biblatex (and you have to include too many files). – Guido May 30 '14 at 5:40
  • @Guido I don't think generating the bbl with bibtex works. It uses bibtex to parse the bib, and a .bst to produce almost the same bbl again, so you will get the same version problems. – Erich Schubert Oct 12 '18 at 19:55
10

It is possible to include a bbl created with bibtex instead to biber. Thus use the backend=bibtex option, run bibtex on your system, and then upload the bbl file to arXiv. The second option is to upload all style files required by a recent version of biblatex (but you have to include too many files) as well as the bbl file.

  • 2
    Do you know which files should I add to make arXiv happy? (Using bibtex does not work in my case) – Anton Petrunin Jul 23 '15 at 18:43
  • @Anton, this answer is correct with respect to ArXiv. Set backend=bibtex in your biblatex preamble command, compile, run bibtex, and then upload your tex file and your bbl file to arXiv. They need to have the same base name: manuscript.tex and manuscript.bbl. – PLG Nov 26 '15 at 17:01
  • 1
    @PLG, No it did not work, not in my case. At arXiv arxiv.org/abs/0906.0290, as an exception, they let me to upload pdf-file, but for sure I would prefer to keep tex-file. – Anton Petrunin Nov 26 '15 at 18:07
  • 1
    This suggested solution also did not work for me. – wkschwartz Oct 20 '16 at 17:14
  • 1
    @Guido I don't think generating the bbl with bibtex works. It uses bibtex to parse the bib, and a .bst to produce almost the same bbl again, so you will get the same version problems. I.e., the problem is the bbl file format, not so much bibtex/biber backend. – Erich Schubert Oct 12 '18 at 19:55
2

One should upload to arxiv.org a .bbl file created using the same versions of biblatex and biber as installed at arxiv.org. .bbl files are not compatible between versions. At the time of this writing arxiv.org uses TeXlive 2016 as explained in in the FAQ. Personally, I have both texlive 2016 and 2018 installed and switch between them as needed.

1

You can do the ugly workaround discussed here: https://tex.stackexchange.com/a/186206/113639

Essentially, you provide a compiled .pdf and a fake .tex that inserts the pdf using \includepdf (unfortunately, this seems to break all hyperlinks though), and provide the source just as ignored auxiliary data...

The repeated incompatibility of arXiv with biblatex is a really annoying issue.

Why can't arXiv not give you a checkbox that says "run bibtex/biber for me after upload". These would then generate the .bbl in the right version, and on the PDF I can verify that it worked. It's not as if biblatex versions differ that much - most of the time, they will work if you actually use the .bib input, and not the intermediate .bbl file. arXiv is wrong here: you shouldn't upload the .bbl, but the .bib. The .bbl is usually generated, and the .bib is its source. So arXiv should be also generating the .bbl if they really want to work with the source; but unfortunately they have a different opinion here:

We request that you rework your citation management system to use a more portable structure or have your system use the same version of BibLaTeX that is installed as part of our TeX tree.

While the true reason probably is that they don't want to store (and process) the .bib files - which people probably upload nevertheless?

arXiv should adhere to the standard way of building LaTeX - which involves running bibtex or biber. The .bbl files are not input files, as clearly documented by biblatex:

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

So IMHO, arXiv is broken when it comes to building LaTeX properly from source... they only want to do the last pass, and expect you to upload all files as they are before that last pass - with exactly their version. They have honest motivation (the ability to regenerate the PDFs when necessary), but they use the wrong approach:

If you want "portable" builds, then this should include portable building of the auxiliary files... and it should involve correct biblatex support, which does expect you recreate the .bbl files from bib as witnessed by that generated comment in the .bbl files.

  • 2
    You are highlighting arXiv but I think you'll find that most journals that use latex workflow at all are currently using bibtex rather than biblatex/biber, so it's not at all uncommon that for published documents you need to use bibtex, or use some workaround with biblatex generated bibliographies. – David Carlisle Oct 12 '18 at 11:20
  • 1
    @DavidCarlisle arXiv doesn't run bibtex either. They simply want a bbl, and with biblatex this is a bit more difficult as the version has to match. – Ulrike Fischer Oct 12 '18 at 11:27
  • @UlrikeFischer yes I know but the assertion that (any) publisher should support biblatex seems wrong to me, they support what they can afford to support. – David Carlisle Oct 12 '18 at 11:52
  • @DavidCarlisle yes. But while the OP seems to be specifically annoyed about the missing biblatex support, arXiv simply doesn't run external tools - you have the same requirements for index or glossaries or bibtex. So I don't see anything directed against biblatex/biber specifically. – Ulrike Fischer Oct 12 '18 at 11:57
  • The thing with biblatex is that the .bbl format it uses is version dependent. So a .bbl of current texlive does not work with the old texlive used by arxiv. – Erich Schubert Oct 12 '18 at 18:59
1

A more up to date answer is given here; let me make a short extract from it:

  1. Install Tex Live 2017, choose a folder of installation something like /usr/local/texlive/old/, make sure to not add links the files.

  2. When preparing files for arXiv use commands /usr/local/texlive/old/bin/x86_64-linux/pdflatex, /usr/local/texlive/old/bin/x86_64-linux/biber and so on instead of corresponding commands pdflatex, biber and so on.

I do all my projects using Kile; I installed Texmaker and added the prefix /usr/local/texlive/old/bin/x86_64-linux/ to each command in the options of Texmaker. If I need to prepare files for arXiv I use Texmaker.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.