Bending arrows with XY
You can do this "simply" in xy by using the arrow
\ar`d`[llllll]`[uu][llllluu]
This arrows begins in the d
direction, makes a quarter of turn, go to the [llllll]
entry (relative position) , makes a quarter of turn, go to the [uu]
(relative position) entry and ends in [llllluu]
(absolute position).
For more examples and explanations, you can see here https://tex.stackexchange.com/a/31824/3172
May be this solution with tizk-cd
can help. The syntaxis is very much the same as xymatrix
. The basic xy
-command \ar
and the directions [u]
,...,[r]
are replaced by \arrow
and {u}
,{d}
,{l}
,{r}
in curly brackets, respectively.
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
%\usepackage{tikz}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& & & & & & X_1\times_Y X_2\\
& & X_1 \times_Z X_2\arrow{dl}\arrow{rr}\arrow{dd} & & X_1\arrow{dd}\arrow{dl} & &\\
& Y\times_Z Y\arrow{rr}\arrow{dd} & & Y\arrow{dd} & & & \\
& & X_2\arrow{dl} \arrow{rr} & & Y\arrow{dl} & & \\
& Y\arrow{rr} & & Z & & & Y
\arrow
[to path={..controls +(-10,-1) and (-6,-3) .. (\tikztotarget)}]{uulllll}
\end{tikzcd}
\end{document}
Another possibility is
\begin{tikzcd}
& & & & & & X_1\times_Y X_2\\
& & X_1 \times_Z X_2\arrow{dl}\arrow{rr}\arrow{dd} & & X_1\arrow{dd}\arrow{dl} & &\\
& Y\times_Z Y\arrow{rr}\arrow{dd} & & Y\arrow{dd} & & & \\
& & X_2\arrow{dl} \arrow{rr} & & Y\arrow{dl} & & \\
& Y\arrow{rr} & & Z & & & Y
\arrow[to path={ (4.9,-2.8)--(4.9,-3.2)--(-5.4,-3.2)
--(-5.4,0)--(\tikztotarget)}]{uulllll}
\end{tikzcd}
Another one
\begin{tikzcd}
& & & & & & X_1\times_Y X_2\\
& & X_1 \times_Z X_2\arrow{dl}\arrow{rr}\arrow{dd} & & X_1\arrow{dd}\arrow{dl} & &\\
& Y\times_Z Y\arrow{rr}\arrow{dd} & & Y\arrow{dd} & & & \\
& & X_2\arrow{dl} \arrow{rr} & & Y\arrow{dl} & & \\
& Y\arrow{rr} & & Z & & & Y
\arrow[to path={ (4.9,-2.8)--(4.9,-3.2)--(-5.6,-3.2)
--(-5.6,-.6)--(\tikztotarget)}]{uulllll}
\end{tikzcd}