答案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
用于处理命令后的空格。