Mathematica notebooks are structured documents that integrate text, graphics, code, and mathematical formulas. Notebooks are portable and platform-independent and can be easily transformed to other formats, such as HTML, , XML, or PDF. These features make notebooks a popular format for creating and publishing technical documents.

Although notebooks are typically created using Mathematica's front end, they can also be created and modified using kernel commands. Each notebook is completely specified by a symbolic expression. You can, therefore, select and manipulate parts of a notebook by modifying the underlying expression. This makes it possible to write programs and packages for transforming notebook documents.

The AuthorTools package, which was introduced in Version 4.2, provides a good illustration of Mathematica's document-processing abilities. This package adds support for several features that are important in technical publishing, such as creating a table of contents or index. It greatly simplifies the task of creating publication-quality books and articles from notebooks. For example, using AuthorTools, you can:

create a table of contents

create an index

create a Browser Categories file for adding information to the Help Browser

extract all cells of a particular type and save them in a desired format

insert objects to display the current values of variables, such as the date, time, and filename

set printing options, such as headers and footers

Most of these operations can be done either on a single notebook or a set of notebooks that make up a project. For example, you can generate a unified index or table of contents for a book, each chapter of which is in a separate notebook.

The AuthorTools package contains about sixty functions and over ten palettes. The palettes provide an easy point-and-click interface for performing most common tasks. However, advanced users might prefer to type and evaluate the functions directly, since this allows for greater control and customization. The rest of this article reviews the various functions and palettes in more detail.