我有一个生成表格的函数。我希望人们能够在 RMarkdown/Quarto 文档中使用此代码。我还想美化这张表,这将有助于了解该表的标题是 HTML、PDF 还是 Word。
有没有办法用代码来检测要构建什么样的文档?
我知道可以使用代码来检测一个人是否在 knitr 中,根据this question.
我也知道
knitr::opts_knit$get("out.format")
,但这只会返回 HTML、PDF 和 Word 输出的“降价”,至少对于标准 RMarkdown 或 Quarto 用法是这样。
在header中,“---”之间有一个叫做“output:”的东西,在那里你可以知道它!
knitr::is_latex_output
和knitr::is_html_output()
。
test.qmd
---
title: "Output Format"
format: pdf
---
```{r}
library(knitr)
if(is_latex_output()) {
print("Output format is pdf")
# and other codes intended for pdf output
} else if(is_html_output()) {
print("Output format is html")
# and other codes intended for html output
} else {
print("Output format is docx")
# and other codes intended for word output
}
```
您可能还想查看 Quarto Docs 中的 Conditional Content。