xypic: 2셀 삼각형 아이덴티티

xypic: 2셀 삼각형 아이덴티티

xypic나는 범주 이론의 수반 펑터 정의에 있는 삼각형 항등식을 사용하여 조판하고 싶습니다 . 내 문제는 빗변과 반대쪽 모서리를 연결하는 이중 화살표를 만드는 것입니다.

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

내가 직접 할 수 있는 (완전히 사소한) 부분은 다음과 같습니다. 이중 화살표를 제외한 모든 부분은 다음과 같습니다. \xymatrix{ C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G} & & D\ar[dr]^{1_{D}}\ar[d]_{G}\\ & C & & C\ar[r]_{F} & D }

에는 "다이어그램 붙여넣기"를 만드는 방법이 있을 것으로 추정되지만 xypic어디에서도 명확한 지침을 찾지 못했습니다. 명령이 \compositemap어떻게든 관련되어 있다는 것을 알고 있지만 사용 방법을 알 수 없습니다.

답변1

xy생각보다 쉽고 강력하지 않아서 더 이상 사용하지 않습니다 .. 이 솔루션이 귀하에게도 도움이 되기를 바랍니다.

% arara: pdflatex

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

\begin{document}    
\[\begin{tikzcd}[row sep=3em]
C \arrow{r}{F} \arrow[""{name=foo}]{dr}[swap]{1_C} & D \arrow{d}{G} \arrow[Rightarrow, from=foo, swap, near start, "\eta"]& D \arrow{d}[swap]{G} \arrow[""{name=bar, below}]{dr}{1_D} & \\
& C & C \arrow{r}[swap]{F} \arrow[Rightarrow, to=bar, swap, near start, "\varepsilon"] & D
\end{tikzcd}\]
\end{document}

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


원하는대로 여기에 xy. 그것은 꽤 해키입니다. Sigur가 언급한 예를 사용하는 것이 더 좋을 것 같습니다. 그러나 xy빈 행렬 항목을 관리할 수 있기 때문에 원하는 위치를 화살표로 가리키기 위해 이것을 사용했습니다. 하지만 두 배의 행렬 노드가 필요합니다.

% arara: pdflatex

\documentclass{article}
\usepackage[%
,all
%,cmtip % recommended, but I do not know how to get it to work for the double arrow
]{xy}

\begin{document}    
\[\xymatrix@R=4mm @C=4mm{ 
    C\ar[rr]^{F} \ar[ddrr]_{1_{C}} & & D \ar[dd]^{G} & & D \ar[ddrr]^{1_{D}} \ar[dd]_{G} & & \\ 
    &\ar@2{->}[ur]_{\eta} & & & & & \\
    & & C & & C \ar@2{->}[ur]_{\varepsilon} \ar[rr]_{F} & & D 
}\]
\end{document}

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

답변2

xy-pic다른 접근 방식을 사용한 또 다른 솔루션:

\documentclass{article}
\usepackage[all]{xy}

\begin{document}
\[
\xymatrix{ 
  C\ar[r]^{F}\ar[dr]_{1_{C}} & D\ar[d]^{G}\ar@{<=}[dl]+<22pt>^>>>{\eta} & & D\ar[dr]^{1_{D}}\ar[d]_{G}                      & \\ 
                             & C                                        & & C\ar[r]_{F}\ar@{=>}[ur]-<22pt>_>>>{\varepsilon} & D 
}
\]
\end{document} 

산출:

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

답변3

2cell방금 같은 것을 보고 에 있는 기능을 사용해 보았습니다 xy-pic. 읽은 후참조 매뉴얼, 내 생각에 "올바른" 해결책은 다음과 같습니다

\documentclass[border=10pt]{standalone}
\usepackage[all,2cell]{xy}
\UseAllTwocells

\begin{document}
\[
\xymatrix{C\drtwocell\omit{^<-2>\eta}\ar_{1_C}[dr]\ar^F[r]&D\ar^G[d]&
D\drtwocell\omit{^<2>\varepsilon}\ar^{1_D}[dr]\ar_G[d]&\\
&C&C\ar_F[r]&D}
\]
\end{document}

코드는 다음과 같이 읽습니다 \drtwocell\omit{^<-2>\eta}. 여기서 \omit두 개의 곡선 화살표를 생략하고 ^2셀의 방향을 지정하며 <-2>레이블을 조금씩 움직입니다(그렇지 않으면 중심점이 됩니다).

산출:

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

문제가 있습니다: 당신할 수 없다2셀을 기준으로 라벨이 어느 쪽에 있는지 지정합니다. 이것은 구현되지 않은 것 같으므로 아마도 다른 해킹 없이 할 수 있는 최선일 것입니다.

관련 정보