[Xy-pic] **{} and !E

Ross Moore ross.moore at mq.edu.au
Fri Feb 8 04:49:06 CET 2013

Hello Witek,

On 08/02/2013, at 8:52 AM, Witek Kwiatkowski wrote:

> Hi all,
> I am very new to xy-pic (Nota bene phenomenal software!!!) and  I have difficulties to understand how it handle positions.
> Here is the example I do not understand.
> \xy
> <1cm,0cm>:
> (1,1) *=<50pt>{a}*\frm{-}; (2,8)**{}, (3,5) *=<70pt>!E{c}*\frm{-}
> **\dir{-}
> \endxy
> According to the manual !E should move a reference point to the edge point which is lying on the line from p (2,8) to the center of {c}.
> Also from the manual <pos>, <coord> will move c to (3,5)  and **{} will connect (1,1) with (2,8) without affecting positions.
> However in this case **{} and !E are related. What seems to be going on here is that **{} is cuting the box of {a} in two points one in in the direction of center of {a} to the current position (2,8) and the other is the opposite. And this opposite transfered in proportional relation to  box {c} will become a new reference point after !E.
> so for example if we put p!L instead of (2,8)  !E will correspond to !R  on {c}.
> Could someone point out the mechanism of such behaviour.

Replace the !E by !C and you will get the left-hand version of your
two boxes, as shown in the attached image.
Also shown is the line from (1,1) to (2,8). 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: texshop_image.jpeg
Type: image/jpeg
Size: 23844 bytes
Desc: not available
URL: <http://tug.org/pipermail/xy-pic/attachments/20130208/5c81b5ab/attachment-0001.jpeg>
-------------- next part --------------

Your coding is asking for a box of side-length 70pt
to be placed such that the point (3,5) is at the edge.
The !E modifier means to displace the box in the direction
of the dotted line (since that was the connection in effect
when !E was encountered), by an amount that gets to the 
edge of the box when travelling parallel to that direction.

Thus (3,5) is at the edge of the rectangle somewhere along 
the bottom edge. Precisely where is such that the line 
from there to the centre (where 'c' is printed) is parallel
to the dotted line. 

I think the picture shows this to be true.

> Thanks,
> Witek

Hope this helps,


Ross Moore                                       ross.moore at mq.edu.au 
Mathematics Department                           office: E7A-419      
Macquarie University                             tel: +61 (0)2 9850 8955
Sydney, Australia  2109                          fax: +61 (0)2 9850 8114

More information about the xy-pic mailing list