pybtex-apa7-style

Provides APA7 style for Pybtex


License
MIT
Install
pip install pybtex-apa7-style==0.1.3

Documentation

APA7 Style for Pybtex

This is a fork of naeka's pybtex-apa-style, which targeted APA6.

This plugin provides APA7 style for Pybtex.

Pybtex provides Python support for interacting with bibTeX bibliography data. Style plugins provide support for formatting bibliographies, similar to the role that csl files play for LaTeX.

Installation

$ pip install pybtex pybtex-apa7-style

Usage

Pybtex uses Python's plugin system. To use APA7, load it as a plugin as shown in the example below.

from pybtex.plugin import find_plugin
from pybtex.database import parse_file
APA = find_plugin('pybtex.style.formatting', 'apa7')()
HTML = find_plugin('pybtex.backends', 'html')()

def bib_to_apa7_html(bibfile):
    bibliography = parse_file(bibfile, 'bibtex')
    formatted_bib = APA.format_bibliography(bibliography)
    return "<br>".join(entry.text.render(HTML) for entry in formatted_bib)

Contributing

This is a work in progres; APA style is not fully-specified and has endless edge cases. I would be delighted to receive examples of bibTeX entries which are not formatted correctly in APA.

If you clone this project's repository, you can add bibTeX exemplars in tests/examples and then run python tests/test_visual_results.py. Open tests/results.html to see the resulting APA-formatted HTML.