获取编织在knitr中的文档类型
我正在使用获取编织在knitr中的文档类型,r,knitr,R,Knitr,我正在使用knitr。我有一个包含代码的myRcode.R文件,我想生成两种类型的报告。一个latex文件(myLatexFile.RNW)和一个html文件(myHtmlFile.RMD)。两者都在调用myRcode.R文件中的块。我希望根据调用区块的扩展名获得不同的输出 现在,我的解决方案是这样的: library(stringr) if (str_sub(current_input(),-3,-1) == "Rmd") { cat("HTML file...") } else if (
knitr
。我有一个包含代码的myRcode.R
文件,我想生成两种类型的报告。一个latex文件(myLatexFile.RNW
)和一个html文件(myHtmlFile.RMD
)。两者都在调用myRcode.R
文件中的块。我希望根据调用区块的扩展名获得不同的输出
现在,我的解决方案是这样的:
library(stringr)
if (str_sub(current_input(),-3,-1) == "Rmd") {
cat("HTML file...")
} else if (str_sub(current_input(),-3,-1) == "Rnw")
cat("LATEX file...")
但是应该有一个本机函数来获取knitr中的文件类型。我找不到它。knitr中是否有这样的功能?如前所述,knitr
1.18以下功能
knitr::is_html_output()
knitr::is_latex_output()
在编译时检查输出是HTML还是LaTeX,并返回TRUE/FALSE。类似于以下内容的操作将起作用:
if (knitr::is_html_output()) {
cat("HTML file...")
} else if (knitr::is_latex_output()) {
cat("LATEX file...")
}
我认为这是有用的:理论上,我想要的是
knitr::opts_knit$get(“rmarkdown.pandoc.to”)
。但是当我编织一个latex文档时,它返回NULL
。但对于html文件,它可以工作。可能是