我一直在使用 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}}}
我已经将颜色规范从绘图选项中分离出来。