I'm in the process of having another attack on "Rule 34", and I thought some of you might appreciate a rant about tools.
The business of writing novels is rather unlike most other office jobs in that it involves producing long — but structurally simple — text documents which may then be shared with other organizations over a period of years or decades.
Most business literature is ephemeral; even process manuals are seldom expected to last more than a double-handful of years, and the majority of files are typically dead of old age after 18 months. A novel, in contrast, may be reprinted in the distant future. You may be unsurprised to learn that I'm therefore positively allergic to Microsoft's habit of changing file formats in new and excitingly incompatible ways every year or two.
But that's not my only reason for disliking Word. It — or something capable of extruding its files, like OpenOffice — is well-nigh unavoidable if you want to work with other businesses, but it's not an ideal tool for writing books.
Word is descended from some of the earliest WYSIWYG document processors, developed in the XEROX research labs during the mid-1970s. There was some argument in those days over the best way in which to manage styled text. One model, used in non-WYSIWYG word processors such as WordStar (and document macro languages such as ΤΕΧ and nroff) is to view the text as a stream of characters, and to include codes that change the characteristics of those characters in line with them (for example, to switch text into italics, or to switch on underlining — and to switch off those characteristics). The problem with this technique is that it conflates document content with presentation. Moreover, the more formatting (presentation) mark-up you insert into a document, the less useful it becomes as online data. It's also difficult to maintain consistency within compound multi-file documents (such as books or magazines) if the authors are manually specifying things like typeface and font size and line spacing within the text. An alternate model is to therefore use a style-sheet driven formatting system, and this is how virtually all modern desktop publishing systems work.
Guess what? Microsoft Word does both (inline markup and style sheets). And it does them badly, allowing users to override paragraph styles with local inline markup (or, indeed, to drop styles on top of marked-up text).
Given my general aversion to Word, you probably won't be surprised to know that I prefer to use a programmer's text editor and a simple macro-based language for formatting text. Back in the day, I wrote several novels using: Vim as my editor (vi keystrokes are hardwired into my fingertips — I've been using it since 1989), POD macros (Perl's Plain Old Documentation format), a Makefile to generate up-to-date output formats such as RTF, PDF, and HTML from the podfiles, and rcs to track changes. (With an entire novel occupying a single file, rcs is more than adequate for the task.)
Since 2006 I've been led astray by editorial fiat (and the need to exchange documents), firstly into extensive (mis-)use of OpenOffice, and then Scrivener. Scrivener's text editing capability is not good (it basically wraps around the standard Mac OS X rich text handling library, so that it processes RTF but can't cope with style sheets), but that's not what it's for; it's a tool designed to allow a writer to mess around with the deep structure of a book, tracking and editing multiple plot threads and keep notes and cross-references that won't appear in th final generated output. (This was really, truly, a life-saver when I was working on the last two Merchant Princes books; with 19 major character threads to keep track of, marshalling everything and keeping them all on track was the hardest part of the project.) But Scrivener annoys me. Not because it's bad software — to the contrary: it's very good at what it does. But it makes for proprietary lock-in: a commercial program that runs only on OS X. Yes, if you've got an RTF editor you can dig the guts out of a Scrivener project, and it's happy to import and export data. But something in me feels a little dirty at the idea of using a non-cross platform proprietary tool. And the text editor really isn't a patch on vim.
POD is a little lacking in features and I'm trying to teach myself Python as a side-project, so I've just spent a day exporting the first 60% of "Rule 34" into reStructuredText, encountering a nasty little bug in OpenOffice 3.1 for OS X along the way (backreferences in regular expression search/replace are sometimes replaced by reference, not by value, i.e. you get "$0" inserted in your replacement text instead of whatever $0 points to). I'm going to write the rest of this sucker in vim, because when you get down to it there is only One True Text Editor, and I've got enough of a handle on the structure of "Rule 34" that I don't need the training wheels. Also: the files take up less space, are easier to mess around with by hand, and I can work on it on just about anything that's got a keyboard and an output device. When I have some spare time I'm going to poke around with git, but pointing a distributed SCCM at a novel is a bit like using an ICBM to swat a fly.
But anyway: sometimes you just don't need WYSIWYG. Sometimes WYSIWYG is a snare and a distraction. And writing a novel is one of those times.