这是一个用于将 Markdown 文件转换为 PDF 或 LaTeX 的 pandoc 干净清爽的模板。与 pandoc 3 兼容,改模板为 pandoc 转换提供了定制化的排版结果,包括选择字体和配置封面的背景图等设计,是一套优雅、现代的排版风格,适用于各种类型的文档,包括书籍、文章、报告、幻灯片等。
这里提供两个获取方式:
如果你想使用 Eisvogel 模板,首先需要安装以下两个工具:
接下来,你可以从 Eisvogel 模板的[发布页面] https://github.com/Wandmalfarbe/pandoc-latex-template/releases 下载最新版本的 ZIP 文件。
解压缩下载的 ZIP 文件,然后将 eisvogel.latex
模板文件移动到你的 pandoc 模板文件夹中。模板文件夹的位置取决于你的操作系统:
/Users/USERNAME/.local/share/pandoc/templates/
或 /Users/USERNAME/.pandoc/templates/
C:\Users\USERNAME\AppData\Roaming\pandoc\templates\
如果你的系统中没有名为 templates
或 pandoc
的文件夹,你需要手动创建它们,并将 eisvogel.latex
模板放入其中。你可以通过运行 pandoc --version
命令来查找默认用户数据目录的位置。
pandoc 实际上是将 Markdown 文件转换为一个 LaTeX 文件,然后再调用 LaTeX engine 来进行排版。常用的 LaTeX engine 有 LaTeX、XeLaTeX 等,其中 XeLaTeX 对 Unicode 和 PDF 的支持最好,也是 Wandmalfarbe/pandoc-latex-template 默认使用的 engine。
pandoc -s input.md -o output.pdf --template=eisvogel
这个命令会将 input.md 文件转换为 output.pdf 文件,并使用 eisvogel 模板进行排版。
最后,你可以查看 Wandmalfarbe/pandoc-latex-template 的文档和用户指南,以了解更多关于这个模板的使用方法和定制选项。同时,你也可以参考其他 LaTeX 模板和 pandoc 的文档,以深入了解 pandoc 的工作原理和 LaTeX 的排版技术。
如果你不想安装 LaTeX,你还可以使用名为 pandoc/extra
的 Docker 镜像。该镜像包含了 pandoc、LaTeX 以及一些其他组件,如 eisvogel 模板、pandoc 过滤器和开源字体。你可以使用以下命令运行 Docker 镜像(为了方便阅读,我在命令中添加了换行符):
docker run --rm \
--volume "$(pwd):/data" \
--user $(id -u):$(id -g) \
pandoc/extra example.md -o example.pdf --template eisvogel --listings
如果你经常使用命令行,你可以定义一个别名来简化 Docker 的调用。例如:
alias pandock='docker run --rm -v "$(pwd):/data" -u $(id -u):$(id -g) pandoc/extra'
然后,你可以这样调用 Docker 镜像:
pandock example.md -o example.pdf --template eisvogel --listings
要使用 Eisvogel 模板,打开终端并导航到包含你的 Markdown 文件的文件夹。执行以下命令:
pandoc example.md -o example.pdf --from markdown --template eisvogel --listings
为了获得漂亮的页眉和页脚,你需要在你的文档中提供元数据。你可以在 Markdown 文档的顶部使用 YAML 元数据块来添加这些信息(参见示例 Markdown 文件)。例如:
---
title: "The Document Title"
author: [Example Author, Another Author]
date: "2024-02-20"
keywords: [Markdown, Example]
---
然后在文档中添加实际的内容即可。