Pandoc Cheat Sheet



Pandoc supports lua and python based filters to aid in formatting of the documents. For example: pandoc-citeproc parses the citations included in markdown files, pandoc-crossref allows numbering and cross-referencing of figures, tables and equations across the document. Independent Submission R. Gieben Request for Comments: 7328 Google Category: Informational August 2014 ISSN: 2070-1721 Writing I-Ds and RFCs Using Pandoc and a Bit of XML Abstract This document presents a technique for using a Markdown syntax variant, called Pandoc, and a bit of XML (as defined in RFC 2629) as a source format for documents that are Internet-Drafts (I-Ds) or RFCs. Pandoc is a converter that allows to transform documents across a very wide range of documentation formats including html, markdown, reStructuredText, textile, DocBook, LaTeX, MediaWiki, Word docx, EPUB, etc. This is useful if you do not use Emacs or want an easy way to automate the conversions. However, Pandoc does not support all Org syntax and has different defaults, so the conversions are not identical. For more about Org see my previous writings and videos such as Using Emacs 2 – org and Getting Started With Org Mode.

If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc can convert between the following formats:

Pandoc Cheat Sheets

(← = conversion from; → = conversion to; ↔︎ = conversion from and to)

Lightweight markup formats
Pandoc Cheat Sheet

↔︎ Markdown (including CommonMark and GitHub-flavored Markdown)
↔︎ reStructuredText
→ AsciiDoc
↔︎ Emacs Org-Mode
↔︎ Emacs Muse
↔︎ Textile
← txt2tags

HTML formats
Pandoc Cheat Sheet

↔︎ (X)HTML 4
↔︎ HTML5

Ebooks

↔︎ EPUB version 2 or 3
↔︎ FictionBook2

Documentation formats

→ GNU TexInfo
↔︎ Haddock markup

Roff formats

↔︎ roff man
→ roff ms

TeX formats

↔︎ LaTeX
→ ConTeXt

XML formats

↔︎ DocBook version 4 or 5
↔︎ JATS
→ TEI Simple

Outline formats

↔︎ OPML

Bibliography formats

↔︎ BibTeX
↔︎ BibLaTeX
↔︎ CSL JSON
↔︎ CSL YAML

Word processor formats

↔︎ Microsoft Word docx
↔︎ OpenOffice/LibreOffice ODT
→ OpenDocument XML
→ Microsoft PowerPoint

Interactive notebook formats
Pandoc cheat sheet

↔︎ Jupyter notebook (ipynb)

Page layout formats

→ InDesign ICML

Wiki markup formats

↔︎ MediaWiki markup
↔︎ DokuWiki markup
← TikiWiki markup
← TWiki markup
← Vimwiki markup
→ XWiki markup
→ ZimWiki markup
↔︎ Jira wiki markup

Slide show formats

→ LaTeX Beamer
→ Slidy
→ reveal.js
→ Slideous
→ S5
→ DZSlides

Pandoc Cheat Sheet Pdf

Data formats

← CSV tables

Custom formats

→ custom writers can be written in lua.

PDF

→ via pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, prince, context, or pdfroff.

Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists (start number and numbering style are significant); running example lists; delimited code blocks with syntax highlighting; smart quotes, dashes, and ellipses; markdown inside HTML blocks; and inline LaTeX. If strict markdown compatibility is desired, all of these extensions can be turned off.

Pandoc Cheat Sheet

LaTeX math (and even macros) can be used in markdown documents. Several different methods of rendering math in HTML are provided, including MathJax and translation to MathML. LaTeX math is converted (as needed by the output format) to unicode, native Word equation objects, MathML, or roff eqn.

Pandoc includes a powerful system for automatic citations and bibliographies. This means that you can write a citation like

and pandoc will convert it into a properly formatted citation using any of hundreds of CSL styles (including footnote styles, numerical styles, and author-date styles), and add a properly formatted bibliography at the end of the document. The bibliographic data may be in BibTeX, BibLaTeX, CSL JSON, or CSL YAML format. Citations work in every output format.

There are many ways to customize pandoc to fit your needs, including a template system and a powerful system for writing filters.

Pandoc includes a Haskell library and a standalone command-line program. The library includes separate modules for each input and output format, so adding a new input or output format just requires adding a new module.

Pandoc is free software, released under the GPL. Copyright 2006–2020 John MacFarlane.