[R] Long lines with Sweave

Martin Maechler maechler at stat.math.ethz.ch
Thu Sep 15 09:35:25 CEST 2005


>>>>> "Jan" == Jan T Kim <jtk at cmp.uea.ac.uk>
>>>>>     on Wed, 14 Sep 2005 14:46:20 +0100 writes:

    Jan> On Wed, Sep 14, 2005 at 02:49:56PM +0200, Henrik Andersson wrote:
    >> Jan T. Kim wrote:
    >> > On Wed, Sep 14, 2005 at 10:14:59AM +0200, Henrik Andersson wrote:
    >> > 
    >> >>I have used Sweave a lot the latest year, but never really used any long 
    >> >>function calls.
    >> >>
    >> >>
    >> >>If I have code which look like this
    >> >>
    >> >>-------------------------------------------------------------
    >> >>gof <- benthic.flux(ID="Gulf of Finland",
    >> >>                     meas.conc=conc,
    >> >>                     bw.conc=bw.conc,
    >> >>                     time=times,
    >> >>                     substance=expression(DIC~(mmol~m^{-3}))
    >> >>                     )
    >> >>-------------------------------------------------------------
    >> >>
    >> >>I get the output by Sweave in my pdf file, like this:
    >> >>
    >> >>---------------------------------------------------------------
    >> >> > gof <- benthic.flux(ID = "Gulf of Finland", meas.conc = conc,
    >> >>+ bw.conc = bw.conc, time = times, substance = expression(DIC ~
    >> >>+ (mmol ~ m^{
    >> >>+ -3
    >> >>+ })))
    >> >>----------------------------------------------------------------
    >> >>
    >> >>I can understand that it will not look exactly as entered but why is the 
    >> >>'-3' on a line of it's own?
    >> >>
    >> >>Can anyone suggest a idea to how I can make this more readable.
    >> > 
    >> > 
    >> > It seems you've been thinking LaTeX rather than R ;-)  :
    >> > The exponent "-3" in the expression should be enclosed by parentheses
    >> > rather than by curly braces.
    >> > 
    >> > The code formatting done by the print method inserts the newline after
    >> > "{" and before "}".
    >> > 
    >> > Best regards, Jan
    >> 
    >> If you look at demo(plotmath), I get the impression that m^(-3) does not 
    >> give me the desired behavior.
    >> 
    >> I want to have -3 in superscript without visible parentheses.
    >> 
    >> Tricky!

    Jan> Ok, I see.

    Jan> It seems to me that you could omit the curly braces in the example, I
    Jan> don't see any differences between the title in the plots produced by

    Jan> plot(1:10, main = expression(DIC~(mmol~m^-3)))

    Jan> and

    Jan> plot(1:10, main = expression(DIC~(mmol~m^{-3})))

    Jan> For more complex exponents, you could try plain() to prevent them from
    Jan> being wrongly grouped by operator precedence, as in

    Jan> plot(1:10, main = expression(DIC~(mmol~m^plain(-3 + t))))

neat idea, but

    Jan> Not exactly ideal for readability, however...

indeed.  And really only a workaround:

You shouldn't have to uglify your R code in order to work around
Sweave "pecularities".

Martin




More information about the R-help mailing list