Hogyan lehet megszerezni az argint vagy az argmaxot a Latexben? Két megoldást találtam:
\underset{x}{\operatorname{argmax}} \DeclareMathOperator*{\argmin}{arg\,min}
Van még ötleted?
[1] http://www.breakthru.altervista.org/?p=27
[2] http://researchonsearch.blogspot.com/2007/05/enter-argmax-argmin-in-latex.html
Megjegyzések
Válasz
Amint Pieter rámutatott, az argmin és az argmax operátorok meghatározásának helyes módja a LaTeX-ben:
\usepackage{amsmath} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\argmin}{arg\,min}
Valójában a csomag elegendő lenne, de a amsmath
belsőleg tölti be, ami egyébként is ajánlott a matematikai betűkészletekhez.
A *
a \DeclareMathOperator*
mezőben az aláhúzott argumentumot a szó alá helyezi, nem pedig annak jobb aljára.
Megjegyzések
- Ha a következőt használja:
\DeclareMathOperator*{\argmin}{\arg\!\min}
, megszabadul aarg
és amin
. - @rbp Miért érdemes a
\arg\min
-t használni, amikor egyszerűenargmin
ugyanezt csinálja? - @egreg neked ‘ igazad van. Ehhez egy másik kísérletezéssel érkeztem, és nem néztem ‘ vissza 🙂
- A ConTeXt-ben ez:
\definemathcommand [argmin] [limop] {\mfunction{arg\,min}}
- Magyarázat: Az arg és min között hagytam a vékony helyet (\,), mert ‘ az volt, ami az eredeti poszterben volt kérdés, ezért feltételeztem, hogy ott akarják a helyet. Személy szerint csak szó nélkül tenném a
\DeclareMathOperator*{\argmin}{argmin}
szót.
Válasz
Összegzés
A folytatásban a LaTeX-et feltételezzük.
Előzetes kérdések
1. Ha egy vékony hely elválasztja az „arg” -ot a „min” -től?
Ez személyes preferencia kérdése. A \limsup
alapértelmezett meghatározása vékony szóközzel rendelkezik, másrészt az „arcsin” szót általában a két komponens közötti szóköz nélkül írják. A következetesség, mint mindig, a kulcsszó: a makródefiníció használata biztosítja ezt, valamint a teljes betűkészlet betűkészletének módosítását is, ha az egyik lehetőségről a másikra kell váltani.
2. Vajon a korlátok a megjelenítési stílus alatt az operátor alatt mennek-e?
Ez is vitatható, és be kell tartani a dokumentum írási területén használt konvenciókat.
3. Az operátornevet függőlegesen kell beállítani?
Határozottan, mint az összes többi operátor / függvény neve, például a szinusz és a koszinusz.
Elérhető eszközök
1. amsmath
A amsmath
preambulumbekezdéssel megteheti
\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
Természetesen ezek közül csak egyet szabad használni. A dokumentumban elegendő a \argmin
beírása, és az operátor körüli távolság megfelelő lesz a matematikai betűkészlet általános szabályai szerint.
A látszólag a másik
\newcommand{\argmin}{\operatornamewithlimits{argmin}}
nem igazán így van, mert lényegében ugyanaz, mint a \DeclareMathOperator*{\argmin}{argmin}
; ráadásul egy elavult parancsot használ, amelynek \operatorname*
kell lennie.
2. Nincs csomag
A következő meghatározások nagyon hasonlítanak a fentiekhez, ugyanabban a sorrendben
\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}}
Ezt is megemlítették a kérdésben és egy válaszban, de ez téves, amint azt a vizuális összehasonlítás is mutatja.
3. Különbségek
A „csomag nélkül” verzió sokkal merevebb, mint a amsmath
verzió, mert ez a csomag meg tudja fogadni a nonamelimits
opció, amely automatikusan megváltoztatja az összes operátort, például \lim
, \max
, amelyek alatt általában korlátozások vannak ( kijelzők), hogy oldalukon legyenek. Ugyanez az opció természetesen az újonnan definiált operátorokra is hat, feltéve, hogy a \DeclareMathOperator*
elemet használták.
Tesztdokumentum
A következő tesztben dokumentum, a javasolt definíciókat vagy konstrukciókat összehasonlítják.
\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}
Eredmények
Az előrejelzéseknek megfelelően sok sor ugyanazt írja be. A \mathop
mezővel definiált makrók azonban nem fogják betartani az nonamelimits
beállítást. A \argminD
eredménye is egyértelműen téves, mivel a határérték a „max” alatt van, és nem a teljes operátor neve alatt van.
A \underset
betűvel való szerkesztés hibás, mert nem használja a megfelelő távolságot az operátor után: egy vékony hely követi az összes másikat, és ez a helyes módszer a gépelésre . Hasonlítsa össze a \sin x
és a \mathrm{sin}x
elemeket, hogy ezt a vékony helyet más kontextusban láthassa.
Ne feledje, hogy \argminC
és \argminA
ugyanazt az eredményt adja, valamint \argminD
és \argminB
. Magyarázat: \arg
és \max
már operátorként van meghatározva, így a TeX vékony helyet szúr be, ha az egyik közvetlenül követi a másikat. A \argminC
vagy a \argminD
használatával a TeX csak egy kicsit jobban megpörgeti a kerekeit, és semmi előnye nincs a \argminA
vagy \argminB
.
Megjegyzések
- Ez legyen az elfogadott válasz.
- Isn ‘ t
\newcommand{\argmin}{\operatornamewithlimits{argmin}}
annyiban különbözik, hogy ‘ nem használja aamsmath
csomag? - @HomeroEsmeraldo
\operatornamewithlimits
egy elavult parancs, amelyet aamsopn
(aamsmath
által feltöltött, önmagában ritkán használt csomag). - Köszönöm. Valamilyen oknál fogva csak
\underset
adott kielégítő eredményt (with x argin alatt van, nem mellette). - mi a helyzet a Jupyter működésével? ?
Válasz
A \newcommand{\argmin}{\operatornamewithlimits{argmin}}
.
Hozzászólások
- +1 tetszik – miért bonyolítom túl a dolgokat? Ez pontosan ugyanúgy néz ki, mint a
\DeclareMathOperator*
válasz. - Ez ” argmin . Az ” arg min ” (vitathatatlanul a legáltalánosabb jelölés) megszerzéséhez állítsa
{arg\,min}
. - A Google 669 000 választ adott ” arg min ” és 520 000 választ a argmin “, ezért én ‘ döntetlennek nevezem. 😉
- ez valóban működik …? hiányzik az importálási utasítás?
- A Google Tudós 171 000-et kapott ” arg min ” és 116 000-et ” argmin “.
Válasz
Használja a \usepackage{amsmath}
szót, majd:
\operatorname*{argmin}_\theta f(x)
Vagy hasonlóan (szóköz hozzáadásához),
\operatorname*{arg\,max}_\theta f(x)
Megjegyzések
- tömör és lényegre törő!
Válasz
Csak egy másik alternatíva (bizonyos értelemben a gyengébb megoldás, lásd az alábbi megjegyzést) lehet a \argmin
meghatározása \min
és \arg
parancsokat.
\newcommand{\argmin}{\arg\!\min}
Ily módon 1) \argmin
ugyanúgy fog viselkedni mindig mint \min
, 2) nincs szüksége amsmath
vagy a \operator...
parancsokra van szüksége 3) igen, a változó nem középre (a min
részben van középre állítva ), de ez lehet akár az is, amire vágysz (mivel ugyanúgy van középre állítva a \min
, a \arg
nem “csökkenti tovább az alulértékelést”.
\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}
Megjegyzések
- Ez nem ‘ nem tűnik jó ötletnek. A
\argmin_{x\in X\cap Y} f(x)
teljesen meg fogja bontani. - Amire való a
\arg
parancs? - @ThomasAhle,
arg
az argumentumfüggvény (az összetett sík szöge, $ z = | z | e ^ {i \ arg z} $. A tohecz egyébként igaz. - @ bojkott.se-yo ‘, jó pont.
Válasz
vagy használhatja az aláhúzás parancsot. Például:
R = \underset{n} {\mathrm{argmax}} ~P(L_n|\mathbf{x})
Megjegyzések
- Kérjük, ne használja ‘ ezt. Ez
argmin
amathord
helyettmathop
, és a térköz helytelen. Ráadásul ez nem fogja automatikusan beállítani a határértékeket inline matematikai módban.
Válasz
A következőt használnám: \mathop
és \mathrm
, és végül \limits
vagy \nolimits
, a kívánt viselkedéstől függően, ha a következőt használjuk: _
és ^
. Lásd alább.
\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}
Válasz
Ez minden további csomag nélkül működik. Azonban létrehoz egy új sort.
$$\pi(s) = arg\max_\theta$$
Megjegyzések
-
$$...$$
nem ajánlott a LaTeX-hez. Jobb a\[ ... \]
használata a helyes függőleges térköz érdekében. - Ez a megoldás nem írja be megfelelően az argmaxot. Itt az arg dőlt betűvel (és rossz távolságokkal) lesz, a max pedig függőleges.
\DeclareMathOperator
ebben az esetben a út.