Automatically create bibliography from bibtex in pandoc/markdown without inline citations

bibtexcitationsmarkdownpandoc

How can I automatically create a citations list from a bibtex file, preferably in markdown (more specifically, pandoc) format?

I'm in the process of building my personal, academic website. As most personal, academic websites do, I am including a page listing my publications. However, I really don't want to write every citation by hand, so I'm attempting to find an automated method of creating the citations from one or more bibtex files.

Ideally there would be a tool I could just hand a bibtex file containing my publications to and it would spit out markdown (I'm using pandoc + makefile to create the site). I am currently unaware of any such tool.

Further complicating my needs is the fact that a simple flat listing of publications is not sufficient. I need to be able to list different publications under different categories (peer reviewed and non peer reviewed at the very minimum). Though if a tool like I was wishing for above does exist, I could easily maintain multiple bibtex files and use some bash-fu to accomplish this.

Best Answer

You can use pandoc's own citation support for this. Create a markdown file along the following lines:

# Peer-reviewed papers

1. [@me2001]
2. [@me2002]

# Non-peer-reviewed papers

1. [@me1999]
2. [@me1998]

where me1999 etc are the keys in your bibtex file. Then find or create a CSL file that formats the citations in the way you would like, and process with pandoc:

pandoc --bibliography mybiblio.bib --csl mycsl.csl -o citations.html -s citations.txt

Or you can add -t markdown and get a markdown version if you wish.

If you don't want to create the input markdown file by hand, you could probably write a script to generate it from your bibtex file, if it contains sufficient metadata to distinguish peer-reviewed from non-peer-reviewed papers.

Related Topic