Through the code:

    \ar[r]_(.40)b & \bullet\\

I obtain a twocell diagram :

enter image description here

Now I need to have a double arrow named ac from a to c all along the diagram keeping the double arrows ab and bc into the diagram and I don't know how to do it.

Can anybody help with this? Thank you.

2 Answers 2


If for you is OK to use tikz-cd:



    \bullet\ar[r,"b"{name=B, below left},""{name=middle, inner sep=0pt}]\ar[r, bend left=70,"a"{name=A}]\ar[r, bend right=70,"c"{name=C, below}] &[1em] \bullet 
    \arrow[Rightarrow, from=A, to=middle, shorten <=2pt, "ab"]
    \arrow[Rightarrow, from=middle, to=C, shorten =2pt, "bc"]
    \arrow[Rightarrow, from=A, to=C, shorten =2pt, "ac", bend left=100, looseness=3]

enter image description here

  • Thank you. It is formative for the use of tikz and looks very nice. I am more fond of xymatrix, though.
    – gibarian
    Oct 28, 2021 at 17:08

One way is using the Implies arrow tip (in the arrows.meta library) together the double option of TikZ. Change numbers as you like!

enter image description here

\begin{tikzpicture}[c/.style={fill,circle,inner sep=2pt,outer sep=2pt},
arr/.style={-{Implies},double,double distance=1mm,shorten >=1mm,shorten <=1mm}] ]
(0,0) node[c] (X) {}    
(3,0) node[c] (Y) {}
\draw[->] (X) to[bend left=60]  node[above,inner sep=2pt] (a) {$a$} (Y);        
\draw[->] (X) to[bend right=60] node[below,inner sep=2pt] (c) {$c$} (Y);
\draw[->] (X)--(Y) coordinate[pos=.5] (M);
\path (M)+(-135:.3)node{$b$};

\draw[arr] (a)--(M) node[pos=.5,right]{$ab$};
\draw[arr] (M)--(c) node[pos=.5,right]{$bc$};
\draw[arr] (a) ..controls +(180:2.5) and +(180:2.5).. (c)  node[pos=.5,left]{$ac$};

  • Thank you. My idea was that the previous double arrows remain into the diagram. I proceed to edit the question.
    – gibarian
    Oct 28, 2021 at 16:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .