A Writer’s Lament

Given the title, you might be surprised to see that this is not, in fact, another post about writing — at least, not directly. It is rather a ramble about the tools of the writer, better known in this day and age as software packages. This is true for all writers: technical writers, journalists, students, academics, novelists — and yes, even the poet who writes long-hand with a fountain pen in a Moleskine notebook will eventually type it up if he or she wants anyone else to see it.

I’ve been doing a lot of writing lately, of a variety of different kinds. My novel, of course, has consumed a lot of my time, but I’ve also been working on an academic paper, a yearbook, and even a programming language specification. All of this different writing has gotten me thinking about the tools I use for each, how they’re different, and how I’d like for them to be the same.

These musings have been based around a few issues that I keep coming across.

  • When submitting fiction to publishers and editors, they usually want you to use standard manuscript format. I’m sure they have their reasons, but I find it hideous to look at. Though this hasn’t affected me personally — as I have yet to produce anything good enough to submit for publication — I’d like there to be an easy way for me to switch from my preferred format to manuscript format, without having to change the fonts and italics/underlining explicitly every time.
  • I want to be able to control my own data — the text I write should be available to me, even if I no longer use the program I wrote it in.
  • I want an easy way to generate output for different uses — such as going from two-column text for printing to single-column landscape display for screen reading.
  • I want something that is generally easy to use, but has all the functionality you might ever want.

Unfortunately, none of the tools I use regularly can satisfy all of these desires.
I’ve been writing my novel in Corel WordPerfect 12 (the current version is X3, which I assume means 13). It is my favourite word processor. All of my early instruction and word processor use was on Microsoft products, but in university I bought a copy of WordPerfect 8 because it was cheaper, and everything about it was just so much better and easier to use that I never used Word again, apart from single-page documents. (Even those documents were an exercise in frustration, actually.) The “Reveal Codes” feature is a godsend for debugging peculiar word processor behaviour, it has maintained the same file format ever since I’ve been using it, and it had built-in PDF export long before Microsoft ever did.

I’ve also used OpenOffice, and generally like it. A few aspects of how it works are kind of confusing, but that’s to be expected when using a new software package, and it is free, so I can forgive quite a lot. I very much like the use of the open standard file format, and had started to move my general word processing to OpenOffice because of this — but when the latest version kept crashing when I was starting my novel, I had to abandon that approach.

But all word processors have some major flaws. They suck at long and complex documents, and aren’t especially good at doing much beyond simple layout. If you throw in a ton of graphics, they all tend to slow to a crawl. And though many of them try, they aren’t very good at handling structured documents. Thus, for my Masters thesis and all of my academic writing these days, I use LaTeX.

LaTeX is a document preparation and typesetting system, and it excels at producing nice-looking structured documents, though it can do so much more. I use the MikTeX distribution for Windows, along with the free TeXnicCenter editor/IDE to produce my documents, though there are a multitude of other configurations and distributions you can use.

LaTeX separates the content of the document from its presentation, allowing you to enter the text and identify its structure and meaning with special commands. These special commands are then processed before the document is displayed — sometimes in several passes — so LaTeX is definitely not WYSIWYG. But it does mean that the same document can be reprocessed to produce vastly different kinds of outputs with just a few simple commands, and citations and references are automatically kept up-to-date.

There is a wealth of functionality available to LaTeX — but that is part of its problem. There is so much that you can do with LaTeX, but you are hardly aware of how to do any of it. If you are using standard kinds of output, and don’t need to modify anything at all, its fine, but once you get into customizing the output, things get real hairy, real fast. The extra effort and complication is well worth it for complex documents, but it still leaves something to be desired.

So the word processors are easy to use for entering text, and LaTeX is great for organizing and generating long documents.  Is it so much to ask for something that does both?

What I would like is an XML-based document system, with a nice word processor-style text entry editor, which would allow multiple views to be associated with the single document.  Perhaps at the top of the document window there might be a row of tabs — XML, Word, Manuscript, Slide, Print, and so on — that allow you to switch between the different views to see how your source text will look.  For each view, you can choose to print or output to some other file format.

Now, I’m given to understand that software used for producing huge technical documents has some of these capabilities.  The only existing example I’ve heard of is Adobe’s FrameMaker, but I’ve never had a chance to try it, and it costs a hojillion dollars anyway.  MadCap Software has a competitor in development, called Blaze, that looks promising too — but I’m sure that will also be rather pricey.

Hopefully something reasonable will come along soon, or I’ll get the stupid idea to try writing my own software to do all of this….