argminまたはargmaxのコマンド?

ラテックスでargminまたはargmaxを取得するにはどうすればよいですか?私が見つけた2つの解決策は次のとおりです。

\underset{x}{\operatorname{argmax}} \DeclareMathOperator*{\argmin}{arg\,min} 

他にアイデアはありますか?

[1] http://www.breakthru.altervista.org/?p=27

[2] http://researchonsearch.blogspot.com/2007/05/enter-argmax-argmin-in-latex.html

コメント

  • これらのソリューション(特に2番目のソリューション)はどのように正しくないと感じますか?この場合、\DeclareMathOperator 方法です。
  • 個人的には、
  • Jupyterで機能させる方法はどうですか?

回答

Pieterが指摘したように、LaTeXでargminおよびargmax演算子を定義する正しい方法は次のとおりです。

\usepackage{amsmath} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\argmin}{arg\,min} 

実際には、パッケージで十分ですが、amsmathによって内部的に読み込まれます。これは、とにかく数学の組版に推奨されます。

iv id = \DeclareMathOperator*の “5657f2882d”>

は、下線付きの引数を単語の右下ではなく、単語の下に配置します。

コメント

  • \DeclareMathOperator*{\argmin}{\arg\!\min}を使用すると、argmin
  • @rbp単にargmin<の場合、なぜ\arg\minを使用する必要があるのですか。 / div>も同じですか?
  • @egreg you 'その通りです。私は他のオプションを使ったいくつかの実験からこれに到達しましたが、'振り返りませんでした:)
  • ConTeXtでは次のようになります:\definemathcommand [argmin] [limop] {\mfunction{arg\,min}}
  • 説明:argとminの間に薄いスペース(\、)を残しました。これは、元のポスターの'が質問なので、彼らはそこにスペースが欲しいと思いました。個人的には、スペースなしで\DeclareMathOperator*{\argmin}{argmin}を実行します。

回答

まとめ

続編では、LaTeXを想定しています。

予備的な質問

1。薄いスペースで「arg」と「min」を区切る必要がありますか?

これは個人的な好みの問題です。 \limsupのデフォルトの定義にはシンスペースがありますが、「arcsin」は通常、2つのコンポーネント間にスペースを入れずに記述されます。一貫性は、いつものように、キーワードです。マクロ定義を使用すると、マクロ定義が保証され、あるオプションから別のオプションに切り替える必要がある場合に、ドキュメント全体の植字を簡単に変更できます。

2。制限は表示スタイルで演算子を下回る必要がありますか?

これも議論の余地があり、ドキュメントが書かれているフィールドで使用されている規則に従う必要があります。

3。演算子名は直立して植字する必要がありますか?

確かに、正弦や余弦などの他のすべての演算子/関数名と同様です。

使用可能なツール

1。 amsmath

amsmathを使用すると、前文で

\DeclareMathOperator*{\argmin}{arg\,min} % thin space, limits underneath in displays \DeclareMathOperator*{\argmin}{argmin} % no space, limits underneath in displays \DeclareMathOperator{\argmin}{arg\,min} % thin space, limits on side in displays \DeclareMathOperator{\argmin}{argmin} % no space, limits on side in displays 

もちろん、これらのうち1つだけを使用する必要があります。ドキュメントでは、\argminと入力するだけで十分であり、演算子の周囲の間隔は、数学の植字の一般的な規則に従って適切なものになります。

一見異なる

\newcommand{\argmin}{\operatornamewithlimits{argmin}} 

は、本質的に\DeclareMathOperator*{\argmin}{argmin}と同じであるため、実際にはそうではありません。さらに、非推奨のコマンドを使用します。これは\operatorname*である必要があります。

2。パッケージなし

次の定義は、上記の定義と同じ順序で非常に似ています

\newcommand{\argmin}{\mathop{\mathrm{arg\,min}} \newcommand{\argmin}{\mathop{\mathrm{argmin}} \newcommand{\argmin}{\mathop{\mathrm{arg\,min}\nolimits} \newcommand{\argmin}{\mathop{\mathrm{argmin}\nolimits} 

\underset

\underset{x}{\mathrm{argmin}} 

これも質問と1つの回答で言及されましたが、視覚的な比較が示すように間違っています。

3。違い

「パッケージなし」バージョンは、amsmathバージョンよりもはるかに厳格です。このパッケージはnonamelimits\lim、\maxなどのすべての演算子を自動的に変更するdiv>オプション。ディスプレイ)側面にそれらを持っています。もちろん、\DeclareMathOperator*が使用されていれば、同じオプションが新しく定義された演算子にも機能します。

テストドキュメント

次のテストではドキュメントでは、提案された定義または構造が比較されます。

\documentclass{article} \usepackage{amsmath} % limits underneath \DeclareMathOperator*{\argminA}{arg\,min} % Jan Hlavacek \DeclareMathOperator*{\argminB}{argmin} % Jan Hlavacek \DeclareMathOperator*{\argminC}{\arg\min} % rbp \newcommand{\argminD}{\arg\!\min} % AlfC \newcommand{\argminE}{\mathop{\mathrm{argmin}}} % ASdeL \newcommand{\argminF}{\mathop{\mathrm{argmin}}\limits} % ASdeL % limits on side \DeclareMathOperator{\argminG}{arg\,min} % Jan Hlavacek \DeclareMathOperator{\argminH}{argmin} % Jan Hlavacek \newcommand{\argminI}{\mathop{\mathrm{argmin}}\nolimits} % ASdeL \newcommand{\cs}[1]{\texttt{\symbol{`\\}#1}} \begin{document} \begin{align} &\cs{argminA} & \argminA_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminB} & \argminB_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminC} & \argminC_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminD} & \argminD_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminE} & \argminE_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminF} & \argminF_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{underset} & \underset{x}{\mathrm{argmin}} f(x) &= \{x \mid f(x) = \min_{x"} f(x")\}\\ &\cs{argminG} & \argminG_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminH} & \argminH_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminI} & \argminI_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \end{align} \end{document} 

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

結果

予想どおり、多くの行が同じタイプセットになっています。ただし、\mathopで定義されたマクロは、nonamelimitsオプションに従いません。また、\argminDの結果は明らかに間違っています。これは、制限が「max」より下にタイプセットされており、演算子名全体より下ではないためです。

\undersetを使用した構成は、演算子の後に正しい間隔を使用しないため、間違っています。薄いスペースが他のすべてに続き、タイプセットする正しい方法です。 。 \sin x\mathrm{sin}xを比較して、この薄いスペースを別のコンテキストで確認してください。

\argminAは同じ結果になり、\argminD\argminB。説明:\arg\maxはすでに演算子として定義されているため、TeXは、一方が他方の直後に続く場合、シンスペースを挿入します。 \argminCまたは\argminDを使用すると、TeXがホイールを少し回転させるだけで、\argminAまたは\argminB

コメント

  • これが受け入れられる回答です。
  • ' \newcommand{\argmin}{\operatornamewithlimits{argmin}}は、'を使用しないという点で異なりますid = “7286813512”>

パッケージ?

  • @HomeroEsmeraldo \operatornamewithlimitsは、amsopnamsmathによってロードされたパッケージで、単独で使用されることはめったにありません。
  • ありがとうございます。何らかの理由で、\undersetのみがwithに対して満足のいく結果をもたらしました(xはargminの下にあり、隣接していません)。
  • Jupyterで機能させる方法についてはどうでしょうか。 ?
  • 回答

    \newcommand{\argmin}{\operatornamewithlimits{argmin}}を使用しています。

    コメント

    • +1私はこれが好きです-なぜ物事を複雑にしすぎるのですか?これは、\DeclareMathOperator*の回答とまったく同じように見えます。
    • これにより、" argmin 。 " arg min "(おそらく最も一般的な表記)を取得するには、{arg\,min}
    • Googleから" arg min "で669,000件、 argmin "なので、'は同点と呼びます。 😉
    • これは機能します…?インポートステートメントがありませんか?
    • Google Scholarは、" arg min "で171,000、"で116,000を取得しました。 div id = “28663042d5″>

    argmin "。

    回答

    \usepackage{amsmath}を使用してから:

    \operatorname*{argmin}_\theta f(x) 

    ここに画像の説明を入力

    または同様に(スペースを追加する場合)

    \operatorname*{arg\,max}_\theta f(x) 

    ここに画像の説明を入力

    コメント

    • 簡潔で要点!

    回答

    ちょうど別の代替手段(ある意味では、より貧弱な解決策、以下のコメントを参照)は、\minおよび\argコマンド。

    \newcommand{\argmin}{\arg\!\min} 

    このように、1)\argmin常に同じように動作します\minとして、2)amsmathを必要としないか、\operator...コマンドを気にしません3) はい、変数は中央に配置されていませんminの部分に中央揃えされています)、しかしそれはあなたが望むものでさえあるかもしれません(それは\minと同じ方法で中央に配置されているので、\argは、アンダー引数をさらに下げることはありません。

    \documentclass[fleqn]{article} \newcommand{\argmin}{\arg\!\min} \begin{document} \[ \argmin_x f(x) = \{x | f(x) = \min_{x"} f(x")\} \] \[ \min_x f(x) = \{f(x) | f(x) < f(x_0) \forall x_0 \in R \] \end{document} 

    argmin

    コメント

    • これは'良いアイデアとは思えません。 \argmin_{x\in X\cap Y} f(x)は完全に破壊します。
    • とにかく\argコマンドとは何ですか?
    • @ThomasAhle、argは引数関数用です(複素平面の角度、$ z = | z | e ^ {i \ arg z} $。toheczはちなみに正しいです。
    • @ boycott.se-yo '、良い点です。

    回答

    または、undersetコマンドを使用できます。例:

     R = \underset{n} {\mathrm{argmax}} ~P(L_n|\mathbf{x}) 

    コメント

    • これは使用しないでください'これにより、argminmathord mathopではなく、間隔が正しくありません。さらに、これはインライン数学モードで制限を自動的に調整しません。

    回答

    \mathopとividを使用します \mathrm、最終的には\limitsまたは\nolimitsになります。 “17495e051f”>

    および^。 以下を参照してください。

    \documentclass{article} \begin{document} { nothing: \newcommand{\argmin}{\mathop{\mathrm{argmin}}} $\argmin_a^b$ $$\argmin_a^b$$ } { limits: \newcommand{\argmin}{\mathop{\mathrm{argmin}}\limits} $\argmin_a^b$ $$\argmin_a^b$$ } { nolimits: \newcommand{\argmin}{\mathop{\mathrm{argmin}}\nolimits} $\argmin_a^b$ $$\argmin_a^b$$ } \end{document} 

    回答

    これは、追加のパッケージがなくても機能します。 ただし、新しい行が作成されます。

    $$\pi(s) = arg\max_\theta$$ 

    コメント

    • $$...$$をLaTeXと一緒に使用することはお勧めしません。 正しい垂直方向の間隔を得るには、\[ ... \]を使用することをお勧めします。
    • このソリューションでは、argmaxが正しく植字されません。 ここで、argはイタリック(および間隔が悪い)になり、maxは直立します。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です