使用 Markdown 或类似的东西生成带有包含页码的目录的文档?

Jar*_*red 4 markdown multimarkdown

我需要创建一个大文档,打印时将有几百页。我想用 Markdown 之类的东西来做到这一点。我的要求之一是文档必须有页码和目录。有没有办法使用 Markdown 或类似的标记语言来自动生成带有关联页码的目录?到目前为止,我使用 Markdown 看到的所有内容都可以自动生成 HTML 输出的目录,但没有关联的页码。

evi*_*oup 10

听起来像是pandoc的工作。

HTML 没有“页面”的概念;可能可以将某些东西与<div></div>标签混在一起,但我只使用 PDF:

pandoc --toc --chapters -o output.pdf input1.mkd input2.mkd
Run Code Online (Sandbox Code Playgroud)

Pandoc 可以接受任意数量的输入;它在每个输入的末尾添加一个换行符并将它们连接起来。上述命令将创建一个设计为装订成书的 PDF - 每章(由 1 级标题表示)将从奇数页开始。如果您不想要这种行为,请使用以下命令:

pandoc --toc -V documentclass=report -o output.pdf input1.mkd input2.mkd
Run Code Online (Sandbox Code Playgroud)

如果您想节省纸张并且不介意从前一章结束的地方开始的章节(它们甚至会从页面中间开始),请在没有--chapters选项的情况下调用 pandoc :

pandoc --toc -o output.pdf input1.mkd input2.mkd
Run Code Online (Sandbox Code Playgroud)

可以生成带有目录的 HTML,但具有您列出的所有限制。也可以用pandoc生成ODT和Microsoft DOC文档,但我觉得它们看起来不太好,尤其是和漂亮的PDF生成相比。

使用 pandoc 创建 PDF 需要安装 LaTeX 引擎;这在 Linux 上非常简单,您的存储库中至少会有一个,但在 Windows 上可能会有点困难(我不知道,我从未真正尝试过)。因此,可以使用自定义 LaTeX 模板根据自己的喜好自定义内容 - 但我还没有解决这个问题,所以我目前坚持使用(非常好的)默认值。