From f8f03c2ffca168d5c897febc2a631c2605973699 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Sun, 19 Dec 2021 20:05:58 +0100 Subject: JATS writer: keep quotes in element-citations The JATS writer was losing quotes in element-citations, as it uses the `T.P.Citeproc.getReferences` function to get references. That function replaces `Quoted` elements with spans. That transformation is required in `T.P.Citeproc.processCitations`, so it has been moved there. --- src/Text/Pandoc/Citeproc.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Text/Pandoc/Citeproc.hs b/src/Text/Pandoc/Citeproc.hs index 03a15e9f6..2530ef46f 100644 --- a/src/Text/Pandoc/Citeproc.hs +++ b/src/Text/Pandoc/Citeproc.hs @@ -55,7 +55,10 @@ processCitations (Pandoc meta bs) = do mblang <- getCiteprocLang meta let locale = Citeproc.mergeLocales mblang style - refs <- getReferences (Just locale) (Pandoc meta bs) + let addQuoteSpan (Quoted _ xs) = Span ("",["csl-quoted"],[]) xs + addQuoteSpan x = x + refs <- map (walk addQuoteSpan) <$> + getReferences (Just locale) (Pandoc meta bs) let otherIdsMap = foldr (\ref m -> case T.words . extractText <$> @@ -206,10 +209,7 @@ getReferences mblocale (Pandoc meta bs) = do Just fp -> getRefsFromBib locale idpred fp Nothing -> return [] Nothing -> return [] - let addQuoteSpan (Quoted _ xs) = Span ("",["csl-quoted"],[]) xs - addQuoteSpan x = x - return $ map (legacyDateRanges . walk addQuoteSpan) - (externalRefs ++ inlineRefs) + return $ map legacyDateRanges (externalRefs ++ inlineRefs) -- note that inlineRefs can override externalRefs -- cgit v1.2.3