# [Rd] problem with \eqn (PR#8322)

Kurt Hornik Kurt.Hornik at wu-wien.ac.at
Fri Nov 18 20:38:01 CET 2005

>>>>> Duncan Murdoch writes:

> On 11/18/2005 12:40 PM, Hin-Tak Leung wrote:
>> Martin Maechler wrote:
>>
>>>>>>>> "Hin-Tak" == Hin-Tak Leung <hin-tak.leung at cimr.cam.ac.uk>
>>>>>>>> on Fri, 18 Nov 2005 16:38:28 +0000 writes:
>>>
>>>
Hin-Tak> Your own fault. See below. It is basic LaTeX and any LaTeX person
Hin-Tak> can tell you the answer...(most probably haven't bothered...)
>>>
>>> No.  Whereas I partly agree that it's Ross fault'' trying to
>>> use too smart LaTex (and using outdated \bf instead of \mathbf),
>>> ;-)
>>>
>>> The bug is really there, since we are talking about the Rd "language",
>>> not LaTeX, an in Rd,  \eqn and \deqn are defined to have either
>>> one or two arguments -- where Ross used the 2-argument version
>>> correctly (in principle at least) --> See the manual "Writing R
>>> Extensions".
>>
>>
>> Forgive me for not reading R-ext carefully, but Ross's Rd code is
>> still "obviously" wrong in the lights of the two-argument \eqn:
>> (really doesn't differ from the 1-arg interpretaion of \eqn)
>>
>> \eqn{{\bf\beta}_j}{\bf\beta}_jnormal-bracket5bracket-normal{b(j)}
>>
>> In other words,
>> \eqn{...}{...}_...
>>
>> and the "_" is still outside of any maths environment, which is most
>> probably not Ross's intention.

> But that is Latex code produced by R, not Rd code produced by Ross.
> The bug is in the Latex production (which I think is done by
> share/perl/R/Rdconv.pm, but I don't know Perl well enough to attempt
> to fix it).

Definitely a problem in Rdconv.

E.g.,

$cat foo.Rd \description{ \eqn{{A}}{B} } hornik at mithrandir:~/tmp$ R-d CMD Rdconv -t latex foo.Rd | grep eqn
\eqn{{A}}{A}{{B}

shows what is going on.

My reading of R-exts would suggest that it is not necessary to escape
braces inside \eqn (and in fact these are not unescaped by Rdconv).

Btw, the conversions of the above example are wrong for at least HTML
and text as well, giving

<i>A</i>{{B}

and

A{{B}

respectively.

-k