Files
pandoc/test/command/pptx-table-content-same-slide.md
ce37e24c6a PPTX writer: keep tables and surrounding text on same slide (#11411)
Previously, when a slide contained bullet points before and after a
table, content would be split across multiple slides or use a two-column
layout that didn't preserve the source order.

This change:

1. Modified `splitBlocks'` in Presentation.hs to continue accumulating
   content after tables instead of immediately splitting to a new slide.

2. When a slide has a table with surrounding text, use ContentSlide
   (single column) instead of ContentWithCaptionSlide (two columns)
   to preserve content order.

3. Added vertical stacking in Output.hs (shapesToElementsStacked) to
   properly position multiple shapes (tables + text) within a content
   area. Space is allocated proportionally based on content size
   (paragraphs and table rows).

Closes #11433.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Chris Callison-Burch <ccb+github@upenn.edu>
2026-07-12 12:51:11 +02:00

122 lines
2.3 KiB
Markdown

Test that content after a table stays on the same slide.
```
% pandoc -t native
## Slide with Bullets and Table
- First bullet before table
- Second bullet before table
| A | B |
|---|---|
| 1 | 2 |
- Third bullet after table
- Fourth bullet after table
^D
[ Header
2
( "slide-with-bullets-and-table" , [] , [] )
[ Str "Slide"
, Space
, Str "with"
, Space
, Str "Bullets"
, Space
, Str "and"
, Space
, Str "Table"
]
, BulletList
[ [ Plain
[ Str "First"
, Space
, Str "bullet"
, Space
, Str "before"
, Space
, Str "table"
]
]
, [ Plain
[ Str "Second"
, Space
, Str "bullet"
, Space
, Str "before"
, Space
, Str "table"
]
]
]
, Table
( "" , [] , [] )
(Caption Nothing [])
[ ( AlignDefault , ColWidthDefault )
, ( AlignDefault , ColWidthDefault )
]
(TableHead
( "" , [] , [] )
[ Row
( "" , [] , [] )
[ Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "A" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "B" ] ]
]
])
[ TableBody
( "" , [] , [] )
(RowHeadColumns 0)
[]
[ Row
( "" , [] , [] )
[ Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "1" ] ]
, Cell
( "" , [] , [] )
AlignDefault
(RowSpan 1)
(ColSpan 1)
[ Plain [ Str "2" ] ]
]
]
]
(TableFoot ( "" , [] , [] ) [])
, BulletList
[ [ Plain
[ Str "Third"
, Space
, Str "bullet"
, Space
, Str "after"
, Space
, Str "table"
]
]
, [ Plain
[ Str "Fourth"
, Space
, Str "bullet"
, Space
, Str "after"
, Space
, Str "table"
]
]
]
]
```