I compiled the latex source code from overleafv2 using the submit for arXiv tab and I am using this downloaded zip file for my submission. The pdf preview of the submission shows all of the references with the same count of '0'. I am using biblatex package for references. Not sure where the problem exists so any suggestions are welcomed.

EDIT 1:

Output of ArXiv: The submission processed ok. Please find the link for the arXiv output. https://docs.google.com/document/d/12uoDIo0JePOjZ_5Ul3huuRwt8QZ3Ix7FPhkJCFERdY0/edit?usp=sharing

Output of Overleaf: There are a lot of Overfull and Underfull warnings and a couple of others. From what I see, it doesn't have any issues related to the bibliography. Please find the link for the overleaf output. https://docs.google.com/document/d/1yKgqkmkQmdeb_S8CFJLrAAKvxIerFPJZLdJ_PD3YqI0/edit?usp=sharing

  • Could you show us your code and its output so that we could work on that? – zyy Dec 6 at 19:19
  • Related: tex.stackexchange.com/q/429436/35864. We will need to know a little more about your situation: Do you get any errors or warnings on your compilation on Overleaf? Does the arXiv report any errors or warnings? Can you show us a minimal example of what you are doing? – moewe Dec 6 at 20:35
  • @moewe Yes, I am using biblatex. I generated a .bbl file from overleaf and uploaded that zip file on arXiv. – saha rudra Dec 8 at 7:34
  • @moewe I have added the compilations outputs from arXiv and overleaf. – saha rudra Dec 8 at 7:55
  • Unfortunately, the arXiv log is not as verbose as I hoped. All I can see is that a .bbl file called egpaper_final.bbl is read. TeX reports no error when that file is read, so it stands to reason that the .bbl format is OK. It is a bit odd that biblatex then complains about missing references (e.g. clevr1) and only stops complaining on the second run. In a test document on my machine, LaTeX would not complain on the first run and everything would be fine by the second run. Do you by chance use the option defernumbers? – moewe Dec 8 at 12:38
up vote 0 down vote accepted

As confirmed in the comments your project uses defernumbers. With that option the label number for an entry is not assigned at the beginning of the document when the entry data is read from the .bbl file, instead the label number is assigned only once the entry is printed in the bibliography. Consider the following example with and without defernumbers

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, defernumbers, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}


\begin{document}
\cite{sigfridsson,moraux,worman,nussbaum,geer,cicero}
\printbibliography[keyword=secondary]
\printbibliography[notkeyword=secondary]
\end{document}

For defernumbers to work properly the compilation cycle must include

  1. LaTeX (in the resulting PDF all cite keys are bold)
  2. Biber
  3. LaTeX (in the resulting PDF all citations are 0)
  4. LaTeX (in the resulting PDF all citations show up)

If an appropriate .bbl is already present (i.e. if you compile the example from above as just described and then delete all files except the .tex and .bbl file) the compilation cycle still (perhaps unexpectedly) needs to include three LaTeX runs

  1. LaTeX (in the resulting PDF all citations are 0)
  2. LaTeX (in the resulting PDF all citations are 0)
  3. LaTeX (in the resulting PDF all citations show up)

That is because biblatex's heuristic to determine whether a Biber run is required will request a Biber run in the first LaTeX compilation. If a Biber run is requested, a few auxiliary bits are not written out to the .aux file in the anticipation that a subsequent requested Biber run could potentially change the relevant information anyway. This means that relevant data is only written to the .aux file on the second LaTeX run, when biblatex has given up asking for a new Biber run.

The log files of your arXiv submission show that the arXiv only runs LaTeX twice, hence you get only 0s instead of the proper citation labels.

The relevant information for defernumbers lives in the .aux file. It might be possible to upload the .aux file to the arXiv as well (I'm not sure if they accept that or will automatically reject .aux uploads; uploaded .aux files might cause version or other package incompatibilities) in which case you would obtain the desired result after only one LaTeX run. This solution is more of a last resort.

A different and better solution would be to tell LaTeX not to ask for a Biber run at all when you upload a file to the arXiv. Just add

\makeatletter
\let\blx@rerun@biber\relax
\makeatother

to your preamble. Since the arXiv won't run Biber for you anyway, there is no point in having biblatex request a Biber run. In this instance we bypass a few tests that would block information subject to change after a Biber run from being written to the .aux file. In the end then two LaTeX runs should be enough for your citations to show up properly.

  • I used the solution proposed at the end which worked for me. – saha rudra Dec 11 at 16:44
  • @saharudra Glad it worked! – moewe Dec 11 at 16:57

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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