一个更好的期望运算符,可以很好地与底线配合?

一个更好的期望运算符,可以很好地与底线配合?

我想定义一个期望运算符,其作用如下\iint:我希望它在限制下表现良好,我希望它默认将文本放在右侧,但在限制下\limits,将其放在下方。以下是不起作用和起作用的方法的示例。

在此处输入图片描述

最后一行是我想要的结果,但是是手动完成的。我该如何自动完成呢?

生成该代码的代码如下。

\documentclass[preview]{standalone}
\usepackage{amsmath}
\DeclareMathOperator*{\E}{\bf E}
\DeclareMathOperator{\EE}{\bf E}
\newcommand{\EEE}{\mathop{{\bf E}}}
\begin{document}
\[
\iint_{R} f(x, y)\, dx dy \qquad \mbox{versus} \qquad \iint\limits_{R} f(x, y) \, dx dy
\]
\[
\E_{R} f(X, Y) \qquad \mbox{versus} \qquad \E\limits_{R} f(X, Y)
\]
\[
\EE_{R} f(X, Y) \qquad \mbox{versus} \qquad \EE\limits_{R} f(X, Y)
\]
\[
\EEE_{R} f(X, Y) \qquad \mbox{versus} \qquad \EEE\limits_{R} f(X, Y)
\]
desired result (but less ad-hoc)
\[
\mathbf{E}_{R} f(X, Y) \qquad \mbox{versus} \qquad \underset{R}{\mathbf{E}}~f(X, Y)
\]
\end{document}

答案1

\int您可以使用以下模型:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\E}{\operatorname*{\mathbf{E}}\ilimits@}
\makeatother

\begin{document}

\[
\iint_{R} f(x, y)\, dx \, dy \qquad \text{versus} \qquad \iint\limits_{R} f(x, y) \, dx \, dy
\]
\[
\E_{R} f(X, Y) \qquad \text{versus} \qquad \E\limits_{R} f(X, Y)
\]

\end{document}

使用\ilimits@将使命令intlimits像 一样遵循选项\int

\nolimits如果\ilimits@您不想这样,请使用。

在此处输入图片描述

答案2

由于某种原因,\DeclareMathOperator不会对 做出反应\limits。然而,\DeclareMathOperator* 将要做出反应\nolimits。因此这应该会给你想要的结果:

\DeclareMathOperator*{\E}{{}\bf E}

\[
\E\nolimits_{R} f(X, Y) \qquad \mbox{versus} \qquad \E_{R} f(X, Y)
\]

由于技术原因,我无法显示输出。(自从从 AMS 退休后,我就无法访问我以前的所有资源,而且还没有重建一个可以运行的系统。)

定义中的{}旨在抵消单个字符作为运算符在数学轴上的垂直居中的默认定位。这是默认设置(在 TeXbook 的附录 G 中指定),以便正确定位诸如\sum、等运算符。\int

未加星标的用户无法\DeclareMathOperator做出反应\limits似乎不太合理,因此我将请求在 的未来版本中实现该功能amsopn

更新。 有人敦促我查看 中的文档amsopn.dtx,但我发现那里\limits故意隐藏了 ,正如 @egreg 指出的那样。因此,我撤回了将其公开的建议。

答案3

你的第一个操作符以另一种方式工作:

\documentclass[preview]{standalone}

\usepackage{amsmath}
\DeclareMathOperator*{\E}{\mathbf E}
\DeclareMathOperator{\EE}{\mathbf E}
\newcommand{\EEE}{\mathop{{\mathbf E}}}

\begin{document}
\[
\iint_{R} f(x, y)\, dx dy \qquad \mbox{versus} \qquad \iint\limits_{R} f(x, y) \, dx dy
\]
\[
\E_{R} f(X, Y) \qquad \mbox{versus} \qquad \E\nolimits_{R} f(X, Y)
\]

\end{document} 

在此处输入图片描述

答案4

您可以\nolimits在运算符定义后指定:

\documentclass[preview]{standalone}

\usepackage{amsmath}

\newcommand\EE{\mathop{{}\mathbf{E}}\nolimits}

\begin{document}

\[ \EE_R F \text{ versus } \EE\limits_R F \]

\end{document}

您可以在 TeXBook 第 17 章的双重危险曲线部分找到对此的提示:“如果您说\nolimits\limits(大概是因为某些宏\int指定了\nolimits,但您确实想要它们),那么最后一个词优先。 ”

正如您所发现的,运算符的默认行为是\displaylimits

(遵循 egreg 的评论:{}\mathbf{E}确保正确的垂直对齐。)

相关内容