[Tex/LaTex] Biblatex and arxiv, error

arxivbiblatex

Edit: Upgrade of Mac TeX solved the following problem:

Package biblatex Warning: File 'testbib.bbl' is wrong format version - expected 2.8. 

But now I instead get:

! Package xkeyval Error: `family_i' undefined in families `blx@opt@namepart'.

when I try to submit to arXiv. Anyone how knows who I can solve this? I don't know what to do. Thank you all very much! I think I've collected the essentials:

%testbib.bbl
\documentclass[10pt, a4paper, centertags, openright, mathscr]{amsart}
\usepackage[left]{lineno}

\usepackage{etex}

\usepackage{amsmath, amsfonts, amsthm, amssymb, amsxtra, bbm, enumerate, stmaryrd}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[dvipsnames]{xcolor}

\usepackage[style=alphabetic,
        backend=biber,
        isbn=false,
        doi=false,
        url=false,
        hyperref=true, 
        firstinits=true,
        maxbibnames=99,
        maxalphanames=99,
        maxnames=99,
        block=none]{biblatex}
\addbibresource{\string~/Documents/Latex/bibFile.bib}
\renewcommand*{\newunitpunct}{\addcomma\space}

\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}  
{\newunit
 \printfield{series}%
 \setunit{\addspace}}%
\printfield{volume}%
\setunit{\addspace}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\setunit{\addcomma\space}%
\printfield{number}%
\newunit}

\renewbibmacro*{volume+number+eid}{%
\printfield{volume}
\printfield{number}
}

\renewbibmacro*{date}{\setunit{\addspace}\printdate}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}%\addperiod % italic title with period
\DeclareFieldFormat*{journaltitle}{#1} % title of journal article is printed as normal text
\DeclareFieldFormat[incollection]{booktitle}{\rm #1} % title of journal article is printed as normal text
\DeclareFieldFormat*{volume}{vol. \bf #1} 
\DeclareFieldFormat[article]{date}{#1}
\DeclareFieldFormat[book,inbook,incollection,thesis,unpublished]{date}{(#1)}
\DeclareFieldFormat*{number}{no. #1} 
\DeclareFieldFormat*{pages}{#1}
\renewbibmacro{in:}{}

\begin{document}

\title{Test Biblatex}
\author{Myself {\ae}{\o}{\aa}}
\maketitle

In \cite{lur-09} and \cite{mac-98}. 

\printbibliography

\end{document}

when

% $ biblatex auxiliary file $
% $ biblatex bbl format version 2.7 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
  {\@latex@error
     {Missing 'biblatex' package}
     {The bibliography requires the 'biblatex' package.}
      \aftergroup\endinput}
  {}
\endgroup


\refsection{0}
  \sortlist[entry]{anyt/global/}
    \entry{lur-09}{book}{}
      \name{author}{1}{}{%
        {{hash=760ea879284b1a6eeaad87a82be8d1d7}{%
           family={Lurie},
           family_i={L\bibinitperiod},
           given={Jacob},
           given_i={J\bibinitperiod}}}%
      }
      \list{location}{1}{%
        {Princeton, NJ}%
      }
      \list{publisher}{1}{%
        {Princeton University Press}%
      }
      \strng{namehash}{760ea879284b1a6eeaad87a82be8d1d7}
      \strng{fullhash}{760ea879284b1a6eeaad87a82be8d1d7}
      \field{labelalpha}{Lur09}
      \field{sortinit}{L}
      \field{sortinithash}{872351f18d0f736066eda0bf18bfa4f7}
      \field{labelnamesource}{author}
      \field{labeltitlesource}{title}
      \field{isbn}{978-0-691-14049-0; 0-691-14049-9}
      \field{series}{Annals of Mathematics Studies}
      \field{title}{Higher topos theory}
      \field{volume}{170}
      \field{year}{2009}
      \field{pages}{xviii+925}
      \range{pages}{-1}
    \endentry
    \entry{mac-98}{book}{}
      \name{author}{1}{}{%
        {{hash=412e255483e0d09fd0b0895d355a28a8}{%
           family={Mac\bibnamedelima Lane},
           family_i={M\bibinitperiod\bibinitdelim L\bibinitperiod},
           given={Saunders},
           given_i={S\bibinitperiod}}}%
      }
      \list{location}{1}{%
        {New York}%
      }
      \list{publisher}{1}{%
        {Springer-Verlag}%
      }
      \strng{namehash}{412e255483e0d09fd0b0895d355a28a8}
      \strng{fullhash}{412e255483e0d09fd0b0895d355a28a8}
      \field{labelalpha}{Mac98}
      \field{sortinit}{M}
      \field{sortinithash}{2684bec41e9697b92699b46491061da2}
      \field{labelnamesource}{author}
      \field{labeltitlesource}{title}
      \field{edition}{Second Edition}
      \field{isbn}{0-387-98403-8}
      \field{series}{Graduate Texts in Mathematics}
      \field{title}{Categories for the working mathematician}
      \field{volume}{5}
      \field{year}{1998}
      \field{pages}{xii+314}
      \range{pages}{-1}
    \endentry
  \endsortlist
\endrefsection
\endinput

When running 'biber' on my computer I get:

INFO - This is Biber 2.5 

I tried to change to

backend=bibtex 

but it gives the same error.

Best Answer

If you are looking for help with biblatex and Biber for arXiv uploads, have a look at https://github.com/plk/biblatex/wiki/biblatex-and-the-arXiv and Making the arXiv accept a BibTeX BBL (May 2018) as well.

Overleaf users may be interested in https://www.overleaf.com/learn/how-to/LaTeX_checklist_for_arXiv_submissions.


Introduction and some background

(More background can be found in https://github.com/plk/biblatex/wiki/biblatex-and-the-arXiv and the posts linked there.)

Since February 2017, arXiv is running TeX live 2016 (https://confluence.cornell.edu/display/arxivpub/2016+arXiv+Roadmap, https://arxiv.org/help/faq/texlive) with - if I understand 'arXiv is now running under TeXLive 2016, with a new, updated and enhanced tree of local addons and support for newer font sets, and everything else contained within the standard distribution' correctly - packages updated a bit after the initial release of TeX live 2016.

It is, however, nowhere indicated that arXiv would get continuous updates from CTAN. And indeed that would most likely be unfeasible and is thus very, very unlikely.

Due to the way biblatex works, version mismatches are fatal errors. (And even if they are not detected - as was the case in older versions - they can still wreak havoc on your documents.) So you can submit documents using biblatex since they are able to run it, but only if your biblatex and Biber version matches the version that arXiv is running. At this moment I believe they are running biblatex 3.7 and Biber 2.7, while the current versions on CTAN are biblatex 3.14 and Biber 2.14.

Since biblatex is still being developed and sometimes huge internal changes are made from one version to another, biblatex is not exactly best friends with the publishing world, who values stability and in some cases moves very slowly through LaTeX versions. See also Biblatex: submitting to a journal.

See also Biblatex: submitting to the arXiv and Publishing to Arxiv using Biblatex-Biber

Solutions

There are in essence two solutions, either you compile your document locally with the biblatex/Biber versions that the arXiv has installed or you upload your version of biblatex (possibly including other dependencies) along with your .tex file when you submit your article to the arXiv.

Compile your document with the biblatex/Biber versions from the arXiv

The way to produce a .bbl file that is compatible with the arXiv is to compile your document with the biblatex and Biber versions installed on the arXiv.

While it is possible to install certain versions of biblatex and Biber from SourceForge this is usually not recommended to only downgrade those packages, as that can lead to incompatibilities either with dependencies of biblatex or with biblatex styles. It is safer just to install a complete system with the right versions.

As things currently stand you will want to install a historic TeX live 2017 to get versions of biblatex and Biber matching the arXiv versions.

Historic Tex live versions can be obtained from ftp://tug.org/texlive/historic/. Since it is possible to have several TeX live versions installed in parallel (Using two installs of texlive in parallel), this should not prevent you from using a more up-to-date TeX system for documents that are not being prepared for arXiv submission. You do not need to (and indeed you should not) uninstall your current TeX system.

More details and some helpful links can be found in https://github.com/plk/biblatex/wiki/biblatex-and-the-arXiv#getting-the-right-package-versions.. This solution is for example described in Biblatex v3.11 with arXiv - how fix "wrong format version" error?.

Upload your version of biblatex to the arXiv

The idea here is not to get the same version of biblatex as the arXiv, instead you upload your version of biblatex to the arXiv.

There is precedence of people just uploading all necessary biblatex files in their submissions, see https://arxiv.org/abs/1610.02077 and https://arxiv.org/abs/1608.06539 amongst others. This works if biblatex does not depend on recently added functionality in another package. In the near future that is going to be a viable option. In a 2017 paper by one of the authors, they could get away with only providing the non-standard styles since the local version of bibliatex and arXiv's version matched: https://arxiv.org/abs/1703.01152.

If one doesn't know which files changed between the different biblatex versions, it is a bit tricky to know which files to upload. But there is a helpful script by Dougal Sutherland that automatically uploads all required files (this may well be overkill, but generally increases the change that the arXiv can compile your files), see https://github.com/dougalsutherland/arxiv-collector.


The arXiv people even have put up a bit of advice on biblatex on their help site: https://arxiv.org/help/faq/texlive.html

An incomplete list of common symptoms, errors, and fixes follows:

Wrong biblatex format version. If you have been developing with an older biblatex you will need to regenerate your .bbl file.

Package biblatex Warning: File 'Constraints.bbl' is wrong format version - expected 2.7.

fix: the author needs to regenerate their .bbl file.

Note that this advice only works if you have the same version of biblatex that arXiv is running on your local machine. As soon as the two versions are out of sync, things cannot be fixed by simply regenerating the .bbl.