# Compiling LaTeX document empties .bbl file

I'm trying out `biblatex` for the document I'm compiling, using the `biber` backend on my `miktex` distribution. Everything, including biber, should be up to date, assuming the MiKTeX repository currently holds the latest versions of everything.

This is what the biblatex documentation (p. 101) says about how often I have to run biber to update my .bbl file:

Whenever a reference to a work which has not been cited before is added, this procedure must be repeated. This is also the case if the last reference to a work which has been cited before is removed because some citation labels may change in this case.

So if I make changes to my document (which is a very common activity in the process of writing a document), but leave the citations unchanged, I should not have to re-run biber before compiling the changes. However, every time I compile my document, regardless of the `compiler` or `documentclass`, the `.bbl` file is emptied. Consequently, the next time I compile the document without running biber, the bibliography is removed (seeing as the .bbl file contains nothing), and all my citations are broken. For this reason, I have to run biber before every time I compile the document, which largely counters the benefit of externalizing the bibliography in the first place.

How can I make the compilers stop overwriting my .bbl file and make everything behave as described in the biblatex manual?

Upon investigating the contents of the auxiliary files, I found that the .bbl file (after running biber, before compiling) begins with the following lines:

``````% \$ biblatex auxiliary file \$
% \$ biblatex bbl format version 2.3 \$
``````

Does the biblatex version 2.8 still mark the .bbl files as version 2.3? If not, could this be the problem? And if so, why does my 2.8 version of biblatex (partly) behave as version 2.3?

Any help solving this problem would be much appreciated.

• Last version of biblatex is `2.9a`. I never observed such a phenomenon, and the pdfTeX compiler just uses the .bbl file. Dis you rry to see if this happens with the command line? I suspect it could be a problem of your editor, that deletes all the auxiliary files after compiling for some reason. – Bernard May 20 '14 at 22:47
• @Bernard, so the MiKTeX repository isn't up to date? I also have biber 1.8, though, which is supposed to work together with biblatex 2.8. How do I update biblatex, and if I do, how will that work with biber 1.8? – eiterorm May 20 '14 at 22:51
• Sorry I wrote without checking: last official version is 2.8a — I recently tested version 2.9 that I had installed in my local texmf directory, which explains my confusion. But the only explanation I see is a problem of your editor settings, that's why I suggested testing from the command line. – Bernard May 20 '14 at 22:57
• Yes, current `biblatex` (as of last TL 2013 i.e. the 2.8 version) still marks `.bbl` files `2.3`. No idea why but presumably a bug? However, I agree with Bernard that something entirely different is causing your issue. That bug is merely cosmetic. (Confusing but cosmetic.) – cfr May 20 '14 at 23:02
• @Bernard, many, many thanks to you for that hint. It didn't occur to me that the editor could be the culprit, and indeed it was. I'm using TeXnicCenter 2, and I had to make some changes to the defined output profiles. By default it was invoking BibTeX, which for some reason, which I'm too tired to bother about right now, emptied the files generated by BibLaTeX/biber. After removing that BibTeX invocation, everything works perfectly. Again, thanks a lot! – eiterorm May 20 '14 at 23:08

I'm using TeXnicCenter 2, which has a list of output profiles for different compilers and post-processors. By default, all of these output profiles invoke `bibtex`, and without any content being written to `bibtex` (seeing as I'm using `biblatex` instead), `bibtex` writes an empty file to the `.bbl` file every time the document is compiled, thus overwriting whatever `biber` has written before.
Disabling BibTeX from the output profiles solves this entire problem. To find the window where output profiles can be changed, either press `Alt+F7` or click the menu `Build -> Define Output Profiles...`.