Can’t Can Write a Stage Play in ReStructuredText! (Part
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] (http://ianhocking.com/2013/06/22/writing-a-novel-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.
- 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”)
- 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
- Title Page (with appropriate margins).
- The Play Itself (where the 🚘 meets the 🛣)
- Correct page formatting with page numbering in the top right.
- Act and Scene Designations
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|
---------------- A Play in 2 Acts ---------------- ---------------- by ---------------- ---------------- Author ----------------
|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:: * - 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` & `AT RISE`||Table||
..list-table:: * - 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 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.