On Fri, Aug 30, 2013 at 12:40 PM, Marc Schwartz <marc_schwa...@me.com> wrote: > > On Aug 30, 2013, at 2:20 PM, Henrik Bengtsson <h...@biostat.ucsf.edu> wrote: > >> On Fri, Aug 30, 2013 at 12:14 PM, Duncan Murdoch >> <murdoch.dun...@gmail.com> wrote: >>> On 30/08/2013 3:09 PM, Marc Schwartz wrote: >>>> >>>> On Aug 30, 2013, at 2:00 PM, cstrato <cstr...@aon.at> wrote: >>>> >>>>> Dear all, >>>>> >>>>> To create a *.pdf file from a *.Rnw file I do: >>>>> >>>>> olddir <- getwd(); >>>>> setwd(outdir); >>>>> >>>>> tryCatch({Sweave("QAReport.Rnw"); >>>>> tools::texi2pdf("QAReport.tex", clean=TRUE) >>>>> }, >>>>> finally = setwd(olddir) >>>>> ); >>>>> >>>>> This works fine, however 'clean=TRUE' does only work when: >>>>> outdir <- "Test/inst/doc/" >>>>> but does not remove the files *.aux, *.log, *.toc when: >>>>> outdir <- "Test/" >>>>> >>>>> Why does function texi2pdf() require the directory structure for >>>>> vignettes for the deletion of interim files? >>>>> >>>>> (The help file?texi2pdf does not mention that this structure is >>>>> necessary.) >>>>> >>>>> Best regards >>>>> Christian >>>> >>>> >>>> In the Details section of ?texi2pdf, there is: >>>> >>>> "Despite the name, this is used in R to compile LaTeX files, specifically >>>> those generated from vignettes." >>>> >>>> >>>> Since it is intended specifically for package vignettes, the path >>>> requirement should not be a surprise. :-) >>>> >>> >>> There is no path requirement. Christian was incorrect in his diagnosis. >>> >>> texi2pdf won't delete files that existed before it was run, whether or not >>> they were changed during the run. That's likely what Christian was seeing. >> >> Or, that the cleanup fails if the compilation is too quick, cf. >> PR#15394 'texi2dvi(..., clean=TRUE) sometimes too quick for "clean" >> (with PATCH)' submitted on July 17, 2013: >> >> https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15394 >> >> /Henrik > > > Interesting. > > It is late on a Friday, so perhaps I am short on functioning neurons. > > If the intent of 'clean = TRUE' is to remove the byproducts of compiling the > .PDF file from the source .TEX file, why not just delete the resultant > aux|log|tex|dvi files that match the basename of the source .TEX file rather > than being dependent upon the time stamp?
I'm quite sure because it is not easy/impossible to predict which the byproducts are. To catch everything, you'd have to do something <basename>.* and that is certainly not safe. /Henrik > > Is there a reason that I am failing to consider for a need to retain these > files if older than the current time stamp? Perhaps if the compilation > requires multiple cycles of latex processing (eg. the use of longtables, > etc.), in which case, one could run texi2pdf(..., clean = FALSE) some number > of times, then a final texi2pdf(..., clean = TRUE) when done. I actually have > my own shell script that does this when creating Sweave files. > > Of course, the help file does have the following for the 'clean' argument: > ...May not work on some platforms. > > Thanks, > > Marc > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel