-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Closed
Labels
Description
The development version of pandoc recently added support for tasklists on markdown and writing html and latex. See #3051
It would be great to support writing task lists in docx.
Currently the default docx behavior doesn't look great:
There is an issue with the spacing, and another with long lines. Both could be solved by using specific numbering styles with the proper bullets:
4/1/2019 UPDATE!
Here are some xml snippets:
Current pandoc output
document.xml
:
<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1002" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
<w:r><w:t xml:space="preserve">☐ Unchecked task</w:t></w:r></w:p>
<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1002" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
<w:r><w:t xml:space="preserve">☒ Completed task</w:t></w:r></w:p>
numbering.xml
:
<w:abstractNum w:abstractNumId="991"><w:nsid w:val="71315dca" /><w:multiLevelType w:val="multilevel" />
<w:lvl w:ilvl="0"><w:numFmt w:val="bullet" /><w:lvlText w:val="•" /><w:lvlJc w:val="left" />
<w:pPr><w:tabs><w:tab w:val="num" w:pos="0" /></w:tabs><w:ind w:left="480" w:hanging="480" /></w:pPr></w:lvl>
<w:lvl w:ilvl="1"><w:numFmt w:val="bullet" /><w:lvlText w:val="–" /><w:lvlJc w:val="left" /><w:pPr><w:tabs><w:tab w:val="num" w:pos="720" /></w:tabs><w:ind w:left="1200" w:hanging="480" /></w:pPr></w:lvl><!-- ... -->
</w:abstractNum>
<!-- ... -->
<w:num w:numId="1002"><w:abstractNumId w:val="991" /></w:num>
Fixing it manually at the xml level
document.xml
:
-<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1002" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
+<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1003" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
<w:r><w:t xml:space="preserve">☐ Unchecked task</w:t></w:r></w:p>
-<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1002" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
+<w:p><w:pPr><w:pStyle w:val="Compact" /><w:numPr><w:numId w:val="1004" /><w:ilvl w:val="0" /></w:numPr></w:pPr>
<w:r><w:t xml:space="preserve">☒ Completed task</w:t></w:r></w:p>
numbering.xml
:
<w:abstractNum w:abstractNumId="991"><w:nsid w:val="71315dca" /><w:multiLevelType w:val="multilevel" />
<w:lvl w:ilvl="0"><w:numFmt w:val="bullet" /><w:lvlText w:val="•" /><w:lvlJc w:val="left" />
<w:pPr><w:tabs><w:tab w:val="num" w:pos="0" /></w:tabs><w:ind w:left="480" w:hanging="480" /></w:pPr></w:lvl>
<w:lvl w:ilvl="1"><w:numFmt w:val="bullet" /><w:lvlText w:val="–" /><w:lvlJc w:val="left" /><w:pPr><w:tabs><w:tab w:val="num" w:pos="720" /></w:tabs><w:ind w:left="1200" w:hanging="480" /></w:pPr></w:lvl><!-- ... -->
</w:abstractNum>
+<w:abstractNum w:abstractNumId="992"><w:nsid w:val="71315dcb" /><w:multiLevelType w:val="multilevel" />
+ <w:lvl w:ilvl="0"><w:numFmt w:val="bullet" /><w:lvlText w:val="☐" /><w:lvlJc w:val="left" />
+ <w:pPr><w:tabs><w:tab w:val="num" w:pos="0" /></w:tabs><w:ind w:left="480" w:hanging="480" /></w:pPr></w:lvl>
+ <w:lvl w:ilvl="1"><w:numFmt w:val="bullet" /><w:lvlText w:val="☐" /><w:lvlJc w:val="left" /><w:pPr><w:tabs><w:tab w:val="num" w:pos="720" /></w:tabs><w:ind w:left="1200" w:hanging="480" /></w:pPr></w:lvl><!-- ... -->
+</w:abstractNum>
+<w:abstractNum w:abstractNumId="993"><w:nsid w:val="71315dcc" /><w:multiLevelType w:val="multilevel" />
+ <w:lvl w:ilvl="0"><w:numFmt w:val="bullet" /><w:lvlText w:val="☒" /><w:lvlJc w:val="left" />
+ <w:pPr><w:tabs><w:tab w:val="num" w:pos="0" /></w:tabs><w:ind w:left="480" w:hanging="480" /></w:pPr></w:lvl>
+ <w:lvl w:ilvl="1"><w:numFmt w:val="bullet" /><w:lvlText w:val="☒" /><w:lvlJc w:val="left" /><w:pPr><w:tabs><w:tab w:val="num" w:pos="720" /></w:tabs><w:ind w:left="1200" w:hanging="480" /></w:pPr></w:lvl><!-- ... -->
+</w:abstractNum>
<!-- ... -->
<w:num w:numId="1002"><w:abstractNumId w:val="991" /></w:num>
+<w:num w:numId="1003"><w:abstractNumId w:val="992" /></w:num>
+<w:num w:numId="1004"><w:abstractNumId w:val="993" /></w:num>
This manual editing yields the expected:
Note that the checkboxes in the text should be removed.
The code for generating the two new styles could be similar to the already default one included in pandoc.
Konfekt, Javierieh, alerque and vonloxley