Pandoc User’s Guide
Synopsis
pandoc
[options] [input-file]…Description
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
beamer
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 PDFoutput on systems where LaTeX, ConTeXt, or wkhtmltopdf
is installed.
Pandoc’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’s Markdown, can be disabled using the
markdown_strict
input or output format.)
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.
Because pandoc’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’s simple document model. While conversions from pandoc’s Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc’s Markdown can be expected to be lossy.
Using pandoc
If no input-file is specified, input is read from stdin. Otherwise, the input-files are concatenated (with a blank line between each) and used as input. Output goes to stdout by default (though output to stdout is disabled for the
odt
, docx
, epub
, and epub3
output formats). For output to a file, use the -o
option:pandoc -o output.html input.txt
By default, pandoc produces a document fragment, not a standalone document with a proper header and footer. To produce a standalone document, use the
-s
or --standalone
flag:pandoc -s -o output.html input.txt
For more information on how standalone documents are produced, see Templates, below.
Instead of a file, an absolute URI may be given. In this case pandoc will fetch the content using HTTP:
pandoc -f html -t markdown http://www.fsf.org
If multiple input files are given,
pandoc
will concatenate them all (with blank lines between them) before parsing. This feature is disabled for binary input formats such as EPUB
, odt
, and docx
.
The format of the input and output can be specified explicitly using command-line options. The input format can be specified using the
-r/--read
or -f/--from
options, the output format using the -w/--write
or -t/--to
options. Thus, to convert hello.txt
from Markdown to LaTeX, you could type:pandoc -f markdown -t latex hello.txt
To convert
hello.html
from HTML to Markdown:pandoc -f html -t markdown hello.html
Supported output formats are listed below under the
-t/--to
option. Supported input formats are listed below under the -f/--from
option. Note that the rst
, textile
, latex
, and html
readers are not complete; there are some constructs that they do not parse.
If the input or output format is not specified explicitly,
pandoc
will attempt to guess it from the extensions of the input and output filenames. Thus, for example,pandoc -o hello.tex hello.txt
will convert
hello.txt
from Markdown to LaTeX. If no output file is specified (so that output goes to stdout), or if the output file’s extension is unknown, the output format will default to HTML. If no input file is specified (so that input comes from stdin), or if the input files’ extensions are unknown, the input format will be assumed to be Markdown unless explicitly specified.
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
iconv
:iconv -t utf-8 input.txt | pandoc | iconv -f utf-8
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
-s/--standalone
option.Creating a PDF
To produce a PDF, specify an output file with a
.pdf
extension. By default, pandoc will use LaTeX to convert it to PDF:pandoc test.txt -o test.pdf
Production of a PDF requires that a LaTeX engine be installed (see
--latex-engine
, below), and assumes that the following LaTeX packages are available: amsfonts
, amsmath
, lm
, ifxetex
, ifluatex
, eurosym
, listings
(if the --listings
option is used), fancyvrb
, longtable
, booktabs
, graphicx
and grffile
(if the document contains images), hyperref
, ulem
, geometry
(with the geometry
variable set), setspace
(with linestretch
), and babel
(with lang
). The use of xelatex
or lualatex
as the LaTeX engine requires fontspec
; xelatex
uses mathspec
, polyglossia
(with lang
), xecjk
, and bidi
(with the dir
variable set). The upquote
and microtype
packages are used if available, and csquotes
will be used for smart punctuation if added to the template or included in any header file. The natbib
, biblatex
, bibtex
, and biber
packages can optionally be used for citation rendering. These are included with all recent versions of TeX Live.
Alternatively, pandoc can use ConTeXt or
wkhtmltopdf
to create a PDF. To do this, specify an output file with a .pdf
extension, as before, but add -t context
or -t html5
to the command line.
PDF output can be controlled using variables for LaTeX (if LaTeX is used) and variables for ConTeXt(if ConTeXt is used). If
wkhtmltopdf
is used, then the variables margin-left
, margin-right
, margin-top
, margin-bottom
, and papersize
will affect the output, as will --css
.Options
General options
-f
FORMAT,-r
FORMAT,--from=
FORMAT,--read=
FORMAT- Specify input format. FORMAT can be
native
(native Haskell),json
(JSON version of native AST),markdown
(pandoc’s extended Markdown),markdown_strict
(original unextended Markdown),markdown_phpextra
(PHP Markdown Extra),markdown_github
(GitHub-Flavored Markdown),markdown_mmd
(MultiMarkdown),commonmark
(CommonMark Markdown),textile
(Textile),rst
(reStructuredText),html
(HTML),docbook
(DocBook),t2t
(txt2tags),docx
(docx),odt
(ODT),epub
(EPUB),opml
(OPML),org
(Emacs Org mode),mediawiki
(MediaWiki markup),twiki
(TWiki markup),haddock
(Haddock markup), orlatex
(LaTeX). If+lhs
is appended tomarkdown
,rst
,latex
, orhtml
, 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+EXTENSION
or-EXTENSION
to the format name. So, for example,markdown_strict+footnotes+definition_lists
is strict Markdown with footnotes and definition lists enabled, andmarkdown-pipe_tables+hard_line_breaks
is pandoc’s Markdown without pipe tables and with hard line breaks. See Pandoc’s Markdown, below, for a list of extensions and their names. -t
FORMAT,-w
FORMAT,--to=
FORMAT,--write=
FORMAT- Specify output format. FORMAT can be
native
(native Haskell),json
(JSON version of native AST),plain
(plain text),markdown
(pandoc’s extended Markdown),markdown_strict
(original unextended Markdown),markdown_phpextra
(PHP Markdown Extra),markdown_github
(GitHub-Flavored Markdown),markdown_mmd
(MultiMarkdown),commonmark
(CommonMark Markdown),rst
(reStructuredText),html
(XHTML),html5
(HTML5),latex
(LaTeX),beamer
(LaTeX beamer slide show),context
(ConTeXt),man
(groff man),mediawiki
(MediaWiki markup),dokuwiki
(DokuWiki markup),zimwiki
(ZimWiki markup),textile
(Textile),org
(Emacs Org mode),texinfo
(GNU Texinfo),opml
(OPML),docbook
(DocBook 4),docbook5
(DocBook 5),opendocument
(OpenDocument),odt
(OpenOffice text document),docx
(Word docx),haddock
(Haddock markup),rtf
(rich text format),epub
(EPUB v2 book),epub3
(EPUB v3),fb2
(FictionBook2 e-book),asciidoc
(AsciiDoc),icml
(InDesign ICML),tei
(TEI Simple),slidy
(Slidy HTML and javascript slide show),slideous
(Slideous HTML and javascript slide show),dzslides
(DZSlides HTML5 + javascript slide show),revealjs
(reveal.js HTML5 + javascript slide show),s5
(S5 HTML and javascript slide show), or the path of a custom lua writer (see Custom writers, below). Note thatodt
,epub
, andepub3
output will not be directed to stdout; an output filename must be specified using the-o/--output
option. If+lhs
is appended tomarkdown
,rst
,latex
,beamer
,html
, orhtml5
, 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+EXTENSION
or-EXTENSION
to the format name, as described above under-f
. -o
FILE,--output=
FILE- Write output to FILE instead of stdout. If FILE is
-
, output will go to stdout. (Exception: if the output format isodt
,docx
,epub
, orepub3
, output to stdout is disabled.) --data-dir=
DIRECTORY- 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:
$HOME/.pandoc
in Windows XP:C:\Documents And Settings\USERNAME\Application Data\pandoc
and in Windows Vista or later:C:\Users\USERNAME\AppData\Roaming\pandoc
You can find the default user data directory on your system by looking at the output ofpandoc --version
. Areference.odt
,reference.docx
,epub.css
,templates
,slidy
,slideous
, ors5
directory placed in this directory will override pandoc’s normal defaults. --bash-completion
- Generate a bash completion script. To enable bash completion with pandoc, add this to your
.bashrc
:eval "$(pandoc --bash-completion)"
--verbose
- Give verbose debugging output. Currently this only has an effect with PDF output.
-v
,--version
- Print version.
-h
,--help
- Show usage message.
Reader options
-R
,--parse-raw
- 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 commands, even if
-R
is not specified.) -S
,--smart
- Produce typographically correct output, converting straight quotes to curly quotes,
---
to em-dashes,--
to en-dashes, and...
to ellipses. Nonbreaking spaces are inserted after certain abbreviations, such as “Mr.” (Note: This option is selected automatically when the output format islatex
orcontext
, unless--no-tex-ligatures
is used. It has no effect forlatex
input.) --old-dashes
- Selects the pandoc <= 1.8.2.1 behavior for parsing smart dashes:
-
before a numeral is an en-dash, and--
is an em-dash. This option is selected automatically fortextile
input. --base-header-level=
NUMBER- Specify the base level for headers (defaults to 1).
--indented-code-classes=
CLASSES- Specify classes to use for indented code blocks–for example,
perl,numberLines
orhaskell
. Multiple classes may be separated by spaces or commas. --default-image-extension=
EXTENSION- 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.
--file-scope
- 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
--file-scope
. --filter=
EXECUTABLE- 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’s own JSON input and output. The name of the output format will be passed to the filter as the first argument. Hence,
pandoc --filter ./caps.py -t latex
is equivalent topandoc -t json | ./caps.py latex | pandoc -f json -t latex
The latter form may be useful for debugging filters.Filters may be written in any language.Text.Pandoc.JSON
exportstoJSONFilter
to facilitate writing filters in Haskell. Those who would prefer to write filters in python can use the modulepandocfilters
, installable from PyPI. There are also pandoc filter libraries in PHP, perl, and javascript/node.js.Note that the EXECUTABLE will be sought in the user’sPATH
, 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./
. -M
KEY[=
VAL],--metadata=
KEY[:
VAL]- Set the metadata field KEY to the value VAL. 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
--variable
,--metadata
causes template variables to be set. But unlike--variable
,--metadata
affects the metadata of the underlying document (which is accessible from filters and may be printed in some output formats). --normalize
- Normalize the document after reading: merge adjacent
Str
orEmph
elements, for example, and remove repeatedSpace
s. -p
,--preserve-tabs
- 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.
--tab-stop=
NUMBER- Specify the number of spaces per tab (default is 4).
--track-changes=accept
|reject
|all
- Specifies what to do with insertions, deletions, and comments produced by the MS Word “Track Changes” feature.
accept
(the default), inserts all insertions, and ignores all deletions.reject
inserts all deletions and ignores insertions. Bothaccept
andreject
ignore comments.all
puts in insertions, deletions, and comments, wrapped in spans withinsertion
,deletion
,comment-start
, andcomment-end
classes, respectively. The author and time of change is included.all
is useful for scripting: only accepting changes from a certain reviewer, say, or before a certain date. This option only affects the docx reader. --extract-media=
DIR- Extract images and other media contained in a docx or epub container to the path DIR, 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.
General writer options
-s
,--standalone
- 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
pdf
,epub
,epub3
,fb2
,docx
, andodt
output. --template=
FILE- Use FILE as a custom template for the generated document. Implies
--standalone
. 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--template=special
looks forspecial.html
for HTML output. If the template is not found, pandoc will search for it in thetemplates
subdirectory of the user data directory (see--data-dir
). If this option is not used, a default template appropriate for the output format will be used (see-D/--print-default-template
). -V
KEY[=
VAL],--variable=
KEY[:
VAL]- Set the template variable KEY to the value VAL when rendering the document in standalone mode. This is generally only useful when the
--template
option is used to specify a custom template, since pandoc automatically sets the variables used in the default templates. If no VAL is specified, the key will be given the valuetrue
. -D
FORMAT,--print-default-template=
FORMAT- Print the system default template for an output FORMAT. (See
-t
for a list of possible FORMATs.) Templates in the user data directory are ignored. --print-default-data-file=
FILE- Print a system default data file. Files in the user data directory are ignored.
--dpi
=NUMBER- 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).
--wrap=[auto|none|preserve]
- Determine how text is wrapped in the output (the source code, not the rendered version). With
auto
(the default), pandoc will attempt to wrap lines to the column width specified by--columns
(default 80). Withnone
, pandoc will not wrap lines at all. Withpreserve
, 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). --no-wrap
- Deprecated synonym for
--wrap=none
. --columns=
NUMBER- Specify length of lines in characters. This affects text wrapping in the generated source code (see
--wrap
). It also affects calculation of column widths for plain text tables (see Tables below). --toc
,--table-of-contents
- Include an automatically generated table of contents (or, in the case of
latex
,context
,docx
, andrst
, an instruction to create one) in the output document. This option has no effect onman
,docbook
,docbook5
,slidy
,slideous
,s5
, orodt
output. --toc-depth=
NUMBER- 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).
--no-highlight
- Disables syntax highlighting for code blocks and inlines, even when a language attribute is given.
--highlight-style=
STYLE- Specifies the coloring style to be used in highlighted source code. Options are
pygments
(the default),kate
,monochrome
,espresso
,zenburn
,haddock
, andtango
. For more information on syntax highlighting in pandoc, see Syntax highlighting, below. -H
FILE,--include-in-header=
FILE- Include contents of FILE, 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
--standalone
. -B
FILE,--include-before-body=
FILE- Include contents of FILE, verbatim, at the beginning of the document body (e.g. after the
<body>
tag in HTML, or the\begin{document}
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--standalone
. -A
FILE,--include-after-body=
FILE- Include contents of FILE, verbatim, at the end of the document body (before the
</body>
tag in HTML, or the\end{document}
command in LaTeX). This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies--standalone
.
Options affecting specific writers
--self-contained
- Produce a standalone HTML file with no external dependencies, using
data:
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, includinghtml
,html5
,html+lhs
,html5+lhs
,s5
,slidy
,slideous
,dzslides
, andrevealjs
. 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,--self-contained
does not work with--mathjax
, and some advanced features (e.g. zoom or speaker notes) may not work in an offline “self-contained”reveal.js
slide show. --html-q-tags
- Use
<q>
tags for quotes in HTML. --ascii
- 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).
--reference-links
- Use reference-style links, rather than inline links, in writing Markdown or reStructuredText. By default inline links are used.
--atx-headers
- 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.
--chapters
- Treat top-level headers as chapters in LaTeX, ConTeXt, and DocBook output. When the LaTeX document class is set to
report
,book
, ormemoir
(unless thearticle
option is specified), this option is implied. Ifbeamer
is the output format, top-level headers will become\part{..}
. -N
,--number-sections
- Number section headings in LaTeX, ConTeXt, HTML, or EPUB output. By default, sections are not numbered. Sections with class
unnumbered
will never be numbered, even if--number-sections
is specified. --number-offset=
NUMBER[,
NUMBER,
…]- 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
--number-offset=5
. If your document starts with a level-2 header which you want to be numbered “1.5”, specify--number-offset=1,4
. Offsets are 0 by default. Implies--number-sections
. --no-tex-ligatures
- Do not use the TeX ligatures for quotation marks, apostrophes, and dashes (
`...'
,``..''
,--
,---
) when writing or reading LaTeX or ConTeXt. In reading LaTeX, parse the characters`
,'
, and-
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--smart
is selected automatically for LaTeX and ConTeXt output, but it must be specified explicitly if--no-tex-ligatures
is selected. If you use literal curly quotes, dashes, and ellipses in your source, then you may want to use--no-tex-ligatures
without--smart
. --listings
- Use the
listings
package for LaTeX code blocks -i
,--incremental
- Make list items in slide shows display incrementally (one by one). The default is for lists to be displayed all at once.
--slide-level=
NUMBER- Specifies that headers with the specified level create slides (for
beamer
,s5
,slidy
,slideous
,dzslides
). 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. --section-divs
- Wrap sections in
<div>
tags (or<section>
tags in HTML5), and attach identifiers to the enclosing<div>
(or<section>
) rather than the header itself. See Header identifiers, below. --email-obfuscation=none
|javascript
|references
- Specify a method for obfuscating
mailto:
links in HTML documents.none
leavesmailto:
links as they are.javascript
obfuscates them using javascript.references
obfuscates them by printing their letters as decimal or hexadecimal character references. The default isnone
. --id-prefix=
STRING- 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.
-T
STRING,--title-prefix=
STRING- Specify STRING 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
--standalone
. -c
URL,--css=
URL- Link to a CSS style sheet. This option can be used repeatedly to include multiple files. They will be included in the order specified.
--reference-odt=
FILE- 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
reference.odt
in the user data directory (see--data-dir
). If this is not found either, sensible defaults will be used. --reference-docx=
FILE- 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
reference.docx
in the user data directory (see--data-dir
). 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. --epub-stylesheet=
FILE- Use the specified CSS file to style the EPUB. If no stylesheet is specified, pandoc will look for a file
epub.css
in the user data directory (see--data-dir
). If it is not found there, sensible defaults will be used. --epub-cover-image=
FILE- 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
cover-image
in a YAML metadata block (see EPUB Metadata, below). --epub-metadata=
FILE- Look in the specified XML file for metadata for the EPUB. The file should contain a series of Dublin Core elements. For example:
<dc:rights>Creative Commons</dc:rights> <dc:language>es-AR</dc:language>
By default, pandoc will include the following metadata elements:<dc:title>
(from the document title),<dc:creator>
(from the document authors),<dc:date>
(from the document date, which should be in ISO 8601 format),<dc:language>
(from thelang
variable, or, if is not set, the locale), and<dc:identifier id="BookId">
(a randomly generated UUID). Any of these may be overridden by elements in the metadata file.Note: if the source document is Markdown, a YAML metadata block in the document can be used instead. See below under EPUB Metadata.from http://pandoc.org/MANUAL.html,http://pandoc.org/MANUAL.html#pandocs-markdown
-------------------------
Universal markup converter http://johnmacfarlane.net/pandoc
from https://github.com/jgm/pandoc