我将符号\otimes用作一元运算符,它的垂直对齐对我来说似乎不合适。它想坐在基线以下。例如,如果我定义\newcommand{\myop}{\ensuremath \otimes},则$\myop I$变为

latex - LaTeX中数学符号的垂直放置-LMLPHP


然后$F_{\myop I}$变成

latex - LaTeX中数学符号的垂直放置-LMLPHP

我尝试使用\raisebox修复此问题,例如,

\newcommand{\myop}{\ensuremath \raisebox{1pt}{$\otimes$}}

这修复了$\myop I$:

latex - LaTeX中数学符号的垂直放置-LMLPHP

但是\raisebox似乎对下标不敏感。运算符保持不变,而周围的所有内容都缩小了:

latex - LaTeX中数学符号的垂直放置-LMLPHP

我认为问题在于\raisebox创建了自己的LR框,该框不继承周围数学环境中的设置。是否有“尊重数学”的\raisebox版本?

最佳答案

尝试\mathchoice(或\mathpalette):

\newcommand{\myop}{%
  \mathchoice{\raisebox{1pt}{$\displaystyle\otimes$}}
             {\raisebox{1pt}{$\otimes$}}
             {\raisebox{0.5pt}{$\scriptstyle\otimes$}}
             {\raisebox{0.2pt}{$\scriptscriptstyle\otimes$}}}

amsopn documentation说:

关于latex - LaTeX中数学符号的垂直放置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2866672/

10-12 16:40