【问题标题】:Make a function output different results depending on rmarkdown output format使函数根据 rmarkdown 输出格式输出不同的结果
【发布时间】:2014-06-27 14:04:49
【问题描述】:

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

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

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

那么有没有办法确定在调用render()时,当前呈现的是哪种输出格式?

提前感谢您的帮助。

【问题讨论】:

  • 一个 hacky 解决方案是使用 Makefile。编译时,为pdf 输出创建文件的临时副本并设置适当的标志。
  • @csgillespie 是的,这就是我现在处理它的方式,但它不是很“便携”。谢谢!

标签: r r-markdown


【解决方案1】:

如何发现错误并以合理的方式处理它。所以像:

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

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

【讨论】:

  • 这可能是一种方法,但我的代码不会引发任何错误。我只想根据呈现的格式输出不同的内容(HTML 或 LaTeX)。
  • 我没有什么建议了 :(
猜你喜欢
  • 1970-01-01
  • 2021-02-19
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 2018-12-26
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多