上方带有文字的三角形箭头

上方带有文字的三角形箭头

我想使用黑白三角箭头和上面的文字,如下所示:

箭

我想我必须结合起来\longrightarrow \xrightarrow{W}\rightarrowtriangle但我不知道该怎么做。

答案1

弄乱了在中找到的代码mathtools,其中定义了几种类型的可扩展箭头,我得到了以下内容:

\documentclass{article}
\usepackage{mathtools}
\usepackage{stmaryrd}

\makeatletter
\providecommand*\xrightarrowtriangle[2][]{%
  \ext@arrow 0055{\arrowfill@\relbar\relbar\rightarrowtriangle}{#1}{#2}}
\makeatother

\begin{document}
    \[
        x \rightarrowtriangle y, \qquad x \xrightarrowtriangle{i} y
    \]

    Some unknown text les transitions synchrones par xyzqwert

    \[
        x \rightarrow y, \qquad x \xrightarrow{W} y
    \]
\end{document}

输出

编辑:为了获得与空箭头相同形状的实心箭头,我使用了\rhd(▷) 和\RHD(▶) 命令wasysym

\documentclass{article}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{booktabs}

\providecommand\rightarrowRHD{\relbar\joinrel\mathrel\RHD}
\providecommand\rightarrowrhd{\relbar\joinrel\mathrel\rhd}
\providecommand\longrightarrowRHD{\relbar\joinrel\relbar\joinrel\mathrel\RHD}
\providecommand\longrightarrowrhd{\relbar\joinrel\relbar\joinrel\mathrel\rhd}

\makeatletter
\providecommand*\xrightarrowRHD[2][]{\ext@arrow 0055{\arrowfill@\relbar\relbar\longrightarrowRHD}{#1}{#2}}
\providecommand*\xrightarrowrhd[2][]{\ext@arrow 0055{\arrowfill@\relbar\relbar\longrightarrowrhd}{#1}{#2}}
\makeatother

\begin{document}
    \begin{tabular}{lcccc}
        \toprule
        type               &   displaystyle                            &   textstyle                            &   scriptstyle                            \\
        \midrule
        filled short       & $\displaystyle a \rightarrowRHD        b$ & $\textstyle a \rightarrowRHD        b$ & $\scriptstyle a \rightarrowRHD        b$ \\
        empty  short       & $\displaystyle a \rightarrowrhd        b$ & $\textstyle a \rightarrowrhd        b$ & $\scriptstyle a \rightarrowrhd        b$ \\
        filled long        & $\displaystyle a \longrightarrowRHD    b$ & $\textstyle a \longrightarrowRHD    b$ & $\scriptstyle a \longrightarrowRHD    b$ \\
        empty  long        & $\displaystyle a \longrightarrowrhd    b$ & $\textstyle a \longrightarrowrhd    b$ & $\scriptstyle a \longrightarrowrhd    b$ \\
        filled superscript & $\displaystyle a \xrightarrowRHD{c}    b$ & $\textstyle a \xrightarrowRHD{c}    b$ & $\scriptstyle a \xrightarrowRHD{c}    b$ \\
        empty  superscript & $\displaystyle a \xrightarrowrhd{c}    b$ & $\textstyle a \xrightarrowrhd{c}    b$ & $\scriptstyle a \xrightarrowrhd{c}    b$ \\
        filled sup+super   & $\displaystyle a \xrightarrowRHD[d]{c} b$ & $\textstyle a \xrightarrowRHD[d]{c} b$ & $\scriptstyle a \xrightarrowRHD[d]{c} b$ \\
        empty  sub+super   & $\displaystyle a \xrightarrowrhd[d]{c} b$ & $\textstyle a \xrightarrowrhd[d]{c} b$ & $\scriptstyle a \xrightarrowrhd[d]{c} b$ \\
        \bottomrule
    \end{tabular}
\end{document}

新输出

它们与朋友的行为相同,\longrightarrow因为它们的缩放比例不如常规箭头那么大(根本没有?)。

答案2

也许这是 Ti 的一个过度解决方案Z 但使用起来很方便。

代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{xparse}
\usepackage{xspace}

\makeatletter
\NewDocumentCommand{\myarrow}{%
s
O{}
m
m
O{1cm}
}{%
\begin{tikzpicture}[baseline=-0.5ex] {
\node[inner sep=0](@1) at (0,0) {#3};
\node[inner sep=0](@2) at (#5,0) {#4};
\IfBooleanTF #1 {
\draw [arrows={-Triangle[open]},shorten >= 2pt,shorten <= 2pt](@1)--(@2) node[pos=.5,above,inner sep=1pt] {#2};}
{\draw [arrows={-Triangle},shorten >= 2pt,shorten <= 2pt](@1)--(@2) node[pos=.5,above,inner sep=1pt] {#2};}}
\end{tikzpicture}\xspace
}
\makeatother

\begin{document}
Some text \myarrow{$x$}{$y$}, and other text.

White triangle with the starred version: \myarrow*{$x$}{$y$} and other text.

Specify the superscript as optional argument \myarrow*[$i$]{$x$}{$y$}.

Finally you can also set the distance between the two nodes: \myarrow[$i$]{$x$}{$y$}[2cm]

It works also math mode: \[ \myarrow*[$i$]{$x$}{$y$}\]
\end{document}

Z 绘制内容,xparse用于定义新的命令,\myarrow该命令带有两个强制参数(箭头左侧和右侧的内容)。第一个可选参数是将某些内容排版在箭头上方居中,而第二个可选参数(即两组花括号后)设置箭头的长度。带星号的版本\myarrow*{}{}提供了白色末端箭头,可以通过调用arrows.meta库来绘制。最后,该包xspace用于处理命令后的空格。

输出

答案3

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{mathabx}

\begin{document}
$x \raisebox{3pt}{\underrightarrow{\quad w \quad}} y$
\end{document}

在此处输入图片描述

相关内容