如何调整自定义多个产品标志

如何调整自定义多个产品标志

下面的乳胶代码可以产生多个产品标志:

\documentclass{article}
\usepackage{amssymb,amsmath,graphicx,color}

\newcommand{\invcircledast}{%
\mathbin{\vphantom{\circledast}\text{%
\ooalign{\smash{\blackcircle}\cr
         \hidewidth\smash{\textcolor{white}{$*$}}\hidewidth\cr
        }%
}}%
}
\newcommand{\blackcircle}{\raisebox{-.4ex}{\scalebox{1.66}{$\bullet$}}}

\makeatletter
\newcommand\bigCircledast{\mathop{\mathpalette\b@gCircledast\relax}}
\newcommand\b@gCircledast[2]{%
\vcenter{\hbox{\m@th
\scalebox{\ifx#1\displaystyle 2.3\else1.2\fi}{$#1\circledast$}%
}}%
}
\newcommand\bigInvcircledast{\mathop{\mathpalette\b@gInvcircledast\relax}}
\newcommand\b@gInvcircledast[2]{%
\vcenter{\hbox{\m@th
\scalebox{\ifx#1\displaystyle 2.3\else1.2\fi}{$#1\invcircledast$}%
}}%
}
\makeatother

\begin{document}
\[
\bigoplus_{i=1}^n % just for comparison
\bigCircledast_{i=1}^n % just for comparison
\bigInvcircledast_{i=1}^n (a_i\invcircledast b_i)
\]
\end{document}

在此处输入图片描述

我现在的问题是如何调整乘积符号\bigCircledast\bigInvcircledast使得磁盘具有与的大小相同,\bigoplus并且下标和上标分别与的下标或上标位于同一行\bigoplus

还比较以下问题和答案相反的产品标志,即黑色和白色互换填充\钻石产品标志

上述代码中使用的大部分想法都来自埃格尔。另请参阅上面的链接。

答案1

这个问题有一个解决办法: 在此处输入图片描述 本质上我\vcenter{\hbox{\rule{0pt}{16pt}}}在命令定义末尾添加了。这个解决方案的缺点是它依赖于字体大小。例如,如果使用 来\Huge放大字体大小,则需要将 的高度\rule调整为40pt

本解决方案的全部代码如下:

\documentclass{article}
\usepackage{amssymb,amsmath,graphicx,color}

\newcommand{\invcircledast}{%
\mathbin{\vphantom{\circledast}\text{%
\ooalign{\smash{\blackcircle}\cr
         \hidewidth\smash{\textcolor{white}{$*$}}\hidewidth\cr
        }%
}}%
}
\newcommand{\blackcircle}{\raisebox{-.4ex}{\scalebox{1.66}{$\bullet$}}}

\makeatletter
\newcommand\bigCircledast{\mathop{\mathpalette\b@gCircledast\relax}}
\newcommand\b@gCircledast[2]{%
\vcenter{\hbox{\m@th
\scalebox{\ifx#1\displaystyle 2.1\else1.2\fi}{$#1\circledast$}%
}}\vcenter{\hbox{\rule{0pt}{16pt}}}%
}
\newcommand\bigInvcircledast{\mathop{\mathpalette\b@gInvcircledast\relax}}
\newcommand\b@gInvcircledast[2]{%
\vcenter{\hbox{\m@th
\scalebox{\ifx#1\displaystyle 2.1\else1.2\fi}{$#1\invcircledast$}%
}}\vcenter{\hbox{\rule{0pt}{16pt}}}%
}
\makeatother

\begin{document}%\Huge
\[
\bigoplus_{i=1}^n % just for comparison
\bigCircledast_{i=1}^n
\bigInvcircledast_{i=1}^n (a_i\invcircledast b_i)
\]
\end{document}

相关内容