# Pandoc

## Wapack Labs Installation

Pandoc is installed on dev-01.tac.wapacklabs.com

```
/home/ubuntu/pandoc-build/
.
├── cmark-hs
├── pandoc
├── pandoc-citeproc
├── pandoc-types
├── texmath
└── zip-archive
```

## About Pandoc

If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, LibreOffice ODT, 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, TEI Simple, 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 (including CommonMark), reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile

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.

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 rendered in docx using native Word equation objects.

Pandoc includes a powerful system for automatic citations and bibliographies, using pandoc-citeproc (which derives from Andrea Rossato’s citeproc-hs). This means that you can write a citation like \[see @doe99, pp. 33-35; also @smith04, ch. 1] 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. Many forms of bibliography database can be used, including bibtex, RIS, EndNote, ISI, MEDLINE, MODS, and JSON citeproc. Citations work in every output format.

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. © 2006-2016 John MacFarlane.

## Getting started

[https://pandoc.org/getting-started.html](https://pandoc.org/getting-started.html)

## User Guide

[https://pandoc.org/MANUAL.html](https://pandoc.org/MANUAL.html)

## Building the whole pandoc ecosystem

Sometimes pandoc’s development code depends on unreleased versions of dependent libraries. You’ll need to build these as well. A maximal build method would be

```
mkdir pandoc-build
cd pandoc-build
git clone https://github.com/jgm/pandoc-types
git clone https://github.com/jgm/texmath
git clone https://github.com/jgm/pandoc-citeproc
git clone https://github.com/jgm/pandoc
git clone https://github.com/jgm/cmark-hs
git clone https://github.com/jgm/zip-archive
cd pandoc
git submodule update --init
stack install --test --install-ghc --stack-yaml stack.full.yaml
```

To pull in the latest changes, after you’ve done this and there have been changes in the repositories: Visit each repository in pandoc-build (pandoc-types, texmath, pandoc-citeproc, pandoc, zip-archive, cmark-hs) and do git pull. In the pandoc repo, also do git submodule update and stack install --test --stack-yaml stack.full.yaml.
