RMarkdown生成文件看不到子文档更改

时间:2018-10-05 20:58:01

标签: makefile r-markdown

我有一个具有以下结构的项目:

root
    - master.pdf
    - master.Rmd
    /assests/sections/child1.Rmd
                      child2.Rmd
    /assests/bib/mybib.bib

我的makefile看起来像这样:

PDF_FILE=master.pdf

all : $(PDF_FILE)

clean : 
    rm -f $(PDF_FILE)

%.pdf : %.Rmd
    Rscript -e 'rmarkdown::render("$<")'

如果我在child1.Rmdchild2.Rmd中进行更改,makefile将不运行,因为它仅在master.Rmd中寻找更改。我试图将以下内容合并到我的Makefile中:

INCLUDES := $(wildcard assets/sections/*Rmd)

但是我还没有成功(它仍然显示“所有文件现在都是最新的”)。 如何获取Makefile来查看子文档?

1 个答案:

答案 0 :(得分:0)

我添加了

$(wildcard assets/sections/*.Rmd)

到Makefile的最后一行...

%.pdf : %.Rmd $(wildcard assets/sections/*.Rmd)
Rscript -e 'rmarkdown::render("$<")'

现在它可以跟踪assets/sections内部的更改。