Follow-up to my answer ; not intended for voting, but to keep a long answer more readable.
Here's one way to do it with plain Tikz. However, I suggest to rethink your crossing-over idea, which is just a visual means, requiring quite some effort with many side effects.
Basic idea
- once everything else has been drawn
- draw the cross-over-pathes at the end
- so their white large outlines cover the rest
- giving the illusion of "crossing"
This brings some problems with it. Let's see.

Style
The new style co uses the double parameters of a path, see Ch. 15 in the pgfmanual.
% ~~~ Part 3: crossing over ~~~~~~~~~
\begin{tikzpicture}[
vs/.style={->, dashed},
vt/.style={->, line width=1.5pt},
>={Stealth},
% to cross over:
co/.style={
% double line parameters:
draw=white,double=black,line width=3pt,
double distance=1.5pt,
% arrow-tip parameters
-{Stealth[width=10mm,fill=black]}},
]
For better visibility I changed one line to blue on the right side.
As described there it:
- draws a thick line, including arrows, here in white
- draws the "normal" line, here in black
There's a trade-off from contradicting requirements:
- you want a thick white line to "cover/cross" others
- you want a thin white line to avoid other obscuring artifacts
See the thick front line to 111: the thick white outline of the arrow tip obscures other lines, including the tip. You can balance the co-parameters to some extent ...
Drawing last pathes
Here you see a few approaches combined:
- first the line to 111 at the top
- second, a nodes place held being overdrawn
- third, the blue line at the side with a different approach
% crossing over pathes
% front, top
\draw[vt,co] (101) -- (111);
% drawing over the placeholder
\node[fill=white] at (D1) {$\binom{V_1\oplus V_2}{V}$};
% alternative: draw thick white line AND normal vector
\draw[draw=white, line width=12pt] (D2) -- (001);
\draw[->,blue] (D2) -- (001);
The first one I just described.
The second one would "overwrite" the arrows behind (D1) at the top. Two steps:
- put a big enough empty node into the matrix (code next)
- put a second node at its place at the end (code before)
% & & & \node(D1) {$\binom{V_1\oplus V_2}{V}$}; & & \\
% new: placeholder
& & & \node[minimum size=10mm] (D1) {}; & & \\
The third just draws a connection twice:
- once as a big white line without arrow tip
- and as an ordinary vector
- kindly recognise the artifacts near 001
Code
\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary{arrows.meta}
\usepackage{amsmath}
\begin{document}
% ~~~ developing the structure ~~~~~~~~~
% ~~~ Part 3: crossing over ~~~~~~~~~
\begin{tikzpicture}[
vs/.style={->, dashed},
vt/.style={->, line width=1.5pt},
>={Stealth},
% to cross over:
co/.style={
% double line parameters:
draw=white,double=black,line width=3pt,
double distance=1.5pt,
% arrow-tip parameters
-{Stealth[width=10mm,fill=black]}},
]
% ~~~ placement ~~~~~~~~~~~~~~~~~~~~~~~~
\matrix[column sep=6mm, row sep=6mm]
{
\node (100) {$K(V,0)$}; & & & &
\node (110) {$\binom{V_1}{V}$}; & & \
% & & & \node(D1) {$\binom{V_1\oplus V_2}{V}$}; & & \
% new: placeholder
& & & \node[minimum size=10mm] (D1) {}; & & \
& & \node (101) {$\binom{V_2}{V}$}; & & & & &
\node (111) {111}; \
& & \node[xshift=9mm] (D3) {D3}; & & &\
& \node (D2) {D2}; \
\node (000) {000};& & & & \node (010) {010}; & & \
\node {\strut}; & & & & & & \
& & \node (001) {001}; & & & & & \node (011) {011}; \
};
% ~~~ connections ~~~~~~~~~
% top
\draw[vt] (100) -- (110);
\draw[vt] (100) -- (101);
\draw[vt] (110) -- (111);
% down
\draw[->] (100) -- (000);
\draw[->] (101) -- (001);
\draw[->] (111) -- (011);
% highlighting this one: remove the dashed parameter
\draw[->,blue] (110) -- (010);% <<< new
% side
\draw[->] (000) -- (001);
\draw[vs] (010) -- (011);
\draw[->] (101) -- (D2);
\draw[->] (000) -- (D2);
% \draw[->] (D2) -- (001);
% bottom
\draw[vs] (000) -- (010);
\draw[->] (001) -- (011);
% diagonals
\draw[->] (101) -- (D1);
\draw[->] (110) -- (D1);
\draw[->] (D1) -- (111);
\draw[vs] (110) -- (D3);
\draw[vs] (000) -- (D3);
\draw[vs] (D3) -- (010);
% crossing over pathes
% front, top
\draw[vt,co] (101) -- (111);
% drawing over the placeholder
\node[fill=white] at (D1) {$\binom{V_1\oplus V_2}{V}$};
% alternative: draw thick white line AND normal vector
\draw[draw=white, line width=12pt] (D2) -- (001);
\draw[->,blue] (D2) -- (001);
\end{tikzpicture}
\end{document}