I’m furiously writing course notes in Markdown, ready for my first lecture course which will be starting tomorrow. I want to use Markdown because I can more accurately translate it to pdf, rtf, html and the like – the same generation of LaTeX to HTML is often a problem.
To do this writing I’m using ‘TextMate’ (on mac) and ‘gEdit’ (on Xubuntu), I’m then using ‘Marked’ to preview and also to export some simpler formats. Finally, I’m using ‘pandoc’ for more complex outputs (into LaTeX, say). Now for pandoc, and for MultiMarkDown there is the ability to extend the processing with non-standard syntax which helps academic work, but this means different tools wont process it. There are also plugins which help in processing academic would but again, no standard, and the tools often destroy the bespoke markdown when there pre-process to standard markdown.
My idea and solution is to pre-process looking for the ‘](#’ substring, then searching each bib file in the same directory for the string following ‘](#’ and ending with ‘)’. Once found the processor uses the bst file (in the same directory) to output the references and the citation style which overwrites the string preceding the ‘](#’ and starting with ‘[‘. The bib outputs can then be ordered before they are output into their own reference file which is then included.
This means that nothing gets destroyed, and that the same file can be pre-processed as many times as is required. The other aspects of Academic Markdown that need to be addressed, to my mind, is the generation of glossary’s indexes, lists of tables and figures.
Looks like I’ve got an evening project to start. Hummm… now what language?