Need the filename of the Rmd when knitr runs

knitr, r, r-markdown

Solution

You can search through the parent.frames until you find the frame referring to where the body of the function `knitr` is being evaluated (and thus the `input` argument is defined.

get(env = parent.frame(n = 8), 'input')

Works for me.

Note that I have not tested what happens if `input` is not a file name.....

Problem

Recently I asked about having an r variable set to the name of an Rmd file when knitr runs. Need the filename of the Rnw when knitr runs in rStudio ``` knitr:::.knitEnv$input.dir knitr:::knit_concord$get("infile") ``` Is there a similar knitr::: object for the name of an Rmd file?

Original source