如果您需要将文件从一种标记格式转换为另一种,pandoc 是您的瑞士军刀。Pandoc 可以在以下格式之间进行转换:
(← = 从...转换;→ = 转换为...;↔︎ = 从...和转换为...)
- 轻量级标记格式
-
↔︎ Markdown(包括 CommonMark 和 GitHub-flavored Markdown)
↔︎ reStructuredText
→ AsciiDoc
↔︎ Emacs Org-Mode
↔︎ Emacs Muse
↔︎ Textile
→ Markua
← txt2tags
↔︎ djot - HTML 格式
-
↔︎ (X)HTML 4
↔︎ HTML5
→ 分块 HTML - 电子书
-
↔︎ EPUB 版本 2 或 3
↔︎ FictionBook2 - 文档格式
-
→ GNU TexInfo
← pod
↔︎ Haddock 标记 - Roff 格式
- TeX 格式
- XML 格式
-
↔︎ DocBook 版本 4 或 5
↔︎ JATS
← BITS
→ TEI Simple
→ OpenDocument XML - 大纲格式
-
↔︎ OPML
- 参考文献格式
-
↔︎ BibTeX
↔︎ BibLaTeX
↔︎ CSL JSON
↔︎ CSL YAML
← RIS
← EndNote XML
- 文字处理格式
-
↔︎ Microsoft Word docx
↔︎ 富文本格式 RTF
↔︎ OpenOffice/LibreOffice ODT - 交互式笔记本格式
-
↔︎ Jupyter 笔记本 (ipynb)
- 页面布局格式
-
→ InDesign ICML
↔︎ Typst - Wiki 标记格式
-
↔︎ MediaWiki 标记
↔︎ DokuWiki 标记
← TikiWiki 标记
← TWiki 标记
← Vimwiki 标记
→ XWiki 标记
→ ZimWiki 标记
↔︎ Jira wiki 标记
← Creole - 幻灯片格式
-
→ LaTeX Beamer
→ Microsoft PowerPoint
→ Slidy
→ reveal.js
→ Slideous
→ S5
→ DZSlides - 数据格式
- 终端输出
-
→ ANSI 格式文本
- 自定义格式
-
→ 通过
pdflatex
,lualatex
,xelatex
,latexmk
,tectonic
,wkhtmltopdf
,weasyprint
,prince
,pagedjs-cli
,context
, 或pdfroff
。
Pandoc 支持许多有用的 Markdown 语法扩展,包括文档元数据(标题、作者、日期);脚注;表格;定义列表;上标和下标;删除线;增强型有序列表(起始编号和编号样式很重要);运行示例列表;带语法高亮的定界代码块;智能引号、破折号和省略号;HTML 块内的 Markdown;以及内联 LaTeX。如果需要严格的 Markdown 兼容性,所有这些扩展都可以关闭。
LaTeX 数学(甚至宏)可以在 Markdown 文档中使用。提供了几种在 HTML 中渲染数学的方法,包括 MathJax 和转换为 MathML。LaTeX 数学(根据输出格式的需要)会转换为 Unicode、原生 Word 方程式对象、MathML 或 roff eqn。
Pandoc 包含一个强大的自动引用和参考文献系统。这意味着您可以像这样编写引用:
[see @doe99, pp. 33-35; also @smith04, ch. 1]
Pandoc 会使用数百种 CSL 样式(包括脚注样式、数字样式和作者-日期样式)中的任何一种,将其转换为格式正确的引用,并在文档末尾添加格式正确的参考文献。参考文献数据可以是 BibTeX、BibLaTeX、CSL JSON 或 CSL YAML 格式。引用在所有输出格式中都适用。
有许多方法可以根据您的需求自定义 Pandoc,包括模板系统和强大的过滤器编写系统。
Pandoc 包含一个 Haskell 库和一个独立的命令行程序。该库为每种输入和输出格式包含独立的模块,因此添加新的输入或输出格式只需要添加一个新模块。
Pandoc 是免费软件,根据 GPL 发布。版权所有 2006–2025 John MacFarlane。