命令\rightrightarrows
(来自amssymb
)绘制两个箭头,一个在另一个之上。如何让三个箭头以类似的方式排列?此示例(以及其他花哨的箭头堆叠)出现在第 3 页这张纸,遗憾的是,似乎没有可用的源文件。\stackrel
和等命令\overset
无法正确调整大小或间距。
答案1
使用\substack
$X\substack{\rightarrow\\[-1em] \rightarrow \\[-1em] \rightarrow} Y$
您可以[-1em]
根据需要更改为任意值。
(亨德里克·沃格特添加:)和
$X \mathrel{\substack{\textstyle\rightarrow\\[-0.6ex]
\textstyle\rightarrow \\[-0.6ex]
\textstyle\rightarrow}} Y$
你 得到 的 东西 相当 接近\rightrightarrows
。
答案2
那么下面的怎么样?
\newcommand\rightthreearrow{%
\mathrel{\vcenter{\mathsurround0pt
\ialign{##\crcr
\noalign{\nointerlineskip}$\rightarrow$\crcr
\noalign{\nointerlineskip}$\rightarrow$\crcr
\noalign{\nointerlineskip}$\rightarrow$\crcr
}%
}}%
}
这基本上就是它\overbrace
的工作原理,只是它使用填充和\vbox
而不是\vcenter
。
答案3
使用 TikZ!
\documentclass{article}
\usepackage{tikz}
\newcommand{\triplerightarrow}{%
\tikz[minimum height=0ex]
\path[->]
node (a) {}
node (b) at (1em,0) {}
(a.north) edge (b.north)
(a.center) edge (b.center)
(a.south) edge (b.south);%
}
\begin{document}
\[
A \triplerightarrow B
\]
\end{document}
不执行任何操作minimum height=0ex
。我将其包括在内是为了展示如何根据需要增加箭头的间距。要获得更长的箭头,请增加1em
(当然,这可以作为可选参数,并且经过一些工作就可以使它成为一个(另一个)参数,指定顶部的一些文本,然后箭头会缩放到正确的长度)。
答案4
受到\threesim
堆叠三个符号的 symbol-a4 的启发,\sim
这里有一个三次堆叠和垂直居中符号的解决方案:
\newcommand*{\triple}[2][.1ex]{%
\mathrel{\vcenter{\offinterlineskip%
\hbox{$#2$}\vskip#1\hbox{$#2$}\vskip#1\hbox{$#2$}}}}
您可以使用它来堆叠三个右箭头或左箭头或其他箭头,例如一个点:
\newcommand*{\triplerightarrow}{\triple{\rightarrow}}
\newcommand*{\tripleleftarrow}{\triple{\leftarrow}}
\newcommand*{\tripledot}{\triple[-.6ex]{\cdot}}
例子:
$X\triplerightarrow Y\tripledot\tripleleftarrow Z$
您可以使用可选参数调整间距,如果愿意的话,也许可以选择另一个尖端较小的箭头。