# Tikz-cd arrow bending and loop for indicating that portion of diagram commutes

I am trying to get the arrow from $R$ to $R[x]$ to cooperate with me and go alongside the LHS of the picture.

Here is my MWE:

\begin{tikzcd}
& R \arrow[d, "f"] \arrow[ld, "\phi"', hook'] \arrow[rd, "\phi", hook] \arrow["i", hook', bend right=135]{dd} &  \\
R\left\lbrack\frac{1}{r}\right\rbrack \arrow[r, "\exists!F", two heads, dashed, hook] & {\frac{R[x]}{(rx-1)}} \arrow[r, "\exists!G", two heads, dashed, hook] & R\left\lbrack\frac{1}{r}\right\rbrack \\
& {R[x]} \arrow[u, "\pi", two heads] \arrow[ru, "g"'] &
\end{tikzcd}


I'd also like to know how to get the spiral that indicates that the diagram commutes inside the top left and bottom right triangles. See, for example, the below.

## 1 Answer

After seeing your figure (sorry did not read carefully enough! it is very dark in our burrow;-).

\documentclass{article}
\usepackage{tikz-cd,amsmath}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzcd}[execute at end picture={
\draw[{Hooks[width=+0pt 10.8,length=+0pt 3.6,harpoon,line cap=round]}->]
(\tikzcdmatrixname-1-2) to[out=175,in=185,looseness=3]
node[midway,left]{$i$} (\tikzcdmatrixname-3-2);
\draw[-{Latex[bend]},thick] ([xshift=-0.35cm,yshift=0.45cm]\tikzcdmatrixname-2-2)
arc(0:340:0.2);
\draw[-{Latex[bend]},thick] ([xshift=-0.45cm,yshift=-0.45cm]\tikzcdmatrixname-2-2)
arc(20:360:0.2);
\draw[-{Latex[bend]},thick] ([xshift=0.55cm,yshift=-0.45cm]\tikzcdmatrixname-2-2)
arc(20:360:0.2);
}]
& R \arrow[d, "f"] \arrow[ld, "\phi"', hook'] \arrow[rd, "\phi", hook] &  \\
R\left\lbrack\frac{1}{r}\right\rbrack \arrow[r, "\exists!F", two heads, dashed, hook] & {\frac{R[x]}{(rx-1)}} \arrow[r, "\exists!G", two heads, dashed, hook] & R\left\lbrack\frac{1}{r}\right\rbrack \\
& {R[x]} \arrow[u, "\pi", two heads] \arrow[ru, "g"'] &
\end{tikzcd}
\end{document}


• @nick5435 I added a hook (which I looked up in tikzlibrarycd.code.tex). Is this the hook you're after?
– user121799
Dec 4, 2018 at 17:39
• This did the trick: \draw[left hook->] (\tikzcdmatrixname-1-2) to[out=150,in=185,looseness=3] node[midway,left]{$i$} (\tikzcdmatrixname-3-2);}] Just had to do \usetikzlibrary{arrows} Dec 4, 2018 at 17:40