\otimes
有什么好方法可以在和的大小之间获得 O 倍\bigotimes
?我应该补充一点,我希望它充当数学运算符,如\bigotimes
(以便我可以在其下方使用下标。)
我设法通过
\DeclareMathOperator*{\Motimes}{\raisebox{-0.25ex}{\scalebox{1.2}{$\bigotimes$}}}
使用这里的一种方法来获得它:
数学模式中的中等点
我想知道是否有更好的方法?
答案1
通过你的声明,你会得到一个符号大比\bigotimes
...
假设你真的想要一个大小之间的符号\otimes
,\bigotimes
你可以将其声明为
\DeclareMathOperator*{\Motimes}{\text{\raisebox{0.25ex}{\scalebox{0.8}{$\bigotimes$}}}}
以下 MWE 显示了它与\bigotimes
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\DeclareMathOperator*{\Motimes}{\text{\raisebox{0.25ex}{\scalebox{0.8}{$\bigotimes$}}}}
\begin{document}
\[
\bigotimes_{i=1}^{k}V_i \qquad A \bigotimes B_{A \bigotimes B_{A \bigotimes B}}
\]
\bigskip
\[
\Motimes_{i=1}^{k}V_i \qquad A\Motimes B_{A \Motimes B_{A \Motimes B}}
\]
\end{document}
输出:
答案2
你可以做
\newcommand{\sbigotimes}{%
\mathop{\mathchoice{\textstyle\bigotimes}{\bigotimes}{\bigotimes}{\bigotimes}}%
}
和
\[
\sbigotimes_{i=1}^n A_i\otimes B
\]
会产生
与原文进行比较(与\bigotimes
)
我建议使用“抽象”版本:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\makesmalleroperator}[1]{%
\expandafter\let\csname saved\string#1\endcsname#1% save the old command
\def#1{\mathop{\small@mathchoice#1}}% redefine it
}
\def\small@mathchoice#1{%
\mathchoice{\textstyle\@nameuse{saved\string#1}}%
{\@nameuse{saved\string#1}}%
{\@nameuse{saved\string#1}}%
{\@nameuse{saved\string#1}}%
}
\makeatother
% now we declare what operators should be treated like this
\makesmalleroperator\bigotimes
\begin{document}
\[
\bigotimes_{i=1}^n A_i\otimes B
\]
\end{document}
这将产生与上面相同的结果\sbigotimes
。有什么优点?
您可以对 以及所有需要的操作符执行相同操作
\bigvee
,\bigwedge
每个操作符只占一行。您可以使用普通名称;如果您改变主意或必须将文档提交到某处,您可以简单地删除定义和对
\makesmalleroperator
与显示数学相同的尺寸将用于内联使用。