org-mode and novel writing

So, I’m a wannabe novelist.  I’ve done NaNoWriMo for four years (won three of them), and for the last three years I’ve used Emacs and org-mode to keep track of the work.

There are a few reasons to do this, and more of them have to do with org-mode than with Emacs itself.  But so far, at least, you really can’t have one without the other.  Org-mode is the successor, in a lot of ways, to outline-mode.  Outline-mode is what it claims to be; it’s a mode to manage outlines, with basic folding.  You can customize the regular expression used to determine what level of heading you’re on, but that’s really about it.

A very smart fellow named Carsten Dominik needed a tool to manage his GTD workflow, and started adding things on to outline-mode to make it work.  For a decent GTD system, you need a way to capture data, a way to quickly find what you need (which means both searchability and ad-hoc organization), and something to tie it to your calendar.  Emacs had outline-mode and a diary (which was really more of a schedule, at least by the American usage of the word), so he started tying these together.

He added on the idea of TODO keywords, so that you could cycle a given task through various states.  These TODO items are just headings on the outline.  Put a schedule and/or deadline on them and they can be added to the built-in diary functionality.

Then he started making it capable of exporting these structured documents, to LaTeX and HTML.  And having it search one or many files and create an agenda based on your current TODO list and things that are due today.  Or due soon.  Or overdue.

He also created a new way of handling tables of data, and it can call Emacs Calc to run formulas on that data — so yes, it’s a spreadsheet.

Others came alongside and added the ability to call out to external utilities with blocks of text in the outline.  This turned into Babel, which has made it possible to use Emacs for something approximating literate programming — you can take an org-mode file and “tangle” it into source code with comments in any one of several different languages, and theoretically it could support any language that Emacs supports.  You can edit those source blocks in the right language mode, and now they are even fontified correctly.

Or you can have it run the source code and insert the results into the file.  I have files with SQL code embedded in them, which when exported run the SQL and include tables of output.  You can also call something like Ditaa and turn ASCII art into an included graphic in your exported output.

Org-mode 7.6 came out today, and includes OpenDocument output.  You can now output a file that can be read natively in OpenOffice/LibreOffice, and can easily be read by Word with the right translators.  Which sort of makes it a word processor, but it’s structured text, which is really amazing.

There are people who use this to make presentations, but that’s beyond me at the moment.  Oh, and it has the ability to query files for headings which amounts to a simple database, which I use frequently in my time-tracking application.  It’s like you have a little Word, Excel, PowerPoint, and Access, only in a sane environment.  And all this really depends on plain-text files.

So, yes, it is quite powerful in and of itself.  Where I use it a lot is in outlining my novel.  I have to have an outline; I’ve tried writing without an outline a couple of times, and the first one was just a grind, and the second one was last year, and I failed around 25K words (although some of that had to do with scientific complexity as well; hard sci-fi is hard).

It’s incredibly easy to outline with org-mode if you’re already an Emacs user; you may find it’s the best thing about Emacs.  I practically live in org-mode these days.  You can use the built-in linking to make it easy to connect words or phrases with definitions or other pieces of information; in my outline I have “radio links” for several complicated characters, places, or topics so I can easily track back and look things up.

The novel itself is usually typed into my Alphasmart Neo while I’m on public transportation, and then I haul the text into org-mode.  One outline heading per chapter works.  Then I can export this to HTML, use calibre to turn it into a MOBI file, and then copy it to my Kindle, and just like that, I have an e-book of the work so far, so I can catch up, do basic edits, or just get back into the swing of things without much trouble.  I have a MOBI of my outline, too, so I can have it open next to me while I’m typing, and I never lose my place.

I didn’t mention that I got a Kindle, did I?  My wife got it for me last week.  I really like it, especially now that I’ve found calibre.  That is an amazing display.

Anyway, org-mode has made my life so much easier.  If you need to get organized, for one project or your whole life, you can’t do better than org-mode.

, ,

Design a site like this with WordPress.com
Get started