To produce a custom reference.odt, first get a copy of the default reference.odt: pandoc -o custom-reference.odt --print-default-data-file reference.odt. Pandoc by itself cannot easily cross-reference these, but it can leverage the pandoc-crossreffilter to do the automatic numbering and cross-referencing of sections, figures, and tables. The contents of the reference ODT are ignored, but its stylesheets are used in the new ODT. Set the template variable KEY to the value VAL when rendering the document in standalone mode. In the context output format this enables the use of Natural Tables (TABLE) instead of the default Extreme Tables (xtables). The default algorithm used to derive the identifier from the heading text is: These rules should, in most cases, allow one to determine the identifier from the heading text. These identifiers are used to provide link targets in the table of contents generated by the --toc|--table-of-contents option. Note that the anaphoric keyword it must be used when iterating over partials. EDIT: I just submitted my proposed change as a pull request. See below under EPUB Metadata. For example: By default, pandoc will include the following metadata elements: (from the document title), (from the document authors), (from the document date, which should be in ISO 8601 format), (from the lang variable, or, if is not set, the locale), and (a randomly generated UUID). When images contain information about dpi internally, the encoded value is used instead of the default specified by this option. Pandoc turned it all into a Word document. To mark variables and control structures in the template, either $…$ or ${…} may be used as delimiters. 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). The originals may be found in pandoc’s system data directory (generally $CABALDIR/pandoc-VERSION/s5/default). Markdown allows links to be specified in several ways. Write output to FILE instead of stdout. Custom styles can be used in the docx and ICML formats. If no value is specified, the value will be treated as Boolean true. They will be included in the order specified. Partials may optionally be applied to variables using a colon: If articles is an array, this will iterate over its values, applying the partial bibentry() to each one. To turn off boolean flags that default to true in reveal.js, use 0. A line block is a sequence of lines beginning with a vertical bar (|) followed by a space. (This is equivalent to --metadata csl=FILE.) $curdir$/$sourcefile$. These files are specified using the --csl option or the csl (or citation-style) metadata field. List markers may be enclosed in parentheses or followed by a single right-parentheses or period. If you use custom templates, you may need to revise them as pandoc changes. Inline spans and fenced code blocks with a special kind of attribute will be parsed as raw content with the designated format. Macro definitions in LaTeX will be passed through as raw LaTeX only if latex_macros is not enabled. List supported input formats, one per line. When you’re using a note style, avoid inserting footnotes manually. Links to headings, figures and tables inside the document are substituted with cross-references that will use the name or caption of the referenced item. So, to link to a heading. Strings ending in a period that are found in this list will be followed by a nonbreaking space, so that the period will not produce sentence-ending space in formats like LaTeX. This departure from standard Markdown should make it easier to mix Markdown with HTML block elements. TeX math will be printed in all output formats. In some output formats, this will mean greater spacing between term/definition pairs. Included in PDF metadata through LaTeX and ConTeXt. Note that pandoc can be used to produce such a YAML metadata section from a BibTeX, BibLaTeX, or CSL JSON bibliography: pandoc can also be used to produce CSL JSON bibliography from BibTeX, BibLaTeX, or markdown YAML: Running pandoc on a bibliography file with the --citeproc option will create a formatted bibliography in the format of your choice: If you are using a bibtex or biblatex bibliography, then observe the following rules: English titles should be in title case. # Filters are run in the order specified. Implies --standalone. TeX math will be put between \(...\) (for inline math) or \[...\] (for display math) and wrapped in tags with class math. For Slidy, Slideous, reveal.js, and S5, the file produced by pandoc with the -s/--standalone option embeds a link to JavaScript and CSS files, which are assumed to be available at the relative path s5/default (for S5), slideous (for Slideous), reveal.js (for reveal.js), or at the Slidy website at (for Slidy). For docx output, styles will be defined in the output file as inheriting from normal text, if the styles are not yet in your reference.docx. Text between \begin{code} and \end{code} will also be treated as Haskell code. If the template is not found, pandoc will search for it in the templates subdirectory of the user data directory (see --data-dir). Optionally, you may attach attributes to fenced or backtick code block using this syntax: Here mycode is an identifier, haskell and numberLines are classes, and startFrom is an attribute with value 100. Maybe there's another way to do this? The number of # signs at the beginning of the line is the heading level: As with setext-style headings, the heading text can contain formatting: Standard Markdown syntax does not require a blank line before a heading. In restructured text output, code blocks with class haskell will be rendered using bird tracks. So the second example above is equivalent to. This allows entire sections to be manipulated using JavaScript or treated differently in CSS. ; section, sec./secs. references obfuscates them by printing their letters as decimal or hexadecimal character references. Multiline tables allow header and table rows to span multiple lines of text (but cells that span multiple columns or rows of the table are not supported). Title blocks will always be parsed, but they will affect the output only when the --standalone (-s) option is chosen. Note that options and extensions that affect reading and writing of Markdown will also affect Markdown cells in ipynb notebooks. All options for document conversion, including input and output files, can be set using a defaults file. This affects most formats, and controls hyphenation in PDF output when using LaTeX (through babel and polyglossia) or ConTeXt. This is handy for reading web pages formatted using MathJax, for example. A “lazy” form, which requires the > character only on the first line of each block, is also allowed: Among the block elements that can be contained in a block quote are other block quotes. In addition, some variables are given default values by pandoc. So, for example: Numbered examples can be labeled and referred to elsewhere in the document: The label can be any string of alphanumeric characters, underscores, or hyphens. Pandoc-style table captions. For more information on highlighting, see Syntax highlighting, below. \begin{tabular}{ll} x&y\\ \end{tabular} \caption{A caption} \end{table} and convert it to HTML using . Column alignments are determined by the position of the header text relative to the dashed line below it:3. By default, pandoc will download media referenced from any ,