一度発明した演算子

argmin、argmax、および同様の名前の DeclareMathOperator。

あなたが一度発明した演算子

LaTeX には、\sin\log、および \max などの名前付き演算子が同梱されており、それらは正しい間隔で正立文字で印刷されます。最適化に関する論文では常にこれらが使用されていますが、\argmin または \argmax は付属していません。数学モード内で普通の文字として argmin を入力すると、LaTeX はそれを 6 つの変数の積として扱います。文字は斜体で、演算子の間隔なしで詰め込まれて表示されます。プリアンブルで演算子を一度自分で宣言します。

演算子の宣言

\usepackage{amsmath}
\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathOperator*{\argmax}{arg\,max}
\[
\theta^\star = \argmin_\theta \mathcal{L}(\theta)
\]

各部分の動作は次のとおりです。 \DeclareMathOperatoramsmath から来ており、引数が演算子テキスト (直立ローマ字) としてタイプセットされる新しいコマンドを作成します。LaTeX がすでに \max\lim に適用している間隔規則が適用されます。最初の引数は入力するコマンド名で、2 番目の引数は実際に印刷されるテキストです。 「arg,min」内の「,」は 2 つの単語の間に細いスペースを挿入します。これにより、2 つの単語を一緒に実行するよりも読みやすくなります。

\DeclareMathOperator の後の星が重要です。スター付きの宣言により、演算子は \lim のように動作します。表示数学では、_ を付けて付加したものはすべて、演算子の右下に続くのではなく、演算子の直下に配置されます。これはまさに \argmin_\theta に必要なことです。最適化される変数は以下に表示されます。スターがないと、添字は横に残ります。これは、\log_2 のような演算子の規則です。インライン計算では、行の高さが伸びることを避けるために、添え字はどちらの場合でも横に留まります。

パターンの再利用

同じ手法で、フィールドで使用されている、LaTeX が認識していない演算子もカバーします。よくあるものをいくつか挙げます:

\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\diag}{diag}
\DeclareMathOperator*{\esssup}{ess\,sup}

\tr\rank、および \diag にはスターが付いていないことに注意してください。これは、それらの添字が付いている場合はその側に属するためです。 \esssup などの制限スタイルの演算子のみが星を獲得します。

\mathrm{argmin} をインラインで記述する代わりにプリアンブルで演算子を宣言すると、2 つの効果があります。文書全体で表記の一貫性が保たれており、ジャーナルが別の表現を要求した場合は、すべての式を調べる代わりに 1 行変更するだけで済みます。 ライブ プレイグラウンド で宣言と表示行を一緒に試して、スター付き添え字の配置がどのように動作するかを確認してください。

よくある間違い: \max\deg など、名前が既存のコマンドと衝突する演算子を宣言することです。 LaTeX は「定義済み」エラーで停止します。新しい名前を選択するか、本当に元の名前を置き換える場合にのみ \renewcommand を使用します。

記法の深さ に戻る