概括

概括

如何在 Latex 中获取 argmin 或 argmax?我找到了两个解决方案:

\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

答案1

正如 Pieter 指出的那样,在 LaTeX 中定义 argmin 和 argmax 运算符的正确方法是:

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

实际上,使用该amsopn包就足够了,但它是amsmath内部加载的,无论如何都建议用于数学排版。

*\DeclareMathOperator*下划线的论点放在单词下面,而不是单词的右下角。

答案2

概括

在后续文章中,我们假设使用 LaTeX。

初步问题

1. “arg” 和 “min” 之间是否应该用一个细空格隔开?

这是个人喜好问题。 的默认定义\limsup有一个很窄的空格,而“arcsin”通常在两个部分之间没有空格。 一致性始终是关键词:使用宏定义可以确保一致性,并且如果需要从一个选项切换到另一个选项,还可以轻松修改整个文档的排版。

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

当然,只能使用其中一种。在文档中输入即可\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}}

问题和一个答案中也提到了这一点,但这是错误的,从视觉比较就可以看出。

3. 差异

“无包”版本比版本要严格得多amsmath,因为这个包可以接收nonamelimits会自动更改的选项,全部诸如 之类的运算符\lim\max通常在下方(在显示中)有限制,以便将它们放在侧面。当然,相同的选项也会对新定义的运算符起作用,前提是\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”下面,而不是整个运算符名称下面。

构造 with\underset是错误的,因为它不会在操作符后使用正确的间距:所有其他空格后面都有一个细空格,这是正确的排版方式。比较\sin x\mathrm{sin}x以在不同的上下文中查看这个细空格。

请注意\argminC\argminA给出的结果相同, 和 也是如此\argminD\argminB解释:\arg\max已经定义为运算符,因此如果一个运算符紧跟另一个运算符,TeX 会插入一个细小的空格。使用\argminC\argminD只会让 TeX 更加吃力,与\argminA或相比没有任何优势\argminB

答案3

使用\usepackage{amsmath}然后:

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

在此处输入图片描述

或者类似地(添加空格),

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

在此处输入图片描述

答案4

另一种选择(在某种意义上是较差的解决方案,请参阅下面的评论)可能是\argmin根据\min\arg命令来定义。

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

通过这种方式,1)的\argmin行为将始终与 相同\min,2)不需要amsmath或关心\operator...命令 3)是的,变量不在中心(它位于min部分的中心),但这也可能是您想要的(因为它以与 a 相同的方式居中\min,并且中的“g”\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}

精氨酸

相关内容