>>>>> Ivan Krylov >>>>> on Thu, 29 Jul 2021 17:48:38 +0200 writes:
> Hello R-devel! > > Here's an Rd file that produces a large empty area when converted to > HTML: > > \name{repro} > \title{title} > \description{description} > \details{ > Hello > \Sexpr[stage=build,results=hide]{ > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > invisible(NULL) > "" # workaround: remove results=hide and use the return value > } > } > > This seems to happen because \Sexpr gets expanded to \verb{ as many > newlines as there were code lines } by processRdChunk, by first storing > a newline for each line of the code: > > https://github.com/wch/r-source/blob/d7a4ed9aaeee1f57c3c165aefa08b8d69dfe59fa/src/library/tools/R/RdConv2.R#L257 > > ...and then the newlines get translated to \verb because res is > not empty: > > https://github.com/wch/r-source/blob/d7a4ed9aaeee1f57c3c165aefa08b8d69dfe59fa/src/library/tools/R/RdConv2.R#L332 > > As long as Rd above doesn't stem from my misuse of \Sexpr, I would like > to propose the following patch, which seems to fix the problem: > > Index: src/library/tools/R/RdConv2.R > =================================================================== > --- src/library/tools/R/RdConv2.R (revision 80675) > +++ src/library/tools/R/RdConv2.R (working copy) > @@ -329,6 +329,8 @@ > } > } else if (options$results == "text") > res <- tagged(err, "TEXT") > + else if (options$results == "hide") > + res <- tagged("", "COMMENT") > else if (length(res)) { > res <- lapply(as.list(res), function(x) tagged(x, "VERB")) > res <- tagged(res, "\\verb") > > There are probably other ways of fixing this problem, e.g. by only > populating res if options$results != "hide" or only appending newlines > if res is non-empty. Thank you, Ivan, for the example and patch, I have implemented a version of your patch in my local copy of R-devel and tested your example, also with Rd2latex() .. interestingly Rd2txt() does not produce the extra new lines even without your patch. I plan to commit your proposal after the weekend unless has reasons against that. Best regards, Martin ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel