使用 tikz-cd 交叉时缺少“tikz”样式箭头

使用 tikz-cd 交叉时缺少“tikz”样式箭头

我一直在使用 tikz-cd 创建交换图。我刚刚从 0.3c 升级到 0.9b 版本,现在箭头尖出现了问题。我喜欢使用“tikz”实心尖头。下图很好:

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}  
\tikzset{
   commutative diagrams/.cd,
   diagrams={>=latex}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
 & f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\ 
 f^* E \arrow[rr, crossing over] \arrow[dd] & & E \\ 
 & U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\ 
 M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}

并给出以下输出:

正常行为

但是,如果我通过向 tikzset 添加箭头样式规范来更改为实心提示(占用更少的空间并且在我实际构建的相当大的图表上看起来更好):

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}  
\tikzset{
   commutative diagrams/.cd,
   arrow style=tikz,
   diagrams={>=latex}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
 & f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\ 
 f^* E \arrow[rr, crossing over] \arrow[dd] & & E \\ 
 & U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\ 
 M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}

我现在得到以下输出,其中使用“交叉”功能的所有线的尖端都缺失,加上来自 U 和 V 的两个对角线以及从 M 到 N 的水平线:

跨越线时缺少箭头

此行为在 v.0.3c 中未出现。有什么想法可以修复它吗?

谢谢。

答案1

这是样式中的一个错误crossing over。以下内容似乎可以修复它:

样品输出

\documentclass[11pt]{article}

\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\tikzset{
   commutative diagrams/.cd,
   arrow style=tikz,
   diagrams={>=latex}}
\tikzcdset{  crossing over/.style={
    /tikz/preaction={
      /tikz/draw,
      /tikz/color=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
      /tikz/arrows=-,
      /tikz/line width=\pgfkeysvalueof{/tikz/commutative
      diagrams/crossing over clearance}}}}

\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
 & f^* E_V \arrow[dl] \arrow[rr] \arrow[dd] & & E_V \arrow[dl] \arrow[dd] \\ 
 f^* E \arrow[dd] \arrow[rr,crossing over]  & & E \\ 
 & U \arrow[dl] \arrow[rr] & & V \arrow[dl] \\ 
 M \arrow[rr] & & N \arrow[uu, crossing over, leftarrow]\\
\end{tikzcd}
\end{document}

原来的风格是

  crossing over/.style={
    /tikz/preaction={
      /tikz/draw=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
      /tikz/arrows=-,
      /tikz/line width=\pgfkeysvalueof{/tikz/commutative diagrams/crossing over clearance}}}

我已经将颜色规范从绘图选项中分离出来。

相关内容