From fa71969e81a1c95017f2566ac01fa0562123349d Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 15 Jan 2013 23:02:08 -0800 Subject: LaTeX writer: Prevent paragraphs containing only linebreaks or spaces. --- src/Text/Pandoc/Writers/LaTeX.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 3c0726b3d..12384ca97 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -272,11 +272,17 @@ isListBlock (OrderedList _ _) = True isListBlock (DefinitionList _) = True isListBlock _ = False +isLineBreakOrSpace :: Inline -> Bool +isLineBreakOrSpace LineBreak = True +isLineBreakOrSpace Space = True +isLineBreakOrSpace _ = False + -- | Convert Pandoc block element to LaTeX. blockToLaTeX :: Block -- ^ Block to convert -> State WriterState Doc blockToLaTeX Null = return empty -blockToLaTeX (Plain lst) = inlineListToLaTeX lst +blockToLaTeX (Plain lst) = + inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst -- title beginning with fig: indicates that the image is a figure blockToLaTeX (Para [Image txt (src,'f':'i':'g':':':tit)]) = do capt <- if null txt @@ -285,9 +291,8 @@ blockToLaTeX (Para [Image txt (src,'f':'i':'g':':':tit)]) = do img <- inlineToLaTeX (Image txt (src,tit)) return $ "\\begin{figure}[htbp]" $$ "\\centering" $$ img $$ capt $$ "\\end{figure}" -blockToLaTeX (Para lst) = do - result <- inlineListToLaTeX lst - return result +blockToLaTeX (Para lst) = + inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst blockToLaTeX (BlockQuote lst) = do beamer <- writerBeamer `fmap` gets stOptions case lst of -- cgit v1.2.3