使用反射字形时的上标大小

使用反射字形时的上标大小

我想$\Gamma$在数学模式下使用反射符号作为上标。我使用\reflectboxfromgraphicx包为反射符号声明一个宏,它在正常大小(数学)模式下有效。

但是,当我尝试将宏用作上标时,反射的符号无法正确缩放。该怎么办?

\documentclass{article}

\usepackage{xparse}
\usepackage{graphicx}
\usepackage{mathtools}

\DeclareDocumentCommand{\GammaInv}  {        } { \reflectbox{$\Gamma$} }

\begin{document}
\begin{align*}
    % regular letter superscript
    L^{\Gamma} \\
    % reflected letter superscript (does not scale down as expected)
    L^{\GammaInv} 
\end{align*}
\end{document}

答案1

你必须使用\mathpalette

\documentclass{article}

\usepackage{xparse}
\usepackage{graphicx}
\usepackage{mathtools}

\NewDocumentCommand{\GammaInv}{}{\mathpalette\doGammaInv\relax}
\makeatletter
\NewDocumentCommand{\doGammaInv}{mm}{%
  \reflectbox{$\m@th#1\Gamma$}%
}
\makeatother

\begin{document}
\begin{align*}
    % regular letter superscript
    L^{\Gamma} \\
    % reflected letter superscript (does not scale down as expected)
    L^{\GammaInv}
\end{align*}
\end{document}

在此处输入图片描述

\mathpalette宏需要两个参数:第一个是辅助宏,它将接收数学样式选择作为第一个参数。第二个可用于变量输入,示例如下。

在此处输入图片描述

相关内容