\abs は「未定義の制御構造」エラーを生成します

\abs は「未定義の制御構造」エラーを生成します

のような単純な用語であっても、Undefined control structureを使用するとエラーが発生します。\abs\abs{x}

私はパッケージpdflatexamsmath数式モードで使用しています$ $。ファイルの削除も試しました.aux

何かアドバイスはありますか?

答え1

考えられるすべての数学演算子が事前に定義されているわけではありません。したがって、自分で定義する必要があります。私の通常の方法は次のとおりです。

\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

次に\abs{x} = \lvert x \rvert\abs*{x}=\left\lvert x \right\rvertと言います\abs[\big]{x} = \bigl\lvert x \bigr\rvert

最近のプロジェクトでは、これを少し拡張して

\usepackage{mathtools,etoolbox}
\DeclarePairedDelimiterX{\abs}[1]{\lvert}{\rvert}{\ifblank{#1}{{}\cdot{}}{#1}}

次に、 と記述し\abs{}: \mathbb{R}\to[0,\infty)\abs{}空の引数を示すために中央のドットを追加します。

追加: 自動スケーリングが必ずしも良いアイデアではない理由の例を次に示します。

ここに画像の説明を入力してください

関連情報