aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Shared.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Shared.hs')
-rw-r--r--src/Text/Pandoc/Shared.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index e169ccb82..7c8a2e2a8 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -510,9 +510,12 @@ makeSections numbering mbBaseLevel bs =
S.modify $ \(_, ln) -> (mbLevel, ln)
rest' <- go rest
let divattr = (ident, ["section"], [])
- let attr = ("",classes,kvs ++
- [("number", intercalate "." (map show newnum))
- | numbering])
+ let attr = ("",classes,
+ -- don't touch number if already present
+ case lookup "number" kvs of
+ Nothing | numbering ->
+ ("number", intercalate "." (map show newnum)) : kvs
+ _ -> kvs)
return $
Div divattr (Header level' attr title' : sectionContents') : rest'
go (Div (dident,dclasses,dkvs)