将下标放在数学运算符及其后面的符号下面

将下标放在数学运算符及其后面的符号下面

我正在处理统计方程,其中包含相当长表达式的期望。为了显示这些方程而不出现太多换行符,我想将下标放在运算符及其参数下方。

普通下标

\newcommand{\E}[3][]{\mathbb{\operatorname{E}}_{#2}#1[#3#1]}
\E{q(s_{t-1} \mid o_{\leq t},a_{<t})}{p(s_t \mid s_{t-1},a_{t-1})}

下方下标

相关问题描述了如何使用\mathop{}将下标放在运算符下方。但是,运算符周围的空间太大,占用了太多空间。

\newcommand{\E}[3][]{\mathop{\mathbb{E}}_{#2}#1[#3#1]}
\E{q(s_{t-1} \mid o_{\leq t},a_{<t})}{p(s_t \mid s_{t-1},a_{t-1})}

我也发现了这个相关问题关于左对齐下标,但它仍然在运算符的右侧引入了大量空间。

期望的结果

下面是我希望下标如何表现的示例。它应该在运算符下方左对齐,而不会在运算符右侧创建额外的间距。

答案1

基于这个最近的答案,我建议

\documentclass{article}
\usepackage{amsfonts}
\usepackage{mathtools}
\newlength\mywdE
\newcommand{\E}[3][]{\settowidth\mywdE{$\mathbb{E}$}
\mathop{\mathbb{E}}_{\mathmakebox[0.5\mywdE][l]{#2}}#1[#3#1]}
%
\begin{document}
\[\E{q(s_{t-1} \mid o_{\leq t},a_{<t})}{p(s_t \mid s_{t-1},a_{t-1})}\]
\end{document}

enter image description here

例如,您可以使用\vphantom将下标向下移动。

\documentclass{article}
\usepackage{amsfonts}
\usepackage{mathtools}
\newlength\mywdE
\newcommand{\E}[3][]{\settowidth\mywdE{$\mathbb{E}$}
\mathop{\mathbb{E}}_{\vphantom{|^|}\mathmakebox[0.5\mywdE][l]{#2}}#1[#3#1]}
%
\begin{document}
\[\E{q(s_{t-1} \mid o_{\leq t},a_{<t})}{p(s_t \mid s_{t-1},a_{t-1})}\]
\end{document}

enter image description here

相关内容