xypic: identidades de triângulo de 2 células

xypic: identidades de triângulo de 2 células

Eu gostaria de compor, usando xypic, as identidades dos triângulos a partir da definição de funtores adjuntos na teoria das categorias. Meu problema é criar a seta dupla conectando a hipotenusa e o canto oposto.

insira a descrição da imagem aqui

Aqui está a parte (completamente trivial) que posso fazer sozinho, que é tudo menos as setas duplas: \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 }

Supostamente, existe uma maneira de criar esses "diagramas de colagem" no xypic, mas não encontrei nenhuma instrução clara em lugar nenhum; Eu sei que o comando \compositemapestá de alguma forma envolvido, mas não consegui descobrir como usá-lo.

Responder1

Não uso xymais, pois não é tão fácil e poderoso como. Espero que esta solução também ajude você:

% 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}

insira a descrição da imagem aqui


Como você desejava, aqui está uma solução com xy. É bastante hackeado. Usar os exemplos mencionados por Sigur seria melhor, eu acho. Mas como xyé capaz de gerenciar entradas vazias de matrizes, usei isso para apontar setas para onde eu quero. Porém, a quantidade dupla de nós da matriz é necessária.

% 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}

insira a descrição da imagem aqui

Responder2

Outra xy-picsolução com uma abordagem diferente:

\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} 

Saída:

insira a descrição da imagem aqui

Responder3

Eu apenas olhei para a mesma coisa e tentei usar o 2cellrecurso no xy-pic. Depois de ler omanual de referencia, acho que a solução "certa" é a seguinte

\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}

O código é lido como \drtwocell\omit{^<-2>\eta}, onde \omitdiz que omitiremos as duas setas curvas, ^especifica a direção das 2 células e <-2>desloca o rótulo (caso contrário, estará no ponto central).

Saída:

insira a descrição da imagem aqui

Há um problema: vocênão podeespecifique de que lado o rótulo está em relação às 2 células. Parece que isso não está implementado, então talvez seja o melhor que podemos fazer sem alguns outros hacks.

informação relacionada