# Biblatex: submitting to a journal

Suppose that I moved from BibTeX to biblatex. With BibTeX I just copied the content of .bbl file into final version of my paper before submitting it to a journal. What should I do at same stage having .bbl file produced by biblatex? It is of quite different format.

• It's clearly high time that journal publishers were dragged kicking and screaming into the century of the fruitbat. – naught101 Nov 14 '12 at 5:03
• Publishers, and their authors, regard LaTeX and related software as tools to use, rather than as programming projects. They will use what works best for them. Until biblatex has documentation suitable for ordinary authors and in-house typesetters, journals will not use it. – Colin McLarty Sep 28 '13 at 18:35
• Another caveat, right off the bat: biblatex is plain incompatible with REVTeX, which is the required style for most APS, AIP, OSA and AAS (physics) journals. – E.P. Dec 2 '14 at 13:02
• biblatex can be made to work with REVTeX 4.0 but not REVTeX 4.1. All of the above accept manuscripts in REVTeX 4.0. – Jan-Åke Larsson Jun 6 '17 at 12:21

it is also possible, but not so easy as with bibtex. When you finished your document write into the preamble after the already existing biblatex definition:

\documentclass{...}
...
\usepackage[style=numeric-verb]{biblatex}% change it for your needs
\bibliography{examples}
%-------------- start insert modified commands ------------------
\makeatletter
\def\blx@bblfile@biber{%
\blx@secinit
\begingroup
\blx@bblstart
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%% copy here the contents of the created bbl file
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\blx@bblend
\endgroup
\csnumgdef{blx@labelnumber@\the\c@refsection}{0}}
\makeatother
%-------------- end insert modified commands ------------------
...
\begin{document}
...
\printbibliography
\end{document}


the only difference is that \printbibliography now takes the contents of the bib not from the external file but from the inserted bbl contents.

If you run bibtex instead of biber (btw: biber is the better choice) then you have to use it in this way:

\usepackage[...,backend=bibtex]{biblatex}
....
\blx@secinit
\begingroup
\blx@bblstart
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%% copy here the contents of the created bbl file
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\blx@bblend
\endgroup
\csnumgdef{blx@labelnumber@\the\c@refsection}{0}%
\iftoggle{blx@reencode}{\blx@reencode}{}}


Pay attention that you do not insert the last line of the bblfile which is the command \endinput. This one should be deleted or commented with a preceding %.

• Is there any reason this wouldn't be acceptable by a journal? If not, the "accepted" answer is a bit misleading.. – naught101 Apr 30 '12 at 1:31
• @naught101 See my edit concerning 'other' support. There is no guarantee that biblatex, the necessary support packages or indeed the e-TeX extensions will be available. – Joseph Wright Jul 12 '12 at 13:24
• @JosephWright: how depressing. I know technology doesn't always keep up with science, but it'd be nice to think science could keep up with technology... – naught101 Jul 13 '12 at 2:25
• Can people post as comments the name of the publisher and whether or not they accepted the result of doing what this answer says? Specifically, I want to know if ACM accepts this. – Abhishek Anand Jun 5 '14 at 22:17

For journal submission, I'm afraid my answer would be 'do not use biblatex'. The bibliography is generated at the LaTeX end by biblatex, and so it is not possible to 'paste in the formatted result'. Most journals want you to either do this or use their own BibTeX style, so biblatex is a bad choice. (This is a shame, but unless/until the journals update their workflows that is how it is.)

One point to note in particular is that you cannot be sure of the package or engine availability on journal systems. For example, the American Chemical Society do not have the e-TeX extensions available on their servers (at the time of writing). These were finalised in 1999, so the time lag is significant. biblatex requires e-TeX, so it would be impossible to use if for a submission to the ACS.

A second area to bear in mind is journal work flows. Depending on the journal, your LaTeX source may be converted into some other format for publishing. To do that, the publisher may use additional data written to the .bbl file (for example the data repeated in an XML 'comment') or some form of .bbl parser to convert the bibliography. That will not work with biblatex unless they have set up their workflow to deal with it.

• sadly for users, this is correct on both counts -- dependence by journal publishers on established production systems (which change only glacially), and their support of biblatex-specific styles. bibtex has been problematic for ams for a long time, and an alternative, amsrefs, was first distributed in 2001. (biblatex first appeared in about 2006.) unfortunately, amsrefs isn't supported by (most?) other journal publishers, so there's no common format in which to build a personal database. – barbara beeton Jul 12 '12 at 14:02
• I would add to @barbarabeeton's comment a particular example where biblatex is inconsistent with journal publishers. All APS and AIP journals (journals on physics) requires for a submitted article to be compiled with RevTeX class. RevTeX loads natbib package which is inconsistent with biblatex. – Igor Kotelnikov Jan 14 '14 at 3:25
• Sorry, this is not "until journals ..." but rather "until biblatex ..." As a journal typesetter, I have other problems than dealing with a system like biblatex that is complicated to setup. So if biblatex isn't able to provide a standalone .bbl file, I am rejecting it. The same is true for instance for TikZ: People simply have to externalize their figures. – yo' Mar 16 '15 at 17:28
• @yo' Sorry to be blunt, but as a taxpayer and author I have to wonder what (academic) publishers do with all the money if they can't (be bothered to) keep up to date with technology even at the glacial pace the TeX ecosphere is moving. Biblatex is five years old now; surely there's been enough slack for a developer month or so to implement support for it during that time period. – Raphael Sep 17 '15 at 22:04
• @Raphael, for individual users who like to keep up with the latest software, five years is a long time. For an organization that has to customize software and internal procedures involving many people, dealing with constraints and desiderata that go well beyond the use of a single software package (e.g. publishing in multiple formats), five years is not so long. As an individual user, I develop habits and standard software configurations or customizations that "break" when I follow advice that demands that I use the latest version of a package. (Advice for developers: First do no harm.) – Mars Jan 16 '16 at 21:38

I have spent some time on submitting through Springer's "Editorial manager", this may work for other submissions too. Although the latex system of the journal must not be too old.

Basically there are three problems that I have run into.

1. Match .bbl file with biblatex version. Just now "Editorial manager" uses texlive-2015, but my .bbl file is produced with texlive-2016 so "Editorial manager" biblatex version does not match my biber version. Solution: submit the biblatex style files.

2. Have "Editorial manager" accept the file extensions of the biblatex style files. "Editorial manager" forces most of the biblatex style files to be Supplementary material, and as such it is not available at compilation time. Solution: use the filecontents package to generate the biblatex style files from a .sty file.

3. "Editorial manager" does not accept the .bbl file anyway. I have noticed that any comments added at the beginning of the file makes biblatex think biber did not produce the file, and refuse to use it. Perhaps Editorial manager adds something, I do not know. Solution: use the filecontents package to generate the .bbl file.

To this end, I wrote a Python program to generate the needed .sty file, the below program assumes your .bbl file is named Manuscript.bbl:

#! /usr/bin/env python
from os import path

f=open("biblatex-files.sty","w")
f.write("""% File containing the needed environment for biblatex
%
% Included here to bypass Editorial Manager heavy-handed file classification
%
% The .bbl file needs to be included too, probably Editorial Manager adds
% a LaTeX comment header that makes biblatex think biber did not produce it

% Enable overwriting files
\\RequirePackage{filecontents}

""")

for i in ["Manuscript.bbl",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg",
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx"]:
f.write("\\begin{filecontents*}{"+path.basename(i)+"}\n")
g=open(i)
f.write(j)
g.close()
f.write("\\end{filecontents*}\n\n\n")
f.close()


This generates biblatex-files.sty that you can include in your submission instead of the .bbl file. The biblatex style files I found by doing grep latex/biblatex Manuscript.log, you may need to include other files if you use a different biblatex style than me. Of course, you need put the following in your preamble.

\usepackage{biblatex-files.sty}


In my submission there are now only two manuscript files: Manuscript.tex and biblatex-files.sty, and a collection of figures.

A final hint: a recurring problem in all this is that "Editorial manager" only returns the log file if LaTeX fails completely, otherwise an incomplete manuscript PDF. So there is no way to know what went wrong if there are warnings only and an incomplete PDF. If you run into problems and need to know the cause, I recommend putting the following in the preamble, this will include the LaTeX log at the end of your PDF. Do not OK this PDF in the submission system, though. :)

\usepackage{fancyvrb}
\AtEndDocument{\VerbatimInput{Manuscript.log}}

• ... and the paper was accepted, and published from our electronic submission without protest from the editorial system. – Jan-Åke Larsson Aug 9 '17 at 21:00
• What do you then write in the Manuscript.tex file to make use of Manuscript.bbl? (Apologies if this is documented in general somewhere) – McDuffin Mar 7 at 17:51
• To get this to work I found I also had to add the "Manuscript.bib" file to the list of those added via filecontents (perhaps there is a better way) – McDuffin Mar 7 at 18:13
• The "Manuscript.bib" file contains the citation database, while "Manuscript.bbl" contains the print-ready citations relevant for the current manuscript. The bbl file is generated via "biber", and this should be done on your local machine. You usually do not want to include your entire database. If you include the "Manuscript.bib" file there is a very real risk that the publisher uses "bibtex" and not "biber", and that may not be what you want. The above code includes "Manuscript.bbl" and not "Manuscript.bib" for precisely this reason. – Jan-Åke Larsson Mar 8 at 16:10
• Thanks, my query was how you make use of the bbl file. For instance "\addbibresource{Manuscript.bbl}" does not appear to work (and I cannot find any entry in the biblatex documentation for how to directly load a .bbl file) – McDuffin Mar 9 at 17:12