Определение символа, который масштабируется при использовании в качестве нижнего индекса

Определение символа, который масштабируется при использовании в качестве нижнего индекса

Я определил команду как

\newcommand{\antishriek}{\mbox{\footnotesize{\rotatebox[origin=c]{180}{$!$}}}},

что дает маленький перевернутый восклицательный знак. Я всегда использую его как показатель степени для других символов, таких как

который дается как $\mathscr{P}^{\antishriek}$. Моя проблема в том, что когда я пытаюсь поместить все это как индекс, в этом случае мой символ не масштабируется. Например, запись $\Delta_{\mathscr{P}^{\antishriek}}$дает

с символом точно такого же размера. Есть ли способ сделать так, чтобы мой символ масштабировался, когда я помещаю его как верхний индекс нижнего индекса, без необходимости определять второй символ, дающий тот же вывод, но меньший?

решение1

Вместо того, чтобы создавать свой собственный символ, LaTeX имеет предопределенный \textexclamdown, который можно использовать. Так что, технически, вы можете сделать:

\usepackage{amsmath}
\newcommand{\antishriek}{\text{\raisebox{\depth}{\textexclamdown}}}

amsmath's \textгарантирует, что используется правильный размер, а \raiseboxперевернутый восклицательный знак помещается на базовую линию (если вы этого хотите; аналогично тому, что \rotatebox[origin=c]{180}делается для !).


В общем, если вы хотите, чтобы команда имела разное представление в зависимости от места ее использованияв математическом режиме, то вы можете рассмотреть возможность использования \mathchoice(или оболочки \mathpalette). \mathchoiceимеет следующий формат:

\mathchoice{<material for display style>}
           {<material for text style>}
           {<material for script style>}
           {<material for scriptscript style>}

Итак, в вашем случае вы могли бы предоставить форматирование (размер и поворот или что-то еще) в соответствии с вашими потребностями. Вот пример того, что это значит: Рассмотрим гипотетический \somesymbol:

\newcommand{\somesymbol}{\mathchoice
  {a}% \displaystyle
  {b}% \textstyle
  {c}% \scriptstyle
  {d}% \scriptscriptstyle
}

Вышеприведенное определение «символа» отображает (для сравнения, слева — значение по умолчанию \displaystyle, справа — принудительное \textstyle):

введите описание изображения здесь

\[
  \somesymbol^{\somesymbol^{\somesymbol^{\somesymbol}}}
  \quad
  \somesymbol_{\somesymbol_{\somesymbol_{\somesymbol}}}
  \qquad\textstyle
  \somesymbol^{\somesymbol^{\somesymbol^{\somesymbol}}}
  \quad
  \somesymbol_{\somesymbol_{\somesymbol_{\somesymbol}}}
\]

В зависимости от вашего символа вы можете использовать (в качестве примера):

\newcommand{\antishriek}{\mathchoice
  {\rotatebox[origin=c]{180}{!}}% \displaystyle
  {\rotatebox[origin=c]{180}{!}}% \textstyle
  {\rotatebox[origin=c]{180}{\scalebox{.7}{!}}}% \scriptstyle
  {\rotatebox[origin=c]{180}{\scalebox{.5}{!}}}% \scriptscriptstyle
}

который отображается как

введите описание изображения здесь

\[
  \somesymbol^{\somesymbol^{\somesymbol^{\somesymbol}}}
  \antishriek^{\antishriek^{\antishriek^{\antishriek}}}
  \quad
  \somesymbol_{\somesymbol_{\somesymbol_{\somesymbol}}}
  \antishriek_{\antishriek_{\antishriek_{\antishriek}}}
  \qquad\textstyle
  \somesymbol^{\somesymbol^{\somesymbol^{\somesymbol}}}
  \antishriek^{\antishriek^{\antishriek^{\antishriek}}}
  \quad
  \somesymbol_{\somesymbol_{\somesymbol_{\somesymbol}}}
  \antishriek_{\antishriek_{\antishriek_{\antishriek}}}
\]

Вот они вместе, чтобы показать относительные размеры:

введите описание изображения здесь

\[
  {\somesymbol\antishriek}^{{\somesymbol\antishriek}^{{\somesymbol\antishriek}^{{\somesymbol\antishriek}}}}
  \quad
  {\somesymbol\antishriek}_{{\somesymbol\antishriek}_{{\somesymbol\antishriek}_{{\somesymbol\antishriek}}}}
  \qquad\textstyle
  {\somesymbol\antishriek}^{{\somesymbol\antishriek}^{{\somesymbol\antishriek}^{{\somesymbol\antishriek}}}}
  \quad
  {\somesymbol\antishriek}_{{\somesymbol\antishriek}_{{\somesymbol\antishriek}_{{\somesymbol\antishriek}}}}
\]

Соответствующий:

решение2

Вот scalerelрешение, в котором ¡масштабируется по вертикальному контуру !в соответствующем математическом стиле.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath, mathrsfs,scalerel}%
\newcommand{\antishriek}{\scalerel*{$¡$}{!}}

\begin{document}

\[\mathscr{P}^{\antishriek}\mathscr{P}^{!}\quad 
  \Delta_{\mathscr{P}^{\antishriek}}\Delta_{\mathscr{P}^{!}}\quad  
  \antishriek !\]%
\end{document} 

введите описание изображения здесь

решение3

Зачем усложнять вещи больше, чем они есть на самом деле?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath, mathrsfs}%
\newcommand{\antishriek}{\text{¡}}

\begin{document}

\[\mathscr{P}^{\antishriek}\quad \Delta_{\mathscr{P}^{\antishriek}}\quad  \antishriek \]%

\end{document} 

введите описание изображения здесь

Связанный контент