git.iko.soy/typeable/pandoc
on master help sign in
Docx reader: Don't make numbered heads into lists.

Word uses list numbering styles to number its headings. We only call something a numbered list if it does not also heave a heading style.

commit855c8b43f0497125f8d24b113ce0df92ed7d074b authorJesse Rosenthal <jrosenthal@jhu.edu> dateWed 16 Mar 2016, 12:50 (11 years ago) parent09b4f29
1 file changed+8−6
src/Text/Pandoc/Readers/Docx/Parse.hs+8−6
src/Text/Pandoc/Readers/Docx/Parse.hs+8−6
@@ -589,12 +589,14 @@ elemToBodyPart ns element
589589 sty <- asks envParStyles
590590 let parstyle = elemToParagraphStyle ns element sty
591591 parparts <- mapD (elemToParPart ns) (elChildren element)
592− case pNumInfo parstyle of
593− Just (numId, lvl) -> do
594− num <- asks envNumbering
595− let levelInfo = lookupLevel numId lvl num
596− return $ ListItem parstyle numId lvl levelInfo parparts
597− Nothing -> return $ Paragraph parstyle parparts
592+ -- Word uses list enumeration for numbered headings, so we only
593+ -- want to infer a list from the styles if it is NOT a heading.
594+ case pHeading parstyle of
595+ Nothing | Just (numId, lvl) <- pNumInfo parstyle -> do
596+ num <- asks envNumbering
597+ let levelInfo = lookupLevel numId lvl num
598+ return $ ListItem parstyle numId lvl levelInfo parparts
599+ _ -> return $ Paragraph parstyle parparts
598600elemToBodyPart ns element
599601 | isElem ns "w" "tbl" element = do
600602 let caption' = findChild (elemName ns "w" "tblPr") element