Using Atom for academic writing

There are several packages available for Atom to support academic writing in Pandoc Markdown. This tells me that there is a group of people using it for that purpose and I recently started to be part of that group :slight_smile: I’m curious about how others configured Atom for academic writing, so let’s share our setups! Let me go ahead and share mine first:

  • autocomplete-bibtex to quickly insert bibtex citations (I use Zotero together with the Better Bib(La)TeX addon to generate a bibtex file containing all my sources)
  • typewriter to center the text in the editor
  • language-pfm to get additional syntax highlighting for Pandoc Markdown
  • markdown-writer improves Markdown writing in Atom (for example continues lists when you press enter)
  • wordcount because you just need this as a writer
  • zen for distraction free writing
  • marked to preview documents in Marked 2 (which can be configured to use Pandoc, Mac only)

Not directly related to writing in Markdown, but still useful:

As for the syntax theme I currently switch between atom-material-syntax and solarized light.

What I couldn’t find yet is an easy way to convert the Markdown file to PDF or DocX within Atom, as you can do with the Pandown package in Sublime Text. Does anyone has a solution for that?


Great list! I actually use most of the packages in your first list myself (excluding marked and markdown-writer).
What is probably the biggest timesaver is the mentioned combo of autocomplete-bibtex and Better Bib(La)Tex. Never used markdown-writer, it looks quite interesting however, might take a look later!

Additional packages I find useful:

  • atom-mermaid if you are using mermaid to generate flowcharts with the markup language of mermaid (the package is quite new and still seems to have some issues though)

  • markdown-preview-plus replaces the default markdown-preview. supports latex math equations and pandoc

  • pen-paper-coffee syntax theme I made for useful markdown styling: headings are bigger, citations are differently styled, critic-markup support, colors that are easy on the eyes with more text. I am working with @leipert, the author of the great language-pfm to support more pandoc flavored markdown features. Some are already in; inline latex math stuff for example.

  • highlight-selected quickly find duplicates and see where you used certain words maybe a bit too often.

  • highlight-seletcted works great with minimap and minimap-highlight-selected

  • wordcount to see the wordcount in the statusbar, surprise!

  • autocomplete-paths for quicker linking to images.

  • pdf-view if you want to consult a paper while writing, without leaving atom.


Fortuitous! I have just started out on a journey of using Atom for academic writing and I have decided on Markdown rather than LaTeX. It was just a hunch. My feeling is that you actually don’t need that much styling to achieve what you need in academic writing.

  • headings (a few different levels) for sections and subsections
  • notes (footnotes if you have pages, endnotes if you don’t)
  • pagination (manual and automatic)
  • citations (connect to Zotero or a .bib database)
  • autocomplete for citations
  • Pandoc markdown support, CommonMark support (enable/disable extensions)
  • ???

HaveI forgotten any academic requirements?

The only packages I have installed so far beyond the base/core are

  • Zotero Markdown citations which talks to the Better Bib(La)TeX Zotero addon which are both are made by Zotplus
  • minimap to be able to at-a-glance see where you are in a long file

That’s a great list as well! Never heard about mermaid, looks interesting. I directly installed highlight-select, minimap-highlight-selected and pdf-view (in combination with split panes this is great!) - thank you for sharing these useful packages :smile:

I also tried pen-paper-coffee but when I have longer headings they get cut off - I will write you a bug report later :smile:

Pandoc Markdown does support these things, and you can combine Markdown with Latex for things that aren’t supported by Markdown yet (I haven’t tried that yet though). What you really need depends on what kind of paper you write. If you do need a lot of pictures and tables, I could imagine that Latex might be better (please correct me if I’m wrong).

I’m currently trying out Atom for some writing, old school Latex stuff. Some of the packages mentioned here make me want to write in markdown though, awesome stuff! :smile: The packages I’ve been using so far and found really helpful are (some of these have been mentioned before)

I also like typewriter and I love the duotone-dark-syntax for writing both articles and code.


I too use Atom for writing, but there is a fat black fly in the ointment. Spell checking does not work for Non-English-Speaker. There is an old bug report, but I fear that i18n is not the priority of the developers.

1 Like

Thanks for all the suggestions! I started to use atom-terminal, which can open a new terminal in the directory of the file opened in Atom. Unfortunately termrk has a bug and consumes way too much CPU power on Mac OS, and in terminal-panel I couldn’t find a shortcut to open the panel in the directory of the file (did I miss that?).

@juh2 At the moment all my academic, work-related writing is in English so I actually didn’t know about this. As a non-native speaker who is probably going to write in a different language at some point, I really hope this will be fixed soon. Isn’t there any workaround?

This is a really nice compilation. I’ve been using quite a few of these already - spread across all of these posts my currently installed list has pretty much been covered. :smiley: A few interesting ones here I’ve not seen before also, awesome. Must check some of these out!

In tandem with language-latex I’ve been using instead the latex package to compile .tex files inside atom. Great combination along side pdf-view for pretty much the full experience.

@juh2 @cecep I think better international support is planned after this.

After this quality initiative, we plan on shifting our 80% time to focus on things like performance, better support for international users, and some features we have in mind

1 Like

@eboracus Good news. thanks for the info.

I have a similar setup. I also created the preview-inline (for language-pfm) to quickly see LaTeX formulas as well as images without having to generate the whole document. I find it really hand to preview formula as I write.


Warning: shameless self-promotion.

I added some Atom bindings to an existing js library to create linter-write-good! This linter runs on most rich text formats (markdown, rst, TeX, and others!) and provides english usage tips! It’s pretty awesome, and could serve as a handy tool for people who want to lint their writing style.


Also, shoot me an issue if it isn’t running on your mostly-plaintext rich text format! I’ll see what I can do!

@gepoch Oh, how could I forget that one! Also really useful, especially because english is not my native language. Thanks! :smile:

Although I have run into an issue just now, linting errors are visible in every editor instead of just the editor with the text that caused the error. See the image below. I have another file open that says “in addition” at the exact same position, but still the error is visible in this file.

I wanted to check if it’s linter-write-good or the core linter package that’s at fault here, before I reported it to either of you, but now you’re already here… :stuck_out_tongue: Still, if I find it’s your package I’ll report an issue on the GitHub :slight_smile:

In addition to linter-write-good, I also use linter-just-say-no that does a similar thing.


Ah! I can reproduce that. Weird… I’m not sure what’s causing this yet, but it doesn’t seem to be affecting my other linters…

I’ve made a ticket here, for now


Hey! This is fixed now! Thanks for bringing it to my attention :smile:


I had no idea that this kind of package exists in Atom. Probably because I use Atom for coding, not writing.

I was thinking how helpful those packages would be for me. Actually I’m trying to develop an epub framework, and I was wondering if render markdown to XHTML it’s a good idea (and it is). This kind of package would make Atom the perfect text editor for an epub development with markdown.

Thanks for sharing!

I moved 4 posts to a new topic: LaTeX question

What I couldn’t find yet is an easy way to convert the Markdown file to PDF or DocX within Atom, as you can do with the Pandown package in Sublime Text. Does anyone has a solution for that?

I would also like to know this. What I love about Pandown is that you can store a configuration json file in the same folder as the markdown document which contains all of the arguments you used to compile the document with. I find this essential, particularly if you use lots of pandoc templates with custom variables. Otherwise you’re coming back to a document after some time away from it, and you have no idea how you generated the pdf.

Plus, just being able to spit out a fully-finished document with Cmd-B is obviously really great.

Any ideas where to start? I guess a terminal script might get you half of the way there.

Just to partially answer the question, looking at the workflow section of Pandoc Extras and it looks as if the Panzer program is the closest to this particular functionality of Sublime Text Markdown

(in fact, it could be even better, as it allows you to indicate the document’s style in the metadata block. One downside of ST pandown is that you could only have one style template per folder, eg CV.markdown and CoverLetter.markdown would need to be in separate folders if you wanted to process them with different arguments/ templates etc).

I’ve installed Panzer and am playing around with it.

Now I just need to work out a way to activate it from Atom.

EDIT: or, this Makefile could work

1 Like