aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-03-01 21:45:57 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2019-03-01 21:47:19 -0800
commitf431f67b2f2f5071345fa5800658375afaf44c1b (patch)
treebfca28505447556b15ce31aac839f70d26816cd1
parent5990f14ad497999141a5b975651f83d751ec421f (diff)
downloadpandoc-f431f67b2f2f5071345fa5800658375afaf44c1b.tar.gz
LaTeX(Beamer) writer: include contents under headers < slidelevel.
Currently we keep the fancy title slide and add a new slide with the same title and whatever content was under the header. This changes behavior of slides, but is consistent with the new behavior of the revealjs and other HTML slide show writers. See #4317.
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 9f381ce3c..2bfde42cf 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -448,7 +448,14 @@ elementToBeamer slideLevel (Sec lvl _num (ident,classes,kvs) tit elts)
: tit ++ [RawInline "latex" "}"] )
: bs ++ [RawBlock "latex" "\\end{block}"]
| lvl < slideLevel = do
- bs <- concat `fmap` mapM (elementToBeamer slideLevel) elts
+ let isSec Sec{} = True
+ isSec _ = False
+ let (contentElts, secElts) = break isSec elts
+ let elts' = if null contentElts
+ then secElts
+ else Sec slideLevel [] nullAttr tit contentElts :
+ secElts
+ bs <- concat `fmap` mapM (elementToBeamer slideLevel) elts'
return $ Header lvl (ident,classes,kvs) tit : bs
| otherwise = do -- lvl == slideLevel
-- note: [fragile] is required or verbatim breaks