[Xy-pic] Re: diamond-shaped frames - a little more help needed

Ross Moore ross at ics.mq.edu.au
Thu Nov 13 02:24:34 CET 2003

Hello Maja,

On Wed, 12 Nov 2003, Maja Karaga wrote:

> Dear Ross, thank you again for your help. Unfortunately, the problem still
> remains.
> On Wed, 12 Nov 2003, Ross Moore wrote:
> > That's where you have it wrong.
> > The arrows have nothing to do with the diamond-shaped fames.
> >
> > Since you are using \xymatrix, the targets of arrows relate to the
> > size of the contents of the cell.
> >
> That`s exactly what bothers me - I would like the arrows to have
> everything to do with the frames, i.e to end and begin at their margins.

It would be nice to be able to specify that the <POS> of an entry
has a diamond-like shape, for the purposes of calculating where
arrows start and finish. Unfortunately there is no \diamondEdge
method in Xy-pic, which is what would implement this.

So instead, you will have to explicitly name places on the
diamonds for later use as source/target points for arrows.

The 4 extra parameters to \dframe and \diamondframe
are the included to allow arbitrary Xy-pic kernel code
for just this kind of requirement.

Have a look at

The top diagram is your code, the lower is my latest extension.
The coding is at:

Two different methods have been used to "fix" the middle

In one case, the mid-points of diamond edges are named
and used as the source of diagonal arrows.

In the other case, the corners of the diamond are named
and used as targets for arrows.
In this case, you need to be careful to not direct an arrow
at the target until after the target has been defined.

Hope this helps,


> > I'm assuming that you want arrows to point to the vertices of the
> > diamonds. That means you have to increase the size of the cell
> > contents to become the minimum rectangle that encloses the diamond.
> >
> >
> That assumption is unfortunately not true, and there lies the core of the
> problem. I`v attached .tex & .dvi file, so if you would care to look at
> it, you`ll understand why I started to think that using the slightly
> modified version of your frames (that is the first one at the picture, the
> others are yours) combined with some way to force the arrow to end a
> little before reaching the targeted object is perhaps the simplest
> solution.
> > Section 18.4 "Entries" of the Xy-pic Reference manual
> > tells you how to modify the shape/appearance of individual entries
> > using *[...]{...}  and  **[..]{..}  constructions.
> > There are some examples.  Study these, and experiment with the
> > changes to the examples; then use what you have learned this way.
> >
> I belive that I`v already went through that, although I`m not quite sure,
> I`v been through many xy-pic manuals lately. I`ll take a look.
> If you perhaps have some other suggestions or you know how to control
> arrows in a way I need, I would very much appreciate if you would e-mail
> it to me soon (I have about a day time left to finish it).
> >
> > Hope this helps,
> >
> > 	Ross Moore
> Regards, and thank you again,
> Maja
>  M.Karaga,
>  Department of Mathematics,
>  University of Zagreb

More information about the xy-pic mailing list