[Xy-pic] Compilation error:

Lars Cleary lc at publius.ch
Fri Dec 14 15:25:19 CET 2007


Dear Ross

Thank you very much for your analysis and explanation.

I forwarded our message exchange to the author of xytree.
I hope he can fix it.

Kind regards
Lars

> -----Original Message-----
> From: Ross Moore [mailto:ross at ics.mq.edu.au] 
> Sent: Friday, December 14, 2007 1:08
> To: Lars Peter Cleary
> Cc: xy-pic at tug.org
> Subject: Re: [Xy-pic] Compilation error:
> 
> Hello Lars,
> 
> On 14/12/2007, at 1:33 AM, Lars Peter Cleary wrote:
> 
> > Dear Ross
> >
> > For my setup I also needed to add $ to indicate 
> mathematical formulas.
> 
> Strange.
> Xy-pic was designed to put labels directly into math-mode,
> so that there would be no need to insert the delimiters,
> especially since most diagrams are done in math-displays anyway.
> 
> 
> >
> > Below the final code for the tree, it's a Markow-event-tree:
> > \xymatrix{
> >  & & & & {\circ} \ar@{-}[dll]_{$\frac{1}{2}$}
> 
> 
> > If the following is of any interest:
> > My setup is Windows XP, MikTex 2.7 (all packages) and GPL  
> > ghostscript 8.61.
> > My editor is Eclipse (3.3.1.1) with the TeXlipse plugin (1.2.1).
> > This setup works very well, by the way.
> >
> > For the math I use following packages:
> > \usepackage{amsmath}
> > \usepackage{amsthm}
> > \usepackage{amsfonts}
> > \usepackage[all]{xy}
> > \usepackage{xytree}
> 
> Ahah. Here's the culprit.
> 
>   xytree.sty  has a very unfriendly line of coding:
> 
>    \def\labelstyle{\hbox}
> 
> This globally overrides the Xy-pic default setting of:
> 
>    \xylet@\labelstyle=\scriptstyle
> 
> 
> It also has an effect on parsing, since \hbox requires
> a parameter.
> Note that this gives a good explanation of your original
> problem:
>              \ar@{-}[dll]_\frac{1}{2}
> 
> would result in trying to set the label using  \hbox{\frac}
> and the numbers  {1}{2}  would just become part of the
> current cell's contents.
> 
> 
> The author of  xytree.sty   should have implemented a better way
> to apply his desired change to  \labelstyle  by restricting it
> to the commands, defined within his own package, such as
>     \xytree and \yytree .
> 
> Otherwise it affects usage within Xy-pic diagrams that have
> no relation whatsoever to his tree-like layouts.
> It means that such diagrams cannot be copied and reused
> within documents that do not load his  xytree  package,
> without the risk of encountering problems, whose solution
> is not documented anywhere (until now!).
> 
> 
> 
> BTW,  xtree.sty  also changes \objectstyle to  \hbox ,
> but this is limited to the argument of the \xytext  command.
> I'm very surprised that people haven't encountered problems
> in examples using this.
> 
> 
> 
> >
> > Thanks a lot for the pointer, Ross, that was very helpful!
> 
> Thank you for reporting it,
> and the subsequent incompatibility that your latest
> message has revealed.
> 
> 
> >
> > Kind regards
> > Lars
> >
> > On 12/13/07, Ross Moore <ross at ics.mq.edu.au> wrote:
> >> Hello Lars,
> >>
> >> On 12/12/2007, at 10:20 PM, Lars Peter Cleary wrote:
> >>
> >>> Hi all
> >>>
> >>> I have some trouble compiling this bit of added code 
> (without it it
> >>> works):
> >>>
> >>> \xymatrix{
> >>>  & & & & & & & {\circ} \ar@{-}[dl]_\frac{1}{2} \ar@{-}[dr]^\frac 
> >>> {1}{2}
> >>
> >> You cannot set a complicated object, such as a fraction,
> >> as a label in this way. It has to be:
> >>
> >>     \ar@{-}[dl]_{\frac{1}{2}}  \ar@{-}[dr]^{\frac{1}{2}}
> >>
> >> using extra braces.
> >> Otherwise the  \frac  will end up being used in a place
> >> quite apart from its arguments, thus triggering the kind
> >> of messages that you are seeing.
> >>
> >>
> >>> & & & & & & & \\
> >>>  & & & *+[F]\txt{L1} \ar@{-}[dl]_\frac{1}{2} \ar@{-}[dr]^\frac{1} 
> >>> {2} &
> >>> & & & & & & & *+[F]\txt{L2} \ar@{-}[dl]_\frac{1}{4}
> >>> \ar@{-}[dr]^\frac{3}{4} & & & \\
> >>>  & & *+[o][F-]\txt{G} \ar@{-}[dl]_1 \ar@{-}[dr]^1 & & *+[o][F-] 
> >>> \txt{V}
> >>> \ar@{-}[dl]_1 \ar@{-}[dr]^1 & & & & & &
> >>>  *+[o][F-]\txt{G} \ar@{-}[dl]_1 \ar@{-}[dr]^1 & & *+[o][F-]\txt{V}
> >>> \ar@{-}[dl]_1 \ar@{-}[dr]^1 & & \\ & *+[F]\txt{L1}
> >>> \ar@{-}[dl]_\frac{1}{2} \ar@{-}[dr]^\frac{1}{2} & & & &
> >>>  *+[F]\txt{L2} \ar@{-}[dl]_\frac{1}{4} 
> \ar@{-}[dr]^\frac{3}{4} & & &
> >>> *+[F]\txt{L2} \ar@{-}[dl]_\frac{1}{4}
> >>>  \ar@{-}[dr]^\frac{3}{4} & & & & *+[F]\txt{L1} \ar@{-}[dl]_\frac 
> >>> {1}{2}
> >>> \ar@{-}[dr]^\frac{1}{2} & \\
> >>> *+[o][F-]\txt{G} & & *+[o][F-]\txt{V} & & *+[o][F-]\txt{G} &
> >>> *+[o][F-]\txt{V} & & *+[o][F-]\txt{G} & & *+[o][F-]\txt{V}
> >>> & & *+[o][F-]\txt{G} & & *+[o][F-]\txt{V}
> >>> }
> >>
> >> Put braces around all the  \frac  constructions, and it all
> >> compiles just fine --- though the resulting tree diagram makes
> >> no sense to me, presumably because it is incomplete at this stage.
> >>
> >>
> >> Hope this helps,
> >>
> >>        Ross Moore
> >>
> >>
> >>>
> >>> The error messages I get from the console:
> >>> Argument of \frac has an extra }. } (followed by: )
> >>> Paragraph ended before \frac was complete. } (followed by: )
> >>>
> >>> The lines indicated are the ones of the last bracket closing
> >>> '\xymatrix{}'.
> >>>
> >>>
> >>>
> >>> I tried omitting the fractions, then it compiles (some formatting
> >>> corrections are needed though, I'll sort that later.).
> >>>
> >>>
> >>>
> >>> Does anybody see an obvious error in my code?
> >>>
> >>> Thanks and kind regards
> >>> Lars
> >>> _______________________________________________
> >>> xy-pic mailing list
> >>> http://tug.org/mailman/listinfo/xy-pic
> >>
> >> 
> --------------------------------------------------------------------- 
> >> ---
> >> Ross Moore                                          
> >> ross at maths.mq.edu.au
> >> Mathematics Department                             office: E7A-419
> >> Macquarie University                               tel: +61 +2  
> >> 9850 8955
> >> Sydney, Australia  2109                            fax: +61 +2  
> >> 9850 8114
> >> 
> --------------------------------------------------------------------- 
> >> ---
> >>
> >>
> >>
> > _______________________________________________
> > xy-pic mailing list
> > http://tug.org/mailman/listinfo/xy-pic
> 
> --------------------------------------------------------------
> ----------
> Ross Moore                                         
> ross at maths.mq.edu.au
> Mathematics Department                             office: E7A-419
> Macquarie University                               tel: +61 
> +2 9850 8955
> Sydney, Australia  2109                            fax: +61 
> +2 9850 8114
> --------------------------------------------------------------
> ----------
> 
> 



More information about the xy-pic mailing list