Skip to content

Commit

Permalink
Powerpoint writer: properly handle math in headings and tables.
Browse files Browse the repository at this point in the history
This ensures that paragraphs containing math are wrapped in
a `mc:AlternateContent` node as required.

Closes #9465.
  • Loading branch information
jgm committed Feb 16, 2024
1 parent fc55d00 commit aa759c4
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/Text/Pandoc/Writers/Powerpoint/Output.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1054,7 +1054,8 @@ createCaption contentShapeDimensions paraElements = do
[mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> elements
return
( 1
, mknode "p:sp" [] [ mknode "p:nvSpPr" []
, surroundWithMathAlternate $
mknode "p:sp" [] [ mknode "p:nvSpPr" []
[ mknode "p:cNvPr" [("id","1"), ("name","TextBox 3")] ()
, mknode "p:cNvSpPr" [("txBox", "1")] ()
, mknode "p:nvPr" [] ()
Expand Down Expand Up @@ -1353,7 +1354,7 @@ shapeToElements layout (GraphicFrame tbls cptn) = map (bimap Just Elem) <$>
graphicFrameToElements layout tbls cptn
shapeToElements _ (RawOOXMLShape str) = return
[(Nothing, Text (CData CDataRaw str Nothing))]
shapeToElements layout shp = do
shapeToElements layout shp@(TextBox _) = do
(shapeId, element) <- shapeToElement layout shp
return [(shapeId, Elem element)]

Expand Down Expand Up @@ -1538,7 +1539,9 @@ nonBodyTextToElement layout phTypes paraElements
let txBody = mknode "p:txBody" [] $
[mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <>
[element]
return (Just shapeIdNum, replaceNamedChildren ns "p" "txBody" [txBody] sp)
return (Just shapeIdNum,
surroundWithMathAlternate $
replaceNamedChildren ns "p" "txBody" [txBody] sp)
-- XXX: TODO
| otherwise = return (Nothing, mknode "p:sp" [] ())

Expand Down Expand Up @@ -2008,6 +2011,7 @@ speakerNotesBody paras = do
let txBody = mknode "p:txBody" [] $
[mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> elements
return $
surroundWithMathAlternate $
mknode "p:sp" []
[ mknode "p:nvSpPr" []
[ mknode "p:cNvPr" [ ("id", "3")
Expand Down

0 comments on commit aa759c4

Please sign in to comment.