4851 lines
142 KiB
Groff
4851 lines
142 KiB
Groff
.\"t
|
|
.TH PANDOC 1 "June 4, 2016" "pandoc 1.17.2"
|
|
.SH NAME
|
|
pandoc - general markup converter
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\f[C]pandoc\f[] [\f[I]options\f[]] [\f[I]input\-file\f[]]...
|
|
.SH DESCRIPTION
|
|
.PP
|
|
Pandoc is a Haskell library for converting from one markup format to
|
|
another, and a command\-line tool that uses this library.
|
|
It can read Markdown, CommonMark, PHP Markdown Extra, GitHub\-Flavored
|
|
Markdown, MultiMarkdown, and (subsets of) Textile, reStructuredText,
|
|
HTML, LaTeX, MediaWiki markup, TWiki markup, Haddock markup, OPML, Emacs
|
|
Org mode, DocBook, txt2tags, EPUB, ODT and Word docx; and it can write
|
|
plain text, Markdown, CommonMark, PHP Markdown Extra, GitHub\-Flavored
|
|
Markdown, MultiMarkdown, reStructuredText, XHTML, HTML5, LaTeX
|
|
(including \f[C]beamer\f[] slide shows), ConTeXt, RTF, OPML, DocBook,
|
|
OpenDocument, ODT, Word docx, GNU Texinfo, MediaWiki markup, DokuWiki
|
|
markup, ZimWiki markup, Haddock markup, EPUB (v2 or v3), FictionBook2,
|
|
Textile, groff man pages, Emacs Org mode, AsciiDoc, InDesign ICML, TEI
|
|
Simple, and Slidy, Slideous, DZSlides, reveal.js or S5 HTML slide shows.
|
|
It can also produce PDF output on systems where LaTeX, ConTeXt, or
|
|
\f[C]wkhtmltopdf\f[] is installed.
|
|
.PP
|
|
Pandoc\[aq]s enhanced version of Markdown includes syntax for footnotes,
|
|
tables, flexible ordered lists, definition lists, fenced code blocks,
|
|
superscripts and subscripts, strikeout, metadata blocks, automatic
|
|
tables of contents, embedded LaTeX math, citations, and Markdown inside
|
|
HTML block elements.
|
|
(These enhancements, described below under Pandoc\[aq]s Markdown, can be
|
|
disabled using the \f[C]markdown_strict\f[] input or output format.)
|
|
.PP
|
|
In contrast to most existing tools for converting Markdown to HTML,
|
|
which use regex substitutions, pandoc has a modular design: it consists
|
|
of a set of readers, which parse text in a given format and produce a
|
|
native representation of the document, and a set of writers, which
|
|
convert this native representation into a target format.
|
|
Thus, adding an input or output format requires only adding a reader or
|
|
writer.
|
|
.PP
|
|
Because pandoc\[aq]s intermediate representation of a document is less
|
|
expressive than many of the formats it converts between, one should not
|
|
expect perfect conversions between every format and every other.
|
|
Pandoc attempts to preserve the structural elements of a document, but
|
|
not formatting details such as margin size.
|
|
And some document elements, such as complex tables, may not fit into
|
|
pandoc\[aq]s simple document model.
|
|
While conversions from pandoc\[aq]s Markdown to all formats aspire to be
|
|
perfect, conversions from formats more expressive than pandoc\[aq]s
|
|
Markdown can be expected to be lossy.
|
|
.SS Using \f[C]pandoc\f[]
|
|
.PP
|
|
If no \f[I]input\-file\f[] is specified, input is read from
|
|
\f[I]stdin\f[].
|
|
Otherwise, the \f[I]input\-files\f[] are concatenated (with a blank line
|
|
between each) and used as input.
|
|
Output goes to \f[I]stdout\f[] by default (though output to
|
|
\f[I]stdout\f[] is disabled for the \f[C]odt\f[], \f[C]docx\f[],
|
|
\f[C]epub\f[], and \f[C]epub3\f[] output formats).
|
|
For output to a file, use the \f[C]\-o\f[] option:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-o\ output.html\ input.txt
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
By default, pandoc produces a document fragment, not a standalone
|
|
document with a proper header and footer.
|
|
To produce a standalone document, use the \f[C]\-s\f[] or
|
|
\f[C]\-\-standalone\f[] flag:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-s\ \-o\ output.html\ input.txt
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
For more information on how standalone documents are produced, see
|
|
Templates, below.
|
|
.PP
|
|
Instead of a file, an absolute URI may be given.
|
|
In this case pandoc will fetch the content using HTTP:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-f\ html\ \-t\ markdown\ http://www.fsf.org
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If multiple input files are given, \f[C]pandoc\f[] will concatenate them
|
|
all (with blank lines between them) before parsing.
|
|
This feature is disabled for binary input formats such as \f[C]EPUB\f[],
|
|
\f[C]odt\f[], and \f[C]docx\f[].
|
|
.PP
|
|
The format of the input and output can be specified explicitly using
|
|
command\-line options.
|
|
The input format can be specified using the \f[C]\-r/\-\-read\f[] or
|
|
\f[C]\-f/\-\-from\f[] options, the output format using the
|
|
\f[C]\-w/\-\-write\f[] or \f[C]\-t/\-\-to\f[] options.
|
|
Thus, to convert \f[C]hello.txt\f[] from Markdown to LaTeX, you could
|
|
type:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-f\ markdown\ \-t\ latex\ hello.txt
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
To convert \f[C]hello.html\f[] from HTML to Markdown:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-f\ html\ \-t\ markdown\ hello.html
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Supported output formats are listed below under the \f[C]\-t/\-\-to\f[]
|
|
option.
|
|
Supported input formats are listed below under the \f[C]\-f/\-\-from\f[]
|
|
option.
|
|
Note that the \f[C]rst\f[], \f[C]textile\f[], \f[C]latex\f[], and
|
|
\f[C]html\f[] readers are not complete; there are some constructs that
|
|
they do not parse.
|
|
.PP
|
|
If the input or output format is not specified explicitly,
|
|
\f[C]pandoc\f[] will attempt to guess it from the extensions of the
|
|
input and output filenames.
|
|
Thus, for example,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-o\ hello.tex\ hello.txt
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
will convert \f[C]hello.txt\f[] from Markdown to LaTeX.
|
|
If no output file is specified (so that output goes to \f[I]stdout\f[]),
|
|
or if the output file\[aq]s extension is unknown, the output format will
|
|
default to HTML.
|
|
If no input file is specified (so that input comes from \f[I]stdin\f[]),
|
|
or if the input files\[aq] extensions are unknown, the input format will
|
|
be assumed to be Markdown unless explicitly specified.
|
|
.PP
|
|
Pandoc uses the UTF\-8 character encoding for both input and output.
|
|
If your local character encoding is not UTF\-8, you should pipe input
|
|
and output through \f[C]iconv\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
iconv\ \-t\ utf\-8\ input.txt\ |\ pandoc\ |\ iconv\ \-f\ utf\-8
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that in some output formats (such as HTML, LaTeX, ConTeXt, RTF,
|
|
OPML, DocBook, and Texinfo), information about the character encoding is
|
|
included in the document header, which will only be included if you use
|
|
the \f[C]\-s/\-\-standalone\f[] option.
|
|
.SS Creating a PDF
|
|
.PP
|
|
To produce a PDF, specify an output file with a \f[C]\&.pdf\f[]
|
|
extension.
|
|
By default, pandoc will use LaTeX to convert it to PDF:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ test.txt\ \-o\ test.pdf
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Production of a PDF requires that a LaTeX engine be installed (see
|
|
\f[C]\-\-latex\-engine\f[], below), and assumes that the following LaTeX
|
|
packages are available: \f[C]amsfonts\f[], \f[C]amsmath\f[],
|
|
\f[C]lm\f[], \f[C]ifxetex\f[], \f[C]ifluatex\f[], \f[C]eurosym\f[],
|
|
\f[C]listings\f[] (if the \f[C]\-\-listings\f[] option is used),
|
|
\f[C]fancyvrb\f[], \f[C]longtable\f[], \f[C]booktabs\f[],
|
|
\f[C]graphicx\f[] and \f[C]grffile\f[] (if the document contains
|
|
images), \f[C]hyperref\f[], \f[C]ulem\f[], \f[C]geometry\f[] (with the
|
|
\f[C]geometry\f[] variable set), \f[C]setspace\f[] (with
|
|
\f[C]linestretch\f[]), and \f[C]babel\f[] (with \f[C]lang\f[]).
|
|
The use of \f[C]xelatex\f[] or \f[C]lualatex\f[] as the LaTeX engine
|
|
requires \f[C]fontspec\f[]; \f[C]xelatex\f[] uses \f[C]mathspec\f[],
|
|
\f[C]polyglossia\f[] (with \f[C]lang\f[]), \f[C]xecjk\f[], and
|
|
\f[C]bidi\f[] (with the \f[C]dir\f[] variable set).
|
|
The \f[C]upquote\f[] and \f[C]microtype\f[] packages are used if
|
|
available, and \f[C]csquotes\f[] will be used for smart punctuation if
|
|
added to the template or included in any header file.
|
|
The \f[C]natbib\f[], \f[C]biblatex\f[], \f[C]bibtex\f[], and
|
|
\f[C]biber\f[] packages can optionally be used for citation rendering.
|
|
These are included with all recent versions of TeX Live.
|
|
.PP
|
|
Alternatively, pandoc can use ConTeXt or \f[C]wkhtmltopdf\f[] to create
|
|
a PDF.
|
|
To do this, specify an output file with a \f[C]\&.pdf\f[] extension, as
|
|
before, but add \f[C]\-t\ context\f[] or \f[C]\-t\ html5\f[] to the
|
|
command line.
|
|
.PP
|
|
PDF output can be controlled using variables for LaTeX (if LaTeX is
|
|
used) and variables for ConTeXt (if ConTeXt is used).
|
|
If \f[C]wkhtmltopdf\f[] is used, then the variables
|
|
\f[C]margin\-left\f[], \f[C]margin\-right\f[], \f[C]margin\-top\f[],
|
|
\f[C]margin\-bottom\f[], and \f[C]papersize\f[] will affect the output,
|
|
as will \f[C]\-\-css\f[].
|
|
.SH OPTIONS
|
|
.SS General options
|
|
.TP
|
|
.B \f[C]\-f\f[] \f[I]FORMAT\f[], \f[C]\-r\f[] \f[I]FORMAT\f[], \f[C]\-\-from=\f[]\f[I]FORMAT\f[], \f[C]\-\-read=\f[]\f[I]FORMAT\f[]
|
|
Specify input format.
|
|
\f[I]FORMAT\f[] can be \f[C]native\f[] (native Haskell), \f[C]json\f[]
|
|
(JSON version of native AST), \f[C]markdown\f[] (pandoc\[aq]s extended
|
|
Markdown), \f[C]markdown_strict\f[] (original unextended Markdown),
|
|
\f[C]markdown_phpextra\f[] (PHP Markdown Extra),
|
|
\f[C]markdown_github\f[] (GitHub\-Flavored Markdown),
|
|
\f[C]markdown_mmd\f[] (MultiMarkdown), \f[C]commonmark\f[] (CommonMark
|
|
Markdown), \f[C]textile\f[] (Textile), \f[C]rst\f[] (reStructuredText),
|
|
\f[C]html\f[] (HTML), \f[C]docbook\f[] (DocBook), \f[C]t2t\f[]
|
|
(txt2tags), \f[C]docx\f[] (docx), \f[C]odt\f[] (ODT), \f[C]epub\f[]
|
|
(EPUB), \f[C]opml\f[] (OPML), \f[C]org\f[] (Emacs Org mode),
|
|
\f[C]mediawiki\f[] (MediaWiki markup), \f[C]twiki\f[] (TWiki markup),
|
|
\f[C]haddock\f[] (Haddock markup), or \f[C]latex\f[] (LaTeX).
|
|
If \f[C]+lhs\f[] is appended to \f[C]markdown\f[], \f[C]rst\f[],
|
|
\f[C]latex\f[], or \f[C]html\f[], the input will be treated as literate
|
|
Haskell source: see Literate Haskell support, below.
|
|
Markdown syntax extensions can be individually enabled or disabled by
|
|
appending \f[C]+EXTENSION\f[] or \f[C]\-EXTENSION\f[] to the format
|
|
name.
|
|
So, for example, \f[C]markdown_strict+footnotes+definition_lists\f[] is
|
|
strict Markdown with footnotes and definition lists enabled, and
|
|
\f[C]markdown\-pipe_tables+hard_line_breaks\f[] is pandoc\[aq]s Markdown
|
|
without pipe tables and with hard line breaks.
|
|
See Pandoc\[aq]s Markdown, below, for a list of extensions and their
|
|
names.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-t\f[] \f[I]FORMAT\f[], \f[C]\-w\f[] \f[I]FORMAT\f[], \f[C]\-\-to=\f[]\f[I]FORMAT\f[], \f[C]\-\-write=\f[]\f[I]FORMAT\f[]
|
|
Specify output format.
|
|
\f[I]FORMAT\f[] can be \f[C]native\f[] (native Haskell), \f[C]json\f[]
|
|
(JSON version of native AST), \f[C]plain\f[] (plain text),
|
|
\f[C]markdown\f[] (pandoc\[aq]s extended Markdown),
|
|
\f[C]markdown_strict\f[] (original unextended Markdown),
|
|
\f[C]markdown_phpextra\f[] (PHP Markdown Extra),
|
|
\f[C]markdown_github\f[] (GitHub\-Flavored Markdown),
|
|
\f[C]markdown_mmd\f[] (MultiMarkdown), \f[C]commonmark\f[] (CommonMark
|
|
Markdown), \f[C]rst\f[] (reStructuredText), \f[C]html\f[] (XHTML),
|
|
\f[C]html5\f[] (HTML5), \f[C]latex\f[] (LaTeX), \f[C]beamer\f[] (LaTeX
|
|
beamer slide show), \f[C]context\f[] (ConTeXt), \f[C]man\f[] (groff
|
|
man), \f[C]mediawiki\f[] (MediaWiki markup), \f[C]dokuwiki\f[] (DokuWiki
|
|
markup), \f[C]zimwiki\f[] (ZimWiki markup), \f[C]textile\f[] (Textile),
|
|
\f[C]org\f[] (Emacs Org mode), \f[C]texinfo\f[] (GNU Texinfo),
|
|
\f[C]opml\f[] (OPML), \f[C]docbook\f[] (DocBook 4), \f[C]docbook5\f[]
|
|
(DocBook 5), \f[C]opendocument\f[] (OpenDocument), \f[C]odt\f[]
|
|
(OpenOffice text document), \f[C]docx\f[] (Word docx), \f[C]haddock\f[]
|
|
(Haddock markup), \f[C]rtf\f[] (rich text format), \f[C]epub\f[] (EPUB
|
|
v2 book), \f[C]epub3\f[] (EPUB v3), \f[C]fb2\f[] (FictionBook2 e\-book),
|
|
\f[C]asciidoc\f[] (AsciiDoc), \f[C]icml\f[] (InDesign ICML),
|
|
\f[C]tei\f[] (TEI Simple), \f[C]slidy\f[] (Slidy HTML and javascript
|
|
slide show), \f[C]slideous\f[] (Slideous HTML and javascript slide
|
|
show), \f[C]dzslides\f[] (DZSlides HTML5 + javascript slide show),
|
|
\f[C]revealjs\f[] (reveal.js HTML5 + javascript slide show), \f[C]s5\f[]
|
|
(S5 HTML and javascript slide show), or the path of a custom lua writer
|
|
(see Custom writers, below).
|
|
Note that \f[C]odt\f[], \f[C]epub\f[], and \f[C]epub3\f[] output will
|
|
not be directed to \f[I]stdout\f[]; an output filename must be specified
|
|
using the \f[C]\-o/\-\-output\f[] option.
|
|
If \f[C]+lhs\f[] is appended to \f[C]markdown\f[], \f[C]rst\f[],
|
|
\f[C]latex\f[], \f[C]beamer\f[], \f[C]html\f[], or \f[C]html5\f[], the
|
|
output will be rendered as literate Haskell source: see Literate Haskell
|
|
support, below.
|
|
Markdown syntax extensions can be individually enabled or disabled by
|
|
appending \f[C]+EXTENSION\f[] or \f[C]\-EXTENSION\f[] to the format
|
|
name, as described above under \f[C]\-f\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-o\f[] \f[I]FILE\f[], \f[C]\-\-output=\f[]\f[I]FILE\f[]
|
|
Write output to \f[I]FILE\f[] instead of \f[I]stdout\f[].
|
|
If \f[I]FILE\f[] is \f[C]\-\f[], output will go to \f[I]stdout\f[].
|
|
(Exception: if the output format is \f[C]odt\f[], \f[C]docx\f[],
|
|
\f[C]epub\f[], or \f[C]epub3\f[], output to stdout is disabled.)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-data\-dir=\f[]\f[I]DIRECTORY\f[]
|
|
Specify the user data directory to search for pandoc data files.
|
|
If this option is not specified, the default user data directory will be
|
|
used.
|
|
This is, in Unix:
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$HOME/.pandoc
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
in Windows XP:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
C:\\Documents\ And\ Settings\\USERNAME\\Application\ Data\\pandoc
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
and in Windows Vista or later:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
C:\\Users\\USERNAME\\AppData\\Roaming\\pandoc
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
You can find the default user data directory on your system by looking
|
|
at the output of \f[C]pandoc\ \-\-version\f[].
|
|
A \f[C]reference.odt\f[], \f[C]reference.docx\f[], \f[C]epub.css\f[],
|
|
\f[C]templates\f[], \f[C]slidy\f[], \f[C]slideous\f[], or \f[C]s5\f[]
|
|
directory placed in this directory will override pandoc\[aq]s normal
|
|
defaults.
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-bash\-completion\f[]
|
|
Generate a bash completion script.
|
|
To enable bash completion with pandoc, add this to your
|
|
\f[C]\&.bashrc\f[]:
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ eval\ "$(pandoc\ \-\-bash\-completion)"
|
|
\f[]
|
|
.fi
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-verbose\f[]
|
|
Give verbose debugging output.
|
|
Currently this only has an effect with PDF output.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-v\f[], \f[C]\-\-version\f[]
|
|
Print version.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-h\f[], \f[C]\-\-help\f[]
|
|
Show usage message.
|
|
.RS
|
|
.RE
|
|
.SS Reader options
|
|
.TP
|
|
.B \f[C]\-R\f[], \f[C]\-\-parse\-raw\f[]
|
|
Parse untranslatable HTML codes and LaTeX environments as raw HTML or
|
|
LaTeX, instead of ignoring them.
|
|
Affects only HTML and LaTeX input.
|
|
Raw HTML can be printed in Markdown, reStructuredText, Emacs Org mode,
|
|
HTML, Slidy, Slideous, DZSlides, reveal.js, and S5 output; raw LaTeX can
|
|
be printed in Markdown, reStructuredText, Emacs Org mode, LaTeX, and
|
|
ConTeXt output.
|
|
The default is for the readers to omit untranslatable HTML codes and
|
|
LaTeX environments.
|
|
(The LaTeX reader does pass through untranslatable LaTeX
|
|
\f[I]commands\f[], even if \f[C]\-R\f[] is not specified.)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-S\f[], \f[C]\-\-smart\f[]
|
|
Produce typographically correct output, converting straight quotes to
|
|
curly quotes, \f[C]\-\-\-\f[] to em\-dashes, \f[C]\-\-\f[] to
|
|
en\-dashes, and \f[C]\&...\f[] to ellipses.
|
|
Nonbreaking spaces are inserted after certain abbreviations, such as
|
|
"Mr." (Note: This option is selected automatically when the output
|
|
format is \f[C]latex\f[] or \f[C]context\f[], unless
|
|
\f[C]\-\-no\-tex\-ligatures\f[] is used.
|
|
It has no effect for \f[C]latex\f[] input.)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-old\-dashes\f[]
|
|
Selects the pandoc <= 1.8.2.1 behavior for parsing smart dashes:
|
|
\f[C]\-\f[] before a numeral is an en\-dash, and \f[C]\-\-\f[] is an
|
|
em\-dash.
|
|
This option is selected automatically for \f[C]textile\f[] input.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-base\-header\-level=\f[]\f[I]NUMBER\f[]
|
|
Specify the base level for headers (defaults to 1).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-indented\-code\-classes=\f[]\f[I]CLASSES\f[]
|
|
Specify classes to use for indented code blocks\-\-for example,
|
|
\f[C]perl,numberLines\f[] or \f[C]haskell\f[].
|
|
Multiple classes may be separated by spaces or commas.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-default\-image\-extension=\f[]\f[I]EXTENSION\f[]
|
|
Specify a default extension to use when image paths/URLs have no
|
|
extension.
|
|
This allows you to use the same source for formats that require
|
|
different kinds of images.
|
|
Currently this option only affects the Markdown and LaTeX readers.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-file\-scope\f[]
|
|
Parse each file individually before combining for multifile documents.
|
|
This will allow footnotes in different files with the same identifiers
|
|
to work as expected.
|
|
If this option is set, footnotes and links will not work across files.
|
|
Reading binary files (docx, odt, epub) implies \f[C]\-\-file\-scope\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-filter=\f[]\f[I]EXECUTABLE\f[]
|
|
Specify an executable to be used as a filter transforming the pandoc AST
|
|
after the input is parsed and before the output is written.
|
|
The executable should read JSON from stdin and write JSON to stdout.
|
|
The JSON must be formatted like pandoc\[aq]s own JSON input and output.
|
|
The name of the output format will be passed to the filter as the first
|
|
argument.
|
|
Hence,
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-\-filter\ ./caps.py\ \-t\ latex
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
is equivalent to
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-t\ json\ |\ ./caps.py\ latex\ |\ pandoc\ \-f\ json\ \-t\ latex
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The latter form may be useful for debugging filters.
|
|
.PP
|
|
Filters may be written in any language.
|
|
\f[C]Text.Pandoc.JSON\f[] exports \f[C]toJSONFilter\f[] to facilitate
|
|
writing filters in Haskell.
|
|
Those who would prefer to write filters in python can use the module
|
|
\f[C]pandocfilters\f[], installable from PyPI.
|
|
There are also pandoc filter libraries in PHP, perl, and
|
|
javascript/node.js.
|
|
.PP
|
|
Note that the \f[I]EXECUTABLE\f[] will be sought in the user\[aq]s
|
|
\f[C]PATH\f[], and not in the working directory, if no directory is
|
|
provided.
|
|
If you want to run a script in the working directory, preface the
|
|
filename with \f[C]\&./\f[].
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-M\f[] \f[I]KEY\f[][\f[C]=\f[]\f[I]VAL\f[]], \f[C]\-\-metadata=\f[]\f[I]KEY\f[][\f[C]:\f[]\f[I]VAL\f[]]
|
|
Set the metadata field \f[I]KEY\f[] to the value \f[I]VAL\f[].
|
|
A value specified on the command line overrides a value specified in the
|
|
document.
|
|
Values will be parsed as YAML boolean or string values.
|
|
If no value is specified, the value will be treated as Boolean true.
|
|
Like \f[C]\-\-variable\f[], \f[C]\-\-metadata\f[] causes template
|
|
variables to be set.
|
|
But unlike \f[C]\-\-variable\f[], \f[C]\-\-metadata\f[] affects the
|
|
metadata of the underlying document (which is accessible from filters
|
|
and may be printed in some output formats).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-normalize\f[]
|
|
Normalize the document after reading: merge adjacent \f[C]Str\f[] or
|
|
\f[C]Emph\f[] elements, for example, and remove repeated
|
|
\f[C]Space\f[]s.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-p\f[], \f[C]\-\-preserve\-tabs\f[]
|
|
Preserve tabs instead of converting them to spaces (the default).
|
|
Note that this will only affect tabs in literal code spans and code
|
|
blocks; tabs in regular text will be treated as spaces.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-tab\-stop=\f[]\f[I]NUMBER\f[]
|
|
Specify the number of spaces per tab (default is 4).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-track\-changes=accept\f[]|\f[C]reject\f[]|\f[C]all\f[]
|
|
Specifies what to do with insertions, deletions, and comments produced
|
|
by the MS Word "Track Changes" feature.
|
|
\f[C]accept\f[] (the default), inserts all insertions, and ignores all
|
|
deletions.
|
|
\f[C]reject\f[] inserts all deletions and ignores insertions.
|
|
Both \f[C]accept\f[] and \f[C]reject\f[] ignore comments.
|
|
\f[C]all\f[] puts in insertions, deletions, and comments, wrapped in
|
|
spans with \f[C]insertion\f[], \f[C]deletion\f[],
|
|
\f[C]comment\-start\f[], and \f[C]comment\-end\f[] classes,
|
|
respectively.
|
|
The author and time of change is included.
|
|
\f[C]all\f[] is useful for scripting: only accepting changes from a
|
|
certain reviewer, say, or before a certain date.
|
|
This option only affects the docx reader.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-extract\-media=\f[]\f[I]DIR\f[]
|
|
Extract images and other media contained in a docx or epub container to
|
|
the path \f[I]DIR\f[], creating it if necessary, and adjust the images
|
|
references in the document so they point to the extracted files.
|
|
This option only affects the docx and epub readers.
|
|
.RS
|
|
.RE
|
|
.SS General writer options
|
|
.TP
|
|
.B \f[C]\-s\f[], \f[C]\-\-standalone\f[]
|
|
Produce output with an appropriate header and footer (e.g.
|
|
a standalone HTML, LaTeX, TEI, or RTF file, not a fragment).
|
|
This option is set automatically for \f[C]pdf\f[], \f[C]epub\f[],
|
|
\f[C]epub3\f[], \f[C]fb2\f[], \f[C]docx\f[], and \f[C]odt\f[] output.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-template=\f[]\f[I]FILE\f[]
|
|
Use \f[I]FILE\f[] as a custom template for the generated document.
|
|
Implies \f[C]\-\-standalone\f[].
|
|
See Templates, below, for a description of template syntax.
|
|
If no extension is specified, an extension corresponding to the writer
|
|
will be added, so that \f[C]\-\-template=special\f[] looks for
|
|
\f[C]special.html\f[] for HTML output.
|
|
If the template is not found, pandoc will search for it in the
|
|
\f[C]templates\f[] subdirectory of the user data directory (see
|
|
\f[C]\-\-data\-dir\f[]).
|
|
If this option is not used, a default template appropriate for the
|
|
output format will be used (see
|
|
\f[C]\-D/\-\-print\-default\-template\f[]).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-V\f[] \f[I]KEY\f[][\f[C]=\f[]\f[I]VAL\f[]], \f[C]\-\-variable=\f[]\f[I]KEY\f[][\f[C]:\f[]\f[I]VAL\f[]]
|
|
Set the template variable \f[I]KEY\f[] to the value \f[I]VAL\f[] when
|
|
rendering the document in standalone mode.
|
|
This is generally only useful when the \f[C]\-\-template\f[] option is
|
|
used to specify a custom template, since pandoc automatically sets the
|
|
variables used in the default templates.
|
|
If no \f[I]VAL\f[] is specified, the key will be given the value
|
|
\f[C]true\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-D\f[] \f[I]FORMAT\f[], \f[C]\-\-print\-default\-template=\f[]\f[I]FORMAT\f[]
|
|
Print the system default template for an output \f[I]FORMAT\f[].
|
|
(See \f[C]\-t\f[] for a list of possible \f[I]FORMAT\f[]s.) Templates in
|
|
the user data directory are ignored.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-print\-default\-data\-file=\f[]\f[I]FILE\f[]
|
|
Print a system default data file.
|
|
Files in the user data directory are ignored.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-dpi\f[]=\f[I]NUMBER\f[]
|
|
Specify the dpi (dots per inch) value for conversion from pixels to
|
|
inch/centimeters and vice versa.
|
|
The default is 96dpi.
|
|
Technically, the correct term would be ppi (pixels per inch).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-wrap=[auto|none|preserve]\f[]
|
|
Determine how text is wrapped in the output (the source code, not the
|
|
rendered version).
|
|
With \f[C]auto\f[] (the default), pandoc will attempt to wrap lines to
|
|
the column width specified by \f[C]\-\-columns\f[] (default 80).
|
|
With \f[C]none\f[], pandoc will not wrap lines at all.
|
|
With \f[C]preserve\f[], pandoc will attempt to preserve the wrapping
|
|
from the source document (that is, where there are nonsemantic newlines
|
|
in the source, there will be nonsemantic newlines in the output as
|
|
well).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-no\-wrap\f[]
|
|
Deprecated synonym for \f[C]\-\-wrap=none\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-columns=\f[]\f[I]NUMBER\f[]
|
|
Specify length of lines in characters.
|
|
This affects text wrapping in the generated source code (see
|
|
\f[C]\-\-wrap\f[]).
|
|
It also affects calculation of column widths for plain text tables (see
|
|
Tables below).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-toc\f[], \f[C]\-\-table\-of\-contents\f[]
|
|
Include an automatically generated table of contents (or, in the case of
|
|
\f[C]latex\f[], \f[C]context\f[], \f[C]docx\f[], and \f[C]rst\f[], an
|
|
instruction to create one) in the output document.
|
|
This option has no effect on \f[C]man\f[], \f[C]docbook\f[],
|
|
\f[C]docbook5\f[], \f[C]slidy\f[], \f[C]slideous\f[], \f[C]s5\f[], or
|
|
\f[C]odt\f[] output.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-toc\-depth=\f[]\f[I]NUMBER\f[]
|
|
Specify the number of section levels to include in the table of
|
|
contents.
|
|
The default is 3 (which means that level 1, 2, and 3 headers will be
|
|
listed in the contents).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-no\-highlight\f[]
|
|
Disables syntax highlighting for code blocks and inlines, even when a
|
|
language attribute is given.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-highlight\-style=\f[]\f[I]STYLE\f[]
|
|
Specifies the coloring style to be used in highlighted source code.
|
|
Options are \f[C]pygments\f[] (the default), \f[C]kate\f[],
|
|
\f[C]monochrome\f[], \f[C]espresso\f[], \f[C]zenburn\f[],
|
|
\f[C]haddock\f[], and \f[C]tango\f[].
|
|
For more information on syntax highlighting in pandoc, see Syntax
|
|
highlighting, below.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-H\f[] \f[I]FILE\f[], \f[C]\-\-include\-in\-header=\f[]\f[I]FILE\f[]
|
|
Include contents of \f[I]FILE\f[], verbatim, at the end of the header.
|
|
This can be used, for example, to include special CSS or javascript in
|
|
HTML documents.
|
|
This option can be used repeatedly to include multiple files in the
|
|
header.
|
|
They will be included in the order specified.
|
|
Implies \f[C]\-\-standalone\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-B\f[] \f[I]FILE\f[], \f[C]\-\-include\-before\-body=\f[]\f[I]FILE\f[]
|
|
Include contents of \f[I]FILE\f[], verbatim, at the beginning of the
|
|
document body (e.g.
|
|
after the \f[C]<body>\f[] tag in HTML, or the \f[C]\\begin{document}\f[]
|
|
command in LaTeX).
|
|
This can be used to include navigation bars or banners in HTML
|
|
documents.
|
|
This option can be used repeatedly to include multiple files.
|
|
They will be included in the order specified.
|
|
Implies \f[C]\-\-standalone\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-A\f[] \f[I]FILE\f[], \f[C]\-\-include\-after\-body=\f[]\f[I]FILE\f[]
|
|
Include contents of \f[I]FILE\f[], verbatim, at the end of the document
|
|
body (before the \f[C]</body>\f[] tag in HTML, or the
|
|
\f[C]\\end{document}\f[] command in LaTeX).
|
|
This option can be used repeatedly to include multiple files.
|
|
They will be included in the order specified.
|
|
Implies \f[C]\-\-standalone\f[].
|
|
.RS
|
|
.RE
|
|
.SS Options affecting specific writers
|
|
.TP
|
|
.B \f[C]\-\-self\-contained\f[]
|
|
Produce a standalone HTML file with no external dependencies, using
|
|
\f[C]data:\f[] URIs to incorporate the contents of linked scripts,
|
|
stylesheets, images, and videos.
|
|
The resulting file should be "self\-contained," in the sense that it
|
|
needs no external files and no net access to be displayed properly by a
|
|
browser.
|
|
This option works only with HTML output formats, including
|
|
\f[C]html\f[], \f[C]html5\f[], \f[C]html+lhs\f[], \f[C]html5+lhs\f[],
|
|
\f[C]s5\f[], \f[C]slidy\f[], \f[C]slideous\f[], \f[C]dzslides\f[], and
|
|
\f[C]revealjs\f[].
|
|
Scripts, images, and stylesheets at absolute URLs will be downloaded;
|
|
those at relative URLs will be sought relative to the working directory
|
|
(if the first source file is local) or relative to the base URL (if the
|
|
first source file is remote).
|
|
Limitation: resources that are loaded dynamically through JavaScript
|
|
cannot be incorporated; as a result, \f[C]\-\-self\-contained\f[] does
|
|
not work with \f[C]\-\-mathjax\f[], and some advanced features (e.g.
|
|
zoom or speaker notes) may not work in an offline "self\-contained"
|
|
\f[C]reveal.js\f[] slide show.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-html\-q\-tags\f[]
|
|
Use \f[C]<q>\f[] tags for quotes in HTML.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-ascii\f[]
|
|
Use only ascii characters in output.
|
|
Currently supported only for HTML output (which uses numerical entities
|
|
instead of UTF\-8 when this option is selected).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-reference\-links\f[]
|
|
Use reference\-style links, rather than inline links, in writing
|
|
Markdown or reStructuredText.
|
|
By default inline links are used.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-atx\-headers\f[]
|
|
Use ATX\-style headers in Markdown and asciidoc output.
|
|
The default is to use setext\-style headers for levels 1\-2, and then
|
|
ATX headers.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-chapters\f[]
|
|
Treat top\-level headers as chapters in LaTeX, ConTeXt, and DocBook
|
|
output.
|
|
When the LaTeX document class is set to \f[C]report\f[], \f[C]book\f[],
|
|
or \f[C]memoir\f[] (unless the \f[C]article\f[] option is specified),
|
|
this option is implied.
|
|
If \f[C]beamer\f[] is the output format, top\-level headers will become
|
|
\f[C]\\part{..}\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-N\f[], \f[C]\-\-number\-sections\f[]
|
|
Number section headings in LaTeX, ConTeXt, HTML, or EPUB output.
|
|
By default, sections are not numbered.
|
|
Sections with class \f[C]unnumbered\f[] will never be numbered, even if
|
|
\f[C]\-\-number\-sections\f[] is specified.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-number\-offset=\f[]\f[I]NUMBER\f[][\f[C],\f[]\f[I]NUMBER\f[]\f[C],\f[]\f[I]\&...\f[]]
|
|
Offset for section headings in HTML output (ignored in other output
|
|
formats).
|
|
The first number is added to the section number for top\-level headers,
|
|
the second for second\-level headers, and so on.
|
|
So, for example, if you want the first top\-level header in your
|
|
document to be numbered "6", specify \f[C]\-\-number\-offset=5\f[].
|
|
If your document starts with a level\-2 header which you want to be
|
|
numbered "1.5", specify \f[C]\-\-number\-offset=1,4\f[].
|
|
Offsets are 0 by default.
|
|
Implies \f[C]\-\-number\-sections\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-no\-tex\-ligatures\f[]
|
|
Do not use the TeX ligatures for quotation marks, apostrophes, and
|
|
dashes (\f[C]`...\[aq]\f[], \f[C]``..\[aq]\[aq]\f[], \f[C]\-\-\f[],
|
|
\f[C]\-\-\-\f[]) when writing or reading LaTeX or ConTeXt.
|
|
In reading LaTeX, parse the characters \f[C]`\f[], \f[C]\[aq]\f[], and
|
|
\f[C]\-\f[] literally, rather than parsing ligatures for quotation marks
|
|
and dashes.
|
|
In writing LaTeX or ConTeXt, print unicode quotation mark and dash
|
|
characters literally, rather than converting them to the standard ASCII
|
|
TeX ligatures.
|
|
Note: normally \f[C]\-\-smart\f[] is selected automatically for LaTeX
|
|
and ConTeXt output, but it must be specified explicitly if
|
|
\f[C]\-\-no\-tex\-ligatures\f[] is selected.
|
|
If you use literal curly quotes, dashes, and ellipses in your source,
|
|
then you may want to use \f[C]\-\-no\-tex\-ligatures\f[] without
|
|
\f[C]\-\-smart\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-listings\f[]
|
|
Use the \f[C]listings\f[] package for LaTeX code blocks
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-i\f[], \f[C]\-\-incremental\f[]
|
|
Make list items in slide shows display incrementally (one by one).
|
|
The default is for lists to be displayed all at once.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-slide\-level=\f[]\f[I]NUMBER\f[]
|
|
Specifies that headers with the specified level create slides (for
|
|
\f[C]beamer\f[], \f[C]s5\f[], \f[C]slidy\f[], \f[C]slideous\f[],
|
|
\f[C]dzslides\f[]).
|
|
Headers above this level in the hierarchy are used to divide the slide
|
|
show into sections; headers below this level create subheads within a
|
|
slide.
|
|
The default is to set the slide level based on the contents of the
|
|
document; see Structuring the slide show.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-section\-divs\f[]
|
|
Wrap sections in \f[C]<div>\f[] tags (or \f[C]<section>\f[] tags in
|
|
HTML5), and attach identifiers to the enclosing \f[C]<div>\f[] (or
|
|
\f[C]<section>\f[]) rather than the header itself.
|
|
See Header identifiers, below.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-email\-obfuscation=none\f[]|\f[C]javascript\f[]|\f[C]references\f[]
|
|
Specify a method for obfuscating \f[C]mailto:\f[] links in HTML
|
|
documents.
|
|
\f[C]none\f[] leaves \f[C]mailto:\f[] links as they are.
|
|
\f[C]javascript\f[] obfuscates them using javascript.
|
|
\f[C]references\f[] obfuscates them by printing their letters as decimal
|
|
or hexadecimal character references.
|
|
The default is \f[C]none\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-id\-prefix=\f[]\f[I]STRING\f[]
|
|
Specify a prefix to be added to all automatically generated identifiers
|
|
in HTML and DocBook output, and to footnote numbers in Markdown output.
|
|
This is useful for preventing duplicate identifiers when generating
|
|
fragments to be included in other pages.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-T\f[] \f[I]STRING\f[], \f[C]\-\-title\-prefix=\f[]\f[I]STRING\f[]
|
|
Specify \f[I]STRING\f[] as a prefix at the beginning of the title that
|
|
appears in the HTML header (but not in the title as it appears at the
|
|
beginning of the HTML body).
|
|
Implies \f[C]\-\-standalone\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-c\f[] \f[I]URL\f[], \f[C]\-\-css=\f[]\f[I]URL\f[]
|
|
Link to a CSS style sheet.
|
|
This option can be used repeatedly to include multiple files.
|
|
They will be included in the order specified.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-reference\-odt=\f[]\f[I]FILE\f[]
|
|
Use the specified file as a style reference in producing an ODT.
|
|
For best results, the reference ODT should be a modified version of an
|
|
ODT produced using pandoc.
|
|
The contents of the reference ODT are ignored, but its stylesheets are
|
|
used in the new ODT.
|
|
If no reference ODT is specified on the command line, pandoc will look
|
|
for a file \f[C]reference.odt\f[] in the user data directory (see
|
|
\f[C]\-\-data\-dir\f[]).
|
|
If this is not found either, sensible defaults will be used.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-reference\-docx=\f[]\f[I]FILE\f[]
|
|
Use the specified file as a style reference in producing a docx file.
|
|
For best results, the reference docx should be a modified version of a
|
|
docx file produced using pandoc.
|
|
The contents of the reference docx are ignored, but its stylesheets and
|
|
document properties (including margins, page size, header, and footer)
|
|
are used in the new docx.
|
|
If no reference docx is specified on the command line, pandoc will look
|
|
for a file \f[C]reference.docx\f[] in the user data directory (see
|
|
\f[C]\-\-data\-dir\f[]).
|
|
If this is not found either, sensible defaults will be used.
|
|
The following styles are used by pandoc: [paragraph] Normal, Body Text,
|
|
First Paragraph, Compact, Title, Subtitle, Author, Date, Abstract,
|
|
Bibliography, Heading 1, Heading 2, Heading 3, Heading 4, Heading 5,
|
|
Heading 6, Block Text, Footnote Text, Definition Term, Definition,
|
|
Caption, Table Caption, Image Caption, Figure, Figure With Caption, TOC
|
|
Heading; [character] Default Paragraph Font, Body Text Char, Verbatim
|
|
Char, Footnote Reference, Hyperlink; [table] Normal Table.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-epub\-stylesheet=\f[]\f[I]FILE\f[]
|
|
Use the specified CSS file to style the EPUB.
|
|
If no stylesheet is specified, pandoc will look for a file
|
|
\f[C]epub.css\f[] in the user data directory (see
|
|
\f[C]\-\-data\-dir\f[]).
|
|
If it is not found there, sensible defaults will be used.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-epub\-cover\-image=\f[]\f[I]FILE\f[]
|
|
Use the specified image as the EPUB cover.
|
|
It is recommended that the image be less than 1000px in width and
|
|
height.
|
|
Note that in a Markdown source document you can also specify
|
|
\f[C]cover\-image\f[] in a YAML metadata block (see EPUB Metadata,
|
|
below).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-epub\-metadata=\f[]\f[I]FILE\f[]
|
|
Look in the specified XML file for metadata for the EPUB.
|
|
The file should contain a series of Dublin Core elements.
|
|
For example:
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ <dc:rights>Creative\ Commons</dc:rights>
|
|
\ <dc:language>es\-AR</dc:language>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
By default, pandoc will include the following metadata elements:
|
|
\f[C]<dc:title>\f[] (from the document title), \f[C]<dc:creator>\f[]
|
|
(from the document authors), \f[C]<dc:date>\f[] (from the document date,
|
|
which should be in ISO 8601 format), \f[C]<dc:language>\f[] (from the
|
|
\f[C]lang\f[] variable, or, if is not set, the locale), and
|
|
\f[C]<dc:identifier\ id="BookId">\f[] (a randomly generated UUID).
|
|
Any of these may be overridden by elements in the metadata file.
|
|
.PP
|
|
Note: if the source document is Markdown, a YAML metadata block in the
|
|
document can be used instead.
|
|
See below under EPUB Metadata.
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-epub\-embed\-font=\f[]\f[I]FILE\f[]
|
|
Embed the specified font in the EPUB.
|
|
This option can be repeated to embed multiple fonts.
|
|
Wildcards can also be used: for example, \f[C]DejaVuSans\-*.ttf\f[].
|
|
However, if you use wildcards on the command line, be sure to escape
|
|
them or put the whole filename in single quotes, to prevent them from
|
|
being interpreted by the shell.
|
|
To use the embedded fonts, you will need to add declarations like the
|
|
following to your CSS (see \f[C]\-\-epub\-stylesheet\f[]):
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\@font\-face\ {
|
|
font\-family:\ DejaVuSans;
|
|
font\-style:\ normal;
|
|
font\-weight:\ normal;
|
|
src:url("DejaVuSans\-Regular.ttf");
|
|
}
|
|
\@font\-face\ {
|
|
font\-family:\ DejaVuSans;
|
|
font\-style:\ normal;
|
|
font\-weight:\ bold;
|
|
src:url("DejaVuSans\-Bold.ttf");
|
|
}
|
|
\@font\-face\ {
|
|
font\-family:\ DejaVuSans;
|
|
font\-style:\ italic;
|
|
font\-weight:\ normal;
|
|
src:url("DejaVuSans\-Oblique.ttf");
|
|
}
|
|
\@font\-face\ {
|
|
font\-family:\ DejaVuSans;
|
|
font\-style:\ italic;
|
|
font\-weight:\ bold;
|
|
src:url("DejaVuSans\-BoldOblique.ttf");
|
|
}
|
|
body\ {\ font\-family:\ "DejaVuSans";\ }
|
|
\f[]
|
|
.fi
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-epub\-chapter\-level=\f[]\f[I]NUMBER\f[]
|
|
Specify the header level at which to split the EPUB into separate
|
|
"chapter" files.
|
|
The default is to split into chapters at level 1 headers.
|
|
This option only affects the internal composition of the EPUB, not the
|
|
way chapters and sections are displayed to users.
|
|
Some readers may be slow if the chapter files are too large, so for
|
|
large documents with few level 1 headers, one might want to use a
|
|
chapter level of 2 or 3.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-latex\-engine=pdflatex\f[]|\f[C]lualatex\f[]|\f[C]xelatex\f[]
|
|
Use the specified LaTeX engine when producing PDF output.
|
|
The default is \f[C]pdflatex\f[].
|
|
If the engine is not in your PATH, the full path of the engine may be
|
|
specified here.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-latex\-engine\-opt=\f[]\f[I]STRING\f[]
|
|
Use the given string as a command\-line argument to the
|
|
\f[C]latex\-engine\f[].
|
|
If used multiple times, the arguments are provided with spaces between
|
|
them.
|
|
Note that no check for duplicate options is done.
|
|
.RS
|
|
.RE
|
|
.SS Citation rendering
|
|
.TP
|
|
.B \f[C]\-\-bibliography=\f[]\f[I]FILE\f[]
|
|
Set the \f[C]bibliography\f[] field in the document\[aq]s metadata to
|
|
\f[I]FILE\f[], overriding any value set in the metadata, and process
|
|
citations using \f[C]pandoc\-citeproc\f[].
|
|
(This is equivalent to
|
|
\f[C]\-\-metadata\ bibliography=FILE\ \-\-filter\ pandoc\-citeproc\f[].)
|
|
If \f[C]\-\-natbib\f[] or \f[C]\-\-biblatex\f[] is also supplied,
|
|
\f[C]pandoc\-citeproc\f[] is not used, making this equivalent to
|
|
\f[C]\-\-metadata\ bibliography=FILE\f[].
|
|
If you supply this argument multiple times, each \f[I]FILE\f[] will be
|
|
added to bibliography.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-csl=\f[]\f[I]FILE\f[]
|
|
Set the \f[C]csl\f[] field in the document\[aq]s metadata to
|
|
\f[I]FILE\f[], overriding any value set in the metadata.
|
|
(This is equivalent to \f[C]\-\-metadata\ csl=FILE\f[].) This option is
|
|
only relevant with \f[C]pandoc\-citeproc\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-citation\-abbreviations=\f[]\f[I]FILE\f[]
|
|
Set the \f[C]citation\-abbreviations\f[] field in the document\[aq]s
|
|
metadata to \f[I]FILE\f[], overriding any value set in the metadata.
|
|
(This is equivalent to
|
|
\f[C]\-\-metadata\ citation\-abbreviations=FILE\f[].) This option is
|
|
only relevant with \f[C]pandoc\-citeproc\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-natbib\f[]
|
|
Use \f[C]natbib\f[] for citations in LaTeX output.
|
|
This option is not for use with the \f[C]pandoc\-citeproc\f[] filter or
|
|
with PDF output.
|
|
It is intended for use in producing a LaTeX file that can be processed
|
|
with \f[C]bibtex\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-biblatex\f[]
|
|
Use \f[C]biblatex\f[] for citations in LaTeX output.
|
|
This option is not for use with the \f[C]pandoc\-citeproc\f[] filter or
|
|
with PDF output.
|
|
It is intended for use in producing a LaTeX file that can be processed
|
|
with \f[C]bibtex\f[] or \f[C]biber\f[].
|
|
.RS
|
|
.RE
|
|
.SS Math rendering in HTML
|
|
.TP
|
|
.B \f[C]\-m\f[] [\f[I]URL\f[]], \f[C]\-\-latexmathml\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Use the LaTeXMathML script to display embedded TeX math in HTML output.
|
|
To insert a link to a local copy of the \f[C]LaTeXMathML.js\f[] script,
|
|
provide a \f[I]URL\f[].
|
|
If no \f[I]URL\f[] is provided, the contents of the script will be
|
|
inserted directly into the HTML header, preserving portability at the
|
|
price of efficiency.
|
|
If you plan to use math on several pages, it is much better to link to a
|
|
copy of the script, so it can be cached.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-mathml\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Convert TeX math to MathML (in \f[C]docbook\f[], \f[C]docbook5\f[],
|
|
\f[C]html\f[] and \f[C]html5\f[]).
|
|
In standalone \f[C]html\f[] output, a small javascript (or a link to
|
|
such a script if a \f[I]URL\f[] is supplied) will be inserted that
|
|
allows the MathML to be viewed on some browsers.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-jsmath\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Use jsMath to display embedded TeX math in HTML output.
|
|
The \f[I]URL\f[] should point to the jsMath load script (e.g.
|
|
\f[C]jsMath/easy/load.js\f[]); if provided, it will be linked to in the
|
|
header of standalone HTML documents.
|
|
If a \f[I]URL\f[] is not provided, no link to the jsMath load script
|
|
will be inserted; it is then up to the author to provide such a link in
|
|
the HTML template.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-mathjax\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Use MathJax to display embedded TeX math in HTML output.
|
|
The \f[I]URL\f[] should point to the \f[C]MathJax.js\f[] load script.
|
|
If a \f[I]URL\f[] is not provided, a link to the MathJax CDN will be
|
|
inserted.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-gladtex\f[]
|
|
Enclose TeX math in \f[C]<eq>\f[] tags in HTML output.
|
|
These can then be processed by gladTeX to produce links to images of the
|
|
typeset formulas.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-mimetex\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Render TeX math using the mimeTeX CGI script.
|
|
If \f[I]URL\f[] is not specified, it is assumed that the script is at
|
|
\f[C]/cgi\-bin/mimetex.cgi\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-webtex\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Render TeX formulas using an external script that converts TeX formulas
|
|
to images.
|
|
The formula will be concatenated with the URL provided.
|
|
If \f[I]URL\f[] is not specified, the Google Chart API will be used.
|
|
Note: the \f[C]\-\-webtex\f[] option will affect Markdown output as well
|
|
as HTML.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-katex\f[][\f[C]=\f[]\f[I]URL\f[]]
|
|
Use KaTeX to display embedded TeX math in HTML output.
|
|
The \f[I]URL\f[] should point to the \f[C]katex.js\f[] load script.
|
|
If a \f[I]URL\f[] is not provided, a link to the KaTeX CDN will be
|
|
inserted.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-katex\-stylesheet=\f[]\f[I]URL\f[]
|
|
The \f[I]URL\f[] should point to the \f[C]katex.css\f[] stylesheet.
|
|
If this option is not specified, a link to the KaTeX CDN will be
|
|
inserted.
|
|
Note that this option does not imply \f[C]\-\-katex\f[].
|
|
.RS
|
|
.RE
|
|
.SS Options for wrapper scripts
|
|
.TP
|
|
.B \f[C]\-\-dump\-args\f[]
|
|
Print information about command\-line arguments to \f[I]stdout\f[], then
|
|
exit.
|
|
This option is intended primarily for use in wrapper scripts.
|
|
The first line of output contains the name of the output file specified
|
|
with the \f[C]\-o\f[] option, or \f[C]\-\f[] (for \f[I]stdout\f[]) if no
|
|
output file was specified.
|
|
The remaining lines contain the command\-line arguments, one per line,
|
|
in the order they appear.
|
|
These do not include regular pandoc options and their arguments, but do
|
|
include any options appearing after a \f[C]\-\-\f[] separator at the end
|
|
of the line.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]\-\-ignore\-args\f[]
|
|
Ignore command\-line arguments (for use in wrapper scripts).
|
|
Regular pandoc options are not ignored.
|
|
Thus, for example,
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-\-ignore\-args\ \-o\ foo.html\ \-s\ foo.txt\ \-\-\ \-e\ latin1
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
is equivalent to
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-o\ foo.html\ \-s
|
|
\f[]
|
|
.fi
|
|
.RE
|
|
.SH TEMPLATES
|
|
.PP
|
|
When the \f[C]\-s/\-\-standalone\f[] option is used, pandoc uses a
|
|
template to add header and footer material that is needed for a
|
|
self\-standing document.
|
|
To see the default template that is used, just type
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-D\ *FORMAT*
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
where \f[I]FORMAT\f[] is the name of the output format.
|
|
A custom template can be specified using the \f[C]\-\-template\f[]
|
|
option.
|
|
You can also override the system default templates for a given output
|
|
format \f[I]FORMAT\f[] by putting a file
|
|
\f[C]templates/default.*FORMAT*\f[] in the user data directory (see
|
|
\f[C]\-\-data\-dir\f[], above).
|
|
\f[I]Exceptions:\f[]
|
|
.IP \[bu] 2
|
|
For \f[C]odt\f[] output, customize the \f[C]default.opendocument\f[]
|
|
template.
|
|
.IP \[bu] 2
|
|
For \f[C]pdf\f[] output, customize the \f[C]default.latex\f[] template
|
|
(or the \f[C]default.beamer\f[] template, if you use
|
|
\f[C]\-t\ beamer\f[], or the \f[C]default.context\f[] template, if you
|
|
use \f[C]\-t\ context\f[]).
|
|
.IP \[bu] 2
|
|
\f[C]docx\f[] has no template (however, you can use
|
|
\f[C]\-\-reference\-docx\f[] to customize the output).
|
|
.PP
|
|
Templates contain \f[I]variables\f[], which allow for the inclusion of
|
|
arbitrary information at any point in the file.
|
|
Variables may be set within the document using YAML metadata blocks.
|
|
They may also be set at the command line using the
|
|
\f[C]\-V/\-\-variable\f[] option: variables set in this way override
|
|
metadata fields with the same name.
|
|
.SS Variables set by pandoc
|
|
.PP
|
|
Some variables are set automatically by pandoc.
|
|
These vary somewhat depending on the output format, but include metadata
|
|
fields as well as the following:
|
|
.TP
|
|
.B \f[C]title\f[], \f[C]author\f[], \f[C]date\f[]
|
|
allow identification of basic aspects of the document.
|
|
Included in PDF metadata through LaTeX and ConTeXt.
|
|
These can be set through a pandoc title block, which allows for multiple
|
|
authors, or through a YAML metadata block:
|
|
.RS
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-
|
|
author:
|
|
\-\ Aristotle
|
|
\-\ Peter\ Abelard
|
|
\&...
|
|
\f[]
|
|
.fi
|
|
.RE
|
|
.TP
|
|
.B \f[C]subtitle\f[]
|
|
document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and Word
|
|
docx; renders in LaTeX only when using a document class that supports
|
|
\f[C]\\subtitle\f[], such as \f[C]beamer\f[] or the KOMA\-Script series
|
|
(\f[C]scrartcl\f[], \f[C]scrreprt\f[], \f[C]scrbook\f[]).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]institute\f[]
|
|
author affiliations (in LaTeX and Beamer only).
|
|
Can be a list, when there are multiple authors.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]abstract\f[]
|
|
document summary, included in LaTeX, ConTeXt, AsciiDoc, and Word docx
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]keywords\f[]
|
|
list of keywords to be included in HTML, PDF, and AsciiDoc metadata; may
|
|
be repeated as for \f[C]author\f[], above
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]header\-includes\f[]
|
|
contents specified by \f[C]\-H/\-\-include\-in\-header\f[] (may have
|
|
multiple values)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]toc\f[]
|
|
non\-null value if \f[C]\-\-toc/\-\-table\-of\-contents\f[] was
|
|
specified
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]toc\-title\f[]
|
|
title of table of contents (works only with EPUB and docx)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]include\-before\f[]
|
|
contents specified by \f[C]\-B/\-\-include\-before\-body\f[] (may have
|
|
multiple values)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]include\-after\f[]
|
|
contents specified by \f[C]\-A/\-\-include\-after\-body\f[] (may have
|
|
multiple values)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]body\f[]
|
|
body of document
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]meta\-json\f[]
|
|
JSON representation of all of the document\[aq]s metadata
|
|
.RS
|
|
.RE
|
|
.SS Language variables
|
|
.TP
|
|
.B \f[C]lang\f[]
|
|
identifies the main language of the document, using a code according to
|
|
BCP 47 (e.g.
|
|
\f[C]en\f[] or \f[C]en\-GB\f[]).
|
|
For some output formats, pandoc will convert it to an appropriate format
|
|
stored in the additional variables \f[C]babel\-lang\f[],
|
|
\f[C]polyglossia\-lang\f[] (LaTeX) and \f[C]context\-lang\f[] (ConTeXt).
|
|
.RS
|
|
.PP
|
|
Native pandoc \f[C]span\f[]s and \f[C]div\f[]s with the lang attribute
|
|
(value in BCP 47) can be used to switch the language in that range.
|
|
.RE
|
|
.TP
|
|
.B \f[C]otherlangs\f[]
|
|
a list of other languages used in the document in the YAML metadata,
|
|
according to BCP 47.
|
|
For example: \f[C]otherlangs:\ [en\-GB,\ fr]\f[].
|
|
This is automatically generated from the \f[C]lang\f[] attributes in all
|
|
\f[C]span\f[]s and \f[C]div\f[]s but can be overridden.
|
|
Currently only used by LaTeX through the generated
|
|
\f[C]babel\-otherlangs\f[] and \f[C]polyglossia\-otherlangs\f[]
|
|
variables.
|
|
The LaTeX writer outputs polyglossia commands in the text but the
|
|
\f[C]babel\-newcommands\f[] variable contains mappings for them to the
|
|
corresponding babel.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]dir\f[]
|
|
the base direction of the document, either \f[C]rtl\f[]
|
|
(right\-to\-left) or \f[C]ltr\f[] (left\-to\-right).
|
|
.RS
|
|
.PP
|
|
For bidirectional documents, native pandoc \f[C]span\f[]s and
|
|
\f[C]div\f[]s with the \f[C]dir\f[] attribute (value \f[C]rtl\f[] or
|
|
\f[C]ltr\f[]) can be used to override the base direction in some output
|
|
formats.
|
|
This may not always be necessary if the final renderer (e.g.
|
|
the browser, when generating HTML) supports the Unicode Bidirectional
|
|
Algorithm.
|
|
.PP
|
|
When using LaTeX for bidirectional documents, only the \f[C]xelatex\f[]
|
|
engine is fully supported (use \f[C]\-\-latex\-engine=xelatex\f[]).
|
|
.RE
|
|
.SS Variables for slides
|
|
.PP
|
|
Variables are available for producing slide shows with pandoc, including
|
|
all reveal.js configuration options.
|
|
.TP
|
|
.B \f[C]slidy\-url\f[]
|
|
base URL for Slidy documents (defaults to
|
|
\f[C]http://www.w3.org/Talks/Tools/Slidy2\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]slideous\-url\f[]
|
|
base URL for Slideous documents (defaults to \f[C]slideous\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]s5\-url\f[]
|
|
base URL for S5 documents (defaults to \f[C]s5/default\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]revealjs\-url\f[]
|
|
base URL for reveal.js documents (defaults to \f[C]reveal.js\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]theme\f[], \f[C]colortheme\f[], \f[C]fonttheme\f[], \f[C]innertheme\f[], \f[C]outertheme\f[]
|
|
themes for LaTeX \f[C]beamer\f[] documents
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]navigation\f[]
|
|
controls navigation symbols in \f[C]beamer\f[] documents (default is
|
|
\f[C]empty\f[] for no navigation symbols; other valid values are
|
|
\f[C]frame\f[], \f[C]vertical\f[], and \f[C]horizontal\f[]).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]section\-titles\f[]
|
|
enables on "title pages" for new sections in \f[C]beamer\f[] documents
|
|
(default = true).
|
|
.RS
|
|
.RE
|
|
.SS Variables for LaTeX
|
|
.PP
|
|
LaTeX variables are used when creating a PDF.
|
|
.TP
|
|
.B \f[C]papersize\f[]
|
|
paper size, e.g.
|
|
\f[C]letter\f[], \f[C]A4\f[]
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]fontsize\f[]
|
|
font size for body text (e.g.
|
|
\f[C]10pt\f[], \f[C]12pt\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]documentclass\f[]
|
|
document class, e.g.
|
|
\f[C]article\f[], \f[C]report\f[], \f[C]book\f[], \f[C]memoir\f[]
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]classoption\f[]
|
|
option for document class, e.g.
|
|
\f[C]oneside\f[]; may be repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]geometry\f[]
|
|
option for \f[C]geometry\f[] package, e.g.
|
|
\f[C]margin=1in\f[]; may be repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]margin\-left\f[], \f[C]margin\-right\f[], \f[C]margin\-top\f[], \f[C]margin\-bottom\f[]
|
|
sets margins, if \f[C]geometry\f[] is not used (otherwise
|
|
\f[C]geometry\f[] overrides these)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]linestretch\f[]
|
|
adjusts line spacing using the \f[C]setspace\f[] package, e.g.
|
|
\f[C]1.25\f[], \f[C]1.5\f[]
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]fontfamily\f[]
|
|
font package for use with \f[C]pdflatex\f[]: TeX Live includes many
|
|
options, documented in the LaTeX Font Catalogue.
|
|
The default is Latin Modern.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]fontfamilyoptions\f[]
|
|
options for package used as \f[C]fontfamily\f[]: e.g.
|
|
\f[C]osf,sc\f[] with \f[C]fontfamily\f[] set to \f[C]mathpazo\f[]
|
|
provides Palatino with old\-style figures and true small caps; may be
|
|
repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]mainfont\f[], \f[C]sansfont\f[], \f[C]monofont\f[], \f[C]mathfont\f[], \f[C]CJKmainfont\f[]
|
|
font families for use with \f[C]xelatex\f[] or \f[C]lualatex\f[]: take
|
|
the name of any system font, using the \f[C]fontspec\f[] package.
|
|
Note that if \f[C]CJKmainfont\f[] is used, the \f[C]xecjk\f[] package
|
|
must be available.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]mainfontoptions\f[], \f[C]sansfontoptions\f[], \f[C]monofontoptions\f[], \f[C]mathfontoptions\f[], \f[C]CJKoptions\f[]
|
|
options to use with \f[C]mainfont\f[], \f[C]sansfont\f[],
|
|
\f[C]monofont\f[], \f[C]mathfont\f[], \f[C]CJKmainfont\f[] in
|
|
\f[C]xelatex\f[] and \f[C]lualatex\f[].
|
|
Allow for any choices available through \f[C]fontspec\f[], such as the
|
|
OpenType features \f[C]Numbers=OldStyle,Numbers=Proportional\f[].
|
|
May be repeated for multiple options.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]fontenc\f[]
|
|
allows font encoding to be specified through \f[C]fontenc\f[] package
|
|
(with \f[C]pdflatex\f[]); default is \f[C]T1\f[] (see guide to LaTeX
|
|
font encodings)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]colorlinks\f[]
|
|
add color to link text; automatically enabled if any of
|
|
\f[C]linkcolor\f[], \f[C]citecolor\f[], \f[C]urlcolor\f[], or
|
|
\f[C]toccolor\f[] are set
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]linkcolor\f[], \f[C]citecolor\f[], \f[C]urlcolor\f[], \f[C]toccolor\f[]
|
|
color for internal links, citation links, external links, and links in
|
|
table of contents: uses any of the predefined LaTeX colors
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]links\-as\-notes\f[]
|
|
causes links to be printed as footnotes
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]indent\f[]
|
|
uses document class settings for indentation (the default LaTeX template
|
|
otherwise removes indentation and adds space between paragraphs)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]subparagraph\f[]
|
|
disables default behavior of LaTeX template that redefines
|
|
(sub)paragraphs as sections, changing the appearance of nested headings
|
|
in some classes
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]thanks\f[]
|
|
specifies contents of acknowledgments footnote after document title.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]toc\f[]
|
|
include table of contents (can also be set using
|
|
\f[C]\-\-toc/\-\-table\-of\-contents\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]toc\-depth\f[]
|
|
level of section to include in table of contents
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]secnumdepth\f[]
|
|
numbering depth for sections, if sections are numbered
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]lof\f[], \f[C]lot\f[]
|
|
include list of figures, list of tables
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]bibliography\f[]
|
|
bibliography to use for resolving references
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]biblio\-style\f[]
|
|
bibliography style, when used with \f[C]\-\-natbib\f[] and
|
|
\f[C]\-\-biblatex\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]biblatexoptions\f[]
|
|
list of options for biblatex.
|
|
.RS
|
|
.RE
|
|
.SS Variables for ConTeXt
|
|
.TP
|
|
.B \f[C]papersize\f[]
|
|
paper size, e.g.
|
|
\f[C]letter\f[], \f[C]A4\f[], \f[C]landscape\f[] (see ConTeXt Paper
|
|
Setup); may be repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]layout\f[]
|
|
options for page margins and text arrangement (see ConTeXt Layout); may
|
|
be repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]margin\-left\f[], \f[C]margin\-right\f[], \f[C]margin\-top\f[], \f[C]margin\-bottom\f[]
|
|
sets margins, if \f[C]layout\f[] is not used (otherwise \f[C]layout\f[]
|
|
overrides these)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]fontsize\f[]
|
|
font size for body text (e.g.
|
|
\f[C]10pt\f[], \f[C]12pt\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]mainfont\f[], \f[C]sansfont\f[], \f[C]monofont\f[], \f[C]mathfont\f[]
|
|
font families: take the name of any system font (see ConTeXt Font
|
|
Switching)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]linkcolor\f[], \f[C]contrastcolor\f[]
|
|
color for links outside and inside a page, e.g.
|
|
\f[C]red\f[], \f[C]blue\f[] (see ConTeXt Color)
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]linkstyle\f[]
|
|
typeface style for links, e.g.
|
|
\f[C]normal\f[], \f[C]bold\f[], \f[C]slanted\f[], \f[C]boldslanted\f[],
|
|
\f[C]type\f[], \f[C]cap\f[], \f[C]small\f[]
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]indenting\f[]
|
|
controls indentation of paragraphs, e.g.
|
|
\f[C]yes,small,next\f[] (see ConTeXt Indentation); may be repeated for
|
|
multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]whitespace\f[]
|
|
spacing between paragraphs, e.g.
|
|
\f[C]none\f[], \f[C]small\f[] (using \f[C]setupwhitespace\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]interlinespace\f[]
|
|
adjusts line spacing, e.g.
|
|
\f[C]4ex\f[] (using \f[C]setupinterlinespace\f[]); may be repeated for
|
|
multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]headertext\f[], \f[C]footertext\f[]
|
|
text to be placed in running header or footer (see ConTeXt Headers and
|
|
Footers); may be repeated up to four times for different placement
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]pagenumbering\f[]
|
|
page number style and location (using \f[C]setuppagenumbering\f[]); may
|
|
be repeated for multiple options
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]toc\f[]
|
|
include table of contents (can also be set using
|
|
\f[C]\-\-toc/\-\-table\-of\-contents\f[])
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]lof\f[], \f[C]lot\f[]
|
|
include list of figures, list of tables
|
|
.RS
|
|
.RE
|
|
.SS Variables for man pages
|
|
.TP
|
|
.B \f[C]section\f[]
|
|
section number in man pages
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]header\f[]
|
|
header in man pages
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]footer\f[]
|
|
footer in man pages
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]adjusting\f[]
|
|
adjusts text to left (\f[C]l\f[]), right (\f[C]r\f[]), center
|
|
(\f[C]c\f[]), or both (\f[C]b\f[]) margins
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]hyphenate\f[]
|
|
if \f[C]true\f[] (the default), hyphenation will be used
|
|
.RS
|
|
.RE
|
|
.SS Using variables in templates
|
|
.PP
|
|
Variable names are sequences of alphanumerics, \f[C]\-\f[], and
|
|
\f[C]_\f[], starting with a letter.
|
|
A variable name surrounded by \f[C]$\f[] signs will be replaced by its
|
|
value.
|
|
For example, the string \f[C]$title$\f[] in
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<title>$title$</title>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
will be replaced by the document title.
|
|
.PP
|
|
To write a literal \f[C]$\f[] in a template, use \f[C]$$\f[].
|
|
.PP
|
|
Templates may contain conditionals.
|
|
The syntax is as follows:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$if(variable)$
|
|
X
|
|
$else$
|
|
Y
|
|
$endif$
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
This will include \f[C]X\f[] in the template if \f[C]variable\f[] has a
|
|
non\-null value; otherwise it will include \f[C]Y\f[].
|
|
\f[C]X\f[] and \f[C]Y\f[] are placeholders for any valid template text,
|
|
and may include interpolated variables or other conditionals.
|
|
The \f[C]$else$\f[] section may be omitted.
|
|
.PP
|
|
When variables can have multiple values (for example, \f[C]author\f[] in
|
|
a multi\-author document), you can use the \f[C]$for$\f[] keyword:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$for(author)$
|
|
<meta\ name="author"\ content="$author$"\ />
|
|
$endfor$
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
You can optionally specify a separator to be used between consecutive
|
|
items:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$for(author)$$author$$sep$,\ $endfor$
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
A dot can be used to select a field of a variable that takes an object
|
|
as its value.
|
|
So, for example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$author.name$\ ($author.affiliation$)
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If you use custom templates, you may need to revise them as pandoc
|
|
changes.
|
|
We recommend tracking the changes in the default templates, and
|
|
modifying your custom templates accordingly.
|
|
An easy way to do this is to fork the pandoc\-templates repository and
|
|
merge in changes after each pandoc release.
|
|
.SH PANDOC\[aq]S MARKDOWN
|
|
.PP
|
|
Pandoc understands an extended and slightly revised version of John
|
|
Gruber\[aq]s Markdown syntax.
|
|
This document explains the syntax, noting differences from standard
|
|
Markdown.
|
|
Except where noted, these differences can be suppressed by using the
|
|
\f[C]markdown_strict\f[] format instead of \f[C]markdown\f[].
|
|
An extensions can be enabled by adding \f[C]+EXTENSION\f[] to the format
|
|
name and disabled by adding \f[C]\-EXTENSION\f[].
|
|
For example, \f[C]markdown_strict+footnotes\f[] is strict Markdown with
|
|
footnotes enabled, while \f[C]markdown\-footnotes\-pipe_tables\f[] is
|
|
pandoc\[aq]s Markdown without footnotes or pipe tables.
|
|
.SS Philosophy
|
|
.PP
|
|
Markdown is designed to be easy to write, and, even more importantly,
|
|
easy to read:
|
|
.RS
|
|
.PP
|
|
A Markdown\-formatted document should be publishable as\-is, as plain
|
|
text, without looking like it\[aq]s been marked up with tags or
|
|
formatting instructions.
|
|
\-\- John Gruber
|
|
.RE
|
|
.PP
|
|
This principle has guided pandoc\[aq]s decisions in finding syntax for
|
|
tables, footnotes, and other extensions.
|
|
.PP
|
|
There is, however, one respect in which pandoc\[aq]s aims are different
|
|
from the original aims of Markdown.
|
|
Whereas Markdown was originally designed with HTML generation in mind,
|
|
pandoc is designed for multiple output formats.
|
|
Thus, while pandoc allows the embedding of raw HTML, it discourages it,
|
|
and provides other, non\-HTMLish ways of representing important document
|
|
elements like definition lists, tables, mathematics, and footnotes.
|
|
.SS Paragraphs
|
|
.PP
|
|
A paragraph is one or more lines of text followed by one or more blank
|
|
lines.
|
|
Newlines are treated as spaces, so you can reflow your paragraphs as you
|
|
like.
|
|
If you need a hard line break, put two or more spaces at the end of a
|
|
line.
|
|
.SS Extension: \f[C]escaped_line_breaks\f[]
|
|
.PP
|
|
A backslash followed by a newline is also a hard line break.
|
|
Note: in multiline and grid table cells, this is the only way to create
|
|
a hard line break, since trailing spaces in the cells are ignored.
|
|
.SS Headers
|
|
.PP
|
|
There are two kinds of headers: Setext and ATX.
|
|
.SS Setext\-style headers
|
|
.PP
|
|
A setext\-style header is a line of text "underlined" with a row of
|
|
\f[C]=\f[] signs (for a level one header) or \f[C]\-\f[] signs (for a
|
|
level two header):
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
A\ level\-one\ header
|
|
==================
|
|
|
|
A\ level\-two\ header
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The header text can contain inline formatting, such as emphasis (see
|
|
Inline formatting, below).
|
|
.SS ATX\-style headers
|
|
.PP
|
|
An ATX\-style header consists of one to six \f[C]#\f[] signs and a line
|
|
of text, optionally followed by any number of \f[C]#\f[] signs.
|
|
The number of \f[C]#\f[] signs at the beginning of the line is the
|
|
header level:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
##\ A\ level\-two\ header
|
|
|
|
###\ A\ level\-three\ header\ ###
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
As with setext\-style headers, the header text can contain formatting:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ A\ level\-one\ header\ with\ a\ [link](/url)\ and\ *emphasis*
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]blank_before_header\f[]
|
|
.PP
|
|
Standard Markdown syntax does not require a blank line before a header.
|
|
Pandoc does require this (except, of course, at the beginning of the
|
|
document).
|
|
The reason for the requirement is that it is all too easy for a
|
|
\f[C]#\f[] to end up at the beginning of a line by accident (perhaps
|
|
through line wrapping).
|
|
Consider, for example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
I\ like\ several\ of\ their\ flavors\ of\ ice\ cream:
|
|
#22,\ for\ example,\ and\ #5.
|
|
\f[]
|
|
.fi
|
|
.SS Header identifiers
|
|
.SS Extension: \f[C]header_attributes\f[]
|
|
.PP
|
|
Headers can be assigned attributes using this syntax at the end of the
|
|
line containing the header text:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
{#identifier\ .class\ .class\ key=value\ key=value}
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Thus, for example, the following headers will all be assigned the
|
|
identifier \f[C]foo\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ My\ header\ {#foo}
|
|
|
|
##\ My\ header\ ##\ \ \ \ {#foo}
|
|
|
|
My\ other\ header\ \ \ {#foo}
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(This syntax is compatible with PHP Markdown Extra.)
|
|
.PP
|
|
Note that although this syntax allows assignment of classes and
|
|
key/value attributes, writers generally don\[aq]t use all of this
|
|
information.
|
|
Identifiers, classes, and key/value attributes are used in HTML and
|
|
HTML\-based formats such as EPUB and slidy.
|
|
Identifiers are used for labels and link anchors in the LaTeX, ConTeXt,
|
|
Textile, and AsciiDoc writers.
|
|
.PP
|
|
Headers with the class \f[C]unnumbered\f[] will not be numbered, even if
|
|
\f[C]\-\-number\-sections\f[] is specified.
|
|
A single hyphen (\f[C]\-\f[]) in an attribute context is equivalent to
|
|
\f[C]\&.unnumbered\f[], and preferable in non\-English documents.
|
|
So,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ My\ header\ {\-}
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
is just the same as
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ My\ header\ {.unnumbered}
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]auto_identifiers\f[]
|
|
.PP
|
|
A header without an explicitly specified identifier will be
|
|
automatically assigned a unique identifier based on the header text.
|
|
To derive the identifier from the header text,
|
|
.IP \[bu] 2
|
|
Remove all formatting, links, etc.
|
|
.IP \[bu] 2
|
|
Remove all footnotes.
|
|
.IP \[bu] 2
|
|
Remove all punctuation, except underscores, hyphens, and periods.
|
|
.IP \[bu] 2
|
|
Replace all spaces and newlines with hyphens.
|
|
.IP \[bu] 2
|
|
Convert all alphabetic characters to lowercase.
|
|
.IP \[bu] 2
|
|
Remove everything up to the first letter (identifiers may not begin with
|
|
a number or punctuation mark).
|
|
.IP \[bu] 2
|
|
If nothing is left after this, use the identifier \f[C]section\f[].
|
|
.PP
|
|
Thus, for example,
|
|
.PP
|
|
.TS
|
|
tab(@);
|
|
l l.
|
|
T{
|
|
Header
|
|
T}@T{
|
|
Identifier
|
|
T}
|
|
_
|
|
T{
|
|
\f[C]Header\ identifiers\ in\ HTML\f[]
|
|
T}@T{
|
|
\f[C]header\-identifiers\-in\-html\f[]
|
|
T}
|
|
T{
|
|
\f[C]*Dogs*?\-\-in\ *my*\ house?\f[]
|
|
T}@T{
|
|
\f[C]dogs\-\-in\-my\-house\f[]
|
|
T}
|
|
T{
|
|
\f[C][HTML],\ [S5],\ or\ [RTF]?\f[]
|
|
T}@T{
|
|
\f[C]html\-s5\-or\-rtf\f[]
|
|
T}
|
|
T{
|
|
\f[C]3.\ Applications\f[]
|
|
T}@T{
|
|
\f[C]applications\f[]
|
|
T}
|
|
T{
|
|
\f[C]33\f[]
|
|
T}@T{
|
|
\f[C]section\f[]
|
|
T}
|
|
.TE
|
|
.PP
|
|
These rules should, in most cases, allow one to determine the identifier
|
|
from the header text.
|
|
The exception is when several headers have the same text; in this case,
|
|
the first will get an identifier as described above; the second will get
|
|
the same identifier with \f[C]\-1\f[] appended; the third with
|
|
\f[C]\-2\f[]; and so on.
|
|
.PP
|
|
These identifiers are used to provide link targets in the table of
|
|
contents generated by the \f[C]\-\-toc|\-\-table\-of\-contents\f[]
|
|
option.
|
|
They also make it easy to provide links from one section of a document
|
|
to another.
|
|
A link to this section, for example, might look like this:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
See\ the\ section\ on
|
|
[header\ identifiers](#header\-identifiers\-in\-html\-latex\-and\-context).
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note, however, that this method of providing links to sections works
|
|
only in HTML, LaTeX, and ConTeXt formats.
|
|
.PP
|
|
If the \f[C]\-\-section\-divs\f[] option is specified, then each section
|
|
will be wrapped in a \f[C]div\f[] (or a \f[C]section\f[], if
|
|
\f[C]\-\-html5\f[] was specified), and the identifier will be attached
|
|
to the enclosing \f[C]<div>\f[] (or \f[C]<section>\f[]) tag rather than
|
|
the header itself.
|
|
This allows entire sections to be manipulated using javascript or
|
|
treated differently in CSS.
|
|
.SS Extension: \f[C]implicit_header_references\f[]
|
|
.PP
|
|
Pandoc behaves as if reference links have been defined for each header.
|
|
So, to link to a header
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ Header\ identifiers\ in\ HTML
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
you can simply write
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[Header\ identifiers\ in\ HTML]
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
or
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[Header\ identifiers\ in\ HTML][]
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
or
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[the\ section\ on\ header\ identifiers][header\ identifiers\ in
|
|
HTML]
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
instead of giving the identifier explicitly:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[Header\ identifiers\ in\ HTML](#header\-identifiers\-in\-html)
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If there are multiple headers with identical text, the corresponding
|
|
reference will link to the first one only, and you will need to use
|
|
explicit links to link to the others, as described above.
|
|
.PP
|
|
Like regular reference links, these references are case\-insensitive.
|
|
.PP
|
|
Explicit link reference definitions always take priority over implicit
|
|
header references.
|
|
So, in the following example, the link will point to \f[C]bar\f[], not
|
|
to \f[C]#foo\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ Foo
|
|
|
|
[foo]:\ bar
|
|
|
|
See\ [foo]
|
|
\f[]
|
|
.fi
|
|
.SS Block quotations
|
|
.PP
|
|
Markdown uses email conventions for quoting blocks of text.
|
|
A block quotation is one or more paragraphs or other block elements
|
|
(such as lists or headers), with each line preceded by a \f[C]>\f[]
|
|
character and an optional space.
|
|
(The \f[C]>\f[] need not start at the left margin, but it should not be
|
|
indented more than three spaces.)
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ This\ is\ a\ block\ quote.\ This
|
|
>\ paragraph\ has\ two\ lines.
|
|
>
|
|
>\ 1.\ This\ is\ a\ list\ inside\ a\ block\ quote.
|
|
>\ 2.\ Second\ item.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
A "lazy" form, which requires the \f[C]>\f[] character only on the first
|
|
line of each block, is also allowed:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ This\ is\ a\ block\ quote.\ This
|
|
paragraph\ has\ two\ lines.
|
|
|
|
>\ 1.\ This\ is\ a\ list\ inside\ a\ block\ quote.
|
|
2.\ Second\ item.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Among the block elements that can be contained in a block quote are
|
|
other block quotes.
|
|
That is, block quotes can be nested:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ This\ is\ a\ block\ quote.
|
|
>
|
|
>\ >\ A\ block\ quote\ within\ a\ block\ quote.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If the \f[C]>\f[] character is followed by an optional space, that space
|
|
will be considered part of the block quote marker and not part of the
|
|
indentation of the contents.
|
|
Thus, to put an indented code block in a block quote, you need five
|
|
spaces after the \f[C]>\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ \ \ \ \ code
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]blank_before_blockquote\f[]
|
|
.PP
|
|
Standard Markdown syntax does not require a blank line before a block
|
|
quote.
|
|
Pandoc does require this (except, of course, at the beginning of the
|
|
document).
|
|
The reason for the requirement is that it is all too easy for a
|
|
\f[C]>\f[] to end up at the beginning of a line by accident (perhaps
|
|
through line wrapping).
|
|
So, unless the \f[C]markdown_strict\f[] format is used, the following
|
|
does not produce a nested block quote in pandoc:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ This\ is\ a\ block\ quote.
|
|
>>\ Nested.
|
|
\f[]
|
|
.fi
|
|
.SS Verbatim (code) blocks
|
|
.SS Indented code blocks
|
|
.PP
|
|
A block of text indented four spaces (or one tab) is treated as verbatim
|
|
text: that is, special characters do not trigger special formatting, and
|
|
all spaces and line breaks are preserved.
|
|
For example,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ \ \ \ if\ (a\ >\ 3)\ {
|
|
\ \ \ \ \ \ moveShip(5\ *\ gravity,\ DOWN);
|
|
\ \ \ \ }
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The initial (four space or one tab) indentation is not considered part
|
|
of the verbatim text, and is removed in the output.
|
|
.PP
|
|
Note: blank lines in the verbatim text need not begin with four spaces.
|
|
.SS Fenced code blocks
|
|
.SS Extension: \f[C]fenced_code_blocks\f[]
|
|
.PP
|
|
In addition to standard indented code blocks, pandoc supports
|
|
\f[I]fenced\f[] code blocks.
|
|
These begin with a row of three or more tildes (\f[C]~\f[]) and end with
|
|
a row of tildes that must be at least as long as the starting row.
|
|
Everything between these lines is treated as code.
|
|
No indentation is necessary:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
~~~~~~~
|
|
if\ (a\ >\ 3)\ {
|
|
\ \ moveShip(5\ *\ gravity,\ DOWN);
|
|
}
|
|
~~~~~~~
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Like regular code blocks, fenced code blocks must be separated from
|
|
surrounding text by blank lines.
|
|
.PP
|
|
If the code itself contains a row of tildes or backticks, just use a
|
|
longer row of tildes or backticks at the start and end:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
~~~~~~~~~~~~~~~~
|
|
~~~~~~~~~~
|
|
code\ including\ tildes
|
|
~~~~~~~~~~
|
|
~~~~~~~~~~~~~~~~
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]backtick_code_blocks\f[]
|
|
.PP
|
|
Same as \f[C]fenced_code_blocks\f[], but uses backticks (\f[C]`\f[])
|
|
instead of tildes (\f[C]~\f[]).
|
|
.SS Extension: \f[C]fenced_code_attributes\f[]
|
|
.PP
|
|
Optionally, you may attach attributes to fenced or backtick code block
|
|
using this syntax:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
~~~~\ {#mycode\ .haskell\ .numberLines\ startFrom="100"}
|
|
qsort\ []\ \ \ \ \ =\ []
|
|
qsort\ (x:xs)\ =\ qsort\ (filter\ (<\ x)\ xs)\ ++\ [x]\ ++
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ qsort\ (filter\ (>=\ x)\ xs)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Here \f[C]mycode\f[] is an identifier, \f[C]haskell\f[] and
|
|
\f[C]numberLines\f[] are classes, and \f[C]startFrom\f[] is an attribute
|
|
with value \f[C]100\f[].
|
|
Some output formats can use this information to do syntax highlighting.
|
|
Currently, the only output formats that uses this information are HTML
|
|
and LaTeX.
|
|
If highlighting is supported for your output format and language, then
|
|
the code block above will appear highlighted, with numbered lines.
|
|
(To see which languages are supported, do \f[C]pandoc\ \-\-version\f[].)
|
|
Otherwise, the code block above will appear as follows:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<pre\ id="mycode"\ class="haskell\ numberLines"\ startFrom="100">
|
|
\ \ <code>
|
|
\ \ ...
|
|
\ \ </code>
|
|
</pre>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
A shortcut form can also be used for specifying the language of the code
|
|
block:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
```haskell
|
|
qsort\ []\ =\ []
|
|
```
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
This is equivalent to:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
```\ {.haskell}
|
|
qsort\ []\ =\ []
|
|
```
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If the \f[C]fenced_code_attributes\f[] extension is disabled, but input
|
|
contains class attribute(s) for the codeblock, the first class attribute
|
|
will be printed after the opening fence as a bare word.
|
|
.PP
|
|
To prevent all highlighting, use the \f[C]\-\-no\-highlight\f[] flag.
|
|
To set the highlighting style, use \f[C]\-\-highlight\-style\f[].
|
|
For more information on highlighting, see Syntax highlighting, below.
|
|
.SS Line blocks
|
|
.SS Extension: \f[C]line_blocks\f[]
|
|
.PP
|
|
A line block is a sequence of lines beginning with a vertical bar
|
|
(\f[C]|\f[]) followed by a space.
|
|
The division into lines will be preserved in the output, as will any
|
|
leading spaces; otherwise, the lines will be formatted as Markdown.
|
|
This is useful for verse and addresses:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
|\ The\ limerick\ packs\ laughs\ anatomical
|
|
|\ In\ space\ that\ is\ quite\ economical.
|
|
|\ \ \ \ But\ the\ good\ ones\ I\[aq]ve\ seen
|
|
|\ \ \ \ So\ seldom\ are\ clean
|
|
|\ And\ the\ clean\ ones\ so\ seldom\ are\ comical
|
|
|
|
|\ 200\ Main\ St.
|
|
|\ Berkeley,\ CA\ 94718
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The lines can be hard\-wrapped if needed, but the continuation line must
|
|
begin with a space.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
|\ The\ Right\ Honorable\ Most\ Venerable\ and\ Righteous\ Samuel\ L.
|
|
\ \ Constable,\ Jr.
|
|
|\ 200\ Main\ St.
|
|
|\ Berkeley,\ CA\ 94718
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
This syntax is borrowed from reStructuredText.
|
|
.SS Lists
|
|
.SS Bullet lists
|
|
.PP
|
|
A bullet list is a list of bulleted list items.
|
|
A bulleted list item begins with a bullet (\f[C]*\f[], \f[C]+\f[], or
|
|
\f[C]\-\f[]).
|
|
Here is a simple example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ one
|
|
*\ two
|
|
*\ three
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
This will produce a "compact" list.
|
|
If you want a "loose" list, in which each item is formatted as a
|
|
paragraph, put spaces between the items:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ one
|
|
|
|
*\ two
|
|
|
|
*\ three
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The bullets need not be flush with the left margin; they may be indented
|
|
one, two, or three spaces.
|
|
The bullet must be followed by whitespace.
|
|
.PP
|
|
List items look best if subsequent lines are flush with the first line
|
|
(after the bullet):
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ here\ is\ my\ first
|
|
\ \ list\ item.
|
|
*\ and\ my\ second.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
But Markdown also allows a "lazy" format:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ here\ is\ my\ first
|
|
list\ item.
|
|
*\ and\ my\ second.
|
|
\f[]
|
|
.fi
|
|
.SS The four\-space rule
|
|
.PP
|
|
A list item may contain multiple paragraphs and other block\-level
|
|
content.
|
|
However, subsequent paragraphs must be preceded by a blank line and
|
|
indented four spaces or a tab.
|
|
The list will look better if the first paragraph is aligned with the
|
|
rest:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ \ *\ First\ paragraph.
|
|
|
|
\ \ \ \ Continued.
|
|
|
|
\ \ *\ Second\ paragraph.\ With\ a\ code\ block,\ which\ must\ be\ indented
|
|
\ \ \ \ eight\ spaces:
|
|
|
|
\ \ \ \ \ \ \ \ {\ code\ }
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
List items may include other lists.
|
|
In this case the preceding blank line is optional.
|
|
The nested list must be indented four spaces or one tab:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ fruits
|
|
\ \ \ \ +\ apples
|
|
\ \ \ \ \ \ \ \ \-\ macintosh
|
|
\ \ \ \ \ \ \ \ \-\ red\ delicious
|
|
\ \ \ \ +\ pears
|
|
\ \ \ \ +\ peaches
|
|
*\ vegetables
|
|
\ \ \ \ +\ broccoli
|
|
\ \ \ \ +\ chard
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
As noted above, Markdown allows you to write list items "lazily,"
|
|
instead of indenting continuation lines.
|
|
However, if there are multiple paragraphs or other blocks in a list
|
|
item, the first line of each must be indented.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
+\ A\ lazy,\ lazy,\ list
|
|
item.
|
|
|
|
+\ Another\ one;\ this\ looks
|
|
bad\ but\ is\ legal.
|
|
|
|
\ \ \ \ Second\ paragraph\ of\ second
|
|
list\ item.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
\f[B]Note:\f[] Although the four\-space rule for continuation paragraphs
|
|
comes from the official Markdown syntax guide, the reference
|
|
implementation, \f[C]Markdown.pl\f[], does not follow it.
|
|
So pandoc will give different results than \f[C]Markdown.pl\f[] when
|
|
authors have indented continuation paragraphs fewer than four spaces.
|
|
.PP
|
|
The Markdown syntax guide is not explicit whether the four\-space rule
|
|
applies to \f[I]all\f[] block\-level content in a list item; it only
|
|
mentions paragraphs and code blocks.
|
|
But it implies that the rule applies to all block\-level content
|
|
(including nested lists), and pandoc interprets it that way.
|
|
.SS Ordered lists
|
|
.PP
|
|
Ordered lists work just like bulleted lists, except that the items begin
|
|
with enumerators rather than bullets.
|
|
.PP
|
|
In standard Markdown, enumerators are decimal numbers followed by a
|
|
period and a space.
|
|
The numbers themselves are ignored, so there is no difference between
|
|
this list:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
1.\ \ one
|
|
2.\ \ two
|
|
3.\ \ three
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
and this one:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
5.\ \ one
|
|
7.\ \ two
|
|
1.\ \ three
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]fancy_lists\f[]
|
|
.PP
|
|
Unlike standard Markdown, pandoc allows ordered list items to be marked
|
|
with uppercase and lowercase letters and roman numerals, in addition to
|
|
arabic numerals.
|
|
List markers may be enclosed in parentheses or followed by a single
|
|
right\-parentheses or period.
|
|
They must be separated from the text that follows by at least one space,
|
|
and, if the list marker is a capital letter with a period, by at least
|
|
two spaces.
|
|
.PP
|
|
The \f[C]fancy_lists\f[] extension also allows \[aq]\f[C]#\f[]\[aq] to
|
|
be used as an ordered list marker in place of a numeral:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#.\ one
|
|
#.\ two
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]startnum\f[]
|
|
.PP
|
|
Pandoc also pays attention to the type of list marker used, and to the
|
|
starting number, and both of these are preserved where possible in the
|
|
output format.
|
|
Thus, the following yields a list with numbers followed by a single
|
|
parenthesis, starting with 9, and a sublist with lowercase roman
|
|
numerals:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ 9)\ \ Ninth
|
|
10)\ \ Tenth
|
|
11)\ \ Eleventh
|
|
\ \ \ \ \ \ \ i.\ subone
|
|
\ \ \ \ \ \ ii.\ subtwo
|
|
\ \ \ \ \ iii.\ subthree
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Pandoc will start a new list each time a different type of list marker
|
|
is used.
|
|
So, the following will create three lists:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
(2)\ Two
|
|
(5)\ Three
|
|
1.\ \ Four
|
|
*\ \ \ Five
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If default list markers are desired, use \f[C]#.\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#.\ \ one
|
|
#.\ \ two
|
|
#.\ \ three
|
|
\f[]
|
|
.fi
|
|
.SS Definition lists
|
|
.SS Extension: \f[C]definition_lists\f[]
|
|
.PP
|
|
Pandoc supports definition lists, using the syntax of PHP Markdown Extra
|
|
with some extensions.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Term\ 1
|
|
|
|
:\ \ \ Definition\ 1
|
|
|
|
Term\ 2\ with\ *inline\ markup*
|
|
|
|
:\ \ \ Definition\ 2
|
|
|
|
\ \ \ \ \ \ \ \ {\ some\ code,\ part\ of\ Definition\ 2\ }
|
|
|
|
\ \ \ \ Third\ paragraph\ of\ definition\ 2.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Each term must fit on one line, which may optionally be followed by a
|
|
blank line, and must be followed by one or more definitions.
|
|
A definition begins with a colon or tilde, which may be indented one or
|
|
two spaces.
|
|
.PP
|
|
A term may have multiple definitions, and each definition may consist of
|
|
one or more block elements (paragraph, code block, list, etc.), each
|
|
indented four spaces or one tab stop.
|
|
The body of the definition (including the first line, aside from the
|
|
colon or tilde) should be indented four spaces.
|
|
However, as with other Markdown lists, you can "lazily" omit indentation
|
|
except at the beginning of a paragraph or other block element:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Term\ 1
|
|
|
|
:\ \ \ Definition
|
|
with\ lazy\ continuation.
|
|
|
|
\ \ \ \ Second\ paragraph\ of\ the\ definition.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If you leave space before the definition (as in the example above), the
|
|
text of the definition will be treated as a paragraph.
|
|
In some output formats, this will mean greater spacing between
|
|
term/definition pairs.
|
|
For a more compact definition list, omit the space before the
|
|
definition:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Term\ 1
|
|
\ \ ~\ Definition\ 1
|
|
|
|
Term\ 2
|
|
\ \ ~\ Definition\ 2a
|
|
\ \ ~\ Definition\ 2b
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that space between items in a definition list is required.
|
|
(A variant that loosens this requirement, but disallows "lazy" hard
|
|
wrapping, can be activated with \f[C]compact_definition_lists\f[]: see
|
|
Non\-pandoc extensions, below.)
|
|
.SS Numbered example lists
|
|
.SS Extension: \f[C]example_lists\f[]
|
|
.PP
|
|
The special list marker \f[C]\@\f[] can be used for sequentially
|
|
numbered examples.
|
|
The first list item with a \f[C]\@\f[] marker will be numbered
|
|
\[aq]1\[aq], the next \[aq]2\[aq], and so on, throughout the document.
|
|
The numbered examples need not occur in a single list; each new list
|
|
using \f[C]\@\f[] will take up where the last stopped.
|
|
So, for example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
(\@)\ \ My\ first\ example\ will\ be\ numbered\ (1).
|
|
(\@)\ \ My\ second\ example\ will\ be\ numbered\ (2).
|
|
|
|
Explanation\ of\ examples.
|
|
|
|
(\@)\ \ My\ third\ example\ will\ be\ numbered\ (3).
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Numbered examples can be labeled and referred to elsewhere in the
|
|
document:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
(\@good)\ \ This\ is\ a\ good\ example.
|
|
|
|
As\ (\@good)\ illustrates,\ ...
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The label can be any string of alphanumeric characters, underscores, or
|
|
hyphens.
|
|
.SS Compact and loose lists
|
|
.PP
|
|
Pandoc behaves differently from \f[C]Markdown.pl\f[] on some "edge
|
|
cases" involving lists.
|
|
Consider this source:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
+\ \ \ First
|
|
+\ \ \ Second:
|
|
\ \ \ \ \-\ \ \ Fee
|
|
\ \ \ \ \-\ \ \ Fie
|
|
\ \ \ \ \-\ \ \ Foe
|
|
|
|
+\ \ \ Third
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Pandoc transforms this into a "compact list" (with no \f[C]<p>\f[] tags
|
|
around "First", "Second", or "Third"), while Markdown puts \f[C]<p>\f[]
|
|
tags around "Second" and "Third" (but not "First"), because of the blank
|
|
space around "Third".
|
|
Pandoc follows a simple rule: if the text is followed by a blank line,
|
|
it is treated as a paragraph.
|
|
Since "Second" is followed by a list, and not a blank line, it isn\[aq]t
|
|
treated as a paragraph.
|
|
The fact that the list is followed by a blank line is irrelevant.
|
|
(Note: Pandoc works this way even when the \f[C]markdown_strict\f[]
|
|
format is specified.
|
|
This behavior is consistent with the official Markdown syntax
|
|
description, even though it is different from that of
|
|
\f[C]Markdown.pl\f[].)
|
|
.SS Ending a list
|
|
.PP
|
|
What if you want to put an indented code block after a list?
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\ \ \ item\ one
|
|
\-\ \ \ item\ two
|
|
|
|
\ \ \ \ {\ my\ code\ block\ }
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Trouble! Here pandoc (like other Markdown implementations) will treat
|
|
\f[C]{\ my\ code\ block\ }\f[] as the second paragraph of item two, and
|
|
not as a code block.
|
|
.PP
|
|
To "cut off" the list after item two, you can insert some non\-indented
|
|
content, like an HTML comment, which won\[aq]t produce visible output in
|
|
any format:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\ \ \ item\ one
|
|
\-\ \ \ item\ two
|
|
|
|
<!\-\-\ end\ of\ list\ \-\->
|
|
|
|
\ \ \ \ {\ my\ code\ block\ }
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
You can use the same trick if you want two consecutive lists instead of
|
|
one big list:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
1.\ \ one
|
|
2.\ \ two
|
|
3.\ \ three
|
|
|
|
<!\-\-\ \-\->
|
|
|
|
1.\ \ uno
|
|
2.\ \ dos
|
|
3.\ \ tres
|
|
\f[]
|
|
.fi
|
|
.SS Horizontal rules
|
|
.PP
|
|
A line containing a row of three or more \f[C]*\f[], \f[C]\-\f[], or
|
|
\f[C]_\f[] characters (optionally separated by spaces) produces a
|
|
horizontal rule:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\ \ *\ \ *\ \ *
|
|
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\f[]
|
|
.fi
|
|
.SS Tables
|
|
.PP
|
|
Four kinds of tables may be used.
|
|
The first three kinds presuppose the use of a fixed\-width font, such as
|
|
Courier.
|
|
The fourth kind can be used with proportionally spaced fonts, as it does
|
|
not require lining up columns.
|
|
.SS Extension: \f[C]table_captions\f[]
|
|
.PP
|
|
A caption may optionally be provided with all 4 kinds of tables (as
|
|
illustrated in the examples below).
|
|
A caption is a paragraph beginning with the string \f[C]Table:\f[] (or
|
|
just \f[C]:\f[]), which will be stripped off.
|
|
It may appear either before or after the table.
|
|
.SS Extension: \f[C]simple_tables\f[]
|
|
.PP
|
|
Simple tables look like this:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\ \ Right\ \ \ \ \ Left\ \ \ \ \ Center\ \ \ \ \ Default
|
|
\-\-\-\-\-\-\-\ \ \ \ \ \-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\ \ \ \-\-\-\-\-\-\-
|
|
\ \ \ \ \ 12\ \ \ \ \ 12\ \ \ \ \ \ \ \ 12\ \ \ \ \ \ \ \ \ \ \ \ 12
|
|
\ \ \ \ 123\ \ \ \ \ 123\ \ \ \ \ \ \ 123\ \ \ \ \ \ \ \ \ \ 123
|
|
\ \ \ \ \ \ 1\ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ 1
|
|
|
|
Table:\ \ Demonstration\ of\ simple\ table\ syntax.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The headers and table rows must each fit on one line.
|
|
Column alignments are determined by the position of the header text
|
|
relative to the dashed line below it:
|
|
.IP \[bu] 2
|
|
If the dashed line is flush with the header text on the right side but
|
|
extends beyond it on the left, the column is right\-aligned.
|
|
.IP \[bu] 2
|
|
If the dashed line is flush with the header text on the left side but
|
|
extends beyond it on the right, the column is left\-aligned.
|
|
.IP \[bu] 2
|
|
If the dashed line extends beyond the header text on both sides, the
|
|
column is centered.
|
|
.IP \[bu] 2
|
|
If the dashed line is flush with the header text on both sides, the
|
|
default alignment is used (in most cases, this will be left).
|
|
.PP
|
|
The table must end with a blank line, or a line of dashes followed by a
|
|
blank line.
|
|
.PP
|
|
The column headers may be omitted, provided a dashed line is used to end
|
|
the table.
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-\-\-\-\-\ \ \ \ \ \-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\ \ \ \-\-\-\-\-\-\-
|
|
\ \ \ \ \ 12\ \ \ \ \ 12\ \ \ \ \ \ \ \ 12\ \ \ \ \ \ \ \ \ \ \ \ \ 12
|
|
\ \ \ \ 123\ \ \ \ \ 123\ \ \ \ \ \ \ 123\ \ \ \ \ \ \ \ \ \ \ 123
|
|
\ \ \ \ \ \ 1\ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ 1
|
|
\-\-\-\-\-\-\-\ \ \ \ \ \-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\ \ \ \-\-\-\-\-\-\-
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
When headers are omitted, column alignments are determined on the basis
|
|
of the first line of the table body.
|
|
So, in the tables above, the columns would be right, left, center, and
|
|
right aligned, respectively.
|
|
.SS Extension: \f[C]multiline_tables\f[]
|
|
.PP
|
|
Multiline tables allow headers and table rows to span multiple lines of
|
|
text (but cells that span multiple columns or rows of the table are not
|
|
supported).
|
|
Here is an example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\ Centered\ \ \ Default\ \ \ \ \ \ \ \ \ \ \ Right\ Left
|
|
\ \ Header\ \ \ \ Aligned\ \ \ \ \ \ \ \ \ Aligned\ Aligned
|
|
\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\ \ \ First\ \ \ \ row\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 12.0\ Example\ of\ a\ row\ that
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ spans\ multiple\ lines.
|
|
|
|
\ \ Second\ \ \ \ row\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 5.0\ Here\[aq]s\ another\ one.\ Note
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ blank\ line\ between
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rows.
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
|
|
Table:\ Here\[aq]s\ the\ caption.\ It,\ too,\ may\ span
|
|
multiple\ lines.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
These work like simple tables, but with the following differences:
|
|
.IP \[bu] 2
|
|
They must begin with a row of dashes, before the header text (unless the
|
|
headers are omitted).
|
|
.IP \[bu] 2
|
|
They must end with a row of dashes, then a blank line.
|
|
.IP \[bu] 2
|
|
The rows must be separated by blank lines.
|
|
.PP
|
|
In multiline tables, the table parser pays attention to the widths of
|
|
the columns, and the writers try to reproduce these relative widths in
|
|
the output.
|
|
So, if you find that one of the columns is too narrow in the output, try
|
|
widening it in the Markdown source.
|
|
.PP
|
|
Headers may be omitted in multiline tables as well as simple tables:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\ \ \ First\ \ \ \ row\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 12.0\ Example\ of\ a\ row\ that
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ spans\ multiple\ lines.
|
|
|
|
\ \ Second\ \ \ \ row\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 5.0\ Here\[aq]s\ another\ one.\ Note
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ blank\ line\ between
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rows.
|
|
\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\ \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
|
|
:\ Here\[aq]s\ a\ multiline\ table\ without\ headers.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
It is possible for a multiline table to have just one row, but the row
|
|
should be followed by a blank line (and then the row of dashes that ends
|
|
the table), or the table may be interpreted as a simple table.
|
|
.SS Extension: \f[C]grid_tables\f[]
|
|
.PP
|
|
Grid tables look like this:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
:\ Sample\ grid\ table.
|
|
|
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
|
|\ Fruit\ \ \ \ \ \ \ \ \ |\ Price\ \ \ \ \ \ \ \ \ |\ Advantages\ \ \ \ \ \ \ \ \ |
|
|
+===============+===============+====================+
|
|
|\ Bananas\ \ \ \ \ \ \ |\ $1.34\ \ \ \ \ \ \ \ \ |\ \-\ built\-in\ wrapper\ |
|
|
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |\ \-\ bright\ color\ \ \ \ \ |
|
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
|
|\ Oranges\ \ \ \ \ \ \ |\ $2.10\ \ \ \ \ \ \ \ \ |\ \-\ cures\ scurvy\ \ \ \ \ |
|
|
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |\ \-\ tasty\ \ \ \ \ \ \ \ \ \ \ \ |
|
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The row of \f[C]=\f[]s separates the header from the table body, and can
|
|
be omitted for a headerless table.
|
|
The cells of grid tables may contain arbitrary block elements (multiple
|
|
paragraphs, code blocks, lists, etc.).
|
|
Alignments are not supported, nor are cells that span multiple columns
|
|
or rows.
|
|
Grid tables can be created easily using Emacs table mode.
|
|
.SS Extension: \f[C]pipe_tables\f[]
|
|
.PP
|
|
Pipe tables look like this:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
|\ Right\ |\ Left\ |\ Default\ |\ Center\ |
|
|
|\-\-\-\-\-\-:|:\-\-\-\-\-|\-\-\-\-\-\-\-\-\-|:\-\-\-\-\-\-:|
|
|
|\ \ \ 12\ \ |\ \ 12\ \ |\ \ \ \ 12\ \ \ |\ \ \ \ 12\ \ |
|
|
|\ \ 123\ \ |\ \ 123\ |\ \ \ 123\ \ \ |\ \ \ 123\ \ |
|
|
|\ \ \ \ 1\ \ |\ \ \ \ 1\ |\ \ \ \ \ 1\ \ \ |\ \ \ \ \ 1\ \ |
|
|
|
|
\ \ :\ Demonstration\ of\ pipe\ table\ syntax.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The syntax is identical to PHP Markdown Extra tables.
|
|
The beginning and ending pipe characters are optional, but pipes are
|
|
required between all columns.
|
|
The colons indicate column alignment as shown.
|
|
The header cannot be omitted.
|
|
To simulate a headerless table, include a header with blank cells.
|
|
.PP
|
|
Since the pipes indicate column boundaries, columns need not be
|
|
vertically aligned, as they are in the above example.
|
|
So, this is a perfectly legal (though ugly) pipe table:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
fruit|\ price
|
|
\-\-\-\-\-|\-\-\-\-\-:
|
|
apple|2.05
|
|
pear|1.37
|
|
orange|3.09
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The cells of pipe tables cannot contain block elements like paragraphs
|
|
and lists, and cannot span multiple lines.
|
|
If a pipe table contains a row whose printable content is wider than the
|
|
column width (see \f[C]\-\-columns\f[]), then the cell contents will
|
|
wrap, with the relative cell widths determined by the widths of the
|
|
separator lines.
|
|
.PP
|
|
Note: pandoc also recognizes pipe tables of the following form, as can
|
|
be produced by Emacs\[aq] orgtbl\-mode:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
|\ One\ |\ Two\ \ \ |
|
|
|\-\-\-\-\-+\-\-\-\-\-\-\-|
|
|
|\ my\ \ |\ table\ |
|
|
|\ is\ \ |\ nice\ \ |
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The difference is that \f[C]+\f[] is used instead of \f[C]|\f[].
|
|
Other orgtbl features are not supported.
|
|
In particular, to get non\-default column alignment, you\[aq]ll need to
|
|
add colons as above.
|
|
.SS Metadata blocks
|
|
.SS Extension: \f[C]pandoc_title_block\f[]
|
|
.PP
|
|
If the file begins with a title block
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ title
|
|
%\ author(s)\ (separated\ by\ semicolons)
|
|
%\ date
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
it will be parsed as bibliographic information, not regular text.
|
|
(It will be used, for example, in the title of standalone LaTeX or HTML
|
|
output.) The block may contain just a title, a title and an author, or
|
|
all three elements.
|
|
If you want to include an author but no title, or a title and a date but
|
|
no author, you need a blank line:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%
|
|
%\ Author
|
|
|
|
%\ My\ title
|
|
%
|
|
%\ June\ 15,\ 2006
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The title may occupy multiple lines, but continuation lines must begin
|
|
with leading space, thus:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ My\ title
|
|
\ \ on\ multiple\ lines
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If a document has multiple authors, the authors may be put on separate
|
|
lines with leading space, or separated by semicolons, or both.
|
|
So, all of the following are equivalent:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ Author\ One
|
|
\ \ Author\ Two
|
|
|
|
%\ Author\ One;\ Author\ Two
|
|
|
|
%\ Author\ One;
|
|
\ \ Author\ Two
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The date must fit on one line.
|
|
.PP
|
|
All three metadata fields may contain standard inline formatting
|
|
(italics, links, footnotes, etc.).
|
|
.PP
|
|
Title blocks will always be parsed, but they will affect the output only
|
|
when the \f[C]\-\-standalone\f[] (\f[C]\-s\f[]) option is chosen.
|
|
In HTML output, titles will appear twice: once in the document head \-\-
|
|
this is the title that will appear at the top of the window in a browser
|
|
\-\- and once at the beginning of the document body.
|
|
The title in the document head can have an optional prefix attached
|
|
(\f[C]\-\-title\-prefix\f[] or \f[C]\-T\f[] option).
|
|
The title in the body appears as an H1 element with class "title", so it
|
|
can be suppressed or reformatted with CSS.
|
|
If a title prefix is specified with \f[C]\-T\f[] and no title block
|
|
appears in the document, the title prefix will be used by itself as the
|
|
HTML title.
|
|
.PP
|
|
The man page writer extracts a title, man page section number, and other
|
|
header and footer information from the title line.
|
|
The title is assumed to be the first word on the title line, which may
|
|
optionally end with a (single\-digit) section number in parentheses.
|
|
(There should be no space between the title and the parentheses.)
|
|
Anything after this is assumed to be additional footer and header text.
|
|
A single pipe character (\f[C]|\f[]) should be used to separate the
|
|
footer text from the header text.
|
|
Thus,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ PANDOC(1)
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
will yield a man page with the title \f[C]PANDOC\f[] and section 1.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ PANDOC(1)\ Pandoc\ User\ Manuals
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
will also have "Pandoc User Manuals" in the footer.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ PANDOC(1)\ Pandoc\ User\ Manuals\ |\ Version\ 4.0
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
will also have "Version 4.0" in the header.
|
|
.SS Extension: \f[C]yaml_metadata_block\f[]
|
|
.PP
|
|
A YAML metadata block is a valid YAML object, delimited by a line of
|
|
three hyphens (\f[C]\-\-\-\f[]) at the top and a line of three hyphens
|
|
(\f[C]\-\-\-\f[]) or three dots (\f[C]\&...\f[]) at the bottom.
|
|
A YAML metadata block may occur anywhere in the document, but if it is
|
|
not at the beginning, it must be preceded by a blank line.
|
|
(Note that, because of the way pandoc concatenates input files when
|
|
several are provided, you may also keep the metadata in a separate YAML
|
|
file and pass it to pandoc as an argument, along with your Markdown
|
|
files:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ chap1.md\ chap2.md\ chap3.md\ metadata.yaml\ \-s\ \-o\ book.html
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Just be sure that the YAML file begins with \f[C]\-\-\-\f[] and ends
|
|
with \f[C]\-\-\-\f[] or \f[C]\&...\f[].)
|
|
.PP
|
|
Metadata will be taken from the fields of the YAML object and added to
|
|
any existing document metadata.
|
|
Metadata can contain lists and objects (nested arbitrarily), but all
|
|
string scalars will be interpreted as Markdown.
|
|
Fields with names ending in an underscore will be ignored by pandoc.
|
|
(They may be given a role by external processors.)
|
|
.PP
|
|
A document may contain multiple metadata blocks.
|
|
The metadata fields will be combined through a \f[I]left\-biased
|
|
union\f[]: if two metadata blocks attempt to set the same field, the
|
|
value from the first block will be taken.
|
|
.PP
|
|
When pandoc is used with \f[C]\-t\ markdown\f[] to create a Markdown
|
|
document, a YAML metadata block will be produced only if the
|
|
\f[C]\-s/\-\-standalone\f[] option is used.
|
|
All of the metadata will appear in a single block at the beginning of
|
|
the document.
|
|
.PP
|
|
Note that YAML escaping rules must be followed.
|
|
Thus, for example, if a title contains a colon, it must be quoted.
|
|
The pipe character (\f[C]|\f[]) can be used to begin an indented block
|
|
that will be interpreted literally, without need for escaping.
|
|
This form is necessary when the field contains blank lines:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-
|
|
title:\ \ \[aq]This\ is\ the\ title:\ it\ contains\ a\ colon\[aq]
|
|
author:
|
|
\-\ name:\ Author\ One
|
|
\ \ affiliation:\ University\ of\ Somewhere
|
|
\-\ name:\ Author\ Two
|
|
\ \ affiliation:\ University\ of\ Nowhere
|
|
tags:\ [nothing,\ nothingness]
|
|
abstract:\ |
|
|
\ \ This\ is\ the\ abstract.
|
|
|
|
\ \ It\ consists\ of\ two\ paragraphs.
|
|
\&...
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Template variables will be set automatically from the metadata.
|
|
Thus, for example, in writing HTML, the variable \f[C]abstract\f[] will
|
|
be set to the HTML equivalent of the Markdown in the \f[C]abstract\f[]
|
|
field:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<p>This\ is\ the\ abstract.</p>
|
|
<p>It\ consists\ of\ two\ paragraphs.</p>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note: The \f[C]author\f[] variable in the default templates expects a
|
|
simple list or string.
|
|
To use the structured authors in the example, you would need a custom
|
|
template.
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
$for(author)$
|
|
$if(author.name)$
|
|
$author.name$$if(author.affiliation)$\ ($author.affiliation$)$endif$
|
|
$else$
|
|
$author$
|
|
$endif$
|
|
$endfor$
|
|
\f[]
|
|
.fi
|
|
.SS Backslash escapes
|
|
.SS Extension: \f[C]all_symbols_escapable\f[]
|
|
.PP
|
|
Except inside a code block or inline code, any punctuation or space
|
|
character preceded by a backslash will be treated literally, even if it
|
|
would normally indicate formatting.
|
|
Thus, for example, if one writes
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*\\*hello\\**
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
one will get
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<em>*hello*</em>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
instead of
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<strong>hello</strong>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
This rule is easier to remember than standard Markdown\[aq]s rule, which
|
|
allows only the following characters to be backslash\-escaped:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\\`*_{}[]()>#+\-.!
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(However, if the \f[C]markdown_strict\f[] format is used, the standard
|
|
Markdown rule will be used.)
|
|
.PP
|
|
A backslash\-escaped space is parsed as a nonbreaking space.
|
|
It will appear in TeX output as \f[C]~\f[] and in HTML and XML as
|
|
\f[C]\\ \f[] or \f[C]\\ \f[].
|
|
.PP
|
|
A backslash\-escaped newline (i.e.
|
|
a backslash occurring at the end of a line) is parsed as a hard line
|
|
break.
|
|
It will appear in TeX output as \f[C]\\\\\f[] and in HTML as
|
|
\f[C]<br\ />\f[].
|
|
This is a nice alternative to Markdown\[aq]s "invisible" way of
|
|
indicating hard line breaks using two trailing spaces on a line.
|
|
.PP
|
|
Backslash escapes do not work in verbatim contexts.
|
|
.SS Smart punctuation
|
|
.SS Extension
|
|
.PP
|
|
If the \f[C]\-\-smart\f[] option is specified, pandoc will produce
|
|
typographically correct output, converting straight quotes to curly
|
|
quotes, \f[C]\-\-\-\f[] to em\-dashes, \f[C]\-\-\f[] to en\-dashes, and
|
|
\f[C]\&...\f[] to ellipses.
|
|
Nonbreaking spaces are inserted after certain abbreviations, such as
|
|
"Mr."
|
|
.PP
|
|
Note: if your LaTeX template or any included header file call for the
|
|
\f[C]csquotes\f[] package, pandoc will detect this automatically and use
|
|
\f[C]\\enquote{...}\f[] for quoted text.
|
|
.SS Inline formatting
|
|
.SS Emphasis
|
|
.PP
|
|
To \f[I]emphasize\f[] some text, surround it with \f[C]*\f[]s or
|
|
\f[C]_\f[], like this:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ text\ is\ _emphasized\ with\ underscores_,\ and\ this
|
|
is\ *emphasized\ with\ asterisks*.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Double \f[C]*\f[] or \f[C]_\f[] produces \f[B]strong emphasis\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ is\ **strong\ emphasis**\ and\ __with\ underscores__.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
A \f[C]*\f[] or \f[C]_\f[] character surrounded by spaces, or
|
|
backslash\-escaped, will not trigger emphasis:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ is\ *\ not\ emphasized\ *,\ and\ \\*neither\ is\ this\\*.
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]intraword_underscores\f[]
|
|
.PP
|
|
Because \f[C]_\f[] is sometimes used inside words and identifiers,
|
|
pandoc does not interpret a \f[C]_\f[] surrounded by alphanumeric
|
|
characters as an emphasis marker.
|
|
If you want to emphasize just part of a word, use \f[C]*\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
feas*ible*,\ not\ feas*able*.
|
|
\f[]
|
|
.fi
|
|
.SS Strikeout
|
|
.SS Extension: \f[C]strikeout\f[]
|
|
.PP
|
|
To strikeout a section of text with a horizontal line, begin and end it
|
|
with \f[C]~~\f[].
|
|
Thus, for example,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ ~~is\ deleted\ text.~~
|
|
\f[]
|
|
.fi
|
|
.SS Superscripts and subscripts
|
|
.SS Extension: \f[C]superscript\f[], \f[C]subscript\f[]
|
|
.PP
|
|
Superscripts may be written by surrounding the superscripted text by
|
|
\f[C]^\f[] characters; subscripts may be written by surrounding the
|
|
subscripted text by \f[C]~\f[] characters.
|
|
Thus, for example,
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
H~2~O\ is\ a\ liquid.\ \ 2^10^\ is\ 1024.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If the superscripted or subscripted text contains spaces, these spaces
|
|
must be escaped with backslashes.
|
|
(This is to prevent accidental superscripting and subscripting through
|
|
the ordinary use of \f[C]~\f[] and \f[C]^\f[].) Thus, if you want the
|
|
letter P with \[aq]a cat\[aq] in subscripts, use \f[C]P~a\\\ cat~\f[],
|
|
not \f[C]P~a\ cat~\f[].
|
|
.SS Verbatim
|
|
.PP
|
|
To make a short span of text verbatim, put it inside backticks:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
What\ is\ the\ difference\ between\ `>>=`\ and\ `>>`?
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If the verbatim text includes a backtick, use double backticks:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Here\ is\ a\ literal\ backtick\ ``\ `\ ``.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(The spaces after the opening backticks and before the closing backticks
|
|
will be ignored.)
|
|
.PP
|
|
The general rule is that a verbatim span starts with a string of
|
|
consecutive backticks (optionally followed by a space) and ends with a
|
|
string of the same number of backticks (optionally preceded by a space).
|
|
.PP
|
|
Note that backslash\-escapes (and other Markdown constructs) do not work
|
|
in verbatim contexts:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ is\ a\ backslash\ followed\ by\ an\ asterisk:\ `\\*`.
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]inline_code_attributes\f[]
|
|
.PP
|
|
Attributes can be attached to verbatim text, just as with fenced code
|
|
blocks:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
`<$>`{.haskell}
|
|
\f[]
|
|
.fi
|
|
.SS Small caps
|
|
.PP
|
|
To write small caps, you can use an HTML span tag:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<span\ style="font\-variant:small\-caps;">Small\ caps</span>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(The semicolon is optional and there may be space after the colon.) This
|
|
will work in all output formats that support small caps.
|
|
.SS Math
|
|
.SS Extension: \f[C]tex_math_dollars\f[]
|
|
.PP
|
|
Anything between two \f[C]$\f[] characters will be treated as TeX math.
|
|
The opening \f[C]$\f[] must have a non\-space character immediately to
|
|
its right, while the closing \f[C]$\f[] must have a non\-space character
|
|
immediately to its left, and must not be followed immediately by a
|
|
digit.
|
|
Thus, \f[C]$20,000\ and\ $30,000\f[] won\[aq]t parse as math.
|
|
If for some reason you need to enclose text in literal \f[C]$\f[]
|
|
characters, backslash\-escape them and they won\[aq]t be treated as math
|
|
delimiters.
|
|
.PP
|
|
TeX math will be printed in all output formats.
|
|
How it is rendered depends on the output format:
|
|
.TP
|
|
.B Markdown, LaTeX, Emacs Org mode, ConTeXt, ZimWiki
|
|
It will appear verbatim between \f[C]$\f[] characters.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B reStructuredText
|
|
It will be rendered using an interpreted text role \f[C]:math:\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B AsciiDoc
|
|
It will be rendered as \f[C]latexmath:[...]\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B Texinfo
|
|
It will be rendered inside a \f[C]\@math\f[] command.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B groff man
|
|
It will be rendered verbatim without \f[C]$\f[]\[aq]s.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B MediaWiki, DokuWiki
|
|
It will be rendered inside \f[C]<math>\f[] tags.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B Textile
|
|
It will be rendered inside \f[C]<span\ class="math">\f[] tags.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B RTF, OpenDocument, ODT
|
|
It will be rendered, if possible, using unicode characters, and will
|
|
otherwise appear verbatim.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B DocBook
|
|
If the \f[C]\-\-mathml\f[] flag is used, it will be rendered using
|
|
MathML in an \f[C]inlineequation\f[] or \f[C]informalequation\f[] tag.
|
|
Otherwise it will be rendered, if possible, using unicode characters.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B Docx
|
|
It will be rendered using OMML math markup.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B FictionBook2
|
|
If the \f[C]\-\-webtex\f[] option is used, formulas are rendered as
|
|
images using Google Charts or other compatible web service, downloaded
|
|
and embedded in the e\-book.
|
|
Otherwise, they will appear verbatim.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B HTML, Slidy, DZSlides, S5, EPUB
|
|
The way math is rendered in HTML will depend on the command\-line
|
|
options selected:
|
|
.RS
|
|
.IP "1." 3
|
|
The default is to render TeX math as far as possible using unicode
|
|
characters, as with RTF, DocBook, and OpenDocument output.
|
|
Formulas are put inside a \f[C]span\f[] with \f[C]class="math"\f[], so
|
|
that they may be styled differently from the surrounding text if needed.
|
|
.IP "2." 3
|
|
If the \f[C]\-\-latexmathml\f[] option is used, TeX math will be
|
|
displayed between \f[C]$\f[] or \f[C]$$\f[] characters and put in
|
|
\f[C]<span>\f[] tags with class \f[C]LaTeX\f[].
|
|
The LaTeXMathML script will be used to render it as formulas.
|
|
(This trick does not work in all browsers, but it works in Firefox.
|
|
In browsers that do not support LaTeXMathML, TeX math will appear
|
|
verbatim between \f[C]$\f[] characters.)
|
|
.IP "3." 3
|
|
If the \f[C]\-\-jsmath\f[] option is used, TeX math will be put inside
|
|
\f[C]<span>\f[] tags (for inline math) or \f[C]<div>\f[] tags (for
|
|
display math) with class \f[C]math\f[].
|
|
The jsMath script will be used to render it.
|
|
.IP "4." 3
|
|
If the \f[C]\-\-mimetex\f[] option is used, the mimeTeX CGI script will
|
|
be called to generate images for each TeX formula.
|
|
This should work in all browsers.
|
|
The \f[C]\-\-mimetex\f[] option takes an optional URL as argument.
|
|
If no URL is specified, it will be assumed that the mimeTeX CGI script
|
|
is at \f[C]/cgi\-bin/mimetex.cgi\f[].
|
|
.IP "5." 3
|
|
If the \f[C]\-\-gladtex\f[] option is used, TeX formulas will be
|
|
enclosed in \f[C]<eq>\f[] tags in the HTML output.
|
|
The resulting \f[C]htex\f[] file may then be processed by gladTeX, which
|
|
will produce image files for each formula and an HTML file with links to
|
|
these images.
|
|
So, the procedure is:
|
|
.RS 4
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-s\ \-\-gladtex\ myfile.txt\ \-o\ myfile.htex
|
|
gladtex\ \-d\ myfile\-images\ myfile.htex
|
|
#\ produces\ myfile.html\ and\ images\ in\ myfile\-images
|
|
\f[]
|
|
.fi
|
|
.RE
|
|
.IP "6." 3
|
|
If the \f[C]\-\-webtex\f[] option is used, TeX formulas will be
|
|
converted to \f[C]<img>\f[] tags that link to an external script that
|
|
converts formulas to images.
|
|
The formula will be URL\-encoded and concatenated with the URL provided.
|
|
If no URL is specified, the Google Chart API will be used
|
|
(\f[C]http://chart.apis.google.com/chart?cht=tx&chl=\f[]).
|
|
.IP "7." 3
|
|
If the \f[C]\-\-mathjax\f[] option is used, TeX math will be displayed
|
|
between \f[C]\\(...\\)\f[] (for inline math) or \f[C]\\[...\\]\f[] (for
|
|
display math) and put in \f[C]<span>\f[] tags with class \f[C]math\f[].
|
|
The MathJax script will be used to render it as formulas.
|
|
.RE
|
|
.SS Raw HTML
|
|
.SS Extension: \f[C]raw_html\f[]
|
|
.PP
|
|
Markdown allows you to insert raw HTML (or DocBook) anywhere in a
|
|
document (except verbatim contexts, where \f[C]<\f[], \f[C]>\f[], and
|
|
\f[C]&\f[] are interpreted literally).
|
|
(Technically this is not an extension, since standard Markdown allows
|
|
it, but it has been made an extension so that it can be disabled if
|
|
desired.)
|
|
.PP
|
|
The raw HTML is passed through unchanged in HTML, S5, Slidy, Slideous,
|
|
DZSlides, EPUB, Markdown, Emacs Org mode, and Textile output, and
|
|
suppressed in other formats.
|
|
.SS Extension: \f[C]markdown_in_html_blocks\f[]
|
|
.PP
|
|
Standard Markdown allows you to include HTML "blocks": blocks of HTML
|
|
between balanced tags that are separated from the surrounding text with
|
|
blank lines, and start and end at the left margin.
|
|
Within these blocks, everything is interpreted as HTML, not Markdown; so
|
|
(for example), \f[C]*\f[] does not signify emphasis.
|
|
.PP
|
|
Pandoc behaves this way when the \f[C]markdown_strict\f[] format is
|
|
used; but by default, pandoc interprets material between HTML block tags
|
|
as Markdown.
|
|
Thus, for example, pandoc will turn
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<table>
|
|
<tr>
|
|
<td>*one*</td>
|
|
<td>[a\ link](http://google.com)</td>
|
|
</tr>
|
|
</table>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
into
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<table>
|
|
<tr>
|
|
<td><em>one</em></td>
|
|
<td><a\ href="http://google.com">a\ link</a></td>
|
|
</tr>
|
|
</table>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
whereas \f[C]Markdown.pl\f[] will preserve it as is.
|
|
.PP
|
|
There is one exception to this rule: text between \f[C]<script>\f[] and
|
|
\f[C]<style>\f[] tags is not interpreted as Markdown.
|
|
.PP
|
|
This departure from standard Markdown should make it easier to mix
|
|
Markdown with HTML block elements.
|
|
For example, one can surround a block of Markdown text with
|
|
\f[C]<div>\f[] tags without preventing it from being interpreted as
|
|
Markdown.
|
|
.SS Extension: \f[C]native_divs\f[]
|
|
.PP
|
|
Use native pandoc \f[C]Div\f[] blocks for content inside \f[C]<div>\f[]
|
|
tags.
|
|
For the most part this should give the same output as
|
|
\f[C]markdown_in_html_blocks\f[], but it makes it easier to write pandoc
|
|
filters to manipulate groups of blocks.
|
|
.SS Extension: \f[C]native_spans\f[]
|
|
.PP
|
|
Use native pandoc \f[C]Span\f[] blocks for content inside
|
|
\f[C]<span>\f[] tags.
|
|
For the most part this should give the same output as \f[C]raw_html\f[],
|
|
but it makes it easier to write pandoc filters to manipulate groups of
|
|
inlines.
|
|
.SS Raw TeX
|
|
.SS Extension: \f[C]raw_tex\f[]
|
|
.PP
|
|
In addition to raw HTML, pandoc allows raw LaTeX, TeX, and ConTeXt to be
|
|
included in a document.
|
|
Inline TeX commands will be preserved and passed unchanged to the LaTeX
|
|
and ConTeXt writers.
|
|
Thus, for example, you can use LaTeX to include BibTeX citations:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ result\ was\ proved\ in\ \\cite{jones.1967}.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that in LaTeX environments, like
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\\begin{tabular}{|l|l|}\\hline
|
|
Age\ &\ Frequency\ \\\\\ \\hline
|
|
18\-\-25\ \ &\ 15\ \\\\
|
|
26\-\-35\ \ &\ 33\ \\\\
|
|
36\-\-45\ \ &\ 22\ \\\\\ \\hline
|
|
\\end{tabular}
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
the material between the begin and end tags will be interpreted as raw
|
|
LaTeX, not as Markdown.
|
|
.PP
|
|
Inline LaTeX is ignored in output formats other than Markdown, LaTeX,
|
|
Emacs Org mode, and ConTeXt.
|
|
.SS LaTeX macros
|
|
.SS Extension: \f[C]latex_macros\f[]
|
|
.PP
|
|
For output formats other than LaTeX, pandoc will parse LaTeX
|
|
\f[C]\\newcommand\f[] and \f[C]\\renewcommand\f[] definitions and apply
|
|
the resulting macros to all LaTeX math.
|
|
So, for example, the following will work in all output formats, not just
|
|
LaTeX:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\\newcommand{\\tuple}[1]{\\langle\ #1\ \\rangle}
|
|
|
|
$\\tuple{a,\ b,\ c}$
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
In LaTeX output, the \f[C]\\newcommand\f[] definition will simply be
|
|
passed unchanged to the output.
|
|
.SS Links
|
|
.PP
|
|
Markdown allows links to be specified in several ways.
|
|
.SS Automatic links
|
|
.PP
|
|
If you enclose a URL or email address in pointy brackets, it will become
|
|
a link:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<http://google.com>
|
|
<sam\@green.eggs.ham>
|
|
\f[]
|
|
.fi
|
|
.SS Inline links
|
|
.PP
|
|
An inline link consists of the link text in square brackets, followed by
|
|
the URL in parentheses.
|
|
(Optionally, the URL can be followed by a link title, in quotes.)
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ is\ an\ [inline\ link](/url),\ and\ here\[aq]s\ [one\ with
|
|
a\ title](http://fsf.org\ "click\ here\ for\ a\ good\ time!").
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
There can be no space between the bracketed part and the parenthesized
|
|
part.
|
|
The link text can contain formatting (such as emphasis), but the title
|
|
cannot.
|
|
.PP
|
|
Email addresses in inline links are not autodetected, so they have to be
|
|
prefixed with \f[C]mailto\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[Write\ me!](mailto:sam\@green.eggs.ham)
|
|
\f[]
|
|
.fi
|
|
.SS Reference links
|
|
.PP
|
|
An \f[I]explicit\f[] reference link has two parts, the link itself and
|
|
the link definition, which may occur elsewhere in the document (either
|
|
before or after the link).
|
|
.PP
|
|
The link consists of link text in square brackets, followed by a label
|
|
in square brackets.
|
|
(There can be space between the two.) The link definition consists of
|
|
the bracketed label, followed by a colon and a space, followed by the
|
|
URL, and optionally (after a space) a link title either in quotes or in
|
|
parentheses.
|
|
The label must not be parseable as a citation (assuming the
|
|
\f[C]citations\f[] extension is enabled): citations take precedence over
|
|
link labels.
|
|
.PP
|
|
Here are some examples:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[my\ label\ 1]:\ /foo/bar.html\ \ "My\ title,\ optional"
|
|
[my\ label\ 2]:\ /foo
|
|
[my\ label\ 3]:\ http://fsf.org\ (The\ free\ software\ foundation)
|
|
[my\ label\ 4]:\ /bar#special\ \ \[aq]A\ title\ in\ single\ quotes\[aq]
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The URL may optionally be surrounded by angle brackets:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[my\ label\ 5]:\ <http://foo.bar.baz>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The title may go on the next line:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
[my\ label\ 3]:\ http://fsf.org
|
|
\ \ "The\ free\ software\ foundation"
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that link labels are not case sensitive.
|
|
So, this will work:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Here\ is\ [my\ link][FOO]
|
|
|
|
[Foo]:\ /bar/baz
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
In an \f[I]implicit\f[] reference link, the second pair of brackets is
|
|
empty:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
See\ [my\ website][].
|
|
|
|
[my\ website]:\ http://foo.bar.baz
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note: In \f[C]Markdown.pl\f[] and most other Markdown implementations,
|
|
reference link definitions cannot occur in nested constructions such as
|
|
list items or block quotes.
|
|
Pandoc lifts this arbitrary seeming restriction.
|
|
So the following is fine in pandoc, though not in most other
|
|
implementations:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ My\ block\ [quote].
|
|
>
|
|
>\ [quote]:\ /foo
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]shortcut_reference_links\f[]
|
|
.PP
|
|
In a \f[I]shortcut\f[] reference link, the second pair of brackets may
|
|
be omitted entirely:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
See\ [my\ website].
|
|
|
|
[my\ website]:\ http://foo.bar.baz
|
|
\f[]
|
|
.fi
|
|
.SS Internal links
|
|
.PP
|
|
To link to another section of the same document, use the automatically
|
|
generated identifier (see Header identifiers).
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
See\ the\ [Introduction](#introduction).
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
or
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
See\ the\ [Introduction].
|
|
|
|
[Introduction]:\ #introduction
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Internal links are currently supported for HTML formats (including HTML
|
|
slide shows and EPUB), LaTeX, and ConTeXt.
|
|
.SS Images
|
|
.PP
|
|
A link immediately preceded by a \f[C]!\f[] will be treated as an image.
|
|
The link text will be used as the image\[aq]s alt text:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
![la\ lune](lalune.jpg\ "Voyage\ to\ the\ moon")
|
|
|
|
![movie\ reel]
|
|
|
|
[movie\ reel]:\ movie.gif
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]implicit_figures\f[]
|
|
.PP
|
|
An image occurring by itself in a paragraph will be rendered as a figure
|
|
with a caption. (In LaTeX, a figure environment will be used; in HTML,
|
|
the image will be placed in a \f[C]div\f[] with class \f[C]figure\f[],
|
|
together with a caption in a \f[C]p\f[] with class \f[C]caption\f[].)
|
|
The image\[aq]s alt text will be used as the caption.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
![This\ is\ the\ caption](/url/of/image.png)
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If you just want a regular inline image, just make sure it is not the
|
|
only thing in the paragraph.
|
|
One way to do this is to insert a nonbreaking space after the image:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
![This\ image\ won\[aq]t\ be\ a\ figure](/url/of/image.png)\\\
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]link_attributes\f[]
|
|
.PP
|
|
Attributes can be set on links and images:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
An\ inline\ ![image](foo.jpg){#id\ .class\ width=30\ height=20px}
|
|
and\ a\ reference\ ![image][ref]\ with\ attributes.
|
|
|
|
[ref]:\ foo.jpg\ "optional\ title"\ {#id\ .class\ key=val\ key2="val\ 2"}
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(This syntax is compatible with PHP Markdown Extra when only
|
|
\f[C]#id\f[] and \f[C]\&.class\f[] are used.)
|
|
.PP
|
|
For HTML and EPUB, all attributes except \f[C]width\f[] and
|
|
\f[C]height\f[] (but including \f[C]srcset\f[] and \f[C]sizes\f[]) are
|
|
passed through as is.
|
|
The other writers ignore attributes that are not supported by their
|
|
output format.
|
|
.PP
|
|
The \f[C]width\f[] and \f[C]height\f[] attributes on images are treated
|
|
specially.
|
|
When used without a unit, the unit is assumed to be pixels.
|
|
However, any of the following unit identifiers can be used: \f[C]px\f[],
|
|
\f[C]cm\f[], \f[C]mm\f[], \f[C]in\f[], \f[C]inch\f[] and \f[C]%\f[].
|
|
There must not be any spaces between the number and the unit.
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
![](file.jpg){\ width=50%\ }
|
|
\f[]
|
|
.fi
|
|
.IP \[bu] 2
|
|
Dimensions are converted to inches for output in page\-based formats
|
|
like LaTeX.
|
|
Dimensions are converted to pixels for output in HTML\-like formats.
|
|
Use the \f[C]\-\-dpi\f[] option to specify the number of pixels per
|
|
inch.
|
|
The default is 96dpi.
|
|
.IP \[bu] 2
|
|
The \f[C]%\f[] unit is generally relative to some available space.
|
|
For example the above example will render to
|
|
\f[C]<img\ href="file.jpg"\ style="width:\ 50%;"\ />\f[] (HTML),
|
|
\f[C]\\includegraphics[width=0.5\\textwidth]{file.jpg}\f[] (LaTeX), or
|
|
\f[C]\\externalfigure[file.jpg][width=0.5\\textwidth]\f[] (ConTeXt).
|
|
.IP \[bu] 2
|
|
Some output formats have a notion of a class (ConTeXt) or a unique
|
|
identifier (LaTeX \f[C]\\caption\f[]), or both (HTML).
|
|
.IP \[bu] 2
|
|
When no \f[C]width\f[] or \f[C]height\f[] attributes are specified, the
|
|
fallback is to look at the image resolution and the dpi metadata
|
|
embedded in the image file.
|
|
.SS Footnotes
|
|
.SS Extension: \f[C]footnotes\f[]
|
|
.PP
|
|
Pandoc\[aq]s Markdown allows footnotes, using the following syntax:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Here\ is\ a\ footnote\ reference,[^1]\ and\ another.[^longnote]
|
|
|
|
[^1]:\ Here\ is\ the\ footnote.
|
|
|
|
[^longnote]:\ Here\[aq]s\ one\ with\ multiple\ blocks.
|
|
|
|
\ \ \ \ Subsequent\ paragraphs\ are\ indented\ to\ show\ that\ they
|
|
belong\ to\ the\ previous\ footnote.
|
|
|
|
\ \ \ \ \ \ \ \ {\ some.code\ }
|
|
|
|
\ \ \ \ The\ whole\ paragraph\ can\ be\ indented,\ or\ just\ the\ first
|
|
\ \ \ \ line.\ \ In\ this\ way,\ multi\-paragraph\ footnotes\ work\ like
|
|
\ \ \ \ multi\-paragraph\ list\ items.
|
|
|
|
This\ paragraph\ won\[aq]t\ be\ part\ of\ the\ note,\ because\ it
|
|
isn\[aq]t\ indented.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The identifiers in footnote references may not contain spaces, tabs, or
|
|
newlines.
|
|
These identifiers are used only to correlate the footnote reference with
|
|
the note itself; in the output, footnotes will be numbered sequentially.
|
|
.PP
|
|
The footnotes themselves need not be placed at the end of the document.
|
|
They may appear anywhere except inside other block elements (lists,
|
|
block quotes, tables, etc.).
|
|
.SS Extension: \f[C]inline_notes\f[]
|
|
.PP
|
|
Inline footnotes are also allowed (though, unlike regular notes, they
|
|
cannot contain multiple paragraphs).
|
|
The syntax is as follows:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Here\ is\ an\ inline\ note.^[Inlines\ notes\ are\ easier\ to\ write,\ since
|
|
you\ don\[aq]t\ have\ to\ pick\ an\ identifier\ and\ move\ down\ to\ type\ the
|
|
note.]
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Inline and regular footnotes may be mixed freely.
|
|
.SS Citations
|
|
.SS Extension: \f[C]citations\f[]
|
|
.PP
|
|
Using an external filter, \f[C]pandoc\-citeproc\f[], pandoc can
|
|
automatically generate citations and a bibliography in a number of
|
|
styles.
|
|
Basic usage is
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-\-filter\ pandoc\-citeproc\ myinput.txt
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
In order to use this feature, you will need to specify a bibliography
|
|
file using the \f[C]bibliography\f[] metadata field in a YAML metadata
|
|
section, or \f[C]\-\-bibliography\f[] command line argument.
|
|
You can supply multiple \f[C]\-\-bibliography\f[] arguments or set
|
|
\f[C]bibliography\f[] metadata field to YAML array, if you want to use
|
|
multiple bibliography files.
|
|
The bibliography may have any of these formats:
|
|
.PP
|
|
.TS
|
|
tab(@);
|
|
l l.
|
|
T{
|
|
Format
|
|
T}@T{
|
|
File extension
|
|
T}
|
|
_
|
|
T{
|
|
BibLaTeX
|
|
T}@T{
|
|
\&.bib
|
|
T}
|
|
T{
|
|
BibTeX
|
|
T}@T{
|
|
\&.bibtex
|
|
T}
|
|
T{
|
|
Copac
|
|
T}@T{
|
|
\&.copac
|
|
T}
|
|
T{
|
|
CSL JSON
|
|
T}@T{
|
|
\&.json
|
|
T}
|
|
T{
|
|
CSL YAML
|
|
T}@T{
|
|
\&.yaml
|
|
T}
|
|
T{
|
|
EndNote
|
|
T}@T{
|
|
\&.enl
|
|
T}
|
|
T{
|
|
EndNote XML
|
|
T}@T{
|
|
\&.xml
|
|
T}
|
|
T{
|
|
ISI
|
|
T}@T{
|
|
\&.wos
|
|
T}
|
|
T{
|
|
MEDLINE
|
|
T}@T{
|
|
\&.medline
|
|
T}
|
|
T{
|
|
MODS
|
|
T}@T{
|
|
\&.mods
|
|
T}
|
|
T{
|
|
RIS
|
|
T}@T{
|
|
\&.ris
|
|
T}
|
|
.TE
|
|
.PP
|
|
Note that \f[C]\&.bib\f[] can be used with both BibTeX and BibLaTeX
|
|
files; use \f[C]\&.bibtex\f[] to force BibTeX.
|
|
.PP
|
|
Note that \f[C]pandoc\-citeproc\ \-\-bib2json\f[] and
|
|
\f[C]pandoc\-citeproc\ \-\-bib2yaml\f[] can produce \f[C]\&.json\f[] and
|
|
\f[C]\&.yaml\f[] files from any of the supported formats.
|
|
.PP
|
|
In\-field markup: In BibTeX and BibLaTeX databases, pandoc\-citeproc
|
|
parses a subset of LaTeX markup; in CSL YAML databases, pandoc Markdown;
|
|
and in CSL JSON databases, an HTML\-like markup:
|
|
.TP
|
|
.B \f[C]<i>...</i>\f[]
|
|
italics
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]<b>...</b>\f[]
|
|
bold
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]<span\ style="font\-variant:small\-caps;">...</span>\f[] or \f[C]<sc>...</sc>\f[]
|
|
small capitals
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]<sub>...</sub>\f[]
|
|
subscript
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]<sup>...</sup>\f[]
|
|
superscript
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]<span\ class="nocase">...</span>\f[]
|
|
prevent a phrase from being capitalized as title case
|
|
.RS
|
|
.RE
|
|
.PP
|
|
\f[C]pandoc\-citeproc\ \-j\f[] and \f[C]\-y\f[] interconvert the CSL
|
|
JSON and CSL YAML formats as far as possible.
|
|
.PP
|
|
As an alternative to specifying a bibliography file using
|
|
\f[C]\-\-bibliography\f[] or the YAML metadata field
|
|
\f[C]bibliography\f[], you can include the citation data directly in the
|
|
\f[C]references\f[] field of the document\[aq]s YAML metadata.
|
|
The field should contain an array of YAML\-encoded references, for
|
|
example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-
|
|
references:
|
|
\-\ type:\ article\-journal
|
|
\ \ id:\ WatsonCrick1953
|
|
\ \ author:
|
|
\ \ \-\ family:\ Watson
|
|
\ \ \ \ given:\ J.\ D.
|
|
\ \ \-\ family:\ Crick
|
|
\ \ \ \ given:\ F.\ H.\ C.
|
|
\ \ issued:
|
|
\ \ \ \ date\-parts:
|
|
\ \ \ \ \-\ \-\ 1953
|
|
\ \ \ \ \ \ \-\ 4
|
|
\ \ \ \ \ \ \-\ 25
|
|
\ \ title:\ \[aq]Molecular\ structure\ of\ nucleic\ acids:\ a\ structure\ for\ deoxyribose
|
|
\ \ \ \ nucleic\ acid\[aq]
|
|
\ \ title\-short:\ Molecular\ structure\ of\ nucleic\ acids
|
|
\ \ container\-title:\ Nature
|
|
\ \ volume:\ 171
|
|
\ \ issue:\ 4356
|
|
\ \ page:\ 737\-738
|
|
\ \ DOI:\ 10.1038/171737a0
|
|
\ \ URL:\ http://www.nature.com/nature/journal/v171/n4356/abs/171737a0.html
|
|
\ \ language:\ en\-GB
|
|
\&...
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
(\f[C]pandoc\-citeproc\ \-\-bib2yaml\f[] can produce these from a
|
|
bibliography file in one of the supported formats.)
|
|
.PP
|
|
Citations and references can be formatted using any style supported by
|
|
the Citation Style Language, listed in the Zotero Style Repository.
|
|
These files are specified using the \f[C]\-\-csl\f[] option or the
|
|
\f[C]csl\f[] metadata field.
|
|
By default, \f[C]pandoc\-citeproc\f[] will use the Chicago Manual of
|
|
Style author\-date format.
|
|
The CSL project provides further information on finding and editing
|
|
styles.
|
|
.PP
|
|
To make your citations hyperlinks to the corresponding bibliography
|
|
entries, add \f[C]link\-citations:\ true\f[] to your YAML metadata.
|
|
.PP
|
|
Citations go inside square brackets and are separated by semicolons.
|
|
Each citation must have a key, composed of \[aq]\@\[aq] + the citation
|
|
identifier from the database, and may optionally have a prefix, a
|
|
locator, and a suffix.
|
|
The citation key must begin with a letter, digit, or \f[C]_\f[], and may
|
|
contain alphanumerics, \f[C]_\f[], and internal punctuation characters
|
|
(\f[C]:.#$%&\-+?<>~/\f[]).
|
|
Here are some examples:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Blah\ blah\ [see\ \@doe99,\ pp.\ 33\-35;\ also\ \@smith04,\ chap.\ 1].
|
|
|
|
Blah\ blah\ [\@doe99,\ pp.\ 33\-35,\ 38\-39\ and\ *passim*].
|
|
|
|
Blah\ blah\ [\@smith04;\ \@doe99].
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
\f[C]pandoc\-citeproc\f[] detects locator terms in the CSL locale files.
|
|
Either abbreviated or unabbreviated forms are accepted.
|
|
In the \f[C]en\-US\f[] locale, locator terms can be written in either
|
|
singular or plural forms, as \f[C]book\f[], \f[C]bk.\f[]/\f[C]bks.\f[];
|
|
\f[C]chapter\f[], \f[C]chap.\f[]/\f[C]chaps.\f[]; \f[C]column\f[],
|
|
\f[C]col.\f[]/\f[C]cols.\f[]; \f[C]figure\f[],
|
|
\f[C]fig.\f[]/\f[C]figs.\f[]; \f[C]folio\f[],
|
|
\f[C]fol.\f[]/\f[C]fols.\f[]; \f[C]number\f[],
|
|
\f[C]no.\f[]/\f[C]nos.\f[]; \f[C]line\f[], \f[C]l.\f[]/\f[C]ll.\f[];
|
|
\f[C]note\f[], \f[C]n.\f[]/\f[C]nn.\f[]; \f[C]opus\f[],
|
|
\f[C]op.\f[]/\f[C]opp.\f[]; \f[C]page\f[], \f[C]p.\f[]/\f[C]pp.\f[];
|
|
\f[C]paragraph\f[], \f[C]para.\f[]/\f[C]paras.\f[]; \f[C]part\f[],
|
|
\f[C]pt.\f[]/\f[C]pts.\f[]; \f[C]section\f[],
|
|
\f[C]sec.\f[]/\f[C]secs.\f[]; \f[C]sub\ verbo\f[],
|
|
\f[C]s.v.\f[]/\f[C]s.vv.\f[]; \f[C]verse\f[], \f[C]v.\f[]/\f[C]vv.\f[];
|
|
\f[C]volume\f[], \f[C]vol.\f[]/\f[C]vols.\f[]; \f[C]¶\f[]/\f[C]¶¶\f[];
|
|
\f[C]§\f[]/\f[C]§§\f[].
|
|
If no locator term is used, "page" is assumed.
|
|
.PP
|
|
A minus sign (\f[C]\-\f[]) before the \f[C]\@\f[] will suppress mention
|
|
of the author in the citation.
|
|
This can be useful when the author is already mentioned in the text:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Smith\ says\ blah\ [\-\@smith04].
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
You can also write an in\-text citation, as follows:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\@smith04\ says\ blah.
|
|
|
|
\@smith04\ [p.\ 33]\ says\ blah.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
If the style calls for a list of works cited, it will be placed at the
|
|
end of the document.
|
|
Normally, you will want to end your document with an appropriate header:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
last\ paragraph...
|
|
|
|
#\ References
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The bibliography will be inserted after this header.
|
|
Note that the \f[C]unnumbered\f[] class will be added to this header, so
|
|
that the section will not be numbered.
|
|
.PP
|
|
If you want to include items in the bibliography without actually citing
|
|
them in the body text, you can define a dummy \f[C]nocite\f[] metadata
|
|
field and put the citations there:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-
|
|
nocite:\ |
|
|
\ \ \@item1,\ \@item2
|
|
\&...
|
|
|
|
\@item3
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
In this example, the document will contain a citation for \f[C]item3\f[]
|
|
only, but the bibliography will contain entries for \f[C]item1\f[],
|
|
\f[C]item2\f[], and \f[C]item3\f[].
|
|
.PP
|
|
For LaTeX or PDF output, you can also use \f[C]natbib\f[] or
|
|
\f[C]biblatex\f[] to render bibliography.
|
|
In order to do so, specify bibliography files as outlined above, and add
|
|
\f[C]\-\-natbib\f[] or \f[C]\-\-biblatex\f[] argument to \f[C]pandoc\f[]
|
|
invocation.
|
|
Bear in mind that bibliography files have to be in respective format
|
|
(either BibTeX or BibLaTeX).
|
|
.PP
|
|
For more information, see the pandoc\-citeproc man page.
|
|
.SS Non\-pandoc extensions
|
|
.PP
|
|
The following Markdown syntax extensions are not enabled by default in
|
|
pandoc, but may be enabled by adding \f[C]+EXTENSION\f[] to the format
|
|
name, where \f[C]EXTENSION\f[] is the name of the extension.
|
|
Thus, for example, \f[C]markdown+hard_line_breaks\f[] is Markdown with
|
|
hard line breaks.
|
|
.SS Extension: \f[C]lists_without_preceding_blankline\f[]
|
|
.PP
|
|
Allow a list to occur right after a paragraph, with no intervening blank
|
|
space.
|
|
.SS Extension: \f[C]hard_line_breaks\f[]
|
|
.PP
|
|
Causes all newlines within a paragraph to be interpreted as hard line
|
|
breaks instead of spaces.
|
|
.SS Extension: \f[C]ignore_line_breaks\f[]
|
|
.PP
|
|
Causes newlines within a paragraph to be ignored, rather than being
|
|
treated as spaces or as hard line breaks.
|
|
This option is intended for use with East Asian languages where spaces
|
|
are not used between words, but text is divided into lines for
|
|
readability.
|
|
.SS Extension: \f[C]east_asian_line_breaks\f[]
|
|
.PP
|
|
Causes newlines within a paragraph to be ignored, rather than being
|
|
treated as spaces or as hard line breaks, when they occur between two
|
|
East Asian wide characters.
|
|
This is a better choice than \f[C]ignore_line_breaks\f[] for texts that
|
|
include a mix of East Asian wide characters and other characters.
|
|
.SS Extension: \f[C]emoji\f[]
|
|
.PP
|
|
Parses textual emojis like \f[C]:smile:\f[] as Unicode emoticons.
|
|
.SS Extension: \f[C]tex_math_single_backslash\f[]
|
|
.PP
|
|
Causes anything between \f[C]\\(\f[] and \f[C]\\)\f[] to be interpreted
|
|
as inline TeX math, and anything between \f[C]\\[\f[] and \f[C]\\]\f[]
|
|
to be interpreted as display TeX math.
|
|
Note: a drawback of this extension is that it precludes escaping
|
|
\f[C](\f[] and \f[C][\f[].
|
|
.SS Extension: \f[C]tex_math_double_backslash\f[]
|
|
.PP
|
|
Causes anything between \f[C]\\\\(\f[] and \f[C]\\\\)\f[] to be
|
|
interpreted as inline TeX math, and anything between \f[C]\\\\[\f[] and
|
|
\f[C]\\\\]\f[] to be interpreted as display TeX math.
|
|
.SS Extension: \f[C]markdown_attribute\f[]
|
|
.PP
|
|
By default, pandoc interprets material inside block\-level tags as
|
|
Markdown.
|
|
This extension changes the behavior so that Markdown is only parsed
|
|
inside block\-level tags if the tags have the attribute
|
|
\f[C]markdown=1\f[].
|
|
.SS Extension: \f[C]mmd_title_block\f[]
|
|
.PP
|
|
Enables a MultiMarkdown style title block at the top of the document,
|
|
for example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
Title:\ \ \ My\ title
|
|
Author:\ \ John\ Doe
|
|
Date:\ \ \ \ September\ 1,\ 2008
|
|
Comment:\ This\ is\ a\ sample\ mmd\ title\ block,\ with
|
|
\ \ \ \ \ \ \ \ \ a\ field\ spanning\ multiple\ lines.
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
See the MultiMarkdown documentation for details.
|
|
If \f[C]pandoc_title_block\f[] or \f[C]yaml_metadata_block\f[] is
|
|
enabled, it will take precedence over \f[C]mmd_title_block\f[].
|
|
.SS Extension: \f[C]abbreviations\f[]
|
|
.PP
|
|
Parses PHP Markdown Extra abbreviation keys, like
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
*[HTML]:\ Hypertext\ Markup\ Language
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that the pandoc document model does not support abbreviations, so
|
|
if this extension is enabled, abbreviation keys are simply skipped (as
|
|
opposed to being parsed as paragraphs).
|
|
.SS Extension: \f[C]autolink_bare_uris\f[]
|
|
.PP
|
|
Makes all absolute URIs into links, even when not surrounded by pointy
|
|
braces \f[C]<...>\f[].
|
|
.SS Extension: \f[C]ascii_identifiers\f[]
|
|
.PP
|
|
Causes the identifiers produced by \f[C]auto_identifiers\f[] to be pure
|
|
ASCII.
|
|
Accents are stripped off of accented latin letters, and non\-latin
|
|
letters are omitted.
|
|
.SS Extension: \f[C]mmd_link_attributes\f[]
|
|
.PP
|
|
Parses multimarkdown style key\-value attributes on link and image
|
|
references.
|
|
This extension should not be confused with the \f[C]link_attributes\f[]
|
|
extension.
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
This\ is\ a\ reference\ ![image][ref]\ with\ multimarkdown\ attributes.
|
|
|
|
[ref]:\ http://path.to/image\ "Image\ title"\ width=20px\ height=30px
|
|
\ \ \ \ \ \ \ id=myId\ class="myClass1\ myClass2"
|
|
\f[]
|
|
.fi
|
|
.SS Extension: \f[C]mmd_header_identifiers\f[]
|
|
.PP
|
|
Parses multimarkdown style header identifiers (in square brackets, after
|
|
the header but before any trailing \f[C]#\f[]s in an ATX header).
|
|
.SS Extension: \f[C]compact_definition_lists\f[]
|
|
.PP
|
|
Activates the definition list syntax of pandoc 1.12.x and earlier.
|
|
This syntax differs from the one described above under Definition lists
|
|
in several respects:
|
|
.IP \[bu] 2
|
|
No blank line is required between consecutive items of the definition
|
|
list.
|
|
.IP \[bu] 2
|
|
To get a "tight" or "compact" list, omit space between consecutive
|
|
items; the space between a term and its definition does not affect
|
|
anything.
|
|
.IP \[bu] 2
|
|
Lazy wrapping of paragraphs is not allowed: the entire definition must
|
|
be indented four spaces.
|
|
.SS Markdown variants
|
|
.PP
|
|
In addition to pandoc\[aq]s extended Markdown, the following Markdown
|
|
variants are supported:
|
|
.TP
|
|
.B \f[C]markdown_phpextra\f[] (PHP Markdown Extra)
|
|
\f[C]footnotes\f[], \f[C]pipe_tables\f[], \f[C]raw_html\f[],
|
|
\f[C]markdown_attribute\f[], \f[C]fenced_code_blocks\f[],
|
|
\f[C]definition_lists\f[], \f[C]intraword_underscores\f[],
|
|
\f[C]header_attributes\f[], \f[C]link_attributes\f[],
|
|
\f[C]abbreviations\f[], \f[C]shortcut_reference_links\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]markdown_github\f[] (GitHub\-Flavored Markdown)
|
|
\f[C]pipe_tables\f[], \f[C]raw_html\f[], \f[C]fenced_code_blocks\f[],
|
|
\f[C]auto_identifiers\f[], \f[C]ascii_identifiers\f[],
|
|
\f[C]backtick_code_blocks\f[], \f[C]autolink_bare_uris\f[],
|
|
\f[C]intraword_underscores\f[], \f[C]strikeout\f[],
|
|
\f[C]hard_line_breaks\f[], \f[C]emoji\f[],
|
|
\f[C]shortcut_reference_links\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]markdown_mmd\f[] (MultiMarkdown)
|
|
\f[C]pipe_tables\f[], \f[C]raw_html\f[], \f[C]markdown_attribute\f[],
|
|
\f[C]mmd_link_attributes\f[], \f[C]raw_tex\f[],
|
|
\f[C]tex_math_double_backslash\f[], \f[C]intraword_underscores\f[],
|
|
\f[C]mmd_title_block\f[], \f[C]footnotes\f[], \f[C]definition_lists\f[],
|
|
\f[C]all_symbols_escapable\f[], \f[C]implicit_header_references\f[],
|
|
\f[C]auto_identifiers\f[], \f[C]mmd_header_identifiers\f[],
|
|
\f[C]shortcut_reference_links\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]markdown_strict\f[] (Markdown.pl)
|
|
\f[C]raw_html\f[]
|
|
.RS
|
|
.RE
|
|
.SS Extensions with formats other than Markdown
|
|
.PP
|
|
Some of the extensions discussed above can be used with formats other
|
|
than Markdown:
|
|
.IP \[bu] 2
|
|
\f[C]auto_identifiers\f[] can be used with \f[C]latex\f[], \f[C]rst\f[],
|
|
\f[C]mediawiki\f[], and \f[C]textile\f[] input (and is used by default).
|
|
.IP \[bu] 2
|
|
\f[C]tex_math_dollars\f[], \f[C]tex_math_single_backslash\f[], and
|
|
\f[C]tex_math_double_backslash\f[] can be used with \f[C]html\f[] input.
|
|
(This is handy for reading web pages formatted using MathJax, for
|
|
example.)
|
|
.SH PRODUCING SLIDE SHOWS WITH PANDOC
|
|
.PP
|
|
You can use pandoc to produce an HTML + javascript slide presentation
|
|
that can be viewed via a web browser.
|
|
There are five ways to do this, using S5, DZSlides, Slidy, Slideous, or
|
|
reveal.js.
|
|
You can also produce a PDF slide show using LaTeX \f[C]beamer\f[].
|
|
.PP
|
|
Here\[aq]s the Markdown source for a simple slide show,
|
|
\f[C]habits.txt\f[]:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
%\ Habits
|
|
%\ John\ Doe
|
|
%\ March\ 22,\ 2005
|
|
|
|
#\ In\ the\ morning
|
|
|
|
##\ Getting\ up
|
|
|
|
\-\ Turn\ off\ alarm
|
|
\-\ Get\ out\ of\ bed
|
|
|
|
##\ Breakfast
|
|
|
|
\-\ Eat\ eggs
|
|
\-\ Drink\ coffee
|
|
|
|
#\ In\ the\ evening
|
|
|
|
##\ Dinner
|
|
|
|
\-\ Eat\ spaghetti
|
|
\-\ Drink\ wine
|
|
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
|
|
![picture\ of\ spaghetti](images/spaghetti.jpg)
|
|
|
|
##\ Going\ to\ sleep
|
|
|
|
\-\ Get\ in\ bed
|
|
\-\ Count\ sheep
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
To produce an HTML/javascript slide show, simply type
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-t\ FORMAT\ \-s\ habits.txt\ \-o\ habits.html
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
where \f[C]FORMAT\f[] is either \f[C]s5\f[], \f[C]slidy\f[],
|
|
\f[C]slideous\f[], \f[C]dzslides\f[], or \f[C]revealjs\f[].
|
|
.PP
|
|
For Slidy, Slideous, reveal.js, and S5, the file produced by pandoc with
|
|
the \f[C]\-s/\-\-standalone\f[] option embeds a link to javascripts and
|
|
CSS files, which are assumed to be available at the relative path
|
|
\f[C]s5/default\f[] (for S5), \f[C]slideous\f[] (for Slideous),
|
|
\f[C]reveal.js\f[] (for reveal.js), or at the Slidy website at
|
|
\f[C]w3.org\f[] (for Slidy).
|
|
(These paths can be changed by setting the \f[C]slidy\-url\f[],
|
|
\f[C]slideous\-url\f[], \f[C]revealjs\-url\f[], or \f[C]s5\-url\f[]
|
|
variables; see Variables for slides, above.) For DZSlides, the
|
|
(relatively short) javascript and css are included in the file by
|
|
default.
|
|
.PP
|
|
With all HTML slide formats, the \f[C]\-\-self\-contained\f[] option can
|
|
be used to produce a single file that contains all of the data necessary
|
|
to display the slide show, including linked scripts, stylesheets,
|
|
images, and videos.
|
|
.PP
|
|
To produce a PDF slide show using beamer, type
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-t\ beamer\ habits.txt\ \-o\ habits.pdf
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that a reveal.js slide show can also be converted to a PDF by
|
|
printing it to a file from the browser.
|
|
.SS Structuring the slide show
|
|
.PP
|
|
By default, the \f[I]slide level\f[] is the highest header level in the
|
|
hierarchy that is followed immediately by content, and not another
|
|
header, somewhere in the document.
|
|
In the example above, level 1 headers are always followed by level 2
|
|
headers, which are followed by content, so 2 is the slide level.
|
|
This default can be overridden using the \f[C]\-\-slide\-level\f[]
|
|
option.
|
|
.PP
|
|
The document is carved up into slides according to the following rules:
|
|
.IP \[bu] 2
|
|
A horizontal rule always starts a new slide.
|
|
.IP \[bu] 2
|
|
A header at the slide level always starts a new slide.
|
|
.IP \[bu] 2
|
|
Headers \f[I]below\f[] the slide level in the hierarchy create headers
|
|
\f[I]within\f[] a slide.
|
|
.IP \[bu] 2
|
|
Headers \f[I]above\f[] the slide level in the hierarchy create "title
|
|
slides," which just contain the section title and help to break the
|
|
slide show into sections.
|
|
.IP \[bu] 2
|
|
A title page is constructed automatically from the document\[aq]s title
|
|
block, if present.
|
|
(In the case of beamer, this can be disabled by commenting out some
|
|
lines in the default template.)
|
|
.PP
|
|
These rules are designed to support many different styles of slide show.
|
|
If you don\[aq]t care about structuring your slides into sections and
|
|
subsections, you can just use level 1 headers for all each slide.
|
|
(In that case, level 1 will be the slide level.) But you can also
|
|
structure the slide show into sections, as in the example above.
|
|
.PP
|
|
Note: in reveal.js slide shows, if slide level is 2, a two\-dimensional
|
|
layout will be produced, with level 1 headers building horizontally and
|
|
level 2 headers building vertically.
|
|
It is not recommended that you use deeper nesting of section levels with
|
|
reveal.js.
|
|
.SS Incremental lists
|
|
.PP
|
|
By default, these writers produce lists that display "all at once." If
|
|
you want your lists to display incrementally (one item at a time), use
|
|
the \f[C]\-i\f[] option.
|
|
If you want a particular list to depart from the default (that is, to
|
|
display incrementally without the \f[C]\-i\f[] option and all at once
|
|
with the \f[C]\-i\f[] option), put it in a block quote:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
>\ \-\ Eat\ spaghetti
|
|
>\ \-\ Drink\ wine
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
In this way incremental and nonincremental lists can be mixed in a
|
|
single document.
|
|
.SS Inserting pauses
|
|
.PP
|
|
You can add "pauses" within a slide by including a paragraph containing
|
|
three dots, separated by spaces:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ Slide\ with\ a\ pause
|
|
|
|
content\ before\ the\ pause
|
|
|
|
\&.\ .\ .
|
|
|
|
content\ after\ the\ pause
|
|
\f[]
|
|
.fi
|
|
.SS Styling the slides
|
|
.PP
|
|
You can change the style of HTML slides by putting customized CSS files
|
|
in \f[C]$DATADIR/s5/default\f[] (for S5), \f[C]$DATADIR/slidy\f[] (for
|
|
Slidy), or \f[C]$DATADIR/slideous\f[] (for Slideous), where
|
|
\f[C]$DATADIR\f[] is the user data directory (see
|
|
\f[C]\-\-data\-dir\f[], above).
|
|
The originals may be found in pandoc\[aq]s system data directory
|
|
(generally \f[C]$CABALDIR/pandoc\-VERSION/s5/default\f[]).
|
|
Pandoc will look there for any files it does not find in the user data
|
|
directory.
|
|
.PP
|
|
For dzslides, the CSS is included in the HTML file itself, and may be
|
|
modified there.
|
|
.PP
|
|
All reveal.js configuration options can be set through variables.
|
|
For example, themes can be used by setting the \f[C]theme\f[] variable:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-V\ theme=moon
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Or you can specify a custom stylesheet using the \f[C]\-\-css\f[]
|
|
option.
|
|
.PP
|
|
To style beamer slides, you can specify a \f[C]theme\f[],
|
|
\f[C]colortheme\f[], \f[C]fonttheme\f[], \f[C]innertheme\f[], and
|
|
\f[C]outertheme\f[], using the \f[C]\-V\f[] option:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-t\ beamer\ habits.txt\ \-V\ theme:Warsaw\ \-o\ habits.pdf
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Note that header attributes will turn into slide attributes (on a
|
|
\f[C]<div>\f[] or \f[C]<section>\f[]) in HTML slide formats, allowing
|
|
you to style individual slides.
|
|
In beamer, the only header attribute that affects slides is the
|
|
\f[C]allowframebreaks\f[] class, which sets the
|
|
\f[C]allowframebreaks\f[] option, causing multiple slides to be created
|
|
if the content overfills the frame.
|
|
This is recommended especially for bibliographies:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ References\ {.allowframebreaks}
|
|
\f[]
|
|
.fi
|
|
.SS Speaker notes
|
|
.PP
|
|
reveal.js has good support for speaker notes.
|
|
You can add notes to your Markdown document thus:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<div\ class="notes">
|
|
This\ is\ my\ note.
|
|
|
|
\-\ It\ can\ contain\ Markdown
|
|
\-\ like\ this\ list
|
|
|
|
</div>
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
To show the notes window, press \f[C]s\f[] while viewing the
|
|
presentation.
|
|
Notes are not yet supported for other slide formats, but the notes will
|
|
not appear on the slides themselves.
|
|
.SS Frame attributes in beamer
|
|
.PP
|
|
Sometimes it is necessary to add the LaTeX \f[C][fragile]\f[] option to
|
|
a frame in beamer (for example, when using the \f[C]minted\f[]
|
|
environment).
|
|
This can be forced by adding the \f[C]fragile\f[] class to the header
|
|
introducing the slide:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
#\ Fragile\ slide\ {.fragile}
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
All of the other frame attributes described in Section 8.1 of the Beamer
|
|
User\[aq]s Guide may also be used: \f[C]allowdisplaybreaks\f[],
|
|
\f[C]allowframebreaks\f[], \f[C]b\f[], \f[C]c\f[], \f[C]t\f[],
|
|
\f[C]environment\f[], \f[C]label\f[], \f[C]plain\f[], \f[C]shrink\f[].
|
|
.SH CREATING EPUBS WITH PANDOC
|
|
.SS EPUB Metadata
|
|
.PP
|
|
EPUB metadata may be specified using the \f[C]\-\-epub\-metadata\f[]
|
|
option, but if the source document is Markdown, it is better to use a
|
|
YAML metadata block.
|
|
Here is an example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
\-\-\-
|
|
title:
|
|
\-\ type:\ main
|
|
\ \ text:\ My\ Book
|
|
\-\ type:\ subtitle
|
|
\ \ text:\ An\ investigation\ of\ metadata
|
|
creator:
|
|
\-\ role:\ author
|
|
\ \ text:\ John\ Smith
|
|
\-\ role:\ editor
|
|
\ \ text:\ Sarah\ Jones
|
|
identifier:
|
|
\-\ scheme:\ DOI
|
|
\ \ text:\ doi:10.234234.234/33
|
|
publisher:\ \ My\ Press
|
|
rights:\ ©\ 2007\ John\ Smith,\ CC\ BY\-NC
|
|
\&...
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
The following fields are recognized:
|
|
.TP
|
|
.B \f[C]identifier\f[]
|
|
Either a string value or an object with fields \f[C]text\f[] and
|
|
\f[C]scheme\f[].
|
|
Valid values for \f[C]scheme\f[] are \f[C]ISBN\-10\f[],
|
|
\f[C]GTIN\-13\f[], \f[C]UPC\f[], \f[C]ISMN\-10\f[], \f[C]DOI\f[],
|
|
\f[C]LCCN\f[], \f[C]GTIN\-14\f[], \f[C]ISBN\-13\f[],
|
|
\f[C]Legal\ deposit\ number\f[], \f[C]URN\f[], \f[C]OCLC\f[],
|
|
\f[C]ISMN\-13\f[], \f[C]ISBN\-A\f[], \f[C]JP\f[], \f[C]OLCC\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]title\f[]
|
|
Either a string value, or an object with fields \f[C]file\-as\f[] and
|
|
\f[C]type\f[], or a list of such objects.
|
|
Valid values for \f[C]type\f[] are \f[C]main\f[], \f[C]subtitle\f[],
|
|
\f[C]short\f[], \f[C]collection\f[], \f[C]edition\f[],
|
|
\f[C]extended\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]creator\f[]
|
|
Either a string value, or an object with fields \f[C]role\f[],
|
|
\f[C]file\-as\f[], and \f[C]text\f[], or a list of such objects.
|
|
Valid values for \f[C]role\f[] are MARC relators, but pandoc will
|
|
attempt to translate the human\-readable versions (like "author" and
|
|
"editor") to the appropriate marc relators.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]contributor\f[]
|
|
Same format as \f[C]creator\f[].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]date\f[]
|
|
A string value in \f[C]YYYY\-MM\-DD\f[] format.
|
|
(Only the year is necessary.) Pandoc will attempt to convert other
|
|
common date formats.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]lang\f[] (or legacy: \f[C]language\f[])
|
|
A string value in BCP 47 format.
|
|
Pandoc will default to the local language if nothing is specified.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]subject\f[]
|
|
A string value or a list of such values.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]description\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]type\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]format\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]relation\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]coverage\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]rights\f[]
|
|
A string value.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]cover\-image\f[]
|
|
A string value (path to cover image).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]stylesheet\f[]
|
|
A string value (path to CSS stylesheet).
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[C]page\-progression\-direction\f[]
|
|
Either \f[C]ltr\f[] or \f[C]rtl\f[].
|
|
Specifies the \f[C]page\-progression\-direction\f[] attribute for the
|
|
\f[C]spine\f[] element.
|
|
.RS
|
|
.RE
|
|
.SS Linked media
|
|
.PP
|
|
By default, pandoc will download linked media (including audio and
|
|
video) and include it in the EPUB container, yielding a completely
|
|
self\-contained EPUB.
|
|
If you want to link to external media resources instead, use raw HTML in
|
|
your source and add \f[C]data\-external="1"\f[] to the tag with the
|
|
\f[C]src\f[] attribute.
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
<audio\ controls="1">
|
|
\ \ <source\ src="http://example.com/music/toccata.mp3"
|
|
\ \ \ \ \ \ \ \ \ \ data\-external="1"\ type="audio/mpeg">
|
|
\ \ </source>
|
|
</audio>
|
|
\f[]
|
|
.fi
|
|
.SH LITERATE HASKELL SUPPORT
|
|
.PP
|
|
If you append \f[C]+lhs\f[] (or \f[C]+literate_haskell\f[]) to an
|
|
appropriate input or output format (\f[C]markdown\f[],
|
|
\f[C]markdown_strict\f[], \f[C]rst\f[], or \f[C]latex\f[] for input or
|
|
output; \f[C]beamer\f[], \f[C]html\f[] or \f[C]html5\f[] for output
|
|
only), pandoc will treat the document as literate Haskell source.
|
|
This means that
|
|
.IP \[bu] 2
|
|
In Markdown input, "bird track" sections will be parsed as Haskell code
|
|
rather than block quotations.
|
|
Text between \f[C]\\begin{code}\f[] and \f[C]\\end{code}\f[] will also
|
|
be treated as Haskell code.
|
|
For ATX\-style headers the character \[aq]=\[aq] will be used instead of
|
|
\[aq]#\[aq].
|
|
.IP \[bu] 2
|
|
In Markdown output, code blocks with classes \f[C]haskell\f[] and
|
|
\f[C]literate\f[] will be rendered using bird tracks, and block
|
|
quotations will be indented one space, so they will not be treated as
|
|
Haskell code.
|
|
In addition, headers will be rendered setext\-style (with underlines)
|
|
rather than ATX\-style (with \[aq]#\[aq] characters).
|
|
(This is because ghc treats \[aq]#\[aq] characters in column 1 as
|
|
introducing line numbers.)
|
|
.IP \[bu] 2
|
|
In restructured text input, "bird track" sections will be parsed as
|
|
Haskell code.
|
|
.IP \[bu] 2
|
|
In restructured text output, code blocks with class \f[C]haskell\f[]
|
|
will be rendered using bird tracks.
|
|
.IP \[bu] 2
|
|
In LaTeX input, text in \f[C]code\f[] environments will be parsed as
|
|
Haskell code.
|
|
.IP \[bu] 2
|
|
In LaTeX output, code blocks with class \f[C]haskell\f[] will be
|
|
rendered inside \f[C]code\f[] environments.
|
|
.IP \[bu] 2
|
|
In HTML output, code blocks with class \f[C]haskell\f[] will be rendered
|
|
with class \f[C]literatehaskell\f[] and bird tracks.
|
|
.PP
|
|
Examples:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-f\ markdown+lhs\ \-t\ html
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
reads literate Haskell source formatted with Markdown conventions and
|
|
writes ordinary HTML (without bird tracks).
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-f\ markdown+lhs\ \-t\ html+lhs
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
writes HTML with the Haskell code in bird tracks, so it can be copied
|
|
and pasted as literate Haskell source.
|
|
.SH SYNTAX HIGHLIGHTING
|
|
.PP
|
|
Pandoc will automatically highlight syntax in fenced code blocks that
|
|
are marked with a language name.
|
|
The Haskell library highlighting\-kate is used for highlighting, which
|
|
works in HTML, Docx, and LaTeX/PDF output.
|
|
The color scheme can be selected using the \f[C]\-\-highlight\-style\f[]
|
|
option.
|
|
The default color scheme is \f[C]pygments\f[], which imitates the
|
|
default color scheme used by the Python library pygments, but pygments
|
|
is not actually used to do the highlighting.
|
|
.PP
|
|
To see a list of language names that pandoc will recognize, type
|
|
\f[C]pandoc\ \-\-version\f[].
|
|
.PP
|
|
To disable highlighting, use the \f[C]\-\-no\-highlight\f[] option.
|
|
.SH CUSTOM WRITERS
|
|
.PP
|
|
Pandoc can be extended with custom writers written in lua.
|
|
(Pandoc includes a lua interpreter, so lua need not be installed
|
|
separately.)
|
|
.PP
|
|
To use a custom writer, simply specify the path to the lua script in
|
|
place of the output format.
|
|
For example:
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-t\ data/sample.lua
|
|
\f[]
|
|
.fi
|
|
.PP
|
|
Creating a custom writer requires writing a lua function for each
|
|
possible element in a pandoc document.
|
|
To get a documented example which you can modify according to your
|
|
needs, do
|
|
.IP
|
|
.nf
|
|
\f[C]
|
|
pandoc\ \-\-print\-default\-data\-file\ sample.lua
|
|
\f[]
|
|
.fi
|
|
.SH AUTHORS
|
|
.PP
|
|
© 2006\-2015 John MacFarlane (jgm\@berkeley.edu).
|
|
Released under the GPL, version 2 or greater.
|
|
This software carries no warranty of any kind.
|
|
(See COPYRIGHT for full copyright and warranty notices.)
|
|
.PP
|
|
Contributors include Aaron Wolen, Albert Krewinkel, Alex Vong, Alexander
|
|
Kondratskiy, Alexander Sulfrian, Alexander V Vershilov, Alfred
|
|
Wechselberger, Andreas Lööw, Andrew Dunning, Antoine Latter, Arata
|
|
Mizuki, Arlo O\[aq]Keeffe, Artyom Kazak, Ben Gamari, Beni
|
|
Cherniavsky\-Paskin, Benoit Schweblin, Bjorn Buckwalter, Bradley Kuhn,
|
|
Brent Yorgey, Bryan O\[aq]Sullivan, B.
|
|
Scott Michel, Caleb McDaniel, Calvin Beck, Carlos Sosa, Chris Black,
|
|
Christian Conkle, Christoffer Ackelman, Christoffer Sawicki, Clare
|
|
Macrae, Clint Adams, Conal Elliott, Craig S.
|
|
Bosma, csforste, Daniel Bergey, Daniel T.
|
|
Staal, David Lazar, David Röthlisberger, Denis Laxalde, Douglas Calvert,
|
|
Douglas F.
|
|
Calvert, Emanuel Evans, Emily Eisenberg, Eric Kow, Eric Seidel, Florian
|
|
Eitel, François Gannaz, Freiric Barral, Freirich Raabe, Fyodor
|
|
Sheremetyev, Gabor Pali, Gavin Beatty, Gottfried Haider, Greg Maslov,
|
|
Grégory Bataille, Greg Rundlett, gwern, Gwern Branwen, Hans\-Peter
|
|
Deifel, Henrik Tramberend, Henry de Valence, ickc, Ilya V.
|
|
Portnov, infinity0x, Ivo Clarysse, Jaime Marquínez Ferrándiz, James
|
|
Aspnes, Jamie F.
|
|
Olson, Jan Larres, Jan Schulz, Jason Ronallo, Jeff Arnold, Jeff
|
|
Runningen, Jens Petersen, Jérémy Bobbio, Jesse Rosenthal, J.
|
|
Lewis Muir, Joe Hillenbrand, John MacFarlane, Jonas Smedegaard, Jonathan
|
|
Daugherty, Josef Svenningsson, Jose Luis Duran, Julien Cretel, Juliusz
|
|
Gonera, Justin Bogner, Kelsey Hightower, Kolen Cheung, Konstantin Zudov,
|
|
Kristof Bastiaensen, Lars\-Dominik Braun, Luke Plant, Mark Szepieniec,
|
|
Mark Wright, Martin Linn, Masayoshi Takahashi, Matej Kollar, Mathias
|
|
Schenner, Mathieu Duponchelle, Matthew Eddey, Matthew Pickering,
|
|
Matthias C.
|
|
M.
|
|
Troffaes, Mauro Bieg, Max Bolingbroke, Max Rydahl Andersen, Merijn
|
|
Verstraaten, Michael Beaumont, Michael Chladek, Michael Snoyman, Michael
|
|
Thompson, MinRK, Nathan Gass, Neil Mayhew, Nick Bart, Nicolas Kaiser,
|
|
Nikolay Yakimov, nkalvi, Ophir Lifshitz, Pablo Rodríguez, Paulo
|
|
Tanimoto, Paul Rivier, Peter Wang, Philippe Ombredanne, Phillip Alday,
|
|
Prayag Verma, Puneeth Chaganti, qerub, Ralf Stephan, Raniere Silva,
|
|
Recai Oktaş, robabla, rodja.trappe, rski, RyanGlScott, Scott Morrison,
|
|
Sergei Trofimovich, Sergey Astanin, Shahbaz Youssefi, Shaun Attfield,
|
|
Sidarth Kapur, shreevatsa.public, Simon Hengel, Sumit Sahrawat,
|
|
takahashim, thsutton, Tim Lin, Timothy Humphries, Tiziano Müller, Thomas
|
|
Hodgson, Todd Sifleet, Tom Leese, Uli Köhler, Václav Zeman, Viktor
|
|
Kronvall, Vincent, Wikiwide, and Xavier Olive.
|
|
.PP
|
|
The Pandoc source code and all documentation may be downloaded
|
|
from <http://pandoc.org>.
|