Exemple #1
0
    def setUp(self):
        unittest.TestCase.setUp(self)

        curdir = os.path.dirname(os.path.abspath(__file__))

        parser = BibtexParser()
        self.entries = \
            parser.parse_file(os.path.join(curdir, 'testdata', 'bibtex.bib')).entries

        self.style = Style(os.path.join(curdir, 'styles'), 'apa')
Exemple #2
0
    def run(self):
        env = self.state.document.settings.env

        if not hasattr(env, 'bibtex_refs'):
            return [bibtex_bibliography()]

#        print dir(env)
#        print env.doc2path(env.docname)

        bibtex_refs = env.bibtex_refs
        env.bibtex_refs = []
        entries = env.bibtex_entries
        style = Style(env.bibtex_style_dir, env.bibtex_style_name)

        list_node = nodes.enumerated_list()
        list_node['classes'].append('bibliography')

        for ref in bibtex_refs:
            if ref not in entries:
                raise self.warning("%s: reference not found." % ref)

            entry = entries[ref]
            rendered = style.render(pybtex_entry_to_dict(entry))
            if not rendered:
                raise self.warning("%s: no template for entry type (%s)." % \
                                   (ref, entry.type))

            list_item = nodes.list_item()
            list_item['ids'].append(ref)
            list_item += nodes.raw(rendered, rendered, format="html")

            list_node += list_item

        bibliography = bibtex_bibliography()
        bibliography += list_node

        return [bibliography]