带参数的求和符号运算符

带参数的求和符号运算符

我需要一个带有参数的求和符号,该参数应该是一个运算符,因此它允许例如使用\limits

到目前为止,我已经为每个参数编写了一个:

\DeclareMathOperator*{\sumP}{\scalerel*{\Sigma}{\sum}^{\mathit P}}
\DeclareMathOperator*{\sumT}{\scalerel*{\Sigma}{\sum}^{\mathit T}}
\DeclareMathOperator*{\sumPT}{\scalerel*{\Sigma}{\sum}^{\mathit{PT}}}

但我需要更多参数。是否可以编写类似的代码, \newcommand\sumparameter[1]{\sum^{#1}}使其成为数学运算符?

以下是完整最小示例:

\documentclass{article}
\usepackage{scalerel}
\usepackage{amsmath}

\DeclareMathOperator*{\sumP}{\scalerel*{\Sigma}{\sum}^{\mathit P}}
\DeclareMathOperator*{\sumT}{\scalerel*{\Sigma}{\sum}^{\mathit T}}
\DeclareMathOperator*{\sumPT}{\scalerel*{\Sigma}{\sum}^{\mathit{PT}}}
\DeclareMathOperator*{\sumPTT}{\scalerel*{\Sigma}{\sum}^{\mathit{PTT}}}

\begin{document}
\[
  \sumP_{i=1}^n X_i
\]
\[
  \sumT_{i=1}^n X_i
\]
\(\sumPTT\limits_{i=1}^n X_i\)
\end{document}

答案1

为了正确设置限制,我将使用\sideset来自amsmath

\documentclass{article}

\usepackage{amsmath}

\newcommand{\sumparameterA}[1]{\sideset{}{^{#1}}\sum}
\newcommand{\sumparameterB}[1]{\sideset{}{^{\smash{#1}}}\sum}

\begin{document}
\begin{gather*}
\sumparameterA{P}_{i=1}^n X_i \quad\sumparameterA{T}_{i=1}^n X_i \quad\sumparameterA{PTT}_{i=1}^n X_i
\\
\sumparameterB{P}_{i=1}^n X_i \quad\sumparameterB{T}_{i=1}^n X_i \quad\sumparameterB{PTT}_{i=1}^n X_i
\end{gather*}
\end{document}

在此处输入图片描述

顶部版本避免了与长上限发生冲突,但在我看来,底部版本与短上限看起来更好。

相关内容