Skip to content

A Python-Markdown extension for RMarkdown-style bibliographies and citations

License

Notifications You must be signed in to change notification settings

tramebleue/mdx_bib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bibliography and Citation support for Python-Markdown

This extension to Python Markdown is inspired by the support for citations in R Markdown. It looks for all citation keys with the form @<citekey> inside matching square brackets and appends a bibliography to the output. The references associated with the citation keys can be defined manually or generated from a BibTeX file.

Installation

Running

$ python setup.py install

will install a module named mdx_bib.

import markdown
from mdx_bib import CitationExtension

cite = CitationExtension(bibtex_file='/path/to/library.bib', order='unsorted')
html = markdown.markdown(text, extensions=[cite])

Defining References

This extension will first look for any manually defined bibligraphy entries, for example

[@barney04]: Barneby, C.D. *A review of reviews*. Annual Reviews of Something (2104)

If a matching reference definition cannot be found, then the extension looks in the BibTeX file for a matching citation key.

Citing

Citation keys are any identifiers inside square brackets with a @-prefix

Some claim [@adams98].
Some claim [@adams98; @barney04].

will render, according to your bibliography database, to:

Some claim (Adams, 1998).

Some claim (Adams, 1998; Barney, 2004)

You can also insert citations in the running text, by prefixing the citekey with some introduction text. The + sign switches from the former format to the latter.

Some claim, [see @adams98]. [+@barney04] also says ...

About

A Python-Markdown extension for RMarkdown-style bibliographies and citations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%