为什么这个 DeclareMathOperator 会给出错误?

为什么这个 DeclareMathOperator 会给出错误?

我正在尝试创造一颗巨大的蓝色星星。

我不想到处打字{\Large \textcolor{blue}{$\star$}},所以我用

 \DeclareMathOperator{\Star}{{\Large \textcolor{blue}{$\star$} \thinspace }}

但是当我使用时\Star,到处都收到缺少$插入、缺少}插入等信息。

是什么赋予了?

答案1

您会收到错误,因为当在数学模式下使用该命令时,$数学运算将结束,但是您也会收到单独的警告,因为您无法\Large在数学模式下使用大小命令。您可以使用

 \DeclareMathOperator{\Star}{{\text{\Large \textcolor{blue}{$\star$} \thinspace }}}

虽然这\Large会阻止运算符的下标变得更小。

根据实际使用情况,最好使用带有较大星号的字体,而不是在这里使用大小命令。

答案2

诸如 之类的命令\Large不能在数学模式下使用。此外 的第二个参数\DeclareMathOperator将在数学模式下使用,因此$不允许在其中使用。

我猜你想用大蓝星作为求和符号。然后https://tex.stackexchange.com/a/23436/4427可以前来救援。

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

\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{\Star}{\DOTSB\bigop{\mathcolor{blue!90}{\star}}}

\begin{document}

\[
\Star_{i=1}^n f(i) = \sum_{i=1}^n g(i)
\]
\begin{center}% just for a smaller picture
$\Star_{i=1}^n  = \sum_{i=1}^n g(i)$ \\[2ex]
$ X_{\Star_{i=1}^n f(i)} = X_{\sum_{i=1}^n g(i)}$
\end{center}

\end{document}

您会看到符号正确地改变了大小,如下所示\sum

在此处输入图片描述

答案3

您可以使用scalerel包将蓝色星星缩放到以下大小\sum

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,scalerel,xcolor}

\DeclareMathOperator*{\Star}{\scalerel*{\textcolor{blue}\star}{\sum}}

\begin{document}

Display: $\displaystyle{\Star_{n=1}^{\infty} a_n}$
Inline: $\Star_{n=1}^{\infty} a_n$.
Scripts: $A_{\Star_{\Star}}$

\end{document}

答案4

如果\Star是数学运算符,我认为该符号应该垂直居中在数学轴上,而不是放在基线上。这可以通过指令实现\vcenter。并且,为了放大星号,我建议您加载包graphicx并使用其\scalebox宏。在下面的示例中,缩放因子设置为 3;您显然可以自由使用其他值。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}  % for \DeclareMathOperator macro
\usepackage{graphicx} % for \scalebox macro
\usepackage{xcolor}   % for \mathcolor macro
\DeclareMathOperator{\Star}{\vcenter{\hbox{%
    \scalebox{3}{$\mathcolor{blue}{\star}$}}}}

\begin{document}
$\star-\Star-\star$
\end{document}

相关内容