Fix regression in citeproc processing.
If inline references are used (in the metadata `references` field),
we should still only include in the bibliography items that are
actually cited -- unless `nocite` is used.
Closes #7376.
commitb0cd6c622494666add6bdd7674ec5b7791bc83d0
authorJohn MacFarlane <jgm@berkeley.edu>
dateSat 12 Jun 2021, 10:16 (5 years ago)
parentea88979
src/Text/Pandoc/Citeproc.hs+3−1
@@ -194,7 +194,9 @@ getReferences mblocale (Pandoc meta bs) = do
194194 then const True
195195 else (`Set.member` citeIds)
196196 let inlineRefs = case lookupMeta "references" meta of
197− Just (MetaList rs) -> mapMaybe metaValueToReference rs
197+ Just (MetaList rs) ->
198+ filter (idpred . unItemId . referenceId)
199+ $ mapMaybe metaValueToReference rs
198200 _ -> []
199201 externalRefs <- case lookupMeta "bibliography" meta of
200202 Just (MetaList xs) ->
test/command/7376.mdnew file+16
@@ -0,0 +1,16 @@
1+```
2+% pandoc --citeproc -t plain
3+---
4+references:
5+- id: item1
6+ type: book
7+ author:
8+ - family: Doe
9+ given: Jane
10+ issued: 2020
11+ title: The title
12+...
13+^D
14+
15+
16+```
test/command/pandoc-citeproc-356.md+2−7
@@ -15,11 +15,6 @@ references:
1515
1616[@bar]
1717^D
18−(Alice 2042)
19−
20−::: {#refs .references .csl-bib-body .hanging-indent}
21−::: {#ref-foo .csl-entry}
22−Alice. 2042.
23−:::
24−:::
18+[WARNING] Citeproc: citation bar not found
19+(**bar?**)
2520```