diff options
author | Jesse Rosenthal <jrosenthal@jhu.edu> | 2019-08-27 01:16:21 -0400 |
---|---|---|
committer | Jesse Rosenthal <jrosenthal@jhu.edu> | 2019-08-27 01:24:41 -0400 |
commit | 4a7dad18b109987cfa13168a9f5505c183744d99 (patch) | |
tree | 5bcf753f9e28ca8348146bac71e6845a54269a4d | |
parent | 62dc2f893ec21f3daa2e9c78eb6392698145d204 (diff) | |
download | pandoc-4a7dad18b109987cfa13168a9f5505c183744d99.tar.gz |
PowerPoint writer: Start numbering at appopriate numbers.
Starting numbers for ordered lists were previously ignored. Now we
specify the number if it is something other than 1.
Closes: #5709
-rw-r--r-- | src/Text/Pandoc/Writers/Powerpoint/Output.hs | 12 | ||||
-rw-r--r-- | test/Tests/Writers/Powerpoint.hs | 4 | ||||
-rw-r--r-- | test/pptx/start_numbering_at.native | 9 | ||||
-rw-r--r-- | test/pptx/start_numbering_at.pptx | bin | 0 -> 27031 bytes | |||
-rw-r--r-- | test/pptx/start_numbering_at_templated.pptx | bin | 0 -> 394323 bytes |
5 files changed, 21 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Writers/Powerpoint/Output.hs b/src/Text/Pandoc/Writers/Powerpoint/Output.hs index eed35565e..79a5ed65f 100644 --- a/src/Text/Pandoc/Writers/Powerpoint/Output.hs +++ b/src/Text/Pandoc/Writers/Powerpoint/Output.hs @@ -861,7 +861,7 @@ paragraphToElement par = do (case pPropBullet $ paraProps par of Just Bullet -> [] Just (AutoNumbering attrs') -> - [mknode "a:buAutoNum" [("type", autoNumberingToType attrs')] ()] + [mknode "a:buAutoNum" (autoNumAttrs attrs') ()] Nothing -> [mknode "a:buNone" [] ()] ) paras <- concat <$> mapM paraElemToElements (paraElems par) @@ -1872,10 +1872,14 @@ getContentType fp Just $ presML ++ ".slideLayout+xml" | otherwise = Nothing -autoNumberingToType :: ListAttributes -> String -autoNumberingToType (_, numStyle, numDelim) = - typeString ++ delimString +autoNumAttrs :: ListAttributes -> [(String, String)] +autoNumAttrs (startNum, numStyle, numDelim) = + numAttr ++ typeAttr where + numAttr = if startNum == 1 + then [] + else [("startAt", show startNum)] + typeAttr = [("type", typeString ++ delimString)] typeString = case numStyle of Decimal -> "arabic" UpperAlpha -> "alphaUc" diff --git a/test/Tests/Writers/Powerpoint.hs b/test/Tests/Writers/Powerpoint.hs index c21ee49a4..e3f4173bd 100644 --- a/test/Tests/Writers/Powerpoint.hs +++ b/test/Tests/Writers/Powerpoint.hs @@ -59,6 +59,10 @@ tests = groupPptxTests [ pptxTests "Inline formatting" def "pptx/lists.native" "pptx/lists.pptx" + , pptxTests "start ordered list at specified num" + def + "pptx/start_numbering_at.native" + "pptx/start_numbering_at.pptx" , pptxTests "tables" def "pptx/tables.native" diff --git a/test/pptx/start_numbering_at.native b/test/pptx/start_numbering_at.native new file mode 100644 index 000000000..ecffbb0ef --- /dev/null +++ b/test/pptx/start_numbering_at.native @@ -0,0 +1,9 @@ +[Header 2 ("example-numbering-mwe",[],[]) [Str "Example",Space,Str "numbering",Space,Str "MWE"] +,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "slide",Space,Str "with",Space,Str "examples",Space,Str "in",Space,Str "(1)",Space,Str "and",Space,Str "(2)"] +,OrderedList (1,Example,TwoParens) + [[Plain [Str "First"]] + ,[Plain [Str "Second"]]] +,Header 2 ("a-second-slide",[],[]) [Str "A",Space,Str "second",Space,Str "slide"] +,Para [Str "This",Space,Str "second",Space,Str "slide",Space,Str "has",Space,Str "a",Space,Str "third",Space,Str "example",Space,Str "in",Space,Str "(3)."] +,OrderedList (3,Example,TwoParens) + [[Plain [Str "Third"]]]] diff --git a/test/pptx/start_numbering_at.pptx b/test/pptx/start_numbering_at.pptx Binary files differnew file mode 100644 index 000000000..18477380b --- /dev/null +++ b/test/pptx/start_numbering_at.pptx diff --git a/test/pptx/start_numbering_at_templated.pptx b/test/pptx/start_numbering_at_templated.pptx Binary files differnew file mode 100644 index 000000000..4b9d0ba4d --- /dev/null +++ b/test/pptx/start_numbering_at_templated.pptx |