我正在尝试创造一颗巨大的蓝色星星。
我不想到处打字{\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}