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.

  • 18
    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
  • 11
    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
  • 3
    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
up vote 76 down vote accepted

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}
....
\def\blx@bblfile@bibtex{% instead of ...\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}%
  \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 %.

  • 2
    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
  • 2
    @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
  • 5
    @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
  • 10
    To answer my own comment, some journals (Looking at you, AGU) expressly forbid the usage of \def outside their provided style files: % PLEASE DO NOT USE YOUR OWN MACROS % DO NOT USE \newcommand, \renewcommand, or \def.. So even this solution does not work. Horrible. – naught101 Nov 14 '12 at 4:51
  • 4
    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.

  • 14
    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
  • 4
    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
  • 7
    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. – boycott.se - yo' Mar 16 '15 at 17:28
  • 3
    @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
  • 4
    @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

# Author: Jan-AAke Larsson <jan-ake.larsson@liu.se>

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)
    for j in g.readlines():
        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}}
  • 2
    ... 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

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.