@@ -657,6 +657,9 @@ mkNumbering lists = do
657657 elts <- mapM mkAbstractNum (ordNub lists)
658658 return $ elts ++ zipWith mkNum lists [baseListId..(baseListId + length lists - 1)]
659659
660+maxListLevel :: Int
661+maxListLevel = 8
662+
660663mkNum :: ListMarker -> Int -> Element
661664mkNum marker numid =
662665 mknode "w:num" [("w:numId",show numid)]
@@ -666,7 +669,8 @@ mkNum marker numid =
666669 BulletMarker -> []
667670 NumberMarker _ _ start ->
668671 map (\lvl -> mknode "w:lvlOverride" [("w:ilvl",show (lvl :: Int))]
669− $ mknode "w:startOverride" [("w:val",show start)] ()) [0..6]
672+ $ mknode "w:startOverride" [("w:val",show start)] ())
673+ [0..maxListLevel]
670674
671675mkAbstractNum :: (PandocMonad m) => ListMarker -> m Element
672676mkAbstractNum marker = do
@@ -675,7 +679,8 @@ mkAbstractNum marker = do
675679 return $ mknode "w:abstractNum" [("w:abstractNumId",listMarkerToId marker)]
676680 $ mknode "w:nsid" [("w:val", printf "%8x" nsid)] ()
677681 : mknode "w:multiLevelType" [("w:val","multilevel")] ()
678− : map (mkLvl marker) [0..6]
682+ : map (mkLvl marker)
683+ [0..maxListLevel]
679684
680685mkLvl :: ListMarker -> Int -> Element
681686mkLvl marker lvl =
@@ -706,7 +711,7 @@ mkLvl marker lvl =
706711 bulletFor 3 = "\x2013"
707712 bulletFor 4 = "\x2022"
708713 bulletFor 5 = "\x2013"
709− bulletFor _ = "\x2022"
714+ bulletFor x = bulletFor (x `mod` 6)
710715 styleFor UpperAlpha _ = "upperLetter"
711716 styleFor LowerAlpha _ = "lowerLetter"
712717 styleFor UpperRoman _ = "upperRoman"
@@ -718,6 +723,7 @@ mkLvl marker lvl =
718723 styleFor DefaultStyle 4 = "decimal"
719724 styleFor DefaultStyle 5 = "lowerLetter"
720725 styleFor DefaultStyle 6 = "lowerRoman"
726+ styleFor DefaultStyle x = styleFor DefaultStyle (x `mod` 7)
721727 styleFor _ _ = "decimal"
722728 patternFor OneParen s = s ++ ")"
723729 patternFor TwoParens s = "(" ++ s ++ ")"