使用knitr编译.rnw文件后自动删除.tex文件

标签 r knitr r-markdown sweave pdflatex

对于 rmarkdown 文件,有一个选项允许选择编译后是否应删除 .tex 文件。因此仅保留 .rmd 和 .pdf 文件。

是否也有办法为 .rnw 文件实现此目的?

最佳答案

除了自己实现更清洁的功能之外,我还没有找到任何其他解决方案。检查一下:

cleanFolder <- function() {
  answer <- NA
  while(!(answer %in% c('y', 'n'))) {
    answer <- readline(paste("Clean ", getwd(),"? (y/n)"))
  }
  if(answer == 'y') {
    rules <- c('.log', '.vrb', '.nav', '.snm', '.toc', 
               '-tikzDictionary', '.tex', '.synctex.gz')
    file.remove(list.files(pattern = paste0('\\',rules ,'$', collapse = '|')))
  }
}

它应该是不言自明的:

  1. 要求用户确认当前工作目录是要清理的目录。

  2. rules 包含应注意的所有文件扩展名(或诸如 -tikzDictionary 之类的结尾)。

  3. 最后,file.remove 使用正则表达式删除 list.files 选择的所有文件。

您可以将此函数添加到自定义包中,该包在您启动新的 R session 时加载,并在编译 *.Rnw 文档后调用它。

关于使用knitr编译.rnw文件后自动删除.tex文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39896487/

相关文章:

r - 使用应用函数 dir.exist 和 dir.create

R 绘图因子与 y 轴上的值

R Markdown - 没有 ODT 和 LaTeX 选项作为输出

r - Bookdown/thesisdown/huskydown : change page margins for a single page within a document

r - Knitr : automated figure numbering in the file names

r - 如何让 Rmarkdown 包含源脚本打开的窗口中的绘图?

r - 在输出中显示 <<..>>=

r - 基于值通过R中的ggmap生成空间热图

r - 是否可以在没有 kableExtra 的情况下使用 kable 更改列宽?

html - 遵循 HTML knit - RMarkdown 包括空白 block