[Tex/LaTex] How to draw a labeled triple arrow (\Rrightarrow)

amsmathamssymbarrowslabels

There exists the ams-symbol \Rrightarrow which gives a triple arrow like

triple arrow.

Now I want to endow the arrow with a label, which for example in the case of double arrows works with \xRightarrow{f}. But unfortunately the corresponding command for labeled triple arrows \xRrightarrow seems not to exist.

I am aware of the \overset command, but overset doesn't lengthen the arrow in case the label is longer than the \xRrightarrow symbol.

So my question is: What is the simplest way to draw a labeled triple arrow whose length is adjusted to the length of its label?

Best Answer

You're lucky: \equiv and \Rrightarrow can be combined.

\documentclass{article}
\usepackage{amsmath,amssymb}

\makeatletter
\newcommand{\xRrightarrow}[2][]{\ext@arrow 0359\Rrightarrowfill@{#1}{#2}}
\newcommand{\Rrightarrowfill@}{\arrowfill@\equiv\equiv\Rrightarrow}
\newcommand{\xLleftarrow}[2][]{\ext@arrow 3095\Lleftarrowfill@{#1}{#2}}
\newcommand{\Lleftarrowfill@}{\arrowfill@\Lleftarrow\equiv\equiv}
\makeatother

\begin{document}

$A\xRrightarrow{fghi}B$

$A\xLleftarrow{fghi}B$

\end{document}

enter image description here

One can also add the symmetric version:

\documentclass{article}
\usepackage{amsmath,amssymb}

\makeatletter
\newcommand{\xRrightarrow}[2][]{\ext@arrow 0359\Rrightarrowfill@{#1}{#2}}
\newcommand{\Rrightarrowfill@}{\arrowfill@\equiv\equiv\Rrightarrow}
\newcommand{\xLleftarrow}[2][]{\ext@arrow 3095\Lleftarrowfill@{#1}{#2}}
\newcommand{\Lleftarrowfill@}{\arrowfill@\Lleftarrow\equiv\equiv}
\newcommand{\xLleftRrightarrow}[2][]{\ext@arrow 3399\LleftRrightarrowfill@{#1}{#2}}
\newcommand{\LleftRrightarrowfill@}{\arrowfill@\Lleftarrow\equiv\Rrightarrow}
\makeatother

\begin{document}

$A\xRrightarrow{fghi}B$

$A\xLleftarrow{fghi}B$

$A\xLleftRrightarrow{fghi}B$

\end{document}

enter image description here

Related Question