tikz-cd: 구부러진 화살표의 라벨 위치 지정

tikz-cd: 구부러진 화살표의 라벨 위치 지정

G^F다음 다이어그램에서 점선 화살표의 레이블을 중앙에 배치하고 싶습니다 .

여기에 이미지 설명을 입력하세요

그러나 와 pos사이에 "점프"가 있는 것으로 보이므로 수정이 작동하지 않는 것 같습니다 .pos=0.41pos=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}

여기에 이미지 설명을 입력하세요

관련 정보