Вертикальное размещение математического символа в ЛАТЕКСЕ

Я использую символ \otimes поскольку унарный оператор и это являются выравниванием по вертикали, не кажется правильным мне. Это хочет находиться немного ниже базовой линии. Например, если я определяю \newcommand{\myop}{\ensuremath \otimes}, затем $\myop I$ становится

Operator below the baseline

и $F_{\myop I}$ становится

Operator misaligned in subscript

Я пытался использовать \raisebox зафиксировать это, например,

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

Это фиксирует $\myop I$:

Operator near baseline

Но \raisebox кажется, не чувствителен к нижним индексам. Оператор остается таким же размер в то время как все вокруг этого уменьшения:

Operator too big in subscript

Проблема, я думаю, является этим \raisebox создает его собственное поле LR, которое не наследовало настройки в окружающей математической среде. Есть ли версия \raisebox та "математика отношений"?

21
задан Glorfindel 26 July 2019 в 23:20
поделиться

2 ответа

Попробуйте \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.

12
ответ дан 29 November 2019 в 22:07
поделиться
$F_{\raisebox{1pt}{\scriptsize$\otimes$} I}$
1
ответ дан 29 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: