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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.