ifelse action depending on document type in rmarkdown

后端 未结 2 615
暖寄归人
暖寄归人 2021-01-02 08:05

When preparing reports using rmarkdown: http://rmarkdown.rstudio.com/ one may want the document to render differently depending upon the document type. For ins

2条回答
  •  北荒
    北荒 (楼主)
    2021-01-02 08:28

    Yes, you can access the output format via knitr::opts_knit$get("rmarkdown.pandoc.to"). This will return a string with the target output format. Here's an example:

    ---
    title: "Untitled"
    output: html_document
    ---
    
    ```{r}
    library(knitr)
    opts_knit$get("rmarkdown.pandoc.to")
    ```
    

    This returns "html" for html_document, "docx" for word_document, and "latex" for pdf_document. So to answer your question you can do something like:

    html <- knitr::opts_knit$get("rmarkdown.pandoc.to") == "html"
    

提交回复
热议问题