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 A one-line abstract. ``` 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 First para.Second para. ``` 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 placeholder ``` 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 ``` 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 Text1outer2inner3second ``` 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 abcdefghij ```