如何在数学模式下堆叠两个以上的箭头?

如何在数学模式下堆叠两个以上的箭头?

命令\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$

替代文本

您可以使用可选参数调整间距,如果愿意的话,也许可以选择另一个尖端较小的箭头。

相关内容