2

I noticed that the order of loading mathabx and ngerman is essential. In this non-working minimal example

\documentclass{standalone}
\usepackage{ngerman}
\usepackage{mathabx}
\begin{document}
$\rightarrow$
\end{document}

which creates the error

[...]\MiKTeX\2.9\tex\generic\mathabx\mathabx.dcl
! Missing number, treated as zero.
<to be read again>
                   \protect
l.435 ...eMathSymbol{<}            {3}{matha}{"A0}

the problem can be avoided by reordering the includes to

\usepackage{mathabx}
\usepackage{ngerman}

which appears odd to me. Is that a bug or a feature?

If I were only using one symbol, I would follow the suggestion mentioned in conflict between mathabx and other packages, but with more symbols, that solution is rather annoying.

1
  • 1
    The ngerman package is obsolete; you should do \usepackage[ngerman]{babel}
    – egreg
    Feb 12 '16 at 9:51
3

It's not at all surprising that loading ngerman can lead to incompatibilities: the last update to the package was in 1998.

The order

\usepackage{ngerman}
\usepackage{mathabx}

creates a number of errors. This is because the ngerman package immediately makes " into a shorthand, which conflicts with any package using hexadecimal notation for numbers: hexadecimal numbers in TeX are prefixed by "12, but after loading ngerman you have "13.

General solution: don't load ngerman or german at all costs. Instead, do

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

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.