Yihui Xie
2011-Jun-20 21:57 UTC
[Rd] Quote the path of graphics output in Sweave when it contains spaces
Hi, I'm aware of the definition of a "valid filename" in .SweaveValidFilenameRegexp, but I think it might be better to quote the filename when it contains spaces instead of just giving a warning. This should bring us safer LaTeX code (although I never use spaces in paths). Here is the simple patch: Index: src/library/utils/R/SweaveDrivers.R ==================================================================--- src/library/utils/R/SweaveDrivers.R (revision 56193) +++ src/library/utils/R/SweaveDrivers.R (working copy) @@ -390,6 +390,8 @@ } if (options$include) { + if (grepl("[[:space:]]", chunkprefix)) + chunkprefix = shQuote(chunkprefix, type = "cmd") cat("\\includegraphics{", chunkprefix, "}\n", sep = "", file = object$output) linesout[thisline + 1L] <- srcline Thanks! 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
Duncan Murdoch
2011-Jun-20 22:58 UTC
[Rd] Quote the path of graphics output in Sweave when it contains spaces
On 11-06-20 5:57 PM, Yihui Xie wrote:> Hi, > > I'm aware of the definition of a "valid filename" in > .SweaveValidFilenameRegexp, but I think it might be better to quote > the filename when it contains spaces instead of just giving a warning. > This should bring us safer LaTeX code (although I never use spaces in > paths).That works in MikTeX 2.9's version of pdflatex, but not in latex. I imagine in 5 years it's possible all the different latex versions will consistently handle quotes, but it hasn't happened yet. Duncan Murdoch> > Here is the simple patch: > > Index: src/library/utils/R/SweaveDrivers.R > ==================================================================> --- src/library/utils/R/SweaveDrivers.R (revision 56193) > +++ src/library/utils/R/SweaveDrivers.R (working copy) > @@ -390,6 +390,8 @@ > } > > if (options$include) { > + if (grepl("[[:space:]]", chunkprefix)) > + chunkprefix = shQuote(chunkprefix, type = "cmd") > cat("\\includegraphics{", chunkprefix, "}\n", sep = "", > file = object$output) > linesout[thisline + 1L]<- srcline > > Thanks! > > 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 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel