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:
parent
62dc2f893e
commit
4a7dad18b1
5 changed files with 21 additions and 4 deletions
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
9
test/pptx/start_numbering_at.native
Normal file
9
test/pptx/start_numbering_at.native
Normal 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"]]]]
|
BIN
test/pptx/start_numbering_at.pptx
Normal file
BIN
test/pptx/start_numbering_at.pptx
Normal file
Binary file not shown.
BIN
test/pptx/start_numbering_at_templated.pptx
Normal file
BIN
test/pptx/start_numbering_at_templated.pptx
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue