如何指定pandoc';s使用YAML块的降价扩展? 背景

如何指定pandoc';s使用YAML块的降价扩展? 背景,yaml,markdown,rstudio,r-markdown,pandoc,Yaml,Markdown,Rstudio,R Markdown,Pandoc,Pandoc的降价让您了解如何处理降价: 可以通过在格式名称后面附加+扩展名或-扩展名来单独启用或禁用标记语法扩展名。因此,例如,markdown\u strict+footnotes+definition\u list是启用了脚注和定义列表的严格标记,markdown-pipe\u tables+hard\u line\u breaks是pandoc在没有管道表和硬换行符的情况下进行的标记 我的具体问题 对于给定的pandoc转换,例如,我在源代码中使用: pandoc myReport.md

Pandoc的降价让您了解如何处理降价:

可以通过在格式名称后面附加
+扩展名
-扩展名
来单独启用或禁用标记语法扩展名。因此,例如,
markdown\u strict+footnotes+definition\u list
是启用了脚注和定义列表的严格标记,
markdown-pipe\u tables+hard\u line\u breaks
是pandoc在没有管道表和硬换行符的情况下进行的标记

我的具体问题 对于给定的pandoc转换,例如,我在源代码中使用:

pandoc myReport.md --from markdown+pipe_tables --to latex -o myReport.pdf
我如何编写一个应用程序来完成同样的任务(指定我的源代码包含网格表?

我问题的一般形式 如何使用pandoc YAML打开和关闭扩展

堆栈溢出问题,我不认为完全回答了我的问题
  • -这一个涉及如何指定输出选项,但我试图告诉pandoc我输入的结构
  • -回答者提到了潘多克的模板,但模板和表格均未指明
    表格的任何选项。因此,从这些答案中我不清楚了解模板如何帮助我了解如何构建YAML
也可能没有办法做到这一点
pandoc的设计可能总是不允许您在YAML中指定这些扩展。尽管如此,我还是希望如此。

您可以在Rmarkdown文档中使用Markdown变体来实现这一点。基本上,您可以在
.Rmd
文件开头的
YAML
头块中的
变量
选项中输入扩展名

例如,要使用网格表,在
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中降价变体的更多信息:

有关RStudio中markdown/Rmarkdown中Pandoc扩展的更多信息:

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

---
title: "Your title"
output:
  pdf_document:
    md_extensions: +grid_tables
---

这将激活分机。有关详细信息,请参阅。

在Rmarkdown范围之外,您可以使用它,也可以使用Ruby

---
 title: My first pandocomatic-converted document
 pandocomatic_:
     pandoc:
         from: markdown+footnotes
         to: html
 ...

正如Merchako所指出的,被接受的答案是针对rmarkdown的。例如,在中,Atom
md_扩展:
不起作用

更通用的方法是将扩展放在命令行选项中。这个例子很好:

----
标题:“带表情符号的Word文档”
作者:我
日期:2021年6月9日
输出:
word_文件:
pandoc_args:[“--standalone”,“--from=markdown+emoji”]
----

我认为这在潘多克是不可能的。在pandoc邮件列表上看到John MacFarlane的回答:我写了一个小脚本使之成为可能:那不是
pandoc yourfile.rmd-o yourfile.pdf
吗?@Merchako不,输出类型是
md\u document
。我认为在这个答案中添加一些澄清的文本会有帮助。听起来你在采取两个步骤,但你没有明确地说。
yourfile.md
从何而来?假设您的原始文件名为
yourfile.Rmd
-按照说明在YAML标题中添加额外文本,将创建
yourfile.md
文件,然后可以在pandoc中使用。我明白了,但我认为应该将其纳入您的答案中,以确保正确的流程。对于那些还没有使用Rmarkdown的人来说,这毫无意义。因为这个问题是关于Pandoc的,所以你不能假设你熟悉Rmarkdown。