I have a diagram of the following form, written with the package amscd:

  W @>\phi>> X \\
  @V{a}V{b}V  @V{c}V{d}V \\
  Y @>\phi>> Z \\

It want the vertical arrows to be parallel arrows in opposite direction, such that a and c point downwards and b and d point upwards. (For those who understand the terms, it is about an isomorphism between chain complexes.)

To my best knowledge, amscd does not provide these features. Can you show me a piece of code that provides this functionality and is similarly easy to use?


2 Answers 2


First of all don't use align* for a single object and prefer equation*.

Simple commutative diagrams with the CD environment can have arrows pointing

  • right

  • left

  • down

  • up

  • double stem, no arrow head

  • nothing (for filling blanks)


However CD doesn't allow for "double arrows" and you have to go to a more specialized package. For instance xy:

   W \ar[r]^{\phi} \ar@<-2pt>[d]_{a} & X \ar@<-2pt>[d]_{c} \\
   Y\ar@<-2pt>[u]_{b} \ar[r]^{\phi} & Z \ar@<-2pt>[u]_{d}

enter image description here

  • Thankyou for this answer! It helped me solve the last diagram issue that I had here:
    – qu1j0t3
    Aug 8, 2014 at 2:18

In addition to egregs answer, one could use the package tikz-cd for this:

% arara: pdflatex


W \arrow{r}{\phi} \arrow[shift right, swap]{d}{a}& X \arrow[shift right, swap]{d}{c}\\
Y \arrow{r}{\phi} \arrow[shift right, swap]{u}{b} & Z \arrow[shift right, swap]{u}{d}

enter image description here

  • 1
    Thanks, I guess that tikz-cd wasn't available at the time of my answer (or it was still too preliminary).
    – egreg
    Oct 9, 2014 at 11:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .