I try to make a commutative diagram like this:

enter image description here

with the code

Y \ar@{->>}[rd] \ar@{->>}[r]
&{Y_1} \ar@{.>}[d]^<<<{\cong}_<<<{\exists} \ar@{^{(}->}[r]
&{Y_2} \ar@{^{(}->}[ru]}$

The question is why the hook of the arrow from Y_2 to X is unclear, although it does not actually overlap other things?

  • It probably depends on the PDF viewer. Try to zoom in and out and see what changes. Dec 14, 2013 at 5:53
  • This is what I get with SumatraPDF and with Adobe Reader. As you can see the latter is poor compared with the former. Dec 14, 2013 at 6:15
  • Please observe different shapes of arrows. (Win7, MikTeX 2.8, Adobe Reader and Sumatra with similar results): i.stack.imgur.com/Wcad4.png Dec 14, 2013 at 6:32
  • With exactly the same code right? So it is really viewer-dependent. But I wonder whether there are more stable solutions, which is standard and independent of the viewer. For example, how do we make the hook smaller and to move the starting point of the hooked arrow to its northeast? Dec 14, 2013 at 9:57

1 Answer 1


I can't reproduce the issue, that seems to be due a viewer issue and, maybe, a non up-to-date version of Xy-pic.

With the most recent versions, the arrows are not drawn with characters, but using the driver's facilities (dvips or pdftex), while your picture seems to show you're still using a character based version.

Anyway, there's a possibly superior alternative, namely tikz-cd:


\usepackage[all,cmtip]{xy} % to show your code



Y \ar@{->>}[rd] \ar@{->>}[r]
& Y_1 \ar@{.>}[d]^<<<{\cong}_<<<{\exists} \ar@{^{(}->}[r]
& X\\
& Y_2 \ar@{^{(}->}[ru]}

Y \arrow[two heads]{r} \arrow[two heads]{dr} &
  Y_1 \arrow[densely dotted]{d}{\cong}[swap]{\exists}
      \arrow[hook]{r} &
  X \\
& Y_2 \arrow[hook]{ur}


enter image description here

You must log in to answer this question.

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