packages feed

pandoc-3.12.1: test/command/opendocument-styles.md

The `abstract` metadata field holds blocks, so it must be rendered
with the block writer: previously it was flattened to inlines, which
produced bare character data (not valid as a child of `office:text`)
and dropped the `Abstract` style.

```
% pandoc -f markdown -t opendocument --template command/opendocument-abstract.opendocument
---
abstract: A one-line abstract.
---

Body.
^D
<text:p text:style-name="Abstract">A one-line abstract.</text:p>
```

A multi-paragraph abstract stays multi-paragraph:

```
% pandoc -f markdown -t opendocument --wrap=none --template command/opendocument-abstract.opendocument
---
abstract: |
  First para.

  Second para.
---

Body.
^D
<text:p text:style-name="Abstract">First para.</text:p><text:p text:style-name="Abstract">Second para.</text:p>
```

A requested paragraph style must also be applied to `Plain` blocks, not
just to `Para`. The body of a caption-less figure is a `Plain`, so it
should still get the `Figure` style:

```
% pandoc -f native -t opendocument --template command/opendocument-body.opendocument
[Figure ("fig1",[],[]) (Caption Nothing []) [Plain [Str "placeholder"]]]
^D
<text:p text:style-name="Figure">placeholder</text:p>
```

Column style names must remain valid NCNames past the 26th column;
incrementing a character code would run into `[`, `\`, etc.

```
% pandoc -f native -t opendocument --template command/opendocument-body.opendocument
[Table ("",[],[]) (Caption Nothing [])
 [(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)
 ,(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault),(AlignDefault,ColWidthDefault)]
 (TableHead ("",[],[]) [])
 [(TableBody ("",[],[]) (RowHeadColumns 0) [] [])]
 (TableFoot ("",[],[]) [])]
^D
<table:table table:name="Table1" table:style-name="Table1">
  <table:table-column table:style-name="Table1.A" />
  <table:table-column table:style-name="Table1.B" />
  <table:table-column table:style-name="Table1.C" />
  <table:table-column table:style-name="Table1.D" />
  <table:table-column table:style-name="Table1.E" />
  <table:table-column table:style-name="Table1.F" />
  <table:table-column table:style-name="Table1.G" />
  <table:table-column table:style-name="Table1.H" />
  <table:table-column table:style-name="Table1.I" />
  <table:table-column table:style-name="Table1.J" />
  <table:table-column table:style-name="Table1.K" />
  <table:table-column table:style-name="Table1.L" />
  <table:table-column table:style-name="Table1.M" />
  <table:table-column table:style-name="Table1.N" />
  <table:table-column table:style-name="Table1.O" />
  <table:table-column table:style-name="Table1.P" />
  <table:table-column table:style-name="Table1.Q" />
  <table:table-column table:style-name="Table1.R" />
  <table:table-column table:style-name="Table1.S" />
  <table:table-column table:style-name="Table1.T" />
  <table:table-column table:style-name="Table1.U" />
  <table:table-column table:style-name="Table1.V" />
  <table:table-column table:style-name="Table1.W" />
  <table:table-column table:style-name="Table1.X" />
  <table:table-column table:style-name="Table1.Y" />
  <table:table-column table:style-name="Table1.Z" />
  <table:table-column table:style-name="Table1.AA" />
</table:table>
```

A note nested inside another note must not reuse the outer note's
`text:id`:

```
% pandoc -f markdown -t opendocument --wrap=none --template command/opendocument-body.opendocument
Text^[outer^[inner]]^[second]
^D
<text:p text:style-name="Text_20_body">Text<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">outer<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">inner</text:p></text:note-body></text:note></text:p></text:note-body></text:note><text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body><text:p text:style-name="Footnote">second</text:p></text:note-body></text:note></text:p>
```

Automatic text styles are declared in numerical order: sorting them by
name would put `T10` between `T1` and `T2`.

```
% pandoc -f native -t opendocument --wrap=none --template command/11301-styles.opendocument
[Para [SmallCaps [Str "a"]
      ,SmallCaps [Strikeout [Str "b"]]
      ,SmallCaps [Superscript [Str "c"]]
      ,SmallCaps [Subscript [Str "d"]]
      ,SmallCaps [Underline [Str "e"]]
      ,Strikeout [Superscript [Str "f"]]
      ,Strikeout [Subscript [Str "g"]]
      ,Strikeout [Underline [Str "h"]]
      ,Underline [Superscript [Str "i"]]
      ,Underline [Subscript [Str "j"]]]]
^D
<style:style style:name="T1" style:family="text"><style:text-properties fo:font-variant="small-caps" /></style:style>
<style:style style:name="T2" style:family="text"><style:text-properties fo:font-variant="small-caps" style:text-line-through-style="solid" /></style:style>
<style:style style:name="T3" style:family="text"><style:text-properties fo:font-variant="small-caps" style:text-position="super 58%" /></style:style>
<style:style style:name="T4" style:family="text"><style:text-properties fo:font-variant="small-caps" style:text-position="sub 58%" /></style:style>
<style:style style:name="T5" style:family="text"><style:text-properties fo:font-variant="small-caps" style:text-underline-color="font-color" style:text-underline-style="solid" style:text-underline-width="auto" /></style:style>
<style:style style:name="T6" style:family="text"><style:text-properties style:text-line-through-style="solid" style:text-position="super 58%" /></style:style>
<style:style style:name="T7" style:family="text"><style:text-properties style:text-line-through-style="solid" style:text-position="sub 58%" /></style:style>
<style:style style:name="T8" style:family="text"><style:text-properties style:text-line-through-style="solid" style:text-underline-color="font-color" style:text-underline-style="solid" style:text-underline-width="auto" /></style:style>
<style:style style:name="T9" style:family="text"><style:text-properties style:text-position="super 58%" style:text-underline-color="font-color" style:text-underline-style="solid" style:text-underline-width="auto" /></style:style>
<style:style style:name="T10" style:family="text"><style:text-properties style:text-position="sub 58%" style:text-underline-color="font-color" style:text-underline-style="solid" style:text-underline-width="auto" /></style:style>
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" style:wrap="none" /></style:style>
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" /></style:style>
<text:p text:style-name="Text_20_body"><text:span text:style-name="T1">a</text:span><text:span text:style-name="T2">b</text:span><text:span text:style-name="T3">c</text:span><text:span text:style-name="T4">d</text:span><text:span text:style-name="T5">e</text:span><text:span text:style-name="T6">f</text:span><text:span text:style-name="T7">g</text:span><text:span text:style-name="T8">h</text:span><text:span text:style-name="T9">i</text:span><text:span text:style-name="T10">j</text:span></text:p>
```