Let’s say you have a carpenter come in to build a new bookshelf. What would you think if the only tool she brought was a hammer? Or a level, or screwdriver?

What would you think if you took your car to a garage, and the only tool the mechanics had was an adjustable wrench?

How about a plumber? Architect? What profession largely uses a single tool?

Writers often think they need only one tool; that’s an artifact of the traditional publishing paradigm. Write your masterpiece—on what has changed over time, from handwritten to typewriter to (dedicated) word processor and now to computer—and send a few copies to your agent. The agent makes a sale (we hope), then the publisher takes over. Editors work from typewritten copies, then send the markup to the typesetters. This paradigm has only changed around the edges. You might now send an electronic copy (usually MS Weird format) to the agent, and the publisher prints out copies for the editors (often in Courier, to simulate typewritten manuscripts). Typesetters have electronic equipment to do the detail work. What you see in action is a toolchain. Each of a series of tools handles one aspect of production.

Professionals of all stripes have multiple tools to do their work. Book publishing is different only in that everything beyond the initial keyboarding is largely hidden from view. But from composition to editing to markup to typesetting to printing, there are specific tools handing off their output to the next tool in the chain.

Or was.

Indie writers—some use the term writer/publisher—often do not grasp the utility of the toolchain. Part of this is because indie-publishing systems like KDP and Smashwords accept that ubiquitous MS Weird file… and once again, the rest takes place behind the scenes. All well and good, if you’re okay with what those systems do by default. The thing is, you can often get much better results by taking control of production, using your own toolchain.

As always…

This is what works for me.

First off, what does your output look like? Almost every indie produces eBooks; some also use Print on Demand (POD) services to furnish printed books. For eBooks, focus on EPUB; it’s an open format and all eBook publishers (including KDP) accept it.

Ideally, one would like to have a push-button system, a black box that accepts a manuscript and produces both EPUB and PDF (printed) output with high quality. Reality isn’t quite so idyllic, but you can get close using a toolchain built from Free (or low cost) components.

Note: I use the term “Free” (capitalized) to distinguish between what some refer to as FLOSS (Free/Libre/Open Source Software), and freeware. The former—Free software—is usually copyrighted and often licensed, but the only thing the license restricts is redistribution without making the source code available. The latter—free (lowercase) software or freeware—is always copyrighted, usually does not include source code, and might have a restrictive license that makes the software unusable for your purposes. For example, some commercial software companies provide evaluation licenses that prevent you from using it for production.

This is what my chain looks like:

toolchain

I’ve based my current toolchain on MultiMarkdown, a variant of Markdown that supports metadata and a variety of outputs. Nearly as important, I can use an SSH tool to access my desktop from my iPad if I’m at home and can’t be at my desk. The goal is to be able to work entirely in a text interface, so I can always access my work.

So let’s have a look at some of the tools I use in each phase of production.

Outlining

Since I maintain the Tines outliner, it stands to reason I would use it, right? But Tines is a writer’s outliner, since it’s unique in being able to distinguish text (paragraph) entries from headings. It also runs in the console (Terminal) and exports to Markdown.

Composition

There are no end of text editors out there that understand Markdown, and I keep several at the ready depending on what I’m doing.

  • If I need a distraction-free environment, then it’s time to break out ed.
  • For more casual command-line writing or editing, I like either JOE (Joe’s own editor), especially using its jstar (WordStar-like) skin, or the ultra-powerful Vim (an indirect descendant of ed, by the way). Both support syntax highlighting for Markdown.
  • On the go, I use Byword on my iPad. A Bluetooth keyboard transforms a tablet into a tiny netbook. Try it some time!
  • When I’m at the desktop, I often use either Byword or Atom with the markdown-writer plugin. Vim also has a GUI version, and both versions support a heavy-duty outlining plugin called VOoM. You can use VOoM to reorganize your book—move scenes around, and so forth.

Formatting

I set up my workflow before Scrivener 3 came out, and I still need to explore what it has to offer that I’m doing by hand. Still, what I have set up works well and only takes a few minutes to produce high-quality EPUB and PDF.

First, I export to MultiMarkdown. You can run MultiMarkdown from Scrivener, but (at least pre-v3) doing it this way gives you more control over the results. Scrivener lets you set up metadata for the book, and passes it into the MultiMarkdown file. After a quick look over the results, I run the multimarkdown app and produce HTML.

Scrivener also inserts (at my urging) split markers for Sigil, my EPUB cleanup app. After loading the HTML into Sigil, I have only to press F6 to split the single file into chapters. After that, I need only add boilerplate, build a TOC, and validate.

Here’s where it gets fun: I take that same HTML, feed it to a transform script, and it produces typesetter markup for PDF. I have two different transforms for two different processors:

  • FOP uses a markup language called Formatting Objects (XSL:FO). Its advantage is that I can take it straight to PDF without tweaking.
  • Either of two variants of the venerable UNIX troff typesetter: groff or neatroff. While this output requires tweaking before it’s production-ready, it does have the advantage of micro-typographical tweaks and can produce results comparable to old-school professional typesetting.

    To understand what I’m talking about, grab a hardback from the 1950s and compare it to a modern paperback. Most mass-market books are “formatted” using MS Weird, and it shows. FOP might not give the print quality of a full-blown typesetter, but it’s still at least as good as a word processor.

A new command-line utility, lowdown, converts Markdown to a variety of formats, including troff. I’m currently looking into integrating it into my toolchain, as it works somewhat better than my transforms.