[R] Line numbers in Sweave
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Nov 3 17:22:31 CET 2010
On 03/11/2010 11:52 AM, Yihui Xie wrote:
> Well, I know this is true for the default Sweave(), and my problem
> actually comes from the pgfSweave package: I used some tricks to
> "cheat" R to parse and deparse the code chunks so that the output can
> be automatically formatted (and preserve the comments, [1]). The price
> to pay for not being "honest" is these line numbers since R 2.12.0
> (even if there are no errors in my code). As I am unable to figure out
> the logic behind Sweave() to generate line numbers, I cannot modify my
> code either. So a temporary dirty solution is to turn off the
> reporting of line numbers.
Could you be more specific? I don't understand how the line numbers
would affect anything if you don't have syntax errors.
> I wish the keep.source=FALSE option can preserve comments so that we
> don't need to touch utils:::RweaveLatexRuncode ([2]).
This is basically impossible: with keep.source=FALSE, you are just
seeing deparsed code. The comments don't make it into parsed code, so
the deparser never sees them.
I don't know the evaluate package, but I think I remember that the
highlight package has its own parser, it doesn't use R's. Perhaps R's
parser could import some of the differences, but I think it's
complicated enough as it is, and would rather not make it more so.
> Formatting the
> code chunks is really a nice feature with keep.source=FALSE, but the
> price of discarding comments is too high... I think the evaluate
> package might be a good place to look at (or perhaps the highlight
> package), which performs just like the R terminal (keep the comments
> and report the errors without really stopping R, [3]).
The error in [3] is a run-time error, not a syntax error. It should be
unaffected by the line numbers.
Duncan Murdoch
> Thanks!
>
> [1] https://github.com/cameronbracken/pgfSweave/blob/master/R/pgfSweaveDriver.R#L297
> [2] http://yihui.name/en/wp-content/uploads/2009/11/Sweave2.pdf
> [3] see the error in the last but one example:
> http://had.co.nz/ggplot2/stat_smooth.html
>
> Regards,
> Yihui
> --
> Yihui Xie<xieyihui at gmail.com>
> Phone: 515-294-2465 Web: http://yihui.name
> Department of Statistics, Iowa State University
> 2215 Snedecor Hall, Ames, IA
>
>
>
> On Tue, Nov 2, 2010 at 5:09 PM, Duncan Murdoch<murdoch.duncan at gmail.com> wrote:
> > On 02/11/2010 5:50 PM, Yihui Xie wrote:
> >>
> >> Hi,
> >>
> >> I thumbed through the source code Sweave.R but was unable to figure
> >> out when (under what conditions) R will insert the line numbers to the
> >> output. The R 2.12.0 news said:
> >>
> >> • Parsing errors detected during Sweave() processing will now be
> >> reported referencing their original location in the source file.
> >>
> >> Do we have any options to turn off this reporting? Thanks!
> >
> > Sure: just don't include any syntax errors.
> >
> > Duncan Murdoch
> >
More information about the R-help
mailing list