In the following MEW I have two problems

  1. Only due to the MWE: stackexchange is having some problem highlighting my code (due to the back upper coma)
  2. The real problem: I would like that the snake go through in the middle, between V,WZ and rho1,rho2,rho3.
    &&\operatorname{ker}(\rho_1) \ar[rr]\ar[d]^-{\iota_1}
      &&\operatorname{ker}(\rho_2) \ar[rr]\ar[d]^-{\iota_2}
      &&\operatorname{ker}(\rho_3) \ar[d]^-{\iota_3}
        \ar`r[d]`[ll]`[llllld]`[dddllll][dddllll]  \\
    &&V \ar[rr]^{\phi}\ar[d]^{\rho_1}
      &&W \ar[rr]^{\psi}\ar[d]^{\rho_2}
      &&Z \ar[rr]\ar[d]^{\rho_3}&&0\\
    0\ar[rr] &&V' \ar[rr]^{\phi'}\ar[d]^-{\pi_1}
        &&W' \ar[rr]^{\psi'}\ar[d]^-{\pi_2}
        &&Z'\ar[d]^-{\pi_3} &&\\

enter image description here

  • Welcome to TeX SX! It is easy to do with pstricks, if you may consider doing it with this package.
    – Bernard
    Feb 27, 2021 at 19:04
  • @Bernard I have done a huge lot with tikz or xymatrix. I can use pstrick only if it can live together with the other two. In this case it would interest me. Thank you.
    – Agyla
    Feb 27, 2021 at 19:48

2 Answers 2


From the old question How do you draw the "snake" arrow for the connecting homomorphism in the snake lemma? you can adapt your code. Here I have put part of your letters.

              && {\ker(\rho_1)} \ar[r]   & {\ker(\rho_2)} \ar[r]   & {\ker(\rho_3)}
                    `[dddll]|!{[ddllll];[ddll]}\hole [dddll]
                                                                       &   \\
              && A  \ar[r]^{f}      & B  \ar[r]^{g}      & C \ar[r]    & 0 \\
    0 \ar[rr] && A\pp \ar[r]^{f'}   & B\pp \ar[r]^{g'}   & C\pp        &   \\
              && {\coker(a)} \ar[r] & {\coker(b)} \ar[r] & {\coker(c)} &   \\
    % vertical arrows
    \ar"1,3";"2,3"^{\iota_1}   \ar"1,4";"2,4"   \ar"1,5";"2,5"
    \ar"2,3";"3,3"^a \ar"2,4";"3,4"^b \ar"2,5";"3,5"^c
    \ar"3,3";"4,3"   \ar"3,4";"4,4"   \ar"3,5";"4,5"

enter image description here

  • the main requirement was the arrow to cross in the middle, between A,B,C and a,b,c. Thank you for the link, it has perhaps the only workable solution for me: tikz-cd
    – Agyla
    Feb 28, 2021 at 6:26
  • @Agyla I hoped to have given an help. Xy package for me it is very complicated instead of tikz-cd. Best regards.
    – Sebastiano
    Feb 28, 2021 at 21:31

A pstricks solution:

\usepackage{pst-node, multido}


$ \psset{arrows=->, arrowinset=0.15, linewidth=0.6pt, linejoin=1, nodesep=2pt, rowsep=0.75cm, colsep=0.8cm, shortput =tablr, labelsep=1.5pt}
\begin{psmatrix}[mnode = R]
  %%% nodes
    & \ker(\rho_1) & \ker(\rho_2) &\ker(\rho_3)\\
    & V & W & Z & 0 \pnode[0,-0.3cm]{I}\\
    0 & V' & W' & Z' \\
    & \coker(\rho_1) & \coker(\rho_2) &\coker(\rho_3)
   %%% snake arrow
     \ncbar[arrows=-, armA=1.2cm, nodesepB=0pt]{1,4}{I}
     \ncbar[angle=180, armB=1.2cm, nodesepA=0pt]{I}{4,2}}
    %%% horizontal arrows%
 \foreach \s/\t in {2/3,3/4}{\ncline{1,\s}{1,\t}\ncline{4,\s}{4,\t}}
 \ncline{2,2}{2,3}^{\phi } \ncline{2,3}{2,4}^{\psi } \ncline{2,4}{2,5}
 \ncline{3,1}{3,2}\ncline{3,2}{3,3}^{\phi'} \ncline{3,3}{3,4}^{\psi'}
  %%% vertical arrows
    \foreach \i/\c in {1/2,2/3,3/4}{\ncline{1,\c}{2,\c}>{\iota_\i} \ncline{2,\c}{3,\c}>{\rho_\i} %


enter image description here


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.