Rules vs. WYSIWYG
In a typical word processor like Microsoft Word or Apple Pages, you format the text on screen to look the way you want it to appear when you print it or email it to someone. This is known as What You See is What You Get, or WYSIWIG, pronounced wizzywig.
The upside is that it’s simple. Also, making the text look the way you want is often easy. The downside is that when you need it to look different, you have to change the working file, or make a copy first and change the copy. And it can be time-consuming.
As mentioned above, Scrivener is different. (Think of it as the class nerd.) When you need a formatted version of your manuscript, you use the Compile window to specify the rules Scrivener should use when creating the output. Your original text isn’t changed in any way, merely copied into the compiler, operated on by the rules you’ve set, and then output to the file type you chose.
I like to imagine the compile process as a virtual printer that works as follows when you click the Compile button:
- Scrivener starts with the first file (folder or document) at the top of the Binder and asks, “Is this file marked to be included in compile?” If no, it skips to the next file and repeats Step 1.
- If yes, it then looks at what type of format you’ve assigned to that file—which we’ll obviously cover later—and goes through applying all the formatting rules you’ve set for that type of file, including what comes after it (e.g., page break, * * *, #, single carriage return).
- The compiler repeats this process for all the files in the Draft folder until it reaches the end.
- Then, it applies global settings such as page size, margins, headers and footers, and other conversions like removing hyperlinks or text highlighting.
- Finally, Scrivener produces a file of the output type you selected (e.g., DOCX, RTF, MOBI) and saves it where you specified with the name you chose.
From a programming perspective, the actual order might be different, but when I’m trying to understand how a setting will be applied, this “virtual printer” model helps me.