改进 tikz-cd 中的 Rightarrow

改进 tikz-cd 中的 Rightarrow

问题

tikz/double内部使用的选项会tikz/commuting diagrams/Rightarrow创建一条宽黑线,并在其上方创建一条略窄的白线,以显示看起来像双描边路径的内容(请参阅 pgf 手册,/tikz/double=)。这会导致(至少)两种类型的视觉故障。值得注意的是,一些查看器不会在所有缩放级别上显示路径的两个“描边”,因为白色部分有时会完全覆盖黑色路径(讨论这里,另请参见下面的屏幕截图)。此外,在箭头尾部和箭头前有一条虚假的水平线(讨论这里):

故障 1

故障 2

问题

从更一般的意义上讲,问题应该是“解决这些问题的最佳方法是什么?”

(最初,这里有一些关于尝试修复的具体问题。下面描述的解决方案实现了更通用的解决方案,使原始问题变得过时。另请参阅讨论在 Github 上了解一些背景信息。

答案1

我已经发布了我的解决方案加拿大运输安全局名称下tikz-nfold。现在支持任意顺序的任意 TikZ 路径和箭头(三重、四重……)。用法如下:

\usetikzlibrary{nfold}

[...]

\begin{tikzcd}
  a \ar[r, Rightarrow, bend right, nfold] &
  b \ar[d, Mapsto, nfold=3, "\alpha", "\beta"'] \\
  c \ar[r, Mapsfrom, double distance=4pt, nfold=4] &
  d
\end{tikzcd}

tikzcd tikz-nfold 截图

相关内容