Writing IEEE Standard Academic Papers in Markdown

Pratical description of getting up and running a system to write IEEE Standard Academic Papers in Markdown and generate pdf/html

Shakeeb

3 minute read

Writing IEEE Standard Academic Papers in Markdown

Motivation

To have a simple text based system to write academic papers and not worry about the formatting. At the end we could generate a pdf properly formatted as per IEEE standard and works across platforms making the entire setup portable.

Bring back the focus on writing the content than spending time on formatting the document.

The Setup

Mostly follow up the link to install required software.

Create the python environment with the dependencies.

conda create -n python3-pandoc-env python=3 -y
activate python3-pandoc-env
pip install pandoc-fignos
pip install pandoc-eqnos
pip install pandoc-tablenos

Then initial run of make pdf should generate the paper.pdf based on the example paper.

The Workflow

Once all the required tools and dependencies are setup, it’s time to focus on the most important part, which should ideally be the only part to work on during a paper writing - is to write the actual content.

Begin by updating the paper.md file. Basically this file has the metadata which would be used by the pandoc to generate an intermediate Latex file from a given template(which obviously in our case is the IEEE formatted template). This intermediate file is then converted to the final pdf format.

Peeking into templates/bare.tex always helps, as in my case, to figure out modifications to the minute details.

A snapshot of my metadata looks something like

conference: true
title: 'A Brand New Paper Title'
author:
- name: Author 1
  affiliation: Org 1
  location: Place 1
  email: emai1@example.com
- name: Author 2
  affiliation: Org 2
  location: Place 2
  email: emai2@example.com
- name: Author 3
  affiliation: Org 3
  location: Place 3
  email: emai3@example.com
  last: true
date: November 12th, 2018
thanks:
abstract: 'This paper introduces a movel method for something interesting

...

Then comes the actual paper content update, which mostly follows the conventional markdown formatting. I personally found this particular link to be useful.

Citations

One of the advantage of using this setup is the ease with which the citations can be included in. This is done by updating the accompanying file paper.bib to include all the references for the work.

An example

...
@article{citation2,
  title={LZW Data Compression},
  author={Dheemanth H N},
  volume={3},
  number={2},
  year={2014},
  issn={2320-0847},
  publisher={American Journal of Engineering Research(AJER)}
}
...

Then this pariticular citation can be referred to from any part of the paper, and in turn a clickable link is geenrated in the final pdf output.

...
One of the important compression algorithm is LZW which is a family of LZ78
compression[@citation2]
...

The same approach applies to images, tables and equations, as illustrated in link

As an example, for a figure, we create the normal markdown syntax, albeit with the tagging as below

![Interesting Image](figures/fig2.png){#fig:fig2}

Here {#fig:fig2} is the tagging part. Then we refer to the tag created from any part of the paper to create a clickable link in the ouput pdf.

...
Fig {@fig:fig2} explains the
whole process in detail
...

And finally, as mentioned earlier, output pdf is generated with a single make command make pdf. This is that simple!

Hope your next paper writing workflow is simplified with this article and makes you stick to the most important part of writing - writing the content itself

comments powered by Disqus