数学运算符中的字体

数学运算符中的字体

我想\min通过下标扩展该函数。定义如下

\newcommand{\smoothmin}[1]{\operatorname*{min_{{#1}}}}

但是 的字体 和下标的字体不一样。我也试过#1\[ \smoothmin{P,0}_{i=0,\dots,n} \]

\newcommand{\smoothmin}[1]{\operatorname*{min_{\mathnormal{#1}}}}

但这没有帮助。

定义函数使两个下标采用相同字体的正确方法是什么?

答案1

\operatorname不是适合这项工作的工具。你可以

\newcommand{\smoothmin}[1]{%
  \operatorname*{min_{\mathgroup=-1 #1}}%
}

但输入如\smoothmin{P,-1}_{i=0,1,\dots,n}会产生

在此处输入图片描述

因为在 的参数中减号变成了连字符\operatorname*

使固定:

\documentclass{article}
\usepackage{amsmath}

\newcommand{\smoothmin}[1]{\mathop{\min\nolimits_{#1}}}

\begin{document}

\[
\smoothmin{P,0}_{i=0,\dots,n}
\]

\end{document}

在此处输入图片描述

关于在内联公式中也可以使用它的建议:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\NewDocumentCommand{\smoothmin}{me{_}}{%
  \mathop{\mathpalette\smoothmin@{{#1}{#2}}}%
}
\NewDocumentCommand{\smoothmin@}{mm}{\smoothmin@@#1#2}
\NewDocumentCommand{\smoothmin@@}{mmm}{%
  % #1 = math style, #2 = subscript, #3 = optional condition
  \ifx#1\displaystyle
    \mathop{\min\nolimits_{#2}}\IfValueT{#3}{_{#3}}%
  \else
    \min_{#2\IfValueT{#3}{;\,#3}}%
  \fi
}
\makeatother

\begin{document}

\[
\smoothmin{P,0}_{i=0,\dots,n}a_i
\]
\begin{center}
$\smoothmin{P,0}_{i=0,\dots,n}a_i$
\end{center}

\end{document}

在此处输入图片描述

相关内容