oreilly.comSafari Books Online.Conferences.


Linux Word Processing Road Map
Pages: 1, 2

The typesetting approach

In Linux, when you want to print some text that needs to look nice on paper, you generally don't "word process" it -- you typeset it.

Typesetting is to produce quality output suitable for printing. You use software to specify how the text will look. Typesetting systems usually use a markup language instead of a WYSIWYG approach -- a conversion tool reads the text and creates a file you can print.

What's great about these tools is that their output is gorgeous, with advanced hyphenation, line, and paragraph breaking; kerning; and other font policies and algorithms that output much better than anything you can currently get from a word processor.

The most popular typesetting system is TeX and its derivatives, including the popular LaTeX. With these systems, you write a text file containing the text you want to typeset in a markup language with commands that look like:


Which sets the text Hello in italics.

The LyX "document processor" is an exciting new way of doing this -- it provides a visual, graphical means of writing input for LaTeX, without having to know the markup codes at all.

An alternative to the TeX family is SGML (Standard Generalized Markup Language). Here, you write a document in an SGML DTD (Document Type Definition, a file format), which is plain text with heavy markup. There are packages like SGMLtools for writing and processing documents written in an SGML DTD.

All of these systems allow for multiple output formats -- such as typeset output that you print, plus plain text and HTML for the Web. If you're making a book or other document that needs to be presented in typeset form, one of these systems is what you need to use.

Choosing the right method for the job

The following list should help you determine which system is best for a particular task. There isn't one way of doing things, of course -- these come only as my own recommendations.

Task Solution Recommendation

E-mail message, diary, notes or journal entry, Usenet article, or other document that is going to be kept electronically and not normally printed out as its final form

Your favorite text editor

Printed output in a font -- such as from an outline, e-mail message, shopping list, or manuscript draft

Write your document in a text editor and output it with enscript

Printed, typeset output where keeping an unformatted text version is not beneficial -- business correspondence or letter, a printed report, or photo-ready copy of a book manuscript

LyX or LaTeX

Printed, typeset output and electronic HTML or text file output -- for example, an Internet FAQ or white paper

SGMLtools, or LyX or LaTeX

Printed, typeset output with a layout you specify, like a brochure or newsletter with multiple columns and images


An envelope, mailing label, other specialized document to print


Typeset poster or sign to print

Enscript, LyX or TeX

Large banner to hang on a wall

Linux jbanner command

A line of text in an ASCII art "font" consisting of text characters, for use in an e-mail message or Usenet article


Over the coming weeks, we'll take a closer look at some of these tools and show how to use them.

Michael Stutz was one of the first reporters to cover Linux and the free software movement in the mainstream press.

Read more Living Linux columns.

Linux Online Certification

Linux/Unix System Administration Certificate Series
Linux/Unix System Administration Certificate Series — This course series targets both beginning and intermediate Linux/Unix users who want to acquire advanced system administration skills, and to back those skills up with a Certificate from the University of Illinois Office of Continuing Education.

Enroll today!

Linux Resources
  • Linux Online
  • The Linux FAQ
  • Linux Kernel Archives
  • Kernel Traffic

  • Sponsored by: