微调 xrightarrow 下标

微调 xrightarrow 下标

考虑以下输出:

在此处输入图片描述

如何搬家仅有的 =稍微往上一点?等号离下面的线太近了。

我努力了

\newcommand{\seta}[1][]{\xrightarrow[\raisebox{1pt}{\makebox[1ex]{\ensuremath{\scriptstyle=}}}]{#1}}

但改变1pt4pt例如也会移动下面的线(至少在我看来)。

平均能量损失

\documentclass[11pt,a4paper]{report}
\usepackage{amsmath,lipsum}
\newcommand{\seta}[1][]{\xrightarrow[=]{#1}}
\begin{document}
$a\seta b$ \quad
$a\seta[G]b$ \quad
$a\seta[\mathcal{F}(G)]b$ \lipsum*[2]
\end{document}

答案1

也许与\vphantom\smash

\documentclass[11pt,a4paper]{report}
\usepackage{amsmath,lipsum}
\newcommand{\seta}[1][]{\xrightarrow[\vphantom{=}\smash{\raisebox{0.3ex}{=}}]{#1}}
\begin{document}
$a\seta b$ \quad
$a\seta[G]b$ \quad
$a\seta[\mathcal{F}(G)]b$ \lipsum*[2]

\renewcommand{\seta}[1][]{\xrightarrow[\vphantom{=}\smash{\raisebox{0ex}{=}}]{#1}}

$a\seta b$ \quad
$a\seta[G]b$ \quad
$a\seta[\mathcal{F}(G)]b$ \lipsum*[2]
\end{document}

在此处输入图片描述

下面的例子只是为了比较。

答案2

我会使用较低级别但更灵活的构造。

\documentclass{article}

\makeatletter
\newcommand{\eqxrightarrow}[1]{\mathrel{\eq@xrightarrow{#1}}}

\newcommand{\eq@xrightarrow}[1]{%
  \mathop{%
    \vtop{%
      \m@th % no extra space around math
      \offinterlineskip % disable glue between lines
      \ialign{%
        % one column, center align
        \hfil##\hfil\cr
        % fill the row with a right arrow
        \rightarrowfill\cr
        % width is at least the superscript plus 16 mu
        \hphantom{$\scriptstyle\mskip8mu{#1}\mskip8mu$}\cr
        % and at least 1.5em
        \vrule height0pt width 1.5em\cr
        % bottom row is =
        $\scriptstyle=$\cr
      }%
    }%
  }\limits^{#1}%
}
\makeatother

\begin{document}

$a\eqxrightarrow{} b$ \quad
$a\eqxrightarrow{G} b$ \quad
$a\eqxrightarrow{\mathcal{F}(G)} b$

\end{document}

在此处输入图片描述

相关内容