Pandoc 中文文档

关于 Pandoc

如果您需要将文件从一种标记格式转换为另一种,Pandoc 就是您的万能工具。Pandoc 能够在以下格式之间进行转换:

提示

双向箭头 ( <-> ):表示 Pandoc 可以将该格式既转换为其他格式也可以从其他格式转换过来
单向箭头 ( -> ) 表示只能从该格式转换到另一种格式
<- 则表示只能将另一种格式转换为此格式

轻量级标记格式

支持转换方向 说明
<-> Markdown(包含 CommonMark 和 GitHub 风格的 Markdown)
<-> reStructuredText
-> AsciiDoc
<-> Emacs Org-Mode
<-> Emacs Muse
<-> Textile
-> Markua
<- txt2tags
<-> djot

HTML 格式

支持转换方向 说明
<-> (X)HTML 4
<-> HTML5
-> Chunked HTML

电子书格式

支持转换方向 说明
<-> EPUB 版本 2 或 3
<-> FictionBook2

文档格式

支持转换方向 说明
-> GNU TexInfo
<-> Haddock 标记

Roff 格式

支持转换方向 说明
<-> roff man
-> roff ms

TeX 格式

支持转换方向 说明
<-> LaTeX
-> ConTeXt

XML 格式

支持转换方向 说明
<-> DocBook 版本 4 或 5
<-> JATS
<- BITS
-> TEI Simple
-> OpenDocument XML

大纲格式

支持转换方向 说明
<-> OPML

参考文献格式

支持转换方向 说明
<-> BibTeX
<-> BibLaTeX
<-> CSL JSON
<-> CSL YAML
<- RIS
<- EndNote XML

文档处理器格式

支持转换方向 说明
<-> Microsoft Word docx
<-> Rich Text Format RTF
<-> OpenOffice/LibreOffice ODT

交互式笔记本格式

支持转换方向 说明
<-> Jupyter notebook (ipynb)

页面布局格式

支持转换方向 说明
-> InDesign ICML
<-> Typst

维基标记语言格式

支持转换方向 说明
<-> MediaWiki markup
<-> DokuWiki markup
<- TikiWiki markup
<- TWiki markup
<- Vimwiki markup
-> XWiki markup
-> ZimWiki markup
<-> Jira wiki markup
<- Creole

幻灯片展示格式

支持转换方向 说明
-> LaTeX Beamer
-> Microsoft PowerPoint
-> Slidy
-> reveal.js
-> Slideous
-> S5
-> DZSlides

数据格式

支持转换方向 说明
<- CSV tables
<- TSV tables

自定义格式

支持转换方向 说明
<-> 可使用 Lua 编写自定义读取器和写入器

PDF 格式

支持转换方向 说明
-> via pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, prince, pagedjs-cli, context, or pdfroff.

Pandoc 支持一系列实用的 Markdown 语法扩展,这些扩展包括文档元数据(如标题、作者、日期);脚注;表格;定义列表;上标和下标;删除线;增强的有序列表(起始数字和编号样式均有意义);连续示例列表;带有语法高亮的限定代码块;智能引号、破折号和省略号;HTML 块中的 Markdown;以及内联 LaTeX。如果需要严格的 Markdown 兼容性,所有这些扩展都可以关闭。

Markdown 文档中可以使用 LaTeX 数学公式(甚至宏)。提供了几种不同的 HTML 渲染数学的方法,包括使用 MathJax 和转换为 MathML。根据输出格式的需要,LaTeX 数学公式会被转换为 unicodeWord 原生的公式对象、MathMLroff eqn 格式。

Pandoc 包含一个强大的自动引用和参考文献系统。这意味着你可以这样写引用:

[见 @doe99, 第 33-35 页; 另见 @smith04, 第 1 章]

Pandoc 会将其转换为采用数百种 CSL 样式(包括脚注样式、数字样式和作者-日期样式)的适当格式化引用,并在文档末尾添加格式正确的参考文献列表。参考文献数据可以是 BibTeXBibLaTeXCSL JSONCSL YAML 格式。在每种输出格式中都能使用引用功能。

有多种方式可以定制 Pandoc 以满足你的需求,包括模板系统和用于编写过滤器的强大系统。

Pandoc 包含一个 Haskell 库和一个独立的命令行程序。该库为每种输入和输出格式都包含了单独的模块,因此添加新的输入或输出格式只需增加一个新的模块即可。

在本文档中