如何防止 pandoc 在内容中插入标题的 <h1> 元素

时间:2021-05-12 17:13:35

标签: pandoc epub

我有一本书由几个有序的 Markdown 文件组成。我正在使用 Pandoc 将它们转换为 epub 文件,并且一切正常。我可以嵌入我喜欢的字体并提供我自己的 CSS 等。问题是输出文件包含一个 Markdown 中不存在的元素(作为“#”标题元素)。这个元素然后被 ToC 函数选取并插入到目录中。我没有要求该元素存在,也找不到关闭它的选项。

这是如何重现,使用比我的实际案例简单得多的案例,但足以证明问题。我有以下文件结构:

- pandoctest/
  - src/
    - file1.md
    - file2.md
  - epub.yml

内容如下:

file1.md:

Here is some text.

file2.md:

# Chapter one

The chapter goes here.

epub.yml:

---
title:
  - type: main
    text: A Book
creator:
  - role: author
    text: Some Dude
---

我正在运行的 pandoc 命令是:

 pandoc -o output.epub epub.yml --toc src/*

最终结果是这样的:

第 1 页:使用 epub.yml

中的标题和作者元素的适当标题页

第 2 页: 目录页。在顶部,来自 epub.yml 的标题。下面是两个 ToC 条目。第一个是书名,指的是我不想出现在下一页的元素。第二个是“第一章”,它引用了我的 Markdown 中的 # Chapter One 元素(这是合适的)。

第 3 页: 首先,不想要的元素,在原始 XML 中如下所示:

<h1 class="unnumbered" data-number="">A Book</h1>

然后,“这是一些文本”,我确实告诉它放在那里的一段。

第 4 页:正确呈现的“第一章”页面。

这里的问题是如何让 pandoc 不呈现 Markdown 中不存在的“未编号”标题元素。它搞砸了目录,我从来没有要求它在那里。

作为参考,这里是我的小测试呈现的 epub:https://www.dropbox.com/s/dj4jo08g7q4f9i2/output.epub?dl=0

0 个答案:

没有答案