From b7e1ce422c9a76dffe763a4d31e0952e415775cc Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 5 Sep 2023 20:24:20 -0700 Subject: Rewrite CSLReferences environment... ...to avoid depending on enumitem, which plays badly with beamer. Instead we use a regular list environment. Thanks to @jpcirrus for the concept. We also restore the pre-3.1.7 format of the CSLReferences environment, which again has two parameters. The first determines whether a hanging indent is used (1 = yes, 0 = no), and the second is the entry line spacing (0 = none). Closes #9053. --- src/Text/Pandoc/Writers/LaTeX.hs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 0a9fb86d3..dc726475a 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -339,14 +339,15 @@ blockToLaTeX (Div (identifier,classes,kvs) bs) = do then do modify $ \st -> st{ stHasCslRefs = True } inner <- blockListToLaTeX bs - return $ (if "hanging-indent" `notElem` classes - then "\\setlength{\\cslhangindent}{0em}" - else mempty) - $$ ("\\setlength{\\cslentryspacing}" <> braces + return $ ("\\begin{CSLReferences}" + <> braces + (if "hanging-indent" `elem` classes + then "1" + else "0") + <> braces (case lookup "entry-spacing" kvs of - Nothing -> "0em" - Just s -> (literal s <> "\\baselineskip"))) - $$ "\\begin{CSLReferences}" + Nothing -> "0" + Just s -> literal s)) $$ inner $+$ "\\end{CSLReferences}" else blockListToLaTeX bs -- cgit v1.2.3