git.iko.soy/typeable/pandoc
on master help sign in
Docx Writer: Add "BodyText" Style
96d5c8aJesse Rosenthal
src/Text/Pandoc/Writers/Docx.hs+11−9
@@ -673,15 +673,17 @@ blockToOpenXML opts (Para [Image alt (src,'f':'i':'g':':':tit)]) = do
673-- fixDisplayMath sometimes produces a Para [] as artifact
673-- fixDisplayMath sometimes produces a Para [] as artifact
674blockToOpenXML _ (Para []) = return []
674blockToOpenXML _ (Para []) = return []
675blockToOpenXML opts (Para lst) = do
675blockToOpenXML opts (Para lst) = do
676− isFirstPara <- gets stFirstPara
676+ isFirstPara <- gets stFirstPara
677− if isFirstPara
678− then do modify $ \s -> s { stFirstPara = False }
679− withParaProp (pStyle "FirstParagraph") $ blockToOpenXML opts (Para lst)
680− else do paraProps <- getParaProps $ case lst of
677+ paraProps <- getParaProps $ case lst of
681− [Math DisplayMath _] -> True
678+ [Math DisplayMath _] -> True
682− _ -> False
679+ _ -> False
680+ let paraProps' = case paraProps of
681+ [] | isFirstPara -> [mknode "w:pPr" [] [(pStyle "FirstParagraph")]]
682+ [] -> [mknode "w:pPr" [] [(pStyle "BodyText")]]
683+ ps -> ps
684+ modify $ \s -> s { stFirstPara = False }
683− contents <- inlinesToOpenXML opts lst
685+ contents <- inlinesToOpenXML opts lst
684− return [mknode "w:p" [] (paraProps ++ contents)]
686+ return [mknode "w:p" [] (paraProps' ++ contents)]
685blockToOpenXML _ (RawBlock format str)
687blockToOpenXML _ (RawBlock format str)
686 | format == Format "openxml" = return [ x | Elem x <- parseXML str ]
688 | format == Format "openxml" = return [ x | Elem x <- parseXML str ]
687 | otherwise = return []
689 | otherwise = return []