The pandoc-citeproc package

[Tags: bsd3, library, program]

The pandoc-citeproc library exports functions for using the citeproc system with pandoc. It relies on citeproc-hs, a library for rendering bibliographic reference citations into a variety of styles using a macro language called Citation Style Language (CSL). More details on CSL can be found here:

Currently this package includes a heavily revised copy of the citeproc-hs code. When citeproc-hs is updated to be compatible, this package will simply depend on citeproc-hs.

This package also contains an executable: pandoc-citeproc, which works as a pandoc filter, and also has a mode for converting bibliographic databases a YAML format suitable for inclusion in pandoc YAML metadata.

[Skip to ReadMe]


Versions0.1, 0.1.1,,, 0.1.2,, 0.2, 0.3,, 0.3.1, 0.4,, 0.5, 0.6,, 0.7,,, 0.7.1,, 0.7.2, 0.7.3,, 0.7.4
Change logchangelog
Dependenciesaeson (>=0.7 && <0.10), aeson-pretty, attoparsec, base (>=4), bytestring, containers (>=0.4), data-default, directory, filepath, ghc-prim, hs-bibutils (>=0.3), mtl, old-locale, pandoc (>=1.13), pandoc-citeproc, pandoc-types (>=1.12.3), parsec, pretty-show, process, rfc5051, setenv (==0.1.*), split, syb, tagsoup, temporary (>=1.1), text, text-icu, time, vector (>=0.10), xml-conduit (>=1.2 && <1.4), yaml (>= [details]
AuthorJohn MacFarlane, Andrea Rossato
Source repositoryhead: git clone git://
Executablestest-citeproc, pandoc-citeproc
UploadedSat Sep 19 05:45:27 UTC 2015 by JohnMacFarlane
DistributionsDebian:0.7.3, Fedora:0.5, FreeBSD:, LTSHaskell:0.7.4, NixOS:0.7.4, Stackage:0.7.4
Downloads19479 total (579 in last 30 days)
0 []
StatusDocs available [build log]
Last success reported on 2015-09-19 [all 1 reports]




bibutilsUse Chris Putnam's Bibutils.EnabledAutomatic
embed_data_filesEmbed locale files into the library (needed for windows packaging)DisabledAutomatic
unicode_collationUse Haskell bindings to the International Components for Unicode (ICU) librariesDisabledAutomatic
test_citeprocBuild the test-citeproc programDisabledAutomatic
debugTurn on debug tracing.DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for pandoc-citeproc-0.7.4


This package provides a library and executable to facilitate the use of citeproc with pandoc 1.12 and greater. (Earlier versions of pandoc have integrated citeproc support.)


The pandoc-citeproc executable can be used as a filter with pandoc to resolve and format citations using a bibliography file and a CSL stylesheet. It can also be used (with --bib2yaml or --bib2json options) to convert a bibliography to a YAML format that can be put directly into a pandoc markdown document or to CSL JSON. Bibliographies can be in any of several formats, but bibtex and biblatex are the best supported.

For usage and further details, see the pandoc-citeproc man page.

The current version of the package includes code from citeproc-hs, which has not been updated for some time. When citeproc-hs is brought up to date, this code can be removed and this package will depend on citeproc-hs.


Those who use pandoc as a library (e.g. in a web application) will need to use this module to process citations.

The module exports two functions, processCites, which is pure and accepts a style and a list of references as arguments, and processCites', which lives in the IO monad and derives the style and references from the document's metadata.