当knitr运行时需要Rmd的文件名

Kat*_*ate 3 r knitr r-markdown

最近我问到在knitr运行时将r变量设置为Rmd文件的名称.

当knitr在rStudio中运行时需要Rnw的文件名

knitr:::.knitEnv$input.dir
knitr:::knit_concord$get("infile")
Run Code Online (Sandbox Code Playgroud)

是否有类似的knitr :::对象作为Rmd文件的名称?

小智 12

knitr :: current_input()将返回Rmd文件的名称


mne*_*nel 2

您可以搜索parent.frames,直到找到引用函数体求值位置的框架knitr(从而input定义参数)。

get(env = parent.frame(n = 8), 'input')
Run Code Online (Sandbox Code Playgroud)

对我有用。

请注意,我还没有测试如果input不是文件名会发生什么......