繁体   English   中英

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

[英]How do I pass pandoc_options as output_options to rmarkdown::render()

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

有人告诉我,我可以通过执行以下操作来关闭markdown_in_html_blocks功能:
pandoc -f markdown-markdown_in_html_blocks

我试过直接调用pandoc而不是被隐式调用

rmarkdown::render()

但无法使该语法起作用并且能够在我调用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 但没有运气。

鉴于以下文件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 (有关其他参数,请参阅?rmarkdown::html_document )。

这似乎是一个悬而未决的问题,但是关闭/打开此类功能的一种更简单的方法是直接更新Rmd文件中的YAML。 这应该在您的情况下有效:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM