[Xy-pic] arrows passing object bounds in xymatrix

Ross Moore ross.moore at mq.edu.au
Wed Jan 19 21:29:09 CET 2011


Hi Willem,

On 20/01/2011, at 4:03 AM, Willem Heijltjes wrote:

> Dear all,
> 
> I've been using the archives of this list to solve my XY-troubles for
> some time now, but this is the first time I can't seem to find a
> solution. The problem is this: I have a lot of xy-matrix diagrams to
> draw, and I'm using macro's to make life easier. These are forcing me
> to use \POS or \drop, as * does not get expanded all the time. But
> objects dropped this way don't override the size set by entry
> modifiers, at least when used as the target of an arrow. See the
> following example.
> 
> \xymatrix @!0 @C=32pt @R=16pt @*=<0pt> {
>  *=<10pt>[o][F]{} \ar@{-}[r] & *=<10pt>[o][F]{} \\
>  {}\POS*=<10pt>[o][F]{} \ar@{-}[r] & {}\POS*=<10pt>[o][F]{} \\
> }
> 
> Has anyone encountered this before, and is there a solution? The way I
> address it now is by dropping an extra object, using *, but this is
> rather cumbersome.

So you have discovered that * is a special character when it occurs
as the first token in a cell of an \xymatrix .
This is because parsing is active for each cell --- to turn it into
an Xy-pic <object> for the diagram being built. 
There is a look-ahead, specifically looking to see if there is a '*',
which then allows you to override the defaults for each cell.

You can define your own macros, but their expansions must include
\POS or \SAVE ... \RESTORE  if they are to describe \Xy-pic <objects>.
This is because encountering the macro ends the \Xy parsing.
Thus you must turn it on again to build your objects. 


The attached PDF and source gives 2 possible ways to reduce the
amount of coding in your diagrams, making the source easier
to read and maintain.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: marrows.pdf
Type: application/pdf
Size: 31109 bytes
Desc: not available
URL: <http://tug.org/pipermail/xy-pic/attachments/20110120/15423080/attachment-0001.pdf>
-------------- next part --------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: marrows.tex
Type: application/octet-stream
Size: 2248 bytes
Desc: not available
URL: <http://tug.org/pipermail/xy-pic/attachments/20110120/15423080/attachment-0001.obj>
-------------- next part --------------




> 
> Many thanks,
> 
> -Willem

Hope this helps,

	Ross

------------------------------------------------------------------------
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