[Tex/LaTex] Vertical cofibration arrow in xypic

arrowsdiagramsxy-pic

I want to use xypic to make diagrams using vertical cofibration arrows, i.e. ones that look like $\rightarrowtail$.
Naively using

\ar@{>->}

gives an arrow whose tail overlaps with the source object. There is an exercise in the xyguide
that fixes this:

\newdir{ >}{{}*!/-5pt/@{>}}.

But using this for vertical arrows gives tails that are horizontally shifted and do not attach to the shaft. How can I fix this or is there a nicer way to do such arrows in xypic anyway? This is the best I have seen so far but the results are not exceptional.

Here's a MWE

\documentclass{article}
\usepackage[all]{xy}
\newdir{ >}{{}*!/-5pt/@{>}}

\begin{document}
\[
\xymatrix{
 S_{P} \ar@{=}[r] \ar@{ >->}[d] & S_{P} \ar@{->>}[r] \ar@{ >->}[d] & 0 \ar@{ >->}[d] \\
 R' \ar@{ >->}[r] \ar@{->>}[d] & R \ar@{->>}[r] \ar@{->>}[d] & M \ar@{=}[d] \\ 
 P' \ar@{ >->}[r] & P \ar@{->>}[r] & M
}
\]
\end{document}

enter image description here

Best Answer

a one-line change in your existing example, adding cmtip to

\usepackage[all,cmtip]{xy}

gives this result:

output of original example with code change as indicated

Related Question