定義用作下標時可縮放的符號

定義用作下標時可縮放的符號

我定義了一個命令

\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
}

顯示上面的「符號」定義(左邊是 default \displaystyle,右邊是forced \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} 

在此輸入影像描述

相關內容