Q9源码本篇教程用 Markdown 写书。使用名为 Pandoc 的工具,您可以将 Markdown 文件转换为 PDF 和 Epub 文件。让我们看一下命令。

使用 Homebrew 安装 Pandoc

brew install pandoc

将 .md 文件转换为 .pdf 也就是生成 PDF

pandoc demo.md --pdf-engine=xelatex -o demo.pdf

请注意,生成 PDF 时需要选项 –pdf-engine。

语法是 pandoc 后跟源文件添加带有标志的任何选项。使用 -o 标志设置输出位置和文件名。

如果您遇到此错误:

pandoc: /Library/TeX/texbin/pdflatex: createProcess: posix_spawnp: 非法操作(不适合设备的 ioctl)

这意味着机器上没有安装 xelatex。

要安装 xelatex:

brew tap homebrew/cask
brew install basictex
eval "$(/usr/libexec/path_helper)"
sudo tlmgr update --self
sudo tlmgr install texliveonfly
sudo tlmgr install xelatex
sudo tlmgr install adjustbox
sudo tlmgr install tcolorbox
sudo tlmgr install collectbox
sudo tlmgr install ucs
sudo tlmgr install environ
sudo tlmgr install trimspaces
sudo tlmgr install titling
sudo tlmgr install enumitem
sudo tlmgr install rsfs

再次运行命令:

pandoc demo.md --pdf-engine=xelatex -o demo.pdf

你可能会看到:

[WARNING] Missing character: There is no (U+251C) (U+251C) in font [lmmono10-regular]:!

您可以安装支持符号的字体,通常由表情符号引起。

一旦上述问题得到纠正,您将能够使用 Markdown 文件生成 PDF:

pandoc demo.md --pdf-engine=xelatex -o demo.pdf

要添加目录,请在命令中使用选项 –toc

制作PDF:

pandoc demo.md --pdf-engine=xelatex --toc -o demo.pdf

制作 Epub:

pandoc demo.md --toc -o demo.epub

前沿问题

使用 PDF/Markdown 时,您可以在 Markdown 中指定 YAML 标签来设置书名、作者和事件封面图像,并使用 EPUB

这应该在文件的顶部,它不会被打印出来。

---
title: Demo Book
creator:
 - role: author
 text: David Carr
cover-image: cover.jpg
---

写一本电子书

这是一个基本的降价文件;这有由#(h1)指定的章节,可以使用##(h2)添加子标题

---
title: Demo Book
creator:
- role: author
 text: David Carr
cover-image: cover.jpg
---

# Chapter 1

An example chapter.....

# Chapter 2

This is super basic

## Sub chapter that belongs to chapter 2

>Markdown is awesome!

# Chapter 3

将其转换为 PDF 或 Epub 文件以生成:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。