Me gustaría componer, utilizando xypic
, las identidades de triángulos de la definición de funtores adjuntos en la teoría de categorías. Mi problema es crear la doble flecha que conecta la hipotenusa y la esquina opuesta.
Aquí está la parte (completamente trivial) que puedo hacer yo mismo, que es todo menos las flechas dobles:
\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 }
Supuestamente existe una manera de crear tales "diagramas de pegado" en xypic
, pero no he encontrado instrucciones claras en ninguna parte; Sé que el comando \compositemap
está involucrado de alguna manera, pero no pude entender cómo usarlo.
Respuesta1
Ya no lo uso xy
, ya que no es tan fácil y poderoso comotikz-cd. Espero que esta solución también te ayude:
% 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}
Como deseabas, aquí tienes una solución con xy
. Es bastante complicado. Supongo que sería mejor usar los ejemplos mencionados por Sigur. Pero como xy
puedo gestionar entradas de matriz vacías, utilicé esto para señalar las flechas hacia donde quiero. Sin embargo, es necesaria el doble de nodos de matriz.
% 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}
Respuesta2
Otra xy-pic
solución con un enfoque 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}
Producción:
Respuesta3
Miré lo mismo e intenté usar la 2cell
función en xy-pic
. Después de leer elmanual de referencia, creo que la solución "correcta" es la siguiente
\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}
El código se lee como \drtwocell\omit{^<-2>\eta}
, donde \omit
dice que omitiremos las dos flechas curvas, ^
especifica la dirección de las 2 celdas y <-2>
empuja la etiqueta (de lo contrario, estará en el punto central).
Producción:
Hay un problema: túno puedoespecifique en qué lado está la etiqueta con respecto a las 2 celdas. Parece que esto no está implementado, por lo que quizás sea lo mejor que podemos hacer sin otros trucos.