7

I want use biblatex and newtxmath. But using both gives me following warning Package biblatex Error: Incompatible package 'etextools'. \begin{document} and a number of errors. It seems that newtxmath requires etextools, and biblatex is incompatible. Do I something work or is there a workaround?

MWE:

% !BIB TS-program = biber
% !TeX program = pdflatex
% !TeX encoding = UTF-8 Unicode
\documentclass{article}%
\usepackage[english, german]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{newtxmath} %comment this 
\usepackage[]{biblatex}  %or this out to get it working                    

\begin{document}
    Hallo
\end{document}
  • 2
    Update newtxmath again. The developer has removed the dependency on etextools (this may not be in MikTeX just yet, you may have to wait; but it is definitely in Tex live). – moewe May 16 '18 at 22:35
  • I just checked that MikTeX still ships the problematic version 1.55 of newtx. You'll have another day or two for the update to become available. – moewe May 16 '18 at 22:59
  • This kind of problems is really fun if you have to submit your thesis. For unknown reasons it worked on my laptop, but my deskop machine complains. – tillsten May 16 '18 at 23:00
  • I suspect that the version on your laptop and desktop machines are different. If you work with several machines, make sure to update all of them at the same time to avoid effects like this. Incompatibilities like this are indeed a big risk if you are facing a deadline. That's why many people would advise not to update if you have to have a document ready in the not-so-distant future. The TeX live documentation says: "[updating packages] is not required, or even necessarily recommended; it's up to you to decide if it makes sense in your particular situation." – moewe May 17 '18 at 5:54
8

As of this morning (UTC, 2018-05-17) this work-around is not needed any more. Both MikTeX and TeX live now ship an updated version of the newtx package that does not load etextools any more. Update the newtx package.

This is a temporary problem with version 1.55 of newtxmath. It loads the etextools package, which is incompatible with biblatex. Version 1.551 released just a few days later removes the dependency on etextools and is compatible with biblatex again. See also this discussion on the tex-live mailing list for the specifics of this issue as well as https://github.com/plk/biblatex/issues/669 and biblatex and autonum don't work together for general comments on etextools and biblatex.

etextools (re)defines the macro \forlistloop in a way that is incompatible with the original definition from etoolbox that biblatex expects. (etextools is an extension of the ideas of etoolbox and if I understand correctly, etextools got in first when it comes to defining \forlistloop. etextools implemented the macro in version 2i dated 2009-08-31, while etoolbox defines its \forlistloop in version 2.0 dated 2010-08-21.) This is an unfortunate clash of names that can lead to some problems, most notably with biblatex. As far as I am aware etextools was always considered more of an experimental package than one for production use (see also package autonum needs the obsolete etex package and in particular this statement by the package author: https://groups.google.com/d/msg/comp.text.tex/VRrFB4ll5n0/1IVvhFyKqsAJ)

In the meantime and only with biblatex 3.10 or 3.11 you can use

\documentclass{article}%
\usepackage[english, german]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{etoolbox}
\let\oldforlistloop\forlistloop
\usepackage{newtxmath}
\let\forlistloop\oldforlistloop
\usepackage[noerroretextools]{biblatex}                   

\begin{document}
    Hallo
\end{document}

as a workaround. The option noerroretextools will probably be removed in future versions of biblatex.

| improve this answer | |
  • Hi, why during the compilation I have this error? Package xkeyval Error: noerroretextools' undefined in families blx@opt@pre'. [\blx@processoptions] – Sebastiano May 16 '18 at 22:42
  • @Sebastiano In that case your biblatex is too old. The option noerroretextools was only implemented in version 3.10 of biblatex (see github.com/plk/biblatex/blob/dev/doc/latex/biblatex/CHANGES.md). It will quite probably be removed in future versions of biblatex, so don't get used to it! – moewe May 16 '18 at 22:44
  • I have understood. However +1. – Sebastiano May 16 '18 at 22:45
  • @tillsten Just remember to remove the workaround as soon as nextx is updated (shouldn't take too long). – moewe May 16 '18 at 23:00
  • 1
    Seriously the latex community is really great, but the number of workarounds in my preamble got really freighting. – tillsten May 16 '18 at 23:13

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.