Pandoc Cheat Sheet



Pandoc is the swiss-army knife for converting files from one markup format into another:

What does Pandoc do?

  • Pandoc Cheat Sheet. Created on: 2019-01-21. A quick reference to Pandoc. Created on: 2019-01-20. Using Pencil Project as GUI prototyping tool.
  • Cheat Sheet. Introduction This document presents a technique for using a Markdown syntax variant, called Pandoc, and a bit of XML as a source format for documents that are Internet-Drafts (I-Ds) or RFCs. The goal of this technique is to let an author of an I-D focus on the main body of text without.
  • Pandoc; A LaTeX distribution, including LuaLaTeX; The DejaVu Sans and DejaVu Sans Mono fonts; If you want to use other fonts, just modify the Makefile to your liking. To generate all (recently modified) cheat sheet PDFs, just type. Make To generate the PDF for a specific cheat sheet (let's say NetworkTroubleshooting.md): make.

Compact 4-page cheat sheet: what layout feature – how to write in Markdown. Includes 4 kinds of tables, Emacs commands and Emacs table mode. Based on markdown supported by Pandoc. This Markdown cheat sheet is compact (much information in small space), user-oriented: structured.

Pandoc can convert documents from

  • markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup

to

  • HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
  • Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
  • Ebooks: EPUB version 2 or 3, FictionBook2
  • Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup
  • Page layout formats: InDesign ICML
  • Outline formats: OPML
  • TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
  • PDF via LaTeX
  • Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile

What does Pandoc do for me?

I use pandoc to convert documents from

  • markdown

to

  • HTML
  • Microsoft Word docx (force majeure!), OpenOffice/LibreOffice ODT, OpenDocument XML
  • LaTeX Beamer slides
  • PDF via LaTeX

What does Pandoc do better than the specialized tools?

Accessibility:

Code in markdown is easily readable text.In comparison:

  • Markdown syntax is handier than (La)TeX syntax (Donald Knuth, inventor of TeX, wondered why it took so long to evolve from LaTeX to a more efficient markup language that compiles down to TeX, such as markdown),
  • in particular Markdown syntax is handier than LaTeX Beamer syntax,
  • math formulas are more easily written in Markdown than in Microsft Word or LibreOffice,
  • it is especially suited for creating short HTML articles, such as blog entries.

What does Pandoc do worse than the specialized tools?

  • Functions specific to a markup language
    • either cannot be used,
    • or can be used, but may turn compilation into other languages invalid. (The pandoc syntax is as reduced as the common base among all markup languages into which it converts.)
  • For more complex documents, there is certain consensus that the similar asciidoc format is more powerful and better suited (publisher’s choice).
  • Pandoc is still in development:
    • the output sometimes rough and needs to be retouched,
    • documentation is incomplete,
    • smaller ecosystem of tools, like editors and IDEs, for example:
      • LaTeX supports forward and inverse document search, that lets you jump from a position in the source TeX file to the corresponding position in the compiled pdf file, and the other way around. There is no such thing for markdown: markdown first compiles to TeX and then to pdf.
      • The Vim plugin for markdown is young and basic in comparison to that for LaTeX which is stable and powerful.

Markdown is simple, concise and intuitive:Its cheat-sheet and documentation are one.

Examples:

Source:

Output:

An emphasized itemization:

  • dog
  • fox

A bold enumeration:

  1. Mum
  2. Dad

A table

mumdad
weight100 kg200 kg
height1,20 m2,10 m

We use

  • a Makefile, that sets a couple of compilation options, and
  • a main markdown file, that sets a couple of document options.

Which parameters can be set by the command line, and which in the document, this choice is somewhat arbitrary and perhaps a shadow of pandoc’s unfinished state.

Pandoc parameters

We can pass many options to pandoc, among those the most important ones (for us) are:

Makefile

By a makefile, instead of having to pass the options for

  • compilation,
  • running,
  • checking and cleaning,

each time on the command line, we call make (run/check/clean) and use those once and for all set in the makefile.

The command make, corresponding to the entry all:, generates the output file, in our case the pdf document.For example,

  • make docx generates a docx document,
  • make html generates a HTML document,
  • make latex generates a TeX document,

The option all: latex pdf is the default option, that is,

  • make generates first a TeX and then a pdf document.

We recommend latexrun as a good LaTeX “debugger”.Still, note that we first have to spot first the error in the TeX, then the corresponding one in the markdown document.

The command run displays the output file, for example,

  • make run-html shows the HTML document in a browser (such as Firefox),
  • make run-odt shows the ODT document in LibreOffice,

The option run is the default option, that is,

  • make run displays the pdf document in a pdf-viewer (such as zathura).

Finally, make clean removes all output files.

Main file

This file sets at the top the title, author and date of the document.Below, additional options,

  • one general option, lang that controls for example the labeling of the table of content and references, and
  • various TeX options, such as:

    • document type,
    • font size, and
    • depth of the section numbering.

Let us facilitate compilation and editing of pandoc files, the first by built-in functionality, latter by dedicated plugins.

Automatic compilation and reload

To make Vim compile our file after every save, add to the (newly created, if necessary) file ~/.vim/after/ftplugin/markdown.vim the line:

If the output is

  • pdf (via TeX), then the pdf viewer zathura automatically reloads the changed pdf file,
  • html, then the Firefox plugin autoreload automatically reloads the changed html file.

Editing enhancements

The plugin vim-pandoc

  • completes references in your library when hitting the ` < Tab > ` key.
  • folds sections and code,
  • gives a Table of Contents.

The plugin UltiSnips expands lengthier markdown syntax such as

  • [ to [link](http://url 'title'), and
  • ![ to ![alt](url 'title')

The plugin vim-template prefills, on editing

  • a new makefile, the makefile with the above boilerplate makefile code, and
  • a new pandoc file, the pandoc file with the above boilerplate main file code.

Pandoc is the swiss-army knife for converting files from one markup format into another:

What does Pandoc do?

Pandoc can convert documents from

  • markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup

to

  • HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
  • Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
  • Ebooks: EPUB version 2 or 3, FictionBook2
  • Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup
  • Page layout formats: InDesign ICML
  • Outline formats: OPML
  • TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
  • PDF via LaTeX
  • Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile

What does Pandoc do for me?

I use pandoc to convert documents from

  • markdown

to

  • HTML
  • Microsoft Word docx (force majeure!), OpenOffice/LibreOffice ODT, OpenDocument XML
  • LaTeX Beamer slides
  • PDF via LaTeX

What does Pandoc do better than the specialized tools?

Accessibility:

Code in markdown is easily readable text.In comparison:

  • Markdown syntax is handier than (La)TeX syntax (Donald Knuth, inventor of TeX, wondered why it took so long to evolve from LaTeX to a more efficient markup language that compiles down to TeX, such as markdown),
  • in particular Markdown syntax is handier than LaTeX Beamer syntax,
  • math formulas are more easily written in Markdown than in Microsft Word or LibreOffice,
  • it is especially suited for creating short HTML articles, such as blog entries.

What does Pandoc do worse than the specialized tools?

  • Functions specific to a markup language
    • either cannot be used,
    • or can be used, but may turn compilation into other languages invalid. (The pandoc syntax is as reduced as the common base among all markup languages into which it converts.)
  • For more complex documents, there is certain consensus that the similar asciidoc format is more powerful and better suited (publisher’s choice).
  • Pandoc is still in development:
    • the output sometimes rough and needs to be retouched,
    • documentation is incomplete,
    • smaller ecosystem of tools, like editors and IDEs, for example:
      • LaTeX supports forward and inverse document search, that lets you jump from a position in the source TeX file to the corresponding position in the compiled pdf file, and the other way around. There is no such thing for markdown: markdown first compiles to TeX and then to pdf.
      • The Vim plugin for markdown is young and basic in comparison to that for LaTeX which is stable and powerful.

Markdown is simple, concise and intuitive:Its cheat-sheet and documentation are one.

Examples:

Source:

Output:

An emphasized itemization:

  • dog
  • fox

A bold enumeration:

  1. Mum
  2. Dad

A table

mumdad
weight100 kg200 kg
height1,20 m2,10 m

We use

  • a Makefile, that sets a couple of compilation options, and
  • a main markdown file, that sets a couple of document options.

Which parameters can be set by the command line, and which in the document, this choice is somewhat arbitrary and perhaps a shadow of pandoc’s unfinished state.

Pandoc parameters

We can pass many options to pandoc, among those the most important ones (for us) are:

Makefile

By a makefile, instead of having to pass the options for

  • compilation,
  • running,
  • checking and cleaning,

each time on the command line, we call make (run/check/clean) and use those once and for all set in the makefile.

The command make, corresponding to the entry all:, generates the output file, in our case the pdf document.For example,

  • make docx generates a docx document,
  • make html generates a HTML document,
  • make latex generates a TeX document,

The option all: latex pdf is the default option, that is,

Sheet
  • make generates first a TeX and then a pdf document.

We recommend latexrun as a good LaTeX “debugger”.Still, note that we first have to spot first the error in the TeX, then the corresponding one in the markdown document.

The command run displays the output file, for example,

  • make run-html shows the HTML document in a browser (such as Firefox),
  • make run-odt shows the ODT document in LibreOffice,

The option run is the default option, that is,

  • make run displays the pdf document in a pdf-viewer (such as zathura).

Finally, make clean removes all output files.

Main file

This file sets at the top the title, author and date of the document.Below, additional options,

  • one general option, lang that controls for example the labeling of the table of content and references, and
  • various TeX options, such as:

    • document type,
    • font size, and
    • depth of the section numbering.

Let us facilitate compilation and editing of pandoc files, the first by built-in functionality, latter by dedicated plugins.

Automatic compilation and reload

To make Vim compile our file after every save, add to the (newly created, if necessary) file ~/.vim/after/ftplugin/markdown.vim the line:

Pandoc Cheat Sheet 2020

If the output is

  • pdf (via TeX), then the pdf viewer zathura automatically reloads the changed pdf file,
  • html, then the Firefox plugin autoreload automatically reloads the changed html file.

Editing enhancements

Pandoc Cheat Sheet Pdf

The plugin vim-pandoc

  • completes references in your library when hitting the ` < Tab > ` key.
  • folds sections and code,
  • gives a Table of Contents.

The plugin UltiSnips expands lengthier markdown syntax such as

  • [ to [link](http://url 'title'), and
  • ![ to ![alt](url 'title')

The plugin vim-template prefills, on editing

Pandoc Cheat Sheet

  • a new makefile, the makefile with the above boilerplate makefile code, and
  • a new pandoc file, the pandoc file with the above boilerplate main file code.