@@ -56,7 +56,7 @@ import Text.Pandoc.Walk
56import Text.Pandoc.Writers.Shared (fixDisplayMath)
56import Text.Pandoc.Writers.Shared (fixDisplayMath)
57import Text.Pandoc.Writers.OOXML
57import Text.Pandoc.Writers.OOXML
58import qualified Data.Map as M
58import qualified Data.Map as M
59−import Data.Maybe (mapMaybe, listToMaybe)
59+import Data.Maybe (mapMaybe, listToMaybe, maybeToList)
60import Text.Pandoc.ImageSize
60import Text.Pandoc.ImageSize
61import Control.Applicative ((<|>))
61import Control.Applicative ((<|>))
@@ -1200,7 +1200,7 @@ paragraphToElement par = do
1200 [mknode "a:buAutoNum" [("type", autoNumberingToType attrs')] ()]
1200 [mknode "a:buAutoNum" [("type", autoNumberingToType attrs')] ()]
1201 Nothing -> [mknode "a:buNone" [] ()]
1201 Nothing -> [mknode "a:buNone" [] ()]
1203− paras <- mapM paraElemToElement (paraElems par)
1203+ paras <- mapM paraElemToElement (combineParaElems $ paraElems par)
1204 return $ mknode "a:p" [] $ [mknode "a:pPr" attrs props] ++ paras
1204 return $ mknode "a:p" [] $ [mknode "a:pPr" attrs props] ++ paras
1206shapeToElement :: PandocMonad m => Element -> Shape -> P m Element
1206shapeToElement :: PandocMonad m => Element -> Shape -> P m Element
@@ -1758,3 +1758,20 @@ getContentType fp
1758 | "ppt" : "slideLayouts" : _ : [] <- splitDirectories fp=
1758 | "ppt" : "slideLayouts" : _ : [] <- splitDirectories fp=
1759 Just $ presML ++ ".slideLayout+xml"
1759 Just $ presML ++ ".slideLayout+xml"
1760 | otherwise = Nothing
1760 | otherwise = Nothing
1762+-------------------------------------------------------
1764+combineParaElems' :: Maybe ParaElem -> [ParaElem] -> [ParaElem]
1765+combineParaElems' mbPElem [] = maybeToList mbPElem
1766+combineParaElems' Nothing (pElem : pElems) =
1767+ combineParaElems' (Just pElem) pElems
1768+combineParaElems' (Just pElem') (pElem : pElems)
1769+ | Run rPr' s' <- pElem'
1770+ , Run rPr s <- pElem
1772+ combineParaElems' (Just $ Run rPr' $ s' ++ s) pElems
1774+ pElem' : combineParaElems' (Just pElem) pElems
1776+combineParaElems :: [ParaElem] -> [ParaElem]
1777+combineParaElems = combineParaElems' Nothing