# All the citations in the references are being numbered as '0' in ArXiv while uploading from Overleaf

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, 2018 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? Dec 6, 2018 at 20:35
• @moewe Yes, I am using biblatex. I generated a .bbl file from overleaf and uploaded that zip file on arXiv. Dec 8, 2018 at 7:34
• @moewe I have added the compilations outputs from arXiv and overleaf. Dec 8, 2018 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? Dec 8, 2018 at 12:38

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}

\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. Dec 11, 2018 at 16:44
• @saharudra Glad it worked! Dec 11, 2018 at 16:57
• @moewe I was proud of guessing hidden arXiv rules, but you are a genius! Dec 21, 2021 at 0:25