首页 > 解决方案 > 使用 knitr 从 rmarkdown 生成 .md 文档。有没有办法获得 atx 样式的标题而不是 Settext 样式的标题?

问题描述

我在 RStudio 中使用 Knit 从 RMarkdown 获取 .md 文档。

YAML 标头:

---
output:
  md_document
---

目标是获取可以在 GitHub 中作为网页查看的 .md 文档。

我遇到的问题是我以 atx 样式编写的标头:

# Header example

# 1. Header example

以 Settext 样式呈现:

Header example
==============

1. Header example
=================

为什么这是个问题?似乎 .md 文档的 GitHub 查看器在第一个字符是数字时显示这些 Settext 样式的标题的方式与在它是字母时不同。

当标题为 atx 样式时,两者(编号和非编号)都以相同的格式显示。

有没有办法从 rmarkdown 以 atx 样式呈现这些标头?

我知道我可以编写一个脚本来修改生成的 .md 文档,但我想知道是否有最简单的方法。

标签: rr-markdownknitr

解决方案


编辑 2021/01/03

pandoc版本。2.11.2+,ATX-headers 成为默认值。请参阅手册页新闻GitHub 上rmarkdown的问题也可能有帮助)。因此,您不必公开指定 ATX 标头。

您仍然可以显式设置 ATX-header 选项,然后,您需要使用"--markdown-headings=atx", 而不是弃用的方法--atx-headers

修改后的解决方案

如果你想获得带有 ATX-headers 的 md 文件,只需将"--markdown-headings=atx"选项添加到pandoc_args.

output:
  md_document:
    pandoc_args: [
      "--markdown-headings=atx"
    ]

推荐阅读