Pandoc+TeXLive实现Markdown转PDF

一、前言

在之前的 云文档托管方案分析 中提到了,我们采用了 Pandoc+TeXLive 的方案来实现Markdown转PDF,接下来我们来详细介绍该方案。

二、Pandoc

Pandoc 是一个免费开源的通用文档转换工具,支持大量标记语言之间的格式转换,例如 Markdown、HTML、LaTex、PDF、Microsoft Word等,其源码放在了 GitHub 仓库。

备注:标记语言是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。
标记语言不仅仅是一种语言,就像许多语言一样,它需要一个运行时环境,使其有用。提供运行时环境的元素称为用户代理。

2.1 安装 Pandoc

  1. 前往官网的 安装页面,根据对应的系统下载 Pandoc。
  2. 此处以为 Windows 平台为例,下载 pandoc-2.14.2-windows-x86_64.zip
  3. 解压 pandoc-2.14.2-windows-x86_64.zip 后,将 pandoc.exe 的路径添加到环境变量。
  4. 在终端中执行以下命令检测是否安装成功:
pandoc –v

命令结果显示详细的版本信息则表示安装成功,如下:

pandoc.exe 2.14.2
Compiled with pandoc-types 1.22, texmath 0.12.3.1, skylighting 0.11,
citeproc 0.5, ipynb 0.1.0.1
User data directory: C:\Users\liuyuxin\AppData\Roaming\pandoc
Copyright (C) 2006-2021 John MacFarlane. Web:  https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.

2.2 基本用法

  1. 查看命令参数:
pandoc -h
  1. 将 Word 转为 Markdown:
pandoc --extract-media ./images README.docx -o README.md

备注:–extract-media 参数用于指定 .docx 文件中导出图片的路径,比如此处指定为当前目录下的 images 文件夹。

  1. 将 Markdown 转为 LaTex:
pandoc --toc –H head.tex README.md -o README.tex

更多介绍可以看 Pandoc 的用户手册,另外官方还提供了一个 在线转换工具 以及 各种转换示例

2.3 转换原理

Pandoc 将 Markdown 文档转为 PDF 文件,实际上包含两个步骤:

  • 第一步:将 Markdown 转化为 LaTeX 源文件。
  • 第二部:调用系统的 pdflatex、xelatex 或者其他 Tex 命令,将 LaTex 源文件渲染为 PDF 文件。

三、TeXLive

3.1 TeX

首先,我们需要知道什么是 TeX?

TeX 是一种排版系统,它提供了一套功能强大并且十分灵活的排版语言,拥有多大900多条指令,并且支持宏功能,用户可以通过不断定义新的命令来扩展功能。

备注:TeX 的诞生主要为了快速生产高质量的科技和数学类印刷文档。

3.2 LaTeX

LaTeX 是一种基于 TeX 实现的排版系统,LaTeX 使用 TeX 排版程序来格式化其输出,并且本身是用 TeX 宏语言编写的,是当前最流行以及应用最广泛的 Tex 扩展版本。

Tex 有许多发行版本,比如 TeXLive(跨平台)、MacTeX、MiKTeX 等等。

3.3 TeX 发行版本

想要将 LaTeX 源文件渲染为 PDF,必须借助 TeX 渲染引擎,也就是所谓 TeX 发行版本,它负责根据 LaTeX 语法将其中的内容渲染为可以阅读打印的 PDF 文件。

此处我们采用了 TeXLive,可以在共享服务器上下载,主要考虑到以下四个优点:

  • 免费;
  • 跨平台;
  • 包含支持中文 Unicode 编码的 xelatex 引擎;
  • 内置简单的 TeX 编辑器 TeXwoks,可以快速预览效果;

3.4 安装TeXLive

  1. 前往 TeXLive 官网下载对应版本的镜像,如果速度较慢,可以去 国内镜像 下载,此处下载 texlive2020.iso。
  2. 按照默认步骤按照好后,将 [安装目录]\texlive\2020\bin\win32 添加到环境变量。
  3. 在终端中执行以下命令检测是否安装成功:
tex -v
latex -v
xelatex -v
pdflatex -v

命令结果显示详细的版本信息则表示安装成功,下文中主要使用 xelatex 渲染引擎,此处执行 xelatex -v,结果如下:

XeTeX 3.14159265-2.6-0.999992 (TeX Live 2020<
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值