mathabx はドイツと衝突しますか?

mathabx はドイツと衝突しますか?

ロードの順序に気づいた数学abxそしてドイツ人は不可欠です。この動作しない最小限の例では

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

エラーが発生する

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

この問題は、includeを次のように並べ替えることで回避できます。

\usepackage{mathabx}
\usepackage{ngerman}

私には奇妙に思えます。これはバグですか、それとも機能ですか?

1つのシンボルだけを使用する場合は、mathabx と他のパッケージ間の競合しかし、シンボルが増えると、その解決策はかなり面倒になります。

答え1

ロードによって非互換性が生じることはまったく驚くべきことではありませんngerman。パッケージの最後の更新は 1998 年でした。

オーダー

\usepackage{ngerman}
\usepackage{mathabx}

いくつかのエラーが発生します。これは、ngermanパッケージがすぐに"省略形になり、どれでも数値に 16 進表記を使用するパッケージ: TeX の 16 進数値には"12という接頭辞が付きますが、ロード後は13ngermanになります。"

一般的な解決策: ロードしたりngermangermanどんな犠牲を払ったりしないでください。代わりに、

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

関連情報