2

I have a latex document that I have to compile in two different computers throughout the day. In one of them I have Arch Linux and the other one I have Linux Mint. So the packages are different since Arch is much more up-to-date.

The problem comes when doing the references. I was using biblatex and biber, and I wasn't able to compile the document in both machines apparently because the versions were different. I still have to use biblatex, but I changed to backend to bibtex to make it easier.

What I have:

Arch: Biblatex v3.8 Bibtex v0.99d (TeX Live 2017/Arch Linux)

Linux Mint: Biblatex v3.4 Bibtex v0.99d (TeX Live 2015/Debian)

My main computer is Arch, so I'd like to keep it as it is. When I compile with xelatex on Mint I get this error:

! Use of \blx@bbl@verbadd@i doesn't match its definition.
l.378     \verb

And then many other undefined control sequences that are apparently generated because of the versions being different. So here are my questions.

  • How can I make it work on both computers? (I'm trying to avoid upgrading biblatex on Mint because that would mean upgrading pearl.)
  • Why does biblatex care what version it is? The versions are not so far apart.

Cheers

7
  • 3
    If you remove all the aux files (i.e., .aux and all the biblatex related aux files) on the Mint machine and recompile do you still get the error?
    – Alan Munn
    Jan 15, 2018 at 17:08
  • 1
    Have a look at: tex.stackexchange.com/q/311426/35864 this was a temporary bug in biblatex that has been resolved. If you delete the temporary files before you compile on the other machine there should be no problem using Biber (if the versions of biblatex and Biber on the same machine are compatible, of course)
    – moewe
    Jan 15, 2018 at 18:03
  • @AlanMunn No, but then I'd have to do that every time I change machines, which is just too much.
    – TomCho
    Jan 15, 2018 at 21:00
  • @TomCho Seriously? Deleting those files is a single keystroke for me and I assume you're not switching machines many times a day. This hardly seems like a big deal especially since you don't want to upgrade
    – Alan Munn
    Jan 15, 2018 at 21:36
  • 2
    @TomCho Well then you're between a rock and a hard place.
    – Alan Munn
    Jan 15, 2018 at 23:09

1 Answer 1

3

I'm afraid there is no way to make things work using the same set of auxiliary files on both machines. If you are OK with deleting the .aux, .bcf, .bbl, ... files and starting afresh on one of the machines, things should work, though.

biblatex cares about the format of the .bbl files (and similarly about that of the .bcf), because that is the medium biblatex and Biber or BibTeX use to communicate. Biber or BibTeX reads the .bib file and prepares the read data in a format that biblatex can consume easily in the .bbl file. So naturally the version of your .bbl files must be compatible with the version of biblatex that should read them. The .bbl version does not increase with every release of biblatex. It is only stepped up if necessary, i.e. if internal changes require it. Similarly for the .bcf file which is written by biblatex to pass commands to Biber.

In your case there is about one and a half year between v3.4 and v3.8 the changes for BibTeX's .bbls can be estimated from this diff of biblatex.bst. There are a few changes, but let me pick out the most important

  • extrayear was renamed to extradate. This became necessary because the field has a wider scope now.
  • refcontext has taken over more responsibilities. So the purely internal .bbl macro \sortlist became \datalist.
  • Initials of name parts are now indicated with an appended i and not _i. Use of _ required category code changes for _ that caused troubles with other packages.

All of these changes mean that a file for biblatex 3.4 can not work properly with biblatex 3.8 and vice versa.

While biblatex aims at keeping the user interface and also the interface for style developers stable (the former more so than the latter), the requirement for stability is not felt as much for the temporary files as they can be easily deleted and recreated anyway. Development of new features and fixes for bugs can always require changes to the .bbl file structure.

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.