From f431f67b2f2f5071345fa5800658375afaf44c1b Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 1 Mar 2019 21:45:57 -0800 Subject: [PATCH] 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. --- src/Text/Pandoc/Writers/LaTeX.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 9f381ce3c401..2bfde42cfaa8 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