@@ -388,12 +388,16 @@ styleToOpenXml style = parStyle : map toStyle alltoktypes
388388 $ backgroundColor style )
389389 ]
390390
391+-- this is the lowest number used for a list numId
392+baseListId :: Int
393+baseListId = 1000
394+
391395mkNumbering :: [ListMarker] -> IO Element
392396mkNumbering lists = do
393397 elts <- mapM mkAbstractNum (ordNub lists)
394398 return $ mknode "w:numbering"
395399 [("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)]
397401
398402mkNum :: ListMarker -> Int -> Element
399403mkNum marker numid =
@@ -461,7 +465,7 @@ mkLvl marker lvl =
461465 patternFor _ s = s ++ "."
462466
463467getNumId :: WS Int
464−getNumId = length `fmap` gets stLists
468+getNumId = ((999 +) . length) `fmap` gets stLists
465469
466470-- | Convert Pandoc document to two lists of
467471-- OpenXML elements (the main document and footnotes).
@@ -615,7 +619,8 @@ listItemToOpenXML :: WriterOptions -> Int -> [Block] -> WS [Element]
615619listItemToOpenXML _ _ [] = return []
616620listItemToOpenXML opts numid (first:rest) = do
617621 first' <- withNumId numid $ blockToOpenXML opts first
618− rest' <- withNumId 1 $ blocksToOpenXML opts rest
622+ -- baseListId is the code for no list marker:
623+ rest' <- withNumId baseListId $ blocksToOpenXML opts rest
619624 return $ first' ++ rest'
620625
621626alignmentToString :: Alignment -> [Char]