# [Xy-pic] curved arrows and non-rectangular shapes

Stefan Fink stefan.fink at hanse.net
Fri Nov 14 17:26:36 CET 2003

Hi all,

having the following code, I discovered a strange behavior of curved
arrows pointing to elliptic shapes.

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\UseCurveFrames
\begin{xy}
( 15, 40) *=<24mm,16mm>[o][F]\txt{a}="a" *\frm{.},
( 70, 60) *=<8mm>[F-]\txt{b}="b",
\POS "b"  \ar              "a"|c
\POS "b"  \ar @/_2ex/      "a"|d
\POS "a"  \ar @{<-}@/^4ex/ "b"|e
\POS "a"  \ar @/^6ex/      "b"|f
\end{xy}
\end{document}

As you can see, straight arrows (c) and curved arrows starting at an
elliptic shape (f) make no problems. But I wasn't able to draw an curved
arrow (d) from b to a, which reaches the ellipse boundary. It always
ends at the surrounding rectangular frame, even when it's not drawn (the
frame).
To workaround this problem, I used arrow e with replaced head and tail.
It looks like what I wanted, but actually it points in the wrong direction.
Of course this will be no solution, if you have two elliptic shapes
pointing to each other.
If I missed an essential issue in understanding arrows or if there's
another way to solve this, please give me an hint.

Besides, to use the option \UseCurveFrames you have to first bugfix
xyframe.tex. Find the line

\def\UseCurveFrames{\xywithoption{curve}{\UseCurveframes@}}%

and change it to

\def\UseCurveFrames{\xywithoption{curve}{\UseCurveFrames@}}%

Second, don't use the misspelled \UseCurvedFrames as mentioned in the
reference manual.
I am using XY-pic version 3.7 (1999/02/16) - maybe it's just too old and