3

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:

enter image description here

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.

enter image description here

  • 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
2

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.

enter image description here

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.