From 05cf164edff9bc4ffbed443c18c15773749ca358 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 23 Jan 2012 21:03:10 -0800 Subject: LaTeX beamer: Only add [fragile] to slide if it contains verbatim. Closes #385. --- src/Text/Pandoc/Writers/LaTeX.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/Text/Pandoc/Writers/LaTeX.hs') diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index dd7a3c940..6291300b0 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -207,7 +207,14 @@ slideToBeamer (SectionSlide lvl tit) = return [Header lvl tit] slideToBeamer (ContentSlide tit bs) = do tit' <- inlineListToLaTeX tit -- note: [fragile] is required or verbatim breaks - let slideStart = RawBlock "latex" ("\\begin{frame}[fragile]\n" ++ + let hasCodeBlock (CodeBlock _ _) = [True] + hasCodeBlock _ = [] + let hasCode (Code _ _) = [True] + hasCode _ = [] + let fragile = if not $ null $ queryWith hasCodeBlock bs ++ queryWith hasCode bs + then "[fragile]" + else "" + let slideStart = RawBlock "latex" ("\\begin{frame}" ++ fragile ++ "\\frametitle{" ++ render Nothing tit' ++ "}") let slideEnd = RawBlock "latex" "\\end{frame}" -- now carve up slide into blocks if there are sections inside -- cgit v1.2.3