tikz 和 tikz-cd 中的三箭头

tikz 和 tikz-cd 中的三箭头

我有一个宏可以在 tikz 中绘制相当复杂的图表,它利用 pgfkeys 来尽可能灵活地处理箭头、标签及其样式。我允许库中的所有命令光盘我需要的是一个参数/选项,Rrightarrow例如艾迈斯半导体包,我可以将其作为 pgfkey 传递,它可以绘制三重(甚至四重)箭头,就像我可以传递参数leftarrow, Rightarrow, equal, squiggly, ...

以下主题tikz 中的三条线tikz 中的定制箭杆包含一些朝着这个方向发展的漂亮代码,但我无法将它们挤进 tikz-cd 箭头样式选项中。我想我理解第二个链接(第二个答案)的代码,为了提供 3 箭头或 4 箭头,两个不同的箭头重叠。由于我的宏的箭头是固定的,所以我不能使用这个解决方案。我认为第一个链接的代码可以用来提供令人满意的解决方案,但是:我还不太了解 tikz(我一直使用 tikzcd),在那里的评论中,他们似乎暗示在三重线中添加箭头提示很难。我尝试玩一下代码,修改我认为应该改变的内容,但我还没有设法提出任何具体的东西。

答案1

您可以按照您显示的链接中的建议进行操作。一个稍微微妙的点是箭头不会自动得到尊重,因此您需要quadruple稍微缩短箭头中的双线路径。(当然,您可以进行微调double distance等。)波浪箭头可以通过诸如 之类的装饰获得coil,如果您想让我添加示例,请告诉我。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\tikzset{Rightarrow/.style={double equal sign distance,>={Implies},->},
triple/.style={-,preaction={draw,Rightarrow}},
quadruple/.style={preaction={draw,Rightarrow,shorten >=0pt},shorten >=1pt,-,double,double
distance=0.2pt}}
\begin{tikzcd}
    a \arrow[r,triple] &    b  \arrow[r,quadruple] 
    & c\\
\end{tikzcd}
\end{document}

在此处输入图片描述

答案2

现在有一个漂亮的包装,tikz-nfold由 Jonathan Schulz 提供,为这个问题提供了一个简单的解决方案。您可以指定 TikZ 箭头样式scaling nfold=3(或者简单地nfold=3指定固定箭头宽度)来绘制三箭头,对于更高的箭头也是如此。

根据我的经验,这比其他解决方案产生更美观的箭头,并且与交换图中常见的各种其他 TikZ 样式兼容。

例子:

\documentclass{article}

\usepackage{tikz-cd}
\usetikzlibrary{nfold}

\begin{document}

\begin{tikzcd}
    A \arrow[r, Rightarrow, scaling nfold=3] & B \\
    C \arrow[r, Rightarrow, nfold=3] & D
\end{tikzcd}

\end{document}

生成:

两支三箭

相关内容