如果输出是html或latex,如何在bookdown中的R中执行不同的操作

如果输出是html或latex,如何在bookdown中的R中执行不同的操作,r,bookdown,R,Bookdown,我正在使用bookdown同时生成html和pdf。我想在html版本中使用动态表(DT),但在pdf文件中使用普通表。有没有一种方法可以在markdown中实现这一点,而不必将文件作为输入分开并使用yml文件。 差不多 if (output = html) { DT... } if (output = "pdf"){ xlatex ... } 谢谢 伦格由于一慧的评论而编辑: if( knitr:::is_latex_output() ) { xlatex ... }

我正在使用bookdown同时生成html和pdf。我想在html版本中使用动态表(DT),但在pdf文件中使用普通表。有没有一种方法可以在markdown中实现这一点,而不必将文件作为输入分开并使用yml文件。 差不多

if (output = html) {
    DT...
}
if (output = "pdf"){
    xlatex ...
}
谢谢
伦格

由于一慧的评论而编辑:

if( knitr:::is_latex_output() ) {
    xlatex ...
} else {
    DT...
}

看起来您可以使用中描述的相同方法。我已将其标记为重复,然后将其收回,因为我不确定
bookdown
机制是否相同。但是现在我已经研究过了,我相信是的。你可以使用
knitr:::is_latex_output()
,你可以使用
knitr::is_latex_output()
,用两个冒号代替三个冒号。