So I'm trying to draw a cubical diagram using tikzcd and have been having a persistent issue with the crossing of arrows. Here is the relevant code for reference:



\begin{tikzcd}[row sep=scriptsize,column sep=scriptsize,]
\emptyset\ar[rr,hook]\ar[dr,hook] \ar[dd,hook] & & \      
{3\}\ar[dr,hook]\ar[dd,hook] & \\
& \{2\}\ar[rr,hook,crossing over] & & \{2,3\}\ar[dd,hook] & \\
\{1\}\ar[rr,hook]\ar[dr,hook]& & \{1,3\}\ar[dr,hook] & \\
& \{1,2\}\ar[rr,hook]\ar[crossing over, hookleftarrow]{uu}{} & & \  
{1,2,3\} &


I'm trying to get the front-left downward arrow to be hooked in the same direction as the rest. In the written code it emanates from {1,2} and goes to {2}, because I want it to cross over the back arrow, and writing it the other way would have it be drawn before the arrow it crosses over (and therefore missing the white space on the crossing). My workaround has been to use the hook arrows from bottom to top, but using hookleftarrow to make it go in the opposite direction. Unfortunately, it has caused the arrow "curling" to go the other way. Any ideas to fix it?

I've read the proposed answers on Delayed drawing of arrows in tikz-cd. However, I'm having trouble getting the main one to work (mainly by means of defining \laterarrow). Is there a "flip" command in tikz-cd that lets me flip an arrow across its long axis? Any help is appreciated.

  • Your code doesn't compile. You have open { but even fixing that, it throws errors. Please review your code and make sure it compiles in an empty document/file.
    – Alenanno
    Sep 20, 2016 at 9:36
  • Hi @Alenanno Sorry about the {. I copied it directly from my LaTeX code in my math document, where it is compiling appropriately, and must have left it out accidentally. Not clear as to what is happening with the rest (maybe depending on implementation one uses \usepackage{tikz} followed by \usetikzlibrary{cd} though one shouldn't have to do this I think). Sep 20, 2016 at 15:58

1 Answer 1


If you like hacky approaches... here you are:

% arara: pdflatex


    ,row sep=scriptsize
    ,column sep=scriptsize
    \emptyset\ar[rr,hook]\ar[dr,hook] \ar[dd,hook] & & \{3\}\ar[dr,hook]\ar[dd,hook] & \\
    & \{2\}\ar[rr,hook,crossing over]\arrow[hook]{dd} & & \{2,3\}\ar[dd,hook] & \\
    \{1\}\ar[rr,hook]\ar[dr,hook]& & \{1,3\}\ar[dr,hook] & \\
    & \{1,2\}\ar[rr,hook]\ar[crossing over,dash,shorten <= 3mm,shorten >= 3mm]{uu} & & \{1,2,3\} &

enter image description here


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.