如何绘制带标签的三箭头(\Rrightarrow)

如何绘制带标签的三箭头(\Rrightarrow)

存在一个 ams 符号\Rrightarrow,它给出一个三箭头,就像

三箭

现在我想给箭头添加标签,例如在双箭头的情况下使用\xRightarrow{f}。但不幸的是,标记三箭头的相应命令\xRrightarrow似乎不存在。

我知道这个\overset命令,但是如果标签比符号长,则重叠不会延长箭头\xRrightarrow

所以我的问题是:绘制一个标记的三箭头,其长度调整为其标签的长度,最简单的方法是什么?

答案1

你很幸运:\equiv\Rrightarrow可以结合起来。

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

在此处输入图片描述

还可以添加对称版本:

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

在此处输入图片描述

答案2

标签在\Rrightarrow和之上\rightrightarrows。可以使用带有TikZ宏的三箭头:请参阅此链接tikz 中的自定义箭杆

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{amssymb, amsmath}
\begin{document}
\[a \stackrel{\text{label}}{\Rrightarrow}
 f\]
 \[a \stackrel{\text{label}}{\rightrightarrows}
 f\]
\end{document}

答案3

也可以使用xy包来获取您的符号:

\documentclass[a4paper,12pt]{article}
\usepackage[all]{xy}
\usepackage{graphicx}

\begin{document}

Let a free text before  \raisebox{.55ex}{\xymatrix@C=3pc{ A \ar@3{->}[r]^{\txt{\tiny Small}} &B}} and after.

\xymatrix { A \ar@3{<-}[r]^{\txt{\tiny Over}} &B}

\end{document}

在此处输入图片描述

代码解释

  1. \raisebox{.55ex}{....}使用包将三重箭头近似地放在文本的同一行graphicx
  2. \xymatrix@C=3pc{ A \ar@3{->}[r]^{\txt{\tiny Small}} &B}它是带有箭头(右)的 3 行代码,或使用左侧选项<-以及上方文本使用^或下方使用_@C=3pc为您提供箭头的长度。

如果您希望使用宏,我可以提供它来改进我的其他答案。

答案4

你可以使用我的pdfMsym为此包。

% The following two lines go in your preamble
\input pdfmsym
\pdfmsymsetscalefactor{10} % Change 10 to the font size you're using

$$ \xvarRrightarrow{over}[under] $$

xvarRrightarrow 用法 我之所以添加此功能,部分原因是这个问题。与使用重叠\equivs 相比,它的好处是许多 PDF 查看器无法很好地进行栅格化,重叠的区域会形成“凸起”(甚至还有一些关于此的问题)。pdfMsym 的箭头往往更漂亮(以我的经验来看),因为箭头的可延伸部分是绘制的,而不是使用重叠的符号。不过有一个缺点是这里使用的箭头尖端与 的箭头尖端不同\Rrightarrow

另一种选择是自己绘制它,使用任何一个用于绘图的 LaTeX 包(例如 TikZ),或者使用\pdfliteral带有 PDF 图形代码的 s。

相关内容