Academic Writing With Markdown, Pandoc and Emacs

LaTeX is the de-facto standard for academic writing. And there are several editors available for LaTeX. But the problem with these editors and generally editing LaTeX in any editor like Emacs is the fact that LaTeX is not writer friendly. LaTeX commands will dominate your document and can be distracting most of the time.

What we want is writer-friendly LaTeX editor as described here1. But we don’t have such a editor with features described in [1]. One alternative I found2 is to use combination of Markdown, Pandoc and LaTeX.

Basic process is as follows:

  1. Create LaTeX header and footer files, where header includes up to the abstract and footer include bibliography and document end tag. Any package imports or new command definitions can go in header.
  2. Write the main content in Pandoc Markdown.
  3. Convert Markdown file to LaTeX using Pandoc.
  4. Append generated LaTeX file and footer latex file to the header and use preferred LaTex to PDF converter. is a very simple script which automates the above process. This was based on the script from original article [2].

You can use iA Writer, WriteRoom, WriteMonkey, Write App or Emacs with writeroom-mode for distraction free Markdown editing.

This is how writeroom-mode looks in Emacs.


[2] - I couldn’t find the reference link to the original idea. Will post it as soon as I find it.


Now read this

Clojure Magic: proxy and proxy-super

Clojure is fun and Clojure macros are even more fun to use and really useful for developing domain specific languages. You can do amazing things using macros once you get used to them. This post describes how we can use Clojure proxy and... Continue →