ラテックスで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
コメント
回答
Pieterが指摘したように、LaTeXでargminおよびargmax演算子を定義する正しい方法は次のとおりです。
\usepackage{amsmath} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\argmin}{arg\,min}
実際には、パッケージで十分ですが、amsmath
によって内部的に読み込まれます。これは、とにかく数学の組版に推奨されます。
iv id = \DeclareMathOperator*
の “5657f2882d”>
は、下線付きの引数を単語の右下ではなく、単語の下に配置します。
コメント
-
\DeclareMathOperator*{\argmin}{\arg\!\min}
を使用すると、arg
とmin
。 - @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”>
パッケージ?
\operatornamewithlimits
は、amsopn
(amsmath
によってロードされたパッケージで、単独で使用されることはめったにありません。\underset
のみがwithに対して満足のいく結果をもたらしました(xはargminの下にあり、隣接していません)。回答
\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_{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})
コメント
- これは使用しないでください'これにより、
argmin
はmathord
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は直立します。
\DeclareMathOperator
が 方法です。