\documentclass{ppex} \nonstopmode \usepackage [curve,arrow,frame]{xy} \pagestyle{empty} \setlength\textwidth{135.0pt} \begin{document} \ResetPreambleCommands \ReadyForTheFray \usepackage [curve,arrow,frame]{xy} \[\begin{xy} <1cm,0cm>: (0,0)*+@{*}="a"*+!DL{\mathrm{A}},"a" \ar@(dr,dl) \ar@{~>} (2,0)*+@{*}="b"*+!DR{\mathrm{B}},"b" \ar@(r,d) "b";"b" \ar@{<->} "b";(2,2)*+@{*}="c"*+!UR{\mathrm{C}},"c" \ar@(u,r) "c";"c" |*=<2pt>[o][F]{} \ar@(ul,dr) "c"; (0,2)*+@{*}="d"*+!U{\mathrm{D}},"d" \ar@(ul,ur) "d";"d" \ar@{.>}@`{(-0.8,1.5),(0.,1.0),(-0.8,0.5)} "d"; \end{xy}\] \end{document}