如何使用YAML块指定pandoc的降价扩展?

bri*_*ndk 14 markdown yaml pandoc rstudio r-markdown

背景

Pandoc的markdown允许您指定您希望如何处理降价的扩展:

可以通过附加+EXTENSION-EXTENSION格式名称单独启用或禁用Markdown语法扩展.因此,例如,markdown_strict+footnotes+definition_lists是否启用了脚注和定义列表的严格降价,并且markdown-pipe_tables+hard_line_breaks是没有管道表和硬换行符的pandoc标记.

我的具体问题

对于给定的pandoc转换,例如,我在源代码中使用网格表:

pandoc myReport.md --from markdown+pipe_tables --to latex -o myReport.pdf
Run Code Online (Sandbox Code Playgroud)

如何编写pandoc YAML块来完成同样的事情(指定我的源包含网格表?)

我问题的一般概括形式

如何使用pandoc YAML打开和关闭扩展?

Stack Overflow我不认为完全回答我的问题的问题

也许没有办法做到这一点

pandoc的设计总是可以让您在YAML中指定这些扩展名.虽然,我希望它是.

mee*_*ram 5

您可以使用Markdown Variants在Rmarkdown文档中执行此操作.实质上,您将扩展名输入到文件开头variantYAML标题栏中的选项中.Rmd.

例如,要使用网格表,您的YAML标题栏中有这样的内容:

--- title: "Habits" author: John Doe date: March 22, 2005 output: md_document variant: markdown+grid_tables ---

然后,您可以pandoc通过在命令行中键入以下内容直接编译为PDF :

pandoc yourfile.md -o yourfile.pdf

有关RStudio中降价变体的更多信息,请访问:http: //rmarkdown.rstudio.com/markdown_document_format.html#markdown_variants

有关RStudio中markdown/Rmarkdown中Pandoc扩展的更多信息,请访问:http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#pandoc_markdown

  • 我明白了,但我认为应该将其纳入您的答案中以确保流程顺畅。对于那些尚未使用Rmarkdown的人来说,这是没有意义的。由于此问题与Pandoc有关,因此您不能假设自己熟悉Rmarkdown。 (2认同)

cde*_*erv 5

您可以使用md_extension每个输出格式中包含的参数在 yaml 标头中指定 pandoc 降价扩展。

---
title: "Your title"
output:
  pdf_document:
    md_extensions: +grid_tables
---
Run Code Online (Sandbox Code Playgroud)

这将激活扩展。有关详细信息,请参阅Rmarkdown 权威指南