Tag Archives: Publishing

Scrivener on Linux: Oh Well…

UPDATE (January 2, 2016): The makers of Scrivener have decided to abandon their Linux project. Kudos for them for giving it a try. The Scrivener on Linux users were not many, and almost nobody donated to the project, and as far as I can tell, the project was not OpenSource and thus could not have attracted much of an interest among a community of mostly OpenSourceHeads.

So, I’m no longer recommending that you mess around with Scrivener on Linux, as it is no longer maintained. Back to emacs, everybody!

Scrivener is a program used by authors to write and manage complex documents, with numerous parts, chapters, and scenes. It allows the text to be easily reorganized, and it has numerous ways in which the smallest portion of the text, the “scene,” and larger collections of text can be associated with notes and various kinds of meta-data. It is mainly a Mac program but a somewhat stripped down beta version is available for Linux.

In some ways, Scrivener is the very embodiment of anti-Linux, philosophically. In Linux, one strings together well developed and intensely tested tools on data streams to produce a result. So, to author a complex project, create files and edit them in a simple text editor, using some markdown. Keep the files organized in the file system and use file names carefully chosen to keep them in order in their respective directories. when it comes time to make project-wide modifications, use grep and sed to process all of the files at once or selected files. Eventually, run the files through LaTeX to produce beautiful output. Then, put the final product in a directory where people can find it on Gopher.

Gopher? Anyway …

On the other hand, emacs is the ultimate linux program. Emacs is a text editor that is so powerful and has so many community-contributed “modes” (like add-ins) that it can be used as a word processor, an email client, a calendar, a PIM, a web browser, an operating system, to make coffee, or to stop that table with the short leg from rocking back and forth. So, in this sense, a piece of software that does everything is also linux, philosophically.

And so, Scrivener, despite what I said above, is in a way the very embodiment of Linux, philosophically.

I’ve been using Scrivener on a Mac for some time now, and a while back I tried it on Linux. Scrivener for the Mac is a commercial product you must pay money for, though it is not expensive, but the Linux version, being highly experimental and probably unsafe, is free. But then again, this is Linux. We eat unsafe experimental free software for breakfast. So much that we usually skip lunch. Because we’re still fixing breakfast. As it were.

When you create a Scrivener project, you can chose among a number of templates.  The Scrivener community has created a modest number of alternatives, and you can create your own. The templates produce binders with specific helpful layouts.
When you create a Scrivener project, you can chose among a number of templates. The Scrivener community has created a modest number of alternatives, and you can create your own. The templates produce binders with specific helpful layouts.

Anyway, here’s what Scrivener does. It does everything. The full blown Mac version has more features than the Linux version, but both are feature rich. To me, the most important things are:

A document is organised in “scenes” which can be willy nilly moved around in relation to each other in a linear or hierarchical system. The documents are recursive, so a document can hold other documents, and the default is to have only the text in the lower level document as part of the final product (though this is entirely optional). A document can be defined as a “folder” which is really just a document that has a file folder icon representing it to make you feel like it is a folder.

The main scrivener work area with text editor (center), binder and inspector.
The main scrivener work area with text editor (center), binder and inspector.
Associated with the project, and with each separate document, is a note taking area. So, you can jot notes project-wide as you work, like “Don’t forget to write the chapter where everyone dies at the end,” or you can write notes on a given document like “Is this where I should use the joke about the slushy in the bathroom at Target?”

Each scene also has a number of attributes such as a “label” and a “status” and keywords. I think keywords may not be implemented in the Linux version yet.

Typically a project has one major folder that has all the actual writing distributed among scenes in it, and one or more additional folders in which you put stuff that is not in the product you are working on, but could be, or was but you pulled it out, or that includes research material.

You can work on one scene at a time.  Scenes have meta-data and document notes.
You can work on one scene at a time. Scenes have meta-data and document notes.
The scenes, folders, and everything are all held together with a binder typically displayed on the left side of the Scrivener application window, showing the hierarchy. A number of templates come with the program to create pre-organized binder paradigms, or you can just create one from scratch. You can change the icons on the folders/scenes to remind you of what they are. When a scene is active in the central editing window, you can display an “inspector” on the right side, showing the card (I’ll get to that later) on top the meta data, and the document or project notes. In the Mac version you can create additional meta-data categories.

Scrivenings Mode
Scrivenings Mode
An individual scene can be displayed in the editing window. Or, scenes can be shown as a collection of scenes in what is known as “Scrivenings mode.” Scrivenings mode is more or less standard word processing mode where all the text is simply there to scroll through, though scene titles may or may not be shown (optional).

A lot of people love the corkboard option. I remember when PZ Myers discovered Scrivener he raved about it. The corkboard is a corkboard (as you may have guessed) with 3 x 5 inch virtual index cards, one per scene, that you can move around and organize as though that was going to help you get your thoughts together. The corkboard has the scene title and some notes on what the scene is, which is yet another form of meta-data. I like the corkboard mode, but really, I don’t think it is the most useful features. Come for the corkboard, stay for the binder and the document and project notes!

Corkboard Mode
Corkboard Mode
When you are ready to do something outside of scrivener with your project, you compile it. You can compile it into an ebook, a file compatible with most word processors, a PDF file, a number of different predefined manuscript or script formats, etc. Scrivener does all sorts of magic for writing scripts, though I know nothing about that. There is also an outline mode which, in the Mac version, is very complex and powerful. In the Linux Version it is not. So I won’t mention it.

The compile process is cumbersome, esoteric, complicated, and requires training, so it is PERFECT for the average Linux user! But seriously, yes, you can compile your document into a pre-defined format in one or two clicks, but why would you ever do something so simple? Instead, change every possible option affecting formatting and layout to get it just the way you want it, then save that particular layout for later use as “My layout in February” or “This one worked mostly.”

The Powerful Compile Dialog Box.
The Powerful Compile Dialog Box.
One might say that one writes in Scrivener but then eventually uses a word processor for putting the final touches on a document. But it is also possible that you can compile directly to a final format with adequate or even excellent results and, while you may end up with a .docx file or a .pdf file, you are keeping all the work flow in Scrivener.

This fantastic and amazing book was compiled in Scrivener directly into ebook format.

You have to go HERE to find the unsupported and dangerous Linux version of Scrivener. Then, after you’ve installed it, install libaspell-dev so the in-line spell checking works.

A scrivener project file is a folder with a lot of files inside it. On the mac, this is a special kind of folder that is treated as a file, so that is what you see there, but in Linux you see a folder, inside of which is a file with the .scriv extension; that’s the file you run to open the software directly from a directory.

Do not mess with the contents of this folder. But if you want to mess with it you can find that inside a folder inside the folder are files that are the scenes you were working on. If you mess with these when Scrivener is using the project folder you may ruin the project, but if Scrivener is not looking you can probably mess around with the contents of the scene files. In fact, the Mac version gives you the option of “syncing” projects in such a way that you work on these scenes with an external editor of some kind while you are away from your Scrivener base station, i.e., on your hand held device.

Since this data storage system is complicated and delicate, it is potentially vulnerable to alteration while being used by the software, with potentially bad results. This puts your data at risk with cloud syncing services. Dropbox apparently place nice with Scrivener. I’ve been trying to figure out if Copy does, and I’ve been in touch with both Scrivener developers and Copy developers but I’m not sure yet. I use Copy for the masses of data on my computer because it is cheaper, and I use a free version of Dropbox for Scrivener files, just in case.

I would love to see more people who use Linux try out Scrivener, and maybe some day there will be a full Linux version of it. As I understand it, the Linux version is a compiled subset of the Windows version code base (yes, there is a Windows version) and the Windows version is a derivative of the Mac version.

I should also add that there are numerous books and web sites on how to use Scrivener, and Literature and Latte, the company that produces it, has developed an excellent and useful manual and a number of useful tutorials. Literature and Latte also has an excellent user community forum which is remarkably helpful and respectful. So be nice if you go over there.