\xrightarrow 不会随着 \scriptstyle 和 \scriptscriptstyle 改变大小

\xrightarrow 不会随着 \scriptstyle 和 \scriptscriptstyle 改变大小

考虑以下 MWE。

\documentclass[fontsize=12pt]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}

\begin{document}
    \begin{align*}
        v\xrightarrow{e}w &\quad v\overset{e}\rightarrow w \\
        \scriptstyle v\xrightarrow{e}w &\quad \scriptstyle v\overset{e}\rightarrow w \\
        \scriptscriptstyle v\xrightarrow{e}w &\quad \scriptscriptstyle v\overset{e}\rightarrow w
    \end{align*}
\end{document}

结果如下:

xrightarrow 不缩放

虽然在使用或\rightarrow时 的大小会发生变化,但 不会 并产生大小和高度错误的箭头,并且间距太小。\scriptstyle\scriptscriptstyle\xrightarrow

有办法解决吗\xrightarrow

答案1

根据其定义,\xrightarrow仅提供正常大小并且不会按下标缩放。

您可以定义一个(效率较低)的变体:

\documentclass[fontsize=12pt]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
%\usepackage{libertine}
%\usepackage[libertine]{newtxmath}

\newcommand{\sxrightarrow}[2][]{%
  \mathrel{\text{$\xrightarrow[#1]{#2}$}}%
}

\begin{document}

\begin{align*}
v\sxrightarrow{e}w &\quad v\overset{e}\rightarrow w \\
\scriptstyle v\sxrightarrow{e}w &\quad \scriptstyle v\overset{e}\rightarrow w \\
\scriptscriptstyle v\sxrightarrow{e}w &\quad \scriptscriptstyle v\overset{e}\rightarrow w
\end{align*}

\end{document}

在此处输入图片描述

相关内容