Lists were written as plain paragraphs with a literal marker and a
hanging indent, carrying none of the `\ls`/`\ilvl` references or the
`\listtable`/`\listoverridetable` that the RTF list model (and pandoc's
own reader) expect, so lists could not round-trip.
Walk the document tagging each list with a unique id and nesting level
(`prepareLists`), build a `\listtable`/`\listoverridetable` describing
each list (`listTableRTF`, exposed via the `listtable` template
variable), and render every list paragraph with its `\ls`/`\ilvl`
reference. The first paragraph of each item gets a `{\listtext}`
marker; continuation paragraphs keep the reference but omit it, so
multi-paragraph items round-trip.
Co-Authored-By: Claude <noreply@anthropic.com>
Changed markdown, rtf, and HTML-based templates accordingly.
This allows you to set `toc: true` in the metadata; this
previously produced strange results in some output formats.
Closes#2872.
For backwards compatibility, `toc` is still set to the
toc contents. But it is recommended that you update templates
to use `table-of-contents` for the toc contents and `toc`
for a boolean flag.