Github榜首:Pandoc PDF 转换模板,优雅美观,轻松实现

发布于 2024-02-19 20:15:36

这是一个用于将 Markdown 文件转换为 PDF 或 LaTeX 的 pandoc 干净清爽的模板。与 pandoc 3 兼容,改模板为 pandoc 转换提供了定制化的排版结果,包括选择字体和配置封面的背景图等设计,是一套优雅、现代的排版风格,适用于各种类型的文档,包括书籍、文章、报告、幻灯片等。

获取方式

这里提供两个获取方式:

使用方法

1. 安装准备

如果你想使用 Eisvogel 模板,首先需要安装以下两个工具:

  1. Pandoc:从这里 http://pandoc.org/ 下载并安装 Pandoc。
  2. LaTeX:确保你的系统上已经安装了 LaTeX,推荐 TeXlive。

接下来,你可以从 Eisvogel 模板的[发布页面] https://github.com/Wandmalfarbe/pandoc-latex-template/releases 下载最新版本的 ZIP 文件。

解压缩下载的 ZIP 文件,然后将 eisvogel.latex 模板文件移动到你的 pandoc 模板文件夹中。模板文件夹的位置取决于你的操作系统:

  • Unix、Linux、macOS:/Users/USERNAME/.local/share/pandoc/templates//Users/USERNAME/.pandoc/templates/
  • Windows Vista 或更高版本:C:\Users\USERNAME\AppData\Roaming\pandoc\templates\

如果你的系统中没有名为 templatespandoc 的文件夹,你需要手动创建它们,并将 eisvogel.latex 模板放入其中。你可以通过运行 pandoc --version 命令来查找默认用户数据目录的位置。

2. 转换调用

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]
---

然后在文档中添加实际的内容即可。

转换效果图

1_document.png-1.png
4_document.png-1.png
4_document.png-2.png
13_document.png-1.png
26_document.png-1.png
beamer.png

0 条评论

发布
问题