@@ -388,12 +388,16 @@ styleToOpenXml style = parStyle : map toStyle alltoktypes
388 $ backgroundColor style )
388 $ backgroundColor style )
391+-- this is the lowest number used for a list numId
391mkNumbering :: [ListMarker] -> IO Element
395mkNumbering :: [ListMarker] -> IO Element
392mkNumbering lists = do
396mkNumbering lists = do
393 elts <- mapM mkAbstractNum (ordNub lists)
397 elts <- mapM mkAbstractNum (ordNub lists)
394 return $ mknode "w:numbering"
398 return $ mknode "w:numbering"
395 [("xmlns:w","http://schemas.openxmlformats.org/wordprocessingml/2006/main")]
399 [("xmlns:w","http://schemas.openxmlformats.org/wordprocessingml/2006/main")]
396− $ elts ++ zipWith mkNum lists [1..(length lists)]
400+ $ elts ++ zipWith mkNum lists [baseListId..(baseListId + length lists - 1)]
398mkNum :: ListMarker -> Int -> Element
402mkNum :: ListMarker -> Int -> Element
399mkNum marker numid =
403mkNum marker numid =
@@ -461,7 +465,7 @@ mkLvl marker lvl =
461 patternFor _ s = s ++ "."
465 patternFor _ s = s ++ "."
463getNumId :: WS Int
467getNumId :: WS Int
464−getNumId = length `fmap` gets stLists
468+getNumId = ((999 +) . length) `fmap` gets stLists
466-- | Convert Pandoc document to two lists of
470-- | Convert Pandoc document to two lists of
467-- OpenXML elements (the main document and footnotes).
471-- OpenXML elements (the main document and footnotes).
@@ -615,7 +619,8 @@ listItemToOpenXML :: WriterOptions -> Int -> [Block] -> WS [Element]
615listItemToOpenXML _ _ [] = return []
619listItemToOpenXML _ _ [] = return []
616listItemToOpenXML opts numid (first:rest) = do
620listItemToOpenXML opts numid (first:rest) = do
617 first' <- withNumId numid $ blockToOpenXML opts first
621 first' <- withNumId numid $ blockToOpenXML opts first
622+ -- baseListId is the code for no list marker:
618− rest' <- withNumId 1 $ blocksToOpenXML opts rest
623+ rest' <- withNumId baseListId $ blocksToOpenXML opts rest
619 return $ first' ++ rest'
624 return $ first' ++ rest'
621alignmentToString :: Alignment -> [Char]
626alignmentToString :: Alignment -> [Char]