Make a function output different results depending on rmarkdown output format
我创建了一个小函数,给定一个表格作为参数,输出一些 HTML,允许使用选项卡式界面显示该表格的不同视图。
问题是,这在渲染 HTML 文档时效果很好,但如果我想生成 PDF 就会中断。解决方案是让函数知道当前的 rmarkdown 输出格式,以使其输出正确的代码。像这样的东西:
1
2 3 4 |
function() {
if (current_output_format==”html”) output_something_in_html() if (current_output_format==”pdf”) output_something_in_latex() } |
那么有没有办法在调用render()时确定当前呈现的是哪种输出格式?
提前感谢您的帮助。
- 一个 hacky 解决方案是使用 Makefile。编译时,为 pdf 输出创建文件的临时副本并设置适当的标志。
- @csgillespie 是的,这就是我现在处理它的方式,但它不是很”便携”。谢谢 !
如何捕获错误并以合理的方式处理它。所以像:
1
2 3 |
ans = try(do_default(), TRUE)
if(class(ans)==”try-error”) ans = do_fall_back() |
仍然不是最好的解决方案,但至少它是便携的。
- 这可能是一种方法,但我的代码不会引发任何错误。我只想根据呈现的格式输出不同的东西(HTML 或 LaTeX)。
- 那么我没有建议了:(
来源:https://www.codenong.com/24453811/