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
This commit is contained in:
Jesse Rosenthal 2019-08-27 01:16:21 -04:00
parent 62dc2f893e
commit 4a7dad18b1
5 changed files with 21 additions and 4 deletions

View file

@ -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"

View file

@ -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"

View file

@ -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"]]]]

Binary file not shown.

Binary file not shown.