Using Fountain Mode To Write Screenplays in Emacs

Screenplays are one of those magical types of documents that come with an instruction manual. The manuals can be purchased from any bookstore and can be found online. But basically, screenplays have an industry format, and it’s very specific. So specific in fact that specially-designed writing software was developed to make the process of learning and application easier. But these proprietary programs are expensive, and they don’t work on Linux.

In this article, I’m going to introduce you to a special markup syntax developed with an eye for writing screenplays in plain text. It’s like Markdown, but for screenplays. Emacs has a special major mode to help facilitate this writing process.

If you’d prefer something visual, you can watch the video:


Benefits of plain text

Plain text is an open format. It’s free to use. And it’s easy to get started. Just open a text editor and start typing. Be sure to save your file.

It will work on any computer. It’s non-proprietary and cross-format. In a world where there are so many formats for text documents, it’s good to start in a simple format that can be exported or transposed into many other formats.

It’s for these reasons and more that many writers prefer to work in plain text. Why should it be any different for composing screenplays?

Basic Fountain syntax

Writing in Fountain is incredibly simple. What follows is NOT an exhaustive description of screenplay formatting, but a brief introduction to the basics of fountain syntax.

Scene headings are one of the fundamental units for organizing a screenplay. In Fountain, they are handled on their own line and begin with the INT., EXT., EST., INT./EXT., INT/EXT., I/E or other similar indicators, and they are capitalized.

Action, the physical stage directions and movements of the screenplay is handled as individual paragraphs on their own lines.

Characters and dialogue are treated on their line, capitalized, and followed by dialogue that breaks on the next line, with no carriage return to separate them.

Fountain fully supports the industry requirements for all screenwriting elements you may need to complete a project.

For a full breakdown of the available syntax, check out the Fountain website. Or, for clear examples, download the Big Fish screenplay, also available on the website.

Installing the Fountain major mode in Emacs

Fountain mode makes writing your screenplays in Emacs even easier. It provides some syntax highlighting, as well as auto completions and export options.

Getting started in fountain mode, I wasn’t as fast as I was in Final Draft, but after about thirty minutes, I was swimming along quite nicely.

Installing Fountain Mode

You will just need to reach out to your Emacs package managers. The fountain mode package is available in Melpa.

M-x package-refresh contents
M-x package-install fountain

The download and installation will commence from there, and, when you’re ready, open a file with the .fountain extension, and you’ll be ready to go.

Key functionality

Syntax highlighting. You’ll notice when first opening your screenplay in fountain mode, the syntax will be colored. A very nice feature.

Tab through characters. You’ll notice that fountain mode will remember character names, so when you’re on a new line, you will be able to tab through suggestions.

Like org mode for screenplay

Fountain mode is basically like org mode for screenplays. I’ll repeat that. Fountain mode is like org mode for screenplays. Just stop and think about that.

So you could use fountain mode to outline your screenplay. You have various heading levels that will automatically be ignored upon export.

Document export

Nobody will want to read your screenplay in plain text. Most likely, you’ll want to get your script into a PDF. Fountain has already gained widespread support from the open-source community, so you’ll find plenty of converter scripts on the web already. (You’ll find several recommended right on the project website.)

You can do the conversion manually from the command line if you wish. However, fountain mode supports export right from emacs. A list of pre-built converters ship with fountain mode. However, I found that they required a little tweaking for my system. It’s not difficult to add your own converter.

I installed the wrap program, and I used the custom system to customize the variable fountain-export-command-profiles in this script:

M-x customize-variable fountain-export-command-profiles
wrap pdf %b --out %B.pdf && evince %B.pdf

This will not only do the conversion, but also opens the PDF afterward. However, it locks up Emacs while the PDF is open. So I might remove the opening part (&& evince %B.pdf), or perhaps write a custom function to run export script asynchronously. Either way, I’m very happy with the result. And I hope you’ll be happy too.

1 Comment

  1. Hi. I don’t seem to have wrap or afterwritng installed and can’t figure out how to do so. i tried sudo apt install wrap but that didn’t work. said package not found. on a arm based chromebook. any chance you can help me figure out how to install afterwriting and wrap so I can export. right now it says bin/bash command not found no matter what preset export option I choose. thanks in advance.

Leave a Reply

Your email address will not be published.


*