正确排版带有下划线参数运算符和双下标/上标的单行公式

正确排版带有下划线参数运算符和双下标/上标的单行公式

当用作 argmin/min/max 运算符的下划线参数时,我对嵌套下标/上标的布局遇到了一些麻烦。

我将 \argmin{} 运算符定义为:

\DeclareMathOperator*{\argmin}{arg\,min}

然后在里面使用:

\[\bm \theta_c^p \coloneqq  \adjustlimits\argmin_{\bm \theta_c \in \mathbb{R}^{n_{p} } }  \max_{\bm \theta \in \mathcal{D}_{\bm \theta}} \left\| \bm \theta - \bm \theta_c \right\|_p \]

为了得到:

在此处输入图片描述

我的问题是实际输出并不完全令人满意,主要是因为“n”的下标“p”的大小错误:它们都是 scriptscriptstyle,所以它们的大小相同,导致布局非常奇怪。我已经尝试过操纵尺寸,但毫无效果,即使使用 \scalebox 也是如此。

哪一个可以简单而干净地解决这个问题?

编辑:我删除了问题中重复的部分,其余问题与相邻运算符的“高度问题”完全不同(由于使用了 \adjustlimits,它不再是问题)

答案1

您可以使用一个技巧来获得较小的下标:

\RequirePackage{fix-cm}
\documentclass{article}
\usepackage{mathtools,amssymb}
\usepackage{bm}

\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathSizes{5}{5}{4}{4}


\begin{document}

\[
\bm{\theta}_c^p \coloneqq
\adjustlimits\argmin_{\bm{\theta}_c \in \mathbb{R}^{n_{p}}}
             \max_{\bm{\theta} \in \mathcal{D}_{\bm \theta}}
             \lVert\bm{\theta} - \bm \theta_c \rVert_p
\]
\[
\bm{\theta}_c^p \coloneqq
\adjustlimits\argmin_{\bm{\theta}_c \in \mathbb{R}^{\text{$n_{p}$}}}
             \max_{\bm{\theta} \in \mathcal{D}_{\bm \theta}}
             \lVert\bm{\theta} - \bm \theta_c \rVert_p
\]

\end{document}

在此处输入图片描述

另一方面,不建议在同一个公式中使用具有两种不同含义的符号。

答案2

扩展我的评论,你应该记住,你不一定必须把\max\min或...的定义域的规范作为单词的下标,但可以使用集合符号来代替,例如

\max \{ (x-3) : x \in [-1,1] \}

而不是 `\max_{x\in [-1,1]} (x-3)。当域规范很长和/或涉及许多级别的下标/上标时,这尤其合适。在您的例子中,您可以将该技术应用于外部 argmin:

示例输出

\documentclass{article}

\usepackage{mathtools,amssymb,bm}

\DeclareMathOperator*{\argmin}{arg\,min}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}

\newcommand{\btheta}{\bm \theta}

\begin{document}

\begin{equation*}
  \btheta_c^p \coloneqq
  \argmin
  \Bigl\{
    \max_{\btheta \in \mathcal{D}_{\btheta}} \norm{\btheta - \btheta_c}_p
    : \btheta_c \in \mathbb{R}^{n_{p} }
  \Bigr\}
\end{equation*}

\end{document}

相关内容