diff --git a/AUTHORS.md b/AUTHORS.md
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -145,6 +145,7 @@
 - Henrik Tramberend
 - Henry de Valence
 - Herwig Stuetz
+- Hikaru Ibayashi
 - Hos Es
 - Hubert Plociniczak
 - Ian Max Andolina
diff --git a/MANUAL.txt b/MANUAL.txt
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -1,7 +1,7 @@
 ---
 title: Pandoc User's Guide
 author: John MacFarlane
-date: October 27, 2023
+date: December 11, 2023
 ---
 
 # Synopsis
@@ -139,7 +139,7 @@
 [`iftex`], [`listings`] (if the
 `--listings` option is used), [`fancyvrb`], [`longtable`],
 [`booktabs`], [`graphicx`] (if the document
-contains images), [`hyperref`], [`xcolor`],
+contains images), [`bookmark`], [`xcolor`],
 [`soul`], [`geometry`] (with the `geometry` variable set),
 [`setspace`] (with `linestretch`), and
 [`babel`] (with `lang`).  If `CJKmainfont` is set, [`xeCJK`]
@@ -157,9 +157,8 @@
 be present: [`upquote`] (for straight quotes in verbatim
 environments), [`microtype`] (for better spacing adjustments),
 [`parskip`] (for better inter-paragraph spaces), [`xurl`] (for
-better line breaks in URLs), [`bookmark`] (for better PDF
-bookmarks), and [`footnotehyper`] or [`footnote`] (to allow
-footnotes in tables).
+better line breaks in URLs), and [`footnotehyper`] or
+[`footnote`] (to allow footnotes in tables).
 
 [TeX Live]: https://www.tug.org/texlive/
 [`amsfonts`]: https://ctan.org/pkg/amsfonts
@@ -1188,7 +1187,8 @@
         - Heading 7
         - Heading 8
         - Heading 9
-        - Block Text
+        - Block Text [for block quotes]
+        - Footnote Block Text [for block quotes in footnotes]
         - Source Code
         - Footnote Text
         - Definition Term
@@ -2049,18 +2049,15 @@
 | ```                              | ```                               |
 +----------------------------------+-----------------------------------+
 | ```                              | ``` yaml                          |
-| --bibliography logic.bib         | metadata:                         |
-|                                  |   bibliography: logic.bib         |
+| --bibliography logic.bib         | bibliography: logic.bib           |
 | ```                              | ```                               |
 +----------------------------------+-----------------------------------+
 | ```                              | ``` yaml                          |
-| --csl ieee.csl                   | metadata:                         |
-|                                  |   csl: ieee.csl                   |
+| --csl ieee.csl                   | csl: ieee.csl                     |
 | ```                              | ```                               |
 +----------------------------------+-----------------------------------+
 | ```                              | ``` yaml                          |
-| --citation-abbreviations ab.json | metadata:                         |
-|                                  |   citation-abbreviations: ab.json |
+| --citation-abbreviations ab.json | citation-abbreviations: ab.json   |
 | ```                              | ```                               |
 +----------------------------------+-----------------------------------+
 | ```                              | ``` yaml                          |
@@ -5825,6 +5822,15 @@
 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).
+
+#### Extension: `alerts` ####
+
+Supports [GitHub-style markdown alerts], like
+
+    > [!INFO]
+    > This is an informational message.
+
+  [GitHub-style markdown alerts]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts
 
 #### Extension: `autolink_bare_uris` ####
 
diff --git a/benchmark/benchmark-pandoc.hs b/benchmark/benchmark-pandoc.hs
--- a/benchmark/benchmark-pandoc.hs
+++ b/benchmark/benchmark-pandoc.hs
@@ -39,14 +39,15 @@
   runPure $ do
     (rdr, rexts) <- getReader $ FlavoredFormat name mempty
     (wtr, wexts) <- getWriter $ FlavoredFormat name mempty
+    tmpl <- Just <$> compileDefaultTemplate name
     case (rdr, wtr) of
       (TextReader r, TextWriter w) -> do
         inp <- w def{ writerWrapText = WrapAuto
-                    , writerExtensions = wexts } doc
+                    , writerExtensions = wexts
+                    , writerTemplate = tmpl } doc
         return $ bench (T.unpack name) $
           nf (either (error . show) id . runPure . r def) inp
       (ByteStringReader r, ByteStringWriter w) -> do
-        tmpl <- Just <$> compileDefaultTemplate name
         inp <- w def{ writerWrapText = WrapAuto
                     , writerExtensions = wexts
                     , writerTemplate = tmpl } doc
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,190 @@
 # Revision history for pandoc
 
+## pandoc 3.1.10 (2023-12-12)
+
+  * Link pandoc-cli version to pandoc version. Henceforth pandoc-cli's
+    version will be synchronized with pandoc's, and pandoc-cli will
+    depend on an exact pandoc version. This will avoid confusion by
+    ensuring that `cabal install pandoc-cli-X.Y.Z` installs pandoc
+    version X.Y.Z. It will make things more straightforward for
+    upstream packagers (see #9232). This scheme does not follow the
+    Haskell PVP, but that should cause no harm, because this package
+    does not expose a library.
+
+  * Add `alerts` markdown extension. This enables GitHub style markdown
+    alerts as a commonmark extension. This extension is now default for
+    `gfm`. It can't be used with `markdown`, only with `commonmark` and
+    variants.
+
+  * Markdown reader:
+
+    + Preserve newlines in math instead of changing to spaces.
+      Otherwise we can get unwanted results if there's
+      a `%` comment (#9193).
+    + Make attributes work with reference links (#9171).
+
+  * HTML reader:
+
+    + Improve handling of invalidly nested sublists (#9187, cf. #8150).
+
+  * MediaWiki reader:
+
+    + Allow attribute keys with hyphens (#9178).
+
+  * ODT reader:
+
+    + Support attr `text:continue-numbering` (#8979, Stephan Meijer).
+
+  * Typst reader:
+
+    + Allow references (e.g. `@foo`) to become citations
+      if there is no corresponding label in the document.
+    + Collapse adjacent `cite` elements.
+    + Handle supplements in `cite`.
+    + Change `cite` (only one key allowed, a label) (typst 0.9 breaking change).
+    + Support `quote` element (typst 0.9).
+
+  * LaTeX reader:
+
+    + Handle otherlanguage environment and language-name environments like
+    `\begin{french}...\end{french}` (#9202).
+    + Fix theorem label parsing (#8872, Hikaru Ibayashi).
+
+  * Docx reader:
+
+    + Unwrap content of shaped textboxes (Stephan Meijer, #9214).
+    + Improve handling of `w:sym` (#9220). We now look up symbols in symbol
+      fonts using the table defined at Text.Pandoc.Readers.Docx.Symbols.
+    + Add unexported module Text.Pandoc.Readers.Docx.Symbols. This gives us a
+      table to use to resolve characters included in docx via `w:sym` element.
+
+  * Man reader:
+
+    + Properly handle `.sp` macro inside lists and block quotes (#9201).
+
+  * LaTeX writer:
+
+    + Fix bug with big footnotes inside emphasis (#8982, Hikaru Ibayashi).
+    + Handle identifiers inside heading contents. `\phantomsection` can't
+      be used in this case, so we need `\hypertarget` (#9209).
+
+  * LaTeX template:
+
+    + Include `bookmark` package unconditionally. This package
+      produces better PDF bookmarks than `hyperref` and does it on the
+      first pass.
+
+  * Typst writer:
+
+    + Use `quote` for block quotes.
+    + Support `--toc-depth` as in other writers (#9242).
+    + Put inline image dimensions on enclosing box, not image (#9104).
+    + Better handling of tables with captions (#9194).
+      We now put these in a figure with a caption argument.
+    + Update typst writer to typst 0.9 citation format (#9188).
+
+  * Typst template:
+
+    + Remove custom definition of `blockquote` in default template.
+      (We now use built-in `quote`.)
+    + Support table of contents.
+    + Support csl (#9186, Ian Max Andolina). Typst now supports CSL for its
+      native citation engine, so pandoc should use a specified `csl`
+      style in the template, falling back to `bibliographystyle` if
+      `csl` is not specified.
+
+  * Docx writer:
+
+    + Use different style for block quotes in notes (#9243).
+      Using "Footnote Block Text" for the style name, so it can be
+      given a different font size if footnotes are.
+    + Allow embedded fonts to be used in reference.docx (#6728).
+
+  * HTML5 writer:
+
+    + To conform to validator's expectations, `doc-footnote` role is used
+      with `aside` and `doc-endnotes` with `section`.
+    + `aside` is used only for notes at ends of sections or blocks;
+      if all the notes come at the end of the document, `section` is
+      used so we can have the `doc-endnotes` role.
+
+  * JATS writer:
+
+    + Handle case where there is material after refs div (#9166). Previously in
+      such cases the references were not being moved to back matter.
+
+  * Ms writer:
+
+    + Don't do normal escapes in filename arguments for PSPIC etc.
+
+  * T.P.RoffChar: escape `-` as `\-`. The `groff_man (7)` man page indicates
+    that `-` characters will be treated as typographic hyphens and are not
+    appropriate for cases where the output should be copy-pasteable as an
+    ASCII hyphen-minus character.  (E.g. in command line options.)
+    However, until a recent update groff man did not actually do this;
+    it treated `-` and `\-` the same.  With the new update (1.23.0)
+    the two are distinguished (see https://lwn.net/Articles/947941/
+    for background), so now it is important that pandoc escape `-`.
+
+  * Text.Pandoc.Extension: add `Ext_alerts` constructor [API change].
+
+  * Text.Pandoc.PDF: We now default to running LaTeX only
+    once in producing a PDF (instead of twice). This is made possible by the
+    shift to the `bookmark` package, which does not require a second pass for
+    PDF bookmarks. If a table of contents is present, we still have to run
+    three times to get the page numbers, and if beamer is used we still do a
+    minimum of two runs.
+
+  * Text.Pandoc.Shared:
+
+    + `renderTags'`: use minimized tag for `rect`.
+    + Allow svg `path` element to be minimized.
+    + Export `combineAttr` [API change].
+    + Improve `isTightList` so that it recognizes an item containing only a list
+      which is itself tight as potentially an item in a tight list (#9161).
+
+  * Text.Pandoc.MIME: Ensure we use `.svg` not `.svgz` as extension
+    for `image/svg+xml` mime type. This fixes issues with embedded
+    SVG images in docx output, among other things (#9195).
+
+  * Text.Pandoc.Class: `openURL` improvements for data uris.
+    Only treat data URI as `base64` if ';base64' is specified.
+    Otherwise treat as UTF-8 (not 100% reliable but should cover most
+    other cases). Strip off `;base64` (or `;charset=...` or whatever)
+    from mime type (#9195).
+
+  * Text.Pandoc.SelfContained: Improve treatment of embedded SVGs
+    (#9206, #8948).
+
+    + Ensure unique ids for elements by prefixing SVG id.
+    + Ensure SVG `id` attribute except when `use` element is used.
+    + Remove `width`, `height` attributes from svg element when `use`
+      element is used. Instead, add `width` and `height` 100% to the
+      `use` element. This seems to get the sizing right.
+
+  * Text.Pandoc.Citeproc: Don't link citations if
+    `suppress-bibliography` specified, for there will be nothing to
+    link to (#9163).
+
+  * epub.css: add styling for sup and sub (#9160).
+
+  * Switch from `base64` to `base64-bytestring` (#9233).
+
+  * Use newest versions of commonmark, commonmark-extensions,
+    commonmark-pandoc, texmath, typst, skylighting, skylighting-core.
+
+  * Benchmark: use standalone documents for reader tests.
+    Otherwise typst reader benchmark fails. Note: this means that we are now
+    parsing longer documents, so bench results on readers won't be comparable
+    to before.
+
+  * MANUAL.txt: update defaults file docs for bibliography fields (#9173).
+    Recommend using top-level `bibliography` `csl`, etc. instead
+    of a nested `metadata` field. Reason: `${USERDATA}` and `${HOME}`
+    are only expanded in these contexts, not in `metadata`.
+
+  * Move man pages to pandoc-cli package (#9245).
+
 ## pandoc 3.1.9 (2023-10-27)
 
   * Make `reference-section-title` work with `jats+element_citations`
diff --git a/data/docx/word/styles.xml b/data/docx/word/styles.xml
--- a/data/docx/word/styles.xml
+++ b/data/docx/word/styles.xml
@@ -348,6 +348,18 @@
     <w:unhideWhenUsed />
     <w:qFormat />
   </w:style>
+  <w:style w:type="paragraph" w:styleId="FootnoteBlockText">
+    <w:name w:val="Footnote Block Text" />
+    <w:basedOn w:val="Footnote Text" />
+    <w:next w:val="Footnote Text" />
+    <w:uiPriority w:val="9" />
+    <w:unhideWhenUsed />
+    <w:qFormat />
+    <w:pPr>
+      <w:spacing w:before="100" w:after="100" />
+      <w:ind w:firstLine="0" w:left="480" w:right="480" />
+    </w:pPr>
+  </w:style>
   <w:style w:type="character" w:default="1" w:styleId="DefaultParagraphFont">
     <w:name w:val="Default Paragraph Font" />
     <w:semiHidden />
diff --git a/data/epub.css b/data/epub.css
--- a/data/epub.css
+++ b/data/epub.css
@@ -33,6 +33,14 @@
 img {
   max-width: 100%;
 }
+sup {
+  vertical-align: super;
+  font-size: smaller;
+}
+sub {
+  vertical-align: sub;
+  font-size: smaller;
+}
 h1 {
   margin: 3em 0 0 0;
   font-size: 2em;
diff --git a/data/templates/default.latex b/data/templates/default.latex
--- a/data/templates/default.latex
+++ b/data/templates/default.latex
@@ -425,7 +425,7 @@
 $if(csquotes)$
 \usepackage{csquotes}
 $endif$
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\usepackage{bookmark}
 \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
 \urlstyle{$if(urlstyle)$$urlstyle$$else$same$endif$}
 $if(links-as-notes)$
diff --git a/data/templates/default.typst b/data/templates/default.typst
--- a/data/templates/default.typst
+++ b/data/templates/default.typst
@@ -23,19 +23,22 @@
   authors: (
 $for(author)$
 $if(author.name)$
-    ( name: [$author.name$],
-      affiliation: [$author.affiliation$],
-      email: [$author.email$] ),
+    ( name: "$author.name$",
+      affiliation: "$author.affiliation$",
+      email: "$author.email$" ),
 $else$
-    ( name: [$author$],
-      affiliation: [],
-      email: [] ),
+    ( name: "$author$",
+      affiliation: "",
+      email: "" ),
 $endif$
 $endfor$
     ),
 $endif$
+$if(keywords)$
+  keywords: ($for(keywords)$$keyword$$sep$,$endfor$),
+$endif$
 $if(date)$
-  date: [$date$],
+  date: "$date$",
 $endif$
 $if(lang)$
   lang: "$lang$",
@@ -76,14 +79,17 @@
 $if(toc)$
 #outline(
   title: auto,
-  depth: none
+  depth: $toc-depth$
 );
 $endif$
 
 $body$
 
 $if(citations)$
-$if(bibliographystyle)$
+$if(csl)$
+
+#set bibliography(style: "$csl$")
+$elseif(bibliographystyle)$
 
 #set bibliography(style: "$bibliographystyle$")
 $endif$
diff --git a/data/templates/definitions.typst b/data/templates/definitions.typst
--- a/data/templates/definitions.typst
+++ b/data/templates/definitions.typst
@@ -1,9 +1,4 @@
 // Some definitions presupposed by pandoc's typst output.
-#let blockquote(body) = [
-  #set text( size: 0.92em )
-  #block(inset: (left: 1.5em, top: 0.2em, bottom: 0.2em))[#body]
-]
-
 #let horizontalrule = [
   #line(start: (25%,0%), end: (75%,0%))
 ]
diff --git a/data/templates/template.typst b/data/templates/template.typst
--- a/data/templates/template.typst
+++ b/data/templates/template.typst
@@ -1,6 +1,7 @@
 #let conf(
   title: none,
-  authors: none,
+  authors: (),
+  keywords: (),
   date: none,
   abstract: none,
   cols: 1,
@@ -13,6 +14,11 @@
   sectionnumbering: none,
   doc,
 ) = {
+  set document(
+    title: title,
+    author: authors.map(author => author.name),
+    keywords: keywords,
+  )
   set page(
     paper: paper,
     margin: margin,
@@ -31,7 +37,7 @@
     ]]
   }
 
-  if authors != none {
+  if authors != none and authors != [] {
     let count = authors.len()
     let ncols = calc.min(count, 3)
     grid(
diff --git a/man/manfilter.lua b/man/manfilter.lua
deleted file mode 100644
--- a/man/manfilter.lua
+++ /dev/null
@@ -1,44 +0,0 @@
--- we use preloaded text to get a UTF-8 aware 'upper' function
-local text = require('text')
-
--- capitalize level 1 headers
-function Header(el)
-    if el.level == 1 then
-      return pandoc.walk_block(el, {
-        Str = function(el)
-            return pandoc.Str(text.upper(el.text))
-        end })
-    end
-end
-
--- For portability with mandoc, which doesn't allow man commands
--- inside table cells, we convert all tables to code blocks.
-function Table(el)
-  local rendered = pandoc.write(pandoc.Pandoc({el}), "plain")
-  local adjusted = rendered  -- tame grid table lines
-                     :gsub("%+([=:][=:]+)",
-                       function(s)
-                         return " " .. string.rep("-", #s - 1)
-                       end)
-                     :gsub("(%+[-:][-:]+)",
-                       function(s)
-                         return ""
-                       end)
-                     :gsub("%+\n","\n")
-                     :gsub("\n|    ","\n|")
-                     :gsub("|","")
-  return { pandoc.RawBlock("man", ".RS -14n"),
-           pandoc.CodeBlock(adjusted),
-           pandoc.RawBlock("man", ".RE") }
-end
-
-
--- replace links with link text
-function Link(el)
-    return el.content
-end
-
--- remove notes
-function Note(el)
-    return {}
-end
diff --git a/man/pandoc.1 b/man/pandoc.1
deleted file mode 100644
--- a/man/pandoc.1
+++ /dev/null
@@ -1,7652 +0,0 @@
-.\" Automatically generated by Pandoc 3.1.7
-.\"
-.TH "pandoc" "1" "October 27, 2023" "pandoc 3.1.9" "Pandoc User\[cq]s Guide"
-.SH NAME
-pandoc - general markup converter
-.SH SYNOPSIS
-\f[CR]pandoc\f[R] [\f[I]options\f[R]] [\f[I]input-file\f[R]]\&...
-.SH DESCRIPTION
-Pandoc is a Haskell library for converting from one markup format to
-another, and a command-line tool that uses this library.
-.PP
-Pandoc can convert between numerous markup and word processing formats,
-including, but not limited to, various flavors of Markdown, HTML, LaTeX
-and Word docx.
-For the full lists of input and output formats, see the
-\f[CR]--from\f[R] and \f[CR]--to\f[R] options below.
-Pandoc can also produce PDF output: see creating a PDF, below.
-.PP
-Pandoc\[cq]s enhanced version of Markdown includes syntax for tables,
-definition lists, metadata blocks, footnotes, citations, math, and much
-more.
-See below under Pandoc\[cq]s Markdown.
-.PP
-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 (an \f[I]abstract syntax tree\f[R] or AST), 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.
-Users can also run custom pandoc filters to modify the intermediate AST.
-.PP
-Because pandoc\[cq]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\[cq]s simple document model.
-While conversions from pandoc\[cq]s Markdown to all formats aspire to be
-perfect, conversions from formats more expressive than pandoc\[cq]s
-Markdown can be expected to be lossy.
-.SS Using pandoc
-If no \f[I]input-files\f[R] are specified, input is read from
-\f[I]stdin\f[R].
-Output goes to \f[I]stdout\f[R] by default.
-For output to a file, use the \f[CR]-o\f[R] option:
-.IP
-.EX
-pandoc -o output.html input.txt
-.EE
-.PP
-By default, pandoc produces a document fragment.
-To produce a standalone document (e.g.\ a valid HTML file including
-\f[CR]<head>\f[R] and \f[CR]<body>\f[R]), use the \f[CR]-s\f[R] or
-\f[CR]--standalone\f[R] flag:
-.IP
-.EX
-pandoc -s -o output.html input.txt
-.EE
-.PP
-For more information on how standalone documents are produced, see
-Templates below.
-.PP
-If multiple input files are given, pandoc will concatenate them all
-(with blank lines between them) before parsing.
-(Use \f[CR]--file-scope\f[R] to parse files individually.)
-.SS Specifying formats
-The format of the input and output can be specified explicitly using
-command-line options.
-The input format can be specified using the \f[CR]-f/--from\f[R] option,
-the output format using the \f[CR]-t/--to\f[R] option.
-Thus, to convert \f[CR]hello.txt\f[R] from Markdown to LaTeX, you could
-type:
-.IP
-.EX
-pandoc -f markdown -t latex hello.txt
-.EE
-.PP
-To convert \f[CR]hello.html\f[R] from HTML to Markdown:
-.IP
-.EX
-pandoc -f html -t markdown hello.html
-.EE
-.PP
-Supported input and output formats are listed below under Options (see
-\f[CR]-f\f[R] for input formats and \f[CR]-t\f[R] for output formats).
-You can also use \f[CR]pandoc --list-input-formats\f[R] and
-\f[CR]pandoc --list-output-formats\f[R] to print lists of supported
-formats.
-.PP
-If the input or output format is not specified explicitly, pandoc will
-attempt to guess it from the extensions of the filenames.
-Thus, for example,
-.IP
-.EX
-pandoc -o hello.tex hello.txt
-.EE
-.PP
-will convert \f[CR]hello.txt\f[R] from Markdown to LaTeX.
-If no output file is specified (so that output goes to
-\f[I]stdout\f[R]), or if the output file\[cq]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[R]), or if the input files\[cq] extensions are unknown, the
-input format will be assumed to be Markdown.
-.SS Character encoding
-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[CR]iconv\f[R]:
-.IP
-.EX
-iconv -t utf-8 input.txt | pandoc | iconv -f utf-8
-.EE
-.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[CR]-s/--standalone\f[R] option.
-.SS Creating a PDF
-To produce a PDF, specify an output file with a \f[CR].pdf\f[R]
-extension:
-.IP
-.EX
-pandoc test.txt -o test.pdf
-.EE
-.PP
-By default, pandoc will use LaTeX to create the PDF, which requires that
-a LaTeX engine be installed (see \f[CR]--pdf-engine\f[R] below).
-Alternatively, pandoc can use ConTeXt, roff ms, or HTML as an
-intermediate format.
-To do this, specify an output file with a \f[CR].pdf\f[R] extension, as
-before, but add the \f[CR]--pdf-engine\f[R] option or
-\f[CR]-t context\f[R], \f[CR]-t html\f[R], or \f[CR]-t ms\f[R] to the
-command line.
-The tool used to generate the PDF from the intermediate format may be
-specified using \f[CR]--pdf-engine\f[R].
-.PP
-You can control the PDF style using variables, depending on the
-intermediate format used: see variables for LaTeX, variables for
-ConTeXt, variables for \f[CR]wkhtmltopdf\f[R], variables for ms.
-When HTML is used as an intermediate format, the output can be styled
-using \f[CR]--css\f[R].
-.PP
-To debug the PDF creation, it can be useful to look at the intermediate
-representation: instead of \f[CR]-o test.pdf\f[R], use for example
-\f[CR]-s -o test.tex\f[R] to output the generated LaTeX.
-You can then test it with \f[CR]pdflatex test.tex\f[R].
-.PP
-When using LaTeX, the following packages need to be available (they are
-included with all recent versions of TeX Live): \f[CR]amsfonts\f[R],
-\f[CR]amsmath\f[R], \f[CR]lm\f[R], \f[CR]unicode-math\f[R],
-\f[CR]iftex\f[R], \f[CR]listings\f[R] (if the \f[CR]--listings\f[R]
-option is used), \f[CR]fancyvrb\f[R], \f[CR]longtable\f[R],
-\f[CR]booktabs\f[R], \f[CR]graphicx\f[R] (if the document contains
-images), \f[CR]hyperref\f[R], \f[CR]xcolor\f[R], \f[CR]soul\f[R],
-\f[CR]geometry\f[R] (with the \f[CR]geometry\f[R] variable set),
-\f[CR]setspace\f[R] (with \f[CR]linestretch\f[R]), and \f[CR]babel\f[R]
-(with \f[CR]lang\f[R]).
-If \f[CR]CJKmainfont\f[R] is set, \f[CR]xeCJK\f[R] is needed.
-The use of \f[CR]xelatex\f[R] or \f[CR]lualatex\f[R] as the PDF engine
-requires \f[CR]fontspec\f[R].
-\f[CR]lualatex\f[R] uses \f[CR]selnolig\f[R].
-\f[CR]xelatex\f[R] uses \f[CR]bidi\f[R] (with the \f[CR]dir\f[R]
-variable set).
-If the \f[CR]mathspec\f[R] variable is set, \f[CR]xelatex\f[R] will use
-\f[CR]mathspec\f[R] instead of \f[CR]unicode-math\f[R].
-The \f[CR]upquote\f[R] and \f[CR]microtype\f[R] packages are used if
-available, and \f[CR]csquotes\f[R] will be used for typography if the
-\f[CR]csquotes\f[R] variable or metadata field is set to a true value.
-The \f[CR]natbib\f[R], \f[CR]biblatex\f[R], \f[CR]bibtex\f[R], and
-\f[CR]biber\f[R] packages can optionally be used for citation rendering.
-The following packages will be used to improve output quality if
-present, but pandoc does not require them to be present:
-\f[CR]upquote\f[R] (for straight quotes in verbatim environments),
-\f[CR]microtype\f[R] (for better spacing adjustments),
-\f[CR]parskip\f[R] (for better inter-paragraph spaces), \f[CR]xurl\f[R]
-(for better line breaks in URLs), \f[CR]bookmark\f[R] (for better PDF
-bookmarks), and \f[CR]footnotehyper\f[R] or \f[CR]footnote\f[R] (to
-allow footnotes in tables).
-.SS Reading from the Web
-Instead of an input file, an absolute URI may be given.
-In this case pandoc will fetch the content using HTTP:
-.IP
-.EX
-pandoc -f html -t markdown https://www.fsf.org
-.EE
-.PP
-It is possible to supply a custom User-Agent string or other header when
-requesting a document from a URL:
-.IP
-.EX
-pandoc -f html -t markdown --request-header User-Agent:\[dq]Mozilla/5.0\[dq] \[rs]
-  https://www.fsf.org
-.EE
-.SH OPTIONS
-.SS General options
-.TP
-\f[CR]-f\f[R] \f[I]FORMAT\f[R], \f[CR]-r\f[R] \f[I]FORMAT\f[R], \f[CR]--from=\f[R]\f[I]FORMAT\f[R], \f[CR]--read=\f[R]\f[I]FORMAT\f[R]
-Specify input format.
-\f[I]FORMAT\f[R] can be:
-.RS
-.IP \[bu] 2
-\f[CR]bibtex\f[R] (BibTeX bibliography)
-.IP \[bu] 2
-\f[CR]biblatex\f[R] (BibLaTeX bibliography)
-.IP \[bu] 2
-\f[CR]bits\f[R] (BITS XML, alias for \f[CR]jats\f[R])
-.IP \[bu] 2
-\f[CR]commonmark\f[R] (CommonMark Markdown)
-.IP \[bu] 2
-\f[CR]commonmark_x\f[R] (CommonMark Markdown with extensions)
-.IP \[bu] 2
-\f[CR]creole\f[R] (Creole 1.0)
-.IP \[bu] 2
-\f[CR]csljson\f[R] (CSL JSON bibliography)
-.IP \[bu] 2
-\f[CR]csv\f[R] (CSV table)
-.IP \[bu] 2
-\f[CR]tsv\f[R] (TSV table)
-.IP \[bu] 2
-\f[CR]docbook\f[R] (DocBook)
-.IP \[bu] 2
-\f[CR]docx\f[R] (Word docx)
-.IP \[bu] 2
-\f[CR]dokuwiki\f[R] (DokuWiki markup)
-.IP \[bu] 2
-\f[CR]endnotexml\f[R] (EndNote XML bibliography)
-.IP \[bu] 2
-\f[CR]epub\f[R] (EPUB)
-.IP \[bu] 2
-\f[CR]fb2\f[R] (FictionBook2 e-book)
-.IP \[bu] 2
-\f[CR]gfm\f[R] (GitHub-Flavored Markdown), or the deprecated and less
-accurate \f[CR]markdown_github\f[R]; use \f[CR]markdown_github\f[R] only
-if you need extensions not supported in \f[CR]gfm\f[R].
-.IP \[bu] 2
-\f[CR]haddock\f[R] (Haddock markup)
-.IP \[bu] 2
-\f[CR]html\f[R] (HTML)
-.IP \[bu] 2
-\f[CR]ipynb\f[R] (Jupyter notebook)
-.IP \[bu] 2
-\f[CR]jats\f[R] (JATS XML)
-.IP \[bu] 2
-\f[CR]jira\f[R] (Jira/Confluence wiki markup)
-.IP \[bu] 2
-\f[CR]json\f[R] (JSON version of native AST)
-.IP \[bu] 2
-\f[CR]latex\f[R] (LaTeX)
-.IP \[bu] 2
-\f[CR]markdown\f[R] (Pandoc\[cq]s Markdown)
-.IP \[bu] 2
-\f[CR]markdown_mmd\f[R] (MultiMarkdown)
-.IP \[bu] 2
-\f[CR]markdown_phpextra\f[R] (PHP Markdown Extra)
-.IP \[bu] 2
-\f[CR]markdown_strict\f[R] (original unextended Markdown)
-.IP \[bu] 2
-\f[CR]mediawiki\f[R] (MediaWiki markup)
-.IP \[bu] 2
-\f[CR]man\f[R] (roff man)
-.IP \[bu] 2
-\f[CR]muse\f[R] (Muse)
-.IP \[bu] 2
-\f[CR]native\f[R] (native Haskell)
-.IP \[bu] 2
-\f[CR]odt\f[R] (ODT)
-.IP \[bu] 2
-\f[CR]opml\f[R] (OPML)
-.IP \[bu] 2
-\f[CR]org\f[R] (Emacs Org mode)
-.IP \[bu] 2
-\f[CR]ris\f[R] (RIS bibliography)
-.IP \[bu] 2
-\f[CR]rtf\f[R] (Rich Text Format)
-.IP \[bu] 2
-\f[CR]rst\f[R] (reStructuredText)
-.IP \[bu] 2
-\f[CR]t2t\f[R] (txt2tags)
-.IP \[bu] 2
-\f[CR]textile\f[R] (Textile)
-.IP \[bu] 2
-\f[CR]tikiwiki\f[R] (TikiWiki markup)
-.IP \[bu] 2
-\f[CR]twiki\f[R] (TWiki markup)
-.IP \[bu] 2
-\f[CR]typst\f[R] (typst)
-.IP \[bu] 2
-\f[CR]vimwiki\f[R] (Vimwiki)
-.IP \[bu] 2
-the path of a custom Lua reader, see Custom readers and writers below
-.PP
-Extensions can be individually enabled or disabled by appending
-\f[CR]+EXTENSION\f[R] or \f[CR]-EXTENSION\f[R] to the format name.
-See Extensions below, for a list of extensions and their names.
-See \f[CR]--list-input-formats\f[R] and \f[CR]--list-extensions\f[R],
-below.
-.RE
-.TP
-\f[CR]-t\f[R] \f[I]FORMAT\f[R], \f[CR]-w\f[R] \f[I]FORMAT\f[R], \f[CR]--to=\f[R]\f[I]FORMAT\f[R], \f[CR]--write=\f[R]\f[I]FORMAT\f[R]
-Specify output format.
-\f[I]FORMAT\f[R] can be:
-.RS
-.IP \[bu] 2
-\f[CR]asciidoc\f[R] (modern AsciiDoc as interpreted by AsciiDoctor)
-.IP \[bu] 2
-\f[CR]asciidoc_legacy\f[R] (AsciiDoc as interpreted by
-\f[CR]asciidoc-py\f[R]).
-.IP \[bu] 2
-\f[CR]asciidoctor\f[R] (deprecated synonym for \f[CR]asciidoc\f[R])
-.IP \[bu] 2
-\f[CR]beamer\f[R] (LaTeX beamer slide show)
-.IP \[bu] 2
-\f[CR]bibtex\f[R] (BibTeX bibliography)
-.IP \[bu] 2
-\f[CR]biblatex\f[R] (BibLaTeX bibliography)
-.IP \[bu] 2
-\f[CR]chunkedhtml\f[R] (zip archive of multiple linked HTML files)
-.IP \[bu] 2
-\f[CR]commonmark\f[R] (CommonMark Markdown)
-.IP \[bu] 2
-\f[CR]commonmark_x\f[R] (CommonMark Markdown with extensions)
-.IP \[bu] 2
-\f[CR]context\f[R] (ConTeXt)
-.IP \[bu] 2
-\f[CR]csljson\f[R] (CSL JSON bibliography)
-.IP \[bu] 2
-\f[CR]docbook\f[R] or \f[CR]docbook4\f[R] (DocBook 4)
-.IP \[bu] 2
-\f[CR]docbook5\f[R] (DocBook 5)
-.IP \[bu] 2
-\f[CR]docx\f[R] (Word docx)
-.IP \[bu] 2
-\f[CR]dokuwiki\f[R] (DokuWiki markup)
-.IP \[bu] 2
-\f[CR]epub\f[R] or \f[CR]epub3\f[R] (EPUB v3 book)
-.IP \[bu] 2
-\f[CR]epub2\f[R] (EPUB v2)
-.IP \[bu] 2
-\f[CR]fb2\f[R] (FictionBook2 e-book)
-.IP \[bu] 2
-\f[CR]gfm\f[R] (GitHub-Flavored Markdown), or the deprecated and less
-accurate \f[CR]markdown_github\f[R]; use \f[CR]markdown_github\f[R] only
-if you need extensions not supported in \f[CR]gfm\f[R].
-.IP \[bu] 2
-\f[CR]haddock\f[R] (Haddock markup)
-.IP \[bu] 2
-\f[CR]html\f[R] or \f[CR]html5\f[R] (HTML, i.e.\ HTML5/XHTML polyglot
-markup)
-.IP \[bu] 2
-\f[CR]html4\f[R] (XHTML 1.0 Transitional)
-.IP \[bu] 2
-\f[CR]icml\f[R] (InDesign ICML)
-.IP \[bu] 2
-\f[CR]ipynb\f[R] (Jupyter notebook)
-.IP \[bu] 2
-\f[CR]jats_archiving\f[R] (JATS XML, Archiving and Interchange Tag Set)
-.IP \[bu] 2
-\f[CR]jats_articleauthoring\f[R] (JATS XML, Article Authoring Tag Set)
-.IP \[bu] 2
-\f[CR]jats_publishing\f[R] (JATS XML, Journal Publishing Tag Set)
-.IP \[bu] 2
-\f[CR]jats\f[R] (alias for \f[CR]jats_archiving\f[R])
-.IP \[bu] 2
-\f[CR]jira\f[R] (Jira/Confluence wiki markup)
-.IP \[bu] 2
-\f[CR]json\f[R] (JSON version of native AST)
-.IP \[bu] 2
-\f[CR]latex\f[R] (LaTeX)
-.IP \[bu] 2
-\f[CR]man\f[R] (roff man)
-.IP \[bu] 2
-\f[CR]markdown\f[R] (Pandoc\[cq]s Markdown)
-.IP \[bu] 2
-\f[CR]markdown_mmd\f[R] (MultiMarkdown)
-.IP \[bu] 2
-\f[CR]markdown_phpextra\f[R] (PHP Markdown Extra)
-.IP \[bu] 2
-\f[CR]markdown_strict\f[R] (original unextended Markdown)
-.IP \[bu] 2
-\f[CR]markua\f[R] (Markua)
-.IP \[bu] 2
-\f[CR]mediawiki\f[R] (MediaWiki markup)
-.IP \[bu] 2
-\f[CR]ms\f[R] (roff ms)
-.IP \[bu] 2
-\f[CR]muse\f[R] (Muse)
-.IP \[bu] 2
-\f[CR]native\f[R] (native Haskell)
-.IP \[bu] 2
-\f[CR]odt\f[R] (OpenOffice text document)
-.IP \[bu] 2
-\f[CR]opml\f[R] (OPML)
-.IP \[bu] 2
-\f[CR]opendocument\f[R] (OpenDocument)
-.IP \[bu] 2
-\f[CR]org\f[R] (Emacs Org mode)
-.IP \[bu] 2
-\f[CR]pdf\f[R] (PDF)
-.IP \[bu] 2
-\f[CR]plain\f[R] (plain text)
-.IP \[bu] 2
-\f[CR]pptx\f[R] (PowerPoint slide show)
-.IP \[bu] 2
-\f[CR]rst\f[R] (reStructuredText)
-.IP \[bu] 2
-\f[CR]rtf\f[R] (Rich Text Format)
-.IP \[bu] 2
-\f[CR]texinfo\f[R] (GNU Texinfo)
-.IP \[bu] 2
-\f[CR]textile\f[R] (Textile)
-.IP \[bu] 2
-\f[CR]slideous\f[R] (Slideous HTML and JavaScript slide show)
-.IP \[bu] 2
-\f[CR]slidy\f[R] (Slidy HTML and JavaScript slide show)
-.IP \[bu] 2
-\f[CR]dzslides\f[R] (DZSlides HTML5 + JavaScript slide show)
-.IP \[bu] 2
-\f[CR]revealjs\f[R] (reveal.js HTML5 + JavaScript slide show)
-.IP \[bu] 2
-\f[CR]s5\f[R] (S5 HTML and JavaScript slide show)
-.IP \[bu] 2
-\f[CR]tei\f[R] (TEI Simple)
-.IP \[bu] 2
-\f[CR]typst\f[R] (typst)
-.IP \[bu] 2
-\f[CR]xwiki\f[R] (XWiki markup)
-.IP \[bu] 2
-\f[CR]zimwiki\f[R] (ZimWiki markup)
-.IP \[bu] 2
-the path of a custom Lua writer, see Custom readers and writers below
-.PP
-Note that \f[CR]odt\f[R], \f[CR]docx\f[R], \f[CR]epub\f[R], and
-\f[CR]pdf\f[R] output will not be directed to \f[I]stdout\f[R] unless
-forced with \f[CR]-o -\f[R].
-.PP
-Extensions can be individually enabled or disabled by appending
-\f[CR]+EXTENSION\f[R] or \f[CR]-EXTENSION\f[R] to the format name.
-See Extensions below, for a list of extensions and their names.
-See \f[CR]--list-output-formats\f[R] and \f[CR]--list-extensions\f[R],
-below.
-.RE
-.TP
-\f[CR]-o\f[R] \f[I]FILE\f[R], \f[CR]--output=\f[R]\f[I]FILE\f[R]
-Write output to \f[I]FILE\f[R] instead of \f[I]stdout\f[R].
-If \f[I]FILE\f[R] is \f[CR]-\f[R], output will go to \f[I]stdout\f[R],
-even if a non-textual format (\f[CR]docx\f[R], \f[CR]odt\f[R],
-\f[CR]epub2\f[R], \f[CR]epub3\f[R]) is specified.
-If the output format is \f[CR]chunkedhtml\f[R] and \f[I]FILE\f[R] has no
-extension, then instead of producing a \f[CR].zip\f[R] file pandoc will
-create a directory \f[I]FILE\f[R] and unpack the zip archive there
-(unless \f[I]FILE\f[R] already exists, in which case an error will be
-raised).
-.TP
-\f[CR]--data-dir=\f[R]\f[I]DIRECTORY\f[R]
-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.
-On *nix and macOS systems this will be the \f[CR]pandoc\f[R]
-subdirectory of the XDG data directory (by default,
-\f[CR]$HOME/.local/share\f[R], overridable by setting the
-\f[CR]XDG_DATA_HOME\f[R] environment variable).
-If that directory does not exist and \f[CR]$HOME/.pandoc\f[R] exists, it
-will be used (for backwards compatibility).
-On Windows the default user data directory is
-\f[CR]%APPDATA%\[rs]pandoc\f[R].
-You can find the default user data directory on your system by looking
-at the output of \f[CR]pandoc --version\f[R].
-Data files placed in this directory (for example,
-\f[CR]reference.odt\f[R], \f[CR]reference.docx\f[R],
-\f[CR]epub.css\f[R], \f[CR]templates\f[R]) will override pandoc\[cq]s
-normal defaults.
-(Note that the user data directory is not created by pandoc, so you will
-need to create it yourself if you want to make use of it.)
-.TP
-\f[CR]-d\f[R] \f[I]FILE\f[R], \f[CR]--defaults=\f[R]\f[I]FILE\f[R]
-Specify a set of default option settings.
-\f[I]FILE\f[R] is a YAML file whose fields correspond to command-line
-option settings.
-All options for document conversion, including input and output files,
-can be set using a defaults file.
-The file will be searched for first in the working directory, and then
-in the \f[CR]defaults\f[R] subdirectory of the user data directory (see
-\f[CR]--data-dir\f[R]).
-The \f[CR].yaml\f[R] extension may be omitted.
-See the section Defaults files for more information on the file format.
-Settings from the defaults file may be overridden or extended by
-subsequent options on the command line.
-.TP
-\f[CR]--bash-completion\f[R]
-Generate a bash completion script.
-To enable bash completion with pandoc, add this to your
-\f[CR].bashrc\f[R]:
-.RS
-.IP
-.EX
-eval \[dq]$(pandoc --bash-completion)\[dq]
-.EE
-.RE
-.TP
-\f[CR]--verbose\f[R]
-Give verbose debugging output.
-.TP
-\f[CR]--quiet\f[R]
-Suppress warning messages.
-.TP
-\f[CR]--fail-if-warnings[=true|false]\f[R]
-Exit with error status if there are any warnings.
-.TP
-\f[CR]--log=\f[R]\f[I]FILE\f[R]
-Write log messages in machine-readable JSON format to \f[I]FILE\f[R].
-All messages above DEBUG level will be written, regardless of verbosity
-settings (\f[CR]--verbose\f[R], \f[CR]--quiet\f[R]).
-.TP
-\f[CR]--list-input-formats\f[R]
-List supported input formats, one per line.
-.TP
-\f[CR]--list-output-formats\f[R]
-List supported output formats, one per line.
-.TP
-\f[CR]--list-extensions\f[R][\f[CR]=\f[R]\f[I]FORMAT\f[R]]
-List supported extensions for \f[I]FORMAT\f[R], one per line, preceded
-by a \f[CR]+\f[R] or \f[CR]-\f[R] indicating whether it is enabled by
-default in \f[I]FORMAT\f[R].
-If \f[I]FORMAT\f[R] is not specified, defaults for pandoc\[cq]s Markdown
-are given.
-.TP
-\f[CR]--list-highlight-languages\f[R]
-List supported languages for syntax highlighting, one per line.
-.TP
-\f[CR]--list-highlight-styles\f[R]
-List supported styles for syntax highlighting, one per line.
-See \f[CR]--highlight-style\f[R].
-.TP
-\f[CR]-v\f[R], \f[CR]--version\f[R]
-Print version.
-.TP
-\f[CR]-h\f[R], \f[CR]--help\f[R]
-Show usage message.
-.SS Reader options
-.TP
-\f[CR]--shift-heading-level-by=\f[R]\f[I]NUMBER\f[R]
-Shift heading levels by a positive or negative integer.
-For example, with \f[CR]--shift-heading-level-by=-1\f[R], level 2
-headings become level 1 headings, and level 3 headings become level 2
-headings.
-Headings cannot have a level less than 1, so a heading that would be
-shifted below level 1 becomes a regular paragraph.
-Exception: with a shift of -N, a level-N heading at the beginning of the
-document replaces the metadata title.
-\f[CR]--shift-heading-level-by=-1\f[R] is a good choice when converting
-HTML or Markdown documents that use an initial level-1 heading for the
-document title and level-2+ headings for sections.
-\f[CR]--shift-heading-level-by=1\f[R] may be a good choice for
-converting Markdown documents that use level-1 headings for sections to
-HTML, since pandoc uses a level-1 heading to render the document title.
-.TP
-\f[CR]--base-header-level=\f[R]\f[I]NUMBER\f[R]
-\f[I]Deprecated.
-Use \f[CI]--shift-heading-level-by\f[I]=X instead, where X = NUMBER -
-1.\f[R] Specify the base level for headings (defaults to 1).
-.TP
-\f[CR]--indented-code-classes=\f[R]\f[I]CLASSES\f[R]
-Specify classes to use for indented code blocks\[en]for example,
-\f[CR]perl,numberLines\f[R] or \f[CR]haskell\f[R].
-Multiple classes may be separated by spaces or commas.
-.TP
-\f[CR]--default-image-extension=\f[R]\f[I]EXTENSION\f[R]
-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.
-.TP
-\f[CR]--file-scope[=true|false]\f[R]
-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[CR]--file-scope\f[R].
-.RS
-.PP
-If two or more files are processed using \f[CR]--file-scope\f[R],
-prefixes based on the filenames will be added to identifiers in order to
-disambiguate them, and internal links will be adjusted accordingly.
-For example, a header with identifier \f[CR]foo\f[R] in
-\f[CR]subdir/file1.txt\f[R] will have its identifier changed to
-\f[CR]subdir__file1.txt__foo\f[R].
-.PP
-In addition, a Div with an identifier based on the filename will be
-added around the file\[cq]s content, so that internal links to the
-filename will point to this Div\[cq]s identifier.
-.RE
-.TP
-\f[CR]-F\f[R] \f[I]PROGRAM\f[R], \f[CR]--filter=\f[R]\f[I]PROGRAM\f[R]
-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\[cq]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
-.EX
-pandoc --filter ./caps.py -t latex
-.EE
-.PP
-is equivalent to
-.IP
-.EX
-pandoc -t json | ./caps.py latex | pandoc -f json -t latex
-.EE
-.PP
-The latter form may be useful for debugging filters.
-.PP
-Filters may be written in any language.
-\f[CR]Text.Pandoc.JSON\f[R] exports \f[CR]toJSONFilter\f[R] to
-facilitate writing filters in Haskell.
-Those who would prefer to write filters in python can use the module
-\f[CR]pandocfilters\f[R], installable from PyPI.
-There are also pandoc filter libraries in PHP, perl, and
-JavaScript/node.js.
-.PP
-In order of preference, pandoc will look for filters in
-.IP "1." 3
-a specified full or relative path (executable or non-executable),
-.IP "2." 3
-\f[CR]$DATADIR/filters\f[R] (executable or non-executable) where
-\f[CR]$DATADIR\f[R] is the user data directory (see
-\f[CR]--data-dir\f[R], above),
-.IP "3." 3
-\f[CR]$PATH\f[R] (executable only).
-.PP
-Filters, Lua-filters, and citeproc processing are applied in the order
-specified on the command line.
-.RE
-.TP
-\f[CR]-L\f[R] \f[I]SCRIPT\f[R], \f[CR]--lua-filter=\f[R]\f[I]SCRIPT\f[R]
-Transform the document in a similar fashion as JSON filters (see
-\f[CR]--filter\f[R]), but use pandoc\[cq]s built-in Lua filtering
-system.
-The given Lua script is expected to return a list of Lua filters which
-will be applied in order.
-Each Lua filter must contain element-transforming functions indexed by
-the name of the AST element on which the filter function should be
-applied.
-.RS
-.PP
-The \f[CR]pandoc\f[R] Lua module provides helper functions for element
-creation.
-It is always loaded into the script\[cq]s Lua environment.
-.PP
-See the Lua filters documentation for further details.
-.PP
-In order of preference, pandoc will look for Lua filters in
-.IP "1." 3
-a specified full or relative path,
-.IP "2." 3
-\f[CR]$DATADIR/filters\f[R] where \f[CR]$DATADIR\f[R] is the user data
-directory (see \f[CR]--data-dir\f[R], above).
-.PP
-Filters, Lua filters, and citeproc processing are applied in the order
-specified on the command line.
-.RE
-.TP
-\f[CR]-M\f[R] \f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]], \f[CR]--metadata=\f[R]\f[I]KEY\f[R][\f[CR]:\f[R]\f[I]VAL\f[R]]
-Set the metadata field \f[I]KEY\f[R] to the value \f[I]VAL\f[R].
-A value specified on the command line overrides a value specified in the
-document using YAML metadata blocks.
-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[CR]--variable\f[R], \f[CR]--metadata\f[R] causes template
-variables to be set.
-But unlike \f[CR]--variable\f[R], \f[CR]--metadata\f[R] affects the
-metadata of the underlying document (which is accessible from filters
-and may be printed in some output formats) and metadata values will be
-escaped when inserted into the template.
-.TP
-\f[CR]--metadata-file=\f[R]\f[I]FILE\f[R]
-Read metadata from the supplied YAML (or JSON) file.
-This option can be used with every input format, but string scalars in
-the metadata file will always be parsed as Markdown.
-(If the input format is Markdown or a Markdown variant, then the same
-variant will be used to parse the metadata file; if it is a non-Markdown
-format, pandoc\[cq]s default Markdown extensions will be used.)
-This option can be used repeatedly to include multiple metadata files;
-values in files specified later on the command line will be preferred
-over those specified in earlier files.
-Metadata values specified inside the document, or by using
-\f[CR]-M\f[R], overwrite values specified with this option.
-The file will be searched for first in the working directory, and then
-in the \f[CR]metadata\f[R] subdirectory of the user data directory (see
-\f[CR]--data-dir\f[R]).
-.TP
-\f[CR]-p\f[R], \f[CR]--preserve-tabs[=true|false]\f[R]
-Preserve tabs instead of converting them to spaces.
-(By default, pandoc converts tabs to spaces before parsing its input.)
-Note that this will only affect tabs in literal code spans and code
-blocks.
-Tabs in regular text are always treated as spaces.
-.TP
-\f[CR]--tab-stop=\f[R]\f[I]NUMBER\f[R]
-Specify the number of spaces per tab (default is 4).
-.TP
-\f[CR]--track-changes=accept\f[R]|\f[CR]reject\f[R]|\f[CR]all\f[R]
-Specifies what to do with insertions, deletions, and comments produced
-by the MS Word \[lq]Track Changes\[rq] feature.
-\f[CR]accept\f[R] (the default) processes all the insertions and
-deletions.
-\f[CR]reject\f[R] ignores them.
-Both \f[CR]accept\f[R] and \f[CR]reject\f[R] ignore comments.
-\f[CR]all\f[R] includes all insertions, deletions, and comments, wrapped
-in spans with \f[CR]insertion\f[R], \f[CR]deletion\f[R],
-\f[CR]comment-start\f[R], and \f[CR]comment-end\f[R] classes,
-respectively.
-The author and time of change is included.
-\f[CR]all\f[R] is useful for scripting: only accepting changes from a
-certain reviewer, say, or before a certain date.
-If a paragraph is inserted or deleted, \f[CR]track-changes=all\f[R]
-produces a span with the class
-\f[CR]paragraph-insertion\f[R]/\f[CR]paragraph-deletion\f[R] before the
-affected paragraph break.
-This option only affects the docx reader.
-.TP
-\f[CR]--extract-media=\f[R]\f[I]DIR\f[R]
-Extract images and other media contained in or linked from the source
-document to the path \f[I]DIR\f[R], creating it if necessary, and adjust
-the images references in the document so they point to the extracted
-files.
-Media are downloaded, read from the file system, or extracted from a
-binary container (e.g.\ docx), as needed.
-The original file paths are used if they are relative paths not
-containing \f[CR]..\f[R].
-Otherwise filenames are constructed from the SHA1 hash of the contents.
-.TP
-\f[CR]--abbreviations=\f[R]\f[I]FILE\f[R]
-Specifies a custom abbreviations file, with abbreviations one to a line.
-If this option is not specified, pandoc will read the data file
-\f[CR]abbreviations\f[R] from the user data directory or fall back on a
-system default.
-To see the system default, use
-\f[CR]pandoc --print-default-data-file=abbreviations\f[R].
-The only use pandoc makes of this list is in the Markdown reader.
-Strings found in this list will be followed by a nonbreaking space, and
-the period will not produce sentence-ending space in formats like LaTeX.
-The strings may not contain spaces.
-.TP
-\f[CR]--trace[=true|false]\f[R]
-Print diagnostic output tracing parser progress to stderr.
-This option is intended for use by developers in diagnosing performance
-issues.
-.SS General writer options
-.TP
-\f[CR]-s\f[R], \f[CR]--standalone\f[R]
-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[CR]pdf\f[R], \f[CR]epub\f[R],
-\f[CR]epub3\f[R], \f[CR]fb2\f[R], \f[CR]docx\f[R], and \f[CR]odt\f[R]
-output.
-For \f[CR]native\f[R] output, this option causes metadata to be
-included; otherwise, metadata is suppressed.
-.TP
-\f[CR]--template=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R]
-Use the specified file as a custom template for the generated document.
-Implies \f[CR]--standalone\f[R].
-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[CR]--template=special\f[R] looks for
-\f[CR]special.html\f[R] for HTML output.
-If the template is not found, pandoc will search for it in the
-\f[CR]templates\f[R] subdirectory of the user data directory (see
-\f[CR]--data-dir\f[R]).
-If this option is not used, a default template appropriate for the
-output format will be used (see \f[CR]-D/--print-default-template\f[R]).
-.TP
-\f[CR]-V\f[R] \f[I]KEY\f[R][\f[CR]=\f[R]\f[I]VAL\f[R]], \f[CR]--variable=\f[R]\f[I]KEY\f[R][\f[CR]:\f[R]\f[I]VAL\f[R]]
-Set the template variable \f[I]KEY\f[R] to the value \f[I]VAL\f[R] when
-rendering the document in standalone mode.
-If no \f[I]VAL\f[R] is specified, the key will be given the value
-\f[CR]true\f[R].
-.TP
-\f[CR]--sandbox[=true|false]\f[R]
-Run pandoc in a sandbox, limiting IO operations in readers and writers
-to reading the files specified on the command line.
-Note that this option does not limit IO operations by filters or in the
-production of PDF documents.
-But it does offer security against, for example, disclosure of files
-through the use of \f[CR]include\f[R] directives.
-Anyone using pandoc on untrusted user input should use this option.
-.RS
-.PP
-Note: some readers and writers (e.g., \f[CR]docx\f[R]) need access to
-data files.
-If these are stored on the file system, then pandoc will not be able to
-find them when run in \f[CR]--sandbox\f[R] mode and will raise an error.
-For these applications, we recommend using a pandoc binary compiled with
-the \f[CR]embed_data_files\f[R] option, which causes the data files to
-be baked into the binary instead of being stored on the file system.
-.RE
-.TP
-\f[CR]-D\f[R] \f[I]FORMAT\f[R], \f[CR]--print-default-template=\f[R]\f[I]FORMAT\f[R]
-Print the system default template for an output \f[I]FORMAT\f[R].
-(See \f[CR]-t\f[R] for a list of possible \f[I]FORMAT\f[R]s.)
-Templates in the user data directory are ignored.
-This option may be used with \f[CR]-o\f[R]/\f[CR]--output\f[R] to
-redirect output to a file, but \f[CR]-o\f[R]/\f[CR]--output\f[R] must
-come before \f[CR]--print-default-template\f[R] on the command line.
-.RS
-.PP
-Note that some of the default templates use partials, for example
-\f[CR]styles.html\f[R].
-To print the partials, use \f[CR]--print-default-data-file\f[R]: for
-example, \f[CR]--print-default-data-file=templates/styles.html\f[R].
-.RE
-.TP
-\f[CR]--print-default-data-file=\f[R]\f[I]FILE\f[R]
-Print a system default data file.
-Files in the user data directory are ignored.
-This option may be used with \f[CR]-o\f[R]/\f[CR]--output\f[R] to
-redirect output to a file, but \f[CR]-o\f[R]/\f[CR]--output\f[R] must
-come before \f[CR]--print-default-data-file\f[R] on the command line.
-.TP
-\f[CR]--eol=crlf\f[R]|\f[CR]lf\f[R]|\f[CR]native\f[R]
-Manually specify line endings: \f[CR]crlf\f[R] (Windows), \f[CR]lf\f[R]
-(macOS/Linux/UNIX), or \f[CR]native\f[R] (line endings appropriate to
-the OS on which pandoc is being run).
-The default is \f[CR]native\f[R].
-.TP
-\f[CR]--dpi\f[R]=\f[I]NUMBER\f[R]
-Specify the default dpi (dots per inch) value for conversion from pixels
-to inch/centimeters and vice versa.
-(Technically, the correct term would be ppi: pixels per inch.)
-The default is 96dpi.
-When images contain information about dpi internally, the encoded value
-is used instead of the default specified by this option.
-.TP
-\f[CR]--wrap=auto\f[R]|\f[CR]none\f[R]|\f[CR]preserve\f[R]
-Determine how text is wrapped in the output (the source code, not the
-rendered version).
-With \f[CR]auto\f[R] (the default), pandoc will attempt to wrap lines to
-the column width specified by \f[CR]--columns\f[R] (default 72).
-With \f[CR]none\f[R], pandoc will not wrap lines at all.
-With \f[CR]preserve\f[R], 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).
-In \f[CR]ipynb\f[R] output, this option affects wrapping of the contents
-of markdown cells.
-.TP
-\f[CR]--columns=\f[R]\f[I]NUMBER\f[R]
-Specify length of lines in characters.
-This affects text wrapping in the generated source code (see
-\f[CR]--wrap\f[R]).
-It also affects calculation of column widths for plain text tables (see
-Tables below).
-.TP
-\f[CR]--toc[=true|false]\f[R], \f[CR]--table-of-contents[=true|false]\f[R]
-Include an automatically generated table of contents (or, in the case of
-\f[CR]latex\f[R], \f[CR]context\f[R], \f[CR]docx\f[R], \f[CR]odt\f[R],
-\f[CR]opendocument\f[R], \f[CR]rst\f[R], or \f[CR]ms\f[R], an
-instruction to create one) in the output document.
-This option has no effect unless \f[CR]-s/--standalone\f[R] is used, and
-it has no effect on \f[CR]man\f[R], \f[CR]docbook4\f[R],
-\f[CR]docbook5\f[R], or \f[CR]jats\f[R] output.
-.RS
-.PP
-Note that if you are producing a PDF via \f[CR]ms\f[R], the table of
-contents will appear at the beginning of the document, before the title.
-If you would prefer it to be at the end of the document, use the option
-\f[CR]--pdf-engine-opt=--no-toc-relocation\f[R].
-.RE
-.TP
-\f[CR]--toc-depth=\f[R]\f[I]NUMBER\f[R]
-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 headings will be
-listed in the contents).
-.TP
-\f[CR]--strip-comments[=true|false]\f[R]
-Strip out HTML comments in the Markdown or Textile source, rather than
-passing them on to Markdown, Textile or HTML output as raw HTML.
-This does not apply to HTML comments inside raw HTML blocks when the
-\f[CR]markdown_in_html_blocks\f[R] extension is not set.
-.TP
-\f[CR]--no-highlight\f[R]
-Disables syntax highlighting for code blocks and inlines, even when a
-language attribute is given.
-.TP
-\f[CR]--highlight-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R]
-Specifies the coloring style to be used in highlighted source code.
-Options are \f[CR]pygments\f[R] (the default), \f[CR]kate\f[R],
-\f[CR]monochrome\f[R], \f[CR]breezeDark\f[R], \f[CR]espresso\f[R],
-\f[CR]zenburn\f[R], \f[CR]haddock\f[R], and \f[CR]tango\f[R].
-For more information on syntax highlighting in pandoc, see Syntax
-highlighting, below.
-See also \f[CR]--list-highlight-styles\f[R].
-.RS
-.PP
-Instead of a \f[I]STYLE\f[R] name, a JSON file with extension
-\f[CR].theme\f[R] may be supplied.
-This will be parsed as a KDE syntax highlighting theme and (if valid)
-used as the highlighting style.
-.PP
-To generate the JSON version of an existing style, use
-\f[CR]--print-highlight-style\f[R].
-.RE
-.TP
-\f[CR]--print-highlight-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R]
-Prints a JSON version of a highlighting style, which can be modified,
-saved with a \f[CR].theme\f[R] extension, and used with
-\f[CR]--highlight-style\f[R].
-This option may be used with \f[CR]-o\f[R]/\f[CR]--output\f[R] to
-redirect output to a file, but \f[CR]-o\f[R]/\f[CR]--output\f[R] must
-come before \f[CR]--print-highlight-style\f[R] on the command line.
-.TP
-\f[CR]--syntax-definition=\f[R]\f[I]FILE\f[R]
-Instructs pandoc to load a KDE XML syntax definition file, which will be
-used for syntax highlighting of appropriately marked code blocks.
-This can be used to add support for new languages or to use altered
-syntax definitions for existing languages.
-This option may be repeated to add multiple syntax definitions.
-.TP
-\f[CR]-H\f[R] \f[I]FILE\f[R], \f[CR]--include-in-header=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R]
-Include contents of \f[I]FILE\f[R], 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[CR]--standalone\f[R].
-.TP
-\f[CR]-B\f[R] \f[I]FILE\f[R], \f[CR]--include-before-body=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R]
-Include contents of \f[I]FILE\f[R], verbatim, at the beginning of the
-document body (e.g.\ after the \f[CR]<body>\f[R] tag in HTML, or the
-\f[CR]\[rs]begin{document}\f[R] 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[CR]--standalone\f[R].
-.TP
-\f[CR]-A\f[R] \f[I]FILE\f[R], \f[CR]--include-after-body=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R]
-Include contents of \f[I]FILE\f[R], verbatim, at the end of the document
-body (before the \f[CR]</body>\f[R] tag in HTML, or the
-\f[CR]\[rs]end{document}\f[R] command in LaTeX).
-This option can be used repeatedly to include multiple files.
-They will be included in the order specified.
-Implies \f[CR]--standalone\f[R].
-.TP
-\f[CR]--resource-path=\f[R]\f[I]SEARCHPATH\f[R]
-List of paths to search for images and other resources.
-The paths should be separated by \f[CR]:\f[R] on Linux, UNIX, and macOS
-systems, and by \f[CR];\f[R] on Windows.
-If \f[CR]--resource-path\f[R] is not specified, the default resource
-path is the working directory.
-Note that, if \f[CR]--resource-path\f[R] is specified, the working
-directory must be explicitly listed or it will not be searched.
-For example: \f[CR]--resource-path=.:test\f[R] will search the working
-directory and the \f[CR]test\f[R] subdirectory, in that order.
-This option can be used repeatedly.
-Search path components that come later on the command line will be
-searched before those that come earlier, so
-\f[CR]--resource-path foo:bar --resource-path baz:bim\f[R] is equivalent
-to \f[CR]--resource-path baz:bim:foo:bar\f[R].
-.TP
-\f[CR]--request-header=\f[R]\f[I]NAME\f[R]\f[CR]:\f[R]\f[I]VAL\f[R]
-Set the request header \f[I]NAME\f[R] to the value \f[I]VAL\f[R] when
-making HTTP requests (for example, when a URL is given on the command
-line, or when resources used in a document must be downloaded).
-If you\[cq]re behind a proxy, you also need to set the environment
-variable \f[CR]http_proxy\f[R] to \f[CR]http://...\f[R].
-.TP
-\f[CR]--no-check-certificate[=true|false]\f[R]
-Disable the certificate verification to allow access to unsecure HTTP
-resources (for example when the certificate is no longer valid or self
-signed).
-.SS Options affecting specific writers
-.TP
-\f[CR]--self-contained[=true|false]\f[R]
-\f[I]Deprecated synonym for
-\f[CI]--embed-resources --standalone\f[I].\f[R]
-.TP
-\f[CR]--embed-resources[=true|false]\f[R]
-Produce a standalone HTML file with no external dependencies, using
-\f[CR]data:\f[R] URIs to incorporate the contents of linked scripts,
-stylesheets, images, and videos.
-The resulting file should be \[lq]self-contained,\[rq] 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[CR]html4\f[R], \f[CR]html5\f[R], \f[CR]html+lhs\f[R],
-\f[CR]html5+lhs\f[R], \f[CR]s5\f[R], \f[CR]slidy\f[R],
-\f[CR]slideous\f[R], \f[CR]dzslides\f[R], and \f[CR]revealjs\f[R].
-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).
-Elements with the attribute \f[CR]data-external=\[dq]1\[dq]\f[R] will be
-left alone; the documents they link to will not be incorporated in the
-document.
-Limitation: resources that are loaded dynamically through JavaScript
-cannot be incorporated; as a result, fonts may be missing when
-\f[CR]--mathjax\f[R] is used, and some advanced features (e.g.\ zoom or
-speaker notes) may not work in an offline \[lq]self-contained\[rq]
-\f[CR]reveal.js\f[R] slide show.
-.TP
-\f[CR]--html-q-tags[=true|false]\f[R]
-Use \f[CR]<q>\f[R] tags for quotes in HTML.
-(This option only has an effect if the \f[CR]smart\f[R] extension is
-enabled for the input format used.)
-.TP
-\f[CR]--ascii[=true|false]\f[R]
-Use only ASCII characters in output.
-Currently supported for XML and HTML formats (which use entities instead
-of UTF-8 when this option is selected), CommonMark, gfm, and Markdown
-(which use entities), roff man and ms (which use hexadecimal escapes),
-and to a limited degree LaTeX (which uses standard commands for accented
-characters when possible).
-.TP
-\f[CR]--reference-links[=true|false]\f[R]
-Use reference-style links, rather than inline links, in writing Markdown
-or reStructuredText.
-By default inline links are used.
-The placement of link references is affected by the
-\f[CR]--reference-location\f[R] option.
-.TP
-\f[CR]--reference-location=block\f[R]|\f[CR]section\f[R]|\f[CR]document\f[R]
-Specify whether footnotes (and references, if \f[CR]reference-links\f[R]
-is set) are placed at the end of the current (top-level) block, the
-current section, or the document.
-The default is \f[CR]document\f[R].
-Currently this option only affects the \f[CR]markdown\f[R],
-\f[CR]muse\f[R], \f[CR]html\f[R], \f[CR]epub\f[R], \f[CR]slidy\f[R],
-\f[CR]s5\f[R], \f[CR]slideous\f[R], \f[CR]dzslides\f[R], and
-\f[CR]revealjs\f[R] writers.
-In slide formats, specifying \f[CR]--reference-location=section\f[R]
-will cause notes to be rendered at the bottom of a slide.
-.TP
-\f[CR]--markdown-headings=setext\f[R]|\f[CR]atx\f[R]
-Specify whether to use ATX-style (\f[CR]#\f[R]-prefixed) or Setext-style
-(underlined) headings for level 1 and 2 headings in Markdown output.
-(The default is \f[CR]atx\f[R].)
-ATX-style headings are always used for levels 3+.
-This option also affects Markdown cells in \f[CR]ipynb\f[R] output.
-.TP
-\f[CR]--list-tables[=true|false]\f[R]
-Render tables as list tables in RST output.
-.TP
-\f[CR]--top-level-division=default\f[R]|\f[CR]section\f[R]|\f[CR]chapter\f[R]|\f[CR]part\f[R]
-Treat top-level headings as the given division type in LaTeX, ConTeXt,
-DocBook, and TEI output.
-The hierarchy order is part, chapter, then section; all headings are
-shifted such that the top-level heading becomes the specified type.
-The default behavior is to determine the best division type via
-heuristics: unless other conditions apply, \f[CR]section\f[R] is chosen.
-When the \f[CR]documentclass\f[R] variable is set to \f[CR]report\f[R],
-\f[CR]book\f[R], or \f[CR]memoir\f[R] (unless the \f[CR]article\f[R]
-option is specified), \f[CR]chapter\f[R] is implied as the setting for
-this option.
-If \f[CR]beamer\f[R] is the output format, specifying either
-\f[CR]chapter\f[R] or \f[CR]part\f[R] will cause top-level headings to
-become \f[CR]\[rs]part{..}\f[R], while second-level headings remain as
-their default type.
-.TP
-\f[CR]-N\f[R], \f[CR]--number-sections\f[R]
-Number section headings in LaTeX, ConTeXt, HTML, Docx, ms, or EPUB
-output.
-By default, sections are not numbered.
-Sections with class \f[CR]unnumbered\f[R] will never be numbered, even
-if \f[CR]--number-sections\f[R] is specified.
-.TP
-\f[CR]--number-offset=\f[R]\f[I]NUMBER\f[R][\f[CR],\f[R]\f[I]NUMBER\f[R]\f[CR],\f[R]\f[I]\&...\f[R]]
-Offset for section headings in HTML output (ignored in other output
-formats).
-The first number is added to the section number for top-level headings,
-the second for second-level headings, and so on.
-So, for example, if you want the first top-level heading in your
-document to be numbered \[lq]6\[rq], specify
-\f[CR]--number-offset=5\f[R].
-If your document starts with a level-2 heading which you want to be
-numbered \[lq]1.5\[rq], specify \f[CR]--number-offset=1,4\f[R].
-Offsets are 0 by default.
-Implies \f[CR]--number-sections\f[R].
-.TP
-\f[CR]--listings[=true|false]\f[R]
-Use the \f[CR]listings\f[R] package for LaTeX code blocks.
-The package does not support multi-byte encoding for source code.
-To handle UTF-8 you would need to use a custom template.
-This issue is fully documented here: Encoding issue with the listings
-package.
-.TP
-\f[CR]-i\f[R], \f[CR]--incremental[=true|false]\f[R]
-Make list items in slide shows display incrementally (one by one).
-The default is for lists to be displayed all at once.
-.TP
-\f[CR]--slide-level=\f[R]\f[I]NUMBER\f[R]
-Specifies that headings with the specified level create slides (for
-\f[CR]beamer\f[R], \f[CR]s5\f[R], \f[CR]slidy\f[R], \f[CR]slideous\f[R],
-\f[CR]dzslides\f[R]).
-Headings above this level in the hierarchy are used to divide the slide
-show into sections; headings below this level create subheads within a
-slide.
-Valid values are 0-6.
-If a slide level of 0 is specified, slides will not be split
-automatically on headings, and horizontal rules must be used to indicate
-slide boundaries.
-If a slide level is not specified explicitly, the slide level will be
-set automatically based on the contents of the document; see Structuring
-the slide show.
-.TP
-\f[CR]--section-divs[=true|false]\f[R]
-Wrap sections in \f[CR]<section>\f[R] tags (or \f[CR]<div>\f[R] tags for
-\f[CR]html4\f[R]), and attach identifiers to the enclosing
-\f[CR]<section>\f[R] (or \f[CR]<div>\f[R]) rather than the heading
-itself (see Heading identifiers, below).
-This option only affects HTML output (and does not affect HTML slide
-formats).
-.TP
-\f[CR]--email-obfuscation=none\f[R]|\f[CR]javascript\f[R]|\f[CR]references\f[R]
-Specify a method for obfuscating \f[CR]mailto:\f[R] links in HTML
-documents.
-\f[CR]none\f[R] leaves \f[CR]mailto:\f[R] links as they are.
-\f[CR]javascript\f[R] obfuscates them using JavaScript.
-\f[CR]references\f[R] obfuscates them by printing their letters as
-decimal or hexadecimal character references.
-The default is \f[CR]none\f[R].
-.TP
-\f[CR]--id-prefix=\f[R]\f[I]STRING\f[R]
-Specify a prefix to be added to all identifiers and internal links in
-HTML and DocBook output, and to footnote numbers in Markdown and Haddock
-output.
-This is useful for preventing duplicate identifiers when generating
-fragments to be included in other pages.
-.TP
-\f[CR]-T\f[R] \f[I]STRING\f[R], \f[CR]--title-prefix=\f[R]\f[I]STRING\f[R]
-Specify \f[I]STRING\f[R] 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[CR]--standalone\f[R].
-.TP
-\f[CR]-c\f[R] \f[I]URL\f[R], \f[CR]--css=\f[R]\f[I]URL\f[R]
-Link to a CSS style sheet.
-This option can be used repeatedly to include multiple files.
-They will be included in the order specified.
-This option only affects HTML (including HTML slide shows) and EPUB
-output.
-It should be used together with \f[CR]-s/--standalone\f[R], because the
-link to the stylesheet goes in the document header.
-.RS
-.PP
-A stylesheet is required for generating EPUB.
-If none is provided using this option (or the \f[CR]css\f[R] or
-\f[CR]stylesheet\f[R] metadata fields), pandoc will look for a file
-\f[CR]epub.css\f[R] in the user data directory (see
-\f[CR]--data-dir\f[R]).
-If it is not found there, sensible defaults will be used.
-.RE
-.TP
-\f[CR]--reference-doc=\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R]
-Use the specified file as a style reference in producing a docx or ODT
-file.
-.RS
-.TP
-Docx
-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[CR]reference.docx\f[R] in the user data directory (see
-\f[CR]--data-dir\f[R]).
-If this is not found either, sensible defaults will be used.
-.RS
-.PP
-To produce a custom \f[CR]reference.docx\f[R], first get a copy of the
-default \f[CR]reference.docx\f[R]:
-\f[CR]pandoc -o custom-reference.docx --print-default-data-file reference.docx\f[R].
-Then open \f[CR]custom-reference.docx\f[R] in Word, modify the styles as
-you wish, and save the file.
-For best results, do not make changes to this file other than modifying
-the styles used by pandoc:
-.PP
-Paragraph styles:
-.IP \[bu] 2
-Normal
-.IP \[bu] 2
-Body Text
-.IP \[bu] 2
-First Paragraph
-.IP \[bu] 2
-Compact
-.IP \[bu] 2
-Title
-.IP \[bu] 2
-Subtitle
-.IP \[bu] 2
-Author
-.IP \[bu] 2
-Date
-.IP \[bu] 2
-Abstract
-.IP \[bu] 2
-AbstractTitle
-.IP \[bu] 2
-Bibliography
-.IP \[bu] 2
-Heading 1
-.IP \[bu] 2
-Heading 2
-.IP \[bu] 2
-Heading 3
-.IP \[bu] 2
-Heading 4
-.IP \[bu] 2
-Heading 5
-.IP \[bu] 2
-Heading 6
-.IP \[bu] 2
-Heading 7
-.IP \[bu] 2
-Heading 8
-.IP \[bu] 2
-Heading 9
-.IP \[bu] 2
-Block Text
-.IP \[bu] 2
-Source Code
-.IP \[bu] 2
-Footnote Text
-.IP \[bu] 2
-Definition Term
-.IP \[bu] 2
-Definition
-.IP \[bu] 2
-Caption
-.IP \[bu] 2
-Table Caption
-.IP \[bu] 2
-Image Caption
-.IP \[bu] 2
-Figure
-.IP \[bu] 2
-Captioned Figure
-.IP \[bu] 2
-TOC Heading
-.PP
-Character styles:
-.IP \[bu] 2
-Default Paragraph Font
-.IP \[bu] 2
-Body Text Char
-.IP \[bu] 2
-Verbatim Char
-.IP \[bu] 2
-Footnote Reference
-.IP \[bu] 2
-Hyperlink
-.IP \[bu] 2
-Section Number
-.PP
-Table style:
-.IP \[bu] 2
-Table
-.RE
-.TP
-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[CR]reference.odt\f[R] in the user data directory (see
-\f[CR]--data-dir\f[R]).
-If this is not found either, sensible defaults will be used.
-.RS
-.PP
-To produce a custom \f[CR]reference.odt\f[R], first get a copy of the
-default \f[CR]reference.odt\f[R]:
-\f[CR]pandoc -o custom-reference.odt --print-default-data-file reference.odt\f[R].
-Then open \f[CR]custom-reference.odt\f[R] in LibreOffice, modify the
-styles as you wish, and save the file.
-.RE
-.TP
-PowerPoint
-Templates included with Microsoft PowerPoint 2013 (either with
-\f[CR].pptx\f[R] or \f[CR].potx\f[R] extension) are known to work, as
-are most templates derived from these.
-.RS
-.PP
-The specific requirement is that the template should contain layouts
-with the following names (as seen within PowerPoint):
-.IP \[bu] 2
-Title Slide
-.IP \[bu] 2
-Title and Content
-.IP \[bu] 2
-Section Header
-.IP \[bu] 2
-Two Content
-.IP \[bu] 2
-Comparison
-.IP \[bu] 2
-Content with Caption
-.IP \[bu] 2
-Blank
-.PP
-For each name, the first layout found with that name will be used.
-If no layout is found with one of the names, pandoc will output a
-warning and use the layout with that name from the default reference doc
-instead.
-(How these layouts are used is described in PowerPoint layout choice.)
-.PP
-All templates included with a recent version of MS PowerPoint will fit
-these criteria.
-(You can click on \f[CR]Layout\f[R] under the \f[CR]Home\f[R] menu to
-check.)
-.PP
-You can also modify the default \f[CR]reference.pptx\f[R]: first run
-\f[CR]pandoc -o custom-reference.pptx --print-default-data-file reference.pptx\f[R],
-and then modify \f[CR]custom-reference.pptx\f[R] in MS PowerPoint
-(pandoc will use the layouts with the names listed above).
-.RE
-.RE
-.TP
-\f[CR]--split-level=\f[R]\f[I]NUMBER\f[R]
-Specify the heading level at which to split an EPUB or chunked HTML
-document into separate files.
-The default is to split into chapters at level-1 headings.
-In the case of EPUB, 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 headings, one might want to use a
-chapter level of 2 or 3.
-For chunked HTML, this option determines how much content goes in each
-\[lq]chunk.\[rq]
-.TP
-\f[CR]--chunk-template=\f[R]\f[I]PATHTEMPLATE\f[R]
-Specify a template for the filenames in a \f[CR]chunkedhtml\f[R]
-document.
-In the template, \f[CR]%n\f[R] will be replaced by the chunk number
-(padded with leading 0s to 3 digits), \f[CR]%s\f[R] with the section
-number of the chunk, \f[CR]%h\f[R] with the heading text (with
-formatting removed), \f[CR]%i\f[R] with the section identifier.
-For example, \f[CR]%section-%s-%i.html\f[R] might be resolved to
-\f[CR]section-1.1-introduction.html\f[R].
-The characters \f[CR]/\f[R] and \f[CR]\[rs]\f[R] are not allowed in
-chunk templates and will be ignored.
-The default is \f[CR]%s-%i.html\f[R].
-.TP
-\f[CR]--epub-chapter-level=\f[R]\f[I]NUMBER\f[R]
-\f[I]Deprecated synonym for \f[CI]--split-level\f[I].\f[R]
-.TP
-\f[CR]--epub-cover-image=\f[R]\f[I]FILE\f[R]
-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[CR]cover-image\f[R] in a YAML metadata block (see EPUB Metadata,
-below).
-.TP
-\f[CR]--epub-title-page=true\f[R]|\f[CR]false\f[R]
-Determines whether a the title page is included in the EPUB (default is
-\f[CR]true\f[R]).
-.TP
-\f[CR]--epub-metadata=\f[R]\f[I]FILE\f[R]
-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
-.EX
- <dc:rights>Creative Commons</dc:rights>
- <dc:language>es-AR</dc:language>
-.EE
-.PP
-By default, pandoc will include the following metadata elements:
-\f[CR]<dc:title>\f[R] (from the document title), \f[CR]<dc:creator>\f[R]
-(from the document authors), \f[CR]<dc:date>\f[R] (from the document
-date, which should be in ISO 8601 format), \f[CR]<dc:language>\f[R]
-(from the \f[CR]lang\f[R] variable, or, if is not set, the locale), and
-\f[CR]<dc:identifier id=\[dq]BookId\[dq]>\f[R] (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
-\f[CR]--epub-embed-font=\f[R]\f[I]FILE\f[R]
-Embed the specified font in the EPUB.
-This option can be repeated to embed multiple fonts.
-Wildcards can also be used: for example, \f[CR]DejaVuSans-*.ttf\f[R].
-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[CR]--css\f[R]):
-.RS
-.IP
-.EX
-\[at]font-face {
-   font-family: DejaVuSans;
-   font-style: normal;
-   font-weight: normal;
-   src:url(\[dq]../fonts/DejaVuSans-Regular.ttf\[dq]);
-}
-\[at]font-face {
-   font-family: DejaVuSans;
-   font-style: normal;
-   font-weight: bold;
-   src:url(\[dq]../fonts/DejaVuSans-Bold.ttf\[dq]);
-}
-\[at]font-face {
-   font-family: DejaVuSans;
-   font-style: italic;
-   font-weight: normal;
-   src:url(\[dq]../fonts/DejaVuSans-Oblique.ttf\[dq]);
-}
-\[at]font-face {
-   font-family: DejaVuSans;
-   font-style: italic;
-   font-weight: bold;
-   src:url(\[dq]../fonts/DejaVuSans-BoldOblique.ttf\[dq]);
-}
-body { font-family: \[dq]DejaVuSans\[dq]; }
-.EE
-.RE
-.TP
-\f[CR]--epub-subdirectory=\f[R]\f[I]DIRNAME\f[R]
-Specify the subdirectory in the OCF container that is to hold the
-EPUB-specific contents.
-The default is \f[CR]EPUB\f[R].
-To put the EPUB contents in the top level, use an empty string.
-.TP
-\f[CR]--ipynb-output=all|none|best\f[R]
-Determines how ipynb output cells are treated.
-\f[CR]all\f[R] means that all of the data formats included in the
-original are preserved.
-\f[CR]none\f[R] means that the contents of data cells are omitted.
-\f[CR]best\f[R] causes pandoc to try to pick the richest data block in
-each output cell that is compatible with the output format.
-The default is \f[CR]best\f[R].
-.TP
-\f[CR]--pdf-engine=\f[R]\f[I]PROGRAM\f[R]
-Use the specified engine when producing PDF output.
-Valid values are \f[CR]pdflatex\f[R], \f[CR]lualatex\f[R],
-\f[CR]xelatex\f[R], \f[CR]latexmk\f[R], \f[CR]tectonic\f[R],
-\f[CR]wkhtmltopdf\f[R], \f[CR]weasyprint\f[R], \f[CR]pagedjs-cli\f[R],
-\f[CR]prince\f[R], \f[CR]context\f[R], \f[CR]pdfroff\f[R], and
-\f[CR]typst\f[R].
-If the engine is not in your PATH, the full path of the engine may be
-specified here.
-If this option is not specified, pandoc uses the following defaults
-depending on the output format specified using \f[CR]-t/--to\f[R]:
-.RS
-.IP \[bu] 2
-\f[CR]-t latex\f[R] or none: \f[CR]pdflatex\f[R] (other options:
-\f[CR]xelatex\f[R], \f[CR]lualatex\f[R], \f[CR]tectonic\f[R],
-\f[CR]latexmk\f[R])
-.IP \[bu] 2
-\f[CR]-t context\f[R]: \f[CR]context\f[R]
-.IP \[bu] 2
-\f[CR]-t html\f[R]: \f[CR]wkhtmltopdf\f[R] (other options:
-\f[CR]prince\f[R], \f[CR]weasyprint\f[R], \f[CR]pagedjs-cli\f[R]; see
-print-css.rocks for a good introduction to PDF generation from HTML/CSS)
-.IP \[bu] 2
-\f[CR]-t ms\f[R]: \f[CR]pdfroff\f[R]
-.IP \[bu] 2
-\f[CR]-t typst\f[R]: \f[CR]typst\f[R]
-.RE
-.TP
-\f[CR]--pdf-engine-opt=\f[R]\f[I]STRING\f[R]
-Use the given string as a command-line argument to the
-\f[CR]pdf-engine\f[R].
-For example, to use a persistent directory \f[CR]foo\f[R] for
-\f[CR]latexmk\f[R]\[cq]s auxiliary files, use
-\f[CR]--pdf-engine-opt=-outdir=foo\f[R].
-Note that no check for duplicate options is done.
-.SS Citation rendering
-.TP
-\f[CR]-C\f[R], \f[CR]--citeproc\f[R]
-Process the citations in the file, replacing them with rendered
-citations and adding a bibliography.
-Citation processing will not take place unless bibliographic data is
-supplied, either through an external file specified using the
-\f[CR]--bibliography\f[R] option or the \f[CR]bibliography\f[R] field in
-metadata, or via a \f[CR]references\f[R] section in metadata containing
-a list of citations in CSL YAML format with Markdown formatting.
-The style is controlled by a CSL stylesheet specified using the
-\f[CR]--csl\f[R] option or the \f[CR]csl\f[R] field in metadata.
-(If no stylesheet is specified, the \f[CR]chicago-author-date\f[R] style
-will be used by default.)
-The citation processing transformation may be applied before or after
-filters or Lua filters (see \f[CR]--filter\f[R],
-\f[CR]--lua-filter\f[R]): these transformations are applied in the order
-they appear on the command line.
-For more information, see the section on Citations.
-.TP
-\f[CR]--bibliography=\f[R]\f[I]FILE\f[R]
-Set the \f[CR]bibliography\f[R] field in the document\[cq]s metadata to
-\f[I]FILE\f[R], overriding any value set in the metadata.
-If you supply this argument multiple times, each \f[I]FILE\f[R] will be
-added to bibliography.
-If \f[I]FILE\f[R] is a URL, it will be fetched via HTTP.
-If \f[I]FILE\f[R] is not found relative to the working directory, it
-will be sought in the resource path (see \f[CR]--resource-path\f[R]).
-.TP
-\f[CR]--csl=\f[R]\f[I]FILE\f[R]
-Set the \f[CR]csl\f[R] field in the document\[cq]s metadata to
-\f[I]FILE\f[R], overriding any value set in the metadata.
-(This is equivalent to \f[CR]--metadata csl=FILE\f[R].)
-If \f[I]FILE\f[R] is a URL, it will be fetched via HTTP.
-If \f[I]FILE\f[R] is not found relative to the working directory, it
-will be sought in the resource path (see \f[CR]--resource-path\f[R]) and
-finally in the \f[CR]csl\f[R] subdirectory of the pandoc user data
-directory.
-.TP
-\f[CR]--citation-abbreviations=\f[R]\f[I]FILE\f[R]
-Set the \f[CR]citation-abbreviations\f[R] field in the document\[cq]s
-metadata to \f[I]FILE\f[R], overriding any value set in the metadata.
-(This is equivalent to
-\f[CR]--metadata citation-abbreviations=FILE\f[R].)
-If \f[I]FILE\f[R] is a URL, it will be fetched via HTTP.
-If \f[I]FILE\f[R] is not found relative to the working directory, it
-will be sought in the resource path (see \f[CR]--resource-path\f[R]) and
-finally in the \f[CR]csl\f[R] subdirectory of the pandoc user data
-directory.
-.TP
-\f[CR]--natbib\f[R]
-Use \f[CR]natbib\f[R] for citations in LaTeX output.
-This option is not for use with the \f[CR]--citeproc\f[R] option or with
-PDF output.
-It is intended for use in producing a LaTeX file that can be processed
-with \f[CR]bibtex\f[R].
-.TP
-\f[CR]--biblatex\f[R]
-Use \f[CR]biblatex\f[R] for citations in LaTeX output.
-This option is not for use with the \f[CR]--citeproc\f[R] option or with
-PDF output.
-It is intended for use in producing a LaTeX file that can be processed
-with \f[CR]bibtex\f[R] or \f[CR]biber\f[R].
-.SS Math rendering in HTML
-The default is to render TeX math as far as possible using Unicode
-characters.
-Formulas are put inside a \f[CR]span\f[R] with
-\f[CR]class=\[dq]math\[dq]\f[R], so that they may be styled differently
-from the surrounding text if needed.
-However, this gives acceptable results only for basic math, usually you
-will want to use \f[CR]--mathjax\f[R] or another of the following
-options.
-.TP
-\f[CR]--mathjax\f[R][\f[CR]=\f[R]\f[I]URL\f[R]]
-Use MathJax to display embedded TeX math in HTML output.
-TeX math will be put between \f[CR]\[rs](...\[rs])\f[R] (for inline
-math) or \f[CR]\[rs][...\[rs]]\f[R] (for display math) and wrapped in
-\f[CR]<span>\f[R] tags with class \f[CR]math\f[R].
-Then the MathJax JavaScript will render it.
-The \f[I]URL\f[R] should point to the \f[CR]MathJax.js\f[R] load script.
-If a \f[I]URL\f[R] is not provided, a link to the Cloudflare CDN will be
-inserted.
-.TP
-\f[CR]--mathml\f[R]
-Convert TeX math to MathML (in \f[CR]epub3\f[R], \f[CR]docbook4\f[R],
-\f[CR]docbook5\f[R], \f[CR]jats\f[R], \f[CR]html4\f[R] and
-\f[CR]html5\f[R]).
-This is the default in \f[CR]odt\f[R] output.
-MathML is supported natively by the main web browsers and select e-book
-readers.
-.TP
-\f[CR]--webtex\f[R][\f[CR]=\f[R]\f[I]URL\f[R]]
-Convert TeX formulas to \f[CR]<img>\f[R] tags that link to an external
-script that converts formulas to images.
-The formula will be URL-encoded and concatenated with the URL provided.
-For SVG images you can for example use
-\f[CR]--webtex https://latex.codecogs.com/svg.latex?\f[R].
-If no URL is specified, the CodeCogs URL generating PNGs will be used
-(\f[CR]https://latex.codecogs.com/png.latex?\f[R]).
-Note: the \f[CR]--webtex\f[R] option will affect Markdown output as well
-as HTML, which is useful if you\[cq]re targeting a version of Markdown
-without native math support.
-.TP
-\f[CR]--katex\f[R][\f[CR]=\f[R]\f[I]URL\f[R]]
-Use KaTeX to display embedded TeX math in HTML output.
-The \f[I]URL\f[R] is the base URL for the KaTeX library.
-That directory should contain a \f[CR]katex.min.js\f[R] and a
-\f[CR]katex.min.css\f[R] file.
-If a \f[I]URL\f[R] is not provided, a link to the KaTeX CDN will be
-inserted.
-.TP
-\f[CR]--gladtex\f[R]
-Enclose TeX math in \f[CR]<eq>\f[R] tags in HTML output.
-The resulting HTML can then be processed by GladTeX to produce SVG
-images of the typeset formulas and an HTML file with these images
-embedded.
-.RS
-.IP
-.EX
-pandoc -s --gladtex input.md -o myfile.htex
-gladtex -d image_dir myfile.htex
-# produces myfile.html and images in image_dir
-.EE
-.RE
-.SS Options for wrapper scripts
-.TP
-\f[CR]--dump-args[=true|false]\f[R]
-Print information about command-line arguments to \f[I]stdout\f[R], 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[CR]-o\f[R] option, or \f[CR]-\f[R] (for \f[I]stdout\f[R]) 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[CR]--\f[R] separator at the end
-of the line.
-.TP
-\f[CR]--ignore-args[=true|false]\f[R]
-Ignore command-line arguments (for use in wrapper scripts).
-Regular pandoc options are not ignored.
-Thus, for example,
-.RS
-.IP
-.EX
-pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1
-.EE
-.PP
-is equivalent to
-.IP
-.EX
-pandoc -o foo.html -s
-.EE
-.RE
-.SH EXIT CODES
-If pandoc completes successfully, it will return exit code 0.
-Nonzero exit codes have the following meanings:
-.RS -14n
-.IP
-.EX
-    Code Error
-  ------ -------------------------------------
-       1 PandocIOError
-       3 PandocFailOnWarningError
-       4 PandocAppError
-       5 PandocTemplateError
-       6 PandocOptionError
-      21 PandocUnknownReaderError
-      22 PandocUnknownWriterError
-      23 PandocUnsupportedExtensionError
-      24 PandocCiteprocError
-      25 PandocBibliographyError
-      31 PandocEpubSubdirectoryError
-      43 PandocPDFError
-      44 PandocXMLError
-      47 PandocPDFProgramNotFoundError
-      61 PandocHttpError
-      62 PandocShouldNeverHappenError
-      63 PandocSomeError
-      64 PandocParseError
-      66 PandocMakePDFError
-      67 PandocSyntaxMapError
-      83 PandocFilterError
-      84 PandocLuaError
-      89 PandocNoScriptingEngine
-      91 PandocMacroLoop
-      92 PandocUTF8DecodingError
-      93 PandocIpynbDecodingError
-      94 PandocUnsupportedCharsetError
-      97 PandocCouldNotFindDataFileError
-      98 PandocCouldNotFindMetadataFileError
-      99 PandocResourceNotFound
-.EE
-.RE
-.SH DEFAULTS FILES
-The \f[CR]--defaults\f[R] option may be used to specify a package of
-options, in the form of a YAML file.
-.PP
-Fields that are omitted will just have their regular default values.
-So a defaults file can be as simple as one line:
-.IP
-.EX
-verbosity: INFO
-.EE
-.PP
-In fields that expect a file path (or list of file paths), the following
-syntax may be used to interpolate environment variables:
-.IP
-.EX
-csl:  ${HOME}/mycsldir/special.csl
-.EE
-.PP
-\f[CR]${USERDATA}\f[R] may also be used; this will always resolve to the
-user data directory that is current when the defaults file is parsed,
-regardless of the setting of the environment variable
-\f[CR]USERDATA\f[R].
-.PP
-\f[CR]${.}\f[R] will resolve to the directory containing the defaults
-file itself.
-This allows you to refer to resources contained in that directory:
-.IP
-.EX
-epub-cover-image: ${.}/cover.jpg
-epub-metadata: ${.}/meta.xml
-resource-path:
-- .             # the working directory from which pandoc is run
-- ${.}/images   # the images subdirectory of the directory
-                # containing this defaults file
-.EE
-.PP
-This environment variable interpolation syntax \f[I]only\f[R] works in
-fields that expect file paths.
-.PP
-Defaults files can be placed in the \f[CR]defaults\f[R] subdirectory of
-the user data directory and used from any directory.
-For example, one could create a file specifying defaults for writing
-letters, save it as \f[CR]letter.yaml\f[R] in the \f[CR]defaults\f[R]
-subdirectory of the user data directory, and then invoke these defaults
-from any directory using \f[CR]pandoc --defaults letter\f[R] or
-\f[CR]pandoc -dletter\f[R].
-.PP
-When multiple defaults are used, their contents will be combined.
-.PP
-Note that, where command-line arguments may be repeated
-(\f[CR]--metadata-file\f[R], \f[CR]--css\f[R],
-\f[CR]--include-in-header\f[R], \f[CR]--include-before-body\f[R],
-\f[CR]--include-after-body\f[R], \f[CR]--variable\f[R],
-\f[CR]--metadata\f[R], \f[CR]--syntax-definition\f[R]), the values
-specified on the command line will combine with values specified in the
-defaults file, rather than replacing them.
-.PP
-The following tables show the mapping between the command line and
-defaults file entries.
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- foo.md                            input-file: foo.md            
-
- foo.md bar.md                     input-files:                  
-                                     - foo.md                    
-                                     - bar.md                    
-
-.EE
-.RE
-.PP
-The value of \f[CR]input-files\f[R] may be left empty to indicate input
-from stdin, and it can be an empty sequence \f[CR][]\f[R] for no input.
-.SS General options
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --from markdown+emoji             from: markdown+emoji          
-                                                                 
-                                   reader: markdown+emoji        
-
-                                   to: markdown+hard_line_breaks 
-   --to markdown+hard_line_breaks                                    
-                                                                 
-                               writer: markdown+hard_line_breaks 
-
- --output foo.pdf                  output-file: foo.pdf          
-
- --output -                        output-file:                  
-
- --data-dir dir                    data-dir: dir                 
-
- --defaults file                   defaults:                     
-                                   - file                        
-
- --verbose                         verbosity: INFO               
-
- --quiet                           verbosity: ERROR              
-
- --fail-if-warnings                fail-if-warnings: true        
-
- --sandbox                         sandbox: true                 
-
- --log=FILE                        log-file: FILE                
-
-.EE
-.RE
-.PP
-Options specified in a defaults file itself always have priority over
-those in another file included with a \f[CR]defaults:\f[R] entry.
-.PP
-\f[CR]verbosity\f[R] can have the values \f[CR]ERROR\f[R],
-\f[CR]WARNING\f[R], or \f[CR]INFO\f[R].
-.SS Reader options
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --shift-heading-level-by -1       shift-heading-level-by: -1    
-
-                                   indented-code-classes:        
-   --indented-code-classes python        - python                    
-
-                                                                 
- --default-image-extension \[dq].jpg\[dq]    default-image-extension: \[aq].jpg\[aq] 
-
- --file-scope                      file-scope: true              
-
- --citeproc \[rs]                      filters:                      
-                                     - citeproc                  
-   --lua-filter count-words.lua \[rs]        - count-words.lua           
-  --filter special.lua               - type: json                
-                                       path: special.lua         
-
- --metadata key=value \[rs]            metadata:                     
-  --metadata key2                    key: value                  
-                                     key2: true                  
-
- --metadata-file meta.yaml         metadata-files:               
-                                     - meta.yaml                 
-                                                                 
-                                   metadata-file: meta.yaml      
-
- --preserve-tabs                   preserve-tabs: true           
-
- --tab-stop 8                      tab-stop: 8                   
-
- --track-changes accept            track-changes: accept         
-
- --extract-media dir               extract-media: dir            
-
- --abbreviations abbrevs.txt       abbreviations: abbrevs.txt    
-
- --trace                           trace: true                   
-
-.EE
-.RE
-.PP
-Metadata values specified in a defaults file are parsed as literal
-string text, not Markdown.
-.PP
-Filters will be assumed to be Lua filters if they have the
-\f[CR].lua\f[R] extension, and JSON filters otherwise.
-But the filter type can also be specified explicitly, as shown.
-Filters are run in the order specified.
-To include the built-in citeproc filter, use either \f[CR]citeproc\f[R]
-or \f[CR]{type: citeproc}\f[R].
-.SS General writer options
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --standalone                      standalone: true              
-
- --template letter                 template: letter              
-
- --variable key=val \[rs]              variables:                    
-   --variable key2                   key: val                    
-                                     key2: true                  
-
- --eol nl                          eol: nl                       
-
- --dpi 300                         dpi: 300                      
-
- --wrap 60                         wrap: 60                      
-
- --columns 72                      columns: 72                   
-
- --table-of-contents               table-of-contents: true       
-
- --toc                             toc: true                     
-
- --toc-depth 3                     toc-depth: 3                  
-
- --strip-comments                  strip-comments: true          
-
- --no-highlight                    highlight-style: null         
-
- --highlight-style kate            highlight-style: kate         
-
-                                   syntax-definitions:           
-   --syntax-definition mylang.xml        - mylang.xml                
-                                                                 
-                                   syntax-definition: mylang.xml 
-
- --include-in-header inc.tex       include-in-header:            
-                                     - inc.tex                   
-
-                                   include-before-body:          
---include-before-body inc.tex        - inc.tex                   
-
- --include-after-body inc.tex      include-after-body:           
-                                     - inc.tex                   
-
- --resource-path .:foo             resource-path: [\[aq].\[aq],\[aq]foo\[aq]]    
-
- --request-header foo:bar          request-headers:              
-                                                                 
-                                 - [\[dq]User-Agent\[dq], \[dq]Mozilla/5.0\[dq]] 
-
- --no-check-certificate            no-check-certificate: true    
-
-.EE
-.RE
-.SS Options affecting specific writers
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --self-contained                  self-contained: true          
-
- --html-q-tags                     html-q-tags: true             
-
- --ascii                           ascii: true                   
-
- --reference-links                 reference-links: true         
-
- --reference-location block        reference-location: block     
-
- --markdown-headings atx           markdown-headings: atx        
-
- --list-tables                     list-tables: true             
-
- --top-level-division chapter      top-level-division: chapter   
-
- --number-sections                 number-sections: true         
-
- --number-offset=1,4               number-offset: \[rs][1,4\[rs]]        
-
- --listings                        listings: true                
-
- --incremental                     incremental: true             
-
- --slide-level 2                   slide-level: 2                
-
- --section-divs                    section-divs: true            
-
-                                   email-obfuscation: references 
-   --email-obfuscation references                                    
-
- --id-prefix ch1                   identifier-prefix: ch1        
-
- --title-prefix MySite             title-prefix: MySite          
-
- --css styles/screen.css  \[rs]        css:                          
-   --css styles/special.css          - styles/screen.css         
-                                     - styles/special.css        
-
- --reference-doc my.docx           reference-doc: my.docx        
-
- --epub-cover-image cover.jpg      epub-cover-image: cover.jpg   
-
- --epub-title-page=false           epub-title-page: false        
-
- --epub-metadata meta.xml          epub-metadata: meta.xml       
-
-                                   epub-fonts:                   
-  --epub-embed-font special.otf \[rs]        - special.otf               
-                                     - headline.otf              
-   --epub-embed-font headline.otf                                    
-
- --split-level 2                   split-level: 2                
-
- --chunk-template=\[dq]%i.html\[dq]        chunk-template: \[dq]%i.html\[dq]     
-
- --epub-subdirectory=\[dq]\[dq]            epub-subdirectory: \[aq]\[aq]         
-
- --ipynb-output best               ipynb-output: best            
-
- --pdf-engine xelatex              pdf-engine: xelatex           
-
-                                   pdf-engine-opts:              
-  --pdf-engine-opt=--shell-escape        - \[aq]-shell-escape\[aq]           
-                                                                 
-                                                                 
-                                 pdf-engine-opt: \[aq]-shell-escape\[aq] 
-
-.EE
-.RE
-.SS Citation rendering
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --citeproc                        citeproc: true                
-
- --bibliography logic.bib          metadata:                     
-                                     bibliography: logic.bib     
-
- --csl ieee.csl                    metadata:                     
-                                     csl: ieee.csl               
-
-                                   metadata:                     
- --citation-abbreviations ab.json                                    
-                                 citation-abbreviations: ab.json 
-
- --natbib                          cite-method: natbib           
-
- --biblatex                        cite-method: biblatex         
-
-.EE
-.RE
-.PP
-\f[CR]cite-method\f[R] can be \f[CR]citeproc\f[R], \f[CR]natbib\f[R], or
-\f[CR]biblatex\f[R].
-This only affects LaTeX output.
-If you want to use citeproc to format citations, you should also set
-`citeproc: true'.
-.PP
-If you need control over when the citeproc processing is done relative
-to other filters, you should instead use \f[CR]citeproc\f[R] in the list
-of \f[CR]filters\f[R] (see Reader options).
-.SS Math rendering in HTML
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --mathjax                         html-math-method:             
-                                     method: mathjax             
-
- --mathml                          html-math-method:             
-                                     method: mathml              
-
- --webtex                          html-math-method:             
-                                     method: webtex              
-
- --katex                           html-math-method:             
-                                     method: katex               
-
- --gladtex                         html-math-method:             
-                                     method: gladtex             
-
-.EE
-.RE
-.PP
-In addition to the values listed above, \f[CR]method\f[R] can have the
-value \f[CR]plain\f[R].
-.PP
-If the command line option accepts a URL argument, an \f[CR]url:\f[R]
-field can be added to \f[CR]html-math-method:\f[R].
-.SS Options for wrapper scripts
-.RS -14n
-.IP
-.EX
-
- command line                      defaults file                     
- --------------------------------- ----------------------------------
- --dump-args                       dump-args: true               
-
- --ignore-args                     ignore-args: true             
-
-.EE
-.RE
-.SH TEMPLATES
-When the \f[CR]-s/--standalone\f[R] 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
-.EX
-pandoc -D *FORMAT*
-.EE
-.PP
-where \f[I]FORMAT\f[R] is the name of the output format.
-A custom template can be specified using the \f[CR]--template\f[R]
-option.
-You can also override the system default templates for a given output
-format \f[I]FORMAT\f[R] by putting a file
-\f[CR]templates/default.*FORMAT*\f[R] in the user data directory (see
-\f[CR]--data-dir\f[R], above).
-\f[I]Exceptions:\f[R]
-.IP \[bu] 2
-For \f[CR]odt\f[R] output, customize the \f[CR]default.opendocument\f[R]
-template.
-.IP \[bu] 2
-For \f[CR]pdf\f[R] output, customize the \f[CR]default.latex\f[R]
-template (or the \f[CR]default.context\f[R] template, if you use
-\f[CR]-t context\f[R], or the \f[CR]default.ms\f[R] template, if you use
-\f[CR]-t ms\f[R], or the \f[CR]default.html\f[R] template, if you use
-\f[CR]-t html\f[R]).
-.IP \[bu] 2
-\f[CR]docx\f[R] and \f[CR]pptx\f[R] have no template (however, you can
-use \f[CR]--reference-doc\f[R] to customize the output).
-.PP
-Templates contain \f[I]variables\f[R], which allow for the inclusion of
-arbitrary information at any point in the file.
-They may be set at the command line using the \f[CR]-V/--variable\f[R]
-option.
-If a variable is not set, pandoc will look for the key in the
-document\[cq]s metadata, which can be set using either YAML metadata
-blocks or with the \f[CR]-M/--metadata\f[R] option.
-In addition, some variables are given default values by pandoc.
-See Variables below for a list of variables used in pandoc\[cq]s default
-templates.
-.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.
-.SS Template syntax
-.SS Comments
-Anything between the sequence \f[CR]$--\f[R] and the end of the line
-will be treated as a comment and omitted from the output.
-.SS Delimiters
-To mark variables and control structures in the template, either
-\f[CR]$\f[R]\&...\f[CR]$\f[R] or \f[CR]${\f[R]\&...\f[CR]}\f[R] may be
-used as delimiters.
-The styles may also be mixed in the same template, but the opening and
-closing delimiter must match in each case.
-The opening delimiter may be followed by one or more spaces or tabs,
-which will be ignored.
-The closing delimiter may be preceded by one or more spaces or tabs,
-which will be ignored.
-.PP
-To include a literal \f[CR]$\f[R] in the document, use \f[CR]$$\f[R].
-.SS Interpolated variables
-A slot for an interpolated variable is a variable name surrounded by
-matched delimiters.
-Variable names must begin with a letter and can contain letters,
-numbers, \f[CR]_\f[R], \f[CR]-\f[R], and \f[CR].\f[R].
-The keywords \f[CR]it\f[R], \f[CR]if\f[R], \f[CR]else\f[R],
-\f[CR]endif\f[R], \f[CR]for\f[R], \f[CR]sep\f[R], and \f[CR]endfor\f[R]
-may not be used as variable names.
-Examples:
-.IP
-.EX
-$foo$
-$foo.bar.baz$
-$foo_bar.baz-bim$
-$ foo $
-${foo}
-${foo.bar.baz}
-${foo_bar.baz-bim}
-${ foo }
-.EE
-.PP
-Variable names with periods are used to get at structured variable
-values.
-So, for example, \f[CR]employee.salary\f[R] will return the value of the
-\f[CR]salary\f[R] field of the object that is the value of the
-\f[CR]employee\f[R] field.
-.IP \[bu] 2
-If the value of the variable is a simple value, it will be rendered
-verbatim.
-(Note that no escaping is done; the assumption is that the calling
-program will escape the strings appropriately for the output format.)
-.IP \[bu] 2
-If the value is a list, the values will be concatenated.
-.IP \[bu] 2
-If the value is a map, the string \f[CR]true\f[R] will be rendered.
-.IP \[bu] 2
-Every other value will be rendered as the empty string.
-.SS Conditionals
-A conditional begins with \f[CR]if(variable)\f[R] (enclosed in matched
-delimiters) and ends with \f[CR]endif\f[R] (enclosed in matched
-delimiters).
-It may optionally contain an \f[CR]else\f[R] (enclosed in matched
-delimiters).
-The \f[CR]if\f[R] section is used if \f[CR]variable\f[R] has a non-empty
-value, otherwise the \f[CR]else\f[R] section is used (if present).
-Examples:
-.IP
-.EX
-$if(foo)$bar$endif$
-
-$if(foo)$
-  $foo$
-$endif$
-
-$if(foo)$
-part one
-$else$
-part two
-$endif$
-
-${if(foo)}bar${endif}
-
-${if(foo)}
-  ${foo}
-${endif}
-
-${if(foo)}
-${ foo.bar }
-${else}
-no foo!
-${endif}
-.EE
-.PP
-The keyword \f[CR]elseif\f[R] may be used to simplify complex nested
-conditionals:
-.IP
-.EX
-$if(foo)$
-XXX
-$elseif(bar)$
-YYY
-$else$
-ZZZ
-$endif$
-.EE
-.SS For loops
-A for loop begins with \f[CR]for(variable)\f[R] (enclosed in matched
-delimiters) and ends with \f[CR]endfor\f[R] (enclosed in matched
-delimiters).
-.IP \[bu] 2
-If \f[CR]variable\f[R] is an array, the material inside the loop will be
-evaluated repeatedly, with \f[CR]variable\f[R] being set to each value
-of the array in turn, and concatenated.
-.IP \[bu] 2
-If \f[CR]variable\f[R] is a map, the material inside will be set to the
-map.
-.IP \[bu] 2
-If the value of the associated variable is not an array or a map, a
-single iteration will be performed on its value.
-.PP
-Examples:
-.IP
-.EX
-$for(foo)$$foo$$sep$, $endfor$
-
-$for(foo)$
-  - $foo.last$, $foo.first$
-$endfor$
-
-${ for(foo.bar) }
-  - ${ foo.bar.last }, ${ foo.bar.first }
-${ endfor }
-
-$for(mymap)$
-$it.name$: $it.office$
-$endfor$
-.EE
-.PP
-You may optionally specify a separator between consecutive values using
-\f[CR]sep\f[R] (enclosed in matched delimiters).
-The material between \f[CR]sep\f[R] and the \f[CR]endfor\f[R] is the
-separator.
-.IP
-.EX
-${ for(foo) }${ foo }${ sep }, ${ endfor }
-.EE
-.PP
-Instead of using \f[CR]variable\f[R] inside the loop, the special
-anaphoric keyword \f[CR]it\f[R] may be used.
-.IP
-.EX
-${ for(foo.bar) }
-  - ${ it.last }, ${ it.first }
-${ endfor }
-.EE
-.SS Partials
-Partials (subtemplates stored in different files) may be included by
-using the name of the partial, followed by \f[CR]()\f[R], for example:
-.IP
-.EX
-${ styles() }
-.EE
-.PP
-Partials will be sought in the directory containing the main template.
-The file name will be assumed to have the same extension as the main
-template if it lacks an extension.
-When calling the partial, the full name including file extension can
-also be used:
-.IP
-.EX
-${ styles.html() }
-.EE
-.PP
-(If a partial is not found in the directory of the template and the
-template path is given as a relative path, it will also be sought in the
-\f[CR]templates\f[R] subdirectory of the user data directory.)
-.PP
-Partials may optionally be applied to variables using a colon:
-.IP
-.EX
-${ date:fancy() }
-
-${ articles:bibentry() }
-.EE
-.PP
-If \f[CR]articles\f[R] is an array, this will iterate over its values,
-applying the partial \f[CR]bibentry()\f[R] to each one.
-So the second example above is equivalent to
-.IP
-.EX
-${ for(articles) }
-${ it:bibentry() }
-${ endfor }
-.EE
-.PP
-Note that the anaphoric keyword \f[CR]it\f[R] must be used when
-iterating over partials.
-In the above examples, the \f[CR]bibentry\f[R] partial should contain
-\f[CR]it.title\f[R] (and so on) instead of \f[CR]articles.title\f[R].
-.PP
-Final newlines are omitted from included partials.
-.PP
-Partials may include other partials.
-.PP
-A separator between values of an array may be specified in square
-brackets, immediately after the variable name or partial:
-.IP
-.EX
-${months[, ]}$
-
-${articles:bibentry()[; ]$
-.EE
-.PP
-The separator in this case is literal and (unlike with \f[CR]sep\f[R] in
-an explicit \f[CR]for\f[R] loop) cannot contain interpolated variables
-or other template directives.
-.SS Nesting
-To ensure that content is \[lq]nested,\[rq] that is, subsequent lines
-indented, use the \f[CR]\[ha]\f[R] directive:
-.IP
-.EX
-$item.number$  $\[ha]$$item.description$ ($item.price$)
-.EE
-.PP
-In this example, if \f[CR]item.description\f[R] has multiple lines, they
-will all be indented to line up with the first line:
-.IP
-.EX
-00123  A fine bottle of 18-year old
-       Oban whiskey. ($148)
-.EE
-.PP
-To nest multiple lines to the same level, align them with the
-\f[CR]\[ha]\f[R] directive in the template.
-For example:
-.IP
-.EX
-$item.number$  $\[ha]$$item.description$ ($item.price$)
-               (Available til $item.sellby$.)
-.EE
-.PP
-will produce
-.IP
-.EX
-00123  A fine bottle of 18-year old
-       Oban whiskey. ($148)
-       (Available til March 30, 2020.)
-.EE
-.PP
-If a variable occurs by itself on a line, preceded by whitespace and not
-followed by further text or directives on the same line, and the
-variable\[cq]s value contains multiple lines, it will be nested
-automatically.
-.SS Breakable spaces
-Normally, spaces in the template itself (as opposed to values of the
-interpolated variables) are not breakable, but they can be made
-breakable in part of the template by using the \f[CR]\[ti]\f[R] keyword
-(ended with another \f[CR]\[ti]\f[R]).
-.IP
-.EX
-$\[ti]$This long line may break if the document is rendered
-with a short line length.$\[ti]$
-.EE
-.SS Pipes
-A pipe transforms the value of a variable or partial.
-Pipes are specified using a slash (\f[CR]/\f[R]) between the variable
-name (or partial) and the pipe name.
-Example:
-.IP
-.EX
-$for(name)$
-$name/uppercase$
-$endfor$
-
-$for(metadata/pairs)$
-- $it.key$: $it.value$
-$endfor$
-
-$employee:name()/uppercase$
-.EE
-.PP
-Pipes may be chained:
-.IP
-.EX
-$for(employees/pairs)$
-$it.key/alpha/uppercase$. $it.name$
-$endfor$
-.EE
-.PP
-Some pipes take parameters:
-.IP
-.EX
-|----------------------|------------|
-$for(employee)$
-$it.name.first/uppercase/left 20 \[dq]| \[dq]$$it.name.salary/right 10 \[dq] | \[dq] \[dq] |\[dq]$
-$endfor$
-|----------------------|------------|
-.EE
-.PP
-Currently the following pipes are predefined:
-.IP \[bu] 2
-\f[CR]pairs\f[R]: Converts a map or array to an array of maps, each with
-\f[CR]key\f[R] and \f[CR]value\f[R] fields.
-If the original value was an array, the \f[CR]key\f[R] will be the array
-index, starting with 1.
-.IP \[bu] 2
-\f[CR]uppercase\f[R]: Converts text to uppercase.
-.IP \[bu] 2
-\f[CR]lowercase\f[R]: Converts text to lowercase.
-.IP \[bu] 2
-\f[CR]length\f[R]: Returns the length of the value: number of characters
-for a textual value, number of elements for a map or array.
-.IP \[bu] 2
-\f[CR]reverse\f[R]: Reverses a textual value or array, and has no effect
-on other values.
-.IP \[bu] 2
-\f[CR]first\f[R]: Returns the first value of an array, if applied to a
-non-empty array; otherwise returns the original value.
-.IP \[bu] 2
-\f[CR]last\f[R]: Returns the last value of an array, if applied to a
-non-empty array; otherwise returns the original value.
-.IP \[bu] 2
-\f[CR]rest\f[R]: Returns all but the first value of an array, if applied
-to a non-empty array; otherwise returns the original value.
-.IP \[bu] 2
-\f[CR]allbutlast\f[R]: Returns all but the last value of an array, if
-applied to a non-empty array; otherwise returns the original value.
-.IP \[bu] 2
-\f[CR]chomp\f[R]: Removes trailing newlines (and breakable space).
-.IP \[bu] 2
-\f[CR]nowrap\f[R]: Disables line wrapping on breakable spaces.
-.IP \[bu] 2
-\f[CR]alpha\f[R]: Converts textual values that can be read as an integer
-into lowercase alphabetic characters \f[CR]a..z\f[R] (mod 26).
-This can be used to get lettered enumeration from array indices.
-To get uppercase letters, chain with \f[CR]uppercase\f[R].
-.IP \[bu] 2
-\f[CR]roman\f[R]: Converts textual values that can be read as an integer
-into lowercase roman numerals.
-This can be used to get lettered enumeration from array indices.
-To get uppercase roman, chain with \f[CR]uppercase\f[R].
-.IP \[bu] 2
-\f[CR]left n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders a
-textual value in a block of width \f[CR]n\f[R], aligned to the left,
-with an optional left and right border.
-Has no effect on other values.
-This can be used to align material in tables.
-Widths are positive integers indicating the number of characters.
-Borders are strings inside double quotes; literal \f[CR]\[dq]\f[R] and
-\f[CR]\[rs]\f[R] characters must be backslash-escaped.
-.IP \[bu] 2
-\f[CR]right n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders a
-textual value in a block of width \f[CR]n\f[R], aligned to the right,
-and has no effect on other values.
-.IP \[bu] 2
-\f[CR]center n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders
-a textual value in a block of width \f[CR]n\f[R], aligned to the center,
-and has no effect on other values.
-.SS Variables
-.SS Metadata variables
-.TP
-\f[CR]title\f[R], \f[CR]author\f[R], \f[CR]date\f[R]
-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
-.EX
----
-author:
-- Aristotle
-- Peter Abelard
-\&...
-.EE
-.PP
-Note that if you just want to set PDF or HTML metadata, without
-including a title block in the document itself, you can set the
-\f[CR]title-meta\f[R], \f[CR]author-meta\f[R], and \f[CR]date-meta\f[R]
-variables.
-(By default these are set automatically, based on \f[CR]title\f[R],
-\f[CR]author\f[R], and \f[CR]date\f[R].)
-The page title in HTML is set by \f[CR]pagetitle\f[R], which is equal to
-\f[CR]title\f[R] by default.
-.RE
-.TP
-\f[CR]subtitle\f[R]
-document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx
-documents
-.TP
-\f[CR]abstract\f[R]
-document summary, included in HTML, LaTeX, ConTeXt, AsciiDoc, and docx
-documents
-.TP
-\f[CR]abstract-title\f[R]
-title of abstract, currently used only in HTML, EPUB, and docx.
-This will be set automatically to a localized value, depending on
-\f[CR]lang\f[R], but can be manually overridden.
-.TP
-\f[CR]keywords\f[R]
-list of keywords to be included in HTML, PDF, ODT, pptx, docx and
-AsciiDoc metadata; repeat as for \f[CR]author\f[R], above
-.TP
-\f[CR]subject\f[R]
-document subject, included in ODT, PDF, docx, EPUB, and pptx metadata
-.TP
-\f[CR]description\f[R]
-document description, included in ODT, docx and pptx metadata.
-Some applications show this as \f[CR]Comments\f[R] metadata.
-.TP
-\f[CR]category\f[R]
-document category, included in docx and pptx metadata
-.PP
-Additionally, any root-level string metadata, not included in ODT, docx
-or pptx metadata is added as a \f[I]custom property\f[R].
-The following YAML metadata block for instance:
-.IP
-.EX
----
-title:  \[aq]This is the title\[aq]
-subtitle: \[dq]This is the subtitle\[dq]
-author:
-- Author One
-- Author Two
-description: |
-    This is a long
-    description.
-
-    It consists of two paragraphs
-\&...
-.EE
-.PP
-will include \f[CR]title\f[R], \f[CR]author\f[R] and
-\f[CR]description\f[R] as standard document properties and
-\f[CR]subtitle\f[R] as a custom property when converting to docx, ODT or
-pptx.
-.SS Language variables
-.TP
-\f[CR]lang\f[R]
-identifies the main language of the document using IETF language tags
-(following the BCP 47 standard), such as \f[CR]en\f[R] or
-\f[CR]en-GB\f[R].
-The Language subtag lookup tool can look up or verify these tags.
-This affects most formats, and controls hyphenation in PDF output when
-using LaTeX (through \f[CR]babel\f[R] and \f[CR]polyglossia\f[R]) or
-ConTeXt.
-.RS
-.PP
-Use native pandoc Divs and Spans with the \f[CR]lang\f[R] attribute to
-switch the language:
-.IP
-.EX
----
-lang: en-GB
-\&...
-
-Text in the main document language (British English).
-
-::: {lang=fr-CA}
-> Cette citation est écrite en français canadien.
-:::
-
-More text in English. [\[aq]Zitat auf Deutsch.\[aq]]{lang=de}
-.EE
-.RE
-.TP
-\f[CR]dir\f[R]
-the base script direction, either \f[CR]rtl\f[R] (right-to-left) or
-\f[CR]ltr\f[R] (left-to-right).
-.RS
-.PP
-For bidirectional documents, native pandoc \f[CR]span\f[R]s and
-\f[CR]div\f[R]s with the \f[CR]dir\f[R] attribute (value \f[CR]rtl\f[R]
-or \f[CR]ltr\f[R]) 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[CR]xelatex\f[R] engine is fully supported (use
-\f[CR]--pdf-engine=xelatex\f[R]).
-.RE
-.SS Variables for HTML
-.TP
-\f[CR]document-css\f[R]
-Enables inclusion of most of the CSS in the \f[CR]styles.html\f[R]
-partial (have a look with
-\f[CR]pandoc --print-default-data-file=templates/styles.html\f[R]).
-Unless you use \f[CR]--css\f[R], this variable is set to \f[CR]true\f[R]
-by default.
-You can disable it with e.g.\ \f[CR]pandoc -M document-css=false\f[R].
-.TP
-\f[CR]mainfont\f[R]
-sets the CSS \f[CR]font-family\f[R] property on the \f[CR]html\f[R]
-element.
-.TP
-\f[CR]fontsize\f[R]
-sets the base CSS \f[CR]font-size\f[R], which you\[cq]d usually set to
-e.g.\ \f[CR]20px\f[R], but it also accepts \f[CR]pt\f[R] (12pt = 16px in
-most browsers).
-.TP
-\f[CR]fontcolor\f[R]
-sets the CSS \f[CR]color\f[R] property on the \f[CR]html\f[R] element.
-.TP
-\f[CR]linkcolor\f[R]
-sets the CSS \f[CR]color\f[R] property on all links.
-.TP
-\f[CR]monofont\f[R]
-sets the CSS \f[CR]font-family\f[R] property on \f[CR]code\f[R]
-elements.
-.TP
-\f[CR]monobackgroundcolor\f[R]
-sets the CSS \f[CR]background-color\f[R] property on \f[CR]code\f[R]
-elements and adds extra padding.
-.TP
-\f[CR]linestretch\f[R]
-sets the CSS \f[CR]line-height\f[R] property on the \f[CR]html\f[R]
-element, which is preferred to be unitless.
-.TP
-\f[CR]maxwidth\f[R]
-sets the CSS \f[CR]max-width\f[R] property (default is 32em).
-.TP
-\f[CR]backgroundcolor\f[R]
-sets the CSS \f[CR]background-color\f[R] property on the \f[CR]html\f[R]
-element.
-.TP
-\f[CR]margin-left\f[R], \f[CR]margin-right\f[R], \f[CR]margin-top\f[R], \f[CR]margin-bottom\f[R]
-sets the corresponding CSS \f[CR]padding\f[R] properties on the
-\f[CR]body\f[R] element.
-.PP
-To override or extend some CSS for just one document, include for
-example:
-.IP
-.EX
----
-header-includes: |
-  <style>
-  blockquote {
-    font-style: italic;
-  }
-  tr.even {
-    background-color: #f0f0f0;
-  }
-  td, th {
-    padding: 0.5em 2em 0.5em 0.5em;
-  }
-  tbody {
-    border-bottom: none;
-  }
-  </style>
----
-.EE
-.SS Variables for HTML math
-.TP
-\f[CR]classoption\f[R]
-when using KaTeX, you can render display math equations flush left using
-YAML metadata or with \f[CR]-M classoption=fleqn\f[R].
-.SS Variables for HTML slides
-These affect HTML output when producing slide shows with pandoc.
-.TP
-\f[CR]institute\f[R]
-author affiliations: can be a list when there are multiple authors
-.TP
-\f[CR]revealjs-url\f[R]
-base URL for reveal.js documents (defaults to
-\f[CR]https://unpkg.com/reveal.js\[at]\[ha]4/\f[R])
-.TP
-\f[CR]s5-url\f[R]
-base URL for S5 documents (defaults to \f[CR]s5/default\f[R])
-.TP
-\f[CR]slidy-url\f[R]
-base URL for Slidy documents (defaults to
-\f[CR]https://www.w3.org/Talks/Tools/Slidy2\f[R])
-.TP
-\f[CR]slideous-url\f[R]
-base URL for Slideous documents (defaults to \f[CR]slideous\f[R])
-.TP
-\f[CR]title-slide-attributes\f[R]
-additional attributes for the title slide of reveal.js slide shows.
-See background in reveal.js, beamer, and pptx for an example.
-.PP
-All reveal.js configuration options are available as variables.
-To turn off boolean flags that default to true in reveal.js, use
-\f[CR]0\f[R].
-.SS Variables for Beamer slides
-These variables change the appearance of PDF slides using
-\f[CR]beamer\f[R].
-.TP
-\f[CR]aspectratio\f[R]
-slide aspect ratio (\f[CR]43\f[R] for 4:3 [default], \f[CR]169\f[R] for
-16:9, \f[CR]1610\f[R] for 16:10, \f[CR]149\f[R] for 14:9, \f[CR]141\f[R]
-for 1.41:1, \f[CR]54\f[R] for 5:4, \f[CR]32\f[R] for 3:2)
-.TP
-\f[CR]beameroption\f[R]
-add extra beamer option with \f[CR]\[rs]setbeameroption{}\f[R]
-.TP
-\f[CR]institute\f[R]
-author affiliations: can be a list when there are multiple authors
-.TP
-\f[CR]logo\f[R]
-logo image for slides
-.TP
-\f[CR]navigation\f[R]
-controls navigation symbols (default is \f[CR]empty\f[R] for no
-navigation symbols; other valid values are \f[CR]frame\f[R],
-\f[CR]vertical\f[R], and \f[CR]horizontal\f[R])
-.TP
-\f[CR]section-titles\f[R]
-enables \[lq]title pages\[rq] for new sections (default is true)
-.TP
-\f[CR]theme\f[R], \f[CR]colortheme\f[R], \f[CR]fonttheme\f[R], \f[CR]innertheme\f[R], \f[CR]outertheme\f[R]
-beamer themes
-.TP
-\f[CR]themeoptions\f[R]
-options for LaTeX beamer themes (a list).
-.TP
-\f[CR]titlegraphic\f[R]
-image for title slide
-.SS Variables for PowerPoint
-These variables control the visual aspects of a slide show that are not
-easily controlled via templates.
-.TP
-\f[CR]monofont\f[R]
-font to use for code.
-.SS Variables for LaTeX
-Pandoc uses these variables when creating a PDF with a LaTeX engine.
-.SS Layout
-.TP
-\f[CR]block-headings\f[R]
-make \f[CR]\[rs]paragraph\f[R] and \f[CR]\[rs]subparagraph\f[R] (fourth-
-and fifth-level headings, or fifth- and sixth-level with book classes)
-free-standing rather than run-in; requires further formatting to
-distinguish from \f[CR]\[rs]subsubsection\f[R] (third- or fourth-level
-headings).
-Instead of using this option, KOMA-Script can adjust headings more
-extensively:
-.RS
-.IP
-.EX
----
-documentclass: scrartcl
-header-includes: |
-  \[rs]RedeclareSectionCommand[
-    beforeskip=-10pt plus -2pt minus -1pt,
-    afterskip=1sp plus -1sp minus 1sp,
-    font=\[rs]normalfont\[rs]itshape]{paragraph}
-  \[rs]RedeclareSectionCommand[
-    beforeskip=-10pt plus -2pt minus -1pt,
-    afterskip=1sp plus -1sp minus 1sp,
-    font=\[rs]normalfont\[rs]scshape,
-    indent=0pt]{subparagraph}
-\&...
-.EE
-.RE
-.TP
-\f[CR]classoption\f[R]
-option for document class, e.g.\ \f[CR]oneside\f[R]; repeat for multiple
-options:
-.RS
-.IP
-.EX
----
-classoption:
-- twocolumn
-- landscape
-\&...
-.EE
-.RE
-.TP
-\f[CR]documentclass\f[R]
-document class: usually one of the standard classes, \f[CR]article\f[R],
-\f[CR]book\f[R], and \f[CR]report\f[R]; the KOMA-Script equivalents,
-\f[CR]scrartcl\f[R], \f[CR]scrbook\f[R], and \f[CR]scrreprt\f[R], which
-default to smaller margins; or \f[CR]memoir\f[R]
-.TP
-\f[CR]geometry\f[R]
-option for \f[CR]geometry\f[R] package, e.g.\ \f[CR]margin=1in\f[R];
-repeat for multiple options:
-.RS
-.IP
-.EX
----
-geometry:
-- top=30mm
-- left=20mm
-- heightrounded
-\&...
-.EE
-.RE
-.TP
-\f[CR]hyperrefoptions\f[R]
-option for \f[CR]hyperref\f[R] package, e.g.\ \f[CR]linktoc=all\f[R];
-repeat for multiple options:
-.RS
-.IP
-.EX
----
-hyperrefoptions:
-- linktoc=all
-- pdfwindowui
-- pdfpagemode=FullScreen
-\&...
-.EE
-.RE
-.TP
-\f[CR]indent\f[R]
-if true, pandoc will use document class settings for indentation (the
-default LaTeX template otherwise removes indentation and adds space
-between paragraphs)
-.TP
-\f[CR]linestretch\f[R]
-adjusts line spacing using the \f[CR]setspace\f[R] package,
-e.g.\ \f[CR]1.25\f[R], \f[CR]1.5\f[R]
-.TP
-\f[CR]margin-left\f[R], \f[CR]margin-right\f[R], \f[CR]margin-top\f[R], \f[CR]margin-bottom\f[R]
-sets margins if \f[CR]geometry\f[R] is not used (otherwise
-\f[CR]geometry\f[R] overrides these)
-.TP
-\f[CR]pagestyle\f[R]
-control \f[CR]\[rs]pagestyle{}\f[R]: the default article class supports
-\f[CR]plain\f[R] (default), \f[CR]empty\f[R] (no running heads or page
-numbers), and \f[CR]headings\f[R] (section titles in running heads)
-.TP
-\f[CR]papersize\f[R]
-paper size, e.g.\ \f[CR]letter\f[R], \f[CR]a4\f[R]
-.TP
-\f[CR]secnumdepth\f[R]
-numbering depth for sections (with \f[CR]--number-sections\f[R] option
-or \f[CR]numbersections\f[R] variable)
-.TP
-\f[CR]beamerarticle\f[R]
-produce an article from Beamer slides
-.SS Fonts
-.TP
-\f[CR]fontenc\f[R]
-allows font encoding to be specified through \f[CR]fontenc\f[R] package
-(with \f[CR]pdflatex\f[R]); default is \f[CR]T1\f[R] (see LaTeX font
-encodings guide)
-.TP
-\f[CR]fontfamily\f[R]
-font package for use with \f[CR]pdflatex\f[R]: TeX Live includes many
-options, documented in the LaTeX Font Catalogue.
-The default is Latin Modern.
-.TP
-\f[CR]fontfamilyoptions\f[R]
-options for package used as \f[CR]fontfamily\f[R]; repeat for multiple
-options.
-For example, to use the Libertine font with proportional lowercase
-(old-style) figures through the \f[CR]libertinus\f[R] package:
-.RS
-.IP
-.EX
----
-fontfamily: libertinus
-fontfamilyoptions:
-- osf
-- p
-\&...
-.EE
-.RE
-.TP
-\f[CR]fontsize\f[R]
-font size for body text.
-The standard classes allow 10pt, 11pt, and 12pt.
-To use another size, set \f[CR]documentclass\f[R] to one of the
-KOMA-Script classes, such as \f[CR]scrartcl\f[R] or \f[CR]scrbook\f[R].
-.TP
-\f[CR]mainfont\f[R], \f[CR]sansfont\f[R], \f[CR]monofont\f[R], \f[CR]mathfont\f[R], \f[CR]CJKmainfont\f[R], \f[CR]CJKsansfont\f[R], \f[CR]CJKmonofont\f[R]
-font families for use with \f[CR]xelatex\f[R] or \f[CR]lualatex\f[R]:
-take the name of any system font, using the \f[CR]fontspec\f[R] package.
-\f[CR]CJKmainfont\f[R] uses the \f[CR]xecjk\f[R] package.
-.TP
-\f[CR]mainfontoptions\f[R], \f[CR]sansfontoptions\f[R], \f[CR]monofontoptions\f[R], \f[CR]mathfontoptions\f[R], \f[CR]CJKoptions\f[R]
-options to use with \f[CR]mainfont\f[R], \f[CR]sansfont\f[R],
-\f[CR]monofont\f[R], \f[CR]mathfont\f[R], \f[CR]CJKmainfont\f[R] in
-\f[CR]xelatex\f[R] and \f[CR]lualatex\f[R].
-Allow for any choices available through \f[CR]fontspec\f[R]; repeat for
-multiple options.
-For example, to use the TeX Gyre version of Palatino with lowercase
-figures:
-.RS
-.IP
-.EX
----
-mainfont: TeX Gyre Pagella
-mainfontoptions:
-- Numbers=Lowercase
-- Numbers=Proportional
-\&...
-.EE
-.RE
-.TP
-\f[CR]babelfonts\f[R]
-a map of Babel language names (e.g.\ \f[CR]chinese\f[R]) to the font to
-be used with the language:
-.RS
-.PP
-   *   *   *   *   *
-.PP
-babelfonts: chinese-hant: \[lq]Noto Serif CJK TC\[rq] russian: \[lq]Noto
-Serif\[rq] \&...
-.RE
-.TP
-\f[CR]microtypeoptions\f[R]
-options to pass to the microtype package
-.SS Links
-.TP
-\f[CR]colorlinks\f[R]
-add color to link text; automatically enabled if any of
-\f[CR]linkcolor\f[R], \f[CR]filecolor\f[R], \f[CR]citecolor\f[R],
-\f[CR]urlcolor\f[R], or \f[CR]toccolor\f[R] are set
-.TP
-\f[CR]boxlinks\f[R]
-add visible box around links (has no effect if \f[CR]colorlinks\f[R] is
-set)
-.TP
-\f[CR]linkcolor\f[R], \f[CR]filecolor\f[R], \f[CR]citecolor\f[R], \f[CR]urlcolor\f[R], \f[CR]toccolor\f[R]
-color for internal links, external links, citation links, linked URLs,
-and links in table of contents, respectively: uses options allowed by
-\f[CR]xcolor\f[R], including the \f[CR]dvipsnames\f[R],
-\f[CR]svgnames\f[R], and \f[CR]x11names\f[R] lists
-.TP
-\f[CR]links-as-notes\f[R]
-causes links to be printed as footnotes
-.TP
-\f[CR]urlstyle\f[R]
-style for URLs (e.g., \f[CR]tt\f[R], \f[CR]rm\f[R], \f[CR]sf\f[R], and,
-the default, \f[CR]same\f[R])
-.SS Front matter
-.TP
-\f[CR]lof\f[R], \f[CR]lot\f[R]
-include list of figures, list of tables
-.TP
-\f[CR]thanks\f[R]
-contents of acknowledgments footnote after document title
-.TP
-\f[CR]toc\f[R]
-include table of contents (can also be set using
-\f[CR]--toc/--table-of-contents\f[R])
-.TP
-\f[CR]toc-depth\f[R]
-level of section to include in table of contents
-.SS BibLaTeX Bibliographies
-These variables function when using BibLaTeX for citation rendering.
-.TP
-\f[CR]biblatexoptions\f[R]
-list of options for biblatex
-.TP
-\f[CR]biblio-style\f[R]
-bibliography style, when used with \f[CR]--natbib\f[R] and
-\f[CR]--biblatex\f[R]
-.TP
-\f[CR]biblio-title\f[R]
-bibliography title, when used with \f[CR]--natbib\f[R] and
-\f[CR]--biblatex\f[R]
-.TP
-\f[CR]bibliography\f[R]
-bibliography to use for resolving references
-.TP
-\f[CR]natbiboptions\f[R]
-list of options for natbib
-.SS Variables for ConTeXt
-Pandoc uses these variables when creating a PDF with ConTeXt.
-.TP
-\f[CR]fontsize\f[R]
-font size for body text (e.g.\ \f[CR]10pt\f[R], \f[CR]12pt\f[R])
-.TP
-\f[CR]headertext\f[R], \f[CR]footertext\f[R]
-text to be placed in running header or footer (see ConTeXt Headers and
-Footers); repeat up to four times for different placement
-.TP
-\f[CR]indenting\f[R]
-controls indentation of paragraphs, e.g.\ \f[CR]yes,small,next\f[R] (see
-ConTeXt Indentation); repeat for multiple options
-.TP
-\f[CR]interlinespace\f[R]
-adjusts line spacing, e.g.\ \f[CR]4ex\f[R] (using
-\f[CR]setupinterlinespace\f[R]); repeat for multiple options
-.TP
-\f[CR]layout\f[R]
-options for page margins and text arrangement (see ConTeXt Layout);
-repeat for multiple options
-.TP
-\f[CR]linkcolor\f[R], \f[CR]contrastcolor\f[R]
-color for links outside and inside a page, e.g.\ \f[CR]red\f[R],
-\f[CR]blue\f[R] (see ConTeXt Color)
-.TP
-\f[CR]linkstyle\f[R]
-typeface style for links, e.g.\ \f[CR]normal\f[R], \f[CR]bold\f[R],
-\f[CR]slanted\f[R], \f[CR]boldslanted\f[R], \f[CR]type\f[R],
-\f[CR]cap\f[R], \f[CR]small\f[R]
-.TP
-\f[CR]lof\f[R], \f[CR]lot\f[R]
-include list of figures, list of tables
-.TP
-\f[CR]mainfont\f[R], \f[CR]sansfont\f[R], \f[CR]monofont\f[R], \f[CR]mathfont\f[R]
-font families: take the name of any system font (see ConTeXt Font
-Switching)
-.TP
-\f[CR]margin-left\f[R], \f[CR]margin-right\f[R], \f[CR]margin-top\f[R], \f[CR]margin-bottom\f[R]
-sets margins, if \f[CR]layout\f[R] is not used (otherwise
-\f[CR]layout\f[R] overrides these)
-.TP
-\f[CR]pagenumbering\f[R]
-page number style and location (using \f[CR]setuppagenumbering\f[R]);
-repeat for multiple options
-.TP
-\f[CR]papersize\f[R]
-paper size, e.g.\ \f[CR]letter\f[R], \f[CR]A4\f[R], \f[CR]landscape\f[R]
-(see ConTeXt Paper Setup); repeat for multiple options
-.TP
-\f[CR]pdfa\f[R]
-adds to the preamble the setup necessary to generate PDF/A of the type
-specified, e.g.\ \f[CR]1a:2005\f[R], \f[CR]2a\f[R].
-If no type is specified (i.e.\ the value is set to True, by e.g.
-\f[CR]--metadata=pdfa\f[R] or \f[CR]pdfa: true\f[R] in a YAML metadata
-block), \f[CR]1b:2005\f[R] will be used as default, for reasons of
-backwards compatibility.
-Using \f[CR]--variable=pdfa\f[R] without specified value is not
-supported.
-To successfully generate PDF/A the required ICC color profiles have to
-be available and the content and all included files (such as images)
-have to be standard-conforming.
-The ICC profiles and output intent may be specified using the variables
-\f[CR]pdfaiccprofile\f[R] and \f[CR]pdfaintent\f[R].
-See also ConTeXt PDFA for more details.
-.TP
-\f[CR]pdfaiccprofile\f[R]
-when used in conjunction with \f[CR]pdfa\f[R], specifies the ICC profile
-to use in the PDF, e.g.\ \f[CR]default.cmyk\f[R].
-If left unspecified, \f[CR]sRGB.icc\f[R] is used as default.
-May be repeated to include multiple profiles.
-Note that the profiles have to be available on the system.
-They can be obtained from ConTeXt ICC Profiles.
-.TP
-\f[CR]pdfaintent\f[R]
-when used in conjunction with \f[CR]pdfa\f[R], specifies the output
-intent for the colors,
-e.g.\ \f[CR]ISO coated v2 300\[rs]letterpercent\[rs]space (ECI)\f[R] If
-left unspecified, \f[CR]sRGB IEC61966-2.1\f[R] is used as default.
-.TP
-\f[CR]toc\f[R]
-include table of contents (can also be set using
-\f[CR]--toc/--table-of-contents\f[R])
-.TP
-\f[CR]urlstyle\f[R]
-typeface style for links without link text, e.g.\ \f[CR]normal\f[R],
-\f[CR]bold\f[R], \f[CR]slanted\f[R], \f[CR]boldslanted\f[R],
-\f[CR]type\f[R], \f[CR]cap\f[R], \f[CR]small\f[R]
-.TP
-\f[CR]whitespace\f[R]
-spacing between paragraphs, e.g.\ \f[CR]none\f[R], \f[CR]small\f[R]
-(using \f[CR]setupwhitespace\f[R])
-.TP
-\f[CR]includesource\f[R]
-include all source documents as file attachments in the PDF file
-.SS Variables for \f[CR]wkhtmltopdf\f[R]
-Pandoc uses these variables when creating a PDF with
-\f[CR]wkhtmltopdf\f[R].
-The \f[CR]--css\f[R] option also affects the output.
-.TP
-\f[CR]footer-html\f[R], \f[CR]header-html\f[R]
-add information to the header and footer
-.TP
-\f[CR]margin-left\f[R], \f[CR]margin-right\f[R], \f[CR]margin-top\f[R], \f[CR]margin-bottom\f[R]
-set the page margins
-.TP
-\f[CR]papersize\f[R]
-sets the PDF paper size
-.SS Variables for man pages
-.TP
-\f[CR]adjusting\f[R]
-adjusts text to left (\f[CR]l\f[R]), right (\f[CR]r\f[R]), center
-(\f[CR]c\f[R]), or both (\f[CR]b\f[R]) margins
-.TP
-\f[CR]footer\f[R]
-footer in man pages
-.TP
-\f[CR]header\f[R]
-header in man pages
-.TP
-\f[CR]section\f[R]
-section number in man pages
-.SS Variables for Typst
-.TP
-\f[CR]margin\f[R]
-A dictionary with the fields defined in the Typst documentation:
-\f[CR]x\f[R], \f[CR]y\f[R], \f[CR]top\f[R], \f[CR]bottom\f[R],
-\f[CR]left\f[R], \f[CR]right\f[R].
-.TP
-\f[CR]papersize\f[R]
-Paper size: \f[CR]a4\f[R], \f[CR]us-letter\f[R], etc.
-.TP
-\f[CR]mainfont\f[R]
-Name of system font to use for the main font.
-.TP
-\f[CR]fontsize\f[R]
-Font size (e.g., \f[CR]12pt\f[R]).
-.TP
-\f[CR]section-numbering\f[R]
-Schema to use for numbering sections, e.g.\ \f[CR]1.A.1\f[R].
-.TP
-\f[CR]columns\f[R]
-Number of columns for body text.
-.SS Variables for ms
-.TP
-\f[CR]fontfamily\f[R]
-\f[CR]A\f[R] (Avant Garde), \f[CR]B\f[R] (Bookman), \f[CR]C\f[R]
-(Helvetica), \f[CR]HN\f[R] (Helvetica Narrow), \f[CR]P\f[R] (Palatino),
-or \f[CR]T\f[R] (Times New Roman).
-This setting does not affect source code, which is always displayed
-using monospace Courier.
-These built-in fonts are limited in their coverage of characters.
-Additional fonts may be installed using the script
-\f[CR]install-font.sh\f[R] provided by Peter Schaffter and documented in
-detail on his web site.
-.TP
-\f[CR]indent\f[R]
-paragraph indent (e.g.\ \f[CR]2m\f[R])
-.TP
-\f[CR]lineheight\f[R]
-line height (e.g.\ \f[CR]12p\f[R])
-.TP
-\f[CR]pointsize\f[R]
-point size (e.g.\ \f[CR]10p\f[R])
-.SS Variables set automatically
-Pandoc sets these variables automatically in response to options or
-document contents; users can also modify them.
-These vary depending on the output format, and include the following:
-.TP
-\f[CR]body\f[R]
-body of document
-.TP
-\f[CR]date-meta\f[R]
-the \f[CR]date\f[R] variable converted to ISO 8601 YYYY-MM-DD, included
-in all HTML based formats (dzslides, epub, html, html4, html5, revealjs,
-s5, slideous, slidy).
-The recognized formats for \f[CR]date\f[R] are: \f[CR]mm/dd/yyyy\f[R],
-\f[CR]mm/dd/yy\f[R], \f[CR]yyyy-mm-dd\f[R] (ISO 8601),
-\f[CR]dd MM yyyy\f[R] (e.g.\ either \f[CR]02 Apr 2018\f[R] or
-\f[CR]02 April 2018\f[R]), \f[CR]MM dd, yyyy\f[R]
-(e.g.\ \f[CR]Apr. 02, 2018\f[R] or
-\f[CR]April 02, 2018),\f[R]yyyy[mm[dd]]\f[CR](e.g.\f[R]20180402,
-\f[CR]201804\f[R] or \f[CR]2018\f[R]).
-.TP
-\f[CR]header-includes\f[R]
-contents specified by \f[CR]-H/--include-in-header\f[R] (may have
-multiple values)
-.TP
-\f[CR]include-before\f[R]
-contents specified by \f[CR]-B/--include-before-body\f[R] (may have
-multiple values)
-.TP
-\f[CR]include-after\f[R]
-contents specified by \f[CR]-A/--include-after-body\f[R] (may have
-multiple values)
-.TP
-\f[CR]meta-json\f[R]
-JSON representation of all of the document\[cq]s metadata.
-Field values are transformed to the selected output format.
-.TP
-\f[CR]numbersections\f[R]
-non-null value if \f[CR]-N/--number-sections\f[R] was specified
-.TP
-\f[CR]sourcefile\f[R], \f[CR]outputfile\f[R]
-source and destination filenames, as given on the command line.
-\f[CR]sourcefile\f[R] can also be a list if input comes from multiple
-files, or empty if input is from stdin.
-You can use the following snippet in your template to distinguish them:
-.RS
-.IP
-.EX
-$if(sourcefile)$
-$for(sourcefile)$
-$sourcefile$
-$endfor$
-$else$
-(stdin)
-$endif$
-.EE
-.PP
-Similarly, \f[CR]outputfile\f[R] can be \f[CR]-\f[R] if output goes to
-the terminal.
-.PP
-If you need absolute paths, use e.g.\ \f[CR]$curdir$/$sourcefile$\f[R].
-.RE
-.TP
-\f[CR]curdir\f[R]
-working directory from which pandoc is run.
-.TP
-\f[CR]pandoc-version\f[R]
-pandoc version.
-.TP
-\f[CR]toc\f[R]
-non-null value if \f[CR]--toc/--table-of-contents\f[R] was specified
-.TP
-\f[CR]toc-title\f[R]
-title of table of contents (works only with EPUB, HTML, revealjs,
-opendocument, odt, docx, pptx, beamer, LaTeX)
-.SH EXTENSIONS
-The behavior of some of the readers and writers can be adjusted by
-enabling or disabling various extensions.
-.PP
-An extension can be enabled by adding \f[CR]+EXTENSION\f[R] to the
-format name and disabled by adding \f[CR]-EXTENSION\f[R].
-For example, \f[CR]--from markdown_strict+footnotes\f[R] is strict
-Markdown with footnotes enabled, while
-\f[CR]--from markdown-footnotes-pipe_tables\f[R] is pandoc\[cq]s
-Markdown without footnotes or pipe tables.
-.PP
-The markdown reader and writer make by far the most use of extensions.
-Extensions only used by them are therefore covered in the section
-Pandoc\[cq]s Markdown below (see Markdown variants for
-\f[CR]commonmark\f[R] and \f[CR]gfm\f[R]).
-In the following, extensions that also work for other formats are
-covered.
-.PP
-Note that markdown extensions added to the \f[CR]ipynb\f[R] format
-affect Markdown cells in Jupyter notebooks (as do command-line options
-like \f[CR]--markdown-headings\f[R]).
-.SS Typography
-.SS Extension: \f[CR]smart\f[R]
-Interpret straight quotes as curly quotes, \f[CR]---\f[R] as em-dashes,
-\f[CR]--\f[R] as en-dashes, and \f[CR]...\f[R] as ellipses.
-Nonbreaking spaces are inserted after certain abbreviations, such as
-\[lq]Mr.\[rq]
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-input formats
-\f[CR]markdown\f[R], \f[CR]commonmark\f[R], \f[CR]latex\f[R],
-\f[CR]mediawiki\f[R], \f[CR]org\f[R], \f[CR]rst\f[R], \f[CR]twiki\f[R],
-\f[CR]html\f[R]
-.TP
-output formats
-\f[CR]markdown\f[R], \f[CR]latex\f[R], \f[CR]context\f[R],
-\f[CR]rst\f[R]
-.TP
-enabled by default in
-\f[CR]markdown\f[R], \f[CR]latex\f[R], \f[CR]context\f[R] (both input
-and output)
-.PP
-Note: If you are \f[I]writing\f[R] Markdown, then the \f[CR]smart\f[R]
-extension has the reverse effect: what would have been curly quotes
-comes out straight.
-.PP
-In LaTeX, \f[CR]smart\f[R] means to use the standard TeX ligatures for
-quotation marks (\f[CR]\[ga]\[ga]\f[R] and \f[CR]\[aq]\[aq]\f[R] for
-double quotes, \f[CR]\[ga]\f[R] and \f[CR]\[aq]\f[R] for single quotes)
-and dashes (\f[CR]--\f[R] for en-dash and \f[CR]---\f[R] for em-dash).
-If \f[CR]smart\f[R] is disabled, then in reading LaTeX pandoc will parse
-these characters literally.
-In writing LaTeX, enabling \f[CR]smart\f[R] tells pandoc to use the
-ligatures when possible; if \f[CR]smart\f[R] is disabled pandoc will use
-unicode quotation mark and dash characters.
-.SS Headings and sections
-.SS Extension: \f[CR]auto_identifiers\f[R]
-A heading without an explicitly specified identifier will be
-automatically assigned a unique identifier based on the heading text.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-input formats
-\f[CR]markdown\f[R], \f[CR]latex\f[R], \f[CR]rst\f[R],
-\f[CR]mediawiki\f[R], \f[CR]textile\f[R]
-.TP
-output formats
-\f[CR]markdown\f[R], \f[CR]muse\f[R]
-.TP
-enabled by default in
-\f[CR]markdown\f[R], \f[CR]muse\f[R]
-.PP
-The default algorithm used to derive the identifier from the heading
-text is:
-.IP \[bu] 2
-Remove all formatting, links, etc.
-.IP \[bu] 2
-Remove all footnotes.
-.IP \[bu] 2
-Remove all non-alphanumeric characters, 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[CR]section\f[R].
-.PP
-Thus, for example,
-.RS -14n
-.IP
-.EX
-  Heading                       Identifier
-  ----------------------------- -----------------------------
-  Heading identifiers in HTML   heading-identifiers-in-html
-  Maître d\[aq]hôtel                maître-dhôtel
-  *Dogs*?--in *my* house?       dogs--in-my-house
-  [HTML], [S5], or [RTF]?       html-s5-or-rtf
-  3. Applications               applications
-  33                            section
-.EE
-.RE
-.PP
-These rules should, in most cases, allow one to determine the identifier
-from the heading text.
-The exception is when several headings 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[CR]-1\f[R] appended; the third with
-\f[CR]-2\f[R]; and so on.
-.PP
-(However, a different algorithm is used if
-\f[CR]gfm_auto_identifiers\f[R] is enabled; see below.)
-.PP
-These identifiers are used to provide link targets in the table of
-contents generated by the \f[CR]--toc|--table-of-contents\f[R] 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
-.EX
-See the section on
-[heading identifiers](#heading-identifiers-in-html-latex-and-context).
-.EE
-.PP
-Note, however, that this method of providing links to sections works
-only in HTML, LaTeX, and ConTeXt formats.
-.PP
-If the \f[CR]--section-divs\f[R] option is specified, then each section
-will be wrapped in a \f[CR]section\f[R] (or a \f[CR]div\f[R], if
-\f[CR]html4\f[R] was specified), and the identifier will be attached to
-the enclosing \f[CR]<section>\f[R] (or \f[CR]<div>\f[R]) tag rather than
-the heading itself.
-This allows entire sections to be manipulated using JavaScript or
-treated differently in CSS.
-.SS Extension: \f[CR]ascii_identifiers\f[R]
-Causes the identifiers produced by \f[CR]auto_identifiers\f[R] to be
-pure ASCII.
-Accents are stripped off of accented Latin letters, and non-Latin
-letters are omitted.
-.SS Extension: \f[CR]gfm_auto_identifiers\f[R]
-Changes the algorithm used by \f[CR]auto_identifiers\f[R] to conform to
-GitHub\[cq]s method.
-Spaces are converted to dashes (\f[CR]-\f[R]), uppercase characters to
-lowercase characters, and punctuation characters other than \f[CR]-\f[R]
-and \f[CR]_\f[R] are removed.
-Emojis are replaced by their names.
-.SS Math Input
-The extensions \f[CR]tex_math_dollars\f[R], \f[CR]tex_math_gfm\f[R],
-\f[CR]tex_math_single_backslash\f[R], and
-\f[CR]tex_math_double_backslash\f[R] are described in the section about
-Pandoc\[cq]s Markdown.
-.PP
-However, they can also be used with HTML input.
-This is handy for reading web pages formatted using MathJax, for
-example.
-.SS Raw HTML/TeX
-The following extensions are described in more detail in their
-respective sections of Pandoc\[cq]s Markdown:
-.IP \[bu] 2
-\f[CR]raw_html\f[R] allows HTML elements which are not representable in
-pandoc\[cq]s AST to be parsed as raw HTML.
-By default, this is disabled for HTML input.
-.IP \[bu] 2
-\f[CR]raw_tex\f[R] allows raw LaTeX, TeX, and ConTeXt to be included in
-a document.
-This extension can be enabled/disabled for the following formats (in
-addition to \f[CR]markdown\f[R]):
-.RS 2
-.TP
-input formats
-\f[CR]latex\f[R], \f[CR]textile\f[R], \f[CR]html\f[R] (environments,
-\f[CR]\[rs]ref\f[R], and \f[CR]\[rs]eqref\f[R] only), \f[CR]ipynb\f[R]
-.TP
-output formats
-\f[CR]textile\f[R], \f[CR]commonmark\f[R]
-.PP
-Note: as applied to \f[CR]ipynb\f[R], \f[CR]raw_html\f[R] and
-\f[CR]raw_tex\f[R] affect not only raw TeX in markdown cells, but data
-with mime type \f[CR]text/html\f[R] in output cells.
-Since the \f[CR]ipynb\f[R] reader attempts to preserve the richest
-possible outputs when several options are given, you will get best
-results if you disable \f[CR]raw_html\f[R] and \f[CR]raw_tex\f[R] when
-converting to formats like \f[CR]docx\f[R] which don\[cq]t allow raw
-\f[CR]html\f[R] or \f[CR]tex\f[R].
-.RE
-.IP \[bu] 2
-\f[CR]native_divs\f[R] causes HTML \f[CR]div\f[R] elements to be parsed
-as native pandoc Div blocks.
-If you want them to be parsed as raw HTML, use
-\f[CR]-f html-native_divs+raw_html\f[R].
-.IP \[bu] 2
-\f[CR]native_spans\f[R] causes HTML \f[CR]span\f[R] elements to be
-parsed as native pandoc Span inlines.
-If you want them to be parsed as raw HTML, use
-\f[CR]-f html-native_spans+raw_html\f[R].
-If you want to drop all \f[CR]div\f[R]s and \f[CR]span\f[R]s when
-converting HTML to Markdown, you can use
-\f[CR]pandoc -f html-native_divs-native_spans -t markdown\f[R].
-.SS Literate Haskell support
-.SS Extension: \f[CR]literate_haskell\f[R]
-Treat the document as literate Haskell source.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-input formats
-\f[CR]markdown\f[R], \f[CR]rst\f[R], \f[CR]latex\f[R]
-.TP
-output formats
-\f[CR]markdown\f[R], \f[CR]rst\f[R], \f[CR]latex\f[R], \f[CR]html\f[R]
-.PP
-If you append \f[CR]+lhs\f[R] (or \f[CR]+literate_haskell\f[R]) to one
-of the formats above, pandoc will treat the document as literate Haskell
-source.
-This means that
-.IP \[bu] 2
-In Markdown input, \[lq]bird track\[rq] sections will be parsed as
-Haskell code rather than block quotations.
-Text between \f[CR]\[rs]begin{code}\f[R] and \f[CR]\[rs]end{code}\f[R]
-will also be treated as Haskell code.
-For ATX-style headings the character `=' will be used instead of `#'.
-.IP \[bu] 2
-In Markdown output, code blocks with classes \f[CR]haskell\f[R] and
-\f[CR]literate\f[R] 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, headings will be rendered setext-style (with underlines)
-rather than ATX-style (with `#' characters).
-(This is because ghc treats `#' characters in column 1 as introducing
-line numbers.)
-.IP \[bu] 2
-In restructured text input, \[lq]bird track\[rq] sections will be parsed
-as Haskell code.
-.IP \[bu] 2
-In restructured text output, code blocks with class \f[CR]haskell\f[R]
-will be rendered using bird tracks.
-.IP \[bu] 2
-In LaTeX input, text in \f[CR]code\f[R] environments will be parsed as
-Haskell code.
-.IP \[bu] 2
-In LaTeX output, code blocks with class \f[CR]haskell\f[R] will be
-rendered inside \f[CR]code\f[R] environments.
-.IP \[bu] 2
-In HTML output, code blocks with class \f[CR]haskell\f[R] will be
-rendered with class \f[CR]literatehaskell\f[R] and bird tracks.
-.PP
-Examples:
-.IP
-.EX
-pandoc -f markdown+lhs -t html
-.EE
-.PP
-reads literate Haskell source formatted with Markdown conventions and
-writes ordinary HTML (without bird tracks).
-.IP
-.EX
-pandoc -f markdown+lhs -t html+lhs
-.EE
-.PP
-writes HTML with the Haskell code in bird tracks, so it can be copied
-and pasted as literate Haskell source.
-.PP
-Note that GHC expects the bird tracks in the first column, so indented
-literate code blocks (e.g.\ inside an itemized environment) will not be
-picked up by the Haskell compiler.
-.SS Other extensions
-.SS Extension: \f[CR]empty_paragraphs\f[R]
-Allows empty paragraphs.
-By default empty paragraphs are omitted.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-input formats
-\f[CR]docx\f[R], \f[CR]html\f[R]
-.TP
-output formats
-\f[CR]docx\f[R], \f[CR]odt\f[R], \f[CR]opendocument\f[R],
-\f[CR]html\f[R]
-.SS Extension: \f[CR]native_numbering\f[R]
-Enables native numbering of figures and tables.
-Enumeration starts at 1.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-output formats
-\f[CR]odt\f[R], \f[CR]opendocument\f[R], \f[CR]docx\f[R]
-.SS Extension: \f[CR]xrefs_name\f[R]
-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.
-The original link text is replaced once the generated document is
-refreshed.
-This extension can be combined with \f[CR]xrefs_number\f[R] in which
-case numbers will appear before the name.
-.PP
-Text in cross-references is only made consistent with the referenced
-item once the document has been refreshed.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-output formats
-\f[CR]odt\f[R], \f[CR]opendocument\f[R]
-.SS Extension: \f[CR]xrefs_number\f[R]
-Links to headings, figures and tables inside the document are
-substituted with cross-references that will use the number of the
-referenced item.
-The original link text is discarded.
-This extension can be combined with \f[CR]xrefs_name\f[R] in which case
-the name or caption numbers will appear after the number.
-.PP
-For the \f[CR]xrefs_number\f[R] to be useful heading numbers must be
-enabled in the generated document, also table and figure captions must
-be enabled using for example the \f[CR]native_numbering\f[R] extension.
-.PP
-Numbers in cross-references are only visible in the final document once
-it has been refreshed.
-.PP
-This extension can be enabled/disabled for the following formats:
-.TP
-output formats
-\f[CR]odt\f[R], \f[CR]opendocument\f[R]
-.SS Extension: \f[CR]styles\f[R]
-When converting from docx, read all docx styles as divs (for paragraph
-styles) and spans (for character styles) regardless of whether pandoc
-understands the meaning of these styles.
-This can be used with docx custom styles.
-Disabled by default.
-.TP
-input formats
-\f[CR]docx\f[R]
-.SS Extension: \f[CR]amuse\f[R]
-In the \f[CR]muse\f[R] input format, this enables Text::Amuse extensions
-to Emacs Muse markup.
-.SS Extension: \f[CR]raw_markdown\f[R]
-In the \f[CR]ipynb\f[R] input format, this causes Markdown cells to be
-included as raw Markdown blocks (allowing lossless round-tripping)
-rather than being parsed.
-Use this only when you are targeting \f[CR]ipynb\f[R] or a
-markdown-based output format.
-.SS Extension: \f[CR]citations\f[R]
-When the \f[CR]citations\f[R] extension is enabled in \f[CR]org\f[R],
-org-cite and org-ref style citations will be parsed as native pandoc
-citations.
-.PP
-When \f[CR]citations\f[R] is enabled in \f[CR]docx\f[R], citations
-inserted by Zotero or Mendeley or EndNote plugins will be parsed as
-native pandoc citations.
-(Otherwise, the formatted citations generated by the bibliographic
-software will be parsed as regular text.)
-.SS Extension: \f[CR]fancy_lists\f[R]
-Some aspects of Pandoc\[cq]s Markdown fancy lists are also accepted in
-\f[CR]org\f[R] input, mimicking the option
-\f[CR]org-list-allow-alphabetical\f[R] in Emacs.
-As in Org Mode, enabling this extension allows lowercase and uppercase
-alphabetical markers for ordered lists to be parsed in addition to
-arabic ones.
-Note that for Org, this does not include roman numerals or the
-\f[CR]#\f[R] placeholder that are enabled by the extension in
-Pandoc\[cq]s Markdown.
-.SS Extension: \f[CR]element_citations\f[R]
-In the \f[CR]jats\f[R] output formats, this causes reference items to be
-replaced with \f[CR]<element-citation>\f[R] elements.
-These elements are not influenced by CSL styles, but all information on
-the item is included in tags.
-.SS Extension: \f[CR]ntb\f[R]
-In the \f[CR]context\f[R] output format this enables the use of Natural
-Tables (TABLE) instead of the default Extreme Tables (xtables).
-Natural tables allow more fine-grained global customization but come at
-a performance penalty compared to extreme tables.
-.SS Extension: \f[CR]tagging\f[R]
-Enabling this extension with \f[CR]context\f[R] output will produce
-markup suitable for the production of tagged PDFs.
-This includes additional markers for paragraphs and alternative markup
-for emphasized text.
-The \f[CR]emphasis-command\f[R] template variable is set if the
-extension is enabled.
-.SH PANDOC\[cq]S MARKDOWN
-Pandoc understands an extended and slightly revised version of John
-Gruber\[cq]s Markdown syntax.
-This document explains the syntax, noting differences from original
-Markdown.
-Except where noted, these differences can be suppressed by using the
-\f[CR]markdown_strict\f[R] format instead of \f[CR]markdown\f[R].
-Extensions can be enabled or disabled to specify the behavior more
-granularly.
-They are described in the following.
-See also Extensions above, for extensions that work also on other
-formats.
-.SS Philosophy
-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\[cq]s been marked up with tags or
-formatting instructions.
-\[en] John Gruber
-.RE
-.PP
-This principle has guided pandoc\[cq]s decisions in finding syntax for
-tables, footnotes, and other extensions.
-.PP
-There is, however, one respect in which pandoc\[cq]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
-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[CR]escaped_line_breaks\f[R]
-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 Headings
-There are two kinds of headings: Setext and ATX.
-.SS Setext-style headings
-A setext-style heading is a line of text \[lq]underlined\[rq] with a row
-of \f[CR]=\f[R] signs (for a level-one heading) or \f[CR]-\f[R] signs
-(for a level-two heading):
-.IP
-.EX
-A level-one heading
-===================
-
-A level-two heading
--------------------
-.EE
-.PP
-The heading text can contain inline formatting, such as emphasis (see
-Inline formatting, below).
-.SS ATX-style headings
-An ATX-style heading consists of one to six \f[CR]#\f[R] signs and a
-line of text, optionally followed by any number of \f[CR]#\f[R] signs.
-The number of \f[CR]#\f[R] signs at the beginning of the line is the
-heading level:
-.IP
-.EX
-## A level-two heading
-
-### A level-three heading ###
-.EE
-.PP
-As with setext-style headings, the heading text can contain formatting:
-.IP
-.EX
-# A level-one heading with a [link](/url) and *emphasis*
-.EE
-.SS Extension: \f[CR]blank_before_header\f[R]
-Original Markdown syntax does not require a blank line before a heading.
-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[CR]#\f[R] to end up at the beginning of a line by accident (perhaps
-through line wrapping).
-Consider, for example:
-.IP
-.EX
-I like several of their flavors of ice cream:
-#22, for example, and #5.
-.EE
-.SS Extension: \f[CR]space_in_atx_header\f[R]
-Many Markdown implementations do not require a space between the opening
-\f[CR]#\f[R]s of an ATX heading and the heading text, so that
-\f[CR]#5 bolt\f[R] and \f[CR]#hashtag\f[R] count as headings.
-With this extension, pandoc does require the space.
-.SS Heading identifiers
-See also the \f[CR]auto_identifiers\f[R] extension above.
-.SS Extension: \f[CR]header_attributes\f[R]
-Headings can be assigned attributes using this syntax at the end of the
-line containing the heading text:
-.IP
-.EX
-{#identifier .class .class key=value key=value}
-.EE
-.PP
-Thus, for example, the following headings will all be assigned the
-identifier \f[CR]foo\f[R]:
-.IP
-.EX
-# My heading {#foo}
-
-## My heading ##    {#foo}
-
-My other heading   {#foo}
----------------
-.EE
-.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\[cq]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, Jira markup, and AsciiDoc writers.
-.PP
-Headings with the class \f[CR]unnumbered\f[R] will not be numbered, even
-if \f[CR]--number-sections\f[R] is specified.
-A single hyphen (\f[CR]-\f[R]) in an attribute context is equivalent to
-\f[CR].unnumbered\f[R], and preferable in non-English documents.
-So,
-.IP
-.EX
-# My heading {-}
-.EE
-.PP
-is just the same as
-.IP
-.EX
-# My heading {.unnumbered}
-.EE
-.PP
-If the \f[CR]unlisted\f[R] class is present in addition to
-\f[CR]unnumbered\f[R], the heading will not be included in a table of
-contents.
-(Currently this feature is only implemented for certain formats: those
-based on LaTeX and HTML, PowerPoint, and RTF.)
-.SS Extension: \f[CR]implicit_header_references\f[R]
-Pandoc behaves as if reference links have been defined for each heading.
-So, to link to a heading
-.IP
-.EX
-# Heading identifiers in HTML
-.EE
-.PP
-you can simply write
-.IP
-.EX
-[Heading identifiers in HTML]
-.EE
-.PP
-or
-.IP
-.EX
-[Heading identifiers in HTML][]
-.EE
-.PP
-or
-.IP
-.EX
-[the section on heading identifiers][heading identifiers in
-HTML]
-.EE
-.PP
-instead of giving the identifier explicitly:
-.IP
-.EX
-[Heading identifiers in HTML](#heading-identifiers-in-html)
-.EE
-.PP
-If there are multiple headings 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
-heading references.
-So, in the following example, the link will point to \f[CR]bar\f[R], not
-to \f[CR]#foo\f[R]:
-.IP
-.EX
-# Foo
-
-[foo]: bar
-
-See [foo]
-.EE
-.SS Block quotations
-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 headings), with each line preceded by a \f[CR]>\f[R]
-character and an optional space.
-(The \f[CR]>\f[R] need not start at the left margin, but it should not
-be indented more than three spaces.)
-.IP
-.EX
-> This is a block quote. This
-> paragraph has two lines.
->
-> 1. This is a list inside a block quote.
-> 2. Second item.
-.EE
-.PP
-A \[lq]lazy\[rq] form, which requires the \f[CR]>\f[R] character only on
-the first line of each block, is also allowed:
-.IP
-.EX
-> This is a block quote. This
-paragraph has two lines.
-
-> 1. This is a list inside a block quote.
-2. Second item.
-.EE
-.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
-.EX
-> This is a block quote.
->
-> > A block quote within a block quote.
-.EE
-.PP
-If the \f[CR]>\f[R] 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[CR]>\f[R]:
-.IP
-.EX
->     code
-.EE
-.SS Extension: \f[CR]blank_before_blockquote\f[R]
-Original 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[CR]>\f[R] to end up at the beginning of a line by accident (perhaps
-through line wrapping).
-So, unless the \f[CR]markdown_strict\f[R] format is used, the following
-does not produce a nested block quote in pandoc:
-.IP
-.EX
-> This is a block quote.
->> Not nested, since \[ga]blank_before_blockquote\[ga] is enabled by default
-.EE
-.SS Verbatim (code) blocks
-.SS Indented code blocks
-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
-.EX
-    if (a > 3) {
-      moveShip(5 * gravity, DOWN);
-    }
-.EE
-.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[CR]fenced_code_blocks\f[R]
-In addition to standard indented code blocks, pandoc supports
-\f[I]fenced\f[R] code blocks.
-These begin with a row of three or more tildes (\f[CR]\[ti]\f[R]) 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
-.EX
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-if (a > 3) {
-  moveShip(5 * gravity, DOWN);
-}
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-.EE
-.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
-.EX
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-code including tildes
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-.EE
-.SS Extension: \f[CR]backtick_code_blocks\f[R]
-Same as \f[CR]fenced_code_blocks\f[R], but uses backticks
-(\f[CR]\[ga]\f[R]) instead of tildes (\f[CR]\[ti]\f[R]).
-.SS Extension: \f[CR]fenced_code_attributes\f[R]
-Optionally, you may attach attributes to fenced or backtick code block
-using this syntax:
-.IP
-.EX
-\[ti]\[ti]\[ti]\[ti] {#mycode .haskell .numberLines startFrom=\[dq]100\[dq]}
-qsort []     = []
-qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
-               qsort (filter (>= x) xs)
-\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]
-.EE
-.PP
-Here \f[CR]mycode\f[R] is an identifier, \f[CR]haskell\f[R] and
-\f[CR]numberLines\f[R] are classes, and \f[CR]startFrom\f[R] is an
-attribute with value \f[CR]100\f[R].
-Some output formats can use this information to do syntax highlighting.
-Currently, the only output formats that use this information are HTML,
-LaTeX, Docx, Ms, and PowerPoint.
-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, type
-\f[CR]pandoc --list-highlight-languages\f[R].)
-Otherwise, the code block above will appear as follows:
-.IP
-.EX
-<pre id=\[dq]mycode\[dq] class=\[dq]haskell numberLines\[dq] startFrom=\[dq]100\[dq]>
-  <code>
-  ...
-  </code>
-</pre>
-.EE
-.PP
-The \f[CR]numberLines\f[R] (or \f[CR]number-lines\f[R]) class will cause
-the lines of the code block to be numbered, starting with \f[CR]1\f[R]
-or the value of the \f[CR]startFrom\f[R] attribute.
-The \f[CR]lineAnchors\f[R] (or \f[CR]line-anchors\f[R]) class will cause
-the lines to be clickable anchors in HTML output.
-.PP
-A shortcut form can also be used for specifying the language of the code
-block:
-.IP
-.EX
-\[ga]\[ga]\[ga]haskell
-qsort [] = []
-\[ga]\[ga]\[ga]
-.EE
-.PP
-This is equivalent to:
-.IP
-.EX
-\[ga]\[ga]\[ga] {.haskell}
-qsort [] = []
-\[ga]\[ga]\[ga]
-.EE
-.PP
-This shortcut form may be combined with attributes:
-.IP
-.EX
-\[ga]\[ga]\[ga]haskell {.numberLines}
-qsort [] = []
-\[ga]\[ga]\[ga]
-.EE
-.PP
-Which is equivalent to:
-.IP
-.EX
-\[ga]\[ga]\[ga] {.haskell .numberLines}
-qsort [] = []
-\[ga]\[ga]\[ga]
-.EE
-.PP
-If the \f[CR]fenced_code_attributes\f[R] extension is disabled, but
-input contains class attribute(s) for the code block, the first class
-attribute will be printed after the opening fence as a bare word.
-.PP
-To prevent all highlighting, use the \f[CR]--no-highlight\f[R] flag.
-To set the highlighting style, use \f[CR]--highlight-style\f[R].
-For more information on highlighting, see Syntax highlighting, below.
-.SS Line blocks
-.SS Extension: \f[CR]line_blocks\f[R]
-A line block is a sequence of lines beginning with a vertical bar
-(\f[CR]|\f[R]) 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
-.EX
-| 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
-.EE
-.PP
-The lines can be hard-wrapped if needed, but the continuation line must
-begin with a space.
-.IP
-.EX
-| The Right Honorable Most Venerable and Righteous Samuel L.
-  Constable, Jr.
-| 200 Main St.
-| Berkeley, CA 94718
-.EE
-.PP
-Inline formatting (such as emphasis) is allowed in the content (though
-it can\[cq]t cross line boundaries).
-Block-level formatting (such as block quotes or lists) is not
-recognized.
-.PP
-This syntax is borrowed from reStructuredText.
-.SS Lists
-.SS Bullet lists
-A bullet list is a list of bulleted list items.
-A bulleted list item begins with a bullet (\f[CR]*\f[R], \f[CR]+\f[R],
-or \f[CR]-\f[R]).
-Here is a simple example:
-.IP
-.EX
-* one
-* two
-* three
-.EE
-.PP
-This will produce a \[lq]compact\[rq] list.
-If you want a \[lq]loose\[rq] list, in which each item is formatted as a
-paragraph, put spaces between the items:
-.IP
-.EX
-* one
-
-* two
-
-* three
-.EE
-.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
-.EX
-* here is my first
-  list item.
-* and my second.
-.EE
-.PP
-But Markdown also allows a \[lq]lazy\[rq] format:
-.IP
-.EX
-* here is my first
-list item.
-* and my second.
-.EE
-.SS Block content in list items
-A list item may contain multiple paragraphs and other block-level
-content.
-However, subsequent paragraphs must be preceded by a blank line and
-indented to line up with the first non-space content after the list
-marker.
-.IP
-.EX
-  * First paragraph.
-
-    Continued.
-
-  * Second paragraph. With a code block, which must be indented
-    eight spaces:
-
-        { code }
-.EE
-.PP
-Exception: if the list marker is followed by an indented code block,
-which must begin 5 spaces after the list marker, then subsequent
-paragraphs must begin two columns after the last character of the list
-marker:
-.IP
-.EX
-*     code
-
-  continuation paragraph
-.EE
-.PP
-List items may include other lists.
-In this case the preceding blank line is optional.
-The nested list must be indented to line up with the first non-space
-character after the list marker of the containing list item.
-.IP
-.EX
-* fruits
-  + apples
-    - macintosh
-    - red delicious
-  + pears
-  + peaches
-* vegetables
-  + broccoli
-  + chard
-.EE
-.PP
-As noted above, Markdown allows you to write list items
-\[lq]lazily,\[rq] 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
-.EX
-+ A lazy, lazy, list
-item.
-
-+ Another one; this looks
-bad but is legal.
-
-    Second paragraph of second
-list item.
-.EE
-.SS Ordered lists
-Ordered lists work just like bulleted lists, except that the items begin
-with enumerators rather than bullets.
-.PP
-In original 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
-.EX
-1.  one
-2.  two
-3.  three
-.EE
-.PP
-and this one:
-.IP
-.EX
-5.  one
-7.  two
-1.  three
-.EE
-.SS Extension: \f[CR]fancy_lists\f[R]
-Unlike original 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-parenthesis 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[CR]fancy_lists\f[R] extension also allows `\f[CR]#\f[R]' to be
-used as an ordered list marker in place of a numeral:
-.IP
-.EX
-#. one
-#. two
-.EE
-.PP
-Note: the `\f[CR]#\f[R]' ordered list marker doesn\[cq]t work with
-\f[CR]commonmark\f[R].
-.SS Extension: \f[CR]startnum\f[R]
-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
-.EX
- 9)  Ninth
-10)  Tenth
-11)  Eleventh
-       i. subone
-      ii. subtwo
-     iii. subthree
-.EE
-.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
-.EX
-(2) Two
-(5) Three
-1.  Four
-*   Five
-.EE
-.PP
-If default list markers are desired, use \f[CR]#.\f[R]:
-.IP
-.EX
-#.  one
-#.  two
-#.  three
-.EE
-.SS Extension: \f[CR]task_lists\f[R]
-Pandoc supports task lists, using the syntax of GitHub-Flavored
-Markdown.
-.IP
-.EX
-- [ ] an unchecked task list item
-- [x] checked item
-.EE
-.SS Definition lists
-.SS Extension: \f[CR]definition_lists\f[R]
-Pandoc supports definition lists, using the syntax of PHP Markdown Extra
-with some extensions.
-.IP
-.EX
-Term 1
-
-:   Definition 1
-
-Term 2 with *inline markup*
-
-:   Definition 2
-
-        { some code, part of Definition 2 }
-
-    Third paragraph of definition 2.
-.EE
-.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 (not including the first line) should be
-indented four spaces.
-However, as with other Markdown lists, you can \[lq]lazily\[rq] omit
-indentation except at the beginning of a paragraph or other block
-element:
-.IP
-.EX
-Term 1
-
-:   Definition
-with lazy continuation.
-
-    Second paragraph of the definition.
-.EE
-.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
-.EX
-Term 1
-  \[ti] Definition 1
-
-Term 2
-  \[ti] Definition 2a
-  \[ti] Definition 2b
-.EE
-.PP
-Note that space between items in a definition list is required.
-(A variant that loosens this requirement, but disallows \[lq]lazy\[rq]
-hard wrapping, can be activated with the
-\f[CR]compact_definition_lists\f[R] extension.)
-.SS Numbered example lists
-.SS Extension: \f[CR]example_lists\f[R]
-The special list marker \f[CR]\[at]\f[R] can be used for sequentially
-numbered examples.
-The first list item with a \f[CR]\[at]\f[R] marker will be numbered `1',
-the next `2', and so on, throughout the document.
-The numbered examples need not occur in a single list; each new list
-using \f[CR]\[at]\f[R] will take up where the last stopped.
-So, for example:
-.IP
-.EX
-(\[at])  My first example will be numbered (1).
-(\[at])  My second example will be numbered (2).
-
-Explanation of examples.
-
-(\[at])  My third example will be numbered (3).
-.EE
-.PP
-Numbered examples can be labeled and referred to elsewhere in the
-document:
-.IP
-.EX
-(\[at]good)  This is a good example.
-
-As (\[at]good) illustrates, ...
-.EE
-.PP
-The label can be any string of alphanumeric characters, underscores, or
-hyphens.
-.PP
-Note: continuation paragraphs in example lists must always be indented
-four spaces, regardless of the length of the list marker.
-That is, example lists always behave as if the
-\f[CR]four_space_rule\f[R] extension is set.
-This is because example labels tend to be long, and indenting content to
-the first non-space character after the label would be awkward.
-.SS Ending a list
-What if you want to put an indented code block after a list?
-.IP
-.EX
--   item one
--   item two
-
-    { my code block }
-.EE
-.PP
-Trouble!
-Here pandoc (like other Markdown implementations) will treat
-\f[CR]{ my code block }\f[R] as the second paragraph of item two, and
-not as a code block.
-.PP
-To \[lq]cut off\[rq] the list after item two, you can insert some
-non-indented content, like an HTML comment, which won\[cq]t produce
-visible output in any format:
-.IP
-.EX
--   item one
--   item two
-
-<!-- end of list -->
-
-    { my code block }
-.EE
-.PP
-You can use the same trick if you want two consecutive lists instead of
-one big list:
-.IP
-.EX
-1.  one
-2.  two
-3.  three
-
-<!-- -->
-
-1.  uno
-2.  dos
-3.  tres
-.EE
-.SS Horizontal rules
-A line containing a row of three or more \f[CR]*\f[R], \f[CR]-\f[R], or
-\f[CR]_\f[R] characters (optionally separated by spaces) produces a
-horizontal rule:
-.IP
-.EX
-*  *  *  *
-
----------------
-.EE
-.PP
-We strongly recommend that horizontal rules be separated from
-surrounding text by blank lines.
-If a horizontal rule is not followed by a blank line, pandoc may try to
-interpret the lines that follow as a YAML metadata block or a table.
-.SS Tables
-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[CR]table_captions\f[R]
-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[CR]Table:\f[R] (or
-\f[CR]table:\f[R] or just \f[CR]:\f[R]), which will be stripped off.
-It may appear either before or after the table.
-.SS Extension: \f[CR]simple_tables\f[R]
-Simple tables look like this:
-.IP
-.EX
-  Right     Left     Center     Default
--------     ------ ----------   -------
-     12     12        12            12
-    123     123       123          123
-      1     1          1             1
-
-Table:  Demonstration of simple table syntax.
-.EE
-.PP
-The header 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 header row may be omitted, provided a dashed line is used to
-end the table.
-For example:
-.IP
-.EX
--------     ------ ----------   -------
-     12     12        12             12
-    123     123       123           123
-      1     1          1              1
--------     ------ ----------   -------
-.EE
-.PP
-When the header row is 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[CR]multiline_tables\f[R]
-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).
-Here is an example:
-.IP
-.EX
--------------------------------------------------------------
- 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.
-.EE
-.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
-header row is 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
-The header may be omitted in multiline tables as well as simple tables:
-.IP
-.EX
------------ ------- --------------- -------------------------
-   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 a header.
-.EE
-.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[CR]grid_tables\f[R]
-Grid tables look like this:
-.IP
-.EX
-: Sample grid table.
-
-+---------------+---------------+--------------------+
-| Fruit         | Price         | Advantages         |
-+===============+===============+====================+
-| Bananas       | $1.34         | - built-in wrapper |
-|               |               | - bright color     |
-+---------------+---------------+--------------------+
-| Oranges       | $2.10         | - cures scurvy     |
-|               |               | - tasty            |
-+---------------+---------------+--------------------+
-.EE
-.PP
-The row of \f[CR]=\f[R]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.).
-.PP
-Cells can span multiple columns or rows:
-.IP
-.EX
-+---------------------+----------+
-| Property            | Earth    |
-+=============+=======+==========+
-|             | min   | -89.2 °C |
-| Temperature +-------+----------+
-| 1961-1990   | mean  | 14 °C    |
-|             +-------+----------+
-|             | max   | 56.7 °C  |
-+-------------+-------+----------+
-.EE
-.PP
-A table header may contain more than one row:
-.IP
-.EX
-+---------------------+-----------------------+
-| Location            | Temperature 1961-1990 |
-|                     | in degree Celsius     |
-|                     +-------+-------+-------+
-|                     | min   | mean  | max   |
-+=====================+=======+=======+=======+
-| Antarctica          | -89.2 | N/A   | 19.8  |
-+---------------------+-------+-------+-------+
-| Earth               | -89.2 | 14    | 56.7  |
-+---------------------+-------+-------+-------+
-.EE
-.PP
-Alignments can be specified as with pipe tables, by putting colons at
-the boundaries of the separator line after the header:
-.IP
-.EX
-+---------------+---------------+--------------------+
-| Right         | Left          | Centered           |
-+==============:+:==============+:==================:+
-| Bananas       | $1.34         | built-in wrapper   |
-+---------------+---------------+--------------------+
-.EE
-.PP
-For headerless tables, the colons go on the top line instead:
-.IP
-.EX
-+--------------:+:--------------+:------------------:+
-| Right         | Left          | Centered           |
-+---------------+---------------+--------------------+
-.EE
-.PP
-A table foot can be defined by enclosing it with separator lines that
-use \f[CR]=\f[R] instead of \f[CR]-\f[R]:
-.IP
-.EX
- +---------------+---------------+
- | Fruit         | Price         |
- +===============+===============+
- | Bananas       | $1.34         |
- +---------------+---------------+
- | Oranges       | $2.10         |
- +===============+===============+
- | Sum           | $3.44         |
- +===============+===============+
-.EE
-.PP
-The foot must always be placed at the very bottom of the table.
-.PP
-Grid tables can be created easily using Emacs\[cq] table-mode
-(\f[CR]M-x table-insert\f[R]).
-.SS Extension: \f[CR]pipe_tables\f[R]
-Pipe tables look like this:
-.IP
-.EX
-| Right | Left | Default | Center |
-|------:|:-----|---------|:------:|
-|   12  |  12  |    12   |    12  |
-|  123  |  123 |   123   |   123  |
-|    1  |    1 |     1   |     1  |
-
-  : Demonstration of pipe table syntax.
-.EE
-.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
-.EX
-fruit| price
------|-----:
-apple|2.05
-pear|1.37
-orange|3.09
-.EE
-.PP
-The cells of pipe tables cannot contain block elements like paragraphs
-and lists, and cannot span multiple lines.
-If any line of the markdown source is longer than the column width (see
-\f[CR]--columns\f[R]), then the table will take up the full text width
-and the cell contents will wrap, with the relative cell widths
-determined by the number of dashes in the line separating the table
-header from the table body.
-(For example \f[CR]---|-\f[R] would make the first column 3/4 and the
-second column 1/4 of the full text width.)
-On the other hand, if no lines are wider than column width, then cell
-contents will not be wrapped, and the cells will be sized to their
-contents.
-.PP
-Note: pandoc also recognizes pipe tables of the following form, as can
-be produced by Emacs\[cq] orgtbl-mode:
-.IP
-.EX
-| One | Two   |
-|-----+-------|
-| my  | table |
-| is  | nice  |
-.EE
-.PP
-The difference is that \f[CR]+\f[R] is used instead of \f[CR]|\f[R].
-Other orgtbl features are not supported.
-In particular, to get non-default column alignment, you\[cq]ll need to
-add colons as above.
-.SS Metadata blocks
-.SS Extension: \f[CR]pandoc_title_block\f[R]
-If the file begins with a title block
-.IP
-.EX
-% title
-% author(s) (separated by semicolons)
-% date
-.EE
-.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
-.EX
-%
-% Author
-.EE
-.IP
-.EX
-% My title
-%
-% June 15, 2006
-.EE
-.PP
-The title may occupy multiple lines, but continuation lines must begin
-with leading space, thus:
-.IP
-.EX
-% My title
-  on multiple lines
-.EE
-.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
-.EX
-% Author One
-  Author Two
-.EE
-.IP
-.EX
-% Author One; Author Two
-.EE
-.IP
-.EX
-% Author One;
-  Author Two
-.EE
-.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[CR]--standalone\f[R] (\f[CR]-s\f[R]) option is chosen.
-In HTML output, titles will appear twice: once in the document head
-\[en] this is the title that will appear at the top of the window in a
-browser \[en] and once at the beginning of the document body.
-The title in the document head can have an optional prefix attached
-(\f[CR]--title-prefix\f[R] or \f[CR]-T\f[R] option).
-The title in the body appears as an H1 element with class
-\[lq]title\[rq], so it can be suppressed or reformatted with CSS.
-If a title prefix is specified with \f[CR]-T\f[R] 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[CR]|\f[R]) should be used to separate the
-footer text from the header text.
-Thus,
-.IP
-.EX
-% PANDOC(1)
-.EE
-.PP
-will yield a man page with the title \f[CR]PANDOC\f[R] and section 1.
-.IP
-.EX
-% PANDOC(1) Pandoc User Manuals
-.EE
-.PP
-will also have \[lq]Pandoc User Manuals\[rq] in the footer.
-.IP
-.EX
-% PANDOC(1) Pandoc User Manuals | Version 4.0
-.EE
-.PP
-will also have \[lq]Version 4.0\[rq] in the header.
-.SS Extension: \f[CR]yaml_metadata_block\f[R]
-A YAML metadata block is a valid YAML object, delimited by a line of
-three hyphens (\f[CR]---\f[R]) at the top and a line of three hyphens
-(\f[CR]---\f[R]) or three dots (\f[CR]...\f[R]) at the bottom.
-The initial line \f[CR]---\f[R] must not be followed by a blank line.
-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.
-.PP
-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
-.EX
-pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html
-.EE
-.PP
-Just be sure that the YAML file begins with \f[CR]---\f[R] and ends with
-\f[CR]---\f[R] or \f[CR]...\f[R].
-Alternatively, you can use the \f[CR]--metadata-file\f[R] option.
-Using that approach however, you cannot reference content (like
-footnotes) from the main markdown input document.
-.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.)
-Field names must not be interpretable as YAML numbers or boolean values
-(so, for example, \f[CR]yes\f[R], \f[CR]True\f[R], and \f[CR]15\f[R]
-cannot be used as field names).
-.PP
-A document may contain multiple metadata blocks.
-If two metadata blocks attempt to set the same field, the value from the
-second block will be taken.
-.PP
-Each metadata block is handled internally as an independent YAML
-document.
-This means, for example, that any YAML anchors defined in a block cannot
-be referenced in another block.
-.PP
-When pandoc is used with \f[CR]-t markdown\f[R] to create a Markdown
-document, a YAML metadata block will be produced only if the
-\f[CR]-s/--standalone\f[R] 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, and
-if it contains a backslash escape, then it must be ensured that it is
-not treated as a YAML escape sequence.
-The pipe character (\f[CR]|\f[R]) 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 or
-block-level formatting:
-.IP
-.EX
----
-title:  \[aq]This is the title: it contains a colon\[aq]
-author:
-- Author One
-- Author Two
-keywords: [nothing, nothingness]
-abstract: |
-  This is the abstract.
-
-  It consists of two paragraphs.
-\&...
-.EE
-.PP
-The literal block after the \f[CR]|\f[R] must be indented relative to
-the line containing the \f[CR]|\f[R].
-If it is not, the YAML will be invalid and pandoc will not interpret it
-as metadata.
-For an overview of the complex rules governing YAML, see the Wikipedia
-entry on YAML syntax.
-.PP
-Template variables will be set automatically from the metadata.
-Thus, for example, in writing HTML, the variable \f[CR]abstract\f[R]
-will be set to the HTML equivalent of the Markdown in the
-\f[CR]abstract\f[R] field:
-.IP
-.EX
-<p>This is the abstract.</p>
-<p>It consists of two paragraphs.</p>
-.EE
-.PP
-Variables can contain arbitrary YAML structures, but the template must
-match this structure.
-The \f[CR]author\f[R] variable in the default templates expects a simple
-list or string, but can be changed to support more complicated
-structures.
-The following combination, for example, would add an affiliation to the
-author if one is given:
-.IP
-.EX
----
-title: The document title
-author:
-- name: Author One
-  affiliation: University of Somewhere
-- name: Author Two
-  affiliation: University of Nowhere
-\&...
-.EE
-.PP
-To use the structured authors in the example above, you would need a
-custom template:
-.IP
-.EX
-$for(author)$
-$if(author.name)$
-$author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$
-$else$
-$author$
-$endif$
-$endfor$
-.EE
-.PP
-Raw content to include in the document\[cq]s header may be specified
-using \f[CR]header-includes\f[R]; however, it is important to mark up
-this content as raw code for a particular output format, using the
-\f[CR]raw_attribute\f[R] extension, or it will be interpreted as
-markdown.
-For example:
-.IP
-.EX
-header-includes:
-- |
-  \[ga]\[ga]\[ga]{=latex}
-  \[rs]let\[rs]oldsection\[rs]section
-  \[rs]renewcommand{\[rs]section}[1]{\[rs]clearpage\[rs]oldsection{#1}}
-  \[ga]\[ga]\[ga]
-.EE
-.PP
-Note: the \f[CR]yaml_metadata_block\f[R] extension works with
-\f[CR]commonmark\f[R] as well as \f[CR]markdown\f[R] (and it is enabled
-by default in \f[CR]gfm\f[R] and \f[CR]commonmark_x\f[R]).
-However, in these formats the following restrictions apply:
-.IP \[bu] 2
-The YAML metadata block must occur at the beginning of the document (and
-there can be only one).
-If multiple files are given as arguments to pandoc, only the first can
-be a YAML metadata block.
-.IP \[bu] 2
-The leaf nodes of the YAML structure are parsed in isolation from each
-other and from the rest of the document.
-So, for example, you can\[cq]t use a reference link in these contexts if
-the link definition is somewhere else in the document.
-.SS Backslash escapes
-.SS Extension: \f[CR]all_symbols_escapable\f[R]
-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
-.EX
-*\[rs]*hello\[rs]**
-.EE
-.PP
-one will get
-.IP
-.EX
-<em>*hello*</em>
-.EE
-.PP
-instead of
-.IP
-.EX
-<strong>hello</strong>
-.EE
-.PP
-This rule is easier to remember than original Markdown\[cq]s rule, which
-allows only the following characters to be backslash-escaped:
-.IP
-.EX
-\[rs]\[ga]*_{}[]()>#+-.!
-.EE
-.PP
-(However, if the \f[CR]markdown_strict\f[R] format is used, the original
-Markdown rule will be used.)
-.PP
-A backslash-escaped space is parsed as a nonbreaking space.
-In TeX output, it will appear as \f[CR]\[ti]\f[R].
-In HTML and XML output, it will appear as a literal unicode nonbreaking
-space character (note that it will thus actually look
-\[lq]invisible\[rq] in the generated HTML source; you can still use the
-\f[CR]--ascii\f[R] command-line option to make it appear as an explicit
-entity).
-.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[CR]\[rs]\[rs]\f[R] and in HTML as
-\f[CR]<br />\f[R].
-This is a nice alternative to Markdown\[cq]s \[lq]invisible\[rq] way of
-indicating hard line breaks using two trailing spaces on a line.
-.PP
-Backslash escapes do not work in verbatim contexts.
-.SS Inline formatting
-.SS Emphasis
-To \f[I]emphasize\f[R] some text, surround it with \f[CR]*\f[R]s or
-\f[CR]_\f[R], like this:
-.IP
-.EX
-This text is _emphasized with underscores_, and this
-is *emphasized with asterisks*.
-.EE
-.PP
-Double \f[CR]*\f[R] or \f[CR]_\f[R] produces \f[B]strong emphasis\f[R]:
-.IP
-.EX
-This is **strong emphasis** and __with underscores__.
-.EE
-.PP
-A \f[CR]*\f[R] or \f[CR]_\f[R] character surrounded by spaces, or
-backslash-escaped, will not trigger emphasis:
-.IP
-.EX
-This is * not emphasized *, and \[rs]*neither is this\[rs]*.
-.EE
-.SS Extension: \f[CR]intraword_underscores\f[R]
-Because \f[CR]_\f[R] is sometimes used inside words and identifiers,
-pandoc does not interpret a \f[CR]_\f[R] surrounded by alphanumeric
-characters as an emphasis marker.
-If you want to emphasize just part of a word, use \f[CR]*\f[R]:
-.IP
-.EX
-feas*ible*, not feas*able*.
-.EE
-.SS Strikeout
-.SS Extension: \f[CR]strikeout\f[R]
-To strike out a section of text with a horizontal line, begin and end it
-with \f[CR]\[ti]\[ti]\f[R].
-Thus, for example,
-.IP
-.EX
-This \[ti]\[ti]is deleted text.\[ti]\[ti]
-.EE
-.SS Superscripts and subscripts
-.SS Extension: \f[CR]superscript\f[R], \f[CR]subscript\f[R]
-Superscripts may be written by surrounding the superscripted text by
-\f[CR]\[ha]\f[R] characters; subscripts may be written by surrounding
-the subscripted text by \f[CR]\[ti]\f[R] characters.
-Thus, for example,
-.IP
-.EX
-H\[ti]2\[ti]O is a liquid.  2\[ha]10\[ha] is 1024.
-.EE
-.PP
-The text between \f[CR]\[ha]...\[ha]\f[R] or \f[CR]\[ti]...\[ti]\f[R]
-may not contain spaces or newlines.
-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[CR]\[ti]\f[R] and \f[CR]\[ha]\f[R], and also bad
-interactions with footnotes.)
-Thus, if you want the letter P with `a cat' in subscripts, use
-\f[CR]P\[ti]a\[rs] cat\[ti]\f[R], not \f[CR]P\[ti]a cat\[ti]\f[R].
-.SS Verbatim
-To make a short span of text verbatim, put it inside backticks:
-.IP
-.EX
-What is the difference between \[ga]>>=\[ga] and \[ga]>>\[ga]?
-.EE
-.PP
-If the verbatim text includes a backtick, use double backticks:
-.IP
-.EX
-Here is a literal backtick \[ga]\[ga] \[ga] \[ga]\[ga].
-.EE
-.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
-.EX
-This is a backslash followed by an asterisk: \[ga]\[rs]*\[ga].
-.EE
-.SS Extension: \f[CR]inline_code_attributes\f[R]
-Attributes can be attached to verbatim text, just as with fenced code
-blocks:
-.IP
-.EX
-\[ga]<$>\[ga]{.haskell}
-.EE
-.SS Underline
-To underline text, use the \f[CR]underline\f[R] class:
-.IP
-.EX
-[Underline]{.underline}
-.EE
-.PP
-Or, without the \f[CR]bracketed_spans\f[R] extension (but with
-\f[CR]native_spans\f[R]):
-.IP
-.EX
-<span class=\[dq]underline\[dq]>Underline</span>
-.EE
-.PP
-This will work in all output formats that support underline.
-.SS Small caps
-To write small caps, use the \f[CR]smallcaps\f[R] class:
-.IP
-.EX
-[Small caps]{.smallcaps}
-.EE
-.PP
-Or, without the \f[CR]bracketed_spans\f[R] extension:
-.IP
-.EX
-<span class=\[dq]smallcaps\[dq]>Small caps</span>
-.EE
-.PP
-For compatibility with other Markdown flavors, CSS is also supported:
-.IP
-.EX
-<span style=\[dq]font-variant:small-caps;\[dq]>Small caps</span>
-.EE
-.PP
-This will work in all output formats that support small caps.
-.SS Highlighting
-To highlight text, use the \f[CR]mark\f[R] class:
-.IP
-.EX
-[Mark]{.mark}
-.EE
-.PP
-Or, without the \f[CR]bracketed_spans\f[R] extension (but with
-\f[CR]native_spans\f[R]):
-.IP
-.EX
-<span class=\[dq]mark\[dq]>Mark</span>
-.EE
-.PP
-This will work in all output formats that support highlighting.
-.SS Math
-.SS Extension: \f[CR]tex_math_dollars\f[R]
-Anything between two \f[CR]$\f[R] characters will be treated as TeX
-math.
-The opening \f[CR]$\f[R] must have a non-space character immediately to
-its right, while the closing \f[CR]$\f[R] must have a non-space
-character immediately to its left, and must not be followed immediately
-by a digit.
-Thus, \f[CR]$20,000 and $30,000\f[R] won\[cq]t parse as math.
-If for some reason you need to enclose text in literal \f[CR]$\f[R]
-characters, backslash-escape them and they won\[cq]t be treated as math
-delimiters.
-.PP
-For display math, use \f[CR]$$\f[R] delimiters.
-(In this case, the delimiters may be separated from the formula by
-whitespace.
-However, there can be no blank lines between the opening and closing
-\f[CR]$$\f[R] delimiters.)
-.PP
-TeX math will be printed in all output formats.
-How it is rendered depends on the output format:
-.TP
-LaTeX
-It will appear verbatim surrounded by \f[CR]\[rs](...\[rs])\f[R] (for
-inline math) or \f[CR]\[rs][...\[rs]]\f[R] (for display math).
-.TP
-Markdown, Emacs Org mode, ConTeXt, ZimWiki
-It will appear verbatim surrounded by \f[CR]$...$\f[R] (for inline math)
-or \f[CR]$$...$$\f[R] (for display math).
-.TP
-XWiki
-It will appear verbatim surrounded by
-\f[CR]{{formula}}..{{/formula}}\f[R].
-.TP
-reStructuredText
-It will be rendered using an interpreted text role \f[CR]:math:\f[R].
-.TP
-AsciiDoc
-For AsciiDoc output math will appear verbatim surrounded by
-\f[CR]latexmath:[...]\f[R].
-For \f[CR]asciidoc_legacy\f[R] the bracketed material will also include
-inline or display math delimiters.
-.TP
-Texinfo
-It will be rendered inside a \f[CR]\[at]math\f[R] command.
-.TP
-roff man, Jira markup
-It will be rendered verbatim without \f[CR]$\f[R]\[cq]s.
-.TP
-MediaWiki, DokuWiki
-It will be rendered inside \f[CR]<math>\f[R] tags.
-.TP
-Textile
-It will be rendered inside \f[CR]<span class=\[dq]math\[dq]>\f[R] tags.
-.TP
-RTF, OpenDocument
-It will be rendered, if possible, using Unicode characters, and will
-otherwise appear verbatim.
-.TP
-ODT
-It will be rendered, if possible, using MathML.
-.TP
-DocBook
-If the \f[CR]--mathml\f[R] flag is used, it will be rendered using
-MathML in an \f[CR]inlineequation\f[R] or \f[CR]informalequation\f[R]
-tag.
-Otherwise it will be rendered, if possible, using Unicode characters.
-.TP
-Docx and PowerPoint
-It will be rendered using OMML math markup.
-.TP
-FictionBook2
-If the \f[CR]--webtex\f[R] option is used, formulas are rendered as
-images using CodeCogs or other compatible web service, downloaded and
-embedded in the e-book.
-Otherwise, they will appear verbatim.
-.TP
-HTML, Slidy, DZSlides, S5, EPUB
-The way math is rendered in HTML will depend on the command-line options
-selected.
-Therefore see Math rendering in HTML above.
-.SS Raw HTML
-.SS Extension: \f[CR]raw_html\f[R]
-Markdown allows you to insert raw HTML (or DocBook) anywhere in a
-document (except verbatim contexts, where \f[CR]<\f[R], \f[CR]>\f[R],
-and \f[CR]&\f[R] 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, CommonMark, Emacs Org mode, and Textile
-output, and suppressed in other formats.
-.PP
-For a more explicit way of including raw HTML in a Markdown document,
-see the \f[CR]raw_attribute\f[R] extension.
-.PP
-In the CommonMark format, if \f[CR]raw_html\f[R] is enabled,
-superscripts, subscripts, strikeouts and small capitals will be
-represented as HTML.
-Otherwise, plain-text fallbacks will be used.
-Note that even if \f[CR]raw_html\f[R] is disabled, tables will be
-rendered with HTML syntax if they cannot use pipe syntax.
-.SS Extension: \f[CR]markdown_in_html_blocks\f[R]
-Original Markdown allows you to include HTML \[lq]blocks\[rq]: 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[CR]*\f[R] does not signify emphasis.
-.PP
-Pandoc behaves this way when the \f[CR]markdown_strict\f[R] format is
-used; but by default, pandoc interprets material between HTML block tags
-as Markdown.
-Thus, for example, pandoc will turn
-.IP
-.EX
-<table>
-<tr>
-<td>*one*</td>
-<td>[a link](https://google.com)</td>
-</tr>
-</table>
-.EE
-.PP
-into
-.IP
-.EX
-<table>
-<tr>
-<td><em>one</em></td>
-<td><a href=\[dq]https://google.com\[dq]>a link</a></td>
-</tr>
-</table>
-.EE
-.PP
-whereas \f[CR]Markdown.pl\f[R] will preserve it as is.
-.PP
-There is one exception to this rule: text between \f[CR]<script>\f[R],
-\f[CR]<style>\f[R], and \f[CR]<textarea>\f[R] tags is not interpreted as
-Markdown.
-.PP
-This departure from original Markdown should make it easier to mix
-Markdown with HTML block elements.
-For example, one can surround a block of Markdown text with
-\f[CR]<div>\f[R] tags without preventing it from being interpreted as
-Markdown.
-.SS Extension: \f[CR]native_divs\f[R]
-Use native pandoc \f[CR]Div\f[R] blocks for content inside
-\f[CR]<div>\f[R] tags.
-For the most part this should give the same output as
-\f[CR]markdown_in_html_blocks\f[R], but it makes it easier to write
-pandoc filters to manipulate groups of blocks.
-.SS Extension: \f[CR]native_spans\f[R]
-Use native pandoc \f[CR]Span\f[R] blocks for content inside
-\f[CR]<span>\f[R] tags.
-For the most part this should give the same output as
-\f[CR]raw_html\f[R], but it makes it easier to write pandoc filters to
-manipulate groups of inlines.
-.SS Extension: \f[CR]raw_tex\f[R]
-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
-.EX
-This result was proved in \[rs]cite{jones.1967}.
-.EE
-.PP
-Note that in LaTeX environments, like
-.IP
-.EX
-\[rs]begin{tabular}{|l|l|}\[rs]hline
-Age & Frequency \[rs]\[rs] \[rs]hline
-18--25  & 15 \[rs]\[rs]
-26--35  & 33 \[rs]\[rs]
-36--45  & 22 \[rs]\[rs] \[rs]hline
-\[rs]end{tabular}
-.EE
-.PP
-the material between the begin and end tags will be interpreted as raw
-LaTeX, not as Markdown.
-.PP
-For a more explicit and flexible way of including raw TeX in a Markdown
-document, see the \f[CR]raw_attribute\f[R] extension.
-.PP
-Inline LaTeX is ignored in output formats other than Markdown, LaTeX,
-Emacs Org mode, and ConTeXt.
-.SS Generic raw attribute
-.SS Extension: \f[CR]raw_attribute\f[R]
-Inline spans and fenced code blocks with a special kind of attribute
-will be parsed as raw content with the designated format.
-For example, the following produces a raw roff \f[CR]ms\f[R] block:
-.IP
-.EX
-\[ga]\[ga]\[ga]{=ms}
-\&.MYMACRO
-blah blah
-\[ga]\[ga]\[ga]
-.EE
-.PP
-And the following produces a raw \f[CR]html\f[R] inline element:
-.IP
-.EX
-This is \[ga]<a>html</a>\[ga]{=html}
-.EE
-.PP
-This can be useful to insert raw xml into \f[CR]docx\f[R] documents,
-e.g.
-a pagebreak:
-.IP
-.EX
-\[ga]\[ga]\[ga]{=openxml}
-<w:p>
-  <w:r>
-    <w:br w:type=\[dq]page\[dq]/>
-  </w:r>
-</w:p>
-\[ga]\[ga]\[ga]
-.EE
-.PP
-The format name should match the target format name (see
-\f[CR]-t/--to\f[R], above, for a list, or use
-\f[CR]pandoc --list-output-formats\f[R]).
-Use \f[CR]openxml\f[R] for \f[CR]docx\f[R] output,
-\f[CR]opendocument\f[R] for \f[CR]odt\f[R] output, \f[CR]html5\f[R] for
-\f[CR]epub3\f[R] output, \f[CR]html4\f[R] for \f[CR]epub2\f[R] output,
-and \f[CR]latex\f[R], \f[CR]beamer\f[R], \f[CR]ms\f[R], or
-\f[CR]html5\f[R] for \f[CR]pdf\f[R] output (depending on what you use
-for \f[CR]--pdf-engine\f[R]).
-.PP
-This extension presupposes that the relevant kind of inline code or
-fenced code block is enabled.
-Thus, for example, to use a raw attribute with a backtick code block,
-\f[CR]backtick_code_blocks\f[R] must be enabled.
-.PP
-The raw attribute cannot be combined with regular attributes.
-.SS LaTeX macros
-.SS Extension: \f[CR]latex_macros\f[R]
-When this extension is enabled, pandoc will parse LaTeX macro
-definitions and apply the resulting macros to all LaTeX math and raw
-LaTeX.
-So, for example, the following will work in all output formats, not just
-LaTeX:
-.IP
-.EX
-\[rs]newcommand{\[rs]tuple}[1]{\[rs]langle #1 \[rs]rangle}
-
-$\[rs]tuple{a, b, c}$
-.EE
-.PP
-Note that LaTeX macros will not be applied if they occur inside a raw
-span or block marked with the \f[CR]raw_attribute\f[R] extension.
-.PP
-When \f[CR]latex_macros\f[R] is disabled, the raw LaTeX and math will
-not have macros applied.
-This is usually a better approach when you are targeting LaTeX or PDF.
-.PP
-Macro definitions in LaTeX will be passed through as raw LaTeX only if
-\f[CR]latex_macros\f[R] is not enabled.
-Macro definitions in Markdown source (or other formats allowing
-\f[CR]raw_tex\f[R]) will be passed through regardless of whether
-\f[CR]latex_macros\f[R] is enabled.
-.SS Links
-Markdown allows links to be specified in several ways.
-.SS Automatic links
-If you enclose a URL or email address in pointy brackets, it will become
-a link:
-.IP
-.EX
-<https://google.com>
-<sam\[at]green.eggs.ham>
-.EE
-.SS Inline links
-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
-.EX
-This is an [inline link](/url), and here\[aq]s [one with
-a title](https://fsf.org \[dq]click here for a good time!\[dq]).
-.EE
-.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[CR]mailto\f[R]:
-.IP
-.EX
-[Write me!](mailto:sam\[at]green.eggs.ham)
-.EE
-.SS Reference links
-An \f[I]explicit\f[R] 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 cannot be space between the two unless the
-\f[CR]spaced_reference_links\f[R] extension is enabled.)
-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[CR]citations\f[R] extension is enabled): citations take precedence
-over link labels.
-.PP
-Here are some examples:
-.IP
-.EX
-[my label 1]: /foo/bar.html  \[dq]My title, optional\[dq]
-[my label 2]: /foo
-[my label 3]: https://fsf.org (The Free Software Foundation)
-[my label 4]: /bar#special  \[aq]A title in single quotes\[aq]
-.EE
-.PP
-The URL may optionally be surrounded by angle brackets:
-.IP
-.EX
-[my label 5]: <http://foo.bar.baz>
-.EE
-.PP
-The title may go on the next line:
-.IP
-.EX
-[my label 3]: https://fsf.org
-  \[dq]The Free Software Foundation\[dq]
-.EE
-.PP
-Note that link labels are not case sensitive.
-So, this will work:
-.IP
-.EX
-Here is [my link][FOO]
-
-[Foo]: /bar/baz
-.EE
-.PP
-In an \f[I]implicit\f[R] reference link, the second pair of brackets is
-empty:
-.IP
-.EX
-See [my website][].
-
-[my website]: http://foo.bar.baz
-.EE
-.PP
-Note: In \f[CR]Markdown.pl\f[R] 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
-.EX
-> My block [quote].
->
-> [quote]: /foo
-.EE
-.SS Extension: \f[CR]shortcut_reference_links\f[R]
-In a \f[I]shortcut\f[R] reference link, the second pair of brackets may
-be omitted entirely:
-.IP
-.EX
-See [my website].
-
-[my website]: http://foo.bar.baz
-.EE
-.SS Internal links
-To link to another section of the same document, use the automatically
-generated identifier (see Heading identifiers).
-For example:
-.IP
-.EX
-See the [Introduction](#introduction).
-.EE
-.PP
-or
-.IP
-.EX
-See the [Introduction].
-
-[Introduction]: #introduction
-.EE
-.PP
-Internal links are currently supported for HTML formats (including HTML
-slide shows and EPUB), LaTeX, and ConTeXt.
-.SS Images
-A link immediately preceded by a \f[CR]!\f[R] will be treated as an
-image.
-The link text will be used as the image\[cq]s alt text:
-.IP
-.EX
-![la lune](lalune.jpg \[dq]Voyage to the moon\[dq])
-
-![movie reel]
-
-[movie reel]: movie.gif
-.EE
-.SS Extension: \f[CR]implicit_figures\f[R]
-An image with nonempty alt text, occurring by itself in a paragraph,
-will be rendered as a figure with a caption.
-The image\[cq]s alt text will be used as the caption.
-.IP
-.EX
-![This is the caption](/url/of/image.png)
-.EE
-.PP
-How this is rendered depends on the output format.
-Some output formats (e.g.\ RTF) do not yet support figures.
-In those formats, you\[cq]ll just get an image in a paragraph by itself,
-with no caption.
-.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
-.EX
-![This image won\[aq]t be a figure](/url/of/image.png)\[rs]
-.EE
-.PP
-Note that in reveal.js slide shows, an image in a paragraph by itself
-that has the \f[CR]r-stretch\f[R] class will fill the screen, and the
-caption and figure tags will be omitted.
-.SS Extension: \f[CR]link_attributes\f[R]
-Attributes can be set on links and images:
-.IP
-.EX
-An inline ![image](foo.jpg){#id .class width=30 height=20px}
-and a reference ![image][ref] with attributes.
-
-[ref]: foo.jpg \[dq]optional title\[dq] {#id .class key=val key2=\[dq]val 2\[dq]}
-.EE
-.PP
-(This syntax is compatible with PHP Markdown Extra when only
-\f[CR]#id\f[R] and \f[CR].class\f[R] are used.)
-.PP
-For HTML and EPUB, all known HTML5 attributes except \f[CR]width\f[R]
-and \f[CR]height\f[R] (but including \f[CR]srcset\f[R] and
-\f[CR]sizes\f[R]) are passed through as is.
-Unknown attributes are passed through as custom attributes, with
-\f[CR]data-\f[R] prepended.
-The other writers ignore attributes that are not specifically supported
-by their output format.
-.PP
-The \f[CR]width\f[R] and \f[CR]height\f[R] 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[CR]px\f[R], \f[CR]cm\f[R], \f[CR]mm\f[R], \f[CR]in\f[R],
-\f[CR]inch\f[R] and \f[CR]%\f[R].
-There must not be any spaces between the number and the unit.
-For example:
-.IP
-.EX
-![](file.jpg){ width=50% }
-.EE
-.IP \[bu] 2
-Dimensions may be converted to a form that is compatible with the output
-format (for example, dimensions given in pixels will be converted to
-inches when converting HTML to LaTeX).
-Conversion between pixels and physical measurements is affected by the
-\f[CR]--dpi\f[R] option (by default, 96 dpi is assumed, unless the image
-itself contains dpi information).
-.IP \[bu] 2
-The \f[CR]%\f[R] unit is generally relative to some available space.
-For example the above example will render to the following.
-.RS 2
-.IP \[bu] 2
-HTML:
-\f[CR]<img href=\[dq]file.jpg\[dq] style=\[dq]width: 50%;\[dq] />\f[R]
-.IP \[bu] 2
-LaTeX:
-\f[CR]\[rs]includegraphics[width=0.5\[rs]textwidth,height=\[rs]textheight]{file.jpg}\f[R]
-(If you\[cq]re using a custom template, you need to configure
-\f[CR]graphicx\f[R] as in the default template.)
-.IP \[bu] 2
-ConTeXt:
-\f[CR]\[rs]externalfigure[file.jpg][width=0.5\[rs]textwidth]\f[R]
-.RE
-.IP \[bu] 2
-Some output formats have a notion of a class (ConTeXt) or a unique
-identifier (LaTeX \f[CR]\[rs]caption\f[R]), or both (HTML).
-.IP \[bu] 2
-When no \f[CR]width\f[R] or \f[CR]height\f[R] attributes are specified,
-the fallback is to look at the image resolution and the dpi metadata
-embedded in the image file.
-.SS Divs and Spans
-Using the \f[CR]native_divs\f[R] and \f[CR]native_spans\f[R] extensions
-(see above), HTML syntax can be used as part of markdown to create
-native \f[CR]Div\f[R] and \f[CR]Span\f[R] elements in the pandoc AST (as
-opposed to raw HTML).
-However, there is also nicer syntax available:
-.SS Extension: \f[CR]fenced_divs\f[R]
-Allow special fenced syntax for native \f[CR]Div\f[R] blocks.
-A Div starts with a fence containing at least three consecutive colons
-plus some attributes.
-The attributes may optionally be followed by another string of
-consecutive colons.
-.PP
-Note: the \f[CR]commonmark\f[R] parser doesn\[cq]t permit colons after
-the attributes.
-.PP
-The attribute syntax is exactly as in fenced code blocks (see Extension:
-\f[CR]fenced_code_attributes\f[R]).
-As with fenced code blocks, one can use either attributes in curly
-braces or a single unbraced word, which will be treated as a class name.
-The Div ends with another line containing a string of at least three
-consecutive colons.
-The fenced Div should be separated by blank lines from preceding and
-following blocks.
-.PP
-Example:
-.IP
-.EX
-::::: {#special .sidebar}
-Here is a paragraph.
-
-And another.
-:::::
-.EE
-.PP
-Fenced divs can be nested.
-Opening fences are distinguished because they \f[I]must\f[R] have
-attributes:
-.IP
-.EX
-::: Warning ::::::
-This is a warning.
-
-::: Danger
-This is a warning within a warning.
-:::
-::::::::::::::::::
-.EE
-.PP
-Fences without attributes are always closing fences.
-Unlike with fenced code blocks, the number of colons in the closing
-fence need not match the number in the opening fence.
-However, it can be helpful for visual clarity to use fences of different
-lengths to distinguish nested divs from their parents.
-.SS Extension: \f[CR]bracketed_spans\f[R]
-A bracketed sequence of inlines, as one would use to begin a link, will
-be treated as a \f[CR]Span\f[R] with attributes if it is followed
-immediately by attributes:
-.IP
-.EX
-[This is *some text*]{.class key=\[dq]val\[dq]}
-.EE
-.SS Footnotes
-.SS Extension: \f[CR]footnotes\f[R]
-Pandoc\[cq]s Markdown allows footnotes, using the following syntax:
-.IP
-.EX
-Here is a footnote reference,[\[ha]1] and another.[\[ha]longnote]
-
-[\[ha]1]: Here is the footnote.
-
-[\[ha]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.
-.EE
-.PP
-The identifiers in footnote references may not contain spaces, tabs,
-newlines, or the characters \f[CR]\[ha]\f[R], \f[CR][\f[R], or
-\f[CR]]\f[R].
-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.).
-Each footnote should be separated from surrounding content (including
-other footnotes) by blank lines.
-.SS Extension: \f[CR]inline_notes\f[R]
-Inline footnotes are also allowed (though, unlike regular notes, they
-cannot contain multiple paragraphs).
-The syntax is as follows:
-.IP
-.EX
-Here is an inline note.\[ha][Inline notes are easier to write, since
-you don\[aq]t have to pick an identifier and move down to type the
-note.]
-.EE
-.PP
-Inline and regular footnotes may be mixed freely.
-.SS Citation syntax
-.SS Extension: \f[CR]citations\f[R]
-To cite a bibliographic item with an identifier foo, use the syntax
-\f[CR]\[at]foo\f[R].
-Normal citations should be included in square brackets, with semicolons
-separating distinct items:
-.IP
-.EX
-Blah blah [\[at]doe99; \[at]smith2000; \[at]smith2004].
-.EE
-.PP
-How this is rendered depends on the citation style.
-In an author-date style, it might render as
-.IP
-.EX
-Blah blah (Doe 1999, Smith 2000, 2004).
-.EE
-.PP
-In a footnote style, it might render as
-.IP
-.EX
-Blah blah.[\[ha]1]
-
-[\[ha]1]:  John Doe, \[dq]Frogs,\[dq] *Journal of Amphibians* 44 (1999);
-Susan Smith, \[dq]Flies,\[dq] *Journal of Insects* (2000);
-Susan Smith, \[dq]Bees,\[dq] *Journal of Insects* (2004).
-.EE
-.PP
-See the CSL user documentation for more information about CSL styles and
-how they affect rendering.
-.PP
-Unless a citation key starts with a letter, digit, or \f[CR]_\f[R], and
-contains only alphanumerics and single internal punctuation characters
-(\f[CR]:.#$%&-+?<>\[ti]/\f[R]), it must be surrounded by curly braces,
-which are not considered part of the key.
-In \f[CR]\[at]Foo_bar.baz.\f[R], the key is \f[CR]Foo_bar.baz\f[R]
-because the final period is not \f[I]internal\f[R] punctuation, so it is
-not included in the key.
-In \f[CR]\[at]{Foo_bar.baz.}\f[R], the key is \f[CR]Foo_bar.baz.\f[R],
-including the final period.
-In \f[CR]\[at]Foo_bar--baz\f[R], the key is \f[CR]Foo_bar\f[R] because
-the repeated internal punctuation characters terminate the key.
-The curly braces are recommended if you use URLs as keys:
-\f[CR][\[at]{https://example.com/bib?name=foobar&date=2000}, p.  33]\f[R].
-.PP
-Citation items may optionally include a prefix, a locator, and a suffix.
-In
-.IP
-.EX
-Blah blah [see \[at]doe99, pp. 33-35 and *passim*; \[at]smith04, chap. 1].
-.EE
-.PP
-the first item (\f[CR]doe99\f[R]) has prefix \f[CR]see\f[R], locator
-\f[CR]pp.  33-35\f[R], and suffix \f[CR]and *passim*\f[R].
-The second item (\f[CR]smith04\f[R]) has locator \f[CR]chap. 1\f[R] and
-no prefix or suffix.
-.PP
-Pandoc uses some heuristics to separate the locator from the rest of the
-subject.
-It is sensitive to the locator terms defined in the CSL locale files.
-Either abbreviated or unabbreviated forms are accepted.
-In the \f[CR]en-US\f[R] locale, locator terms can be written in either
-singular or plural forms, as \f[CR]book\f[R],
-\f[CR]bk.\f[R]/\f[CR]bks.\f[R]; \f[CR]chapter\f[R],
-\f[CR]chap.\f[R]/\f[CR]chaps.\f[R]; \f[CR]column\f[R],
-\f[CR]col.\f[R]/\f[CR]cols.\f[R]; \f[CR]figure\f[R],
-\f[CR]fig.\f[R]/\f[CR]figs.\f[R]; \f[CR]folio\f[R],
-\f[CR]fol.\f[R]/\f[CR]fols.\f[R]; \f[CR]number\f[R],
-\f[CR]no.\f[R]/\f[CR]nos.\f[R]; \f[CR]line\f[R],
-\f[CR]l.\f[R]/\f[CR]ll.\f[R]; \f[CR]note\f[R],
-\f[CR]n.\f[R]/\f[CR]nn.\f[R]; \f[CR]opus\f[R],
-\f[CR]op.\f[R]/\f[CR]opp.\f[R]; \f[CR]page\f[R],
-\f[CR]p.\f[R]/\f[CR]pp.\f[R]; \f[CR]paragraph\f[R],
-\f[CR]para.\f[R]/\f[CR]paras.\f[R]; \f[CR]part\f[R],
-\f[CR]pt.\f[R]/\f[CR]pts.\f[R]; \f[CR]section\f[R],
-\f[CR]sec.\f[R]/\f[CR]secs.\f[R]; \f[CR]sub verbo\f[R],
-\f[CR]s.v.\f[R]/\f[CR]s.vv.\f[R]; \f[CR]verse\f[R],
-\f[CR]v.\f[R]/\f[CR]vv.\f[R]; \f[CR]volume\f[R],
-\f[CR]vol.\f[R]/\f[CR]vols.\f[R]; \f[CR]¶\f[R]/\f[CR]¶¶\f[R];
-\f[CR]§\f[R]/\f[CR]§§\f[R].
-If no locator term is used, \[lq]page\[rq] is assumed.
-.PP
-In complex cases, you can force something to be treated as a locator by
-enclosing it in curly braces or prevent parsing the suffix as locator by
-prepending curly braces:
-.IP
-.EX
-[\[at]smith{ii, A, D-Z}, with a suffix]
-[\[at]smith, {pp. iv, vi-xi, (xv)-(xvii)} with suffix here]
-[\[at]smith{}, 99 years later]
-.EE
-.PP
-A minus sign (\f[CR]-\f[R]) before the \f[CR]\[at]\f[R] will suppress
-mention of the author in the citation.
-This can be useful when the author is already mentioned in the text:
-.IP
-.EX
-Smith says blah [-\[at]smith04].
-.EE
-.PP
-You can also write an author-in-text citation, by omitting the square
-brackets:
-.IP
-.EX
-\[at]smith04 says blah.
-
-\[at]smith04 [p. 33] says blah.
-.EE
-.PP
-This will cause the author\[cq]s name to be rendered, followed by the
-bibliographical details.
-Use this form when you want to make the citation the subject of a
-sentence.
-.PP
-When you are using a note style, it is usually better to let citeproc
-create the footnotes from citations rather than writing an explicit
-note.
-If you do write an explicit note that contains a citation, note that
-normal citations will be put in parentheses, while author-in-text
-citations will not.
-For this reason, it is sometimes preferable to use the author-in-text
-style inside notes when using a note style.
-.SS Non-default extensions
-The following Markdown syntax extensions are not enabled by default in
-pandoc, but may be enabled by adding \f[CR]+EXTENSION\f[R] to the format
-name, where \f[CR]EXTENSION\f[R] is the name of the extension.
-Thus, for example, \f[CR]markdown+hard_line_breaks\f[R] is Markdown with
-hard line breaks.
-.SS Extension: \f[CR]rebase_relative_paths\f[R]
-Rewrite relative paths for Markdown links and images, depending on the
-path of the file containing the link or image link.
-For each link or image, pandoc will compute the directory of the
-containing file, relative to the working directory, and prepend the
-resulting path to the link or image path.
-.PP
-The use of this extension is best understood by example.
-Suppose you have a subdirectory for each chapter of a book,
-\f[CR]chap1\f[R], \f[CR]chap2\f[R], \f[CR]chap3\f[R].
-Each contains a file \f[CR]text.md\f[R] and a number of images used in
-the chapter.
-You would like to have \f[CR]![image](spider.jpg)\f[R] in
-\f[CR]chap1/text.md\f[R] refer to \f[CR]chap1/spider.jpg\f[R] and
-\f[CR]![image](spider.jpg)\f[R] in \f[CR]chap2/text.md\f[R] refer to
-\f[CR]chap2/spider.jpg\f[R].
-To do this, use
-.IP
-.EX
-pandoc chap*/*.md -f markdown+rebase_relative_paths
-.EE
-.PP
-Without this extension, you would have to use
-\f[CR]![image](chap1/spider.jpg)\f[R] in \f[CR]chap1/text.md\f[R] and
-\f[CR]![image](chap2/spider.jpg)\f[R] in \f[CR]chap2/text.md\f[R].
-Links with relative paths will be rewritten in the same way as images.
-.PP
-Absolute paths and URLs are not changed.
-Neither are empty paths or paths consisting entirely of a fragment,
-e.g., \f[CR]#foo\f[R].
-.PP
-Note that relative paths in reference links and images will be rewritten
-relative to the file containing the link reference definition, not the
-file containing the reference link or image itself, if these differ.
-.SS Extension: \f[CR]mark\f[R]
-To highlight out a section of text, begin and end it with with
-\f[CR]==\f[R].
-Thus, for example,
-.IP
-.EX
-This ==is deleted text.==
-.EE
-.SS Extension: \f[CR]attributes\f[R]
-Allows attributes to be attached to any inline or block-level element
-when parsing \f[CR]commonmark\f[R].
-The syntax for the attributes is the same as that used in
-\f[CR]header_attributes\f[R].
-.IP \[bu] 2
-Attributes that occur immediately after an inline element affect that
-element.
-If they follow a space, then they belong to the space.
-(Hence, this option subsumes \f[CR]inline_code_attributes\f[R] and
-\f[CR]link_attributes\f[R].)
-.IP \[bu] 2
-Attributes that occur immediately before a block element, on a line by
-themselves, affect that element.
-.IP \[bu] 2
-Consecutive attribute specifiers may be used, either for blocks or for
-inlines.
-Their attributes will be combined.
-.IP \[bu] 2
-Attributes that occur at the end of the text of a Setext or ATX heading
-(separated by whitespace from the text) affect the heading element.
-(Hence, this option subsumes \f[CR]header_attributes\f[R].)
-.IP \[bu] 2
-Attributes that occur after the opening fence in a fenced code block
-affect the code block element.
-(Hence, this option subsumes \f[CR]fenced_code_attributes\f[R].)
-.IP \[bu] 2
-Attributes that occur at the end of a reference link definition affect
-links that refer to that definition.
-.PP
-Note that pandoc\[cq]s AST does not currently allow attributes to be
-attached to arbitrary elements.
-Hence a Span or Div container will be added if needed.
-.SS Extension: \f[CR]old_dashes\f[R]
-Selects the pandoc <= 1.8.2.1 behavior for parsing smart dashes:
-\f[CR]-\f[R] before a numeral is an en-dash, and \f[CR]--\f[R] is an
-em-dash.
-This option only has an effect if \f[CR]smart\f[R] is enabled.
-It is selected automatically for \f[CR]textile\f[R] input.
-.SS Extension: \f[CR]angle_brackets_escapable\f[R]
-Allow \f[CR]<\f[R] and \f[CR]>\f[R] to be backslash-escaped, as they can
-be in GitHub flavored Markdown but not original Markdown.
-This is implied by pandoc\[cq]s default
-\f[CR]all_symbols_escapable\f[R].
-.SS Extension: \f[CR]lists_without_preceding_blankline\f[R]
-Allow a list to occur right after a paragraph, with no intervening blank
-space.
-.SS Extension: \f[CR]four_space_rule\f[R]
-Selects the pandoc <= 2.0 behavior for parsing lists, so that four
-spaces indent are needed for list item continuation paragraphs.
-.SS Extension: \f[CR]spaced_reference_links\f[R]
-Allow whitespace between the two components of a reference link, for
-example,
-.IP
-.EX
-[foo] [bar].
-.EE
-.SS Extension: \f[CR]hard_line_breaks\f[R]
-Causes all newlines within a paragraph to be interpreted as hard line
-breaks instead of spaces.
-.SS Extension: \f[CR]ignore_line_breaks\f[R]
-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[CR]east_asian_line_breaks\f[R]
-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[CR]ignore_line_breaks\f[R] for texts
-that include a mix of East Asian wide characters and other characters.
-.SS Extension: \f[CR]emoji\f[R]
-Parses textual emojis like \f[CR]:smile:\f[R] as Unicode emoticons.
-.SS Extension: \f[CR]tex_math_gfm\f[R]
-Supports two GitHub-specific formats for math.
-Inline math: \f[CR]$\[ga]e=mc\[ha]2\[ga]$\f[R].
-.PP
-Display math:
-.IP
-.EX
-\[ga]\[ga]\[ga] math
-e=mc\[ha]2
-\[ga]\[ga]\[ga]
-.EE
-.SS Extension: \f[CR]tex_math_single_backslash\f[R]
-Causes anything between \f[CR]\[rs](\f[R] and \f[CR]\[rs])\f[R] to be
-interpreted as inline TeX math, and anything between \f[CR]\[rs][\f[R]
-and \f[CR]\[rs]]\f[R] to be interpreted as display TeX math.
-Note: a drawback of this extension is that it precludes escaping
-\f[CR](\f[R] and \f[CR][\f[R].
-.SS Extension: \f[CR]tex_math_double_backslash\f[R]
-Causes anything between \f[CR]\[rs]\[rs](\f[R] and
-\f[CR]\[rs]\[rs])\f[R] to be interpreted as inline TeX math, and
-anything between \f[CR]\[rs]\[rs][\f[R] and \f[CR]\[rs]\[rs]]\f[R] to be
-interpreted as display TeX math.
-.SS Extension: \f[CR]markdown_attribute\f[R]
-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[CR]markdown=1\f[R].
-.SS Extension: \f[CR]mmd_title_block\f[R]
-Enables a MultiMarkdown style title block at the top of the document,
-for example:
-.IP
-.EX
-Title:   My title
-Author:  John Doe
-Date:    September 1, 2008
-Comment: This is a sample mmd title block, with
-         a field spanning multiple lines.
-.EE
-.PP
-See the MultiMarkdown documentation for details.
-If \f[CR]pandoc_title_block\f[R] or \f[CR]yaml_metadata_block\f[R] is
-enabled, it will take precedence over \f[CR]mmd_title_block\f[R].
-.SS Extension: \f[CR]abbreviations\f[R]
-Parses PHP Markdown Extra abbreviation keys, like
-.IP
-.EX
-*[HTML]: Hypertext Markup Language
-.EE
-.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[CR]autolink_bare_uris\f[R]
-Makes all absolute URIs into links, even when not surrounded by pointy
-braces \f[CR]<...>\f[R].
-.SS Extension: \f[CR]mmd_link_attributes\f[R]
-Parses multimarkdown style key-value attributes on link and image
-references.
-This extension should not be confused with the
-\f[CR]link_attributes\f[R] extension.
-.IP
-.EX
-This is a reference ![image][ref] with multimarkdown attributes.
-
-[ref]: https://path.to/image \[dq]Image title\[dq] width=20px height=30px
-       id=myId class=\[dq]myClass1 myClass2\[dq]
-.EE
-.SS Extension: \f[CR]mmd_header_identifiers\f[R]
-Parses multimarkdown style heading identifiers (in square brackets,
-after the heading but before any trailing \f[CR]#\f[R]s in an ATX
-heading).
-.SS Extension: \f[CR]compact_definition_lists\f[R]
-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 \[lq]tight\[rq] or \[lq]compact\[rq] 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 Extension: \f[CR]gutenberg\f[R]
-Use Project Gutenberg conventions for \f[CR]plain\f[R] output: all-caps
-for strong emphasis, surround by underscores for regular emphasis, add
-extra blank space around headings.
-.SS Extension: \f[CR]sourcepos\f[R]
-Include source position attributes when parsing \f[CR]commonmark\f[R].
-For elements that accept attributes, a \f[CR]data-pos\f[R] attribute is
-added; other elements are placed in a surrounding Div or Span element
-with a \f[CR]data-pos\f[R] attribute.
-.SS Extension: \f[CR]short_subsuperscripts\f[R]
-Parse multimarkdown style subscripts and superscripts, which start with
-a `\[ti]' or `\[ha]' character, respectively, and include the
-alphanumeric sequence that follows.
-For example:
-.IP
-.EX
-x\[ha]2 = 4
-.EE
-.PP
-or
-.IP
-.EX
-Oxygen is O\[ti]2.
-.EE
-.SS Extension: \f[CR]wikilinks_title_after_pipe\f[R]
-Pandoc supports multiple markdown wikilink syntaxes, regardless of
-whether the title is before or after the pipe.
-.PP
-Using \f[CR]--from=markdown+wikilinks_title_after_pipe\f[R] results in
-.IP
-.EX
-[[URL|title]]
-.EE
-.PP
-while using \f[CR]--from=markdown+wikilinks_title_before_pipe\f[R]
-results in
-.IP
-.EX
-[[title|URL]]
-.EE
-.SS Markdown variants
-In addition to pandoc\[cq]s extended Markdown, the following Markdown
-variants are supported:
-.IP \[bu] 2
-\f[CR]markdown_phpextra\f[R] (PHP Markdown Extra)
-.IP \[bu] 2
-\f[CR]markdown_github\f[R] (deprecated GitHub-Flavored Markdown)
-.IP \[bu] 2
-\f[CR]markdown_mmd\f[R] (MultiMarkdown)
-.IP \[bu] 2
-\f[CR]markdown_strict\f[R] (Markdown.pl)
-.IP \[bu] 2
-\f[CR]commonmark\f[R] (CommonMark)
-.IP \[bu] 2
-\f[CR]gfm\f[R] (Github-Flavored Markdown)
-.IP \[bu] 2
-\f[CR]commonmark_x\f[R] (CommonMark with many pandoc extensions)
-.PP
-To see which extensions are supported for a given format, and which are
-enabled by default, you can use the command
-.IP
-.EX
-pandoc --list-extensions=FORMAT
-.EE
-.PP
-where \f[CR]FORMAT\f[R] is replaced with the name of the format.
-.PP
-Note that the list of extensions for \f[CR]commonmark\f[R],
-\f[CR]gfm\f[R], and \f[CR]commonmark_x\f[R] are defined relative to
-default commonmark.
-So, for example, \f[CR]backtick_code_blocks\f[R] does not appear as an
-extension, since it is enabled by default and cannot be disabled.
-.SH CITATIONS
-When the \f[CR]--citeproc\f[R] option is used, pandoc can automatically
-generate citations and a bibliography in a number of styles.
-Basic usage is
-.IP
-.EX
-pandoc --citeproc myinput.txt
-.EE
-.PP
-To use this feature, you will need to have
-.IP \[bu] 2
-a document containing citations (see Citation syntax);
-.IP \[bu] 2
-a source of bibliographic data: either an external bibliography file or
-a list of \f[CR]references\f[R] in the document\[cq]s YAML metadata;
-.IP \[bu] 2
-optionally, a CSL citation style.
-.SS Specifying bibliographic data
-You can specify an external bibliography using the
-\f[CR]bibliography\f[R] metadata field in a YAML metadata section or the
-\f[CR]--bibliography\f[R] command line argument.
-If you want to use multiple bibliography files, you can supply multiple
-\f[CR]--bibliography\f[R] arguments or set \f[CR]bibliography\f[R]
-metadata field to YAML array.
-A bibliography may have any of these formats:
-.RS -14n
-.IP
-.EX
-  Format     File extension
-  ---------- ----------------
-  BibLaTeX   .bib
-  BibTeX     .bibtex
-  CSL JSON   .json
-  CSL YAML   .yaml
-  RIS        .ris
-.EE
-.RE
-.PP
-Note that \f[CR].bib\f[R] can be used with both BibTeX and BibLaTeX
-files; use the extension \f[CR].bibtex\f[R] to force interpretation as
-BibTeX.
-.PP
-In BibTeX and BibLaTeX databases, pandoc parses LaTeX markup inside
-fields such as \f[CR]title\f[R]; in CSL YAML databases, pandoc Markdown;
-and in CSL JSON databases, an HTML-like markup:
-.TP
-\f[CR]<i>...</i>\f[R]
-italics
-.TP
-\f[CR]<b>...</b>\f[R]
-bold
-.TP
-\f[CR]<span style=\[dq]font-variant:small-caps;\[dq]>...</span>\f[R] or \f[CR]<sc>...</sc>\f[R]
-small capitals
-.TP
-\f[CR]<sub>...</sub>\f[R]
-subscript
-.TP
-\f[CR]<sup>...</sup>\f[R]
-superscript
-.TP
-\f[CR]<span class=\[dq]nocase\[dq]>...</span>\f[R]
-prevent a phrase from being capitalized as title case
-.PP
-As an alternative to specifying a bibliography file using
-\f[CR]--bibliography\f[R] or the YAML metadata field
-\f[CR]bibliography\f[R], you can include the citation data directly in
-the \f[CR]references\f[R] field of the document\[cq]s YAML metadata.
-The field should contain an array of YAML-encoded references, for
-example:
-.IP
-.EX
----
-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: https://www.nature.com/articles/171737a0
-  language: en-GB
-\&...
-.EE
-.PP
-If both an external bibliography and inline (YAML metadata) references
-are provided, both will be used.
-In case of conflicting \f[CR]id\f[R]s, the inline references will take
-precedence.
-.PP
-Note that pandoc can be used to produce such a YAML metadata section
-from a BibTeX, BibLaTeX, or CSL JSON bibliography:
-.IP
-.EX
-pandoc chem.bib -s -f biblatex -t markdown
-pandoc chem.json -s -f csljson -t markdown
-.EE
-.PP
-Indeed, pandoc can convert between any of these citation formats:
-.IP
-.EX
-pandoc chem.bib -s -f biblatex -t csljson
-pandoc chem.yaml -s -f markdown -t biblatex
-.EE
-.PP
-Running pandoc on a bibliography file with the \f[CR]--citeproc\f[R]
-option will create a formatted bibliography in the format of your
-choice:
-.IP
-.EX
-pandoc chem.bib -s --citeproc -o chem.html
-pandoc chem.bib -s --citeproc -o chem.pdf
-.EE
-.SS Capitalization in titles
-If you are using a bibtex or biblatex bibliography, then observe the
-following rules:
-.IP \[bu] 2
-English titles should be in title case.
-Non-English titles should be in sentence case, and the \f[CR]langid\f[R]
-field in biblatex should be set to the relevant language.
-(The following values are treated as English: \f[CR]american\f[R],
-\f[CR]british\f[R], \f[CR]canadian\f[R], \f[CR]english\f[R],
-\f[CR]australian\f[R], \f[CR]newzealand\f[R], \f[CR]USenglish\f[R], or
-\f[CR]UKenglish\f[R].)
-.IP \[bu] 2
-As is standard with bibtex/biblatex, proper names should be protected
-with curly braces so that they won\[cq]t be lowercased in styles that
-call for sentence case.
-For example:
-.RS 2
-.IP
-.EX
-title = {My Dinner with {Andre}}
-.EE
-.RE
-.IP \[bu] 2
-In addition, words that should remain lowercase (or camelCase) should be
-protected:
-.RS 2
-.IP
-.EX
-title = {Spin Wave Dispersion on the {nm} Scale}
-.EE
-.PP
-Though this is not necessary in bibtex/biblatex, it is necessary with
-citeproc, which stores titles internally in sentence case, and converts
-to title case in styles that require it.
-Here we protect \[lq]nm\[rq] so that it doesn\[cq]t get converted to
-\[lq]Nm\[rq] at this stage.
-.RE
-.PP
-If you are using a CSL bibliography (either JSON or YAML), then observe
-the following rules:
-.IP \[bu] 2
-All titles should be in sentence case.
-.IP \[bu] 2
-Use the \f[CR]language\f[R] field for non-English titles to prevent
-their conversion to title case in styles that call for this.
-(Conversion happens only if \f[CR]language\f[R] begins with
-\f[CR]en\f[R] or is left empty.)
-.IP \[bu] 2
-Protect words that should not be converted to title case using this
-syntax:
-.RS 2
-.IP
-.EX
-Spin wave dispersion on the <span class=\[dq]nocase\[dq]>nm</span> scale
-.EE
-.RE
-.SS Conference Papers, Published vs.\ Unpublished
-For a formally published conference paper, use the biblatex entry type
-\f[CR]inproceedings\f[R] (which will be mapped to CSL
-\f[CR]paper-conference\f[R]).
-.PP
-For an unpublished manuscript, use the biblatex entry type
-\f[CR]unpublished\f[R] without an \f[CR]eventtitle\f[R] field (this
-entry type will be mapped to CSL \f[CR]manuscript\f[R]).
-.PP
-For a talk, an unpublished conference paper, or a poster presentation,
-use the biblatex entry type \f[CR]unpublished\f[R] with an
-\f[CR]eventtitle\f[R] field (this entry type will be mapped to CSL
-\f[CR]speech\f[R]).
-Use the biblatex \f[CR]type\f[R] field to indicate the type,
-e.g.\ \[lq]Paper\[rq], or \[lq]Poster\[rq].
-\f[CR]venue\f[R] and \f[CR]eventdate\f[R] may be useful too, though
-\f[CR]eventdate\f[R] will not be rendered by most CSL styles.
-Note that \f[CR]venue\f[R] is for the event\[cq]s venue, unlike
-\f[CR]location\f[R] which describes the publisher\[cq]s location; do not
-use the latter for an unpublished conference paper.
-.SS Specifying a citation style
-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[CR]--csl\f[R] option or the
-\f[CR]csl\f[R] (or \f[CR]citation-style\f[R]) metadata field.
-By default, pandoc will use the Chicago Manual of Style author-date
-format.
-(You can override this default by copying a CSL style of your choice to
-\f[CR]default.csl\f[R] in your user data directory.)
-The CSL project provides further information on finding and editing
-styles.
-.PP
-The \f[CR]--citation-abbreviations\f[R] option (or the
-\f[CR]citation-abbreviations\f[R] metadata field) may be used to specify
-a JSON file containing abbreviations of journals that should be used in
-formatted bibliographies when \f[CR]form=\[dq]short\[dq]\f[R] is
-specified.
-The format of the file can be illustrated with an example:
-.IP
-.EX
-{ \[dq]default\[dq]: {
-    \[dq]container-title\[dq]: {
-            \[dq]Lloyd\[aq]s Law Reports\[dq]: \[dq]Lloyd\[aq]s Rep\[dq],
-            \[dq]Estates Gazette\[dq]: \[dq]EG\[dq],
-            \[dq]Scots Law Times\[dq]: \[dq]SLT\[dq]
-    }
-  }
-}
-.EE
-.SS Citations in note styles
-Pandoc\[cq]s citation processing is designed to allow you to move
-between author-date, numerical, and note styles without modifying the
-markdown source.
-When you\[cq]re using a note style, avoid inserting footnotes manually.
-Instead, insert citations just as you would in an author-date
-style\[em]for example,
-.IP
-.EX
-Blah blah [\[at]foo, p. 33].
-.EE
-.PP
-The footnote will be created automatically.
-Pandoc will take care of removing the space and moving the note before
-or after the period, depending on the setting of
-\f[CR]notes-after-punctuation\f[R], as described below in Other relevant
-metadata fields.
-.PP
-In some cases you may need to put a citation inside a regular footnote.
-Normal citations in footnotes (such as \f[CR][\[at]foo, p. 33]\f[R])
-will be rendered in parentheses.
-In-text citations (such as \f[CR]\[at]foo [p. 33]\f[R]) will be rendered
-without parentheses.
-(A comma will be added if appropriate.)
-Thus:
-.IP
-.EX
-[\[ha]1]:  Some studies [\[at]foo; \[at]bar, p. 33] show that
-frubulicious zoosnaps are quantical.  For a survey
-of the literature, see \[at]baz [chap. 1].
-.EE
-.SS Placement of the bibliography
-If the style calls for a list of works cited, it will be placed in a div
-with id \f[CR]refs\f[R], if one exists:
-.IP
-.EX
-::: {#refs}
-:::
-.EE
-.PP
-Otherwise, it will be placed at the end of the document.
-Generation of the bibliography can be suppressed by setting
-\f[CR]suppress-bibliography: true\f[R] in the YAML metadata.
-.PP
-If you wish the bibliography to have a section heading, you can set
-\f[CR]reference-section-title\f[R] in the metadata, or put the heading
-at the beginning of the div with id \f[CR]refs\f[R] (if you are using
-it) or at the end of your document:
-.IP
-.EX
-last paragraph...
-
-# References
-.EE
-.PP
-The bibliography will be inserted after this heading.
-Note that the \f[CR]unnumbered\f[R] class will be added to this heading,
-so that the section will not be numbered.
-.PP
-If you want to put the bibliography into a variable in your template,
-one way to do that is to put the div with id \f[CR]refs\f[R] into a
-metadata field, e.g.
-.IP
-.EX
----
-refs: |
-   ::: {#refs}
-   :::
-\&...
-.EE
-.PP
-You can then put the variable \f[CR]$refs$\f[R] into your template where
-you want the bibliography to be placed.
-.SS Including uncited items in the bibliography
-If you want to include items in the bibliography without actually citing
-them in the body text, you can define a dummy \f[CR]nocite\f[R] metadata
-field and put the citations there:
-.IP
-.EX
----
-nocite: |
-  \[at]item1, \[at]item2
-\&...
-
-\[at]item3
-.EE
-.PP
-In this example, the document will contain a citation for
-\f[CR]item3\f[R] only, but the bibliography will contain entries for
-\f[CR]item1\f[R], \f[CR]item2\f[R], and \f[CR]item3\f[R].
-.PP
-It is possible to create a bibliography with all the citations, whether
-or not they appear in the document, by using a wildcard:
-.IP
-.EX
----
-nocite: |
-  \[at]*
-\&...
-.EE
-.PP
-For LaTeX output, you can also use \f[CR]natbib\f[R] or
-\f[CR]biblatex\f[R] to render the bibliography.
-In order to do so, specify bibliography files as outlined above, and add
-\f[CR]--natbib\f[R] or \f[CR]--biblatex\f[R] argument to pandoc
-invocation.
-Bear in mind that bibliography files have to be in either BibTeX (for
-\f[CR]--natbib\f[R]) or BibLaTeX (for \f[CR]--biblatex\f[R]) format.
-.SS Other relevant metadata fields
-A few other metadata fields affect bibliography formatting:
-.TP
-\f[CR]link-citations\f[R]
-If true, citations will be hyperlinked to the corresponding bibliography
-entries (for author-date and numerical styles only).
-Defaults to false.
-.TP
-\f[CR]link-bibliography\f[R]
-If true, DOIs, PMCIDs, PMID, and URLs in bibliographies will be rendered
-as hyperlinks.
-(If an entry contains a DOI, PMCID, PMID, or URL, but none of these
-fields are rendered by the style, then the title, or in the absence of a
-title the whole entry, will be hyperlinked.)
-Defaults to true.
-.TP
-\f[CR]lang\f[R]
-The \f[CR]lang\f[R] field will affect how the style is localized, for
-example in the translation of labels, the use of quotation marks, and
-the way items are sorted.
-(For backwards compatibility, \f[CR]locale\f[R] may be used instead of
-\f[CR]lang\f[R], but this use is deprecated.)
-.RS
-.PP
-A BCP 47 language tag is expected: for example, \f[CR]en\f[R],
-\f[CR]de\f[R], \f[CR]en-US\f[R], \f[CR]fr-CA\f[R], \f[CR]ug-Cyrl\f[R].
-The unicode extension syntax (after \f[CR]-u-\f[R]) may be used to
-specify options for collation (sorting) more precisely.
-Here are some examples:
-.IP \[bu] 2
-\f[CR]zh-u-co-pinyin\f[R] \[en] Chinese with the Pinyin collation.
-.IP \[bu] 2
-\f[CR]es-u-co-trad\f[R] \[en] Spanish with the traditional collation
-(with \f[CR]Ch\f[R] sorting after \f[CR]C\f[R]).
-.IP \[bu] 2
-\f[CR]fr-u-kb\f[R] \[en] French with \[lq]backwards\[rq] accent sorting
-(with \f[CR]coté\f[R] sorting after \f[CR]côte\f[R]).
-.IP \[bu] 2
-\f[CR]en-US-u-kf-upper\f[R] \[en] English with uppercase letters sorting
-before lower (default is lower before upper).
-.RE
-.TP
-\f[CR]notes-after-punctuation\f[R]
-If true (the default for note styles), pandoc will put footnote
-references or superscripted numerical citations after following
-punctuation.
-For example, if the source contains
-\f[CR]blah blah [\[at]jones99].\f[R], the result will look like
-\f[CR]blah blah.[\[ha]1]\f[R], with the note moved after the period and
-the space collapsed.
-If false, the space will still be collapsed, but the footnote will not
-be moved after the punctuation.
-The option may also be used in numerical styles that use superscripts
-for citation numbers (but for these styles the default is not to move
-the citation).
-.SH SLIDE SHOWS
-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[CR]beamer\f[R], or
-slide shows in Microsoft PowerPoint format.
-.PP
-Here\[cq]s the Markdown source for a simple slide show,
-\f[CR]habits.txt\f[R]:
-.IP
-.EX
-% 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
-.EE
-.PP
-To produce an HTML/JavaScript slide show, simply type
-.IP
-.EX
-pandoc -t FORMAT -s habits.txt -o habits.html
-.EE
-.PP
-where \f[CR]FORMAT\f[R] is either \f[CR]s5\f[R], \f[CR]slidy\f[R],
-\f[CR]slideous\f[R], \f[CR]dzslides\f[R], or \f[CR]revealjs\f[R].
-.PP
-For Slidy, Slideous, reveal.js, and S5, the file produced by pandoc with
-the \f[CR]-s/--standalone\f[R] option embeds a link to JavaScript and
-CSS files, which are assumed to be available at the relative path
-\f[CR]s5/default\f[R] (for S5), \f[CR]slideous\f[R] (for Slideous),
-\f[CR]reveal.js\f[R] (for reveal.js), or at the Slidy website at
-\f[CR]w3.org\f[R] (for Slidy).
-(These paths can be changed by setting the \f[CR]slidy-url\f[R],
-\f[CR]slideous-url\f[R], \f[CR]revealjs-url\f[R], or \f[CR]s5-url\f[R]
-variables; see Variables for HTML 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[CR]--self-contained\f[R] 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
-.EX
-pandoc -t beamer habits.txt -o habits.pdf
-.EE
-.PP
-Note that a reveal.js slide show can also be converted to a PDF by
-printing it to a file from the browser.
-.PP
-To produce a PowerPoint slide show, type
-.IP
-.EX
-pandoc habits.txt -o habits.pptx
-.EE
-.SS Structuring the slide show
-By default, the \f[I]slide level\f[R] is the highest heading level in
-the hierarchy that is followed immediately by content, and not another
-heading, somewhere in the document.
-In the example above, level-1 headings are always followed by level-2
-headings, which are followed by content, so the slide level is 2.
-This default can be overridden using the \f[CR]--slide-level\f[R]
-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 heading at the slide level always starts a new slide.
-.IP \[bu] 2
-Headings \f[I]below\f[R] the slide level in the hierarchy create
-headings \f[I]within\f[R] a slide.
-(In beamer, a \[lq]block\[rq] will be created.
-If the heading has the class \f[CR]example\f[R], an
-\f[CR]exampleblock\f[R] environment will be used; if it has the class
-\f[CR]alert\f[R], an \f[CR]alertblock\f[R] will be used; otherwise a
-regular \f[CR]block\f[R] will be used.)
-.IP \[bu] 2
-Headings \f[I]above\f[R] the slide level in the hierarchy create
-\[lq]title slides,\[rq] which just contain the section title and help to
-break the slide show into sections.
-Non-slide content under these headings will be included on the title
-slide (for HTML slide shows) or in a subsequent slide with the same
-title (for beamer).
-.IP \[bu] 2
-A title page is constructed automatically from the document\[cq]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\[cq]t care about structuring your slides into sections and
-subsections, you can either just use level-1 headings for all slides (in
-that case, level 1 will be the slide level) or you can set
-\f[CR]--slide-level=0\f[R].
-.PP
-Note: in reveal.js slide shows, if slide level is 2, a two-dimensional
-layout will be produced, with level-1 headings building horizontally and
-level-2 headings building vertically.
-It is not recommended that you use deeper nesting of section levels with
-reveal.js unless you set \f[CR]--slide-level=0\f[R] (which lets
-reveal.js produce a one-dimensional layout and only interprets
-horizontal rules as slide boundaries).
-.SS PowerPoint layout choice
-When creating slides, the pptx writer chooses from a number of
-pre-defined layouts, based on the content of the slide:
-.TP
-Title Slide
-This layout is used for the initial slide, which is generated and filled
-from the metadata fields \f[CR]date\f[R], \f[CR]author\f[R], and
-\f[CR]title\f[R], if they are present.
-.TP
-Section Header
-This layout is used for what pandoc calls \[lq]title slides\[rq], i.e.
-slides which start with a header which is above the slide level in the
-hierarchy.
-.TP
-Two Content
-This layout is used for two-column slides, i.e.\ slides containing a div
-with class \f[CR]columns\f[R] which contains at least two divs with
-class \f[CR]column\f[R].
-.TP
-Comparison
-This layout is used instead of \[lq]Two Content\[rq] for any two-column
-slides in which at least one column contains text followed by non-text
-(e.g.\ an image or a table).
-.TP
-Content with Caption
-This layout is used for any non-two-column slides which contain text
-followed by non-text (e.g.\ an image or a table).
-.TP
-Blank
-This layout is used for any slides which only contain blank content,
-e.g.\ a slide containing only speaker notes, or a slide containing only
-a non-breaking space.
-.TP
-Title and Content
-This layout is used for all slides which do not match the criteria for
-another layout.
-.PP
-These layouts are chosen from the default pptx reference doc included
-with pandoc, unless an alternative reference doc is specified using
-\f[CR]--reference-doc\f[R].
-.SS Incremental lists
-By default, these writers produce lists that display \[lq]all at
-once.\[rq] If you want your lists to display incrementally (one item at
-a time), use the \f[CR]-i\f[R] option.
-If you want a particular list to depart from the default, put it in a
-\f[CR]div\f[R] block with class \f[CR]incremental\f[R] or
-\f[CR]nonincremental\f[R].
-So, for example, using the \f[CR]fenced div\f[R] syntax, the following
-would be incremental regardless of the document default:
-.IP
-.EX
-::: incremental
-
-- Eat spaghetti
-- Drink wine
-
-:::
-.EE
-.PP
-or
-.IP
-.EX
-::: nonincremental
-
-- Eat spaghetti
-- Drink wine
-
-:::
-.EE
-.PP
-While using \f[CR]incremental\f[R] and \f[CR]nonincremental\f[R] divs is
-the recommended method of setting incremental lists on a per-case basis,
-an older method is also supported: putting lists inside a blockquote
-will depart from the document default (that is, it will display
-incrementally without the \f[CR]-i\f[R] option and all at once with the
-\f[CR]-i\f[R] option):
-.IP
-.EX
-> - Eat spaghetti
-> - Drink wine
-.EE
-.PP
-Both methods allow incremental and nonincremental lists to be mixed in a
-single document.
-.PP
-If you want to include a block-quoted list, you can work around this
-behavior by putting the list inside a fenced div, so that it is not the
-direct child of the block quote:
-.IP
-.EX
-> ::: wrapper
-> - a
-> - list in a quote
-> :::
-.EE
-.SS Inserting pauses
-You can add \[lq]pauses\[rq] within a slide by including a paragraph
-containing three dots, separated by spaces:
-.IP
-.EX
-# Slide with a pause
-
-content before the pause
-
-\&. . .
-
-content after the pause
-.EE
-.PP
-Note: this feature is not yet implemented for PowerPoint output.
-.SS Styling the slides
-You can change the style of HTML slides by putting customized CSS files
-in \f[CR]$DATADIR/s5/default\f[R] (for S5), \f[CR]$DATADIR/slidy\f[R]
-(for Slidy), or \f[CR]$DATADIR/slideous\f[R] (for Slideous), where
-\f[CR]$DATADIR\f[R] is the user data directory (see
-\f[CR]--data-dir\f[R], above).
-The originals may be found in pandoc\[cq]s system data directory
-(generally \f[CR]$CABALDIR/pandoc-VERSION/s5/default\f[R]).
-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[CR]theme\f[R]
-variable:
-.IP
-.EX
--V theme=moon
-.EE
-.PP
-Or you can specify a custom stylesheet using the \f[CR]--css\f[R]
-option.
-.PP
-To style beamer slides, you can specify a \f[CR]theme\f[R],
-\f[CR]colortheme\f[R], \f[CR]fonttheme\f[R], \f[CR]innertheme\f[R], and
-\f[CR]outertheme\f[R], using the \f[CR]-V\f[R] option:
-.IP
-.EX
-pandoc -t beamer habits.txt -V theme:Warsaw -o habits.pdf
-.EE
-.PP
-Note that heading attributes will turn into slide attributes (on a
-\f[CR]<div>\f[R] or \f[CR]<section>\f[R]) in HTML slide formats,
-allowing you to style individual slides.
-In beamer, a number of heading classes and attributes are recognized as
-frame options and will be passed through as options to the frame: see
-Frame attributes in beamer, below.
-.SS Speaker notes
-Speaker notes are supported in reveal.js, PowerPoint (pptx), and beamer
-output.
-You can add notes to your Markdown document thus:
-.IP
-.EX
-::: notes
-
-This is my note.
-
-- It can contain Markdown
-- like this list
-
-:::
-.EE
-.PP
-To show the notes window in reveal.js, press \f[CR]s\f[R] while viewing
-the presentation.
-Speaker notes in PowerPoint will be available, as usual, in handouts and
-presenter view.
-.PP
-Notes are not yet supported for other slide formats, but the notes will
-not appear on the slides themselves.
-.SS Columns
-To put material in side by side columns, you can use a native div
-container with class \f[CR]columns\f[R], containing two or more div
-containers with class \f[CR]column\f[R] and a \f[CR]width\f[R]
-attribute:
-.IP
-.EX
-:::::::::::::: {.columns}
-::: {.column width=\[dq]40%\[dq]}
-contents...
-:::
-::: {.column width=\[dq]60%\[dq]}
-contents...
-:::
-::::::::::::::
-.EE
-.SS Additional columns attributes in beamer
-The div containers with classes \f[CR]columns\f[R] and \f[CR]column\f[R]
-can optionally have an \f[CR]align\f[R] attribute.
-The class \f[CR]columns\f[R] can optionally have a \f[CR]totalwidth\f[R]
-attribute or an \f[CR]onlytextwidth\f[R] class.
-.IP
-.EX
-:::::::::::::: {.columns align=center totalwidth=8em}
-::: {.column width=\[dq]40%\[dq]}
-contents...
-:::
-::: {.column width=\[dq]60%\[dq] align=bottom}
-contents...
-:::
-::::::::::::::
-.EE
-.PP
-The \f[CR]align\f[R] attributes on \f[CR]columns\f[R] and
-\f[CR]column\f[R] can be used with the values \f[CR]top\f[R],
-\f[CR]top-baseline\f[R], \f[CR]center\f[R] and \f[CR]bottom\f[R] to
-vertically align the columns.
-It defaults to \f[CR]top\f[R] in \f[CR]columns\f[R].
-.PP
-The \f[CR]totalwidth\f[R] attribute limits the width of the columns to
-the given value.
-.IP
-.EX
-:::::::::::::: {.columns align=top .onlytextwidth}
-::: {.column width=\[dq]40%\[dq] align=center}
-contents...
-:::
-::: {.column width=\[dq]60%\[dq]}
-contents...
-:::
-::::::::::::::
-.EE
-.PP
-The class \f[CR]onlytextwidth\f[R] sets the \f[CR]totalwidth\f[R] to
-\f[CR]\[rs]textwidth\f[R].
-.PP
-See Section 12.7 of the Beamer User\[cq]s Guide for more details.
-.SS Frame attributes in beamer
-Sometimes it is necessary to add the LaTeX \f[CR][fragile]\f[R] option
-to a frame in beamer (for example, when using the \f[CR]minted\f[R]
-environment).
-This can be forced by adding the \f[CR]fragile\f[R] class to the heading
-introducing the slide:
-.IP
-.EX
-# Fragile slide {.fragile}
-.EE
-.PP
-All of the other frame attributes described in Section 8.1 of the Beamer
-User\[cq]s Guide may also be used: \f[CR]allowdisplaybreaks\f[R],
-\f[CR]allowframebreaks\f[R], \f[CR]b\f[R], \f[CR]c\f[R], \f[CR]s\f[R],
-\f[CR]t\f[R], \f[CR]environment\f[R], \f[CR]label\f[R],
-\f[CR]plain\f[R], \f[CR]shrink\f[R], \f[CR]standout\f[R],
-\f[CR]noframenumbering\f[R], \f[CR]squeeze\f[R].
-\f[CR]allowframebreaks\f[R] is recommended especially for
-bibliographies, as it allows multiple slides to be created if the
-content overfills the frame:
-.IP
-.EX
-# References {.allowframebreaks}
-.EE
-.PP
-In addition, the \f[CR]frameoptions\f[R] attribute may be used to pass
-arbitrary frame options to a beamer slide:
-.IP
-.EX
-# Heading {frameoptions=\[dq]squeeze,shrink,customoption=foobar\[dq]}
-.EE
-.SS Background in reveal.js, beamer, and pptx
-Background images can be added to self-contained reveal.js slide shows,
-beamer slide shows, and pptx slide shows.
-.SS On all slides (beamer, reveal.js, pptx)
-With beamer and reveal.js, the configuration option
-\f[CR]background-image\f[R] can be used either in the YAML metadata
-block or as a command-line variable to get the same image on every
-slide.
-.PP
-Note that for reveal.js, the \f[CR]background-image\f[R] will be used as
-a \f[CR]parallaxBackgroundImage\f[R] (see below).
-.PP
-For pptx, you can use a reference doc in which background images have
-been set on the relevant layouts.
-.SS \f[CR]parallaxBackgroundImage\f[R] (reveal.js)
-For reveal.js, there is also the reveal.js-native option
-\f[CR]parallaxBackgroundImage\f[R], which produces a parallax scrolling
-background.
-You must also set \f[CR]parallaxBackgroundSize\f[R], and can optionally
-set \f[CR]parallaxBackgroundHorizontal\f[R] and
-\f[CR]parallaxBackgroundVertical\f[R] to configure the scrolling
-behaviour.
-See the reveal.js documentation for more details about the meaning of
-these options.
-.PP
-In reveal.js\[cq]s overview mode, the parallaxBackgroundImage will show
-up only on the first slide.
-.SS On individual slides (reveal.js, pptx)
-To set an image for a particular reveal.js or pptx slide, add
-\f[CR]{background-image=\[dq]/path/to/image\[dq]}\f[R] to the first
-slide-level heading on the slide (which may even be empty).
-.PP
-As the HTML writers pass unknown attributes through, other reveal.js
-background settings also work on individual slides, including
-\f[CR]background-size\f[R], \f[CR]background-repeat\f[R],
-\f[CR]background-color\f[R], \f[CR]transition\f[R], and
-\f[CR]transition-speed\f[R].
-(The \f[CR]data-\f[R] prefix will automatically be added.)
-.PP
-Note: \f[CR]data-background-image\f[R] is also supported in pptx for
-consistency with reveal.js \[en] if \f[CR]background-image\f[R]
-isn\[cq]t found, \f[CR]data-background-image\f[R] will be checked.
-.SS On the title slide (reveal.js, pptx)
-To add a background image to the automatically generated title slide for
-reveal.js, use the \f[CR]title-slide-attributes\f[R] variable in the
-YAML metadata block.
-It must contain a map of attribute names and values.
-(Note that the \f[CR]data-\f[R] prefix is required here, as it isn\[cq]t
-added automatically.)
-.PP
-For pptx, pass a reference doc with the background image set on the
-\[lq]Title Slide\[rq] layout.
-.SS Example (reveal.js)
-.IP
-.EX
----
-title: My Slide Show
-parallaxBackgroundImage: /path/to/my/background_image.png
-title-slide-attributes:
-    data-background-image: /path/to/title_image.png
-    data-background-size: contain
----
-
-## Slide One
-
-Slide 1 has background_image.png as its background.
-
-## {background-image=\[dq]/path/to/special_image.jpg\[dq]}
-
-Slide 2 has a special image for its background, even though the heading has no content.
-.EE
-.SH EPUBS
-.SS EPUB Metadata
-EPUB metadata may be specified using the \f[CR]--epub-metadata\f[R]
-option, but if the source document is Markdown, it is better to use a
-YAML metadata block.
-Here is an example:
-.IP
-.EX
----
-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
-ibooks:
-  version: 1.3.4
-\&...
-.EE
-.PP
-The following fields are recognized:
-.TP
-\f[CR]identifier\f[R]
-Either a string value or an object with fields \f[CR]text\f[R] and
-\f[CR]scheme\f[R].
-Valid values for \f[CR]scheme\f[R] are \f[CR]ISBN-10\f[R],
-\f[CR]GTIN-13\f[R], \f[CR]UPC\f[R], \f[CR]ISMN-10\f[R], \f[CR]DOI\f[R],
-\f[CR]LCCN\f[R], \f[CR]GTIN-14\f[R], \f[CR]ISBN-13\f[R],
-\f[CR]Legal deposit number\f[R], \f[CR]URN\f[R], \f[CR]OCLC\f[R],
-\f[CR]ISMN-13\f[R], \f[CR]ISBN-A\f[R], \f[CR]JP\f[R], \f[CR]OLCC\f[R].
-.TP
-\f[CR]title\f[R]
-Either a string value, or an object with fields \f[CR]file-as\f[R] and
-\f[CR]type\f[R], or a list of such objects.
-Valid values for \f[CR]type\f[R] are \f[CR]main\f[R],
-\f[CR]subtitle\f[R], \f[CR]short\f[R], \f[CR]collection\f[R],
-\f[CR]edition\f[R], \f[CR]extended\f[R].
-.TP
-\f[CR]creator\f[R]
-Either a string value, or an object with fields \f[CR]role\f[R],
-\f[CR]file-as\f[R], and \f[CR]text\f[R], or a list of such objects.
-Valid values for \f[CR]role\f[R] are MARC relators, but pandoc will
-attempt to translate the human-readable versions (like \[lq]author\[rq]
-and \[lq]editor\[rq]) to the appropriate marc relators.
-.TP
-\f[CR]contributor\f[R]
-Same format as \f[CR]creator\f[R].
-.TP
-\f[CR]date\f[R]
-A string value in \f[CR]YYYY-MM-DD\f[R] format.
-(Only the year is necessary.)
-Pandoc will attempt to convert other common date formats.
-.TP
-\f[CR]lang\f[R] (or legacy: \f[CR]language\f[R])
-A string value in BCP 47 format.
-Pandoc will default to the local language if nothing is specified.
-.TP
-\f[CR]subject\f[R]
-Either a string value, or an object with fields \f[CR]text\f[R],
-\f[CR]authority\f[R], and \f[CR]term\f[R], or a list of such objects.
-Valid values for \f[CR]authority\f[R] are either a reserved authority
-value (currently \f[CR]AAT\f[R], \f[CR]BIC\f[R], \f[CR]BISAC\f[R],
-\f[CR]CLC\f[R], \f[CR]DDC\f[R], \f[CR]CLIL\f[R], \f[CR]EuroVoc\f[R],
-\f[CR]MEDTOP\f[R], \f[CR]LCSH\f[R], \f[CR]NDC\f[R], \f[CR]Thema\f[R],
-\f[CR]UDC\f[R], and \f[CR]WGS\f[R]) or an absolute IRI identifying a
-custom scheme.
-Valid values for \f[CR]term\f[R] are defined by the scheme.
-.TP
-\f[CR]description\f[R]
-A string value.
-.TP
-\f[CR]type\f[R]
-A string value.
-.TP
-\f[CR]format\f[R]
-A string value.
-.TP
-\f[CR]relation\f[R]
-A string value.
-.TP
-\f[CR]coverage\f[R]
-A string value.
-.TP
-\f[CR]rights\f[R]
-A string value.
-.TP
-\f[CR]belongs-to-collection\f[R]
-A string value.
-Identifies the name of a collection to which the EPUB Publication
-belongs.
-.TP
-\f[CR]group-position\f[R]
-The \f[CR]group-position\f[R] field indicates the numeric position in
-which the EPUB Publication belongs relative to other works belonging to
-the same \f[CR]belongs-to-collection\f[R] field.
-.TP
-\f[CR]cover-image\f[R]
-A string value (path to cover image).
-.TP
-\f[CR]css\f[R] (or legacy: \f[CR]stylesheet\f[R])
-A string value (path to CSS stylesheet).
-.TP
-\f[CR]page-progression-direction\f[R]
-Either \f[CR]ltr\f[R] or \f[CR]rtl\f[R].
-Specifies the \f[CR]page-progression-direction\f[R] attribute for the
-\f[CR]spine\f[R] element.
-.TP
-\f[CR]ibooks\f[R]
-iBooks-specific metadata, with the following fields:
-.RS
-.IP \[bu] 2
-\f[CR]version\f[R]: (string)
-.IP \[bu] 2
-\f[CR]specified-fonts\f[R]: \f[CR]true\f[R]|\f[CR]false\f[R] (default
-\f[CR]false\f[R])
-.IP \[bu] 2
-\f[CR]ipad-orientation-lock\f[R]:
-\f[CR]portrait-only\f[R]|\f[CR]landscape-only\f[R]
-.IP \[bu] 2
-\f[CR]iphone-orientation-lock\f[R]:
-\f[CR]portrait-only\f[R]|\f[CR]landscape-only\f[R]
-.IP \[bu] 2
-\f[CR]binding\f[R]: \f[CR]true\f[R]|\f[CR]false\f[R] (default
-\f[CR]true\f[R])
-.IP \[bu] 2
-\f[CR]scroll-axis\f[R]:
-\f[CR]vertical\f[R]|\f[CR]horizontal\f[R]|\f[CR]default\f[R]
-.RE
-.SS The \f[CR]epub:type\f[R] attribute
-For \f[CR]epub3\f[R] output, you can mark up the heading that
-corresponds to an EPUB chapter using the \f[CR]epub:type\f[R] attribute.
-For example, to set the attribute to the value \f[CR]prologue\f[R], use
-this markdown:
-.IP
-.EX
-# My chapter {epub:type=prologue}
-.EE
-.PP
-Which will result in:
-.IP
-.EX
-<body epub:type=\[dq]frontmatter\[dq]>
-  <section epub:type=\[dq]prologue\[dq]>
-    <h1>My chapter</h1>
-.EE
-.PP
-Pandoc will output \f[CR]<body epub:type=\[dq]bodymatter\[dq]>\f[R],
-unless you use one of the following values, in which case either
-\f[CR]frontmatter\f[R] or \f[CR]backmatter\f[R] will be output.
-.RS -14n
-.IP
-.EX
-  epub:type of first section   epub:type of body
-  ---------------------------- -------------------
-  prologue                     frontmatter
-  abstract                     frontmatter
-  acknowledgments              frontmatter
-  copyright-page               frontmatter
-  dedication                   frontmatter
-  credits                      frontmatter
-  keywords                     frontmatter
-  imprint                      frontmatter
-  contributors                 frontmatter
-  other-credits                frontmatter
-  errata                       frontmatter
-  revision-history             frontmatter
-  titlepage                    frontmatter
-  halftitlepage                frontmatter
-  seriespage                   frontmatter
-  foreword                     frontmatter
-  preface                      frontmatter
-  frontispiece                 frontmatter
-  appendix                     backmatter
-  colophon                     backmatter
-  bibliography                 backmatter
-  index                        backmatter
-.EE
-.RE
-.SS Linked media
-By default, pandoc will download media referenced from any
-\f[CR]<img>\f[R], \f[CR]<audio>\f[R], \f[CR]<video>\f[R] or
-\f[CR]<source>\f[R] element present in the generated EPUB, 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[CR]data-external=\[dq]1\[dq]\f[R] to the tag with
-the \f[CR]src\f[R] attribute.
-For example:
-.IP
-.EX
-<audio controls=\[dq]1\[dq]>
-  <source src=\[dq]https://example.com/music/toccata.mp3\[dq]
-          data-external=\[dq]1\[dq] type=\[dq]audio/mpeg\[dq]>
-  </source>
-</audio>
-.EE
-.PP
-If the input format already is HTML then
-\f[CR]data-external=\[dq]1\[dq]\f[R] will work as expected for
-\f[CR]<img>\f[R] elements.
-Similarly, for Markdown, external images can be declared with
-\f[CR]![img](url){external=1}\f[R].
-Note that this only works for images; the other media elements have no
-native representation in pandoc\[cq]s AST and require the use of raw
-HTML.
-.SS EPUB styling
-By default, pandoc will include some basic styling contained in its
-\f[CR]epub.css\f[R] data file.
-(To see this, use \f[CR]pandoc --print-default-data-file epub.css\f[R].)
-To use a different CSS file, just use the \f[CR]--css\f[R] command line
-option.
-A few inline styles are defined in addition; these are essential for
-correct formatting of pandoc\[cq]s HTML output.
-.PP
-The \f[CR]document-css\f[R] variable may be set if the more opinionated
-styling of pandoc\[cq]s default HTML templates is desired (and in that
-case the variables defined in Variables for HTML may be used to
-fine-tune the style).
-.SH CHUNKED HTML
-\f[CR]pandoc -t chunkedhtml\f[R] will produce a zip archive of linked
-HTML files, one for each section of the original document.
-Internal links will automatically be adjusted to point to the right
-place, images linked to under the working directory will be
-incorporated, and navigation links will be added.
-In addition, a JSON file \f[CR]sitemap.json\f[R] will be included
-describing the hierarchical structure of the files.
-.PP
-If an output file without an extension is specified, then it will be
-interpreted as a directory and the zip archive will be automatically
-unpacked into it (unless it already exists, in which case an error will
-be raised).
-Otherwise a \f[CR].zip\f[R] file will be produced.
-.PP
-The navigation links can be customized by adjusting the template.
-By default, a table of contents is included only on the top page.
-To include it on every page, set the \f[CR]toc\f[R] variable manually.
-.SH JUPYTER NOTEBOOKS
-When creating a Jupyter notebook, pandoc will try to infer the notebook
-structure.
-Code blocks with the class \f[CR]code\f[R] will be taken as code cells,
-and intervening content will be taken as Markdown cells.
-Attachments will automatically be created for images in Markdown cells.
-Metadata will be taken from the \f[CR]jupyter\f[R] metadata field.
-For example:
-.IP
-.EX
----
-title: My notebook
-jupyter:
-  nbformat: 4
-  nbformat_minor: 5
-  kernelspec:
-     display_name: Python 2
-     language: python
-     name: python2
-  language_info:
-     codemirror_mode:
-       name: ipython
-       version: 2
-     file_extension: \[dq].py\[dq]
-     mimetype: \[dq]text/x-python\[dq]
-     name: \[dq]python\[dq]
-     nbconvert_exporter: \[dq]python\[dq]
-     pygments_lexer: \[dq]ipython2\[dq]
-     version: \[dq]2.7.15\[dq]
----
-
-# Lorem ipsum
-
-**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus
-bibendum felis dictum sodales.
-
-\[ga]\[ga]\[ga] code
-print(\[dq]hello\[dq])
-\[ga]\[ga]\[ga]
-
-## Pyout
-
-\[ga]\[ga]\[ga] code
-from IPython.display import HTML
-HTML(\[dq]\[dq]\[dq]
-<script>
-console.log(\[dq]hello\[dq]);
-</script>
-<b>HTML</b>
-\[dq]\[dq]\[dq])
-\[ga]\[ga]\[ga]
-
-## Image
-
-This image ![image](myimage.png) will be
-included as a cell attachment.
-.EE
-.PP
-If you want to add cell attributes, group cells differently, or add
-output to code cells, then you need to include divs to indicate the
-structure.
-You can use either fenced divs or native divs for this.
-Here is an example:
-.IP
-.EX
-:::::: {.cell .markdown}
-# Lorem
-
-**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus
-bibendum felis dictum sodales.
-::::::
-
-:::::: {.cell .code execution_count=1}
-\[ga]\[ga]\[ga] {.python}
-print(\[dq]hello\[dq])
-\[ga]\[ga]\[ga]
-
-::: {.output .stream .stdout}
-\[ga]\[ga]\[ga]
-hello
-\[ga]\[ga]\[ga]
-:::
-::::::
-
-:::::: {.cell .code execution_count=2}
-\[ga]\[ga]\[ga] {.python}
-from IPython.display import HTML
-HTML(\[dq]\[dq]\[dq]
-<script>
-console.log(\[dq]hello\[dq]);
-</script>
-<b>HTML</b>
-\[dq]\[dq]\[dq])
-\[ga]\[ga]\[ga]
-
-::: {.output .execute_result execution_count=2}
-\[ga]\[ga]\[ga]{=html}
-<script>
-console.log(\[dq]hello\[dq]);
-</script>
-<b>HTML</b>
-hello
-\[ga]\[ga]\[ga]
-:::
-::::::
-.EE
-.PP
-If you include raw HTML or TeX in an output cell, use the raw attribute,
-as shown in the last cell of the example above.
-Although pandoc can process \[lq]bare\[rq] raw HTML and TeX, the result
-is often interspersed raw elements and normal textual elements, and in
-an output cell pandoc expects a single, connected raw block.
-To avoid using raw HTML or TeX except when marked explicitly using raw
-attributes, we recommend specifying the extensions
-\f[CR]-raw_html-raw_tex+raw_attribute\f[R] when translating between
-Markdown and ipynb notebooks.
-.PP
-Note that options and extensions that affect reading and writing of
-Markdown will also affect Markdown cells in ipynb notebooks.
-For example, \f[CR]--wrap=preserve\f[R] will preserve soft line breaks
-in Markdown cells; \f[CR]--markdown-headings=setext\f[R] will cause
-Setext-style headings to be used; and \f[CR]--preserve-tabs\f[R] will
-prevent tabs from being turned to spaces.
-.SH SYNTAX HIGHLIGHTING
-Pandoc will automatically highlight syntax in fenced code blocks that
-are marked with a language name.
-The Haskell library skylighting is used for highlighting.
-Currently highlighting is supported only for HTML, EPUB, Docx, Ms, and
-LaTeX/PDF output.
-To see a list of language names that pandoc will recognize, type
-\f[CR]pandoc --list-highlight-languages\f[R].
-.PP
-The color scheme can be selected using the \f[CR]--highlight-style\f[R]
-option.
-The default color scheme is \f[CR]pygments\f[R], which imitates the
-default color scheme used by the Python library pygments (though
-pygments is not actually used to do the highlighting).
-To see a list of highlight styles, type
-\f[CR]pandoc --list-highlight-styles\f[R].
-.PP
-If you are not satisfied with the predefined styles, you can use
-\f[CR]--print-highlight-style\f[R] to generate a JSON \f[CR].theme\f[R]
-file which can be modified and used as the argument to
-\f[CR]--highlight-style\f[R].
-To get a JSON version of the \f[CR]pygments\f[R] style, for example:
-.IP
-.EX
-pandoc --print-highlight-style pygments > my.theme
-.EE
-.PP
-Then edit \f[CR]my.theme\f[R] and use it like this:
-.IP
-.EX
-pandoc --highlight-style my.theme
-.EE
-.PP
-If you are not satisfied with the built-in highlighting, or you want to
-highlight a language that isn\[cq]t supported, you can use the
-\f[CR]--syntax-definition\f[R] option to load a KDE-style XML syntax
-definition file.
-Before writing your own, have a look at KDE\[cq]s repository of syntax
-definitions.
-.PP
-To disable highlighting, use the \f[CR]--no-highlight\f[R] option.
-.SH CUSTOM STYLES
-Custom styles can be used in the docx and ICML formats.
-.SS Output
-By default, pandoc\[cq]s docx and ICML output applies a predefined set
-of styles for blocks such as paragraphs and block quotes, and uses
-largely default formatting (italics, bold) for inlines.
-This will work for most purposes, especially alongside a
-\f[CR]reference.docx\f[R] file.
-However, if you need to apply your own styles to blocks, or match a
-preexisting set of styles, pandoc allows you to define custom styles for
-blocks and text using \f[CR]div\f[R]s and \f[CR]span\f[R]s,
-respectively.
-.PP
-If you define a \f[CR]div\f[R] or \f[CR]span\f[R] with the attribute
-\f[CR]custom-style\f[R], pandoc will apply your specified style to the
-contained elements (with the exception of elements whose function
-depends on a style, like headings, code blocks, block quotes, or links).
-So, for example, using the \f[CR]bracketed_spans\f[R] syntax,
-.IP
-.EX
-[Get out]{custom-style=\[dq]Emphatically\[dq]}, he said.
-.EE
-.PP
-would produce a docx file with \[lq]Get out\[rq] styled with character
-style \f[CR]Emphatically\f[R].
-Similarly, using the \f[CR]fenced_divs\f[R] syntax,
-.IP
-.EX
-Dickinson starts the poem simply:
-
-::: {custom-style=\[dq]Poetry\[dq]}
-| A Bird came down the Walk---
-| He did not know I saw---
-:::
-.EE
-.PP
-would style the two contained lines with the \f[CR]Poetry\f[R] paragraph
-style.
-.PP
-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.
-If they are already defined, pandoc will not alter the definition.
-.PP
-This feature allows for greatest customization in conjunction with
-pandoc filters.
-If you want all paragraphs after block quotes to be indented, you can
-write a filter to apply the styles necessary.
-If you want all italics to be transformed to the \f[CR]Emphasis\f[R]
-character style (perhaps to change their color), you can write a filter
-which will transform all italicized inlines to inlines within an
-\f[CR]Emphasis\f[R] custom-style \f[CR]span\f[R].
-.PP
-For docx output, you don\[cq]t need to enable any extensions for custom
-styles to work.
-.SS Input
-The docx reader, by default, only reads those styles that it can convert
-into pandoc elements, either by direct conversion or interpreting the
-derivation of the input document\[cq]s styles.
-.PP
-By enabling the \f[CR]styles\f[R] extension in the docx reader
-(\f[CR]-f docx+styles\f[R]), you can produce output that maintains the
-styles of the input document, using the \f[CR]custom-style\f[R] class.
-Paragraph styles are interpreted as divs, while character styles are
-interpreted as spans.
-.PP
-For example, using the \f[CR]custom-style-reference.docx\f[R] file in
-the test directory, we have the following different outputs:
-.PP
-Without the \f[CR]+styles\f[R] extension:
-.IP
-.EX
-$ pandoc test/docx/custom-style-reference.docx -f docx -t markdown
-This is some text.
-
-This is text with an *emphasized* text style. And this is text with a
-**strengthened** text style.
-
-> Here is a styled paragraph that inherits from Block Text.
-.EE
-.PP
-And with the extension:
-.IP
-.EX
-$ pandoc test/docx/custom-style-reference.docx -f docx+styles -t markdown
-
-::: {custom-style=\[dq]First Paragraph\[dq]}
-This is some text.
-:::
-
-::: {custom-style=\[dq]Body Text\[dq]}
-This is text with an [emphasized]{custom-style=\[dq]Emphatic\[dq]} text style.
-And this is text with a [strengthened]{custom-style=\[dq]Strengthened\[dq]}
-text style.
-:::
-
-::: {custom-style=\[dq]My Block Style\[dq]}
-> Here is a styled paragraph that inherits from Block Text.
-:::
-.EE
-.PP
-With these custom styles, you can use your input document as a
-reference-doc while creating docx output (see below), and maintain the
-same styles in your input and output files.
-.SH CUSTOM READERS AND WRITERS
-Pandoc can be extended with custom readers and writers written in Lua.
-(Pandoc includes a Lua interpreter, so Lua need not be installed
-separately.)
-.PP
-To use a custom reader or writer, simply specify the path to the Lua
-script in place of the input or output format.
-For example:
-.IP
-.EX
-pandoc -t data/sample.lua
-pandoc -f my_custom_markup_language.lua -t latex -s
-.EE
-.PP
-If the script is not found relative to the working directory, it will be
-sought in the \f[CR]custom\f[R] subdirectory of the user data directory
-(see \f[CR]--data-dir\f[R]).
-.PP
-A custom reader is a Lua script that defines one function, Reader, which
-takes a string as input and returns a Pandoc AST.
-See the Lua filters documentation for documentation of the functions
-that are available for creating pandoc AST elements.
-For parsing, the lpeg parsing library is available by default.
-To see a sample custom reader:
-.IP
-.EX
-pandoc --print-default-data-file creole.lua
-.EE
-.PP
-If you want your custom reader to have access to reader options
-(e.g.\ the tab stop setting), you give your Reader function a second
-\f[CR]options\f[R] parameter.
-.PP
-A custom writer is a Lua script that defines a function that specifies
-how to render each element in a Pandoc AST.
-See the djot-writer.lua for a full-featured example.
-.PP
-Note that custom writers have no default template.
-If you want to use \f[CR]--standalone\f[R] with a custom writer, you
-will need to specify a template manually using \f[CR]--template\f[R] or
-add a new default template with the name
-\f[CR]default.NAME_OF_CUSTOM_WRITER.lua\f[R] to the \f[CR]templates\f[R]
-subdirectory of your user data directory (see Templates).
-.SH REPRODUCIBLE BUILDS
-Some of the document formats pandoc targets (such as EPUB, docx, and
-ODT) include build timestamps in the generated document.
-That means that the files generated on successive builds will differ,
-even if the source does not.
-To avoid this, set the \f[CR]SOURCE_DATE_EPOCH\f[R] environment
-variable, and the timestamp will be taken from it instead of the current
-time.
-\f[CR]SOURCE_DATE_EPOCH\f[R] should contain an integer unix timestamp
-(specifying the number of seconds since midnight UTC January 1, 1970).
-.PP
-Some document formats also include a unique identifier.
-For EPUB, this can be set explicitly by setting the
-\f[CR]identifier\f[R] metadata field (see EPUB Metadata, above).
-.SH ACCESSIBLE PDFS AND PDF ARCHIVING STANDARDS
-PDF is a flexible format, and using PDF in certain contexts requires
-additional conventions.
-For example, PDFs are not accessible by default; they define how
-characters are placed on a page but do not contain semantic information
-on the content.
-However, it is possible to generate accessible PDFs, which use tagging
-to add semantic information to the document.
-.PP
-Pandoc defaults to LaTeX to generate PDF.
-Tagging support in LaTeX is in development and not readily available, so
-PDFs generated in this way will always be untagged and not accessible.
-This means that alternative engines must be used to generate accessible
-PDFs.
-.PP
-The PDF standards PDF/A and PDF/UA define further restrictions intended
-to optimize PDFs for archiving and accessibility.
-Tagging is commonly used in combination with these standards to ensure
-best results.
-.PP
-Note, however, that standard compliance depends on many things,
-including the colorspace of embedded images.
-Pandoc cannot check this, and external programs must be used to ensure
-that generated PDFs are in compliance.
-.SS ConTeXt
-ConTeXt always produces tagged PDFs, but the quality depends on the
-input.
-The default ConTeXt markup generated by pandoc is optimized for
-readability and reuse, not tagging.
-Enable the \f[CR]tagging\f[R] format extension to force markup that is
-optimized for tagging.
-This can be combined with the \f[CR]pdfa\f[R] variable to generate
-standard-compliant PDFs.
-E.g.:
-.IP
-.EX
-pandoc --to=context+tagging -V pdfa=3a
-.EE
-.PP
-A recent \f[CR]context\f[R] version should be used, as older versions
-contained a bug that lead to invalid PDF metadata.
-.SS WeasyPrint
-The HTML-based engine WeasyPrint includes experimental support for PDF/A
-and PDF/UA since version 57.
-Tagged PDFs can created with
-.IP
-.EX
-pandoc --pdf-engine=weasyprint \[rs]
-       --pdf-engine-opt=--pdf-variant=pdf/ua-1 ...
-.EE
-.PP
-The feature is experimental and standard compliance should not be
-assumed.
-.SS Prince XML
-The non-free HTML-to-PDf converter \f[CR]prince\f[R] has extensive
-support for various PDF standards as well as tagging.
-E.g.:
-.IP
-.EX
-pandoc --pdf-engine=prince \[rs]
-       --pdf-engine-opt=--tagged-pdf ...
-.EE
-.PP
-See the prince documentation for more info.
-.SS Word Processors
-Word processors like LibreOffice and MS Word can also be used to
-generate standardized and tagged PDF output.
-Pandoc does not support direct conversions via these tools.
-However, pandoc can convert a document to a \f[CR]docx\f[R] or
-\f[CR]odt\f[R] file, which can then be opened and converted to PDF with
-the respective word processor.
-See the documentation for Word and LibreOffice.
-.SH RUNNING PANDOC AS A WEB SERVER
-If you rename (or symlink) the pandoc executable to
-\f[CR]pandoc-server\f[R], or if you call pandoc with \f[CR]server\f[R]
-as the first argument, it will start up a web server with a JSON API.
-This server exposes most of the conversion functionality of pandoc.
-For full documentation, see the pandoc-server man page.
-.PP
-If you rename (or symlink) the pandoc executable to
-\f[CR]pandoc-server.cgi\f[R], it will function as a CGI program exposing
-the same API as \f[CR]pandoc-server\f[R].
-.PP
-\f[CR]pandoc-server\f[R] is designed to be maximally secure; it uses
-Haskell\[cq]s type system to provide strong guarantees that no I/O will
-be performed on the server during pandoc conversions.
-.SH RUNNING PANDOC AS A LUA INTERPRETER
-Calling the pandoc executable under the name \f[CR]pandoc-lua\f[R] or
-with \f[CR]lua\f[R] as the first argument will make it function as a
-standalone Lua interpreter.
-The behavior is mostly identical to that of the standalone
-\f[CR]lua\f[R] executable, version 5.4.
-However, there is no REPL yet, and the \f[CR]-i\f[R] option has no
-effect.
-For full documentation, see the pandoc-lua man page.
-.SH A NOTE ON SECURITY
-.IP "1." 3
-Although pandoc itself will not create or modify any files other than
-those you explicitly ask it create (with the exception of temporary
-files used in producing PDFs), a filter or custom writer could in
-principle do anything on your file system.
-Please audit filters and custom writers very carefully before using
-them.
-.IP "2." 3
-Several input formats (including HTML, Org, and RST) support
-\f[CR]include\f[R] directives that allow the contents of a file to be
-included in the output.
-An untrusted attacker could use these to view the contents of files on
-the file system.
-(Using the \f[CR]--sandbox\f[R] option can protect against this threat.)
-.IP "3." 3
-Several output formats (including RTF, FB2, HTML with
-\f[CR]--self-contained\f[R], EPUB, Docx, and ODT) will embed encoded or
-raw images into the output file.
-An untrusted attacker could exploit this to view the contents of
-non-image files on the file system.
-(Using the \f[CR]--sandbox\f[R] option can protect against this threat,
-but will also prevent including images in these formats.)
-.IP "4." 3
-If your application uses pandoc as a Haskell library (rather than
-shelling out to the executable), it is possible to use it in a mode that
-fully isolates pandoc from your file system, by running the pandoc
-operations in the \f[CR]PandocPure\f[R] monad.
-See the document Using the pandoc API for more details.
-(This corresponds to the use of the \f[CR]--sandbox\f[R] option on the
-command line.)
-.IP "5." 3
-Pandoc\[cq]s parsers can exhibit pathological performance on some corner
-cases.
-It is wise to put any pandoc operations under a timeout, to avoid DOS
-attacks that exploit these issues.
-If you are using the pandoc executable, you can add the command line
-options \f[CR]+RTS -M512M -RTS\f[R] (for example) to limit the heap size
-to 512MB.
-Note that the \f[CR]commonmark\f[R] parser (including
-\f[CR]commonmark_x\f[R] and \f[CR]gfm\f[R]) is much less vulnerable to
-pathological performance than the \f[CR]markdown\f[R] parser, so it is a
-better choice when processing untrusted input.
-.IP "6." 3
-The HTML generated by pandoc is not guaranteed to be safe.
-If \f[CR]raw_html\f[R] is enabled for the Markdown input, users can
-inject arbitrary HTML.
-Even if \f[CR]raw_html\f[R] is disabled, users can include dangerous
-content in URLs and attributes.
-To be safe, you should run all HTML generated from untrusted user input
-through an HTML sanitizer.
-.SH AUTHORS
-Copyright 2006\[en]2022 John MacFarlane (jgm\[at]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.)
-For a full list of contributors, see the file AUTHORS.md in the pandoc
-source code.
-.PP
-The Pandoc source code may be downloaded
-from <https://hackage.haskell.org/package/pandoc> or
-<https://github.com/jgm/pandoc/releases>.  Further
-documentation is available at <https://pandoc.org>.
diff --git a/man/pandoc.1.after b/man/pandoc.1.after
deleted file mode 100644
--- a/man/pandoc.1.after
+++ /dev/null
@@ -1,5 +0,0 @@
-.PP
-The Pandoc source code may be downloaded
-from <https://hackage.haskell.org/package/pandoc> or
-<https://github.com/jgm/pandoc/releases>.  Further
-documentation is available at <https://pandoc.org>.
diff --git a/man/pandoc.1.before b/man/pandoc.1.before
deleted file mode 100644
--- a/man/pandoc.1.before
+++ /dev/null
@@ -1,2 +0,0 @@
-.SH NAME
-pandoc - general markup converter
diff --git a/pandoc.cabal b/pandoc.cabal
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -1,6 +1,6 @@
 cabal-version:   2.4
 name:            pandoc
-version:         3.1.9
+version:         3.1.10
 build-type:      Simple
 license:         GPL-2.0-or-later
 license-file:    COPYING.md
@@ -12,7 +12,7 @@
 homepage:        https://pandoc.org
 category:        Text
 tested-with:     GHC == 8.10.7, GHC == 9.0.2,
-                 GHC == 9.2.5, GHC == 9.4.4, GHC == 9.6.1
+                 GHC == 9.2.5, GHC == 9.4.4, GHC == 9.6.3
 synopsis:        Conversion between markup formats
 description:     Pandoc is a Haskell library for converting from one markup
                  format to another.  The formats it can handle include
@@ -43,9 +43,12 @@
                  Pandoc can convert mathematical content in documents
                  between TeX, MathML, Word equations, roff eqn, typst,
                  and plain text. It includes a powerful system for automatic
-                 citations and bibliographies, and it can be customized extensively
-                 using templates, filters, and custom readers and writers
-                 written in Lua.
+                 citations and bibliographies, and it can be customized
+                 extensively using templates, filters, and custom readers
+                 and writers written in Lua.
+                 .
+                 For the pandoc command-line program, see the
+                 @pandoc-cli@ package.
 data-files:
                  -- templates
                  data/templates/styles.html
@@ -196,11 +199,6 @@
                  -- documentation
                  INSTALL.md, AUTHORS.md, README.md,
                  CONTRIBUTING.md, BUGS, changelog.md,
-                 man/pandoc.1
-                 -- files needed to build man page
-                 man/manfilter.lua
-                 man/pandoc.1.before
-                 man/pandoc.1.after
                  -- tests
                  test/bodybg.gif
                  test/*.native
@@ -468,15 +466,16 @@
                  aeson-pretty          >= 0.8.9    && < 0.9,
                  array                 >= 0.5      && < 0.6,
                  attoparsec            >= 0.12     && < 0.15,
+                 base64-bytestring     >= 0.1      && < 1.3,
                  binary                >= 0.7      && < 0.11,
                  blaze-html            >= 0.9      && < 0.10,
                  blaze-markup          >= 0.8      && < 0.9,
                  bytestring            >= 0.9      && < 0.13,
                  case-insensitive      >= 1.2      && < 1.3,
                  citeproc              >= 0.8.1    && < 0.9,
-                 commonmark            >= 0.2.4    && < 0.3,
-                 commonmark-extensions >= 0.2.4    && < 0.3,
-                 commonmark-pandoc     >= 0.2.1.3  && < 0.3,
+                 commonmark            >= 0.2.4.1  && < 0.3,
+                 commonmark-extensions >= 0.2.5    && < 0.3,
+                 commonmark-pandoc     >= 0.2.2    && < 0.3,
                  containers            >= 0.6.0.1  && < 0.7,
                  crypton-connection    >= 0.3.1    && < 0.4,
                  data-default          >= 0.4      && < 0.8,
@@ -484,7 +483,6 @@
                  directory             >= 1.2.3    && < 1.4,
                  doclayout             >= 0.4.0.1  && < 0.5,
                  doctemplates          >= 0.11     && < 0.12,
-                 base64                >= 0.4      && < 0.5,
                  emojis                >= 0.1      && < 0.2,
                  exceptions            >= 0.8      && < 0.11,
                  file-embed            >= 0.0      && < 0.1,
@@ -508,13 +506,13 @@
                  random                >= 1        && < 1.3,
                  safe                  >= 0.3.18   && < 0.4,
                  scientific            >= 0.3      && < 0.4,
-                 skylighting           >= 0.14     && < 0.15,
-                 skylighting-core      >= 0.14     && < 0.15,
+                 skylighting           >= 0.14.1   && < 0.15,
+                 skylighting-core      >= 0.14.1   && < 0.15,
                  split                 >= 0.2      && < 0.3,
                  syb                   >= 0.1      && < 0.8,
                  tagsoup               >= 0.14.6   && < 0.15,
                  temporary             >= 1.1      && < 1.4,
-                 texmath               >= 0.12.8.4 && < 0.13,
+                 texmath               >= 0.12.8.5 && < 0.13,
                  text                  >= 1.1.1.0  && < 2.2,
                  text-conversions      >= 0.3      && < 0.4,
                  time                  >= 1.5      && < 1.14,
@@ -524,7 +522,7 @@
                  zip-archive           >= 0.4.3    && < 0.5,
                  zlib                  >= 0.5      && < 0.7,
                  xml                   >= 1.3.12   && < 1.4,
-                 typst                 >= 0.3.2.1  && < 0.3.3,
+                 typst                 >= 0.4      && < 0.4.1,
                  vector                >= 0.12     && < 0.14
 
   if !os(windows)
@@ -669,6 +667,7 @@
                    Text.Pandoc.Readers.Docx.Parse,
                    Text.Pandoc.Readers.Docx.Parse.Styles,
                    Text.Pandoc.Readers.Docx.Util,
+                   Text.Pandoc.Readers.Docx.Symbols,
                    Text.Pandoc.Readers.Docx.Fields,
                    Text.Pandoc.Readers.HTML.Parsing,
                    Text.Pandoc.Readers.HTML.Table,
diff --git a/src/Text/Pandoc/Citeproc.hs b/src/Text/Pandoc/Citeproc.hs
--- a/src/Text/Pandoc/Citeproc.hs
+++ b/src/Text/Pandoc/Citeproc.hs
@@ -76,7 +76,9 @@
   let citations = getCitations locale otherIdsMap $ Pandoc meta' bs
 
 
-  let linkCites = maybe False truish $ lookupMeta "link-citations" meta
+  let linkCites = maybe False truish (lookupMeta "link-citations" meta) &&
+                  -- don't link citations if no bibliography to link to:
+             not (maybe False truish (lookupMeta "suppress-bibliography" meta))
   let linkBib = maybe True truish $ lookupMeta "link-bibliography" meta
   let opts = defaultCiteprocOptions{ linkCitations = linkCites
                                    , linkBibliography = linkBib }
@@ -479,9 +481,9 @@
 insertRefs :: [(Text,Text)] -> [Text] -> [Block] -> Pandoc -> Pandoc
 insertRefs _ _ [] d = d
 insertRefs refkvs refclasses refs (Pandoc meta bs) =
-  if isRefRemove meta
-     then Pandoc meta bs
-     else case runState (walkM go (Pandoc meta bs)) False of
+  case lookupMeta "suppress-bibliography" meta of
+    Just x | truish x -> Pandoc meta bs
+    _ -> case runState (walkM go (Pandoc meta bs)) False of
                (d', True) -> d'
                (Pandoc meta' bs', False)
                  -> Pandoc meta' $
@@ -516,10 +518,6 @@
     Just (MetaBlocks [Plain ils]) -> Just ils
     Just (MetaBlocks [Para ils])  -> Just ils
     _                             -> Nothing
-
-isRefRemove :: Meta -> Bool
-isRefRemove meta =
-  maybe False truish $ lookupMeta "suppress-bibliography" meta
 
 legacyDateRanges :: Reference Inlines -> Reference Inlines
 legacyDateRanges ref =
diff --git a/src/Text/Pandoc/Class/IO.hs b/src/Text/Pandoc/Class/IO.hs
--- a/src/Text/Pandoc/Class/IO.hs
+++ b/src/Text/Pandoc/Class/IO.hs
@@ -37,7 +37,7 @@
 
 import Control.Monad.Except (throwError)
 import Control.Monad.IO.Class (MonadIO, liftIO)
-import Data.ByteString.Base64 (decodeBase64Lenient)
+import Data.ByteString.Base64 (decodeLenient)
 import Data.ByteString.Lazy (toChunks)
 import Data.Text (Text, pack, unpack)
 import Data.Time (TimeZone, UTCTime)
@@ -124,9 +124,13 @@
 openURL u
  | Just (URI{ uriScheme = "data:",
               uriPath = upath }) <- parseURI (T.unpack u) = do
-     let (mime, rest) = break (== ',') $ unEscapeString upath
+     let (mimespec, rest) = break (== ',') $ unEscapeString upath
      let contents = UTF8.fromString $ drop 1 rest
-     return (decodeBase64Lenient contents, Just (T.pack mime))
+     case break (== ';') (filter (/= ' ') mimespec) of
+       (mime, ";base64") ->
+         return (decodeLenient contents, Just (T.pack mime))
+       (mime, _) ->
+         return (contents, Just (T.pack mime))
  | otherwise = do
      let toReqHeader (n, v) = (CI.mk (UTF8.fromText n), UTF8.fromText v)
      customHeaders <- map toReqHeader <$> getsCommonState stRequestHeaders
diff --git a/src/Text/Pandoc/Extensions.hs b/src/Text/Pandoc/Extensions.hs
--- a/src/Text/Pandoc/Extensions.hs
+++ b/src/Text/Pandoc/Extensions.hs
@@ -45,6 +45,7 @@
 -- | Individually selectable syntax extensions.
 data Extension =
       Ext_abbreviations       -- ^ PHP markdown extra abbreviation definitions
+    | Ext_alerts              -- ^ Special block quotes become alerts
     | Ext_all_symbols_escapable  -- ^ Make all non-alphanumerics escapable
     | Ext_amuse -- ^ Enable Text::Amuse extensions to Emacs Muse markup
     | Ext_angle_brackets_escapable  -- ^ Make < and > escapable
@@ -308,6 +309,8 @@
   , Ext_emoji
   , Ext_fenced_code_blocks
   , Ext_backtick_code_blocks
+  , Ext_footnotes
+  , Ext_alerts
   ]
 
 -- | Extensions to be used with multimarkdown.
@@ -400,6 +403,7 @@
   , Ext_footnotes
   , Ext_tex_math_dollars
   , Ext_tex_math_gfm
+  , Ext_alerts
   ]
 getDefaultExtensions "commonmark"      = extensionsFromList
                                           [Ext_raw_html]
@@ -422,6 +426,7 @@
   , Ext_raw_attribute
   , Ext_implicit_header_references
   , Ext_attributes
+  , Ext_alerts
   , Ext_yaml_metadata_block
   ]
 getDefaultExtensions "org"             = extensionsFromList
@@ -549,6 +554,7 @@
     , Ext_task_lists
     , Ext_emoji
     , Ext_raw_html
+    , Ext_alerts
     , Ext_implicit_figures
     , Ext_hard_line_breaks
     , Ext_smart
diff --git a/src/Text/Pandoc/MIME.hs b/src/Text/Pandoc/MIME.hs
--- a/src/Text/Pandoc/MIME.hs
+++ b/src/Text/Pandoc/MIME.hs
@@ -55,6 +55,7 @@
 extensionFromMimeType "image/jpeg" = Just "jpg"
 extensionFromMimeType "application/xml" = Just "xml"
 extensionFromMimeType "application/ogg" = Just "ogg"
+extensionFromMimeType "image/svg+xml" = Just "svg" -- avoid svgz
 extensionFromMimeType mimetype =
   M.lookup (T.takeWhile (/=';') mimetype) reverseMimeTypes
   -- note:  we just look up the basic mime type, dropping the content-encoding etc.
diff --git a/src/Text/Pandoc/PDF.hs b/src/Text/Pandoc/PDF.hs
--- a/src/Text/Pandoc/PDF.hs
+++ b/src/Text/Pandoc/PDF.hs
@@ -267,7 +267,7 @@
 tex2pdf program args tmpDir source = do
   let numruns | takeBaseName program == "latexmk"        = 1
               | "\\tableofcontents" `T.isInfixOf` source = 3  -- to get page numbers
-              | otherwise                                = 2  -- 1 run won't give you PDF bookmarks
+              | otherwise                                = 1
   (exit, log', mbPdf) <- runTeXProgram program args numruns tmpDir source
   case (exit, mbPdf) of
        (ExitFailure _, _)      -> do
diff --git a/src/Text/Pandoc/Parsing/Math.hs b/src/Text/Pandoc/Parsing/Math.hs
--- a/src/Text/Pandoc/Parsing/Math.hs
+++ b/src/Text/Pandoc/Parsing/Math.hs
@@ -17,7 +17,7 @@
 
 import Control.Monad (mzero, when)
 import Data.Text (Text)
-import Text.Parsec ((<|>), ParsecT, Stream(..), notFollowedBy, skipMany, try)
+import Text.Parsec ((<|>), ParsecT, Stream(..), notFollowedBy, many1, try)
 import Text.Pandoc.Options
   ( Extension(Ext_tex_math_dollars, Ext_tex_math_single_backslash,
               Ext_tex_math_double_backslash) )
@@ -42,10 +42,8 @@
                            (try (string "text" >>
                                  (("\\text" <>) <$> inBalancedBraces 0 ""))
                             <|>  (\c -> T.pack ['\\',c]) <$> anyChar))
-                   <|> do (blankline <* notFollowedBy' blankline) <|>
-                             (spaceChar <* skipMany spaceChar)
-                          notFollowedBy (char '$')
-                          return " "
+                   <|> ("\n" <$ blankline <* notFollowedBy' blankline)
+                   <|> (T.pack <$> many1 spaceChar <* notFollowedBy (char '$'))
                     ) (try $ textStr cl)
   notFollowedBy digit  -- to prevent capture of $5
   return $ trimMath $ T.concat words'
diff --git a/src/Text/Pandoc/Readers/CommonMark.hs b/src/Text/Pandoc/Readers/CommonMark.hs
--- a/src/Text/Pandoc/Readers/CommonMark.hs
+++ b/src/Text/Pandoc/Readers/CommonMark.hs
@@ -169,6 +169,7 @@
          [ (bracketedSpanSpec <>) | isEnabled Ext_bracketed_spans opts ] ++
          [ (rawAttributeSpec <>) | isEnabled Ext_raw_attribute opts ] ++
          [ (attributesSpec <>) | isEnabled Ext_attributes opts ] ++
+         [ (alertSpec <>) | isEnabled Ext_alerts opts ] ++
          [ (<> pipeTableSpec) | isEnabled Ext_pipe_tables opts ] ++
             -- see #6739
          [ (autolinkSpec <>) | isEnabled Ext_autolink_bare_uris opts ] ++
diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs
--- a/src/Text/Pandoc/Readers/Docx/Parse.hs
+++ b/src/Text/Pandoc/Readers/Docx/Parse.hs
@@ -79,7 +79,7 @@
 import qualified Text.Pandoc.UTF8 as UTF8
 import Text.TeXMath (Exp)
 import Text.TeXMath.Readers.OMML (readOMML)
-import Text.TeXMath.Unicode.Fonts (Font (..), getUnicode, textToFont)
+import Text.Pandoc.Readers.Docx.Symbols (symbolMap, Font(..), textToFont)
 import Text.Pandoc.XML.Light
     ( filterChild,
       findElement,
@@ -148,13 +148,46 @@
   in
    concatMapM handler xs
 
+isAltContentRun :: NameSpaces -> Element -> Bool
+isAltContentRun ns element
+  | isElem ns "w" "r" element
+  , Just _altContentElem <- findChildByName ns "mc" "AlternateContent" element
+  = True
+  | otherwise
+  = False
+
+-- Elements such as <w:shape> are not always preferred
+-- to be unwrapped. Only if they are part of an AlternateContent
+-- element, they should be unwrapped.
+-- This strategy prevents VML images breaking.
+unwrapAlternateContentElement :: NameSpaces -> Element -> [Element]
+unwrapAlternateContentElement ns element
+  | isElem ns "mc" "AlternateContent" element
+  || isElem ns "mc" "Fallback" element
+  || isElem ns "w" "pict" element
+  || isElem ns "v" "group" element
+  || isElem ns "v" "rect" element
+  || isElem ns "v" "roundrect" element
+  || isElem ns "v" "shape" element
+  || isElem ns "v" "textbox" element
+  || isElem ns "w" "txbxContent" element
+  = concatMap (unwrapAlternateContentElement ns) (elChildren element)
+  | otherwise
+  = unwrapElement ns element
+
 unwrapElement :: NameSpaces -> Element -> [Element]
 unwrapElement ns element
   | isElem ns "w" "sdt" element
   , Just sdtContent <- findChildByName ns "w" "sdtContent" element
   = concatMap (unwrapElement ns) (elChildren sdtContent)
+  | isElem ns "w" "r" element
+  , Just alternateContentElem <- findChildByName ns "mc" "AlternateContent" element
+  = unwrapAlternateContentElement ns alternateContentElem
   | isElem ns "w" "smartTag" element
   = concatMap (unwrapElement ns) (elChildren element)
+  | isElem ns "w" "p" element
+  , Just (modified, altContentRuns) <- extractChildren element (isAltContentRun ns)
+  = (unwrapElement ns modified) ++ concatMap (unwrapElement ns) altContentRuns
   | otherwise
   = [element{ elContent = concatMap (unwrapContent ns) (elContent element) }]
 
@@ -1200,33 +1233,35 @@
     case font of
       Nothing -> return $ TextRun str
       Just f  -> return . TextRun $
-                  T.map (\x -> fromMaybe x . getUnicode f . lowerFromPrivate $ x) str
+                   T.map (\c -> fromMaybe c (getFontChar f c)) str
   | isElem ns "w" "br" element = return LnBrk
   | isElem ns "w" "tab" element = return Tab
   | isElem ns "w" "softHyphen" element = return SoftHyphen
   | isElem ns "w" "noBreakHyphen" element = return NoBreakHyphen
   | isElem ns "w" "sym" element = return (getSymChar ns element)
   | otherwise = throwError WrongElem
-  where
-    lowerFromPrivate (ord -> c)
-      | c >= ord '\xF000' = chr $ c - ord '\xF000'
-      | otherwise = chr c
 
 -- The char attribute is a hex string
 getSymChar :: NameSpaces -> Element -> RunElem
 getSymChar ns element
-  | Just s <- lowerFromPrivate <$> getCodepoint
+  | Just s <- getCodepoint
   , Just font <- getFont =
     case readLitChar ("\\x" ++ T.unpack s) of
-         [(char, _)] -> TextRun . maybe "" T.singleton $ getUnicode font char
-         _           -> TextRun ""
+         [(ch, _)] ->
+              TextRun $ T.singleton $ fromMaybe ch $ getFontChar font ch
+         _ -> TextRun ""
   where
     getCodepoint = findAttrByName ns "w" "char" element
-    getFont = textToFont =<< findAttrByName ns "w" "font" element
-    lowerFromPrivate t | "F" `T.isPrefixOf` t = "0" <> T.drop 1 t
-                       | otherwise             = t
+    getFont = findAttrByName ns "w" "font" element >>= textToFont
 getSymChar _ _ = TextRun ""
 
+getFontChar :: Font -> Char -> Maybe Char
+getFontChar font ch = chr <$> M.lookup (font, point) symbolMap
+ where
+   point  -- sometimes F000 is added to put char in private range:
+      | ch >= '\xF000' = ord ch - 0xF000
+      | otherwise = ord ch
+
 elemToRunElems :: NameSpaces -> Element -> D [RunElem]
 elemToRunElems ns element
   |  isElem ns "w" "r" element
@@ -1234,9 +1269,9 @@
        let qualName = elemName ns "w"
        let font = do
                     fontElem <- findElement (qualName "rFonts") element
-                    textToFont =<<
-                       foldr ((<|>) . (flip findAttr fontElem . qualName))
+                    foldr ((<|>) . (flip findAttr fontElem . qualName))
                          Nothing ["ascii", "hAnsi"]
+                      >>= textToFont
        local (setFont font) (mapD (elemToRunElem ns) (elChildren element))
 elemToRunElems _ _ = throwError WrongElem
 
diff --git a/src/Text/Pandoc/Readers/Docx/Symbols.hs b/src/Text/Pandoc/Readers/Docx/Symbols.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Pandoc/Readers/Docx/Symbols.hs
@@ -0,0 +1,1085 @@
+{-# LANGUAGE OverloadedStrings #-}
+{- |
+   Module      : Text.Pandoc.Readers.Docx.Symbols
+   Copyright   : © 2023 John MacFarlane <jgm@berkeley.edu>
+   License     : GNU GPL, version 2 or above
+
+   Maintainer  : John MacFarlane <jgm@berkeley.edu>
+   Stability   : alpha
+   Portability : portable
+
+Symbol tables for MS symbol fonts. This is needed for w:sym.
+-}
+module Text.Pandoc.Readers.Docx.Symbols ( Font(..),
+                                          textToFont,
+                                          symbolMap ) where
+
+import Data.Text (Text)
+import qualified Data.Map as M
+
+data Font = Symbol | Wingdings | Wingdings2 | Wingdings3 | Webdings
+  deriving (Show, Ord, Eq)
+
+textToFont :: Text -> Maybe Font
+textToFont "Symbol" = Just Symbol
+textToFont "Wingdings" = Just Wingdings
+textToFont "Wingdings 2" = Just Wingdings2
+textToFont "Wingdings 3" = Just Wingdings3
+textToFont "Webdings" = Just Webdings
+textToFont _ = Nothing
+
+-- \ Maps font and internal character number to Unicode code point.
+symbolMap :: M.Map (Font, Int) Int
+symbolMap = M.fromList
+  [((Wingdings, 0x21), 0x1F589)
+  ,((Wingdings, 0x22), 0x2702)
+  ,((Wingdings, 0x23), 0x2701)
+  ,((Wingdings, 0x24), 0x1F453)
+  ,((Wingdings, 0x25), 0x1F56D)
+  ,((Wingdings, 0x26), 0x1F56E)
+  ,((Wingdings, 0x27), 0x1F56F)
+  ,((Wingdings, 0x28), 0x1F57F)
+  ,((Wingdings, 0x29), 0x2706)
+  ,((Wingdings, 0x2A), 0x1F582)
+  ,((Wingdings, 0x2B), 0x1F583)
+  ,((Wingdings, 0x2C), 0x1F4EA)
+  ,((Wingdings, 0x2D), 0x1F4EB)
+  ,((Wingdings, 0x2E), 0x1F4EC)
+  ,((Wingdings, 0x2F), 0x1F4ED)
+  ,((Wingdings, 0x30), 0x1F4C1)
+  ,((Wingdings, 0x31), 0x1F4C2)
+  ,((Wingdings, 0x32), 0x1F4C4)
+  ,((Wingdings, 0x33), 0x1F5CF)
+  ,((Wingdings, 0x34), 0x1F5D0)
+  ,((Wingdings, 0x35), 0x1F5C4)
+  ,((Wingdings, 0x36), 0x231B)
+  ,((Wingdings, 0x37), 0x1F5AE)
+  ,((Wingdings, 0x38), 0x1F5B0)
+  ,((Wingdings, 0x39), 0x1F5B2)
+  ,((Wingdings, 0x3A), 0x1F5B3)
+  ,((Wingdings, 0x3B), 0x1F5B4)
+  ,((Wingdings, 0x3C), 0x1F5AB)
+  ,((Wingdings, 0x3D), 0x1F5AC)
+  ,((Wingdings, 0x3E), 0x2707)
+  ,((Wingdings, 0x3F), 0x270D)
+  ,((Wingdings, 0x40), 0x1F58E)
+  ,((Wingdings, 0x41), 0x270C)
+  ,((Wingdings, 0x42), 0x1F44C)
+  ,((Wingdings, 0x43), 0x1F44D)
+  ,((Wingdings, 0x44), 0x1F44E)
+  ,((Wingdings, 0x45), 0x261C)
+  ,((Wingdings, 0x46), 0x261E)
+  ,((Wingdings, 0x47), 0x261D)
+  ,((Wingdings, 0x48), 0x261F)
+  ,((Wingdings, 0x49), 0x1F590)
+  ,((Wingdings, 0x4A), 0x263A)
+  ,((Wingdings, 0x4B), 0x1F610)
+  ,((Wingdings, 0x4C), 0x2639)
+  ,((Wingdings, 0x4D), 0x1F4A3)
+  ,((Wingdings, 0x4E), 0x2620)
+  ,((Wingdings, 0x4F), 0x1F3F3)
+  ,((Wingdings, 0x50), 0x1F3F1)
+  ,((Wingdings, 0x51), 0x2708)
+  ,((Wingdings, 0x52), 0x263C)
+  ,((Wingdings, 0x53), 0x1F4A7)
+  ,((Wingdings, 0x54), 0x2744)
+  ,((Wingdings, 0x55), 0x1F546)
+  ,((Wingdings, 0x56), 0x271E)
+  ,((Wingdings, 0x57), 0x1F548)
+  ,((Wingdings, 0x58), 0x2720)
+  ,((Wingdings, 0x59), 0x2721)
+  ,((Wingdings, 0x5A), 0x262A)
+  ,((Wingdings, 0x5B), 0x262F)
+  ,((Wingdings, 0x5C), 0x0950)
+  ,((Wingdings, 0x5D), 0x2638)
+  ,((Wingdings, 0x5E), 0x2648)
+  ,((Wingdings, 0x5F), 0x2649)
+  ,((Wingdings, 0x60), 0x264A)
+  ,((Wingdings, 0x61), 0x264B)
+  ,((Wingdings, 0x62), 0x264C)
+  ,((Wingdings, 0x63), 0x264D)
+  ,((Wingdings, 0x64), 0x264E)
+  ,((Wingdings, 0x65), 0x264F)
+  ,((Wingdings, 0x66), 0x2650)
+  ,((Wingdings, 0x67), 0x2651)
+  ,((Wingdings, 0x68), 0x2652)
+  ,((Wingdings, 0x69), 0x2653)
+  ,((Wingdings, 0x6A), 0x1F670)
+  ,((Wingdings, 0x6B), 0x1F675)
+  ,((Wingdings, 0x6C), 0x25CF)
+  ,((Wingdings, 0x6D), 0x1F53E)
+  ,((Wingdings, 0x6E), 0x25A0)
+  ,((Wingdings, 0x6F), 0x25A1)
+  ,((Wingdings, 0x70), 0x1F790)
+  ,((Wingdings, 0x71), 0x2751)
+  ,((Wingdings, 0x72), 0x2752)
+  ,((Wingdings, 0x73), 0x2B27)
+  ,((Wingdings, 0x74), 0x29EB)
+  ,((Wingdings, 0x75), 0x25C6)
+  ,((Wingdings, 0x76), 0x2756)
+  ,((Wingdings, 0x77), 0x2B25)
+  ,((Wingdings, 0x78), 0x2327)
+  ,((Wingdings, 0x79), 0x2BB9)
+  ,((Wingdings, 0x7A), 0x2318)
+  ,((Wingdings, 0x7B), 0x1F3F5)
+  ,((Wingdings, 0x7C), 0x1F3F6)
+  ,((Wingdings, 0x7D), 0x1F676)
+  ,((Wingdings, 0x7E), 0x1F677)
+  ,((Wingdings, 0x80), 0x24EA)
+  ,((Wingdings, 0x81), 0x2460)
+  ,((Wingdings, 0x82), 0x2461)
+  ,((Wingdings, 0x83), 0x2462)
+  ,((Wingdings, 0x84), 0x2463)
+  ,((Wingdings, 0x85), 0x2464)
+  ,((Wingdings, 0x86), 0x2465)
+  ,((Wingdings, 0x87), 0x2466)
+  ,((Wingdings, 0x88), 0x2467)
+  ,((Wingdings, 0x89), 0x2468)
+  ,((Wingdings, 0x8A), 0x2469)
+  ,((Wingdings, 0x8B), 0x24FF)
+  ,((Wingdings, 0x8C), 0x2776)
+  ,((Wingdings, 0x8D), 0x2777)
+  ,((Wingdings, 0x8E), 0x2778)
+  ,((Wingdings, 0x8F), 0x2779)
+  ,((Wingdings, 0x90), 0x277A)
+  ,((Wingdings, 0x91), 0x277B)
+  ,((Wingdings, 0x92), 0x277C)
+  ,((Wingdings, 0x93), 0x277D)
+  ,((Wingdings, 0x94), 0x277E)
+  ,((Wingdings, 0x95), 0x277F)
+  ,((Wingdings, 0x96), 0x1F662)
+  ,((Wingdings, 0x97), 0x1F660)
+  ,((Wingdings, 0x98), 0x1F661)
+  ,((Wingdings, 0x99), 0x1F663)
+  ,((Wingdings, 0x9A), 0x1F65E)
+  ,((Wingdings, 0x9B), 0x1F65C)
+  ,((Wingdings, 0x9C), 0x1F65D)
+  ,((Wingdings, 0x9D), 0x1F65F)
+  ,((Wingdings, 0x9E), 0x00B7)
+  ,((Wingdings, 0x9F), 0x2022)
+  ,((Wingdings, 0xA1), 0x26AA)
+  ,((Wingdings, 0xA2), 0x1F786)
+  ,((Wingdings, 0xA3), 0x1F788)
+  ,((Wingdings, 0xA4), 0x25C9)
+  ,((Wingdings, 0xA5), 0x25CE)
+  ,((Wingdings, 0xA6), 0x1F53F)
+  ,((Wingdings, 0xA7), 0x25AA)
+  ,((Wingdings, 0xA8), 0x25FB)
+  ,((Wingdings, 0xA9), 0x1F7C2)
+  ,((Wingdings, 0xAA), 0x2726)
+  ,((Wingdings, 0xAB), 0x2605)
+  ,((Wingdings, 0xAC), 0x2736)
+  ,((Wingdings, 0xAD), 0x2734)
+  ,((Wingdings, 0xAE), 0x2739)
+  ,((Wingdings, 0xAF), 0x2735)
+  ,((Wingdings, 0xB0), 0x2BD0)
+  ,((Wingdings, 0xB1), 0x2316)
+  ,((Wingdings, 0xB2), 0x27E1)
+  ,((Wingdings, 0xB3), 0x2311)
+  ,((Wingdings, 0xB4), 0x2BD1)
+  ,((Wingdings, 0xB5), 0x272A)
+  ,((Wingdings, 0xB6), 0x2730)
+  ,((Wingdings, 0xB7), 0x1F550)
+  ,((Wingdings, 0xB8), 0x1F551)
+  ,((Wingdings, 0xB9), 0x1F552)
+  ,((Wingdings, 0xBA), 0x1F553)
+  ,((Wingdings, 0xBB), 0x1F554)
+  ,((Wingdings, 0xBC), 0x1F555)
+  ,((Wingdings, 0xBD), 0x1F556)
+  ,((Wingdings, 0xBE), 0x1F557)
+  ,((Wingdings, 0xBF), 0x1F558)
+  ,((Wingdings, 0xC0), 0x1F559)
+  ,((Wingdings, 0xC1), 0x1F55A)
+  ,((Wingdings, 0xC2), 0x1F55B)
+  ,((Wingdings, 0xC3), 0x2BB0)
+  ,((Wingdings, 0xC4), 0x2BB1)
+  ,((Wingdings, 0xC5), 0x2BB2)
+  ,((Wingdings, 0xC6), 0x2BB3)
+  ,((Wingdings, 0xC7), 0x2BB4)
+  ,((Wingdings, 0xC8), 0x2BB5)
+  ,((Wingdings, 0xC9), 0x2BB6)
+  ,((Wingdings, 0xCA), 0x2BB7)
+  ,((Wingdings, 0xCB), 0x1F66A)
+  ,((Wingdings, 0xCC), 0x1F66B)
+  ,((Wingdings, 0xCD), 0x1F655)
+  ,((Wingdings, 0xCE), 0x1F654)
+  ,((Wingdings, 0xCF), 0x1F657)
+  ,((Wingdings, 0xD0), 0x1F656)
+  ,((Wingdings, 0xD1), 0x1F650)
+  ,((Wingdings, 0xD2), 0x1F651)
+  ,((Wingdings, 0xD3), 0x1F652)
+  ,((Wingdings, 0xD4), 0x1F653)
+  ,((Wingdings, 0xD5), 0x232B)
+  ,((Wingdings, 0xD6), 0x2326)
+  ,((Wingdings, 0xD7), 0x2B98)
+  ,((Wingdings, 0xD8), 0x2B9A)
+  ,((Wingdings, 0xD9), 0x2B99)
+  ,((Wingdings, 0xDA), 0x2B9B)
+  ,((Wingdings, 0xDB), 0x2B88)
+  ,((Wingdings, 0xDC), 0x2B8A)
+  ,((Wingdings, 0xDD), 0x2B89)
+  ,((Wingdings, 0xDE), 0x2B8B)
+  ,((Wingdings, 0xDF), 0x1F868)
+  ,((Wingdings, 0xE0), 0x1F86A)
+  ,((Wingdings, 0xE1), 0x1F869)
+  ,((Wingdings, 0xE2), 0x1F86B)
+  ,((Wingdings, 0xE3), 0x1F86C)
+  ,((Wingdings, 0xE4), 0x1F86D)
+  ,((Wingdings, 0xE5), 0x1F86F)
+  ,((Wingdings, 0xE6), 0x1F86E)
+  ,((Wingdings, 0xE7), 0x1F878)
+  ,((Wingdings, 0xE8), 0x1F87A)
+  ,((Wingdings, 0xE9), 0x1F879)
+  ,((Wingdings, 0xEA), 0x1F87B)
+  ,((Wingdings, 0xEB), 0x1F87C)
+  ,((Wingdings, 0xEC), 0x1F87D)
+  ,((Wingdings, 0xED), 0x1F87F)
+  ,((Wingdings, 0xEE), 0x1F87E)
+  ,((Wingdings, 0xEF), 0x21E6)
+  ,((Wingdings, 0xF0), 0x21E8)
+  ,((Wingdings, 0xF1), 0x21E7)
+  ,((Wingdings, 0xF2), 0x21E9)
+  ,((Wingdings, 0xF3), 0x2B04)
+  ,((Wingdings, 0xF4), 0x21F3)
+  ,((Wingdings, 0xF5), 0x2B00)
+  ,((Wingdings, 0xF6), 0x2B01)
+  ,((Wingdings, 0xF7), 0x2B03)
+  ,((Wingdings, 0xF8), 0x2B02)
+  ,((Wingdings, 0xF9), 0x1F8AC)
+  ,((Wingdings, 0xFA), 0x1F8AD)
+  ,((Wingdings, 0xFB), 0x1F5F6)
+  ,((Wingdings, 0xFC), 0x2714)
+  ,((Wingdings, 0xFD), 0x1F5F7)
+  ,((Wingdings, 0xFE), 0x1F5F9)
+  ,((Wingdings2, 0x21), 0x1F58A)
+  ,((Wingdings2, 0x22), 0x1F58B)
+  ,((Wingdings2, 0x23), 0x1F58C)
+  ,((Wingdings2, 0x24), 0x1F58D)
+  ,((Wingdings2, 0x25), 0x2704)
+  ,((Wingdings2, 0x26), 0x2700)
+  ,((Wingdings2, 0x27), 0x1F57E)
+  ,((Wingdings2, 0x28), 0x1F57D)
+  ,((Wingdings2, 0x29), 0x1F5C5)
+  ,((Wingdings2, 0x2A), 0x1F5C6)
+  ,((Wingdings2, 0x2B), 0x1F5C7)
+  ,((Wingdings2, 0x2C), 0x1F5C8)
+  ,((Wingdings2, 0x2D), 0x1F5C9)
+  ,((Wingdings2, 0x2E), 0x1F5CA)
+  ,((Wingdings2, 0x2F), 0x1F5CB)
+  ,((Wingdings2, 0x30), 0x1F5CC)
+  ,((Wingdings2, 0x31), 0x1F5CD)
+  ,((Wingdings2, 0x32), 0x1F4CB)
+  ,((Wingdings2, 0x33), 0x1F5D1)
+  ,((Wingdings2, 0x34), 0x1F5D4)
+  ,((Wingdings2, 0x35), 0x1F5B5)
+  ,((Wingdings2, 0x36), 0x1F5B6)
+  ,((Wingdings2, 0x37), 0x1F5B7)
+  ,((Wingdings2, 0x38), 0x1F5B8)
+  ,((Wingdings2, 0x39), 0x1F5AD)
+  ,((Wingdings2, 0x3A), 0x1F5AF)
+  ,((Wingdings2, 0x3B), 0x1F5B1)
+  ,((Wingdings2, 0x3C), 0x1F592)
+  ,((Wingdings2, 0x3D), 0x1F593)
+  ,((Wingdings2, 0x3E), 0x1F598)
+  ,((Wingdings2, 0x3F), 0x1F599)
+  ,((Wingdings2, 0x40), 0x1F59A)
+  ,((Wingdings2, 0x41), 0x1F59B)
+  ,((Wingdings2, 0x42), 0x1F448)
+  ,((Wingdings2, 0x43), 0x1F449)
+  ,((Wingdings2, 0x44), 0x1F59C)
+  ,((Wingdings2, 0x45), 0x1F59D)
+  ,((Wingdings2, 0x46), 0x1F59E)
+  ,((Wingdings2, 0x47), 0x1F59F)
+  ,((Wingdings2, 0x48), 0x1F5A0)
+  ,((Wingdings2, 0x49), 0x1F5A1)
+  ,((Wingdings2, 0x4A), 0x1F446)
+  ,((Wingdings2, 0x4B), 0x1F447)
+  ,((Wingdings2, 0x4C), 0x1F5A2)
+  ,((Wingdings2, 0x4D), 0x1F5A3)
+  ,((Wingdings2, 0x4E), 0x1F591)
+  ,((Wingdings2, 0x4F), 0x1F5F4)
+  ,((Wingdings2, 0x50), 0x2713)
+  ,((Wingdings2, 0x51), 0x1F5F5)
+  ,((Wingdings2, 0x52), 0x2611)
+  ,((Wingdings2, 0x53), 0x2612)
+  ,((Wingdings2, 0x54), 0x2612)
+  ,((Wingdings2, 0x55), 0x2BBE)
+  ,((Wingdings2, 0x56), 0x2BBF)
+  ,((Wingdings2, 0x57), 0x29B8)
+  ,((Wingdings2, 0x58), 0x29B8)
+  ,((Wingdings2, 0x59), 0x1F671)
+  ,((Wingdings2, 0x5A), 0x1F674)
+  ,((Wingdings2, 0x5B), 0x1F672)
+  ,((Wingdings2, 0x5C), 0x1F673)
+  ,((Wingdings2, 0x5D), 0x203D)
+  ,((Wingdings2, 0x5E), 0x1F679)
+  ,((Wingdings2, 0x5F), 0x1F67A)
+  ,((Wingdings2, 0x60), 0x1F67B)
+  ,((Wingdings2, 0x61), 0x1F666)
+  ,((Wingdings2, 0x62), 0x1F664)
+  ,((Wingdings2, 0x63), 0x1F665)
+  ,((Wingdings2, 0x64), 0x1F667)
+  ,((Wingdings2, 0x65), 0x1F65A)
+  ,((Wingdings2, 0x66), 0x1F658)
+  ,((Wingdings2, 0x67), 0x1F659)
+  ,((Wingdings2, 0x68), 0x1F65B)
+  ,((Wingdings2, 0x69), 0x24EA)
+  ,((Wingdings2, 0x6A), 0x2460)
+  ,((Wingdings2, 0x6B), 0x2461)
+  ,((Wingdings2, 0x6C), 0x2462)
+  ,((Wingdings2, 0x6D), 0x2463)
+  ,((Wingdings2, 0x6E), 0x2464)
+  ,((Wingdings2, 0x6F), 0x2465)
+  ,((Wingdings2, 0x70), 0x2466)
+  ,((Wingdings2, 0x71), 0x2467)
+  ,((Wingdings2, 0x72), 0x2468)
+  ,((Wingdings2, 0x73), 0x2469)
+  ,((Wingdings2, 0x74), 0x24FF)
+  ,((Wingdings2, 0x75), 0x2776)
+  ,((Wingdings2, 0x76), 0x2777)
+  ,((Wingdings2, 0x77), 0x2778)
+  ,((Wingdings2, 0x78), 0x2779)
+  ,((Wingdings2, 0x79), 0x277A)
+  ,((Wingdings2, 0x7A), 0x277B)
+  ,((Wingdings2, 0x7B), 0x277C)
+  ,((Wingdings2, 0x7C), 0x277D)
+  ,((Wingdings2, 0x7D), 0x277E)
+  ,((Wingdings2, 0x7E), 0x277F)
+  ,((Wingdings2, 0x80), 0x2609)
+  ,((Wingdings2, 0x81), 0x1F315)
+  ,((Wingdings2, 0x82), 0x263D)
+  ,((Wingdings2, 0x83), 0x263E)
+  ,((Wingdings2, 0x84), 0x2E3F)
+  ,((Wingdings2, 0x85), 0x271D)
+  ,((Wingdings2, 0x86), 0x1F547)
+  ,((Wingdings2, 0x87), 0x1F55C)
+  ,((Wingdings2, 0x88), 0x1F55D)
+  ,((Wingdings2, 0x89), 0x1F55E)
+  ,((Wingdings2, 0x8A), 0x1F55F)
+  ,((Wingdings2, 0x8B), 0x1F560)
+  ,((Wingdings2, 0x8C), 0x1F561)
+  ,((Wingdings2, 0x8D), 0x1F562)
+  ,((Wingdings2, 0x8E), 0x1F563)
+  ,((Wingdings2, 0x8F), 0x1F564)
+  ,((Wingdings2, 0x90), 0x1F565)
+  ,((Wingdings2, 0x91), 0x1F566)
+  ,((Wingdings2, 0x92), 0x1F567)
+  ,((Wingdings2, 0x93), 0x1F668)
+  ,((Wingdings2, 0x94), 0x1F669)
+  ,((Wingdings2, 0x95), 0x2022)
+  ,((Wingdings2, 0x96), 0x25CF)
+  ,((Wingdings2, 0x97), 0x26AB)
+  ,((Wingdings2, 0x98), 0x2B24)
+  ,((Wingdings2, 0x99), 0x1F785)
+  ,((Wingdings2, 0x9A), 0x1F786)
+  ,((Wingdings2, 0x9B), 0x1F787)
+  ,((Wingdings2, 0x9C), 0x1F788)
+  ,((Wingdings2, 0x9D), 0x1F78A)
+  ,((Wingdings2, 0x9E), 0x29BF)
+  ,((Wingdings2, 0x9F), 0x25FE)
+  ,((Wingdings2, 0xA1), 0x25FC)
+  ,((Wingdings2, 0xA2), 0x2B1B)
+  ,((Wingdings2, 0xA3), 0x2B1C)
+  ,((Wingdings2, 0xA4), 0x1F791)
+  ,((Wingdings2, 0xA5), 0x1F792)
+  ,((Wingdings2, 0xA6), 0x1F793)
+  ,((Wingdings2, 0xA7), 0x1F794)
+  ,((Wingdings2, 0xA8), 0x25A3)
+  ,((Wingdings2, 0xA9), 0x1F795)
+  ,((Wingdings2, 0xAA), 0x1F796)
+  ,((Wingdings2, 0xAB), 0x1F797)
+  ,((Wingdings2, 0xAC), 0x2B29)
+  ,((Wingdings2, 0xAD), 0x2B25)
+  ,((Wingdings2, 0xAE), 0x25C6)
+  ,((Wingdings2, 0xAF), 0x25C7)
+  ,((Wingdings2, 0xB0), 0x1F79A)
+  ,((Wingdings2, 0xB1), 0x25C8)
+  ,((Wingdings2, 0xB2), 0x1F79B)
+  ,((Wingdings2, 0xB3), 0x1F79C)
+  ,((Wingdings2, 0xB4), 0x1F79D)
+  ,((Wingdings2, 0xB5), 0x2B2A)
+  ,((Wingdings2, 0xB6), 0x2B27)
+  ,((Wingdings2, 0xB7), 0x29EB)
+  ,((Wingdings2, 0xB8), 0x25CA)
+  ,((Wingdings2, 0xB9), 0x1F7A0)
+  ,((Wingdings2, 0xBA), 0x25D6)
+  ,((Wingdings2, 0xBB), 0x25D7)
+  ,((Wingdings2, 0xBC), 0x2BCA)
+  ,((Wingdings2, 0xBD), 0x2BCB)
+  ,((Wingdings2, 0xBE), 0x25FC)
+  ,((Wingdings2, 0xBF), 0x2B25)
+  ,((Wingdings2, 0xC0), 0x2B1F)
+  ,((Wingdings2, 0xC1), 0x2BC2)
+  ,((Wingdings2, 0xC2), 0x2B23)
+  ,((Wingdings2, 0xC3), 0x2B22)
+  ,((Wingdings2, 0xC4), 0x2BC3)
+  ,((Wingdings2, 0xC5), 0x2BC4)
+  ,((Wingdings2, 0xC6), 0x1F7A1)
+  ,((Wingdings2, 0xC7), 0x1F7A2)
+  ,((Wingdings2, 0xC8), 0x1F7A3)
+  ,((Wingdings2, 0xC9), 0x1F7A4)
+  ,((Wingdings2, 0xCA), 0x1F7A5)
+  ,((Wingdings2, 0xCB), 0x1F7A6)
+  ,((Wingdings2, 0xCC), 0x1F7A7)
+  ,((Wingdings2, 0xCD), 0x1F7A8)
+  ,((Wingdings2, 0xCE), 0x1F7A9)
+  ,((Wingdings2, 0xCF), 0x1F7AA)
+  ,((Wingdings2, 0xD0), 0x1F7AB)
+  ,((Wingdings2, 0xD1), 0x1F7AC)
+  ,((Wingdings2, 0xD2), 0x1F7AD)
+  ,((Wingdings2, 0xD3), 0x1F7AE)
+  ,((Wingdings2, 0xD4), 0x1F7AF)
+  ,((Wingdings2, 0xD5), 0x1F7B0)
+  ,((Wingdings2, 0xD6), 0x1F7B1)
+  ,((Wingdings2, 0xD7), 0x1F7B2)
+  ,((Wingdings2, 0xD8), 0x1F7B3)
+  ,((Wingdings2, 0xD9), 0x1F7B4)
+  ,((Wingdings2, 0xDA), 0x1F7B5)
+  ,((Wingdings2, 0xDB), 0x1F7B6)
+  ,((Wingdings2, 0xDC), 0x1F7B7)
+  ,((Wingdings2, 0xDD), 0x1F7B8)
+  ,((Wingdings2, 0xDE), 0x1F7B9)
+  ,((Wingdings2, 0xDF), 0x1F7BA)
+  ,((Wingdings2, 0xE0), 0x1F7BB)
+  ,((Wingdings2, 0xE1), 0x1F7BC)
+  ,((Wingdings2, 0xE2), 0x1F7BD)
+  ,((Wingdings2, 0xE3), 0x1F7BE)
+  ,((Wingdings2, 0xE4), 0x1F7BF)
+  ,((Wingdings2, 0xE5), 0x1F7C0)
+  ,((Wingdings2, 0xE6), 0x1F7C2)
+  ,((Wingdings2, 0xE7), 0x1F7C4)
+  ,((Wingdings2, 0xE8), 0x2726)
+  ,((Wingdings2, 0xE9), 0x1F7C9)
+  ,((Wingdings2, 0xEA), 0x2605)
+  ,((Wingdings2, 0xEB), 0x2736)
+  ,((Wingdings2, 0xEC), 0x1F7CB)
+  ,((Wingdings2, 0xED), 0x2737)
+  ,((Wingdings2, 0xEE), 0x1F7CF)
+  ,((Wingdings2, 0xEF), 0x1F7D2)
+  ,((Wingdings2, 0xF0), 0x2739)
+  ,((Wingdings2, 0xF1), 0x1F7C3)
+  ,((Wingdings2, 0xF2), 0x1F7C7)
+  ,((Wingdings2, 0xF3), 0x272F)
+  ,((Wingdings2, 0xF4), 0x1F7CD)
+  ,((Wingdings2, 0xF5), 0x1F7D4)
+  ,((Wingdings2, 0xF6), 0x2BCC)
+  ,((Wingdings2, 0xF7), 0x2BCD)
+  ,((Wingdings2, 0xF8), 0x203B)
+  ,((Wingdings2, 0xF9), 0x2042)
+  ,((Wingdings3, 0x21), 0x2B60)
+  ,((Wingdings3, 0x22), 0x2B62)
+  ,((Wingdings3, 0x23), 0x2B61)
+  ,((Wingdings3, 0x24), 0x2B63)
+  ,((Wingdings3, 0x25), 0x2B66)
+  ,((Wingdings3, 0x26), 0x2B67)
+  ,((Wingdings3, 0x27), 0x2B69)
+  ,((Wingdings3, 0x28), 0x2B68)
+  ,((Wingdings3, 0x29), 0x2B70)
+  ,((Wingdings3, 0x2A), 0x2B72)
+  ,((Wingdings3, 0x2B), 0x2B71)
+  ,((Wingdings3, 0x2C), 0x2B73)
+  ,((Wingdings3, 0x2D), 0x2B76)
+  ,((Wingdings3, 0x2E), 0x2B78)
+  ,((Wingdings3, 0x2F), 0x2B7B)
+  ,((Wingdings3, 0x30), 0x2B7D)
+  ,((Wingdings3, 0x31), 0x2B64)
+  ,((Wingdings3, 0x32), 0x2B65)
+  ,((Wingdings3, 0x33), 0x2B6A)
+  ,((Wingdings3, 0x34), 0x2B6C)
+  ,((Wingdings3, 0x35), 0x2B6B)
+  ,((Wingdings3, 0x36), 0x2B6D)
+  ,((Wingdings3, 0x37), 0x2B4D)
+  ,((Wingdings3, 0x38), 0x2BA0)
+  ,((Wingdings3, 0x39), 0x2BA1)
+  ,((Wingdings3, 0x3A), 0x2BA2)
+  ,((Wingdings3, 0x3B), 0x2BA3)
+  ,((Wingdings3, 0x3C), 0x2BA4)
+  ,((Wingdings3, 0x3D), 0x2BA5)
+  ,((Wingdings3, 0x3E), 0x2BA6)
+  ,((Wingdings3, 0x3F), 0x2BA7)
+  ,((Wingdings3, 0x40), 0x2B90)
+  ,((Wingdings3, 0x41), 0x2B91)
+  ,((Wingdings3, 0x42), 0x2B92)
+  ,((Wingdings3, 0x43), 0x2B93)
+  ,((Wingdings3, 0x44), 0x2B80)
+  ,((Wingdings3, 0x45), 0x2B83)
+  ,((Wingdings3, 0x46), 0x2B7E)
+  ,((Wingdings3, 0x47), 0x2B7F)
+  ,((Wingdings3, 0x48), 0x2B84)
+  ,((Wingdings3, 0x49), 0x2B86)
+  ,((Wingdings3, 0x4A), 0x2B85)
+  ,((Wingdings3, 0x4B), 0x2B87)
+  ,((Wingdings3, 0x4C), 0x2B8F)
+  ,((Wingdings3, 0x4D), 0x2B8D)
+  ,((Wingdings3, 0x4E), 0x2B8E)
+  ,((Wingdings3, 0x4F), 0x2B8C)
+  ,((Wingdings3, 0x50), 0x2B6E)
+  ,((Wingdings3, 0x51), 0x2B6F)
+  ,((Wingdings3, 0x52), 0x238B)
+  ,((Wingdings3, 0x53), 0x2324)
+  ,((Wingdings3, 0x54), 0x2303)
+  ,((Wingdings3, 0x55), 0x2325)
+  ,((Wingdings3, 0x56), 0x23B5)
+  ,((Wingdings3, 0x57), 0x237D)
+  ,((Wingdings3, 0x58), 0x21EA)
+  ,((Wingdings3, 0x59), 0x2BB8)
+  ,((Wingdings3, 0x5A), 0x1F8A0)
+  ,((Wingdings3, 0x5B), 0x1F8A1)
+  ,((Wingdings3, 0x5C), 0x1F8A2)
+  ,((Wingdings3, 0x5D), 0x1F8A3)
+  ,((Wingdings3, 0x5E), 0x1F8A4)
+  ,((Wingdings3, 0x5F), 0x1F8A5)
+  ,((Wingdings3, 0x60), 0x1F8A6)
+  ,((Wingdings3, 0x61), 0x1F8A7)
+  ,((Wingdings3, 0x62), 0x1F8A8)
+  ,((Wingdings3, 0x63), 0x1F8A9)
+  ,((Wingdings3, 0x64), 0x1F8AA)
+  ,((Wingdings3, 0x65), 0x1F8AB)
+  ,((Wingdings3, 0x66), 0x2190)
+  ,((Wingdings3, 0x67), 0x2192)
+  ,((Wingdings3, 0x68), 0x2191)
+  ,((Wingdings3, 0x69), 0x2193)
+  ,((Wingdings3, 0x6A), 0x2196)
+  ,((Wingdings3, 0x6B), 0x2197)
+  ,((Wingdings3, 0x6C), 0x2199)
+  ,((Wingdings3, 0x6D), 0x2198)
+  ,((Wingdings3, 0x6E), 0x1F858)
+  ,((Wingdings3, 0x6F), 0x1F859)
+  ,((Wingdings3, 0x70), 0x25B2)
+  ,((Wingdings3, 0x71), 0x25BC)
+  ,((Wingdings3, 0x72), 0x25B3)
+  ,((Wingdings3, 0x73), 0x25BD)
+  ,((Wingdings3, 0x74), 0x25C4)
+  ,((Wingdings3, 0x75), 0x25BA)
+  ,((Wingdings3, 0x76), 0x25C1)
+  ,((Wingdings3, 0x77), 0x25B7)
+  ,((Wingdings3, 0x78), 0x25E3)
+  ,((Wingdings3, 0x79), 0x25E2)
+  ,((Wingdings3, 0x7A), 0x25E4)
+  ,((Wingdings3, 0x7B), 0x25E5)
+  ,((Wingdings3, 0x7C), 0x1F780)
+  ,((Wingdings3, 0x7D), 0x1F782)
+  ,((Wingdings3, 0x7E), 0x1F781)
+  ,((Wingdings3, 0x80), 0x1F783)
+  ,((Wingdings3, 0x81), 0x25B2)
+  ,((Wingdings3, 0x82), 0x25BC)
+  ,((Wingdings3, 0x83), 0x25C0)
+  ,((Wingdings3, 0x84), 0x25B6)
+  ,((Wingdings3, 0x85), 0x2B9C)
+  ,((Wingdings3, 0x86), 0x2B9E)
+  ,((Wingdings3, 0x87), 0x2B9D)
+  ,((Wingdings3, 0x88), 0x2B9F)
+  ,((Wingdings3, 0x89), 0x1F810)
+  ,((Wingdings3, 0x8A), 0x1F812)
+  ,((Wingdings3, 0x8B), 0x1F811)
+  ,((Wingdings3, 0x8C), 0x1F813)
+  ,((Wingdings3, 0x8D), 0x1F814)
+  ,((Wingdings3, 0x8E), 0x1F816)
+  ,((Wingdings3, 0x8F), 0x1F815)
+  ,((Wingdings3, 0x90), 0x1F817)
+  ,((Wingdings3, 0x91), 0x1F818)
+  ,((Wingdings3, 0x92), 0x1F81A)
+  ,((Wingdings3, 0x93), 0x1F819)
+  ,((Wingdings3, 0x94), 0x1F81B)
+  ,((Wingdings3, 0x95), 0x1F81C)
+  ,((Wingdings3, 0x96), 0x1F81E)
+  ,((Wingdings3, 0x97), 0x1F81D)
+  ,((Wingdings3, 0x98), 0x1F81F)
+  ,((Wingdings3, 0x99), 0x1F800)
+  ,((Wingdings3, 0x9A), 0x1F802)
+  ,((Wingdings3, 0x9B), 0x1F801)
+  ,((Wingdings3, 0x9C), 0x1F803)
+  ,((Wingdings3, 0x9D), 0x1F804)
+  ,((Wingdings3, 0x9E), 0x1F806)
+  ,((Wingdings3, 0x9F), 0x1F805)
+  ,((Wingdings3, 0xA1), 0x1F808)
+  ,((Wingdings3, 0xA2), 0x1F80A)
+  ,((Wingdings3, 0xA3), 0x1F809)
+  ,((Wingdings3, 0xA4), 0x1F80B)
+  ,((Wingdings3, 0xA5), 0x1F820)
+  ,((Wingdings3, 0xA6), 0x1F822)
+  ,((Wingdings3, 0xA7), 0x1F824)
+  ,((Wingdings3, 0xA8), 0x1F826)
+  ,((Wingdings3, 0xA9), 0x1F828)
+  ,((Wingdings3, 0xAA), 0x1F82A)
+  ,((Wingdings3, 0xAB), 0x1F82C)
+  ,((Wingdings3, 0xAC), 0x1F89C)
+  ,((Wingdings3, 0xAD), 0x1F89D)
+  ,((Wingdings3, 0xAE), 0x1F89E)
+  ,((Wingdings3, 0xAF), 0x1F89F)
+  ,((Wingdings3, 0xB0), 0x1F82E)
+  ,((Wingdings3, 0xB1), 0x1F830)
+  ,((Wingdings3, 0xB2), 0x1F832)
+  ,((Wingdings3, 0xB3), 0x1F834)
+  ,((Wingdings3, 0xB4), 0x1F836)
+  ,((Wingdings3, 0xB5), 0x1F838)
+  ,((Wingdings3, 0xB6), 0x1F83A)
+  ,((Wingdings3, 0xB7), 0x1F839)
+  ,((Wingdings3, 0xB8), 0x1F83B)
+  ,((Wingdings3, 0xB9), 0x1F898)
+  ,((Wingdings3, 0xBA), 0x1F89A)
+  ,((Wingdings3, 0xBB), 0x1F899)
+  ,((Wingdings3, 0xBC), 0x1F89B)
+  ,((Wingdings3, 0xBD), 0x1F83C)
+  ,((Wingdings3, 0xBE), 0x1F83E)
+  ,((Wingdings3, 0xBF), 0x1F83D)
+  ,((Wingdings3, 0xC0), 0x1F83F)
+  ,((Wingdings3, 0xC1), 0x1F840)
+  ,((Wingdings3, 0xC2), 0x1F842)
+  ,((Wingdings3, 0xC3), 0x1F841)
+  ,((Wingdings3, 0xC4), 0x1F843)
+  ,((Wingdings3, 0xC5), 0x1F844)
+  ,((Wingdings3, 0xC6), 0x1F846)
+  ,((Wingdings3, 0xC7), 0x1F845)
+  ,((Wingdings3, 0xC8), 0x1F847)
+  ,((Wingdings3, 0xC9), 0x2BA8)
+  ,((Wingdings3, 0xCA), 0x2BA9)
+  ,((Wingdings3, 0xCB), 0x2BAA)
+  ,((Wingdings3, 0xCC), 0x2BAB)
+  ,((Wingdings3, 0xCD), 0x2BAC)
+  ,((Wingdings3, 0xCE), 0x2BAD)
+  ,((Wingdings3, 0xCF), 0x2BAE)
+  ,((Wingdings3, 0xD0), 0x2BAF)
+  ,((Wingdings3, 0xD1), 0x1F860)
+  ,((Wingdings3, 0xD2), 0x1F862)
+  ,((Wingdings3, 0xD3), 0x1F861)
+  ,((Wingdings3, 0xD4), 0x1F863)
+  ,((Wingdings3, 0xD5), 0x1F864)
+  ,((Wingdings3, 0xD6), 0x1F865)
+  ,((Wingdings3, 0xD7), 0x1F867)
+  ,((Wingdings3, 0xD8), 0x1F866)
+  ,((Wingdings3, 0xD9), 0x1F870)
+  ,((Wingdings3, 0xDA), 0x1F872)
+  ,((Wingdings3, 0xDB), 0x1F871)
+  ,((Wingdings3, 0xDC), 0x1F873)
+  ,((Wingdings3, 0xDD), 0x1F874)
+  ,((Wingdings3, 0xDE), 0x1F875)
+  ,((Wingdings3, 0xDF), 0x1F877)
+  ,((Wingdings3, 0xE0), 0x1F876)
+  ,((Wingdings3, 0xE1), 0x1F880)
+  ,((Wingdings3, 0xE2), 0x1F882)
+  ,((Wingdings3, 0xE3), 0x1F881)
+  ,((Wingdings3, 0xE4), 0x1F883)
+  ,((Wingdings3, 0xE5), 0x1F884)
+  ,((Wingdings3, 0xE6), 0x1F885)
+  ,((Wingdings3, 0xE7), 0x1F887)
+  ,((Wingdings3, 0xE8), 0x1F886)
+  ,((Wingdings3, 0xE9), 0x1F890)
+  ,((Wingdings3, 0xEA), 0x1F892)
+  ,((Wingdings3, 0xEB), 0x1F891)
+  ,((Wingdings3, 0xEC), 0x1F893)
+  ,((Wingdings3, 0xED), 0x1F894)
+  ,((Wingdings3, 0xEE), 0x1F896)
+  ,((Wingdings3, 0xEF), 0x1F895)
+  ,((Wingdings3, 0xF0), 0x1F897)
+  ,((Webdings, 0x21), 0x1F577)
+  ,((Webdings, 0x22), 0x1F578)
+  ,((Webdings, 0x23), 0x1F572)
+  ,((Webdings, 0x24), 0x1F576)
+  ,((Webdings, 0x25), 0x1F3C6)
+  ,((Webdings, 0x26), 0x1F396)
+  ,((Webdings, 0x27), 0x1F587)
+  ,((Webdings, 0x28), 0x1F5E8)
+  ,((Webdings, 0x29), 0x1F5E9)
+  ,((Webdings, 0x2A), 0x1F5F0)
+  ,((Webdings, 0x2B), 0x1F5F1)
+  ,((Webdings, 0x2C), 0x1F336)
+  ,((Webdings, 0x2D), 0x1F397)
+  ,((Webdings, 0x2E), 0x1F67E)
+  ,((Webdings, 0x2F), 0x1F67C)
+  ,((Webdings, 0x30), 0x1F5D5)
+  ,((Webdings, 0x31), 0x1F5D6)
+  ,((Webdings, 0x32), 0x1F5D7)
+  ,((Webdings, 0x33), 0x23F4)
+  ,((Webdings, 0x34), 0x23F5)
+  ,((Webdings, 0x35), 0x23F6)
+  ,((Webdings, 0x36), 0x23F7)
+  ,((Webdings, 0x37), 0x23EA)
+  ,((Webdings, 0x38), 0x23E9)
+  ,((Webdings, 0x39), 0x23EE)
+  ,((Webdings, 0x3A), 0x23ED)
+  ,((Webdings, 0x3B), 0x23F8)
+  ,((Webdings, 0x3C), 0x23F9)
+  ,((Webdings, 0x3D), 0x23FA)
+  ,((Webdings, 0x3E), 0x1F5DA)
+  ,((Webdings, 0x3F), 0x1F5F3)
+  ,((Webdings, 0x40), 0x1F6E0)
+  ,((Webdings, 0x41), 0x1F3D7)
+  ,((Webdings, 0x42), 0x1F3D8)
+  ,((Webdings, 0x43), 0x1F3D9)
+  ,((Webdings, 0x44), 0x1F3DA)
+  ,((Webdings, 0x45), 0x1F3DC)
+  ,((Webdings, 0x46), 0x1F3ED)
+  ,((Webdings, 0x47), 0x1F3DB)
+  ,((Webdings, 0x48), 0x1F3E0)
+  ,((Webdings, 0x49), 0x1F3D6)
+  ,((Webdings, 0x4A), 0x1F3DD)
+  ,((Webdings, 0x4B), 0x1F6E3)
+  ,((Webdings, 0x4C), 0x1F50D)
+  ,((Webdings, 0x4D), 0x1F3D4)
+  ,((Webdings, 0x4E), 0x1F441)
+  ,((Webdings, 0x4F), 0x1F442)
+  ,((Webdings, 0x50), 0x1F3DE)
+  ,((Webdings, 0x51), 0x1F3D5)
+  ,((Webdings, 0x52), 0x1F6E4)
+  ,((Webdings, 0x53), 0x1F3DF)
+  ,((Webdings, 0x54), 0x1F6F3)
+  ,((Webdings, 0x55), 0x1F56C)
+  ,((Webdings, 0x56), 0x1F56B)
+  ,((Webdings, 0x57), 0x1F568)
+  ,((Webdings, 0x58), 0x1F508)
+  ,((Webdings, 0x59), 0x1F394)
+  ,((Webdings, 0x5A), 0x1F395)
+  ,((Webdings, 0x5B), 0x1F5EC)
+  ,((Webdings, 0x5C), 0x1F67D)
+  ,((Webdings, 0x5D), 0x1F5ED)
+  ,((Webdings, 0x5E), 0x1F5EA)
+  ,((Webdings, 0x5F), 0x1F5EB)
+  ,((Webdings, 0x60), 0x2B94)
+  ,((Webdings, 0x61), 0x2714)
+  ,((Webdings, 0x62), 0x1F6B2)
+  ,((Webdings, 0x63), 0x25A1)
+  ,((Webdings, 0x64), 0x1F6E1)
+  ,((Webdings, 0x65), 0x1F4E6)
+  ,((Webdings, 0x66), 0x1F6F1)
+  ,((Webdings, 0x67), 0x25A0)
+  ,((Webdings, 0x68), 0x1F691)
+  ,((Webdings, 0x69), 0x1F6C8)
+  ,((Webdings, 0x6A), 0x1F6E9)
+  ,((Webdings, 0x6B), 0x1F6F0)
+  ,((Webdings, 0x6C), 0x1F7C8)
+  ,((Webdings, 0x6D), 0x1F574)
+  ,((Webdings, 0x6E), 0x26AB)
+  ,((Webdings, 0x6F), 0x1F6E5)
+  ,((Webdings, 0x70), 0x1F694)
+  ,((Webdings, 0x71), 0x1F5D8)
+  ,((Webdings, 0x72), 0x1F5D9)
+  ,((Webdings, 0x73), 0x2753)
+  ,((Webdings, 0x74), 0x1F6F2)
+  ,((Webdings, 0x75), 0x1F687)
+  ,((Webdings, 0x76), 0x1F68D)
+  ,((Webdings, 0x77), 0x26F3)
+  ,((Webdings, 0x78), 0x1F6C7)
+  ,((Webdings, 0x79), 0x2296)
+  ,((Webdings, 0x7A), 0x1F6AD)
+  ,((Webdings, 0x7B), 0x1F5EE)
+  ,((Webdings, 0x7C), 0x007C)
+  ,((Webdings, 0x7D), 0x1F5EF)
+  ,((Webdings, 0x7E), 0x1F5F2)
+  ,((Webdings, 0x80), 0x1F6B9)
+  ,((Webdings, 0x81), 0x1F6BA)
+  ,((Webdings, 0x82), 0x1F6C9)
+  ,((Webdings, 0x83), 0x1F6CA)
+  ,((Webdings, 0x84), 0x1F6BC)
+  ,((Webdings, 0x85), 0x1F47D)
+  ,((Webdings, 0x86), 0x1F3CB)
+  ,((Webdings, 0x87), 0x26F7)
+  ,((Webdings, 0x88), 0x1F3C2)
+  ,((Webdings, 0x89), 0x1F3CC)
+  ,((Webdings, 0x8A), 0x1F3CA)
+  ,((Webdings, 0x8B), 0x1F3C4)
+  ,((Webdings, 0x8C), 0x1F3CD)
+  ,((Webdings, 0x8D), 0x1F3CE)
+  ,((Webdings, 0x8E), 0x1F698)
+  ,((Webdings, 0x8F), 0x1F5E0)
+  ,((Webdings, 0x90), 0x1F6E2)
+  ,((Webdings, 0x91), 0x1F4B0)
+  ,((Webdings, 0x92), 0x1F3F7)
+  ,((Webdings, 0x93), 0x1F4B3)
+  ,((Webdings, 0x94), 0x1F46A)
+  ,((Webdings, 0x95), 0x1F5E1)
+  ,((Webdings, 0x96), 0x1F5E2)
+  ,((Webdings, 0x97), 0x1F5E3)
+  ,((Webdings, 0x98), 0x272F)
+  ,((Webdings, 0x99), 0x1F584)
+  ,((Webdings, 0x9A), 0x1F585)
+  ,((Webdings, 0x9B), 0x1F583)
+  ,((Webdings, 0x9C), 0x1F586)
+  ,((Webdings, 0x9D), 0x1F5B9)
+  ,((Webdings, 0x9E), 0x1F5BA)
+  ,((Webdings, 0x9F), 0x1F5BB)
+  ,((Webdings, 0xA1), 0x1F570)
+  ,((Webdings, 0xA2), 0x1F5BD)
+  ,((Webdings, 0xA3), 0x1F5BE)
+  ,((Webdings, 0xA4), 0x1F4CB)
+  ,((Webdings, 0xA5), 0x1F5D2)
+  ,((Webdings, 0xA6), 0x1F5D3)
+  ,((Webdings, 0xA7), 0x1F4D6)
+  ,((Webdings, 0xA8), 0x1F4DA)
+  ,((Webdings, 0xA9), 0x1F5DE)
+  ,((Webdings, 0xAA), 0x1F5DF)
+  ,((Webdings, 0xAB), 0x1F5C3)
+  ,((Webdings, 0xAC), 0x1F5C2)
+  ,((Webdings, 0xAD), 0x1F5BC)
+  ,((Webdings, 0xAE), 0x1F3AD)
+  ,((Webdings, 0xAF), 0x1F39C)
+  ,((Webdings, 0xB0), 0x1F398)
+  ,((Webdings, 0xB1), 0x1F399)
+  ,((Webdings, 0xB2), 0x1F3A7)
+  ,((Webdings, 0xB3), 0x1F4BF)
+  ,((Webdings, 0xB4), 0x1F39E)
+  ,((Webdings, 0xB5), 0x1F4F7)
+  ,((Webdings, 0xB6), 0x1F39F)
+  ,((Webdings, 0xB7), 0x1F3AC)
+  ,((Webdings, 0xB8), 0x1F4FD)
+  ,((Webdings, 0xB9), 0x1F4F9)
+  ,((Webdings, 0xBA), 0x1F4FE)
+  ,((Webdings, 0xBB), 0x1F4FB)
+  ,((Webdings, 0xBC), 0x1F39A)
+  ,((Webdings, 0xBD), 0x1F39B)
+  ,((Webdings, 0xBE), 0x1F4FA)
+  ,((Webdings, 0xBF), 0x1F4BB)
+  ,((Webdings, 0xC0), 0x1F5A5)
+  ,((Webdings, 0xC1), 0x1F5A6)
+  ,((Webdings, 0xC2), 0x1F5A7)
+  ,((Webdings, 0xC3), 0x1F579)
+  ,((Webdings, 0xC4), 0x1F3AE)
+  ,((Webdings, 0xC5), 0x1F57B)
+  ,((Webdings, 0xC6), 0x1F57C)
+  ,((Webdings, 0xC7), 0x1F4DF)
+  ,((Webdings, 0xC8), 0x1F581)
+  ,((Webdings, 0xC9), 0x1F580)
+  ,((Webdings, 0xCA), 0x1F5A8)
+  ,((Webdings, 0xCB), 0x1F5A9)
+  ,((Webdings, 0xCC), 0x1F5BF)
+  ,((Webdings, 0xCD), 0x1F5AA)
+  ,((Webdings, 0xCE), 0x1F5DC)
+  ,((Webdings, 0xCF), 0x1F512)
+  ,((Webdings, 0xD0), 0x1F513)
+  ,((Webdings, 0xD1), 0x1F5DD)
+  ,((Webdings, 0xD2), 0x1F4E5)
+  ,((Webdings, 0xD3), 0x1F4E4)
+  ,((Webdings, 0xD4), 0x1F573)
+  ,((Webdings, 0xD5), 0x1F323)
+  ,((Webdings, 0xD6), 0x1F324)
+  ,((Webdings, 0xD7), 0x1F325)
+  ,((Webdings, 0xD8), 0x1F326)
+  ,((Webdings, 0xD9), 0x2601)
+  ,((Webdings, 0xDA), 0x1F327)
+  ,((Webdings, 0xDB), 0x1F328)
+  ,((Webdings, 0xDC), 0x1F329)
+  ,((Webdings, 0xDD), 0x1F32A)
+  ,((Webdings, 0xDE), 0x1F32C)
+  ,((Webdings, 0xDF), 0x1F32B)
+  ,((Webdings, 0xE0), 0x1F31C)
+  ,((Webdings, 0xE1), 0x1F321)
+  ,((Webdings, 0xE2), 0x1F6CB)
+  ,((Webdings, 0xE3), 0x1F6CF)
+  ,((Webdings, 0xE4), 0x1F37D)
+  ,((Webdings, 0xE5), 0x1F378)
+  ,((Webdings, 0xE6), 0x1F6CE)
+  ,((Webdings, 0xE7), 0x1F6CD)
+  ,((Webdings, 0xE8), 0x24C5)
+  ,((Webdings, 0xE9), 0x267F)
+  ,((Webdings, 0xEA), 0x1F6C6)
+  ,((Webdings, 0xEB), 0x1F588)
+  ,((Webdings, 0xEC), 0x1F393)
+  ,((Webdings, 0xED), 0x1F5E4)
+  ,((Webdings, 0xEE), 0x1F5E5)
+  ,((Webdings, 0xEF), 0x1F5E6)
+  ,((Webdings, 0xF0), 0x1F5E7)
+  ,((Webdings, 0xF1), 0x1F6EA)
+  ,((Webdings, 0xF2), 0x1F43F)
+  ,((Webdings, 0xF3), 0x1F426)
+  ,((Webdings, 0xF4), 0x1F41F)
+  ,((Webdings, 0xF5), 0x1F415)
+  ,((Webdings, 0xF6), 0x1F408)
+  ,((Webdings, 0xF7), 0x1F66C)
+  ,((Webdings, 0xF8), 0x1F66E)
+  ,((Webdings, 0xF9), 0x1F66D)
+  ,((Webdings, 0xFA), 0x1F66F)
+  ,((Webdings, 0xFB), 0x1F5FA)
+  ,((Webdings, 0xFC), 0x1F30D)
+  ,((Webdings, 0xFD), 0x1F30F)
+  ,((Webdings, 0xFE), 0x1F30E)
+  ,((Webdings, 0xFF), 0x1F54A)
+  ,((Symbol,0x20), 0xA0)
+  ,((Symbol,0x21), 0x21)
+  ,((Symbol,0x22), 0x2200)
+  ,((Symbol,0x23), 0x23)
+  ,((Symbol,0x24), 0x2203)
+  ,((Symbol,0x25), 0x25)
+  ,((Symbol,0x26), 0x26)
+  ,((Symbol,0x27), 0x220B)
+  ,((Symbol,0x28), 0x28)
+  ,((Symbol,0x29), 0x29)
+  ,((Symbol,0x2A), 0x2217)
+  ,((Symbol,0x2B), 0x2B)
+  ,((Symbol,0x2C), 0x2C)
+  ,((Symbol,0x2D), 0x2212)
+  ,((Symbol,0x2E), 0x2E)
+  ,((Symbol,0x2F), 0x2F)
+  ,((Symbol,0x30), 0x30)
+  ,((Symbol,0x31), 0x31)
+  ,((Symbol,0x32), 0x32)
+  ,((Symbol,0x33), 0x33)
+  ,((Symbol,0x34), 0x34)
+  ,((Symbol,0x35), 0x35)
+  ,((Symbol,0x36), 0x36)
+  ,((Symbol,0x37), 0x37)
+  ,((Symbol,0x38), 0x38)
+  ,((Symbol,0x39), 0x39)
+  ,((Symbol,0x3A), 0x3A)
+  ,((Symbol,0x3B), 0x3B)
+  ,((Symbol,0x3C), 0x3C)
+  ,((Symbol,0x3D), 0x3D)
+  ,((Symbol,0x3E), 0x3E)
+  ,((Symbol,0x3F), 0x3F)
+  ,((Symbol,0x40), 0x2245)
+  ,((Symbol,0x41), 0x391)
+  ,((Symbol,0x42), 0x392)
+  ,((Symbol,0x43), 0x3A7)
+  ,((Symbol,0x44), 0x2206)
+  ,((Symbol,0x45), 0x395)
+  ,((Symbol,0x46), 0x3A6)
+  ,((Symbol,0x47), 0x393)
+  ,((Symbol,0x48), 0x397)
+  ,((Symbol,0x49), 0x399)
+  ,((Symbol,0x4A), 0x3D1)
+  ,((Symbol,0x4B), 0x39A)
+  ,((Symbol,0x4C), 0x39B)
+  ,((Symbol,0x4D), 0x39C)
+  ,((Symbol,0x4E), 0x39D)
+  ,((Symbol,0x4F), 0x39F)
+  ,((Symbol,0x50), 0x3A0)
+  ,((Symbol,0x51), 0x398)
+  ,((Symbol,0x52), 0x3A1)
+  ,((Symbol,0x53), 0x3A3)
+  ,((Symbol,0x54), 0x3A4)
+  ,((Symbol,0x55), 0x3A5)
+  ,((Symbol,0x56), 0x3C2)
+  ,((Symbol,0x57), 0x2126)
+  ,((Symbol,0x58), 0x39E)
+  ,((Symbol,0x59), 0x3A8)
+  ,((Symbol,0x5A), 0x396)
+  ,((Symbol,0x5B), 0x5B)
+  ,((Symbol,0x5C), 0x2234)
+  ,((Symbol,0x5D), 0x5D)
+  ,((Symbol,0x5E), 0x22A5)
+  ,((Symbol,0x5F), 0x5F)
+  ,((Symbol,0x60), 0xF8E5)
+  ,((Symbol,0x61), 0x3B1)
+  ,((Symbol,0x62), 0x3B2)
+  ,((Symbol,0x63), 0x3C7)
+  ,((Symbol,0x64), 0x3B4)
+  ,((Symbol,0x65), 0x3B5)
+  ,((Symbol,0x66), 0x3C6)
+  ,((Symbol,0x67), 0x3B3)
+  ,((Symbol,0x68), 0x3B7)
+  ,((Symbol,0x69), 0x3B9)
+  ,((Symbol,0x6A), 0x3D5)
+  ,((Symbol,0x6B), 0x3BA)
+  ,((Symbol,0x6C), 0x3BB)
+  ,((Symbol,0x6D), 0x3BC)
+  ,((Symbol,0x6E), 0x3BD)
+  ,((Symbol,0x6F), 0x3BF)
+  ,((Symbol,0x70), 0x3C0)
+  ,((Symbol,0x71), 0x3B8)
+  ,((Symbol,0x72), 0x3C1)
+  ,((Symbol,0x73), 0x3C3)
+  ,((Symbol,0x74), 0x3C4)
+  ,((Symbol,0x75), 0x3C5)
+  ,((Symbol,0x76), 0x3D6)
+  ,((Symbol,0x77), 0x3C9)
+  ,((Symbol,0x78), 0x3BE)
+  ,((Symbol,0x79), 0x3C8)
+  ,((Symbol,0x7A), 0x3B6)
+  ,((Symbol,0x7B), 0x7B)
+  ,((Symbol,0x7C), 0x7C)
+  ,((Symbol,0x7D), 0x7D)
+  ,((Symbol,0x7E), 0x223C)
+  ,((Symbol,0xA0), 0x20AC)
+  ,((Symbol,0xA1), 0x3D2)
+  ,((Symbol,0xA2), 0x2032)
+  ,((Symbol,0xA3), 0x2264)
+  ,((Symbol,0xA4), 0x2215)
+  ,((Symbol,0xA5), 0x221E)
+  ,((Symbol,0xA6), 0x192)
+  ,((Symbol,0xA7), 0x2663)
+  ,((Symbol,0xA8), 0x2666)
+  ,((Symbol,0xA9), 0x2665)
+  ,((Symbol,0xAA), 0x2660)
+  ,((Symbol,0xAB), 0x2194)
+  ,((Symbol,0xAC), 0x2190)
+  ,((Symbol,0xAD), 0x2191)
+  ,((Symbol,0xAE), 0x2192)
+  ,((Symbol,0xAF), 0x2193)
+  ,((Symbol,0xB0), 0xB0)
+  ,((Symbol,0xB1), 0xB1)
+  ,((Symbol,0xB2), 0x2033)
+  ,((Symbol,0xB3), 0x2265)
+  ,((Symbol,0xB4), 0xD7)
+  ,((Symbol,0xB5), 0x221D)
+  ,((Symbol,0xB6), 0x2202)
+  ,((Symbol,0xB7), 0x2022)
+  ,((Symbol,0xB8), 0xF7)
+  ,((Symbol,0xB9), 0x2260)
+  ,((Symbol,0xBA), 0x2261)
+  ,((Symbol,0xBB), 0x2248)
+  ,((Symbol,0xBC), 0x2026)
+  ,((Symbol,0xBD), 0xF8E6)
+  ,((Symbol,0xBE), 0xF8E7)
+  ,((Symbol,0xBF), 0x21B5)
+  ,((Symbol,0xC0), 0x2135)
+  ,((Symbol,0xC1), 0x2111)
+  ,((Symbol,0xC2), 0x211C)
+  ,((Symbol,0xC3), 0x2118)
+  ,((Symbol,0xC4), 0x2297)
+  ,((Symbol,0xC5), 0x2295)
+  ,((Symbol,0xC6), 0x2205)
+  ,((Symbol,0xC7), 0x2229)
+  ,((Symbol,0xC8), 0x222A)
+  ,((Symbol,0xC9), 0x2283)
+  ,((Symbol,0xCA), 0x2287)
+  ,((Symbol,0xCB), 0x2284)
+  ,((Symbol,0xCC), 0x2282)
+  ,((Symbol,0xCD), 0x2286)
+  ,((Symbol,0xCE), 0x2208)
+  ,((Symbol,0xCF), 0x2209)
+  ,((Symbol,0xD0), 0x2220)
+  ,((Symbol,0xD1), 0x2207)
+  ,((Symbol,0xD2), 0xF6DA)
+  ,((Symbol,0xD3), 0xF6D9)
+  ,((Symbol,0xD4), 0xF6DB)
+  ,((Symbol,0xD5), 0x220F)
+  ,((Symbol,0xD6), 0x221A)
+  ,((Symbol,0xD7), 0x22C5)
+  ,((Symbol,0xD8), 0xAC)
+  ,((Symbol,0xD9), 0x2227)
+  ,((Symbol,0xDA), 0x2228)
+  ,((Symbol,0xDB), 0x21D4)
+  ,((Symbol,0xDC), 0x21D0)
+  ,((Symbol,0xDD), 0x21D1)
+  ,((Symbol,0xDE), 0x21D2)
+  ,((Symbol,0xDF), 0x21D3)
+  ,((Symbol,0xE0), 0x25CA)
+  ,((Symbol,0xE1), 0x2329)
+  ,((Symbol,0xE2), 0xF8E8)
+  ,((Symbol,0xE3), 0xF8E9)
+  ,((Symbol,0xE4), 0xF8EA)
+  ,((Symbol,0xE5), 0x2211)
+  ,((Symbol,0xE6), 0xF8EB)
+  ,((Symbol,0xE7), 0xF8EC)
+  ,((Symbol,0xE8), 0xF8ED)
+  ,((Symbol,0xE9), 0xF8EE)
+  ,((Symbol,0xEA), 0xF8EF)
+  ,((Symbol,0xEB), 0xF8F0)
+  ,((Symbol,0xEC), 0xF8F1)
+  ,((Symbol,0xED), 0xF8F2)
+  ,((Symbol,0xEE), 0xF8F3)
+  ,((Symbol,0xEF), 0xF8F4)
+  ,((Symbol,0xF1), 0x232A)
+  ,((Symbol,0xF2), 0x222B)
+  ,((Symbol,0xF3), 0x2320)
+  ,((Symbol,0xF4), 0xF8F5)
+  ,((Symbol,0xF5), 0x2321)
+  ,((Symbol,0xF6), 0xF8F6)
+  ,((Symbol,0xF7), 0xF8F7)
+  ,((Symbol,0xF8), 0xF8F8)
+  ,((Symbol,0xF9), 0xF8F9)
+  ,((Symbol,0xFA), 0xF8FA)
+  ,((Symbol,0xFB), 0xF8FB)
+  ,((Symbol,0xFC), 0xF8FC)
+  ,((Symbol,0xFD), 0xF8FD)
+  ,((Symbol,0xFE), 0xF8FE)
+  ]
diff --git a/src/Text/Pandoc/Readers/Docx/Util.hs b/src/Text/Pandoc/Readers/Docx/Util.hs
--- a/src/Text/Pandoc/Readers/Docx/Util.hs
+++ b/src/Text/Pandoc/Readers/Docx/Util.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {- |
-   Module      : Text.Pandoc.Readers.Docx.StyleMaps
+   Module      : Text.Pandoc.Readers.Docx.Util
    Copyright   : © 2014-2020 Jesse Rosenthal <jrosenthal@jhu.edu>,
                    2014-2023 John MacFarlane <jgm@berkeley.edu>,
                    2015 Nikolay Yakimov <root@livid.pp.ru>
@@ -21,12 +21,14 @@
                                       , findChildrenByName
                                       , findElementByName
                                       , findAttrByName
+                                      , extractChildren
                                       ) where
 
 import qualified Data.Text as T
 import Data.Text (Text)
 import Text.Pandoc.XML.Light
 import qualified Data.Map as M
+import Data.List (partition)
 
 type NameSpaces = M.Map Text Text
 
@@ -67,3 +69,23 @@
 findAttrByName ns pref name el =
   let ns' = ns <> elemToNameSpaces el
   in  findAttr (elemName ns' pref name) el
+
+
+-- | Removes child elements that satisfy a given condition.
+-- Returns the modified element and the list of removed children.
+extractChildren :: Element -> (Element -> Bool) -> Maybe (Element, [Element])
+extractChildren el condition
+  | null removedChildren = Nothing  -- No children removed, return Nothing
+  | otherwise = Just (modifiedElement, removedChildren)  -- Children removed, return Just
+  where
+    -- Separate the children based on the condition
+    (removedChildren, keptChildren) = partition condition (onlyElems' $ elContent el)
+
+    -- Helper function to filter only Element types from Content
+    onlyElems' :: [Content] -> [Element]
+    onlyElems' = foldr (\c acc -> case c of
+                                   Elem e -> e : acc
+                                   _      -> acc) []
+
+    -- Reconstruct the element with the kept children
+    modifiedElement = el { elContent = map Elem keptChildren }
diff --git a/src/Text/Pandoc/Readers/FB2.hs b/src/Text/Pandoc/Readers/FB2.hs
--- a/src/Text/Pandoc/Readers/FB2.hs
+++ b/src/Text/Pandoc/Readers/FB2.hs
@@ -25,7 +25,7 @@
 module Text.Pandoc.Readers.FB2 ( readFB2 ) where
 import Control.Monad.Except (throwError)
 import Control.Monad.State.Strict
-import Data.ByteString.Lazy.Base64
+import Data.ByteString.Base64.Lazy
 import Data.Functor
 import Data.List (intersperse)
 import qualified Data.Map as M
@@ -202,7 +202,7 @@
       report $ IgnoredElement "binary without content-type attribute"
     (Just filename, contentType) ->
       insertMedia (T.unpack filename) contentType
-                    (decodeBase64Lenient
+                    (decodeLenient
                       (UTF8.fromTextLazy . TL.fromStrict . strContent $ e))
 
 -- * Type parsers
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs
--- a/src/Text/Pandoc/Readers/HTML.hs
+++ b/src/Text/Pandoc/Readers/HTML.hs
@@ -28,7 +28,7 @@
 import Control.Monad (guard, mzero, unless, void)
 import Control.Monad.Except (throwError, catchError)
 import Control.Monad.Reader (ask, asks, lift, local, runReaderT)
-import Data.Text.Encoding.Base64 (encodeBase64)
+import Data.ByteString.Base64 (encode)
 import Data.Char (isAlphaNum, isLetter)
 import Data.Default (Default (..), def)
 import Data.Foldable (for_)
@@ -334,19 +334,23 @@
   -- note: if they have an <ol> or <ul> not in scope of a <li>,
   -- treat it as a list item, though it's not valid xhtml...
   skipMany nonItem
-  items <- manyTill (pListItem' nonItem) (pCloses "ul")
+  items <- manyTill (pListItem nonItem) (pCloses "ul")
   return $ B.bulletList $ map (fixPlains True) items
 
-pListItem :: PandocMonad m => TagParser m Blocks
-pListItem = setInListItem $ do
+pListItem :: PandocMonad m => TagParser m a -> TagParser m Blocks
+pListItem nonItem = setInListItem $ do
   TagOpen _ attr' <- lookAhead $ pSatisfy (matchTagOpen "li" [])
   let attr = toStringAttr attr'
   let addId ident bs = case B.toList bs of
                            (Plain ils:xs) -> B.fromList (Plain
                                 [Span (ident, [], []) ils] : xs)
                            _ -> B.divWith (ident, [], []) bs
-  maybe id addId (lookup "id" attr) <$>
-    pInTags "li" block
+  item <- pInTags "li" block
+  skipMany nonItem
+  orphans <- many (do notFollowedBy (pSatisfy (matchTagOpen "li" []))
+                      notFollowedBy (pSatisfy isTagClose)
+                      block) -- e.g. <ul>, see #9187
+  return $ maybe id addId (lookup "id" attr) $ item <> mconcat orphans
 
 pCheckbox :: PandocMonad m => TagParser m Inlines
 pCheckbox = do
@@ -358,12 +362,6 @@
   return $ escapeSequence <> B.space
 
 
--- | Parses a list item just like 'pListItem', but allows sublists outside of
--- @li@ tags to be treated as items.
-pListItem' :: PandocMonad m => TagParser m a -> TagParser m Blocks
-pListItem' nonItem = (pListItem <|> pBulletList <|> pOrderedList)
-  <* skipMany nonItem
-
 parseListStyleType :: Text -> ListNumberStyle
 parseListStyleType "lower-roman" = LowerRoman
 parseListStyleType "upper-roman" = UpperRoman
@@ -404,7 +402,7 @@
        _ <- manyTill (eFootnote <|> pBlank) (pCloses "ol")
        return mempty
      else do
-       items <- manyTill (pListItem' nonItem) (pCloses "ol")
+       items <- manyTill (pListItem nonItem) (pCloses "ol")
        return $ B.orderedListWith (start, style, DefaultDelim) $
                 map (fixPlains True) items
 
@@ -809,7 +807,8 @@
   contents <- many (notFollowedBy (pCloses "svg") >> pAny)
   closet <- TagClose "svg" <$ (pCloses "svg" <|> eof)
   let rawText = T.strip $ renderTags' (opent : contents ++ [closet])
-  let svgData = "data:image/svg+xml;base64," <> encodeBase64 rawText
+  let svgData = "data:image/svg+xml;base64," <>
+                   UTF8.toText (encode $ UTF8.fromText rawText)
   return $ B.imageWith (ident,cls,[]) svgData mempty mempty
 
 pCodeWithClass :: PandocMonad m => Text -> Text -> TagParser m Inlines
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -61,7 +61,8 @@
 import Text.Pandoc.Readers.LaTeX.Macro (macroDef)
 import Text.Pandoc.Readers.LaTeX.Lang (inlineLanguageCommands,
                                        enquoteCommands,
-                                       babelLangToBCP47, setDefaultLanguage)
+                                       babelLangToBCP47,
+                                       setDefaultLanguage)
 import Text.Pandoc.Readers.LaTeX.SIunitx (siunitxCommands)
 import Text.Pandoc.Readers.LaTeX.Inline (acronymCommands, refCommands,
                                          nameCommands, charCommands,
@@ -1045,8 +1046,24 @@
    , ("togglefalse", braced >>= setToggle False)
    , ("iftoggle", try $ ifToggle >> block)
    , ("CSLReferences", braced >> braced >> env "CSLReferences" blocks)
+   , ("otherlanguage", env "otherlanguage" otherlanguageEnv)
    ]
 
+otherlanguageEnv :: PandocMonad m => LP m Blocks
+otherlanguageEnv = do
+  skipopts
+  babelLang <- untokenize <$> braced
+  case babelLangToBCP47 babelLang of
+    Just lang -> divWith ("", [], [("lang", renderLang lang)]) <$> blocks
+    Nothing -> blocks
+
+langEnvironment :: PandocMonad m => Text -> LP m Blocks
+langEnvironment name =
+  case babelLangToBCP47 name of
+    Just lang ->
+      env name (divWith ("", [], [("lang", renderLang lang)]) <$> blocks)
+    Nothing -> mzero -- fall through to raw environment
+
 filecontents :: PandocMonad m => LP m Blocks
 filecontents = try $ do
   controlSeq "begin"
@@ -1064,6 +1081,7 @@
   controlSeq "begin"
   name <- untokenize <$> braced
   M.findWithDefault mzero name environments <|>
+    langEnvironment name <|>
     theoremEnvironment blocks opt name <|>
     if M.member name (inlineEnvironments
                        :: M.Map Text (LP PandocPure Inlines))
diff --git a/src/Text/Pandoc/Readers/LaTeX/Math.hs b/src/Text/Pandoc/Readers/LaTeX/Math.hs
--- a/src/Text/Pandoc/Readers/LaTeX/Math.hs
+++ b/src/Text/Pandoc/Readers/LaTeX/Math.hs
@@ -11,7 +11,8 @@
   , proof
   )
 where
-import Data.Maybe (fromMaybe)
+import Data.Maybe (fromMaybe, mapMaybe, listToMaybe)
+import Data.List (foldl')
 import Text.Pandoc.Walk (walk)
 import Text.Pandoc.Builder as B
 import qualified Data.Sequence as Seq
@@ -140,6 +141,16 @@
                             M.insert name spec tmap }
   return mempty
 
+extractLabelFromBlock :: Block -> Maybe Text
+extractLabelFromBlock (Para inlines) = extractLabel Nothing inlines
+  where
+    extractLabel = foldl' go
+    go :: Maybe Text -> Inline -> Maybe Text
+    go (Just t) _ = Just t
+    go Nothing (Span (_, _, attrs) _) = lookup "label" attrs
+    go Nothing _ = Nothing
+extractLabelFromBlock _ = Nothing
+
 theoremEnvironment :: PandocMonad m
                    => LP m Blocks -> LP m Inlines -> Text -> LP m Blocks
 theoremEnvironment blocks opt name = do
@@ -150,7 +161,7 @@
     Just tspec -> do
        optTitle <- option mempty $ (\x -> space <> "(" <> x <> ")") <$> opt
        bs <- env name blocks
-       mblabel <- sLastLabel <$> getState
+       let mblabel = listToMaybe $ mapMaybe extractLabelFromBlock (toList bs)
 
        number <-
          if theoremNumber tspec
diff --git a/src/Text/Pandoc/Readers/Man.hs b/src/Text/Pandoc/Readers/Man.hs
--- a/src/Text/Pandoc/Readers/Man.hs
+++ b/src/Text/Pandoc/Readers/Man.hs
@@ -406,7 +406,16 @@
   return $ header lvl contents
 
 parseBlockQuote :: PandocMonad m => ManParser m Blocks
-parseBlockQuote = blockQuote <$> continuation
+parseBlockQuote = blockQuote <$>
+   (  (mmacro "RS" *> (mconcat <$> manyTill parseBlock (endmacro "RE")))
+  <|> parseIndentedParagraphs
+   )
+ where
+  parseIndentedParagraphs = try $ do
+    bareIP
+    first <- parsePara <|> parseCodeBlock
+    rest <- many $ try (memptyLine *> (parsePara <|> parseCodeBlock))
+    pure (first <> mconcat rest)
 
 data ListType = Ordered ListAttributes
               | Bullet
@@ -457,10 +466,8 @@
 
 continuation :: PandocMonad m => ManParser m Blocks
 continuation =
-      mconcat <$> (mmacro "RS" *> manyTill parseBlock (endmacro "RE"))
-  <|> mconcat <$> many1 (  try (bareIP *> parsePara)
-                       <|> try (bareIP *> parseCodeBlock)
-                        )
+      (mmacro "RS" *> (mconcat <$> manyTill parseBlock (endmacro "RE")))
+  <|> try ((memptyLine <|> bareIP) *> (parsePara <|> parseCodeBlock))
 
 definitionListItem :: PandocMonad m
                    => ManParser m (Inlines, [Blocks])
@@ -473,11 +480,10 @@
                  mmacro "TQ"
                  parseInline
   skipMany memptyLine
-  inls <- option mempty parseInlines
-  skipMany memptyLine
-  continuations <- mconcat <$> many continuation
+  firstBlock <- parseBlock
+  otherBlocks <- mconcat <$> many continuation
   return ( mconcat (intersperse B.linebreak (term:moreterms))
-         , [para inls <> continuations])
+         , [firstBlock <> otherBlocks])
 
 parseDefinitionList :: PandocMonad m => ManParser m Blocks
 parseDefinitionList = definitionList <$> many1 definitionListItem
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1928,6 +1928,7 @@
       <|>
       try ((guardDisabled Ext_spaced_reference_links <|> spnl) >> reference)
   when (raw' == "") $ guardEnabled Ext_shortcut_reference_links
+  !attr <- option nullAttr $ guardEnabled Ext_link_attributes >> attributes
   let !labIsRef = raw' == "" || raw' == "[]"
   let (exclam, rawsuffix) =
         case T.uncons raw of
@@ -1956,11 +1957,11 @@
             then do
               headerKeys <- asksF stateHeaderKeys
               case M.lookup key headerKeys of
-                   Just ((src, tit), _) -> constructor nullAttr src tit <$> lab
+                   Just ((src, tit), _) -> constructor attr src tit <$> lab
                    Nothing              -> makeFallback
             else makeFallback
-       Just ((src,tit), attr) ->
-           constructor attr src tit <$> lab
+       Just ((src,tit), defattr) ->
+           constructor (combineAttr attr defattr) src tit <$> lab
 
 dropBrackets :: Text -> Text
 dropBrackets = dropRB . dropLB
diff --git a/src/Text/Pandoc/Readers/MediaWiki.hs b/src/Text/Pandoc/Readers/MediaWiki.hs
--- a/src/Text/Pandoc/Readers/MediaWiki.hs
+++ b/src/Text/Pandoc/Readers/MediaWiki.hs
@@ -245,7 +245,9 @@
 parseAttr :: PandocMonad m => MWParser m (Text, Text)
 parseAttr = try $ do
   skipMany spaceChar
-  k <- many1Char letter
+  kFirst <- letter
+  kRest <- many (alphaNum <|> oneOf "_-:.")
+  let k = T.pack (kFirst : kRest)
   skipMany spaceChar
   char '='
   skipMany spaceChar
diff --git a/src/Text/Pandoc/Readers/ODT/ContentReader.hs b/src/Text/Pandoc/Readers/ODT/ContentReader.hs
--- a/src/Text/Pandoc/Readers/ODT/ContentReader.hs
+++ b/src/Text/Pandoc/Readers/ODT/ContentReader.hs
@@ -75,6 +75,12 @@
                  , styleTrace       :: [Style]
                    -- | Keeps track of the current depth in nested lists
                  , currentListLevel :: ListLevel
+                   -- | Keeps track of the previous list start counters,
+                   -- so whenever a new list continues numbering,
+                   -- we know what number to start from.
+                   -- If  list does not continue numbering, the counter
+                   -- is being reset.
+                 , listContinuationStartCounters :: M.Map ListLevel Int
                    -- | Lists may provide their own style, but they don't have
                    -- to. If they do not, the style of a parent list may be used
                    -- or even a default list style from the paragraph style.
@@ -92,7 +98,7 @@
   deriving ( Show )
 
 readerState :: Styles -> Media -> ReaderState
-readerState styles media = ReaderState styles [] 0 Nothing M.empty media mempty
+readerState styles media = ReaderState styles [] 0 M.empty Nothing M.empty media mempty
 
 --
 pushStyle'  :: Style -> ReaderState -> ReaderState
@@ -103,12 +109,16 @@
 popStyle' state = case styleTrace state of
                    _:trace -> state  { styleTrace = trace  }
                    _       -> state
-
 --
 modifyListLevel :: (ListLevel -> ListLevel) -> (ReaderState -> ReaderState)
 modifyListLevel f state = state { currentListLevel = f (currentListLevel state) }
 
 --
+modifyListContinuationStartCounter :: ListLevel -> Int -> (ReaderState -> ReaderState)
+modifyListContinuationStartCounter listLevel count state =
+    state { listContinuationStartCounters = M.insert listLevel count (listContinuationStartCounters state) }
+
+--
 shiftListLevel :: ListLevel -> (ReaderState -> ReaderState)
 shiftListLevel diff = modifyListLevel (+ diff)
 
@@ -199,6 +209,17 @@
 getCurrentListLevel = getExtraState >>^ currentListLevel
 
 --
+getListContinuationStartCounters :: ODTReaderSafe _x (M.Map ListLevel Int)
+getListContinuationStartCounters = getExtraState >>^ listContinuationStartCounters
+
+
+--
+getPreviousListStartCounter :: ODTReaderSafe ListLevel Int
+getPreviousListStartCounter = proc listLevel -> do
+    counts <- getListContinuationStartCounters -< ()
+    returnA -< M.findWithDefault 0 listLevel counts
+
+--
 updateMediaWithResource :: ODTReaderSafe (FilePath, B.ByteString) (FilePath, B.ByteString)
 updateMediaWithResource = keepingTheValue (
                  (keepingTheValue getExtraState
@@ -430,15 +451,15 @@
 
 type ListConstructor = [Blocks] -> Blocks
 
-getListConstructor :: ListLevelStyle -> ListConstructor
-getListConstructor ListLevelStyle{..} =
+getListConstructor :: ListLevelStyle -> Int -> ListConstructor
+getListConstructor ListLevelStyle{..} startNum =
   case listLevelType of
     LltBullet   -> bulletList
     LltImage    -> bulletList
     LltNumbered -> let listNumberStyle = toListNumberStyle listItemFormat
                        listNumberDelim = toListNumberDelim listItemPrefix
                                                            listItemSuffix
-                   in  orderedListWith (listItemStart, listNumberStyle, listNumberDelim)
+                   in  orderedListWith (startNum, listNumberStyle, listNumberDelim)
   where
     toListNumberStyle  LinfNone      = DefaultStyle
     toListNumberStyle  LinfNumber    = Decimal
@@ -455,7 +476,6 @@
     toListNumberDelim (Just "(") (Just ")") = TwoParens
     toListNumberDelim     _          _      = DefaultDelim
 
-
 -- | Determines which style to use for a list, which level to use of that
 -- style, and which type of list to create as a result of this information.
 -- Then prepares the state for eventual child lists and constructs the list from
@@ -467,42 +487,62 @@
 -- If anything goes wrong, a default ordered-list-constructor is used.
 constructList :: ODTReaderSafe x [Blocks] -> ODTReaderSafe x Blocks
 constructList reader = proc x -> do
-  modifyExtraState (shiftListLevel 1)        -< ()
-  listLevel  <- getCurrentListLevel          -< ()
-  fStyleName <- findAttr NsText "style-name" -< ()
+  modifyExtraState (shiftListLevel 1)                                  -< ()
+  listLevel                    <- getCurrentListLevel                  -< ()
+  listContinuationStartCounter <- getPreviousListStartCounter          -< listLevel
+  fStyleName                   <- findAttr NsText "style-name"         -< ()
+  fContNumbering               <- findAttr NsText "continue-numbering" -< ()
+  listItemCount                <- reader >>^ length                    -< x
+
+  let continueNumbering = case fContNumbering of
+                            Right "true" -> True
+                            _            -> False
+
+  let startNumForListLevelStyle = listStartingNumber continueNumbering listContinuationStartCounter
+  let defaultOrderedListConstructor = constructOrderedList (startNumForListLevelStyle Nothing) listLevel listItemCount
+
   case fStyleName of
     Right styleName -> do
       fListStyle <- lookupListStyle -< styleName
       case fListStyle of
         Right listStyle -> do
-          fLLS <- arr (uncurry getListLevelStyle) -< (listLevel,listStyle)
-          case fLLS of
+          fListLevelStyle <- arr (uncurry getListLevelStyle) -< (listLevel, listStyle)
+          case fListLevelStyle of
             Just listLevelStyle -> do
-              oldListStyle <- switchCurrentListStyle           -<  Just listStyle
-              blocks       <- constructListWith listLevelStyle -<< x
-              switchCurrentListStyle                           -<  oldListStyle
-              returnA                                          -<  blocks
-            Nothing             -> constructOrderedList        -< x
-        Left _                  -> constructOrderedList        -< x
+              let startNum = startNumForListLevelStyle $ Just listLevelStyle
+              oldListStyle <- switchCurrentListStyle                    -<  Just listStyle
+              blocks       <- constructListWith listLevelStyle startNum listLevel listItemCount -<< x
+              switchCurrentListStyle                                    -<  oldListStyle
+              returnA                                                   -<  blocks
+            Nothing             -> defaultOrderedListConstructor -<< x
+        Left _                  -> defaultOrderedListConstructor -<< x
     Left _ -> do
       state      <- getExtraState        -< ()
       mListStyle <- arr currentListStyle -< state
       case mListStyle of
         Just listStyle -> do
-          fLLS <- arr (uncurry getListLevelStyle) -< (listLevel,listStyle)
-          case fLLS of
-            Just listLevelStyle -> constructListWith listLevelStyle -<< x
-            Nothing             -> constructOrderedList             -<  x
-        Nothing                 -> constructOrderedList             -<  x
+          fListLevelStyle <- arr (uncurry getListLevelStyle) -< (listLevel, listStyle)
+          case fListLevelStyle of
+            Just listLevelStyle -> do
+              let startNum = startNumForListLevelStyle $ Just listLevelStyle
+              constructListWith listLevelStyle startNum listLevel listItemCount -<< x
+            Nothing             -> defaultOrderedListConstructor -<< x
+        Nothing                 -> defaultOrderedListConstructor -<< x
   where
-    constructOrderedList =
+    listStartingNumber continueNumbering listContinuationStartCounter mListLevelStyle
+      | continueNumbering                = listContinuationStartCounter
+      | isJust mListLevelStyle           = listItemStart (fromJust mListLevelStyle)
+      | otherwise                        = 1
+    constructOrderedList startNum listLevel listItemCount =
           reader
       >>> modifyExtraState (shiftListLevel (-1))
-      >>^ orderedList
-    constructListWith listLevelStyle =
+      >>> modifyExtraState (modifyListContinuationStartCounter listLevel (startNum + listItemCount))
+      >>^ orderedListWith (startNum, DefaultStyle, DefaultDelim)
+    constructListWith listLevelStyle startNum listLevel listItemCount =
           reader
-      >>> getListConstructor listLevelStyle
+      >>> getListConstructor listLevelStyle startNum
       ^>> modifyExtraState (shiftListLevel (-1))
+      >>> modifyExtraState (modifyListContinuationStartCounter listLevel (startNum + listItemCount))
 
 --------------------------------------------------------------------------------
 -- Readers
@@ -666,9 +706,7 @@
 --
 read_list        :: BlockMatcher
 read_list         = matchingElement NsText "list"
---                  $ withIncreasedListLevel
                     $ constructList
---                  $ liftA bulletList
                     $ matchChildContent' [ read_list_item
                                          , read_list_header
                                          ]
diff --git a/src/Text/Pandoc/Readers/Typst.hs b/src/Text/Pandoc/Readers/Typst.hs
--- a/src/Text/Pandoc/Readers/Typst.hs
+++ b/src/Text/Pandoc/Readers/Typst.hs
@@ -30,7 +30,7 @@
 import Text.Pandoc.Error (PandocError(..))
 import Text.Pandoc.Shared (tshow, blocksToInlines)
 import Control.Monad.Except (throwError)
-import Control.Monad (MonadPlus (mplus), void, mzero)
+import Control.Monad (MonadPlus (mplus), void, mzero, guard)
 import qualified Data.Foldable as F
 import qualified Data.Map as M
 import Data.Maybe (catMaybes, fromMaybe)
@@ -46,7 +46,8 @@
 import Text.TeXMath (writeTeX)
 import Text.TeXMath.Shared (getSpaceChars)
 import Text.Pandoc.Readers.Typst.Math (pMathMany)
-import Text.Pandoc.Readers.Typst.Parsing (pTok, ignored, chunks, getField, P)
+import Text.Pandoc.Readers.Typst.Parsing (pTok, ignored, chunks, getField, P,
+                                          PState(..), defaultPState)
 import Typst.Methods (formatNumber, applyPureFunction)
 import Typst.Types
 
@@ -68,10 +69,14 @@
                   currentUTCTime = getCurrentTime,
                   lookupEnvVar = fmap (fmap T.unpack) . lookupEnv . T.pack,
                   checkExistence = fileExists }
-      evaluateTypst ops inputName parsed >>=
-                  either (throwError . PandocParseError . T.pack . show) pure >>=
-                  runParserT pPandoc () inputName . F.toList >>=
-                  either (throwError . PandocParseError . T.pack . show) pure
+      res <- evaluateTypst ops inputName parsed
+      case res of
+        Left e -> throwError $ PandocParseError $ tshow e
+        Right content -> do
+          let labs = findLabels [content]
+          runParserT pPandoc defaultPState{ sLabels = labs }
+            inputName [content] >>=
+              either (throwError . PandocParseError . T.pack . show) pure
 
 pBlockElt :: PandocMonad m => P m B.Blocks
 pBlockElt = try $ do
@@ -98,16 +103,67 @@
       | "math." `T.isPrefixOf` tname
       , tname /= "math.equation" ->
           B.math . writeTeX <$> pMathMany (Seq.singleton res)
-    Elt name@(Identifier tname) pos fields ->
-      case M.lookup name inlineHandlers of
-        Nothing -> do
-          ignored ("unknown inline element " <> tname <>
-                   " at " <> tshow pos)
-          pure mempty
-        Just handler -> handler Nothing fields
+    Elt name@(Identifier tname) pos fields -> do
+      labs <- sLabels <$> getState
+      labelTarget <- (do VLabel t <- getField "target" fields
+                         True <$ guard (t `elem` labs))
+                  <|> pure False
+      if tname == "ref" && not labelTarget
+         then do
+           -- @foo is a citation unless it links to a lab in the doc:
+           let targetToKey (Identifier "target") = Identifier "key"
+               targetToKey k = k
+           case M.lookup "cite" inlineHandlers of
+             Nothing -> do
+               ignored ("unknown inline element " <> tname <>
+                        " at " <> tshow pos)
+               pure mempty
+             Just handler -> handler Nothing (M.mapKeys targetToKey fields)
+         else do
+          case M.lookup name inlineHandlers of
+            Nothing -> do
+              ignored ("unknown inline element " <> tname <>
+                       " at " <> tshow pos)
+              pure mempty
+            Just handler -> handler Nothing fields
 
 pPandoc :: PandocMonad m => P m B.Pandoc
-pPandoc = B.doc <$> pBlocks
+pPandoc = do
+  Elt "document" _ fields <- pTok isDocument
+  bs <- getField "body" fields >>= pWithContents pBlocks
+  pure $ B.doc bs
+  -- The following alternative code would add metadata from the
+  -- fields on the document element. It is commented out because
+  -- the typst metadata doesn't print anything by default, in contrast
+  -- to pandoc with its usual templates.  Hence, with this code,
+  -- converting a typst document might yield a double title, author, etc.
+  --
+  -- title <- (getField "title" fields >>= pWithContents pInlines) <|>
+  --             pure mempty
+  -- authors <- (getField "author" fields >>=
+  --                         mapM (pWithContents pInlines) . V.toList) <|>
+  --            ((:[]) <$> (getField "author" fields >>=
+  --                          (\x -> guard (not (null x)) *>
+  --                            pWithContents pInlines x))) <|>
+  --             pure []
+  -- date <- (getField "date" fields >>= pWithContents pInlines) <|>
+  --             pure mempty
+  -- keywords <- (getField "keywords" fields >>=
+  --                mapM (pWithContents pInlines) . V.toList)
+  --               <|> pure []
+  -- pure $
+  --   (if title == mempty
+  --       then id
+  --       else B.setMeta "title" title) .
+  --   (if null authors
+  --       then id
+  --       else B.setMeta "author" authors) .
+  --   (if null date
+  --       then id
+  --       else B.setMeta "date" date) .
+  --   (if null keywords
+  --       then id
+  --       else B.setMeta "keywords" keywords) $ B.doc bs
 
 pBlocks :: PandocMonad m => P m B.Blocks
 pBlocks = mconcat <$> many pBlock
@@ -131,6 +187,10 @@
        )
   pure t
 
+isDocument :: Content -> Bool
+isDocument (Elt "document" _ _) = True
+isDocument _ = False
+
 isBlock :: Content -> Bool
 isBlock (Elt "raw" _ fields) = M.lookup "block" fields == Just (VBoolean True)
 isBlock (Elt name _ _) = name `Set.member` blockKeys
@@ -170,6 +230,14 @@
       lev <- getField "level" fields <|> pure 1
       B.headerWith (fromMaybe "" mbident,[],[]) lev
          <$> pWithContents pInlines body)
+  ,("quote", \_ fields -> do
+      getField "block" fields >>= guard
+      body <- getField "body" fields >>= pWithContents pBlocks
+      attribution <-
+        ((\x -> B.para ("\x2104\xa0" <> x)) <$>
+          (getField "attribution" fields >>= pWithContents pInlines))
+        <|> pure mempty
+      pure $ B.blockQuote $ body <> attribution)
   ,("list", \_ fields -> do
       children <- V.toList <$> getField "children" fields
       B.bulletList <$> mapM (pWithContents pBlocks) children)
@@ -392,18 +460,20 @@
   ,("footnote", \_ fields ->
       B.note <$> (getField "body" fields >>= pWithContents pBlocks))
   ,("cite", \_ fields -> do
-      keys <- V.toList <$> getField "keys" fields
-      let toCitation key =
+      VLabel key <- getField "key" fields
+      (form :: Text) <- getField "form" fields <|> pure "normal"
+      let citation =
             B.Citation
               { B.citationId = key,
                 B.citationPrefix = mempty,
                 B.citationSuffix = mempty,
-                B.citationMode = B.NormalCitation,
+                B.citationMode = case form of
+                                    "year" -> B.SuppressAuthor
+                                    _ -> B.NormalCitation,
                 B.citationNoteNum = 0,
                 B.citationHash = 0
               }
-      let citations = map toCitation keys
-      pure $ B.cite citations (B.text $ "[" <> T.intercalate "," keys <> "]"))
+      pure $ B.cite [citation] (B.text $ "[" <> key <> "]"))
   ,("lower", \_ fields -> do
       body <- getField "text" fields
       walk (modString T.toLower) <$> pWithContents pInlines body)
@@ -431,6 +501,10 @@
   ,("underline", \_ fields -> do
       body <- getField "body" fields
       B.underline <$> pWithContents pInlines body)
+  ,("quote", \_ fields -> do
+      (getField "block" fields <|> pure False) >>= guard . not
+      body <- getField "body" fields >>= pWithContents pInlines
+      pure $ B.doubleQuoted body)
   ,("link", \_ fields -> do
       dest <- getField "dest" fields
       src <- case dest of
@@ -488,6 +562,7 @@
       alignment <- getField "alignment" fields
       B.spanWith ("", [], [("align", repr alignment)])
         <$> (getField "body" fields >>= pWithContents pInlines))
+  ,("sys.version", \_ _ -> pure $ B.text "typst-hs")
   ,("math.equation", \_ fields -> do
       body <- getField "body" fields
       display <- getField "block" fields
@@ -496,7 +571,8 @@
 
 pPara :: PandocMonad m => P m B.Blocks
 pPara =
-  B.para . B.trimInlines . mconcat <$> (many1 pInline <* optional pParBreak)
+  B.para . B.trimInlines . collapseAdjacentCites . mconcat
+    <$> (many1 pInline <* optional pParBreak)
 
 pParBreak :: PandocMonad m => P m ()
 pParBreak =
@@ -517,8 +593,27 @@
   pure res
 
 pInlines :: PandocMonad m => P m B.Inlines
-pInlines = mconcat <$> many pInline
+pInlines =
+  collapseAdjacentCites . mconcat <$> many pInline
 
+collapseAdjacentCites :: B.Inlines -> B.Inlines
+collapseAdjacentCites = B.fromList . foldr go [] . B.toList
+ where
+   go (Cite cs1 ils1) (Cite cs2 ils2 : xs) =
+     Cite (cs1 ++ cs2) (ils1 <> ils2) : xs
+   go (Cite cs1 ils1) (Space : Cite cs2 ils2 : xs) =
+     Cite (cs1 ++ cs2) (ils1 <> ils2) : xs
+   go x xs = x:xs
+
 modString :: (Text -> Text) -> B.Inline -> B.Inline
 modString f (B.Str t) = B.Str (f t)
 modString _ x = x
+
+findLabels :: Seq.Seq Content -> [Text]
+findLabels = foldr go []
+ where
+   go (Txt{}) = id
+   go (Lab t) = (t :)
+   go (Elt{ eltFields = fs }) = \ts -> foldr go' ts fs
+   go' (VContent cs) = (findLabels cs ++)
+   go' _ = id
diff --git a/src/Text/Pandoc/Readers/Typst/Parsing.hs b/src/Text/Pandoc/Readers/Typst/Parsing.hs
--- a/src/Text/Pandoc/Readers/Typst/Parsing.hs
+++ b/src/Text/Pandoc/Readers/Typst/Parsing.hs
@@ -5,6 +5,8 @@
 
 module Text.Pandoc.Readers.Typst.Parsing
   ( P,
+    PState(..),
+    defaultPState,
     pTok,
     pWithContents,
     ignored,
@@ -26,7 +28,17 @@
 import Text.Pandoc.Class.PandocMonad ( PandocMonad, report )
 import Text.Pandoc.Logging (LogMessage(..))
 
-type P m a = ParsecT [Content] () m a
+newtype PState = PState
+        { sLabels :: [Text]}
+        deriving (Show)
+
+defaultPState :: PState
+defaultPState =
+  PState
+  { sLabels = [] }
+
+type P m a = ParsecT [Content] PState m a
+-- state tracks a list of labels in the document
 
 pTok :: PandocMonad m => (Content -> Bool) -> P m Content
 pTok f = tokenPrim show showPos match
diff --git a/src/Text/Pandoc/RoffChar.hs b/src/Text/Pandoc/RoffChar.hs
--- a/src/Text/Pandoc/RoffChar.hs
+++ b/src/Text/Pandoc/RoffChar.hs
@@ -34,6 +34,7 @@
   , ('`', "\\[ga]")
   , ('^', "\\[ha]")
   , ('~', "\\[ti]")
+  , ('-', "\\-")
   , ('\\', "\\[rs]")
   , ('@', "\\[at]") -- because we use @ as a table and math delimiter
   , ('\x2026', "\\&...")  -- because u2026 doesn't render on tty
diff --git a/src/Text/Pandoc/SelfContained.hs b/src/Text/Pandoc/SelfContained.hs
--- a/src/Text/Pandoc/SelfContained.hs
+++ b/src/Text/Pandoc/SelfContained.hs
@@ -19,7 +19,7 @@
 import Codec.Compression.GZip as Gzip
 import Control.Applicative ((<|>))
 import Data.ByteString (ByteString)
-import Data.ByteString.Base64 (encodeBase64)
+import Data.ByteString.Base64 (encode)
 import qualified Data.ByteString.Char8 as B
 import qualified Data.ByteString.Lazy as L
 import qualified Data.Text as T
@@ -52,7 +52,7 @@
 makeDataURI (mime, raw) =
   if textual
      then "data:" <> mime' <> "," <> T.pack (escapeURIString isOk (toString raw))
-     else "data:" <> mime' <> ";base64," <> encodeBase64 raw
+     else "data:" <> mime' <> ";base64," <> toText (encode raw)
   where textual = "text/" `T.isPrefixOf` mime
         mime' = if textual && T.any (== ';') mime
                    then mime <> ";charset=utf-8"
@@ -159,9 +159,14 @@
              svgmap <- gets svgMap
              case M.lookup hash svgmap of
                Just (svgid, svgattrs) -> do
-                 let attrs' = combineSvgAttrs svgattrs attrs
+                 let attrs' = [(k,v) | (k,v) <- combineSvgAttrs svgattrs attrs
+                                     , k /= "id"
+                                     , k /= "width"
+                                     , k /= "height"]
                  return $ TagOpen "svg" attrs' :
-                          TagOpen "use" [("href", "#" <> svgid)] :
+                          TagOpen "use" [("href", "#" <> svgid),
+                                         ("width", "100%"),
+                                         ("height", "100%")] :
                           TagClose "use" :
                           TagClose "svg" :
                           rest'
@@ -172,10 +177,22 @@
                       let svgid = case lookup "id" attrs' of
                                      Just id' -> id'
                                      Nothing -> "svg_" <> hash
-                      let attrs'' = [(k,v) | (k,v) <- attrs', k /= "id"]
+                      let attrs'' = ("id", svgid) :
+                                    [(k,v) | (k,v) <- attrs', k /= "id"]
                       modify $ \st ->
                         st{ svgMap = M.insert hash (svgid, attrs'') (svgMap st) }
-                      return $ TagOpen "svg" attrs'' : tags' ++ rest'
+                      let addIdPrefix ("id", x) = ("id", svgid <> "_" <> x)
+                          addIdPrefix (k, x)
+                           | k == "xlink:href" || k == "href" =
+                            case T.uncons x of
+                              Just ('#', x') -> (k, "#" <> svgid <> "_" <> x')
+                              _ -> (k, x)
+                          addIdPrefix kv = kv
+                      let ensureUniqueId (TagOpen tname ats) =
+                            TagOpen tname (map addIdPrefix ats)
+                          ensureUniqueId x = x
+                      return $ TagOpen "svg" attrs'' :
+                                 map ensureUniqueId tags' ++ rest'
                     _ -> return $ TagOpen tagname attrs : rest
   where processAttribute (x,y) =
            if isSourceAttribute tagname (x,y)
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -50,6 +50,7 @@
                      linesToPara,
                      figureDiv,
                      makeSections,
+                     combineAttr,
                      uniqueIdent,
                      inlineListToIdentifier,
                      textToIdentifier,
@@ -562,13 +563,15 @@
   go (x:xs) = (x :) <$> go xs
   go [] = return []
 
-  combineAttr :: Attr -> Attr -> Attr
-  combineAttr (id1, classes1, kvs1) (id2, classes2, kvs2) =
-    (if T.null id1 then id2 else id1,
-     nubOrd (classes1 ++ classes2),
-     foldr (\(k,v) kvs -> case lookup k kvs of
-                             Nothing -> (k,v):kvs
-                             Just _  -> kvs) mempty (kvs1 ++ kvs2))
+-- | Combine two 'Attr'. Classes are concatenated.  For the id and key-value
+-- attributes, the first one takes precedence in case of duplicates.
+combineAttr :: Attr -> Attr -> Attr
+combineAttr (id1, classes1, kvs1) (id2, classes2, kvs2) =
+  (if T.null id1 then id2 else id1,
+   nubOrd (classes1 ++ classes2),
+   foldr (\(k,v) kvs -> case lookup k kvs of
+                           Nothing -> (k,v):kvs
+                           Just _  -> kvs) kvs1 kvs2)
 
 headerLtEq :: Int -> Block -> Bool
 headerLtEq level (Header l _ _)  = l <= level
@@ -633,9 +636,13 @@
 
 -- | Detect if a list is tight.
 isTightList :: [[Block]] -> Bool
-isTightList = all (\item -> firstIsPlain item || null item)
-  where firstIsPlain (Plain _ : _) = True
-        firstIsPlain _             = False
+isTightList = all isPlainItem
+  where
+    isPlainItem [] = True
+    isPlainItem (Plain _ : _) = True
+    isPlainItem [BulletList xs] = isTightList xs
+    isPlainItem [OrderedList _ xs] = isTightList xs
+    isPlainItem _ = False
 
 -- | Convert a list item containing tasklist syntax (e.g. @[x]@)
 -- to using @U+2610 BALLOT BOX@ or @U+2612 BALLOT BOX WITH X@.
@@ -770,7 +777,8 @@
 renderTags' :: [Tag T.Text] -> T.Text
 renderTags' = renderTagsOptions
                renderOptions{ optMinimize = matchTags ["hr", "br", "img",
-                                                       "meta", "link", "col", "use"]
+                                                       "meta", "link", "col",
+                                                       "use", "path", "rect"]
                             , optRawTag   = matchTags ["script", "style"] }
               where matchTags tags = flip elem tags . T.toLower
 
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs
--- a/src/Text/Pandoc/Writers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Writers/AsciiDoc.hs
@@ -354,7 +354,9 @@
                      case bs of
                        (Div (_,["title"],_) ts : rest) -> (ts, rest)
                        _ -> ([], bs)
-             admonitionTitle <- if null titleBs
+             admonitionTitle <- if null titleBs ||
+                                   -- If title matches class, omit
+                                   (T.toLower (T.strip (stringify titleBs))) == l
                                    then return mempty
                                    else ("." <>) <$>
                                          blockListToAsciiDoc opts titleBs
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs
--- a/src/Text/Pandoc/Writers/Docx.hs
+++ b/src/Text/Pandoc/Writers/Docx.hs
@@ -307,10 +307,13 @@
                         | e <- zEntries refArchive
                         , "word/media/" `isPrefixOf` eRelativePath e ]
 
-  let defaultnodes = [mknode "Default"
-              [("Extension","xml"),("ContentType","application/xml")] (),
-             mknode "Default"
-              [("Extension","rels"),("ContentType","application/vnd.openxmlformats-package.relationships+xml")] ()]
+  let mkDefaultNode (ext, mt) =
+        mknode "Default" [("Extension",ext),("ContentType",mt)] ()
+  let defaultnodes = map mkDefaultNode
+        [("xml", "application/xml"),
+         ("rels", "application/vnd.openxmlformats-package.relationships+xml"),
+         ("odttf",
+           "application/vnd.openxmlformats-officedocument.obfuscatedFont")]
   let contentTypesDoc = mknode "Types" [("xmlns","http://schemas.openxmlformats.org/package/2006/content-types")] $ defaultnodes ++ overrides
   let contentTypesEntry = toEntry "[Content_Types].xml" epochtime
         $ renderXml contentTypesDoc
@@ -538,6 +541,11 @@
   docPropsAppEntry <- entryFromArchive refArchive "docProps/app.xml"
   themeEntry <- entryFromArchive refArchive "word/theme/theme1.xml"
   fontTableEntry <- entryFromArchive refArchive "word/fontTable.xml"
+  let fontTableRelsEntries = maybeToList $
+       findEntryByPath "word/_rels/fontTable.xml.rels" refArchive
+  let fontEntries = [entry | entry <- zEntries refArchive
+                           , "word/fonts/" `isPrefixOf` (eRelativePath entry)]
+                        -- or parse fontTable.xml.rels?
   webSettingsEntry <- entryFromArchive refArchive "word/webSettings.xml"
   headerFooterEntries <- mapM (entryFromArchive refArchive . ("word/" ++)) $
                          mapMaybe (fmap T.unpack . extractTarget)
@@ -557,7 +565,9 @@
                   commentsEntry :
                   docPropsEntry : docPropsAppEntry : customPropsEntry :
                   themeEntry :
-                  fontTableEntry : settingsEntry : webSettingsEntry :
+                  settingsEntry : webSettingsEntry :
+                  fontTableEntry :
+                  fontTableRelsEntries ++ fontEntries ++
                   imageEntries ++ headerFooterEntries ++
                   miscRelEntries ++ otherMediaEntries
   return $ fromArchive archive
@@ -930,7 +940,11 @@
       report $ BlockNotRendered b
       return []
 blockToOpenXML' opts (BlockQuote blocks) = do
-  p <- withParaPropM (pStyleM "Block Text")
+  inNote <- asks envInNote
+  p <- withParaPropM (pStyleM
+                       (if inNote
+                           then "Footnote Block Text"
+                           else "Block Text"))
        $ blocksToOpenXML opts blocks
   setFirstPara
   return p
@@ -1351,9 +1365,10 @@
 
   contents <- local (\env -> env{ envListLevel = -1
                                 , envParaProperties = mempty
-                                , envTextProperties = mempty })
-              (withParaPropM (pStyleM "Footnote Text") $ blocksToOpenXML opts
-                $ insertNoteRef bs)
+                                , envTextProperties = mempty
+                                , envInNote = True })
+              (withParaPropM (pStyleM "Footnote Text") $
+               blocksToOpenXML opts $ insertNoteRef bs)
   let newnote = mknode "w:footnote" [("w:id", notenum)] contents
   modify $ \s -> s{ stFootnotes = newnote : notes }
   return [ Elem $ mknode "w:r" []
diff --git a/src/Text/Pandoc/Writers/Docx/Types.hs b/src/Text/Pandoc/Writers/Docx/Types.hs
--- a/src/Text/Pandoc/Writers/Docx/Types.hs
+++ b/src/Text/Pandoc/Writers/Docx/Types.hs
@@ -81,6 +81,7 @@
   , envListLevel      :: Int
   , envListNumId      :: Int
   , envInDel          :: Bool
+  , envInNote         :: Bool
   , envChangesAuthor  :: Text
   , envChangesDate    :: Text
   , envPrintWidth     :: Integer
@@ -95,6 +96,7 @@
   , envListLevel = -1
   , envListNumId = 1
   , envInDel = False
+  , envInNote = False
   , envChangesAuthor  = "unknown"
   , envChangesDate    = "1969-12-31T19:00:00Z"
   , envPrintWidth     = 1
diff --git a/src/Text/Pandoc/Writers/FB2.hs b/src/Text/Pandoc/Writers/FB2.hs
--- a/src/Text/Pandoc/Writers/FB2.hs
+++ b/src/Text/Pandoc/Writers/FB2.hs
@@ -21,16 +21,16 @@
 import Control.Monad (zipWithM, liftM)
 import Control.Monad.Except (catchError, throwError)
 import Control.Monad.State.Strict (StateT, evalStateT, get, gets, lift, modify)
-import Data.ByteString.Base64 (encodeBase64)
+import Data.ByteString.Base64 (encode)
 import Data.Char (isAscii, isControl, isSpace)
 import Data.Either (lefts, rights)
 import Data.List (intercalate)
 import Data.Text (Text)
 import qualified Data.Text as T
 import qualified Data.Text.Lazy as TL
+import qualified Data.Text.Encoding as TE
 import Text.Pandoc.URI (urlEncode, isURI)
 import Text.Pandoc.XML.Light as X
-
 import Text.Pandoc.Class.PandocMonad (PandocMonad, report)
 import qualified Text.Pandoc.Class.PandocMonad as P
 import Text.Pandoc.Definition
@@ -237,7 +237,7 @@
                                report $ CouldNotDetermineMimeType link
                                return Nothing
                              Just mime -> return $ Just (mime,
-                                                        encodeBase64 bs))
+                                                      TE.decodeUtf8 $ encode bs))
                     (\e ->
                        do report $ CouldNotFetchResource link (tshow e)
                           return Nothing)
diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs
--- a/src/Text/Pandoc/Writers/HTML.hs
+++ b/src/Text/Pandoc/Writers/HTML.hs
@@ -544,14 +544,14 @@
                              ! customAttribute "epub:type" "footnotes" $ x
         | html5
         , refLocation == EndOfDocument
-        , slideVariant == RevealJsSlides -- need a section for a new slide:
+        -- Note: we need a section for a new slide in slide formats.
                 = H5.section ! A5.id "footnotes"
                              ! A5.class_ className
                              ! A5.role "doc-endnotes"
                              $ x
         | html5 = H5.aside   ! prefixedId opts "footnotes"
                              ! A5.class_ className
-                             ! A5.role "doc-endnotes"
+                             ! A5.role "doc-footnote"
                              $ x
         | slideVariant /= NoSlides = H.div ! A.class_ "footnotes slide" $ x
         | otherwise = H.div ! A.class_ className $ x
diff --git a/src/Text/Pandoc/Writers/JATS.hs b/src/Text/Pandoc/Writers/JATS.hs
--- a/src/Text/Pandoc/Writers/JATS.hs
+++ b/src/Text/Pandoc/Writers/JATS.hs
@@ -113,11 +113,13 @@
                   $ ensureReferenceHeader blocks'
   let splitBackBlocks b@(Div ("refs",_,_) _) (fs, bs) = (fs, b:bs)
       splitBackBlocks (Div (ident,("section":_),_)
-                               [ Header lev (_,hcls,hkvs) hils
-                               , (Div rattrs@("refs",_,_) rs)
-                               ]) (fs, bs)
-                       = (fs, Div rattrs
-                               (Header lev (ident,hcls,hkvs) hils : rs) : bs)
+                               ( Header lev (_,hcls,hkvs) hils
+                               : (Div rattrs@("refs",_,_) rs)
+                               : rest
+                               )) (fs, bs)
+                       = (fs ++ rest,
+                            Div rattrs
+                             (Header lev (ident,hcls,hkvs) hils : rs) : bs)
       splitBackBlocks b (fs, bs) = (b:fs, bs)
   let (bodyblocks, backblocks) = foldr splitBackBlocks ([],[]) blocks
   let colwidth = if writerWrapText opts == WrapAuto
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -65,11 +65,43 @@
 import Text.Pandoc.Writers.Shared
 import qualified Text.Pandoc.Writers.AnnotatedTable as Ann
 
+-- Work around problems with notes inside emphasis (see #8982)
+isolateBigNotes :: ([Inline] -> Inline) -> [Inline] -> [Inline]
+isolateBigNotes constructor xs =
+  let (before, after) = break isBigNote xs
+  in case after of
+       (noteInline:rest) -> constructor before :
+                            noteInline :
+                            isolateBigNotes constructor rest
+       [] -> [constructor xs]
+
+isBigNote :: Inline -> Bool
+isBigNote (Note [Plain _]) = False  -- A small note
+isBigNote (Note [Para _]) =  False  -- A small note
+isBigNote (Note _) = True  -- A big note
+isBigNote _ = False  -- Not a note
+
+raiseBigNotes :: [Inline] -> [Inline]
+raiseBigNotes (Emph inner : xs)
+  = isolateBigNotes Emph (raiseBigNotes inner) ++ raiseBigNotes xs
+raiseBigNotes (Strong inner : xs)
+  = isolateBigNotes Strong (raiseBigNotes inner) ++ raiseBigNotes xs
+raiseBigNotes (Underline inner : xs)
+  = isolateBigNotes Underline (raiseBigNotes inner) ++ raiseBigNotes xs
+raiseBigNotes (Strikeout inner : xs)
+  = isolateBigNotes Strikeout (raiseBigNotes inner) ++ raiseBigNotes xs
+raiseBigNotes (x : xs)          = x : raiseBigNotes xs
+raiseBigNotes [] = []
+
 -- | Convert Pandoc to LaTeX.
 writeLaTeX :: PandocMonad m => WriterOptions -> Pandoc -> m Text
-writeLaTeX options document =
-  evalStateT (pandocToLaTeX options document) $
-    startingState options
+writeLaTeX options document = do
+  let Any hasBigNotes =
+       query (\il -> if isBigNote il then Any True else Any False) document
+  let document' = if hasBigNotes
+                     then walk raiseBigNotes document
+                     else document
+  evalStateT (pandocToLaTeX options document') $ startingState options
 
 -- | Convert Pandoc to LaTeX Beamer.
 writeBeamer :: PandocMonad m => WriterOptions -> Pandoc -> m Text
diff --git a/src/Text/Pandoc/Writers/LaTeX/Util.hs b/src/Text/Pandoc/Writers/LaTeX/Util.hs
--- a/src/Text/Pandoc/Writers/LaTeX/Util.hs
+++ b/src/Text/Pandoc/Writers/LaTeX/Util.hs
@@ -260,8 +260,14 @@
 hypertarget :: PandocMonad m => Text -> LW m (Doc Text)
 hypertarget "" = return mempty
 hypertarget ident = do
-  label <- labelFor ident
-  return $ text "\\phantomsection" <> label
+  inHeading <- gets stInHeading
+  if inHeading
+     then do -- see #9209 (these cases should be rare)
+      ref <- literal <$> toLabel ident
+      return $ text "\\protect\\hypertarget" <> braces ref <> "{}"
+     else do
+      label <- labelFor ident
+      return $ text "\\phantomsection" <> label
 
 labelFor :: PandocMonad m => Text -> LW m (Doc Text)
 labelFor ""    = return empty
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -368,39 +368,55 @@
                  => WriterOptions -- ^ Options
                  -> Block         -- ^ Block element
                  -> MD m (Doc Text)
-blockToMarkdown' opts (Div attrs ils) = do
-  contents <- blockListToMarkdown opts ils
-  variant <- asks envVariant
-  return $
-     case () of
-         _ | variant == Markua ->
-                   case () of
-                        () | "blurb" `elem` classes' -> prefixed "B> " contents <> blankline
-                           | "aside" `elem` classes' -> prefixed "A> " contents <> blankline
-                           -- necessary to enable option to create a bibliography
-                           | (take 3 (T.unpack id')) == "ref" -> contents <> blankline
-                           | otherwise -> contents <> blankline
-           | isEnabled Ext_fenced_divs opts &&
-             attrs /= nullAttr ->
-                let attrsToMd = if variant == Commonmark
-                                then attrsToMarkdown opts
-                                else classOrAttrsToMarkdown opts
-                in nowrap (literal ":::" <+> attrsToMd attrs) $$
-                   chomp contents $$
-                   literal ":::" <> blankline
-           | isEnabled Ext_native_divs opts ||
-             (isEnabled Ext_raw_html opts &&
-              (variant == Commonmark ||
-               isEnabled Ext_markdown_in_html_blocks opts)) ->
-                tagWithAttrs "div" attrs <> blankline <>
-                contents <> blankline <> "</div>" <> blankline
-           | isEnabled Ext_raw_html opts &&
-             isEnabled Ext_markdown_attribute opts ->
-                tagWithAttrs "div" attrs' <> blankline <>
-                contents <> blankline <> "</div>" <> blankline
-           | otherwise -> contents <> blankline
-       where (id',classes',kvs') = attrs
-             attrs' = (id',classes',("markdown","1"):kvs')
+blockToMarkdown' opts (Div attrs@(_,classes,_) bs)
+  | isEnabled Ext_alerts opts
+  , (cls:_) <- classes
+  , cls `elem` ["note", "tip", "warning", "caution", "important"]
+  , (Div ("", ["title"], []) _ : Para ils : bs') <- bs
+   = blockToMarkdown' opts $ BlockQuote $
+       (Para (RawInline (Format "markdown") (case cls of
+         "note" -> "[!NOTE]\n"
+         "tip" -> "[!TIP]\n"
+         "warning" -> "[!WARNING]\n"
+         "caution" -> "[!CAUTION]\n"
+         "important" -> "[!IMPORTANT]\n"
+         _ -> "[!NOTE]\n") : ils)) : bs'
+  | otherwise = do
+    contents <- blockListToMarkdown opts bs
+    variant <- asks envVariant
+    return $
+       case () of
+           _ | variant == Markua ->
+                 case () of
+                      () | "blurb" `elem` classes'
+                           -> prefixed "B> " contents <> blankline
+                         | "aside" `elem` classes'
+                           -> prefixed "A> " contents <> blankline
+                         -- necessary to enable option to create a bibliography
+                         | (take 3 (T.unpack id')) == "ref"
+                           -> contents <> blankline
+                         | otherwise -> contents <> blankline
+             | isEnabled Ext_fenced_divs opts &&
+               attrs /= nullAttr ->
+                  let attrsToMd = if variant == Commonmark
+                                  then attrsToMarkdown opts
+                                  else classOrAttrsToMarkdown opts
+                  in nowrap (literal ":::" <+> attrsToMd attrs) $$
+                     chomp contents $$
+                     literal ":::" <> blankline
+             | isEnabled Ext_native_divs opts ||
+               (isEnabled Ext_raw_html opts &&
+                (variant == Commonmark ||
+                 isEnabled Ext_markdown_in_html_blocks opts)) ->
+                  tagWithAttrs "div" attrs <> blankline <>
+                  contents <> blankline <> "</div>" <> blankline
+             | isEnabled Ext_raw_html opts &&
+               isEnabled Ext_markdown_attribute opts ->
+                  tagWithAttrs "div" attrs' <> blankline <>
+                  contents <> blankline <> "</div>" <> blankline
+             | otherwise -> contents <> blankline
+         where (id',classes',kvs') = attrs
+               attrs' = (id',classes',("markdown","1"):kvs')
 blockToMarkdown' opts (Plain inlines) = do
   -- escape if para starts with ordered list marker
   variant <- asks envVariant
diff --git a/src/Text/Pandoc/Writers/Ms.hs b/src/Text/Pandoc/Writers/Ms.hs
--- a/src/Text/Pandoc/Writers/Ms.hs
+++ b/src/Text/Pandoc/Writers/Ms.hs
@@ -313,7 +313,7 @@
                    ".pdf" -> ".PDFPIC"
                    _ -> "\\\" .IMAGE"
        return $ nowrap (literal cmd <+>
-                    doubleQuotes (literal (escapeStr opts src)) <>
+                    doubleQuotes (literal src) <>
                     sizeAttrs) $$
                   literal (".ce " <> tshow captlines) $$
                   capt $$
diff --git a/src/Text/Pandoc/Writers/Typst.hs b/src/Text/Pandoc/Writers/Typst.hs
--- a/src/Text/Pandoc/Writers/Typst.hs
+++ b/src/Text/Pandoc/Writers/Typst.hs
@@ -21,12 +21,12 @@
 import Text.Pandoc.ImageSize (imageSize, sizeInPoints)
 import Text.Pandoc.Options ( WriterOptions(..), WrapOption(..), isEnabled )
 import Data.Text (Text)
-import Data.List (intercalate, intersperse)
+import Data.List (intercalate)
 import qualified Data.Text as T
 import Control.Monad.State ( StateT, evalStateT, gets, modify )
 import Text.Pandoc.Writers.Shared ( metaToContext, defField, resetField,
                                     toLegacyTable, lookupMetaString )
-import Text.Pandoc.Shared (isTightList, orderedListMarkers)
+import Text.Pandoc.Shared (isTightList, orderedListMarkers, tshow)
 import Text.Pandoc.Writers.Math (convertMath)
 import qualified Text.TeXMath as TM
 import Text.DocLayout
@@ -76,6 +76,7 @@
                         Right l ->
                           resetField "lang" (langLanguage l) .
                           maybe id (resetField "region") (langRegion l))
+              $ defField "toc-depth" (tshow $ writerTOCDepth options)
               $ (if writerNumberSections options
                     then defField "numbering" ("1.1.1.1.1" :: Text)
                     else id)
@@ -123,7 +124,7 @@
       return $ contents <> blankline
     BlockQuote blocks -> do
       contents <- blocksToTypst blocks
-      return $ "#blockquote[" $$ chomp contents $$ "]" $$ blankline
+      return $ "#quote(block: true)[" $$ chomp contents $$ "]" $$ blankline
     HorizontalRule ->
       return $ blankline <> "#horizontalrule" <> blankline
     OrderedList attribs items -> do
@@ -165,14 +166,15 @@
                   then return mempty
                   else do
                     captcontents <- inlinesToTypst caption
-                    return $ "#align(center, " <> brackets captcontents <> ")"
+                    return $ ", caption: " <> brackets captcontents
       let lab = toLabel ident
       let formatalign AlignLeft = "left,"
           formatalign AlignRight = "right,"
           formatalign AlignCenter = "center,"
           formatalign AlignDefault = "auto,"
       let alignarray = parens $ mconcat $ map formatalign aligns
-      return $ "#align(center)[#table("
+      return $ "#figure(" $$
+        "align(center)[#table("
         $$ nest 2
            (  "columns: " <> text (show numcols) <> "," -- auto
            $$ "align: (col, row) => " <> alignarray <> ".at(col),"
@@ -180,10 +182,10 @@
            $$ hsep (map ((<>",") . brackets) headers')
            $$ vcat (map (\x -> brackets x <> ",") (concat rows'))
            )
-        $$ ")"
+        $$ ")]"
         $$ capt'
+        $$ ")"
         $$ lab
-        $$ "]"
         $$ blankline
     Figure (ident,_,_) (Caption _mbshort capt) blocks -> do
       caption <- blocksToTypst capt
@@ -266,11 +268,14 @@
       return $ q <> contents <> q
     Cite citations inlines -> do
       opts <-  gets stOptions
+      let toCite cite = do
+            suppl <- case citationSuffix cite of
+                       [] -> pure mempty
+                       suff -> brackets <$> inlinesToTypst suff
+            pure $ "#cite" <> parens (toLabel (citationId cite)) <> suppl
       if isEnabled Ext_citations opts
-         then return $ -- Note: this loses locators, prefix, suffix
-              "#cite" <> parens
-                (mconcat $ intersperse ", " $
-                  map (doubleQuoted . citationId) citations)
+         -- Note: this loses prefix
+         then mconcat <$> mapM toCite citations
          else inlinesToTypst inlines
     Link _attrs inlines (src,_tit) -> do
       contents <- inlinesToTypst inlines
@@ -285,10 +290,7 @@
       opts <- gets stOptions
       let mbHeight = lookup "height" kvs
       let mdWidth = lookup "width" kvs
-      let coreImage = "image" <>
-              parens (doubleQuoted src <>
-                 maybe mempty (\w -> ", width: " <> literal w) mdWidth <>
-                 maybe mempty (\h -> ", height: " <> literal h) mbHeight)
+      let coreImage = "image" <> parens (doubleQuoted src)
       -- see #9104; we need a box or the image is treated as block-level:
       case (mdWidth, mbHeight) of
         (Nothing, Nothing) -> do
diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs
--- a/test/Tests/Readers/Docx.hs
+++ b/test/Tests/Readers/Docx.hs
@@ -235,6 +235,10 @@
             "collapse overlapping targets (anchor spans)"
             "docx/overlapping_targets.docx"
             "docx/overlapping_targets.native"
+          , testCompare
+            "text in shape format"
+            "docx/text_in_shape_format.docx"
+            "docx/text_in_shape_format.native"
           ]
         , testGroup "blocks"
           [ testCompare
diff --git a/test/Tests/Readers/ODT.hs b/test/Tests/Readers/ODT.hs
--- a/test/Tests/Readers/ODT.hs
+++ b/test/Tests/Readers/ODT.hs
@@ -169,6 +169,8 @@
                                   , "imageIndex"
                                   , "imageWithCaption"
                                   , "inlinedCode"
+                                  , "listContinueNumbering"
+                                  , "listContinueNumbering2"
                                   , "orderedListMixed"
                                   , "orderedListRoman"
                                   , "orderedListSimple"
diff --git a/test/Tests/Writers/LaTeX.hs b/test/Tests/Writers/LaTeX.hs
--- a/test/Tests/Writers/LaTeX.hs
+++ b/test/Tests/Writers/LaTeX.hs
@@ -86,6 +86,74 @@
           , "backtick" =:
               code "`nu?`" =?> "\\texttt{\\textasciigrave{}nu?\\textasciigrave{}}"
           ]
+        , testGroup "inline note"
+          [ "Big note in emph" =:
+              emph (str "This sentence"
+                    <> note (para (str "paragraph1")
+                             <> para (str "paragraph2"))
+                    <> str " has footnote.")
+              =?>
+                 "\\emph{This sentence}\\footnote{paragraph1\n\n  paragraph2}"
+                 <> "\\emph{ has footnote.}"
+           , "Big note in strong" =:
+              strong (str "This sentence"
+                      <> note (para (str "paragraph1")
+                               <> para (str "paragraph2"))
+                      <> str " has footnote.")
+              =?>
+                 "\\textbf{This sentence}\\footnote{paragraph1\n\n  paragraph2}"
+                 <> "\\textbf{ has footnote.}"
+
+           , "Big note in underline" =:
+              underline (str "This sentence"
+                         <> note (para (str "paragraph1")
+                                  <> para (str "paragraph2"))
+                         <> str " has footnote.")
+              =?>
+                 "\\ul{This sentence}\\footnote{paragraph1\n\n  paragraph2}"
+                 <> "\\ul{ has footnote.}"
+
+           , "Big note in strikeout" =:
+              strikeout (str "This sentence"
+                         <> note (para (str "paragraph1")
+                                  <> para (str "paragraph2"))
+                         <> str " has footnote.")
+              =?>
+                 "\\st{This sentence}\\footnote{paragraph1\n\n  paragraph2}"
+                 <> "\\st{ has footnote.}"
+
+           , "Small note in emph" =:
+              emph (str "This sentence"
+                    <> note (para (str "paragraph"))
+                    <> str " has footnote.")
+              =?>
+                 "\\emph{This sentence\\footnote{paragraph} has footnote.}"
+
+           , "Big note nested in emph and strong" =:
+              emph (str "This "
+                    <> strong (str "nested sentence "
+                               <> note (para (str "paragraph1")
+                                        <> para (str "paragraph2"))
+                               <> str "has ")
+                    <> str "footnote."
+              )
+              =?>
+                 "\\emph{This \\textbf{nested sentence }}\\footnote{paragraph1\n\n"
+                 <> "  paragraph2}\\emph{\\textbf{has }footnote.}"
+
+          , "Two Big notes in emph" =:
+              emph (str "This sentence"
+                    <> note (para (str "1-paragraph1")
+                             <> para (str "1-paragraph2"))
+                    <> str " has"
+                    <> note (para (str "2-paragraph1")
+                             <> para (str "2-paragraph2"))
+                    <> str " footnote.")
+              =?>
+                 "\\emph{This sentence}\\footnote{1-paragraph1\n\n  1-paragraph2}"
+                 <> "\\emph{ has}\\footnote{2-paragraph1\n\n  2-paragraph2}"
+                 <> "\\emph{ footnote.}"
+          ]
         , testGroup "writer options"
           [ testGroup "top-level division" $
             let
diff --git a/test/command/4235.md b/test/command/4235.md
--- a/test/command/4235.md
+++ b/test/command/4235.md
@@ -4,12 +4,12 @@
 ^D
 <p>This.<a href="#foofn1" class="footnote-ref" id="foofnref1"
 role="doc-noteref"><sup>1</sup></a></p>
-<aside id="foofootnotes" class="footnotes footnotes-end-of-document"
+<section id="footnotes" class="footnotes footnotes-end-of-document"
 role="doc-endnotes">
 <hr />
 <ol>
 <li id="foofn1"><p>Has a footnote.<a href="#foofnref1"
 class="footnote-back" role="doc-backlink">↩︎</a></p></li>
 </ol>
-</aside>
+</section>
 ```
diff --git a/test/command/5620.md b/test/command/5620.md
--- a/test/command/5620.md
+++ b/test/command/5620.md
@@ -4,6 +4,6 @@
 :   Write output to *OUTFILE* instead of `stdout`(3)
 ^D
 .TP
-\f[CR]-o\f[R], \f[CR]--output=\f[R]\f[I]OUTFILE\f[R]
+\f[CR]\-o\f[R], \f[CR]\-\-output=\f[R]\f[I]OUTFILE\f[R]
 Write output to \f[I]OUTFILE\f[R] instead of \f[CR]stdout\f[R](3)
 ```
diff --git a/test/command/7006.md b/test/command/7006.md
--- a/test/command/7006.md
+++ b/test/command/7006.md
@@ -8,7 +8,7 @@
 ^D
 <p>Test.<a href="#fn1" class="footnote-ref" id="fnref1"
 role="doc-noteref"><sup>1</sup></a></p>
-<aside id="footnotes" class="footnotes footnotes-end-of-document"
+<section id="footnotes" class="footnotes footnotes-end-of-document"
 role="doc-endnotes">
 <hr />
 <ol>
@@ -19,5 +19,5 @@
 </figure>
 <a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></li>
 </ol>
-</aside>
+</section>
 ```
diff --git a/test/command/8150.md b/test/command/8150.md
--- a/test/command/8150.md
+++ b/test/command/8150.md
@@ -12,12 +12,9 @@
 </ul>
 ^D
 -   L1
-
 -   L2
-
--   -   L3.1
+    -   L3.1
     -   L3.2
-
 -   L4
 ```
 
@@ -34,10 +31,8 @@
 </ol>
 ^D
 1.  L1
-
 2.  L2
-
-3.  1.  L3.1
+    1.  L3.1
     2.  L3.2
 ```
 
@@ -54,9 +49,7 @@
 </ul>
 ^D
 -   L1
-
 -   L2
-
--   1.  L3.1
+    1.  L3.1
     2.  L3.2
 ```
diff --git a/test/command/8872.md b/test/command/8872.md
new file mode 100644
--- /dev/null
+++ b/test/command/8872.md
@@ -0,0 +1,45 @@
+
+```
+% pandoc -f latex -t native
+\documentclass{amsart}
+\newtheorem{theorem}{Theorem}
+\begin{document}
+\begin{theorem}\label{thm}
+\begin{enumerate}
+\item \label{item1}text1
+\item \label{item2}text2
+\item text3
+\end{enumerate}
+\end{theorem}
+\end{document}
+^D
+[ Div
+    ( "thm" , [ "theorem" ] , [] )
+    [ Para
+        [ Strong [ Str "Theorem" , Space , Str "1" ]
+        , Str "."
+        , Space
+        , Space
+        , Emph []
+        ]
+    , OrderedList
+        ( 1 , DefaultStyle , DefaultDelim )
+        [ [ Para
+              [ Emph
+                  [ Span ( "item1" , [] , [ ( "label" , "item1" ) ] ) []
+                  , Str "text1"
+                  ]
+              ]
+          ]
+        , [ Para
+              [ Emph
+                  [ Span ( "item2" , [] , [ ( "label" , "item2" ) ] ) []
+                  , Str "text2"
+                  ]
+              ]
+          ]
+        , [ Para [ Emph [ Str "text3" ] ] ]
+        ]
+    ]
+]
+```
diff --git a/test/command/8948.md b/test/command/8948.md
--- a/test/command/8948.md
+++ b/test/command/8948.md
@@ -3,8 +3,8 @@
 ![minimal](command/minimal.svg)
 ![minimal](command/minimal.svg)
 ^D
-<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#svg_7868854ffb8f30209cd0" /></svg> <svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
-    <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720"></path>
+<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve"><use href="#svg_7868854ffb8f30209cd0" width="100%" height="100%" /></svg> <svg id="svg_7868854ffb8f30209cd0" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
+    <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720" />
 </svg></p>
 ```
 
@@ -13,7 +13,7 @@
 ![minimal](command/minimal.svg)
 ![minimal](command/minimal.svg){#foo}
 ^D
-<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#foo" /></svg> <svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
-    <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720"></path>
+<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve"><use href="#foo" width="100%" height="100%" /></svg> <svg id="foo" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
+    <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720" />
 </svg></p>
 ```
diff --git a/test/command/9171.md b/test/command/9171.md
new file mode 100644
--- /dev/null
+++ b/test/command/9171.md
@@ -0,0 +1,65 @@
+```
+% pandoc -f markdown -t native
+[link][link contents]{target="_blank"}
+[link2](https://example.com){target="_blank"}
+
+[link contents]: https://example.com
+^D
+[ Para
+    [ Link
+        ( "" , [] , [ ( "target" , "_blank" ) ] )
+        [ Str "link" ]
+        ( "https://example.com" , "" )
+    , SoftBreak
+    , Link
+        ( "" , [] , [ ( "target" , "_blank" ) ] )
+        [ Str "link2" ]
+        ( "https://example.com" , "" )
+    ]
+]
+
+```
+
+```
+% pandoc -f markdown -t native
+[link][link contents]{#id1 target="_blank"}
+[link2](https://example.com){target="_blank"}
+
+[link contents]: https://example.com {#id2 target="_nonblank"}
+^D
+[ Para
+    [ Link
+        ( "id1" , [] , [ ( "target" , "_blank" ) ] )
+        [ Str "link" ]
+        ( "https://example.com" , "" )
+    , SoftBreak
+    , Link
+        ( "" , [] , [ ( "target" , "_blank" ) ] )
+        [ Str "link2" ]
+        ( "https://example.com" , "" )
+    ]
+]
+
+```
+
+```
+% pandoc -f markdown -t native
+[link][link contents]{target="_blank"}
+[link2](https://example.com){target="_blank"}
+
+[link contents]: https://example.com {.foo}
+^D
+[ Para
+    [ Link
+        ( "" , [ "foo" ] , [ ( "target" , "_blank" ) ] )
+        [ Str "link" ]
+        ( "https://example.com" , "" )
+    , SoftBreak
+    , Link
+        ( "" , [] , [ ( "target" , "_blank" ) ] )
+        [ Str "link2" ]
+        ( "https://example.com" , "" )
+    ]
+]
+
+```
diff --git a/test/command/9193.md b/test/command/9193.md
new file mode 100644
--- /dev/null
+++ b/test/command/9193.md
@@ -0,0 +1,7 @@
+```
+% pandoc -t native
+$a+%
+b$
+^D
+[ Para [ Math InlineMath "a+%\nb" ] ]
+```
diff --git a/test/command/9201.md b/test/command/9201.md
new file mode 100644
--- /dev/null
+++ b/test/command/9201.md
@@ -0,0 +1,18 @@
+```
+% pandoc -f man -t markdown
+.TH "EXAMPLE" "1"
+.SH "OPTIONS"
+.TP 8n
+\fB\-\-help\fR
+This is line one.
+.sp
+This is line two.
+^D
+# OPTIONS
+
+**\--help**
+
+:   This is line one.
+
+    This is line two.
+```
diff --git a/test/command/9202.md b/test/command/9202.md
new file mode 100644
--- /dev/null
+++ b/test/command/9202.md
@@ -0,0 +1,62 @@
+```
+% pandoc -f latex -t native
+\begin{otherlanguage}{french}
+Bonjour.
+\end{otherlanguage}
+^D
+[ Div
+    ( "" , [] , [ ( "lang" , "fr" ) ] )
+    [ Para [ Str "Bonjour." ] ]
+]
+```
+
+```
+% pandoc -f latex -t native
+\begin{otherlanguage*}{french}
+Bonjour.
+\end{otherlanguage*}
+^D
+[ Div
+    ( "" , [ "otherlanguage*" ] , [] )
+    [ Para
+        [ Span ( "" , [] , [] ) [ Str "french" ]
+        , SoftBreak
+        , Str "Bonjour."
+        ]
+    ]
+]
+```
+
+```
+% pandoc -f latex -t native
+\textfrench{Bonjour}
+^D
+[ Para
+    [ Span ( "" , [] , [ ( "lang" , "fr" ) ] ) [ Str "Bonjour" ]
+    ]
+]
+```
+
+```
+% pandoc -f latex -t native
+\foreignlanguage{swissgerman}{Guten tag}
+^D
+[ Para
+    [ Span
+        ( "" , [] , [ ( "lang" , "de-CH-1901" ) ] )
+        [ Str "Guten" , Space , Str "tag" ]
+    ]
+]
+```
+
+```
+% pandoc -f latex -t native
+\begin{french}
+Bonjour.
+\end{french}
+^D
+[ Div
+    ( "" , [] , [ ( "lang" , "fr" ) ] )
+    [ Para [ Str "Bonjour." ] ]
+]
+```
diff --git a/test/command/9209.md b/test/command/9209.md
new file mode 100644
--- /dev/null
+++ b/test/command/9209.md
@@ -0,0 +1,6 @@
+```
+% pandoc -t latex
+## [Section]{#Section3}
+^D
+\subsection{\texorpdfstring{\protect\hypertarget{Section3}{}{Section}}{Section}}\label{section}
+```
diff --git a/test/command/alerts.md b/test/command/alerts.md
new file mode 100644
--- /dev/null
+++ b/test/command/alerts.md
@@ -0,0 +1,55 @@
+```
+% pandoc -f rst -t gfm
+.. note::
+   This is my note.
+^D
+> [!NOTE]
+> This is my note.
+```
+
+```
+% pandoc -f gfm -t rst
+> [!WARNING]
+> Be careful!
+^D
+.. warning::
+
+   Be careful!
+```
+
+```
+% pandoc -f gfm -t asciidoc
+> [!TIP]
+> A tip.
+^D
+[TIP]
+====
+A tip.
+====
+```
+
+```
+% pandoc -f gfm -t docbook
+> [!TIP]
+> A tip.
+^D
+<tip>
+  <title>Tip</title>
+  <para>
+    A tip.
+  </para>
+</tip>
+```
+
+```
+% pandoc -f docbook -t gfm
+<tip>
+  <title>Tip</title>
+  <para>
+    A tip.
+  </para>
+</tip>
+^D
+> [!TIP]
+> A tip.
+```
diff --git a/test/command/lists-inside-definition.md b/test/command/lists-inside-definition.md
--- a/test/command/lists-inside-definition.md
+++ b/test/command/lists-inside-definition.md
@@ -10,6 +10,7 @@
     2. list
 ^D
 \begin{description}
+\tightlist
 \item[Definition]
 \begin{enumerate}
 \def\labelenumi{\arabic{enumi}.}
@@ -53,6 +54,7 @@
     - list
 ^D
 \begin{description}
+\tightlist
 \item[Definition]
 \begin{itemize}
 \tightlist
diff --git a/test/docx/golden/block_quotes.docx b/test/docx/golden/block_quotes.docx
Binary files a/test/docx/golden/block_quotes.docx and b/test/docx/golden/block_quotes.docx differ
diff --git a/test/docx/golden/codeblock.docx b/test/docx/golden/codeblock.docx
Binary files a/test/docx/golden/codeblock.docx and b/test/docx/golden/codeblock.docx differ
diff --git a/test/docx/golden/comments.docx b/test/docx/golden/comments.docx
Binary files a/test/docx/golden/comments.docx and b/test/docx/golden/comments.docx differ
diff --git a/test/docx/golden/custom_style_no_reference.docx b/test/docx/golden/custom_style_no_reference.docx
Binary files a/test/docx/golden/custom_style_no_reference.docx and b/test/docx/golden/custom_style_no_reference.docx differ
diff --git a/test/docx/golden/custom_style_preserve.docx b/test/docx/golden/custom_style_preserve.docx
Binary files a/test/docx/golden/custom_style_preserve.docx and b/test/docx/golden/custom_style_preserve.docx differ
diff --git a/test/docx/golden/custom_style_reference.docx b/test/docx/golden/custom_style_reference.docx
Binary files a/test/docx/golden/custom_style_reference.docx and b/test/docx/golden/custom_style_reference.docx differ
diff --git a/test/docx/golden/definition_list.docx b/test/docx/golden/definition_list.docx
Binary files a/test/docx/golden/definition_list.docx and b/test/docx/golden/definition_list.docx differ
diff --git a/test/docx/golden/document-properties-short-desc.docx b/test/docx/golden/document-properties-short-desc.docx
Binary files a/test/docx/golden/document-properties-short-desc.docx and b/test/docx/golden/document-properties-short-desc.docx differ
diff --git a/test/docx/golden/document-properties.docx b/test/docx/golden/document-properties.docx
Binary files a/test/docx/golden/document-properties.docx and b/test/docx/golden/document-properties.docx differ
diff --git a/test/docx/golden/headers.docx b/test/docx/golden/headers.docx
Binary files a/test/docx/golden/headers.docx and b/test/docx/golden/headers.docx differ
diff --git a/test/docx/golden/image.docx b/test/docx/golden/image.docx
Binary files a/test/docx/golden/image.docx and b/test/docx/golden/image.docx differ
diff --git a/test/docx/golden/inline_code.docx b/test/docx/golden/inline_code.docx
Binary files a/test/docx/golden/inline_code.docx and b/test/docx/golden/inline_code.docx differ
diff --git a/test/docx/golden/inline_formatting.docx b/test/docx/golden/inline_formatting.docx
Binary files a/test/docx/golden/inline_formatting.docx and b/test/docx/golden/inline_formatting.docx differ
diff --git a/test/docx/golden/inline_images.docx b/test/docx/golden/inline_images.docx
Binary files a/test/docx/golden/inline_images.docx and b/test/docx/golden/inline_images.docx differ
diff --git a/test/docx/golden/link_in_notes.docx b/test/docx/golden/link_in_notes.docx
Binary files a/test/docx/golden/link_in_notes.docx and b/test/docx/golden/link_in_notes.docx differ
diff --git a/test/docx/golden/links.docx b/test/docx/golden/links.docx
Binary files a/test/docx/golden/links.docx and b/test/docx/golden/links.docx differ
diff --git a/test/docx/golden/lists.docx b/test/docx/golden/lists.docx
Binary files a/test/docx/golden/lists.docx and b/test/docx/golden/lists.docx differ
diff --git a/test/docx/golden/lists_continuing.docx b/test/docx/golden/lists_continuing.docx
Binary files a/test/docx/golden/lists_continuing.docx and b/test/docx/golden/lists_continuing.docx differ
diff --git a/test/docx/golden/lists_div_bullets.docx b/test/docx/golden/lists_div_bullets.docx
Binary files a/test/docx/golden/lists_div_bullets.docx and b/test/docx/golden/lists_div_bullets.docx differ
diff --git a/test/docx/golden/lists_multiple_initial.docx b/test/docx/golden/lists_multiple_initial.docx
Binary files a/test/docx/golden/lists_multiple_initial.docx and b/test/docx/golden/lists_multiple_initial.docx differ
diff --git a/test/docx/golden/lists_restarting.docx b/test/docx/golden/lists_restarting.docx
Binary files a/test/docx/golden/lists_restarting.docx and b/test/docx/golden/lists_restarting.docx differ
diff --git a/test/docx/golden/nested_anchors_in_header.docx b/test/docx/golden/nested_anchors_in_header.docx
Binary files a/test/docx/golden/nested_anchors_in_header.docx and b/test/docx/golden/nested_anchors_in_header.docx differ
diff --git a/test/docx/golden/notes.docx b/test/docx/golden/notes.docx
Binary files a/test/docx/golden/notes.docx and b/test/docx/golden/notes.docx differ
diff --git a/test/docx/golden/raw-blocks.docx b/test/docx/golden/raw-blocks.docx
Binary files a/test/docx/golden/raw-blocks.docx and b/test/docx/golden/raw-blocks.docx differ
diff --git a/test/docx/golden/raw-bookmarks.docx b/test/docx/golden/raw-bookmarks.docx
Binary files a/test/docx/golden/raw-bookmarks.docx and b/test/docx/golden/raw-bookmarks.docx differ
diff --git a/test/docx/golden/table_one_row.docx b/test/docx/golden/table_one_row.docx
Binary files a/test/docx/golden/table_one_row.docx and b/test/docx/golden/table_one_row.docx differ
diff --git a/test/docx/golden/table_with_list_cell.docx b/test/docx/golden/table_with_list_cell.docx
Binary files a/test/docx/golden/table_with_list_cell.docx and b/test/docx/golden/table_with_list_cell.docx differ
diff --git a/test/docx/golden/tables-default-widths.docx b/test/docx/golden/tables-default-widths.docx
Binary files a/test/docx/golden/tables-default-widths.docx and b/test/docx/golden/tables-default-widths.docx differ
diff --git a/test/docx/golden/tables.docx b/test/docx/golden/tables.docx
Binary files a/test/docx/golden/tables.docx and b/test/docx/golden/tables.docx differ
diff --git a/test/docx/golden/tables_separated_with_rawblock.docx b/test/docx/golden/tables_separated_with_rawblock.docx
Binary files a/test/docx/golden/tables_separated_with_rawblock.docx and b/test/docx/golden/tables_separated_with_rawblock.docx differ
diff --git a/test/docx/golden/track_changes_deletion.docx b/test/docx/golden/track_changes_deletion.docx
Binary files a/test/docx/golden/track_changes_deletion.docx and b/test/docx/golden/track_changes_deletion.docx differ
diff --git a/test/docx/golden/track_changes_insertion.docx b/test/docx/golden/track_changes_insertion.docx
Binary files a/test/docx/golden/track_changes_insertion.docx and b/test/docx/golden/track_changes_insertion.docx differ
diff --git a/test/docx/golden/track_changes_move.docx b/test/docx/golden/track_changes_move.docx
Binary files a/test/docx/golden/track_changes_move.docx and b/test/docx/golden/track_changes_move.docx differ
diff --git a/test/docx/golden/track_changes_scrubbed_metadata.docx b/test/docx/golden/track_changes_scrubbed_metadata.docx
Binary files a/test/docx/golden/track_changes_scrubbed_metadata.docx and b/test/docx/golden/track_changes_scrubbed_metadata.docx differ
diff --git a/test/docx/golden/unicode.docx b/test/docx/golden/unicode.docx
Binary files a/test/docx/golden/unicode.docx and b/test/docx/golden/unicode.docx differ
diff --git a/test/docx/golden/verbatim_subsuper.docx b/test/docx/golden/verbatim_subsuper.docx
Binary files a/test/docx/golden/verbatim_subsuper.docx and b/test/docx/golden/verbatim_subsuper.docx differ
diff --git a/test/docx/text_in_shape_format.docx b/test/docx/text_in_shape_format.docx
new file mode 100644
Binary files /dev/null and b/test/docx/text_in_shape_format.docx differ
diff --git a/test/docx/text_in_shape_format.native b/test/docx/text_in_shape_format.native
new file mode 100644
--- /dev/null
+++ b/test/docx/text_in_shape_format.native
@@ -0,0 +1,33 @@
+[ Para
+    [ Str "Last"
+    , Space
+    , Str "update:"
+    , Space
+    , Str "May"
+    , Space
+    , Str "1,"
+    , Space
+    , Str "2017"
+    ]
+, Para
+    [ Str "U"
+    , Str "sing"
+    , Space
+    , Str "Microsoft"
+    , Space
+    , Str "Word"
+    , Space
+    , Str "2007/2010"
+    , LineBreak
+    , Str "for"
+    , Space
+    , Str "Writing"
+    , Space
+    , Str "Technical"
+    , Space
+    , Str "Documents"
+    ]
+, Para [ Str "Valter" , Space , Str "Kiisk" ]
+, Para [ Str "Institute" , Space , Str "of" , Space , Str "Physics," , Space , Str "University" , Space , Str "of" , Space , Str "Tartu" ]
+, Para []
+]
diff --git a/test/lhs-test.latex b/test/lhs-test.latex
--- a/test/lhs-test.latex
+++ b/test/lhs-test.latex
@@ -81,7 +81,7 @@
 \ifLuaTeX
   \usepackage{selnolig}  % disable illegal ligatures
 \fi
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\usepackage{bookmark}
 \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
 \urlstyle{same}
 \hypersetup{
diff --git a/test/lhs-test.latex+lhs b/test/lhs-test.latex+lhs
--- a/test/lhs-test.latex+lhs
+++ b/test/lhs-test.latex+lhs
@@ -48,7 +48,7 @@
 \ifLuaTeX
   \usepackage{selnolig}  % disable illegal ligatures
 \fi
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\usepackage{bookmark}
 \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
 \urlstyle{same}
 \hypersetup{
diff --git a/test/odt/native/listContinueNumbering.native b/test/odt/native/listContinueNumbering.native
new file mode 100644
--- /dev/null
+++ b/test/odt/native/listContinueNumbering.native
@@ -0,0 +1,89 @@
+[ OrderedList
+    ( 1 , Decimal , Period )
+    [ [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(1.)" ]
+        ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "in"
+    , Space
+    , Str "between."
+    ]
+, Para []
+, OrderedList
+    ( 2 , Decimal , Period )
+    [ [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(2.)" ]
+        ]
+    , [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(3.)" ]
+        ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "in"
+    , Space
+    , Str "between."
+    ]
+, Para []
+, OrderedList
+    ( 4 , Decimal , Period )
+    [ [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(4.)" ]
+        ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "before"
+    , Space
+    , Str "starting"
+    , Space
+    , Str "new"
+    , Space
+    , Str "list"
+    , Space
+    , Str "from"
+    , Space
+    , Str "1."
+    ]
+, Para []
+, OrderedList
+    ( 1 , Decimal , Period )
+    [ [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(1.)" ]
+        ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "in"
+    , Space
+    , Str "between."
+    ]
+, Para []
+, OrderedList
+    ( 2 , Decimal , Period )
+    [ [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(2.)" ]
+        ]
+    , [ Plain
+            [ Str "Some" , Space , Str "text" , Space , Str "(3.)" ]
+        ]
+    ]
+]
diff --git a/test/odt/native/listContinueNumbering2.native b/test/odt/native/listContinueNumbering2.native
new file mode 100644
--- /dev/null
+++ b/test/odt/native/listContinueNumbering2.native
@@ -0,0 +1,107 @@
+[ OrderedList
+    ( 1 , Decimal , Period )
+    [ [ BlockQuote [ Para [ Str "Top" , Space , Str "one" ] ]
+      , OrderedList
+          ( 1 , LowerAlpha , Period )
+          [ [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "1.a"
+                    ]
+                ]
+            ]
+          , [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "1.b"
+                    ]
+                ]
+            ]
+          ]
+      ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "in"
+    , Space
+    , Str "between."
+    ]
+, Para []
+, OrderedList
+    ( 2 , Decimal , Period )
+    [ [ BlockQuote [ Para [ Str "Top" , Space , Str "two" ] ]
+      , OrderedList
+          ( 1 , LowerAlpha , Period )
+          [ [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "2.a"
+                    ]
+                ]
+            ]
+          , [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "2.b"
+                    ]
+                ]
+            ]
+          ]
+      ]
+    ]
+, Para []
+, Para
+    [ Str "Some"
+    , Space
+    , Str "text"
+    , Space
+    , Str "in"
+    , Space
+    , Str "between."
+    ]
+, Para []
+, OrderedList
+    ( 3 , Decimal , Period )
+    [ [ BlockQuote [ Para [ Str "Top" , Space , Str "three" ] ]
+      , OrderedList
+          ( 1 , LowerAlpha , Period )
+          [ [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "3.a"
+                    ]
+                ]
+            ]
+          , [ BlockQuote
+                [ Para
+                    [ Str "Sub"
+                    , Space
+                    , Str "item"
+                    , Space
+                    , Str "3.b"
+                    ]
+                ]
+            ]
+          ]
+      ]
+    ]
+]
diff --git a/test/odt/odt/listContinueNumbering.odt b/test/odt/odt/listContinueNumbering.odt
new file mode 100644
Binary files /dev/null and b/test/odt/odt/listContinueNumbering.odt differ
diff --git a/test/odt/odt/listContinueNumbering2.odt b/test/odt/odt/listContinueNumbering2.odt
new file mode 100644
Binary files /dev/null and b/test/odt/odt/listContinueNumbering2.odt differ
diff --git a/test/tables.typst b/test/tables.typst
--- a/test/tables.typst
+++ b/test/tables.typst
@@ -1,6 +1,7 @@
 Simple table with caption:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (right,left,center,auto,).at(col),
   inset: 6pt,
@@ -17,13 +18,14 @@
   [1],
   [1],
   [1],
+)]
+, caption: [Demonstration of simple table syntax.]
 )
-#align(center, [Demonstration of simple table syntax.])
-]
 
 Simple table without caption:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (right,left,center,auto,).at(col),
   inset: 6pt,
@@ -40,12 +42,13 @@
   [1],
   [1],
   [1],
+)]
 )
-]
 
 Simple table indented two spaces:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (right,left,center,auto,).at(col),
   inset: 6pt,
@@ -62,13 +65,14 @@
   [1],
   [1],
   [1],
+)]
+, caption: [Demonstration of simple table syntax.]
 )
-#align(center, [Demonstration of simple table syntax.])
-]
 
 Multiline table with caption:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (center,left,right,left,).at(col),
   inset: 6pt,
@@ -81,13 +85,14 @@
   [row],
   [5.0],
   [Here’s another one. Note the blank line between rows.],
+)]
+, caption: [Here’s the caption. It may span multiple lines.]
 )
-#align(center, [Here’s the caption. It may span multiple lines.])
-]
 
 Multiline table without caption:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (center,left,right,left,).at(col),
   inset: 6pt,
@@ -100,12 +105,13 @@
   [row],
   [5.0],
   [Here’s another one. Note the blank line between rows.],
+)]
 )
-]
 
 Table without column headers:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (right,left,center,right,).at(col),
   inset: 6pt,
@@ -121,12 +127,13 @@
   [1],
   [1],
   [1],
+)]
 )
-]
 
 Multiline table without column headers:
 
-#align(center)[#table(
+#figure(
+align(center)[#table(
   columns: 4,
   align: (col, row) => (center,left,right,auto,).at(col),
   inset: 6pt,
@@ -138,5 +145,5 @@
   [row],
   [5.0],
   [Here’s another one. Note the blank line between rows.],
+)]
 )
-]
diff --git a/test/testsuite.txt b/test/testsuite.txt
--- a/test/testsuite.txt
+++ b/test/testsuite.txt
@@ -522,8 +522,7 @@
 - $p$-Tree
 - Here's some display math:
   $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
-- Here's one that has a line break in it:  $\alpha + \omega \times
-x^2$.  
+- Here's one that has a line break in it:  $\alpha + \omega \times x^2$.  
 
 These shouldn't be math:
 
diff --git a/test/writer.html5 b/test/writer.html5
--- a/test/writer.html5
+++ b/test/writer.html5
@@ -740,7 +740,7 @@
 role="doc-noteref"><sup>5</sup></a></li>
 </ol>
 <p>This paragraph should not be part of the note, as it is not indented.</p>
-<aside id="footnotes" class="footnotes footnotes-end-of-document"
+<section id="footnotes" class="footnotes footnotes-end-of-document"
 role="doc-endnotes">
 <hr />
 <ol>
@@ -763,6 +763,6 @@
 <li id="fn5"><p>In list.<a href="#fnref5" class="footnote-back"
 role="doc-backlink">↩︎</a></p></li>
 </ol>
-</aside>
+</section>
 </body>
 </html>
diff --git a/test/writer.latex b/test/writer.latex
--- a/test/writer.latex
+++ b/test/writer.latex
@@ -63,7 +63,7 @@
 \ifLuaTeX
   \usepackage{selnolig}  % disable illegal ligatures
 \fi
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\usepackage{bookmark}
 \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
 \urlstyle{same}
 \VerbatimFootnotes % allow verbatim text in footnotes
diff --git a/test/writer.man b/test/writer.man
--- a/test/writer.man
+++ b/test/writer.man
@@ -23,7 +23,7 @@
 In Markdown 1.0.0 and earlier.
 Version 8.
 This line turns into a list item.
-Because a hard-wrapped line in the middle of a paragraph looked like a list
+Because a hard\-wrapped line in the middle of a paragraph looked like a list
 item.
 .PP
 Here\[cq]s one with a bullet.
@@ -37,7 +37,7 @@
 .PP
    *   *   *   *   *
 .SH Block Quotes
-E-mail style:
+E\-mail style:
 .RS
 .PP
 This is a block quote.
@@ -79,7 +79,7 @@
 Code:
 .IP
 .EX
----- (should be four hyphens)
+\-\-\-\- (should be four hyphens)
 
 sub status {
     print \[dq]working\[dq];
@@ -430,7 +430,7 @@
 Code block:
 .IP
 .EX
-<!-- Comment -->
+<!\-\- Comment \-\->
 .EE
 .PP
 Just plain comment, with trailing spaces on the line:
@@ -507,11 +507,11 @@
 .IP \[bu] 2
 223
 .IP \[bu] 2
-\f[I]p\f[R]-Tree
+\f[I]p\f[R]\-Tree
 .IP \[bu] 2
 Here\[cq]s some display math:
 .RS
-$$\[rs]frac{d}{dx}f(x)=\[rs]lim_{h\[rs]to 0}\[rs]frac{f(x+h)-f(x)}{h}$$
+$$\[rs]frac{d}{dx}f(x)=\[rs]lim_{h\[rs]to 0}\[rs]frac{f(x+h)\-f(x)}{h}$$
 .RE
 .IP \[bu] 2
 Here\[cq]s one that has a line break in it:
@@ -575,7 +575,7 @@
 .PP
 Right paren: )
 .PP
-Greater-than: >
+Greater\-than: >
 .PP
 Hash: #
 .PP
@@ -585,7 +585,7 @@
 .PP
 Plus: +
 .PP
-Minus: -
+Minus: \-
 .PP
    *   *   *   *   *
 .SH Links
@@ -661,7 +661,7 @@
 .IP \[bu] 2
 It should.
 .PP
-An e-mail address: \c
+An e\-mail address: \c
 .MT nobody@nowhere.net
 .ME \c
 .RS
@@ -671,7 +671,7 @@
 .UE \c
 .RE
 .PP
-Auto-links should not occur here: \f[CR]<http://example.com/>\f[R]
+Auto\-links should not occur here: \f[CR]<http://example.com/>\f[R]
 .IP
 .EX
 or here: <http://example.com/>
diff --git a/test/writer.ms b/test/writer.ms
--- a/test/writer.ms
+++ b/test/writer.ms
@@ -134,7 +134,7 @@
 In Markdown 1.0.0 and earlier.
 Version 8.
 This line turns into a list item.
-Because a hard-wrapped line in the middle of a paragraph looked like a list
+Because a hard\-wrapped line in the middle of a paragraph looked like a list
 item.
 .PP
 Here\[cq]s one with a bullet.
@@ -149,7 +149,7 @@
 .pdfhref O 1 "Block Quotes"
 .pdfhref M "block-quotes"
 .LP
-E-mail style:
+E\-mail style:
 .QS
 .LP
 This is a block quote.
@@ -197,7 +197,7 @@
 .IP
 .nf
 \f[C]
----- (should be four hyphens)
+\-\-\-\- (should be four hyphens)
 
 sub status {
     print \[dq]working\[dq];
@@ -605,7 +605,7 @@
 .IP
 .nf
 \f[C]
-<!-- Comment -->
+<!\-\- Comment \-\->
 \f[]
 .fi
 .LP
@@ -695,7 +695,7 @@
 .IP \[bu] 3
 @223@
 .IP \[bu] 3
-@p@-Tree
+@p@\-Tree
 .IP \[bu] 3
 Here\[cq]s some display math:
 .EQ
@@ -765,7 +765,7 @@
 .PP
 Right paren: )
 .PP
-Greater-than: >
+Greater\-than: >
 .PP
 Hash: #
 .PP
@@ -775,7 +775,7 @@
 .PP
 Plus: +
 .PP
-Minus: -
+Minus: \-
 .HLINE
 .SH 1
 Links
@@ -925,7 +925,7 @@
 .IP \[bu] 3
 It should.
 .LP
-An e-mail address: \c
+An e\-mail address: \c
 .pdfhref W -D "mailto:nobody%40nowhere.net" -A "\c" \
  -- "nobody\[at]nowhere.net"
 \&
@@ -937,7 +937,7 @@
 \&
 .QE
 .LP
-Auto-links should not occur here: \f[CR]<http://example.com/>\f[R]
+Auto\-links should not occur here: \f[CR]<http://example.com/>\f[R]
 .IP
 .nf
 \f[C]
diff --git a/test/writer.typst b/test/writer.typst
--- a/test/writer.typst
+++ b/test/writer.typst
@@ -1,9 +1,4 @@
 // Some definitions presupposed by pandoc's typst output.
-#let blockquote(body) = [
-  #set text( size: 0.92em )
-  #block(inset: (left: 1.5em, top: 0.2em, bottom: 0.2em))[#body]
-]
-
 #let horizontalrule = [
   #line(start: (25%,0%), end: (75%,0%))
 ]
@@ -22,7 +17,8 @@
 
 #let conf(
   title: none,
-  authors: none,
+  authors: (),
+  keywords: (),
   date: none,
   abstract: none,
   cols: 1,
@@ -35,6 +31,11 @@
   sectionnumbering: none,
   doc,
 ) = {
+  set document(
+    title: title,
+    author: authors.map(author => author.name),
+    keywords: keywords,
+  )
   set page(
     paper: paper,
     margin: margin,
@@ -53,7 +54,7 @@
     ]]
   }
 
-  if authors != none {
+  if authors != none and authors != [] {
     let count = authors.len()
     let ncols = calc.min(count, 3)
     grid(
@@ -90,14 +91,14 @@
 #show: doc => conf(
   title: [Pandoc Test Suite],
   authors: (
-    ( name: [John MacFarlane],
-      affiliation: [],
-      email: [] ),
-    ( name: [Anonymous],
-      affiliation: [],
-      email: [] ),
+    ( name: "John MacFarlane",
+      affiliation: "",
+      email: "" ),
+    ( name: "Anonymous",
+      affiliation: "",
+      email: "" ),
     ),
-  date: [July 17, 2006],
+  date: "July 17, 2006",
   cols: 1,
   doc,
 )
@@ -151,11 +152,11 @@
 <block-quotes>
 E-mail style:
 
-#blockquote[
+#quote(block: true)[
 This is a block quote. It is pretty short.
 ]
 
-#blockquote[
+#quote(block: true)[
 Code in a block quote:
 
 ```
@@ -171,11 +172,11 @@
 
 Nested block quotes:
 
-#blockquote[
+#quote(block: true)[
 nested
 ]
 
-#blockquote[
+#quote(block: true)[
 nested
 ]
 ]
@@ -447,7 +448,7 @@
 { orange code block }
 ```
 
-#blockquote[
+#quote(block: true)[
 orange block quote
 ]
 ]
@@ -621,14 +622,14 @@
 = LaTeX
 <latex>
 -
-- $2 plus 2 eq 4$
+- $2 + 2 = 4$
 - $x in y$
 - $alpha and omega$
 - $223$
 - $p$-Tree
 - Here’s some display math:
-  $ frac(d, d x) f lr((x)) eq lim_(h arrow.r 0) frac(f lr((x plus h)) minus f lr((x)), h) $
-- Here’s one that has a line break in it: $alpha plus omega times x^2$.
+  $ frac(d, d x) f lr((x)) = lim_(h arrow.r 0) frac(f lr((x + h)) - f lr((x)), h) $
+- Here’s one that has a line break in it: $alpha + omega times x^2$.
 
 These shouldn’t be math:
 
@@ -763,7 +764,7 @@
 
 An e-mail address: #link("mailto:nobody@nowhere.net")[nobody\@nowhere.net]
 
-#blockquote[
+#quote(block: true)[
 Blockquoted: #link("http://example.com/")
 ]
 
@@ -809,7 +810,7 @@
 #link("http://google.com")[links] and `]` verbatim characters, as well as
 \[bracketed text\].]
 
-#blockquote[
+#quote(block: true)[
 Notes can go in quotes.#footnote[In quote.]
 ]
 
diff --git a/test/writers-lang-and-dir.latex b/test/writers-lang-and-dir.latex
--- a/test/writers-lang-and-dir.latex
+++ b/test/writers-lang-and-dir.latex
@@ -64,7 +64,7 @@
   \newenvironment{RTL}{\beginR}{\endR}
   \newenvironment{LTR}{\beginL}{\endL}
 \fi
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\usepackage{bookmark}
 \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
 \urlstyle{same}
 \hypersetup{
