pandoc-citeproc(1) | pandoc-citeproc(1) |
pandoc-citeproc - filter to resolve citations in a pandoc document.
pandoc-citeproc options [file..]
The pandoc-citeproc executable has two modes, filter mode and convert mode.
Run without options, it acts as a filter that takes a JSON-encoded Pandoc document, formats citations and adds a bibliography, and returns a JSON-encoded pandoc document. Citations will be resolved, and, assuming there are bibliography entries, a bibliography will be inserted into a Div element with id refs. If no such Div exists, one will be created and appended to the end of the document (unless the suppress-bibliography metadata field is set to a true value). If you wish the bibliography to have a section header, put the section header at the end of your document. (See the pandoc_markdown (5) man page under “Citations” for details on how to encode citations in pandoc's markdown.)
To process citations with pandoc, call pandoc-citeproc as a filter:
pandoc --filter pandoc-citeproc input.md -s -o output.html
pandoc-citeproc will look for the following metadata fields in the input:
Format | File extension |
BibLaTeX | .bib |
BibTeX | .bibtex |
Copac | .copac |
CSL JSON | .json |
CSL YAML | .yaml |
EndNote | .enl |
EndNote XML | .xml |
ISI | .wos |
MEDLINE | .medline |
MODS | .mods |
RIS | .ris |
Note that .bib can generally be used with both BibTeX and BibLaTeX files, but you can use .bibtex to force BibTeX.
- id: doe2006 author: family: Doe given: [John, F.] title: Article page: 33-34 issued: year: 2006 type: article-journal volume: 6 container-title: Journal of Generic Studies
The contents of fields will be interpreted as markdown when appropriate: so, for example, emphasis and strong emphasis can be used in title fields. Simple tex math will also be parsed and rendered appropriately.
Here is a short example:
{ "default": { "container-title": { "Lloyd's Law Reports": "Lloyd's Rep", "Estates Gazette": "EG", "Scots Law Times": "SLT" } } }
The metadata must contain either references or bibliography or both as a source of references. csl and citation-abbreviations are optional. If csl is not provided, a default stylesheet will be used (either ~/.pandoc/default.csl or a version of chicago-author-date.csl).
If the option --bib2yaml or --bib2json is used, pandoc-citeproc will not process citations; instead, it will treat its input (from stdin or files) as a bibliography and convert it either to a pandoc YAML metadata section, suitable for inclusion in a pandoc document (--bib2yaml), or as a CSL JSON bibliography, suitable for import to zotero (--bib2json).
The --format option can be used to specify the bibliography format, though when files are used, pandoc-citeproc can generally guess this from the extension.
This mode supersedes the old biblio2yaml program.
To include raw content in a prefix, suffix, delimiter, or term, surround it with these tags indicating the format:
{{jats}}<ref>{{/jats}}
Without the tags, the string will be interpreted as a string and escaped in the output, rather than being passed through raw.
This feature allows stylesheets to be customized to give different output for different output formats. However, stylesheets customized in this way will not be useable by other CSL implementations.
If you use a biblatex database, closely follow the specifications in the “Database Guide” section of the biblatex manual (currently 2.8a).
If you use a CSL-YAML or CSL-JSON database, or a CSL-YAML metadata section in your markdown document, follow the “Citation Style Language 1.0.1 Language Specification” (<http://citationstyles.org/downloads/specification.html>). Particularly relevant are <http://citationstyles.org/downloads/specification.html#appendix-iii-types> (which neither comments on usage nor specifies required and optional fields) and <http://citationstyles.org/downloads/specification.html#appendix-iv-variables> (which does contain comments).
If you are using a bibtex or biblatex bibliography, then observe the following rules:
title = {My Dinner with {Andre}}
title = {Spin Wave Dispersion on the {nm} Scale}
Though this is not necessary in bibtex/biblatex, it is necessary with citeproc, which stores titles internally in sentence case, and converts to title case in styles that require it. Here we protect “nm” so that it doesn't get converted to “Nm” at this stage.
If you are using a CSL bibliography (either JSON or YAML), then observe the following rules:
Spin wave dispersion on the <span class="nocase">nm</span> scale
For a formally published conference paper, use the biblatex entry type inproceedings (which will be mapped to CSL paper-conference).
For an unpublished manuscript, use the biblatex entry type unpublished without an eventtitle field (this entry type will be mapped to CSL manuscript).
For a talk, an unpublished conference paper, or a poster presentation, use the biblatex entry type unpublished with an eventtitle field (this entry type will be mapped to CSL speech). Use the biblatex type field to indicate the type, e.g. “Paper”, or “Poster”. venue and eventdate may be useful too, though eventdate will not be rendered by most CSL styles. Note that venue is for the event's venue, unlike location which describes the publisher's location; do not use the latter for an unpublished conference paper.
Andrea Rossato and John MacFarlane.
pandoc (1), pandoc_markdown (5).
The pandoc-citeproc source code and all documentation may be downloaded from <http://github.com/jgm/pandoc-citeproc/>.
2018-01-09 | pandoc-citeproc 0.13 |