I’ve written before on using arXiv (see why I post to it and watching out for posting delays) and I rely on it to share preprints for most of my work. It’s usually fairly easy to share a paper by uploading the LaTeX source files. But recently I hit a snag due a conflict between a journal’s requirements, arXiv’s backend, and the LaTeX install on my own machine. I wasted probably a couple of hours on trying to identify the problem (mostly tied to the biblatex package) and get a clean solution, but in the end I did the simplest thing I could think of and wanted to share it here.
A brief summary:
Problem: I needed to use the biblatex package to properly format my references for IEEE Transactions on Biomedical Engineering (TBME). biblatex is very finicky with version numbers and it was recently updated. arXiv won’t compile a source whose bbl file (i.e., reference list) was generated from a different version than its system.
Solution: Disable use of biblatex in the version uploaded to arXiv, since they don’t have TBME’s formatting requirements.
For more rambling about how I stumbled into this problem, read on …
Publishing in a new journal can be a cause of stress, even if it’s with a publisher that you’re used to. I submitted a paper to TBME last year, and even though it’s published by IEEE (which I’m generally familiar with), it had a few submission requirements that I had to adapt to. For one, they need a structured abstract, which was fine to re-write. More significantly, they need no more than two authors listed for every reference, so papers with three or more authors use “et al.”. This requirement wasn’t readily satisfied with the default IEEE LaTeX bibliography style, so I had to find an alternative. I learned about the biblatex package (found here), and was able to configure it for my needs (which was also a fair bit of work, but that’s another story).
A perhaps unimportant detail in this story was that I had uploaded my paper to arXiv BEFORE I decided to submit to TBME. So the submitted version wasn’t using biblatex. Honestly, I don’t know if I would have had the same problem back then and I can’t take arXiv’s software back in time to figure out. Who knows.
Some time passes and I needed to revise the paper. I do so and then go to update my arXiv submission with the new version. For some reason it wasn’t compiling properly and I wasn’t able to identify the issue before giving up. At the time it didn’t really matter since the revision didn’t have substantial changes and I wasn’t obligated to update it.
This past week the paper was accepted. After the usual rejoicing, I re-visited the arXiv update since I was now responsible to update the paper with the accepted version (following the IEEE policy here). I tried to update the source files and again they wouldn’t compile. I hunted around the log and found the key message:
Package biblatex Warning: File ... is wrong format version - expected 2.8.
Ok, I thought, I just need to update biblatex. This error is even described in arXiv’s FAQ for texlive. Except that I had a new laptop and a fresh install of the latext version. So I was facing a downgrading issue. Of course, for backward compatability, arXiv doesn’t update its LaTeX packages very often. I don’t want to maintain a downgraded version on my install, or figure out what style files I would need to include to get the paper to compile. For biblatex, this has clearly been an issue, as brought up here and here. But, to be fair, issues with biblatex and arXiv go back a while.
Eventually, the simplest solution was to just not use biblatex. arXiv doesn’t need the bibliography to be formatted to TBME’s requirements. So I just modified the source file to follow the regular IEEE standard and everything worked fine. It’s unfortunate when a journal’s requirements clash with the one repository currently approved as a third party web server by the IEEE.
[Author’s Note: So this is actually my first post in almost a year and a half. I stopped posting around the same time I started applying to permanent faculty positions. Coincidence? Hardly not. But now I have a new job, and occasionally might get a chance to write a new post (especially if I waste a few hours on a problem I could have avoided in a few seconds, as was the case here)]