[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 
the bugs are already fixed.

Regards, Stefan.




More information about the xy-pic mailing list