如何将pandoc_options作为output_options传递给rmarkdown :: render()

时间:2017-02-03 19:40:59

标签: html r knitr r-markdown pandoc

我有一个Rmd文件几乎在所有时间都正确呈现html。但是,当pandoc(在呈现过程中使用)在html中找到4个空格时,它无法正确呈现,并且在此时,解释我想要呈现markdown代码段html

我被告知可以通过这样的方式关闭markdown_in_html_blocks功能:
 pandoc -f markdown-markdown_in_html_blocks

我尝试直接调用pandoc而不是由

隐式调用

rmarkdown::render()

但无法使用该语法,并且能够直接指定此选项(-markdown_in_html_blocks),因为我首选render()。以下是我尝试过的最新内容:

基本案例:有效但HTML输出文件格式错误/有代码块而不是我想在表格中显示的数据。

render("reports/Pacing.Rmd")

尝试修复:无法正常工作

rmdFmt <- rmarkdown_format("-markdown_in_html_blocks")
pandocOpts <- pandoc_options(to = "html", from = rmdFmt)
render("reports/Pacing.Rmd",output_format = "html_document",output_file = NULL, output_dir = NULL, output_options = pandocOpts)

错误消息:(函数中的错误(toc = FALSE,toc_depth = 3,toc_float = FALSE,number_sections = FALSE,:   参数1匹配多个正式参数

我尝试过其他语法来表达我想要关闭markdown_in_html_blocks但没有运气。

2 个答案:

答案 0 :(得分:1)

给定以下文档 test.Rmd...

---
title: Test
output: html_document
---

<table>
<tr>
<td>*one*</td>
<td>[a link](https://google.com)</td>
</tr>
</table>

...您可以通过

禁用markdown_in_html_blocks扩展
rmarkdown::render("test.Rmd",
                  output_options = list(md_extensions = "-markdown_in_html_blocks"))

md_extensions 是可以传递给 rmarkdown::html_document 的参数之一(其他参数请参见 ?rmarkdown::html_document)。

答案 1 :(得分:0)

这似乎是一个未解决的问题,但更简单的关闭/开启此功能的方法是直接更新Rmd文件中的YAML。这应该适合您的情况:

output:
  html_document:
    pandoc_args: [
      "-f", "markdown-markdown_in_html_blocks"
    ]