在下图中,箭头穿过顶点米。有没有什么办法可以阻止这种情况发生?
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^*(m \wedge n) \arrow[dl] \arrow[ddrr] & & f^*(m) \arrow[dl] \arrow[dd] \\
m \wedge n \arrow[dd] \arrow[rr] & & M \\
& f^*(n) \arrow[dl] \arrow[rr] & & X \arrow[dl, "f"] \\
N \arrow[rr] & & Y \arrow[from=uu, crossing over]\\
\end{tikzcd}
\end{document}
答案1
稍微弯曲箭头以绕过 M 或让它从后面经过:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^*(m \wedge n) \arrow[dl] & & f^*(m) \arrow[dl] \arrow[dd] \\
m \wedge n \arrow[dd] \arrow[rr] & & M \\
& f^*(n) \arrow[dl] \arrow[rr] & & \arrow[from=uull,bend left=30,crossing over] X \arrow[dl, "f"] \\
N \arrow[rr] & & Y \arrow[from=uu, crossing over]\\
\end{tikzcd}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^*(m \wedge n) \arrow[dl] \arrow[ddrr,bend left=30] & & f^*(m) \arrow[dd] \\
m \wedge n \arrow[dd] \arrow[rr] & & M \arrow[from=ur,crossing over] \\
& f^*(n) \arrow[dl] \arrow[rr] & & X \arrow[dl, "f"] \\
N \arrow[rr] & & Y \arrow[from=uu, crossing over]\\
\end{tikzcd}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^*(m \wedge n) \arrow[dl] \arrow[-,dr] & & f^*(m) \arrow[dl] \arrow[dd] \\
m \wedge n \arrow[dd] \arrow[rr] & & M \arrow[dr]\\
& f^*(n) \arrow[dl] \arrow[rr] & & X \arrow[dl, "f"] \\
N \arrow[rr] & & Y \arrow[from=uu, crossing over]\\
\end{tikzcd}
\end{document}