9

I would like to upload a preprint to the arXiv with a bibliography. I prefer Biber personally, but I know from experience that if I upload a .bbl made with Biber, the arXiv will not interpret it correctly, due to an unrectifiable version mismatch. (For my current article, I tried it again, just to see if something had changed, and the compilation did work, but the compiled document did not show my citations or include a bibliography.)

So I produce a .bbl with BibTeX instead (added in editing: I achieve this by putting \bibliographystyle{alphaurl} in the preamble and {\footnotesize\bibliography{mybib.bib} } just before the end of my document, then compiling with pdflatex, bibtex, pdflatex, pdflatex"), upload it, and compile. The error that finally makes the arXiv's compilation quit is the following:

! Package biblatex Error: File 'xxxxxxx.bbl' not created by biblatex.

Well, I was aware: I avoided BibLaTeX because I know the arXiv will only butcher it anyway. But it apparently doesn't like the BibTeX one because it's not BibLaTeX. What can I do here?

(Note to moderators: I know there is a family of variants on this question already in currency on this site, but as the arXiv's packages vary with time, so do the answers to the question(s). Nothing else I've found seen helps me as of right now.)

  • 1
    Can you explain how you produced the .bbl file? To successfully compile a document using biblatex on the arXiv you need the exact same version of biblatex that they are running (biblatex 3.7/Bibwe 2.7: tex.stackexchange.com/q/358831/35864, tex.stackexchange.com/q/415703/35864). In fact you can submit a .bbl file written by Biber as long as it was written by the correct version of Biber. A .bbl file written by BibTeX must also come from the same version of biblatex as on the arXiv. ... – moewe May 1 '18 at 5:32
  • 1
    ... The fact that biblatex.bst is changed not as often as Biber's internals makes it more likely that a BibTeX-generated .bbl will conform with the version requirements of the arXiv than a Biber-generated one. But if you are using biblatex v3.8 or later both Biber and BibTeX should not work for you. So the only answer is: Get the versions of biblatex and Biber that the arXiv is running and compile your document using these versions. – moewe May 1 '18 at 5:34
  • 1
    The arXiv is currently using an updated TeX live 2016 if you don't have a freeze of that system available you have OK-ish chances of getting along fairly well with an un-updated TeX live 2017 system. You can install historic releases of TeX live from tug.org/texlive/historic – moewe May 1 '18 at 5:38
  • I produced the .bbl file I'm trying to use now by putting \bibliographystyle{alphaurl} in the preamble and {\footnotesize\bibliography{mybib.bib} } just before the end of my document, and compiling with PDFLaTeX, BibTeX, PDFLaTeX, PDFLaTeX – jdc May 1 '18 at 5:49
  • 2
    I'll write something up, it may take a while, though. – moewe May 1 '18 at 6:12
14

If you are looking for help with biblatex and Biber for arXiv uploads, have a look at https://github.com/plk/biblatex/wiki/biblatex-and-the-arXiv

There are several things going on here, so I think it is important to understand the big picture first.

biblatex vs BibTeX - biber vs. bibtex

There is a difference between bibtex (the program/"backend") and "the BibTeX way of producing a bibliography". That distinction becomes relevant if biblatex is introduced into the equation. The "BibTeX way of producing a bibliography" is just one way to get a bibliography in LaTeX, other options include biblatex and the manual way with thebibliography (the LaTeX Wikibook lists several ways to produce a bibliography in detail, and also in a short overview). The BibTeX way of producing a bibliography is of course tied to using bibtex (the program), a manual thebibliography needs no additional helper program, and biblatex can run with either its dedicated Biber backend (preferred) or with bibtex. Please read bibtex vs. biber and biblatex vs. natbib for more explanations on this. For a great explanation of the roles of the backend (bibtex or Biber), see Question mark or bold citation key instead of citation number.

.bbl files and their differences between biblatex and BibTeX

The role that the .bbl file plays with biblatex and the BibTeX-way are similar, but .bbl files produced for the two possible ways differ significantly. If you use the BibTeX-way, the BibTeX run will produce a .bbl file that contains the bibliography exactly as it should appear in the document, it is formatted and sorted. With biblatex the .bbl file does not contain the finished bibliography, instead it contains the data of the entries in a format digestible by LaTeX along with a few bits and pieces of extra information that is not present in the .bib file (disambiguation, automatically calculated labels, ...); the entries are also sorted. A .bbl file created for the BibTeX way of making bibliographies is completely incompatible with the .bbl file produced for biblatex (either by bibtex or Biber).

You are using biblatex with Biber as backend (a good choice), your document (drawing from the comments) looks roughly like

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

A document like this will always expect a .bbl file as produced by Biber. Even if you change backend=biber to backend=bibtex, the .bbl file must have been created by BibTeX for use with biblatex, it can't come from a document that does not use biblatex. The .bbl file produced for

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

can not be used for biblatex.

What the error message is about

Whatever you do, you can't mix and match between those two approaches on your local machine and the arXiv version. This is why you are seeing the error message

! Package biblatex Error: File 'xxxxxxx.bbl' not created by biblatex.

The paper you submitted to the arXiv uses biblatex (with Biber!), while the .bbl you submitted with it was produced by bibtex for the BibTeX way of creating bibliographies.

Submitting the correct .bbl to the arXiv

BibTeX

If you go with the BibTeX-way you can simply upload the .bbl to the arXiv and you are good - of course the paper you upload must then also use the BibTeX-way, so it should look like the second code example and not like the first.

biblatex

If you use biblatex you will have to make sure that the .bbl you upload is compatible with the version of biblatex and Biber on the arXiv (at present that is biblatex 3.7 and Biber 2.7, see Biblatex and arxiv, error and Which biblatex/biber version produces BBL format 2.8?) - again, naturally the .tex file you upload must use biblatex as well. In practice that means that you have to run the same versions of biblatex and Biber on your local machine that the arXiv are running. See Matching biblatex in two machines for an explanation why that is necessary.

If you use biblatex it is not that relevant for the arXiv whether you use bibtex or Biber as backend. While the general rule is that using the bibtex backend offers fewer features and is more stable (in terms of new features) than Biber, the relevant changes to the .bbl file version normally affect both bibtex and Biber. The fact that biblatex.bst in general is quite stable (many new features require Biber) could be reason to hope that using bibtex as backend may be a way to avoid .bbl version incompatibilities. Normally, however, if changes are required to the .bbl format, biblatex.bst must change as well (sometimes this is forgotten and can cause other issue, but you should not rely on the forgetfulness of the developers). So you should not have a significant advantage in using backend=bibtex here, we will therefore stick to backend=biber.

Get the correct system

So you need to install the correct version of biblatex and Biber (along with all the dependencies) on your system. The arXiv is running a TeX live 2016 system with updated packages, if you did not save a snapshot of a TeX live 2016 system at the time the arXiv updated their system, there is little chance you are going to be able to recreate the exact system they are running. As far as biblatex and Biber are concerned, you should be good with an un-updated TeX live 2017. You can get historic TeX live releases from ftp://tug.org/texlive/historic/ and How to install "vanilla" TeXLive on Debian or Ubuntu? explains how to install such a system (see also TeX Archaeology - Installing historic/old TeX Live Releases). Do not install this system over you current system, it is possible to install several TeX live versions alongside each other without interference, see Using two installs of texlive in parallel.

  • Thank you. I admit I hadn't ever understood why \usepackage[backend=bibtex]{biblatex} was an option. What puzzles me about this is that I understood enough of this to remove overt reference to biblatex from my document, as I said in comments, so I believe it already does look like your second parody document. At least, I have been able to make the arXiv accept such a BibTeX-produced .bbl before by similar methods. I wasn't sure if something had changed or I'd just missed something. – jdc May 1 '18 at 13:17
  • 1
    @jdc Hope it has become a bit clearer now. Let me know if you the answer could be improved (and also when you succeed to convince the arXiv to accept your files). – moewe May 1 '18 at 13:53
  • I've figured out what it was I did. It was something stupid. I kept replacing the .bbl and the .tex, but there also was a .sty file I foolishly failed to upload the revised version of, so no wonder. It accepted the BibTeX-produced .bbl when I was done. I don't have enough room on this device for a parallel one-purpose TeX Live distribution, so I'll save your biblatex answer for the other computer. Many thanks. – jdc May 1 '18 at 18:01

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.