Pandoc的降价促使您specify extensions了解您希望如何处理降价:
通过将
+EXTENSION
或-EXTENSION
附加到格式名称,可以单独启用或禁用Markdown语法扩展。因此,例如,markdown_strict+footnotes+definition_lists
是严格的降价,脚注和定义列表已启用,而markdown-pipe_tables+hard_line_breaks
是pandoc的降价,没有管道表和硬换行符。
对于给定的pandoc转换,例如,我在源代码中使用grid tables:
pandoc myReport.md --from markdown+pipe_tables --to latex -o myReport.pdf
如何编写pandoc YAML block来完成同样的事情(指定我的源包含网格表?)
如何使用pandoc YAML打开和关闭扩展程序?
grid_tables
指明任何选项。因此,从这些答案中我不清楚如何了解模板将有助于我弄清楚如何构建我的YAML。pandoc始终可能不允许您在YAML中指定这些扩展名。虽然,我希望它是。
答案 0 :(得分:5)
您可以使用Markdown Variants在Rmarkdown文档中执行此操作。从本质上讲,您可以在variant
文件开头的YAML
标题栏中的.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
答案 1 :(得分:1)
您可以使用每种输出格式中包含的md_extension
参数在yaml标头中指定pandoc markdown扩展名。
---
title: "Your title"
output:
pdf_document:
md_extensions: +grid_tables
---
这将激活扩展。有关详细信息,请参见Rmarkdown Definitive Guide。
答案 2 :(得分:1)
对于在 2021 年或之后遇到此问题的人,无需 Rmarkdown 即可完成此操作。您可以指定一个 YAML“默认”文件,它基本上包含您想要配置的任何内容。
为了做 OP 想要的,你需要做的就是
from: markdown+pipe_tables
在默认文件中,然后在编译时传递它。
您还可以指定输入和输出文件,因此您最终可以使用最少的命令
pandoc --defaults=defaults.yaml
并让它为您处理剩下的事情。请参阅 https://pandoc.org/MANUAL.html#extensions 了解更多信息。
答案 3 :(得分:0)
在Rmarkdown范围之外,您可以使用Pandocomatic或Ruby使用Paru。
---
title: My first pandocomatic-converted document
pandocomatic_:
pandoc:
from: markdown+footnotes
to: html
...
答案 4 :(得分:0)
正如 Mercako 所指出的,接受的答案是特定于 rmarkdown 的。例如,Atom md_extensions:
不起作用。
更通用的方法是将扩展名放在命令行选项中。这个例子工作正常:
----
title: "Word document with emojis"
author: me
date: June 9, 2021
output:
word_document:
pandoc_args: ["--standalone", "--from=markdown+emoji"]
----