tikz-cd:弯曲箭头上的标签定位

tikz-cd:弯曲箭头上的标签定位

在下图中,我想让G^F虚线箭头上的标签居中:

在此处输入图片描述

然而,修改pos似乎不起作用,因为pos=0.41和之间似乎有一个“跳跃” pos=0.42

在此处输入图片描述pos=0.41在此处输入图片描述pos=0.42

有什么方法可以使标签居中?(实际上,我很好奇为什么它默认不居中或者不居中pos=0.5

下面是 MWE。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}
    & A \\
    C & \widehat{C}
    \arrow["{F}", from=2-1, to=1-2]
    \arrow["{Y}"', from=2-1, to=2-2]
    \arrow["{N^F}"', "{\vdash}"{inner sep=.3ex}, from=1-2, to=2-2]
    \arrow["{G^F}"'{pos=.41}, dashed, bend right, from=2-2, to=1-2]
\end{tikzcd}

\end{document}

答案1

当弯曲箭头很短时,就会出现这个问题。两个建议:

  1. 增加sep以使节点之间的距离更远。
  2. 减小bend角度。我bend right=15在图中用到了。(然后你可能也想要shift向右箭头。)

在此处输入图片描述

以下是代码:

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}[sep=large]
    & A \\
    C & \widehat{C}
    \arrow["F", from=2-1, to=1-2]
    \arrow["Y"', from=2-1, to=2-2]
    \arrow["N^F"', "{\vdash}"{inner sep=.3ex}, from=1-2, to=2-2]
    \arrow["G^F"', dashed, bend right=15, shift right=1.5, from=2-2, to=1-2]
\end{tikzcd}

\end{document}

答案2

仅用于与xy包装进行比较:

\documentclass[a4paper,12pt]{article}
\usepackage[cmtip,all]{xy}
\begin{document}
\xymatrix@R=2pc@C=3pc{ & A \ar[d]^{\vdash}\\
C \ar[ur]^F_(.70){N^F} \ar[r]_Y & \widehat{C} \ar@/_1.2pc/@{-->}[u]_{G^F}
}
\end{document}

在此处输入图片描述

相关内容