[Xy-pic] macros in xy
Michael Barr
barr at math.mcgill.ca
Sat Jul 28 14:49:27 CEST 2007
What I found is that the only way of using macros in xy for internal
operations is to assemble the arguments and then issue a command that xy
recognizes. Here is an example from my diagxy macros:
\def\topppp/#1/<#2>^#3_#4{\:%
\ifnum#2=0%
\setwdth{#3}{#4}\deltax=\wdth \divide \deltax by \ul
\advance \deltax by \defaultmargin \ratchet{\deltax}{100}
\else \deltax #2%
\fi%
\xy\ar@{#1}^{#3}_{#4}(\deltax,0) \endxy%
\:}%
What it does is make an arrow in the text. In fact, it is the operating
macro for a macro called \to that has a number of parameters, all
optional. Aside from spacing, what it does is assemble the parameters and
then issue a valid xy command that is parsed by xy. There are also \top,
\toppp all of which deal with putting in default values for the various
optional parameters. Incidentally, I could not begin to imagine to doing
all this using \newcommand. It just doesn't have the chops.
Michael Barr
More information about the xy-pic
mailing list