This filter allows to create multiple bibliographies using
citeproc. The content of each bibliography is controlled via
YAML values and the file in which a bibliographic entry is
specified.
The bibliographies must be defined in a map below the
bibliography key in the document's metadata. E.g.
---
bibliography:
main: main-bibliography.bib
software: software.bib
---The placement of bibliographies is controlled via special divs.
# References
::: {#refs-main}
:::
# Software
::: {#refs-software}
:::Each refs-x div should have a matching entry x in the metadata. These divs are filled with citations from the respective bib-file.
Important
This filter works best with citation styles that use non-numeric citation labels.
The filter modifies the internal document representation; it can be used with many publishing systems that are based on pandoc.
Pass the filter to pandoc via the --lua-filter (or -L) command
line option.
pandoc --lua-filter multibib.lua ...
Users of Quarto can install this filter as an extension with
quarto install extension pandoc-ext/multibib
and use it by adding multibib to the filters entry
in their YAML header. (You also need to add validate-yaml: false, as per this discussion.)
---
filters:
- multibib
validate-yaml: false
---Use pandoc_args to invoke the filter. See the R Markdown
Cookbook
for details.
---
output:
word_document:
pandoc_args: ['--lua-filter=multibib.lua']
---This pandoc Lua filter is published under the MIT license, see
file LICENSE for details.