summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2023-09-05 20:24:20 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2023-09-05 20:24:20 -0700
commitb7e1ce422c9a76dffe763a4d31e0952e415775cc (patch)
tree2920beec2a99caf5722ca0c450c5fddbcead7324 /src
parent4b1fc4de72e47890db8cec7abf2499cb80173bcc (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs15
1 files changed, 8 insertions, 7 deletions
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