December 22, 2004

When not to use a word processor

Author: Jem Matzan

Word processors are too often made to do much more than they were originally designed for. If a word processing program is all you've ever had or used for your projects, you may have a tendency to use it for every writing job that you have, even if it is more difficult or inconvenient to do so. For specialized jobs there are specialized tools, so what is it that you are intending to create, and what software should you use? In this article we'll discuss some specialized content authoring tools available for GNU/Linux that you should know about.

Word processors are designed for creating large writing projects, ordinary school papers, poetry and prose, letters, and other kinds of documents that don't generally require a great deal of formatting. More than likely, documents created with a word processor are going to be printed as-is with little care for page margins and other formatting details, kept electronic and distributed as such, or translated into a different format for working with other programs that will handle complex page formatting. Most word processors are equipped to handle much more, and are often used for making signs, banners, business cards, posters, flyers, and brochures. Some people use word processors for authoring Web pages and taking class notes. Certainly there are programs better suited to these purposes, but word processors are easier to use and generally more accessible to the average user. So what exactly do you use for projects at the extreme ends of the spectrum?

Text editors: the old standby

If you're writing something small or informal, like class notes or an email draft, you definitely don't need to use a big, fancy word processor. In many cases, using a word processor will make your small projects turn out worse; email, for instance, often can't handle custom quotation marks or special fonts. Small, quick, and generally more stable text editing programs such as KWrite and GEdit are some good examples of GUI-based programs that save data in plain text, which can be universally read by other editors, email programs, and word processing applications. KWrite comes standard with the K Desktop Environment, and GEdit is part of GNOME.

You can also use these editors to modify system configuration files, although in most instances it would be easier to do that from the command line, so GUI-based applications are out of the question.

From the command line you have such editors as nano and pico in GNU/Linux, and ee in BSD, for simple text editing. Unfortunately these programs are not always installed by default in all flavors and distributions of Unix-like operating systems. One is that always available -- the only text editor that could be said to be universal in the Unix world -- is Vi, which can be somewhat difficult to learn and use. Emacs is another, similar kind of editor that is sometimes included with GNU/Linux distributions, and it is approximately as user-friendly as Vi. The reason for their lack of intuitiveness is their complexity; Vi and Emacs are actually in a different class from the simple text editors mentioned above because they have a large degree of extensibility and can be used for a variety of interesting purposes, provided you learn how to modify and operate them. Going through the tutorial files for Emacs and Vi will take anywhere from a half hour to an hour, depending on your experience with text editors and the Unix command line. Once you've learned one or both of these editors, you might not want to use anything else; some people use Vi or Emacs exclusively as their text editor, word processor, and development environment all in one.

Vim -- Vi IMproved -- is a forked version of Vi with enhanced features, such as syntax highlighting, the ability to have multiple open buffers, and unlimited undo commands.

Editors for software development

Despite their power and versatility, Vi and Emacs don't make the most comfortable or convenient development tools for users who are accustomed to graphical environments. If you have access to the X Window System on your computer, you can use the graphical versions of Vi and Emacs, but that doesn't make them much easier to learn for people who are used to using the mouse to navigate menus full of commands. There are editors designed specifically for GUI-centric developers, such as Bluefish, Screem, and Quanta Plus for developing Web sites and Internet-related programs; Eclipse and NetBeans for development in the Java language; and KDevelop, KDE Studio Gold, BlackAdder, and Anjuta for C, C++, Ruby, Python, and other high-level or object-oriented languages.

Academic and technical writing

Academic and technical writing often require the use of complex formulas and other oddball formatting that could conceivably be accomplished with a word processor plus a formula symbol creator, but would be better done with a TeX or LaTeX-based typesetting editor such as Kile, or LyX, among others. These programs are not "what you see is what you get" word processors, but rather, "what you see is what you mean" document processors. In other words you're telling the program exactly how you want your text to be displayed on paper rather than letting the program guess as to your intentions. So instead of seeing approximately how your document will look when printed (as you do with word processors), you see formatting codes and other layout nomenclature that specify how text will be displayed. This can involve a certain degree of simple programming, albeit in an easy-to-understand language called TeX, and you'll have to get used to a different method of document creation. These things are not difficult to learn if this kind of program is the best tool for the job.

Die-hard TeX fans will insist that LaTeX is perfect for writing book manuscripts. Theoretically this is true, as you can do perfect typesetting, formatting, indexing, and table of contents creation with any TeX-based editor. If you're going to print the book yourself, this would be a valid approach to creating it. However, if you're an author submitting a manuscript to a publisher, you're generally required to use word processor file formats such as Microsoft Word's .DOC format or Corel WordPerfect's .WPD format. Exporting a TeX-based manuscript to .DOC format can be time-consuming at best, disastrous at worst.

Print media

Creating flyers, brochures, business cards, banners, signs, and other kinds of media-rich, heavily formatted projects is something that is best done with a desktop publishing application. While most word processors are equipped to do some amount of page design and layout for print media (KWord especially), a better choice for a more professional project might be Scribus, an excellent desktop publishing program for GNU/Linux.

If you know what kind of print media that you want to create -- or if you need to storyboard your ideas to figure out what you want to do -- Scribus is the ideal tool. Desktop publishing applications have no other purpose than helping you design page layouts for various print projects.

Keeping a powerful arsenal

Unless you're so in love with one particular text editor that you can't bear to use anything else, it usually makes sense to have a variety of text programs installed on your machine. Using the appropriate text editor for your project can save you time, money, and frustration. It also makes your projects look more professional and can cut down on unexpected errors in formatting. On this writer's computer you'll find LyX, OpenOffice.org, AbiWord, Vim, Bluefish, GEdit, and nano. While some are used more than others, each has had its use on this system.

As we've already mentioned, there are many people who tend to stick with one text editor even though the tool they're using was not meant for the job they're doing. Essentially that's what most people are doing with word processors because they aren't aware of other programs that are better suited to the work at hand. Hopefully you'll walk away from this article with a broader understanding of the wide array of publishing, development, and text processing tools that you can use in GNU/Linux besides OpenOffice.org, KWord, and AbiWord, and when your next project comes up you'll use the right tool for the right job. Remember, the entire point behind a software application is to make your work easier -- to do the dirty work for you, so you can better achieve the results you want.

Jem Matzan is the author of three books, editor-in-chief of The Jem Report, and a contributing editor for OSTG.

Click Here!