# About the crossing over of arrow

When I draw a commutative diagram by using the Tikzcd I am confronted with a problem: the command crossing over does not work at one place of the entire diagram.

MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz-cd}
\usetikzlibrary{patterns,positioning,arrows}
\definecolor{grey1}{RGB}{71,71,71}
\definecolor{grey2}{RGB}{100,100,100}
%\definecolor{pur}{RGB}{186,146,162}

\begin{document}
\begin{tikzcd}[row sep=large, column sep=large, execute at end picture={
\foreach \Valor/\Nombre in
{
tikz@f@1-1-1/a,tikz@f@1-3-1/b,tikz@f@1-3-3/c,tikz@f@1-1-3/d,
tikz@f@1-3-1/e,tikz@f@1-3-3/f,tikz@f@1-4-4/g,tikz@f@1-4-2/h,
tikz@f@1-1-3/i,tikz@f@1-3-3/j,tikz@f@1-4-4/k,tikz@f@1-2-4/l%
}
{
\coordinate (\Nombre) at (\Valor);
}
\fill[pattern=north east lines,pattern color=grey1,opacity=0.3]
(a) -- (b) -- (c) -- (d) -- cycle;
\fill[grey2,opacity=0.3]
(e) -- (f) -- (g) -- (h) -- cycle;
\fill[pattern=north east lines,pattern color=grey1,opacity=0.3]
(i) -- (j) -- (k) -- (l) -- cycle;
}
]
T(\Sigma,X) \arrow[rr,near start,"\text{\emph{free}}"] \arrow[dr,swap,"\pi"]  &&
\mathcal{C}_{\Sigma} \arrow[leftarrow, dr,"\text{\emph{inclusion}}",sloped,above]& \\
&T(\Sigma,X)/_{\thickapprox_E} \arrow[rightarrow,crossing over]{rr}[near start]{\text{\emph{free}}} && % Here the command crossing over' doesn't work after compiling the tex.
\mathcal{V}(E)  \\
X \arrow{uu}[near start,sloped,above]{\text{\hspace*{8pt}\emph{determine}}}  \arrow[dashed]{rr}[near start]{\text{\emph{affect}}} \arrow[dr,swap,"{\text{\emph{determine}}}",sloped,above] && T(\Sigma,V) \arrow[dashed]{uu}[near start,below,sloped]{\text{\emph{free}}} \arrow[dashrightarrow,dr,swap,"\pi"]& \\
& \thickapprox_E \arrow[leftrightarrow,rr] \arrow[leftrightarrow,uu,crossing over]&& T(\Sigma,V)/_{\thickapprox_E} \arrow{uu}[near start,below,sloped]{\text{\emph{free}}}
\end{tikzcd}
\end{document}

I have pointed out the place at which the crossing over doesn't work in the original Tex document demonstrated above. I tried to adjusting the command, but it's still failing.

The output of the Tex demonstrated above is as follows:

The following picture is exactly what I want to look for. Thanks to the help of @egreg I eventually obtain the final version of the commutative diagram.

• I want the solid arrow with label free (which connects the term $\T(\Sigma,X)/\thickapprox_E$ and the term $\mathcal{V}(E)$) is crossing over the dashed arrow with the same label free. That's exactly what I want to obtain. – GL_n Jun 7 '17 at 16:28
• Okay <-> with the text free and the left head < is missing at the moment!? Like the arrow below(without text)? If im wrong please add the arrow manually to the image. – Bobyandbob Jun 7 '17 at 16:31
• @BobyandbobYes, it's still missing. – GL_n Jun 7 '17 at 16:35
• Does \arrow[<->,crossing over]{ll}[near end]{\text{\emph{free}}} solve your problem? – Bobyandbob Jun 7 '17 at 16:42
• @Bobyandbob It still doesn't work – GL_n Jun 7 '17 at 17:04

## 1 Answer

Draw later the arrow that should cross over:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz-cd}
\usetikzlibrary{patterns,positioning,arrows}
\definecolor{grey1}{RGB}{71,71,71}
\definecolor{grey2}{RGB}{100,100,100}
%\definecolor{pur}{RGB}{186,146,162}

\begin{document}
\begin{tikzcd}[row sep=large, column sep=large, execute at end picture={
\foreach \Valor/\Nombre in
{
tikz@f@1-1-1/a,tikz@f@1-3-1/b,tikz@f@1-3-3/c,tikz@f@1-1-3/d,
tikz@f@1-3-1/e,tikz@f@1-3-3/f,tikz@f@1-4-4/g,tikz@f@1-4-2/h,
tikz@f@1-1-3/i,tikz@f@1-3-3/j,tikz@f@1-4-4/k,tikz@f@1-2-4/l%
}
{
\coordinate (\Nombre) at (\Valor);
}
\fill[pattern=north east lines,pattern color=grey1,opacity=0.3]
(a) -- (b) -- (c) -- (d) -- cycle;
\fill[grey2,opacity=0.3]
(e) -- (f) -- (g) -- (h) -- cycle;
\fill[pattern=north east lines,pattern color=grey1,opacity=0.3]
(i) -- (j) -- (k) -- (l) -- cycle;
}
]
T(\Sigma,X) \arrow[rr,near start,"\text{\emph{free}}"] \arrow[dr,swap,"\pi"]  &&
\mathcal{C}_{\Sigma} \arrow[leftarrow, dr,"\text{\emph{inclusion}}",sloped,above]
\arrow[dashed,leftarrow]{dd}[near end,above,sloped]{\text{\emph{free}}} & \\
&T(\Sigma,X)/_{\thickapprox_E} \arrow[rightarrow,crossing over]{rr}[near start]{\text{\emph{free}}} && % Here the command crossing over' doesn't work after compiling the tex.
\mathcal{V}(E)  \\
X \arrow{uu}[near start,sloped,above]{\text{\hspace*{8pt}\emph{determine}}}  \arrow[dashed]{rr}[near start]{\text{\emph{affect}}} \arrow[dr,swap,"{\text{\emph{determine}}}",sloped,above] && T(\Sigma,V)
\arrow[dashrightarrow,dr,swap,"\pi"]& \\
& \thickapprox_E \arrow[leftrightarrow,rr] \arrow[leftrightarrow,uu,crossing over]&& T(\Sigma,V)/_{\thickapprox_E} \arrow{uu}[near start,below,sloped]{\text{\emph{free}}}
\end{tikzcd}
\end{document}

The method with from=dd doesn't really work because of the textual labels.