# 'tikz' style arrow tips missing when using tikz-cd crossing over

I have been using tikz-cd to create commutative diagrams. I just upgraded to version 0.9b from 0.3c and now there is a problem with the arrow tips. I like to use the 'tikz' solid tips. The following diagram is fine:

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}
\tikzset{
commutative diagrams/.cd,
diagrams={>=latex}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\
f^* E \arrow[rr, crossing over] \arrow[dd] & & E \\
& U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\
M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}


and gives the following output:

However, if I change to solid tips (which take up less room and look better on the rather larger diagram I am really building) by adding an arrow style specification to the tikzset:

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}
\tikzset{
commutative diagrams/.cd,
arrow style=tikz,
diagrams={>=latex}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\
f^* E \arrow[rr, crossing over] \arrow[dd] & & E \\
& U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\
M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}


I now get the following output in which the tips are missing from all lines that use the 'crossing over' feature PLUS the two diagonals from U and V and the horizontal from M to N:

This behaviour was not exhibited in v.0.3c. Any ideas how to fix it?

Thank you.

This is a bug in the crossing over style. The following seems to fix it:

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\tikzset{
commutative diagrams/.cd,
arrow style=tikz,
diagrams={>=latex}}
\tikzcdset{  crossing over/.style={
/tikz/preaction={
/tikz/draw,
/tikz/color=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
/tikz/arrows=-,
/tikz/line width=\pgfkeysvalueof{/tikz/commutative
diagrams/crossing over clearance}}}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\
f^* E \arrow[dd] \arrow[rr,crossing over]  & & E \\
& U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\
M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}


The original style is

  crossing over/.style={
/tikz/preaction={
/tikz/draw=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
/tikz/arrows=-,
/tikz/line width=\pgfkeysvalueof{/tikz/commutative diagrams/crossing over clearance}}}


I have separated out the color specification from the draw option.

• I didn't test it but I think if you expand the value, /tikz/draw/expanded it should also work. – percusse Apr 4 '14 at 11:37
• @percusse I presume you mean /tikz/draw/.expanded. If so, unfortunately that does not work. – Andrew Swann Apr 4 '14 at 11:49
• @AndrewSwann Oh OK. Thank you though – percusse Apr 4 '14 at 12:12
• In version 0.9 the error is not yet existing. But If I use your and the original version of crossing over, there is no change visible. I do not know if Mr. Neves has changed something or if the bug was somewhere else. – LaRiFaRi Jan 29 '16 at 9:36
• @LaRiFaRi This seems to be fixed in 0.9e. – Andrew Swann Jan 29 '16 at 13:20