2

I have the following minimal working example:

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.dbx}  
    \ResetDatamodelEntrytypes
    \ResetDatamodelFields
    \ResetDatamodelEntryfields
    \ResetDatamodelConstraints
\end{filecontents}

\documentclass{report}

\usepackage[backend=biber,datamodel=\jobname]{biblatex}

\begin{document}
This is a minimal working example.
\end{document}

Compiling using the latest update of texlive (pdflatex 3.14159265-2.6-1.40.17, biblatex 3.7) in my environment throws the following error:

    This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/filecontents/filecontents.sty)

(/usr/local/texlive/2016/texmf-dist/tex/latex/base/report.cls
Document Class: report 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/biblatex.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2016/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/logreq/logreq.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/logreq/logreq.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/xstring/xstring.sty
(/usr/local/texlive/2016/texmf-dist/tex/generic/xstring/xstring.tex))
(/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/blx-dm.def) (./test.dbx
! Undefined control sequence.
\ResetDatamodelConstraints ...tamodel@constraints 
                                                  \@empty 
l.9 \ResetDatamodelConstraints

? 

The code I extracted this example from worked before updating my tex environment. In the current biblatex documentation the command \ResetDatamodelConstraints is still defined. Looking in blx-dm.def one may also find the commands definition.

What is going wrong here?

2

This is due to a typo, specifically a missing \, in blx-dm.def. The issue is known and was fixed on Github a few weeks ago (https://github.com/plk/biblatex/commit/8d90d5c4897a8316de5f51fce7810c12a75846a8). The version with the fix (3.8) has not been released yet, though.

In the meantime it should be enough to add

  \renewrobustcmd*{\ResetDatamodelConstraints}{%
    \global\let\blx@bcf@datamodel@constraints\@empty}

to your .dbx.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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