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.
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.
I wanted the same thing for the same reason (creating a website using Hakyll) and I found the "problem": the CSL file.
Pandoc, in fact, does this job perfectly and the solution provided by MacFarlane is correct, but it lacks explanation on the rule of the CSL file—it is what defines if you are going to have a numbered reference in the middle text with a list of publications in the end or not.
Julien Tanguy has created a CSL style that puts the publication simplied information from BibTeX in the place where the reference is cited, derived from Chicago style. Certainly you can use it (it is licensed under Creative Commons Attribution-Share Alike 3.0) but you can also create yours.
So, now (a long time after you've posted the question), I hope you have the complete answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With