[Xy-pic] Deficiencies in xymatrix package?

Michael Abbott michael at araneidae.co.uk
Sun May 11 19:50:59 CEST 2003

> You asked about the deficiencies in the xymatrix package.  There are four
> and they are described on pp. 31 and 32 of the document, but I will
> summarize.
This is interesting, and if you don't mind, I'd like to discuss these at
some length.  I find xymatrix extremely powerful and infuriatingly close
to *exactly* what I want that I'd like to make some effort to see if the
gaps can be closed.

To which document do you refer, above?  If you mean the manual with your
diagram package, I guess I must be hopelessly out of date (pp 31 & 32 are
the index on my copy).

I fear the main reason I'm not looking more closely at your diagrams
package is that it seems to be driven by numerical placement.  The TTT
example in your manual has over 30 numbers in it;  I'm willing to work
really quite hard to avoid writing more than a couple of explicit numbers!

> The most serious is that if one node of a horizontal arrow has a
> superscript and the other a subscript, they will quite obviously appear
> on different levels.
I quite agree, and I have to say that this "feature" is really annoying.
I would be very happy if an option to xymatrix could be implemented to
make centre-line alignment the default option.

I started a conversation about this in March, but alas Ross said that this
would be "rather hard" to do.

> Second if two nodes, again of a horizontal arrow, have significantly
> different lengths, the arrow label will not be centred horizontally over
> the arrow.
Actually, this isn't quite right: you just have to use the - prefix on the
label, and write, eg, \ar[r]^-{label}.  Mildly irritating, if you forget,
but not really a problem.

> Third, if the arrow label is too long, it is hard to get the arrow to
> grow larger to accomodate it.  Of course, in macros you get to set the
> arrow length directly.
I'm not sure I understand this.  It's true that xymatrix columns don't
grow to accomodate labels, and after first using Paul Taylor's (time
bombed, so abandoned) diagrams package, this was a bit of a surprise.
However, I'm happy to play with column spacings when necessary.

> Fourth, if you do a triangle with two vertices on one line and a third
> below and if the two upper nodes have very different lengths, the
> triangle will be visibly distorted.  You might want this effect (and can
> do it in diagxy if you wish), but probably not.
True, but I think you can force xymatrix to use equal width columns with,
for example, \xymatrix@!C{...}.

For me it's only point 2 which really annoys (plus the fact that, so far,
I can't control my box sizes properly; hopefully someone will show me the

More information about the Xy-pic mailing list