我有点太新了,无法弄清楚如何同时制作出如下所示的东西:
\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
\]