Back to School: Writing tools, part III
TUAW's going Back to School! We'll be bringing you tips and reviews for students, parents and teachers right up until the bell rings.
This is the third and final installment in the "Back to School: Writing Tools" series (parts I and II are here). To round out our roundup, we'll take a look at some (possibly) unexpected solutions, as well as some utilities which can aid any writer. Read on for some final thoughts on the current array of Mac writing tools for students, teachers, professors ... and the rest of us, too.
Text editors are, quite obviously, not word processors. They lack formatting options, alignment options ... pretty much everything which makes a word processor a word processor. However, they can be writing tools, and very good ones. You can use them for free-form writing and to avoid the distractions of toolbars, palettes and formatting concerns, or use markup within the document to prepare them for formatting at the time of export. Whether used alone or in combination with other applications, there's a range of tools available to fit a variety of user needs.
Some of what I would classify as text editors are actually Rich Text editors with some rudimentary options for emphasis and alignment. They provide minimal formatting (i.e., bold and italics) and font selection, usually with additional features which make them better than just using TextEdit. Editors such as Diamond (free) and WriteRoom ($24.95USD, 25% student discount with code: student) offer the same full-screen editing mode as most of the applications I've mentioned previously. Actually, that's the only mode these two offer. If it works for you, though, full-screen editing can be one way to really get down to writing. Both of these programs are Cocoa-based, and some compatible utilities can add features you might be wishing for.
Diamond offers quite a few tools, and is worth a look. There are other intriguing projects coming from the same author, as well. I haven't been able to get used to Diamond's interface, though, so I've moved on without giving it a fair shake. I guess I would call Diamond (I'm sorry) a little rough.
WriteRoom is cleaner, more configurable and easy to grasp. WriteRoom also provides an optional Input Manager which adds an "Edit In WriteRoom" option to Edit menus in other applications. If you're looking for a more terminal-esque writing environment, there's also the Java-based jDarkRoom. You probably already know how I feel about Java applications, so I'll leave that up to your discretion.
Advanced Text Editors
Among coders and writers, you'll find a lot of heated (but usually civil) debate about the virtues of various text editors, once you get into the more advanced ones. I'll stick with my personal favorite (and regular TUAW focus), TextMate, but the arguments for each editor are valid and the field should be explored fully before investing in one. Important features include support (and code highlighting) for markup languages, including LaTeX, Markdown and MultiMarkdown, all of which can create some pretty fine-looking PDF output, and LaTeX is especially handy for displaying advanced mathematical equations ... or so I hear, not being much of a mathematician myself. TextMate provides a "bundle" system which allows snippets, commands, macros and entire languages to be defined, making it infinitely extensible. There are plenty of choices to consider: SubEthaEdit (TUAW coverage), which is the basis of Coda's editor, and BBEdit (another TUAW favorite), which just updated to version 9 are top contenders. For those who have some experience with them, there are always tried and true classics such as Emacs, too.
If you're keyboard-inclined (as many writers are, I assume), such editors can be great for getting thoughts rolling out quickly and handling formatting on-the-fly. With a little planning and understanding of basic markup, you can create output which can be handed over to a full word processor for final formatting and layout. Like WriteRoom, TextMate has an Input Manager which allows it to be called from any Cocoa text area, edit the text for that document and return it to the calling application.
I've mentioned a few times now that there are utilities which can work in tandem with your writing tool of choice. These range from built-in dictionary and spelling features to paid addons. First, let's look at what you've already got on your OS X system.
Note: Many of these are Leopard-only.
You're probably aware of the built-in spell checker, and you've probably also noticed the grammar checker which can be enabled in Cocoa applications, including Mail.app and other OS X default apps. The grammar checker leaves something to be desired, but the system-wide spell check is an amazing tool. When those dotted red lines appear, a right click on the word will offer suggestions and options for learning or ignoring spellings you know are correct. Words added to the dictionary in one program will be found in every other program which can use the spell checker as well. It's very, very handy. If you don't have it enabled, or it isn't active in a given application, check the Edit menu for a Spelling and Grammar submenu (or use the help menu to find it).
Auto-completion in Cocoa apps has been covered on TUAW before: by typing the first few letters of a word and hitting the escape key you can get a quick list of word suggestions for completing the word. The popup list can be navigated with the up/down arrow keys to select the word you want. Hitting return or the space bar will insert the highlighted completion.
In Cocoa apps, a right click on a word will also give you the option to look it up in the built-in Dictionary application. You can also use the Services menu in enabled applications to look up a selected word in Dictionary, and assign keyboard shortcuts in non-Cocoa apps to make use of the lookup service.
There are other Dictionary tricks, most of which we've covered at some point. My two favorites are hovering over a word and pressing control-command-D to get instant dictionary definitions. The other involves Spotlight: type a word into Spotlight, and if the Dictionary recognizes it, the first Spotlight result will be a dictionary definition, enough of which is usually visible to ensure you have the right word/spelling without opening Dictionary.
cocoAspell can be a handy (free) addition to the system spell-check, adding 70+ languages (downloadable individually) and enhancing the spell-checker's ability to filter out things like TeX and HTML code. I found that it took some configuration and I'm still not certain I've got it working across the board, but it seems that it could be a great enhancement.
Spell Catcher X
Spell Catcher X ($39USD, $10/ea for additional languages) is a slick tool which provides as-you-type spelling and completion suggestions, as well as a popup spell-check window. It functions as an input method and can be turned on and off from the International keyboard selection in the menubar. You can specify per-application settings and customize many of its functions. In addition to spell-checking, it also provides writing tools which can automatically capitalize certain letters, prevent double spaces, convert hyphens, etc....
Spell Catcher X also provides several text-modification features through the Services menu, such as changing case, smartening quotes and reformatting paragraphs. It features a "Ghostwriter" mode which saves the text you type in any compatible program as you go, perfect for applications which lack auto-save features. There is a Lite version of Spell Catcher X available for $29USD. See the feature comparison for reasons why it's worth the extra ten bucks if you're going to do it.
A couple of grammar-checkers are also available which are similar in function to Spell Catcher X, but I haven't had much luck with them yet. Grammarian seems promising, with as-you-type features and flexible writing voices/styles. My testing didn't go so well, but if I find what it's conflicting with, it looks like it would be a great utility. There's a free trial available; maybe you'll have better luck than I.
One thing I miss a lot when working on other people's computers is all of my text-expansion definitions. I use TextExpander ($29.95USD) to define snippets which are triggered by short sequences. For example, I can type "The Unofficial Apple Weblog" by keying in ",tuaw" in any compatible application. Once you've defined a decent collection of snippets and become accustomed to using the triggers you assign, it's an amazing time saver. You can also define words you commonly mistype as triggers which insert the correct word automatically, making it a DIY auto-correct utility. One of TextExpander's biggest benefits for me right now is its ability to sync snippets across machines (MobileMe), making it really easy to switch between my MacBook Pro and my Mac mini without changing my modus operandi.
There's a very similar freeware utility, RapidoWrite, which is quite polished, and I would probably be using it if I hadn't already owned TextExpander when it was released. The previously mentioned Spell Catcher X also provides similar capabilities, but it's an application I only turn on in certain situations and it's more useful to have a solution which is available even when I don't want popup spelling suggestions.
Utilities which add to the Services menu ([application name] -> Services) can be highly useful for writers and there are some great applications available in this category. The drawback of Services menu items is that they often require a two-level trip through the dropdown menus to trigger. The ones that have shortcut keys assigned often conflict with shortcuts in the current application (which have priority) or with each other, causing a certain unpredictability. For me, this means that my Services need to provide something which is more convenient than opening another app, even if they're less convenient than an input method such as Spell Catcher X or Grammarian.
WordService is a free utility from the makers of DEVONthink. It adds 37 functions to the Services menu, including text, reformatting, sorting and shifting, line ending conversion, and attachment/link removal. The actual product description and release notes are easier to find on MacUpdate.
KavaServices ($20USD) is an excellent collection of utilities which provide inline translation, unit conversion, equation solving, even UNIX command execution with the results substituted in the Cocoa text field. It can encode/decode HTML entities, as well, which is handy for cut and paste to and from web documents.
Well, that's it for the "Writing Tools" overview. There are, of course, dozens of worthy applications which didn't receive mention, but hopefully this will have served as a good start in finding the perfect tools for your needs and your budget. Watch the comments, I'm certain some more gems will pop up down there.