From 46135ac8758c4fbb9dfe676b1462463f5476bbff Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 2 Mar 2017 12:13:20 +0100 Subject: LaTeX writer: add `\leavevmode` before hypertarget at start of paragraph. Closes #2704 (formatting problems in beamer citations). See http://tex.stackexchange.com/questions/22852/function-and-usage-of-leavevmode --- src/Text/Pandoc/Writers/LaTeX.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index e54829f94..11cd0479d 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -418,7 +418,14 @@ blockToLaTeX :: PandocMonad m blockToLaTeX Null = return empty blockToLaTeX (Div (identifier,classes,kvs) bs) = do beamer <- gets stBeamer - linkAnchor <- hypertarget True identifier empty + linkAnchor' <- hypertarget True identifier empty + -- see #2704 for the motivation for adding \leavevmode: + let linkAnchor = + case bs of + Para _ : _ + | not (isEmpty linkAnchor') + -> "\\leavevmode" <> linkAnchor' <> "%" + _ -> linkAnchor' let align dir txt = inCmd "begin" dir $$ txt $$ inCmd "end" dir let wrapDir = case lookup "dir" kvs of Just "rtl" -> align "RTL" -- cgit v1.2.3