5

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 06 '18 at 19:19
  • Related: https://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 06 '18 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 08 '18 at 07:34
  • @moewe I have added the compilations outputs from arXiv and overleaf. – saha rudra Dec 08 '18 at 07: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 08 '18 at 12:38
  • Yes, I am using defernumbers as I have references at two different places of the document. – saha rudra Dec 09 '18 at 15:52
  • Mhhh, that could be the problem. As far as I can see arXiv only runs LaTeX twice, but defernumbers needs three runs, so that could be tricky. It might work if you also upload the .aux file (not sure if the arXiv accepts that). – moewe Dec 09 '18 at 20:54
  • @moewe Overleaf compilation did not provide me with a .aux file. I removed the defernumbers for now. The only issue that results in is that my references of the two sections will be continuous (the first section ends at 31, next section's references now began with 32). – saha rudra Dec 10 '18 at 06:11

1 Answers1

8

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.

moewe
  • 175,683