在LaTeX中垂直放置数学符号

Chr*_*way 21 latex

我正在使用符号\otimes作为一元运算符,它的垂直对齐对我来说似乎不对.它希望略低于基线.例如,如果我定义\newcommand{\myop}{\ensuremath \otimes},则$\myop I$变为

基线以下的操作员http://i48.tinypic.com/iqajo5.jpg

$F_{\myop I}$成为

操作员在下标http://i46.tinypic.com/mimgrr.png中未对齐

我尝试\raisebox用来解决这个问题,例如,

\newcommand{\myop}{\ensuremath \raisebox{1pt}{$\otimes$}}
Run Code Online (Sandbox Code Playgroud)

这个修复$\myop I$:

操作员靠近基线http://i48.tinypic.com/2dspbhc.png

\raisebox似乎对下标不敏感.操作员保持相同的大小,而周围的一切都缩小:

运算符太大了下标http://i47.tinypic.com/jku4p5.png

我认为,问题是\raisebox创建自己的LR框,它不会继承周围数学环境中的设置.有\raisebox"尊重数学" 的版本吗?

Jou*_*nen 12

尝试\mathchoice(或\mathpalette):

\newcommand{\myop}{%
  \mathchoice{\raisebox{1pt}{$\displaystyle\otimes$}}
             {\raisebox{1pt}{$\otimes$}}
             {\raisebox{0.5pt}{$\scriptstyle\otimes$}}
             {\raisebox{0.2pt}{$\scriptscriptstyle\otimes$}}}
Run Code Online (Sandbox Code Playgroud)

amsopn文档说:

...在脚本和脚本大小中,垂直间距可能不是最佳的.不幸的是,TeX提供的数学模式垂直间距没有简单的方法,它随着当前的数学风格而变化

  • @Chris:Extex的Javadocs有令人惊讶的Tex原型文档.对于`\ mathchoice`,请参阅http://www.extex.org/snapshot/javadoc/org/extex/unit/tex/math/Mathchoice.html (2认同)