看起来tikzcd
在两端都放置了一条透明但可见的垂直线,就像\arrow[equal]
这样:
我发现这有点烦人,并且想知道是否有可能制作tikzcd
出适当的“相等”箭头,即没有垂直末端,就像旧的一样xy-pic
:
答案1
这是因为tikz-cd
使用double
for 会在顶部画一条白线。这里有一个简单的方法来解决这个问题,甚至还有免费奖励。;-)
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.markings}
\tikzset{double line with arrow/.style args={#1,#2}{decorate,decoration={markings,%
mark=at position 0 with {\coordinate (ta-base-1) at (0,1pt);
\coordinate (ta-base-2) at (0,-1pt);},
mark=at position 1 with {\draw[#1] (ta-base-1) -- (0,1pt);
\draw[#2] (ta-base-2) -- (0,-1pt);
}}}}
\begin{document}
Original:
\[
\begin{tikzcd}
X \ar[equal]{r} & Y \ar[mapsfrom]{r} & Z
\end{tikzcd}
\]
Fixed:
\[
\begin{tikzcd}
X \ar[-,double line with arrow={-,-}]{r} & Y \ar[mapsfrom]{r} & Z
\end{tikzcd}
\]
Bonus:
\[
\begin{tikzcd}
X \ar[-,double line with arrow={latex-,-latex}]{r} & Y \ar[mapsfrom]{r} & Z
\end{tikzcd}
\]
\end{document}