You Can't Write a Stage Play in ReStructuredText! (Part 1)

Written by

You Can’t Can Write a Stage Play in ReStructuredText! (Part

1 )

In this blog I’ll talk about my journey in writing a StagePlay in ReStructuredText, a popular Markup text format. In this first part I’ll talk about why this is important and the conversions I used in between standard stageplay format.

Let Me Explain

I love markup languages. I like the simplicity of being able to seperate content and formatting, so that if I don’t like the color of something I can go into the CSS and change the color, without hunting through an ODT document to change every. Darn. Instance.

I also enjoy writing fiction in my free time and have recently written a stageplay. What does this have to do with ReStructuredText, you ask?

Like many developers I discovered markup languages via contributions to open source projects. I then began to use ReStructuredText in my own projects and in corporate environments. While others would send me clunky word documents, I’d send them a streamlined PDF converted from text, or, if they wanted, a word document, written just as easily as a PDF.

Long story short, I fell in love with ReStructuredText. Could I apply the same technique to publishing fiction as well?

Formatting is Important

Many editors and publishers require specific formats for authors’ work. On the lenient end are publishers that simply want something not printed on rainbow paper; on the strict end are publishers that will send work back if the margins are a milimeter off.

Many authors have written their books [using MarkDown] ( This works great. Novels are simple enough you just need chapter headings, maybe a few dividers, and you’re good to go.

But plays a bit more complex. They require scene specifiers, act specifiers, character tags, lines, stage direction 

If you haven’t fallen asleep yet then you’re probably putting yourself in my shoes, overwhelmed by the work to be done.

As an aside, I did a little research to see if there’s a special markup format for writing a stageplay. There is the open source syntax called Fountain for screenplays, but screenlpays and stageplays are entirely different formats. I also ran across DownPlay, and got really excited, until I realized that it was specifically written for Ulysses, a Mac-only text editor.

In any case, onto my journey.

Step 1 - What is a Standard Stageplay Format?

Well, depends on your audience, or the person to whom you’re submitting. For my play, I used this PDF for reference. I then listed out all the properties of a stageplay that need formatting.

  • Formatting:
    • Page: 8.5” x 11”
    • Font: Courier 12 point.
  • Intro Pages:
    • Title Page (with appropriate margins).
      • Play Title
      • Description of play (e.g. “A Play in Two Acts”)
      • “by”
      • Author’s Name
      • Copyright information and Author’s information at bottom
    • Personae Page
      • “Cast of Characters” Title
      • A table of character names and descriptions
      • Scene and Time descriptions, if there’s room
  • The Play Itself (where the 🚘 meets the 🛣)
    • Correct page formatting with page numbering in the top right.
    • Act and Scene Designations
    • SETTING: and AT RISE: delegations in a tabular format
    • Character tags
    • Character dialogue
    • Stage direction
    • End of act/scene delgations

Step 2 - ReStucturedText Equivalences

Here’s the part that took a little experimenting. Essentially, there should be either a ReStructuredText syntax rule or ReStructuredText directive that correlates to one of the properties. This is a general rule, because some of the properties should be dealt with during the pandoc phase where conversion occurs.

Here is what I came up with:

Stage play property ReStructuredText equivalent Example
Title ReStructuredText title
My Play
Subtitle ReStructuredText subtitle
A Play in 2 Acts
Author's Name
Personae Page - Title is a ReStructuredText title
- Characters are listed in tabular format with the character's name as the first colun, and the description as the second column.
(hint: this is where the ..list-table directive comes in handy)
    * - Fred
      - Our main character
    * - Jasmine
      - Fred's best friend.
Act Designations Header 1 (underlined with `=`)
Act I
Scene Designations Header 2 (underlined with `-`)
Scene 1
    * - SETTING:
      - Some time in some random location
    * - AT RISE:
      - Chaos happens.
Stage Direction default text (no indentation or start character)
Character does something very interesting.
Character line Definition
    This is the character's dialogue.

Some of these I skipped, with the intention of adding them post-production, most notably the author information on the title page.

Up Next …

Whew! That was the hard part. In the next post I’ll talk about how to convert the ReStructuredText into a document with the correct formatting.

Did you like this article?

Did you know I'm available for hire?

Send me an email here:

Or connect with me in Wire: @nswered