如何创建自己的具有限制的数学运算符?

如何创建自己的具有限制的数学运算符?

我如何编写自己的带限制的数学运算符?我希望它看起来像: \sum\limits_{e=1}^{m} 但用大写字母 A(如果可能的话,比正常文本大)代替总和。谢谢您的帮助!

答案1

使用包\DeclareMathOperator*提供的命令amsmath。例如:

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\Aop}{A}
\begin{document}
\[ \Aop^a_b \]
\end{document}

答案2

我们可以将符号缩放到总和的高度加深度,然后相对于公式轴垂直居中。

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

\makeatletter
\DeclareRobustCommand\bigop[1]{%
  \mathop{\vphantom{\sum}\mathpalette\bigop@{#1}}\slimits@
}
\newcommand{\bigop@}[2]{%
  \vcenter{%
    \sbox\z@{$#1\sum$}%
    \hbox{\resizebox{\ifx#1\displaystyle.9\fi\dimexpr\ht\z@+\dp\z@}{!}{$\m@th#2$}}%
  }%
}
\makeatother

\newcommand{\bigstar}{\DOTSB\bigop{\star}}
\newcommand{\bigA}{\DOTSB\bigop{\mathrm{A}}}

\begin{document}
\[
\sum_{i=1}^n\bigA_{i=1}^n x_i\dots\bigstar_{i=1}^n x_i
\qquad
\textstyle
\sum\bigA\bigstar_{i=1}^n x_i
\qquad
\scriptstyle
\sum\bigA\bigstar_{i=1}^n x_i
\qquad
\scriptscriptstyle
\sum\bigA\bigstar_{i=1}^n x_i
\]
\end{document}

在此处输入图片描述

一个更简单但可扩展的版本(它不能在

\newcommand{\opA}{\mathop{\vphantom{\sum}\mathchoice
  {\vcenter{\hbox{\huge A}}}
  {\vcenter{\hbox{\Large A}}}{\mathrm{A}}{\mathrm{A}}}\displaylimits}

这样,“A”就会和\sum符号一样大。

在此处输入图片描述

增强版本,其中可以为显示样式中的大符号指定校正因子,因为不同的符号似乎需要不同的因子。

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

\makeatletter
\DeclareRobustCommand\bigop[2][1]{%
  \mathop{\vphantom{\sum}\mathpalette\bigop@{{#1}{#2}}}\slimits@
}
\newcommand{\bigop@}[2]{\bigop@@#1#2}
\newcommand{\bigop@@}[3]{%
  \vcenter{%
    \sbox\z@{$#1\sum$}%
    \hbox{\resizebox{\ifx#1\displaystyle#2\fi\dimexpr\ht\z@+\dp\z@}{!}{$\m@th#3$}}%
  }%
}
\makeatother

\newcommand{\bigstar}{\DOTSB\bigop{\star}}
\newcommand{\bigA}{\DOTSB\bigop[0.92]{\mathrm{A}}}
\newcommand{\bigDelta}{\DOTSB\bigop[1.05]{\Delta}}

\begin{document}
\[
\sum_{i=1}^n\bigA_{i=1}^n\bigDelta_{i=1}^n x_i\dots\bigstar_{i=1}^n x_i
\]
\begin{center}
$\textstyle
\sum \bigA \bigstar \bigDelta_{i=1}^n x_i
\qquad
\scriptstyle
\sum \bigA \bigstar \bigDelta_{i=1}^n x_i
\qquad
\scriptscriptstyle
\sum \bigA \bigstar \bigDelta_{i=1}^n x_i
$
\end{center}
\end{document}

在此处输入图片描述

答案3

\documentclass{article}
\usepackage{amsmath}
\def\Aop{\operatornamewithlimits{%
  \mathchoice{\vcenter{\hbox{\huge A}}}
             {\vcenter{\hbox{\Large A}}}
             {\mathrm{A}}
             {\mathrm{A}}}}
\begin{document}

\[ \Aop^a_b \sum_a^b \]

$ \Aop^a_b \sum_a^b $

\end{document}

在此处输入图片描述

答案4

egreg 的答案很好,但对于现有的数学符号来说效果不佳。我建议以下内容:

\newcommand{\operator}[1]{\mathop{\vphantom{\sum}\mathchoice
{\vcenter{\hbox{\huge $#1$}}}
{\vcenter{\hbox{\Large $#1$}}}{#1}{#1}}\displaylimits}

要定义运算符“A”,您现在可以输入

\newcommand{\opA}{\operator{\mathrm{A}}}

但你也可以定义一个运算符 Theta:

\newcommand{\opTheta}{\operator{\Theta}}

只需记住,在传递给的参数中\operator,您处于数学模式。

相关内容