0%

Markdown 转换为 PDF 文档

记录将 Markdown 转换为 PDF 过程

  • GitBook 整体/部分/单章导出
  • Pandoc 导出
  • Typora 导出
  • VSCode MPE 导出

GitBook

支持安装插件以扩展功能,例如:

  • flowchart.js
  • mermaid.js
  • UML绘图

使用上述插件后,Markdown 在原生基础上做出了扩展,是超集

GitBook 使用命令 gitbook pdf 导出电子书,其目录及内容依赖于比选项 SUMMARY.md。因此导出部分/单章内容时需要修改 SUMMARY.md 以满足需求。导出转换流程 Markdown源码 -> HTML资源 -> PDF,因此影响 HTML 的相关插件对最终输出效果均有影响。

README.md 为比选项,因此导出单章时需要将内容重命名为 README.md 以避免引入 introduction 章节。

Pandoc

使用模板 Eisvogel

在文档中增加元数据

---
title: "DSM-CC"
author: Breeze
date: "2020-02-20"
subject: "Markdown"
keywords: [Markdown, Example]
table-use-row-colors: false
toc-own-page: true
header-left: "National"
titlepage: true,
titlepage-text-color: "000000"
titlepage-rule-color: "360049"
titlepage-rule-height: 0
titlepage-background: "titlepage-background/backgrounds/background1.pdf"
logo-width: 120
...
$ pandoc "index.md" -o "chinese.pdf" --from markdown --template "../eisvogel.latex" --listings --pdf-engine=xelatex -V CJKmainfont="Microsoft YaHei" --number-sections --toc

如果 Markdown 源码存在扩展会导致这部分输出异常,例如 GitBook 中插件部分扩展。优点是可以方便定制 LaTeX 模板

扩展:

Typora

所见即所得,方便本地编辑导出 PDF

VSCode

基于插件 MPE Pandoc 本地编辑导出 PDF

TODOs