Skip to content

pandoc-ext/multibib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multibib

GitHub build status

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.

Usage

The filter modifies the internal document representation; it can be used with many publishing systems that are based on pandoc.

Plain pandoc

Pass the filter to pandoc via the --lua-filter (or -L) command line option.

pandoc --lua-filter multibib.lua ...

Quarto

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
---

R Markdown

Use pandoc_args to invoke the filter. See the R Markdown Cookbook for details.

---
output:
  word_document:
    pandoc_args: ['--lua-filter=multibib.lua']
---

License

This pandoc Lua filter is published under the MIT license, see file LICENSE for details.