在Pandoc中有更多的标题级别?

时间:2016-03-10 13:40:06

标签: markdown docx pandoc html-heading heading

我们正在使用Pandoc生成一个相当复杂的文档,我们遇到了Pandoc对标题级别的限制(设置为6,我认为它基于HTML)。

鉴于使用role="heading"aria-level="X"可以创建甚至超过6的HTML标题级别,我想问一下是否有办法让Pandoc产生更深层次?

问题是我们生成了Word Docx文档,Word也支持深度超过6的标题级别。

2 个答案:

答案 0 :(得分:0)

我怀疑任何Markdown解析器都可以实现这一点。基于HTML的假设,Markdown本身仅限于6个级别。作为规则state

  

Atx样式的标题在行的开头使用1-6个哈希字符,对应于标题级别1-6。

事实上,当你使用六个以上的哈希值时,额外的哈希值就会被忽略。有关许多实现的比较,请参阅Babelmark

事实上,更明确(更严格)的CommonMark规范states ......

  

超过六个#字符不是标题

有趣的是,CommonMark是非常新的(比HTML5更新)而Markdown非常陈旧(Markdown的最新版本转向了当时的新热点:XHTML)。关键在于,从HTML无法表示超过6个级别的时间开始,规范就越宽松,而新规范明确禁止超过6个级别,即使它可能在HTML中也是如此。

答案 1 :(得分:0)

我认为编写一个pandoc filter从AST中提取所需的属性并将其修改为更深的标题会相当容易,因为该级别只是{{3}中的Int }}

所以输入可能是:

# my custom title {role=heading, aria-level=9}

甚至只是:

# my custom title {level=9}