根据rmarkdown输出格式,使函数输出不同的结果

时间:2014-06-27 14:04:50

标签: r r-markdown

我创建了一个小函数,给定一个表作为参数,输出一些HTML,允许用标签界面显示该表的不同视图。

问题是,这在渲染HTML文档时效果很好,但如果我想生成PDF则会中断。解决方案是使函数知道当前的rmarkdown输出格式,以使其输出正确的代码。像这样:

function() {
    if (current_output_format=="html") output_something_in_html()
    if (current_output_format=="pdf") output_something_in_latex()
}

那么有什么方法可以在调用render()时确定当前呈现的输出格式是什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如何捕获错误并以合理的方式处理它。如下所示:

ans = try(do_default(), TRUE)
if(class(ans)== "try-error") 
    ans = do_fall_back()

仍然不是最好的解决方案,但至少它是便携式的。