Tikz-cd 图箭头穿过节点下方 - 不穿过它

Tikz-cd 图箭头穿过节点下方 - 不穿过它

我正在绘制一些交换图,我的一些对角箭头在途中穿过节点。我希望有一种“穿过下方”的方式,以强制箭头在穿过节点时不显示。

我把代码复制在这里:

\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] \ar[dr]
& 
& B \ar[dd] \ar[dr]
& 
\\
%second row
& E \ar[rr] \ar[dd]
& 
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr] \ar[uurr]
& 
& D \ar[dr]
& 
\\
%forth row
& G \ar[rr] \ar[uurr]
& 
& H
\end{tikzcd}

在此处输入图片描述

正如您所见,这非常不优雅!如果箭头“中断”并在节点后重新开始,那就更好了。

谢谢!

答案1

分裂成多个箭头:

\documentclass{article}

\usepackage{tikz-cd}
\usepackage{xcolor}

\begin{document}

\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] \ar[dr]
& 
& B \ar[dd] \ar[dr]  \ar[from=dl]
& 
\\
%second row
& E \ar[rr] \ar[dd] \ar[-,dl]
& 
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr]
& 
& D \ar[dr] \ar[ur]
& 
\\
%forth row
& G \ar[rr] \ar[-,ur]
& 
& H
\end{tikzcd}

\end{document}

在此处输入图片描述

避开节点:

\documentclass{article}

\usepackage{tikz-cd}
\usepackage{xcolor}

\begin{document}

\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] 
& 
& B \ar[dd] \ar[dr] \ar[from=ddll,bend left=30]
& 
\\
%second row
& E \ar[rr] \ar[dd] \ar[from=ul,crossing over]
& 
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr] 
& 
& D \ar[dr]
& 
\\
%forth row
& G \ar[rr] \ar[from=uurr,bend left=30,crossing over]
& 
& H
\end{tikzcd}
\end{document}

在此处输入图片描述

答案2

只是为了好玩:尝试给人一种 3D 印象。

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{backgrounds}
\usepackage{contour}
\contourlength{1pt}
\begin{document}
\[\begin{tikzcd}[execute at end picture={
\begin{scope}[on background layer]
 \draw[->] (C) -- (B);
\end{scope}
 \draw[preaction={draw,line width=2.4pt,white},->] (G) -- (F);
}]
%first row
A \ar[rr] \ar[dd] \ar[dr]
& 
& |[alias=B]| B \ar[dd] \ar[dr]
& 
\\
%second row
& \contour{white}{$E$} \ar[rr] \ar[dd]
& 
&|[alias=F]| F \ar[dd]
\\
%third row
|[alias=C]| C \ar[rr] \ar[dr] %\ar[uurr]
& 
& D \ar[dr]
& 
\\
%forth row
& |[alias=G]| G \ar[rr] %\ar[uurr]
& 
& H
\end{tikzcd}\]
\end{document}

在此处输入图片描述

答案3

这会实现你想要的效果:

\documentclass[pdf]{article}
\usepackage{tikz-cd}

\begin{document}

\[ 
\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] \ar[dr]
&
& B \ar[dd] \ar[dr]
&
\\
%second row
& E \ar[rr] \ar[dd]
&
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr] \ar[uurr, "\textstyle E" description]
&
& D \ar[dr]
&
\\
%forth row
& G \ar[rr] \ar[uurr, "\textstyle D" description]
&
& H
\end{tikzcd}
    \]

\end{document} 

在此处输入图片描述

相关内容