使用 knitr 有条件地插入 Child
Conditionally insert Child using knitr
我正在尝试将 children 插入 main.Rnw,如下所示:
<<child = here("child.Rnw") >>=
@
问题是,并不总是需要 child.Rnw
。所以我想检查文件是否存在——如果存在,就应该插入,否则什么都不做。
我尝试了以下方法:
# 1
\IfFileExists{./child.Rnw}{
\Sexpr{knit_child(here("child.Rnw"))}
}{}
# 2 Try
\iftrue\Sexpr{file.exists(here("Demofiles","Demopart.Rnw"))}{
\Sexpr{knit_child(here("Demofiles","Demopart.Rnw"))}
}{}
两者都有效,如果文件存在,但删除它会在编译 PDF 时出现以下错误:
Error in readLines(if (is.character(input2))
输出显示以下内容:
'child.Rnw' No such file or directory
有没有办法有条件地输入一个child?
怎么样
\Sexpr{if(file.exists("child.Rnw")) knit_child("child.Rnw")}
?
我正在尝试将 children 插入 main.Rnw,如下所示:
<<child = here("child.Rnw") >>=
@
问题是,并不总是需要 child.Rnw
。所以我想检查文件是否存在——如果存在,就应该插入,否则什么都不做。
我尝试了以下方法:
# 1
\IfFileExists{./child.Rnw}{
\Sexpr{knit_child(here("child.Rnw"))}
}{}
# 2 Try
\iftrue\Sexpr{file.exists(here("Demofiles","Demopart.Rnw"))}{
\Sexpr{knit_child(here("Demofiles","Demopart.Rnw"))}
}{}
两者都有效,如果文件存在,但删除它会在编译 PDF 时出现以下错误:
Error in readLines(if (is.character(input2))
输出显示以下内容:
'child.Rnw' No such file or directory
有没有办法有条件地输入一个child?
怎么样
\Sexpr{if(file.exists("child.Rnw")) knit_child("child.Rnw")}
?