如何调整 \Sum 和 \Prod 命令的大小

如何调整 \Sum 和 \Prod 命令的大小

我想让\sum\prod符号比通常略小一些。有几个相关问题,但没有一个能完全满足我的需要。我不希望它们像\scriptsize或更小;此外,我希望 textstyle 和 displaystyle 中的限制与原来一样(即,在数学模式下上下;在内联时在 $\sum$ 和 $\prod$ 旁边)。我尝试了很多方法,但都无法得到我想要的。一个(我承认相当无用的)MWE 将是:

\documentclass{article}
\let\oldsum\sum
\renewcommand{\sum}{\oldsum}

\let\oldprod\prod
\renewcommand{\prod}{\oldprod}

\begin{document}
\begin{equation}
\sum \prod
\end{equation}
\end{document}

我怎样才能调整 sum 和 prod 的大小并保持其通常的限制?提前感谢大家的时间。

答案1

以下是兼容的解决方案amsmath

\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}

\makeatletter
\newcommand{\changeoperator}[1]{%
  \csletcs{#1@saved}{#1@}%
  \csdef{#1@}{\changed@operator{#1}}%
}
\newcommand{\changed@operator}[1]{%
  \mathop{%
    \mathchoice{\textstyle\csuse{#1@saved}}
               {\csuse{#1@saved}}
               {\csuse{#1@saved}}
               {\csuse{#1@saved}}%
  }%
}
\makeatother

\changeoperator{sum}
\changeoperator{prod}

\begin{document}

Display style: $\displaystyle \sum_{k=1}^n a_k+\prod_{k=1}^n b_k$

\bigskip

Text style: $\sum_{k=1}^n a_k+\prod_{k=1}^n b_k$

\bigskip

Script style: $\scriptstyle \sum_{k=1}^n a_k+\prod_{k=1}^n b_k$

\bigskip

Scriptscript style: $\scriptscriptstyle \sum_{k=1}^n a_k+\prod_{k=1}^n b_k$

\end{document}

在此处输入图片描述

相关内容