@@ -673,15 +673,17 @@ blockToOpenXML opts (Para [Image alt (src,'f':'i':'g':':':tit)]) = do
673673-- fixDisplayMath sometimes produces a Para [] as artifact
674674blockToOpenXML _ (Para []) = return []
675675blockToOpenXML opts (Para lst) = do
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
681− [Math DisplayMath _] -> True
682− _ -> False
683− contents <- inlinesToOpenXML opts lst
684− return [mknode "w:p" [] (paraProps ++ contents)]
676+ isFirstPara <- gets stFirstPara
677+ paraProps <- getParaProps $ case lst of
678+ [Math DisplayMath _] -> True
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 }
685+ contents <- inlinesToOpenXML opts lst
686+ return [mknode "w:p" [] (paraProps' ++ contents)]
685687blockToOpenXML _ (RawBlock format str)
686688 | format == Format "openxml" = return [ x | Elem x <- parseXML str ]
687689 | otherwise = return []