Вертикальное размещение математического символа в LaTeX
Я использую символ \otimes
в качестве унарного оператора, и его вертикальное выравнивание не кажется мне правильным. Он хочет сидеть немного ниже базовой линии. Например, если я определю \newcommand{\myop}{\ensuremath \otimes}
, то $\myop I$
станет
и $F_{\myop I}$
становится
Я попытался использовать \raisebox
, чтобы исправить это, например,
\newcommand{\myop}{\ensuremath \raisebox{1pt}{$\otimes$}}
Это исправляет $\myop I$
:
Но \raisebox
, похоже, не чувствителен к подписчикам. Оператор остается того же размера, а все вокруг сокращается:
Проблема, я думаю, в том, что \raisebox
создает свой собственный блок LR, который не наследует настройки в окружающей математической среде. Есть ли версия \raisebox
, которая "уважает математику"?
Ответы
Ответ 1
Попробуйте \mathchoice
(или \mathpalette
):
\newcommand{\myop}{%
\mathchoice{\raisebox{1pt}{$\displaystyle\otimes$}}
{\raisebox{1pt}{$\otimes$}}
{\raisebox{0.5pt}{$\scriptstyle\otimes$}}
{\raisebox{0.2pt}{$\scriptscriptstyle\otimes$}}}
документация amsopn говорит:
... вертикальное расстояние может быть не оптимальным в script и scriptscript размеры. К сожалению, TeX не обеспечивает простой способ выполнения вертикального интервала с математическим режимом который изменяется в соответствии с текущим математическим стилем, таким как mu units.
Ответ 2
$F_{\raisebox{1pt}{\scriptsize$\otimes$} I}$