我如何才能使 $\sigma$ 的大小与大写字母 $\sum$ 的大小相同,并且在 $\sigma$ 孔的中心放置一个符号或字母?

我如何才能使 $\sigma$ 的大小与大写字母 $\sum$ 的大小相同,并且在 $\sigma$ 孔的中心放置一个符号或字母?

我有点太新了,无法弄清楚如何同时制作出如下所示的东西:

\sum_a^b

而是一个\sigma被放大的小写字母,以便我可以在里面写一个小字母。

本质上,我想要的是此图像左侧的内容,右侧是正常的 sigma 求和符号,以供参考其大小。

在此处输入图片描述

答案1

符号的黑色程度并不完全令人满意,但有一个可能的解决方案:

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\newcommand{\sigmaop}[1]{\mathop{\mathpalette\@sigmaop{#1}}\slimits@}
\newcommand{\@sigmaop}[2]{%
  \vphantom{\sum}%
  \sbox\z@{$\m@th#1\sum$}%
  \dimen@=\ht\z@ \advance\dimen@\dp\z@
  \dimen\tw@=\wd\z@
  \ifx#1\displaystyle\dimen@=.9\dimen@\fi
  \ooalign{%
    \hidewidth
    $\vcenter{\hbox{$\m@th#1#2$\kern.3\dimen\tw@}%
     \ifx#1\scriptstyle\kern-.25ex\fi}$\hidewidth\cr
    $\vcenter{\hbox{%
      \resizebox{!}{\dimen@}{$\m@th\sigma$}%
    }\ifx#1\scriptstyle\kern-.25ex\fi}$\cr
  }%
}
\makeatother

\begin{document}
\[
\sigmaop{s}_{i=1}^n \sum_{i=1}^n
\textstyle \sigmaop{s}\limits_{i=1}^n \sum\limits_{i=1}^n
\scriptstyle \sigmaop{s}\limits_{i=1}^n \sum\limits_{i=1}^n
\]
\end{document}

在此处输入图片描述


一些可能的改进,特别是内部符号稍微向下移动,并且当符号在文本样式中使用时它处于脚本样式。

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\newcommand{\sigmaop}[1]{\mathop{\mathpalette\@sigmaop{#1}}\slimits@}
\newcommand{\@sigmaop}[2]{%
  \vphantom{\sum}%
  \sbox\z@{$\m@th#1\sum$}%
  \dimen@=\ht\z@ \advance\dimen@\dp\z@
  \dimen\tw@=\wd\z@
  \ifx#1\displaystyle\dimen@=.9\dimen@\fi
  \ooalign{%
    \hidewidth
    $\vcenter{%
     \vspace{.1\dimen@}%
     \hbox{$\m@th\@demotestyle#1#2$\kern.3\dimen\tw@}%
     \ifx#1\scriptstyle\kern-.25ex\fi}$\hidewidth\cr
    $\vcenter{\hbox{%
      \resizebox{!}{\dimen@}{$\m@th\sigma$}%
    }\ifx#1\scriptstyle\kern-.25ex\fi}$\cr
  }%
}
\newcommand\@demotestyle[1]{%
  \ifx#1\displaystyle
  \else
    \ifx#1\textstyle
      \scriptstyle
    \else
      \scriptscriptstyle
    \fi
  \fi
}
\makeatother

\begin{document}
\[
\sigmaop{s}_{i=1}^n \sum_{i=1}^n
\textstyle \sigmaop{s}\limits_{i=1}^n \sum\limits_{i=1}^n
\scriptstyle \sigmaop{s}\limits_{i=1}^n \sum\limits_{i=1}^n
\]
\[
\sigmaop{t}_{i=1}^n \sum_{i=1}^n
\textstyle \sigmaop{t}\limits_{i=1}^n \sum\limits_{i=1}^n
\scriptstyle \sigmaop{t}\limits_{i=1}^n \sum\limits_{i=1}^n
\]
\[
\sigmaop{g}_{i=1}^n \sum_{i=1}^n
\textstyle \sigmaop{g}\limits_{i=1}^n \sum\limits_{i=1}^n
\scriptstyle \sigmaop{g}\limits_{i=1}^n \sum\limits_{i=1}^n
\]
\end{document}

在此处输入图片描述

答案2

这里有一个可能提供更自然语法的替代方法。我将定义\foo为一个运算符,其中\sigma缩放到与相同的垂直范围\sum。请注意,操作时没有任何插入字母。然后,如果有人希望在里面插入一个字母,\foo我会定义一个辅助宏。按照我定义的方式,普通的下标和上标(使用和)可以无缝地添加到或中,采用任何数学样式。\fooinset{inset}\foo_^\foo\fooinset{}

\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}
\usepackage{scalerel}
\stackMath
\DeclareMathOperator*{\foo}{\scalerel*{\sigma}{\sum}}
\newsavebox{\foobox}
\newcommand\fooinset[1]{\ThisStyle{\savebox\foobox{$\SavedStyle\foo$}%
  \stackinset{c}{-.11\wd\foobox}{c}{-.5\LMpt}{%
  \scaleto{#1}{.6\ht\foobox}}{\phantom{\SavedStyle\foo}}\kern-\wd\foobox\!}\foo}
\begin{document}
\[
\foo_{i=3}^{6}(f^2(i))
\]
\centering This is inline: \(\foo_{i=3}^{6}(f^2(i)) \)
\[
\fooinset{s}_{i=1}^n x\quad
\textstyle\fooinset{t}_{i=1}^n x\quad
\scriptstyle\fooinset{g}_{i=1}^n x\quad
\scriptscriptstyle\fooinset{s}_{i=1}^n x\quad
\]
\[
\sum_{i=1}^n x\quad
\textstyle\sum_{i=1}^n x\quad
\scriptstyle\sum_{i=1}^n x\quad
\scriptscriptstyle\sum_{i=1}^n x\quad
\]
\end{document}

在此处输入图片描述

人们甚至可以做像这样多才多艺的事情:

\[
\fooinset{\frac{x+y}{y}}_{i=1}^n x_i
\]

在此处输入图片描述

相关内容