# Globular cells in Tikz

I would like to draw a globular cell for higher dimensional categories and cannot find how to bend arrows between arrows between arrows...etc. I know how to bend arrows between nodes, but cannot find how to do it between arrows. Thanks for your help.

Sorry! Here is the type of diagram I have in mind.

I think I have an excellent answer from Gonzalo. I simply have to edit some of the arrows. Thanks!

• What is a globular cell? Which arrows are you talking about? What does etc. mean in this context? – percusse Sep 25 '15 at 18:06
• If you uploaded a mock-up picture (even done with a pen on paper), it'd help understand what you want to do. :) Welcome to Tex SE! – Alenanno Sep 25 '15 at 18:08

I'd suggest you to use the tikz-cd package (built upon TikZ) which makes the creation of diagrams an easy job; using empty labels you can assign names that can then be used to draw the "inner" arrows; a little example with bent arrows inside bent arrows inside bent arrows:

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[column sep=1.5cm]
A
\arrow[r, out=90,in=90,looseness=2.4,"f",""{name=p, below,}]
\arrow[r, bend left=40, ""{name=q, above,}]
\arrow[r, bend left=40, ""{name=v, below,}]
\arrow[r, bend right=40,""{name=s, above,}]
\arrow[r, bend right=40,""{name=w, below,}]
\arrow[r, out=-90,in=-90,looseness=2.4,swap,"g",""{name=t, above,}]
\arrow[from=p, to=q]
\arrow[from=v,to=s]
\arrow[from=w,to=t]
& B
\arrow[r,"h"]
& C
\arrow[r, out=90,in=90,looseness=1.4,"j", ""{name=L, below,}]
\arrow[r, out=-90,in=-90,looseness=1.4,swap,"k",""{name=M, above}]
\arrow[from=L,to=M,bend right=60,""{name=N, right}]
\arrow[from=L,to=M,bend left=60,""{name=P, left}]
\arrow[from=N,to=P,bend left=40]
\arrow[from=N,to=P,bend right=40]
& D
\end{tikzcd}

\end{document}


The result:

And to reproduce the diagram uploaded after the edit to the question:

\documentclass{article}
\usepackage{xargs}
\usepackage{tikz-cd}
\usetikzlibrary{arrows.meta}

\newlength{\myline}% line thickness
\setlength{\myline}{1pt}
\newcommandx*{\triplearrow}[4][1=0, 2=1]{% #1 = shorten left (optional), #2 = shorten right (optionsl),
% #3 = draw options (must contain arrow type), #4 = path
\draw[line width=\myline,double distance=3\myline,#3] #4;
\draw[line width=\myline,shorten <=#1\myline,shorten >=#2\myline,#3] #4;
}

\begin{document}

\begin{tikzcd}[
column sep=1.5cm,
execute at end picture={\triplearrow{arrows={-Implies}}{(N) -- (P)}},
every node/.append style={draw,fill}
]
\bullet
\arrow[r, out=90,in=90,looseness=1.4, ""{name=L, below,}]
\arrow[r, out=-90,in=-90,looseness=1.4,swap,""{name=M, above}]
\arrow[Rightarrow,from=L,to=M,bend right=60,""{name=N, right}]
\arrow[Rightarrow,from=L,to=M,bend left=60,""{name=P, left}]
&
\bullet
\end{tikzcd}

\end{document}


The result:

For the triple implies arrow I used John Kormylo's code in his answer to Custom arrow shaft in tikz.

• Hi Gonzalo, I have pasted your code in my document, but I get the following message: Package tikz-cd error: Arrow direction argument must contain only the characters u, d, l, r. (...) \arrow[r, out=-90,looseness=1.4,swap,""{name=M, above}]? – Jean-Pierre Sep 29 '15 at 1:51
• @Jean-Pierre Hi. The error message indicates that your tikz-cd package is outdated. Please update it; since it depends on TikZ, you might also need to update PGF/TikZ, – Gonzalo Medina Sep 29 '15 at 5:26
• Thank you again for your help! As far as I can tell, my tikz-cd package is up to date. I have tried this code, without success: [\begin{tikzcd} \bullet \arrow[bend left=60]{r}[name=U,below]{} \arrow[bend right=60]{r}[name=D]{} \arrow[Rightarrow,to path=(U) -- (D),bend right=60]{}[name=L, right]{} \arrow[Rightarrow,to path=(U) -- (D),bend left=60]{}[name=R, left]{} & \bullet \end{tikzcd}] – Jean-Pierre Oct 1 '15 at 19:00
• @Jean-Pierre You're welcome. No, your package is not updated. The error message from your first comment and the syntax from your previous comment show that your package is outdated. Feel free to open a fresh new question with the problematic code. – Gonzalo Medina Oct 1 '15 at 19:16
• Will do! It is a mystery to me! – Jean-Pierre Oct 2 '15 at 1:14