
Tengo el siguiente diagrama en xypic
:
\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage[all,cmtip,2cell]{xy}
\begin{document}
\[\xymatrix{
& K\Omega M \ar[rr] \ar[ld]_(.4){K\Omega F} \ar@{.>}'[d][dd]_-\simeq && K\Delta M \ar[rr] \ar[ld] && Kq\Delta M \ar[ld] \\
K\Omega N \ar[rr] \ar@{.>}[dd]_-\simeq && K\Delta N \ar[rr] && Kq\Delta N \\
& \Omega Kq\Delta M \ar@/_2pc/[rruu] \ar[ld]_-{\Omega Kq\Delta F} & \\
\Omega Kq\Delta N \ar@/_2pc/[rruu]
}\]
\end{document}
Esto se representa así:
La flecha curva "en el fondo" debe dividirse dos veces, cada vez que cruza otra flecha, para dar la impresión de estar realmente en el fondo. ¿Cómo puedo lograr eso?
Respuesta1
No sé si se puede hacer con xypic, pero solo como referencia (y por diversión) lo hice con Tikz.
En este caso, el truco consiste en trazar la línea que está "delante", dos veces. La primera vez está dibujada en blanco y muy gruesa, y la segunda en negro y a ancho normal.
Tenga en cuenta que en TikZ primero dibuja la matriz de nodos, usando una sintaxis similar a xy-pic, y luego dibuja todas las conexiones, usando como coordenadas los nombres de los nodos de la matriz, que tienen la forma general (M-row-column)
, y etiqueta los requeridos. conexiones usando node
.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of math nodes, row sep=1cm, column sep=0.5cm] (M) {
& K\Omega M && K\Delta M && Kq\Delta M \\
K\Omega N && K\Delta N && Kq\Delta N \\
& \Omega Kq\Delta M & \\
\Omega Kq\Delta N \\
};
\draw[->] (M-1-2) -- (M-2-1)
node[midway, above left] {\scriptsize $K\Omega F$};
\draw[->,dotted] (M-2-1) -- (M-4-1)
node[midway, left] {\scriptsize $\simeq$};
\draw[->] (M-3-2) -- (M-4-1)
node[midway, above, xshift=-1em] {\scriptsize $\Omega Kq\Delta F$};
\draw[->, dotted] (M-1-2) -- (M-3-2)
node[pos=0.7, left] {\scriptsize $\simeq$};
\draw[->] (M-1-2) -- (M-1-4);
\draw[->] (M-1-4) -- (M-1-6);
\draw[->] (M-3-2) to[out=20, in=-110] (M-1-4);
\draw[white, line width=1ex] (M-2-1) -- (M-2-3);
\draw[->] (M-2-1) -- (M-2-3);
\draw[white, line width=1ex] (M-2-3) -- (M-2-5);
\draw[->] (M-2-3) -- (M-2-5);
\draw[white, line width=.5ex] (M-4-1) to[out=20, in=-110] (M-2-3);
\draw[->] (M-4-1) to[out=20, in=-110] (M-2-3);
\draw[->] (M-1-4) -- (M-2-3);
\draw[->] (M-1-6) -- (M-2-5);
\end{tikzpicture}
\end{document}
Resultado:
Respuesta2
Esto todavía no lo es xypic
, pero la sintaxis de tikz-cd
es muy similar. Quizás puedas cambiar a este paquete para todo tu diagrama. Recomendaría el uso de tikz-cd
ya que te da muchas más posibilidades.
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
& K\Omega M \ar{rr} \ar[swap, "K\Omega F"]{dl} \ar[dotted, near end, swap, "\simeq"]{dd} && K\Delta M \ar{rr} \ar{dl} \ar[bend left, <-]{ddll} && Kq\Delta M \ar{dl} \\
K\Omega N \ar[crossing over]{rr} \ar[dotted, swap, "\simeq"]{dd} & & K\Delta N \ar[crossing over]{rr} && Kq\Delta N \\
& \Omega Kq\Delta M \ar[swap, near start, "\Omega Kq\Delta F"]{dl} & \\
\Omega Kq\Delta N \ar[crossing over, bend right]{uurr}
\end{tikzcd}
\]
\end{document}