교환 다이어그램의 일부에 라벨을 붙이다

교환 다이어그램의 일부에 라벨을 붙이다
\documentclass[12pt,reqno,a4paper]{amsart}
\usepackage{extsizes}
\usepackage{blindtext}
\textheight 9.3in \textwidth 6.5in
\calclayout
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{hyperref}
\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage[normalem]{ulem}
\usepackage{tikz-cd}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
\[\begin{tikzcd}
\underline{V} 
\arrow[rrrrdd,  bend left]
\arrow[rrdddd, bend right] \arrow[rrdd, dotted] &  &&  & \\
& & &  & \\
&  & A \arrow[dd] \arrow[rr] &  & B \arrow[dd] \\
&  &  &  & \\
&  & C \arrow[rr] &  & D                
\end{tikzcd}\]
\end{document}

위의 코드는 나에게 다음 다이어그램을 제공합니다

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

교환 다이어그램의 번호 부분에 "유령" 기술을 사용했습니다. 그것은 작동하지 않았다. 나는 쓰고 싶다

  • (1) V,A,B로 둘러싸인 다이어그램에서
  • (2) V,A,C로 둘러싸인 다이어그램에서
  • (3) A,B,C,D로 둘러싸인 다이어그램에서

이 작업을 수행하는 방법을 알려줄 수 있는 사람이 있습니까?

답변1

너가 말하는게 이거니?

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

화살표 없이 다이어그램에 레이블을 추가할 수 있습니다.

\[\begin{tikzcd}
\underline{V} 
\arrow[rrrrdd,  bend left]
\arrow[rrdddd, bend right] \arrow[rrdd, dotted] &  &&  & \\
& & (1) &  & \\
& (2) & A \arrow[dd] \arrow[rr] &  & B \arrow[dd] \\
&  &  & (3) & \\
&  & C \arrow[rr] &  & D                
\end{tikzcd}\]

답변2

그냥 재미로: tikz-cdTi를 기반으로 함케이Z 그래서

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[y=0.8cm]
\node (a) at (0,0) {$A$};
\node (b) at (2,0) {$B$};
\node (c) at (0,-2) {$C$};
\node (d) at (2,-2) {$D$};
\node (v) at (-2,2) {$\underline{V}$};
\draw[->] (a)--(b);
\draw[->] (b)--(d);
\draw[->] (a)--(c);
\draw[->] (c)--(d);
\draw[dotted,->] (v)--(a);
\draw[->] (v) to[bend right] (c);
\draw[->] (v) to[bend left] (b);
\node at (1,-1) {(3)};
\node at (0,1) {(1)};
\node at (-1,0) {(2)};
\end{tikzpicture}
\end{document}

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


하지만 나는 이 방법을 선호합니다. (비록 제가 코딩하는 방식은 효율적이지는 않지만)

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[y=0.8cm,>=stealth]
\node (V) at (-2,2) {\phantom{$\underline{V}$}};
\node (B) at (2,0) {\phantom{$B$}};
\node (C) at (0,-2) {\phantom{$C$}};
\fill[yellow!50] (0,0) rectangle (2,-2);
\fill[green!20] (V) to[bend left] (B)--(2,0)--(0,0)--(V);
\fill[blue!20] (V) to[bend right] (C)--(0,-2)--(0,0)--(V);
\begin{scope}[every node/.style={fill=white,circle,draw}]
    \node (a) at (0,0) {$A$};
    \node (b) at (2,0) {$B$};
    \node (c) at (0,-2) {$C$};
    \node (d) at (2,-2) {$D$};
    \node (v) at (-2,2) {$\underline{V}$};
\end{scope}
\draw[->] (a)--(b);
\draw[->] (b)--(d);
\draw[->] (a)--(c);
\draw[->] (c)--(d);
\draw[dashed,->] (v)--(a);
\draw[->] (v) to[bend right] (c);
\draw[->] (v) to[bend left] (b);
\node at (1,-1) {(3)};
\node at (0,1) {(1)};
\node at (-1,0) {(2)};
\end{tikzpicture}
\end{document}

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

답변3

유령 화살의 경우:

\documentclass[a4paper]{article}
\usepackage{tikz-cd}

\begin{document}

\[
\begin{tikzcd}[nodes in empty cells]
\underline{V}
  \arrow[rrrrdd,  bend left]
  \arrow[rrdddd, bend right]
  \arrow[rrdd, dotted]
  \arrow[rrrrdd,phantom,"(1)" description]
  \arrow[rrdddd,phantom,"(2)" description]
\\
&&&&\\
&& A \arrow[dd] \arrow[rr] & \arrow[dd,phantom,"(3)" description] &
B \arrow[dd] \\
&&&&\\
&& C \arrow[rr] && D
\end{tikzcd}
\]

\end{document}

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

관련 정보