# A commutative diagram created with xy package for an old question

Starting from this question with this first image,

I wanted to reproduce the drawing with xy package as training.

\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\begin{document}
$\xymatrix@R=2pc{ H_{\bullet}(\Sigma X) \ar@/_1.8pc/[dr]_{\Delta} \ar[r]^(.45){c_*} & H_{\bullet}(\Sigma X\vee\Sigma X) \ar[d]_{j?} \ar[r]^(.6){(f\vee g)_*} & H_{\bullet}(Y) \\ & H_{\bullet}(\Sigma X)\oplus H_{\bullet}(\Sigma X) \ar@<2ex>[u]_{i_{1*}\oplus i_{2*}} \ar@/_1.8pc/[ur]_{f_*\oplus g_*} &}$
\end{document}


My output is this:

My doubts are:

1. Why are the labels not automatically centered and I am forced to use the parameter \ar[r]^(.45){c_*} for example? (see the orange rectangles).
2. How to create two down and up arrows with the correct labels placed on the sides of the vectors? To have a distance I have used \ar@<2ex> (see the red rectangle).

Labels are placed in the middle of the arrows, but this middle point is determined with respect to the distance of the centers of the source and target cells. This is good when the objects in the cells have approximately the same width, but definitely not in other cases.

In order to place the label in the middle of the actual arrow use ^-{<label>} or _-{<label>}. This is a shorthand for ^(0.5) and _(0.5).

The positioning along curved arrows always needs correcting.

I also shifted the two central arrows symmetrically.

\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\begin{document}
$\xymatrix@R=2pc{ H_{\bullet}(\Sigma X) \ar@/_1.8pc/[dr]_-{\Delta} \ar[r]^-{c_*} & H_{\bullet}(\Sigma X\vee\Sigma X) \ar@<-1ex>[d]_{j?} \ar[r]^-{(f\vee g)_*} & H_{\bullet}(Y) \\ & H_{\bullet}(\Sigma X)\oplus H_{\bullet}(\Sigma X) \ar@<-1ex>[u]_{i_{1*}\oplus i_{2*}} \ar@/_1.8pc/[ur]_-{f_*\oplus g_*} }$
\end{document}


Anyway, after having used Xy-pic for many years, I now prefer tikz-cd.

• I like to resurrect old packages too. Thank you very much for your friendly reply. May 1 at 20:54