I'm trying to submit a paper online, and it causes errors BibTex since the online compiler only runs a single pass of pdfLaTeX. The journal recommends including the .bbl directly into the .tex file, and since I'm using Overleaf, I followed these directions. Unfortunately, I get Undefined control sequence errors on the copy-pasted .bbl text.
My Code
\documentclass[titlepage, 10pt, a4paper, twocolumn]{article}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{authblk}
\usepackage[backend=biber]{biblatex}
\usepackage{graphicx}
\usepackage[none]{hyphenat}
\usepackage{tikz}
\usepackage{mathtools}
\usepackage{standalone}
\usepackage{etoolbox}
\addbibresource{sample.bib}
\makeatletter
\patchcmd{\thebibliography}{
\chapter*{\bibname}\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}{
\section{References}}{}{}
\makeatother
...
\let\stdsection\section
\def\section*#1{\stdsection{#1}}
\printbibliography[title={References}]
\let\section\stdsection
I comment out everything from \addbibresource{sample.bib}
to \makeatother
and everything from \let\stdsection\section
to \let\section\stdsection
, then I paste in the contents of the .bbl file below the ...
.
Among other issues, the first error I get in Overleaf is
l.401
\sortlist[entry]{nty/global/}
The control sequence at the end of the top line of your error message was never\def
'ed. If you have misspelled it (e.g.,\hobx
'), typeI
' and the correct spelling (e.g.,I\hbox
'). Otherwise just continue, and I'll forget about whatever was undefined.
What am I missing? The explanation didn't mention that I had to include any extra packages once I copied the .bbl file over, but now it looks like there's thousands of undefined control sequences.
Best Answer
The instructions from Overleaf (https://www.overleaf.com/help/219) are specifically for use with BibTeX-based bibliographies. Herbert's answer to Biblatex: submitting to a journal explains how you could do something similar with
biblatex
.For most intents and purposes, however, that will not work as intended. Unlike with BibTeX-based bibliographies, where the
.bbl
file contains ready-to-typeset material,biblatex
's.bbl
files contain the rehashed raw data in a LaTeX-readable format. The exact format ofbiblatex
's.bbl
file will depend on thebiblatex
and Biber version. The.bbl
file on your machine can only be understood by systems with the samebiblatex
version (well, actually the same internal.bbl
file version;biblatex
development is still ongoing, so there is no stable state of affairs yet). See Matching biblatex in two machines, Making the arXiv accept a BibTeX BBL (May 2018) and Which biblatex/biber version produces BBL format 2.8? for more background on this.In fact copying
biblatex
's.bbl
file into your.tex
document makes your document less portable. By using internal commands in your.tex
file you effectively restrict the possible versions ofbiblatex
that you could use, becausebiblatex
is sensitive to changes in these internal macros. The user interface on the other hand is stable when it comes to high-level features and changes are usually attempted in a backwards compatible way (unfortunately, that does not always work out). So while it is possible to include abiblatex
.bbl
into a.tex
file it usually does more harm than good.Additionally, it is not guaranteed that publishers can deal with
biblatex
submissions anyway (see Joseph's answer to Biblatex: submitting to a journal). For journal submissions it is usually safer to use the provided classes (if any) or use standard classes and simple BibTeX or a manualthebibliography
.The bottom line is that for journal submissions your best chance is still good old BibTeX with
\bibliographystyle
and\bibliography
.The difficulties with the arXiv demonstrate that if publishers want to support
biblatex
they should accept uploading.bib
files. User-submitted.bbl
files only cause version conflicts and pain. That would mean, however, that they would have to run LaTeX and Biber on the submitted files, which would significantly complicate their workflow. I don't see that happening any time soon.Note that using BibTeX as backend for
biblatex
has the same issues as using Biber since the use of the.bbl
file is the same and the format is only very slightly different, so simply switching tobackend=bibtex
inbiblatex
will not bring measurable improvement.