Production Notes

This book was typeset using the LaTeX document processing system, which it describes, together with substantial help from some of the extension packages it covers, and considerable extra ad hoc LaTeX programming effort.

Body fonts

The text body font used is Lucida Bright (Bigelow/Holmes) at 8.8pt/12pt. The other major font is the mono-spaced European Modern Typewriter (Y&Y) 10.06pt/12pt. This particular combination was chosen to get a reasonable amount of material on each page and to optically balance the appearance of the “typewriter font” so that it was distinguishable but without too big a contrast.

Example fonts

The text in the examples mostly uses Adobe’s Times Roman with Helvetica for sans serif. For the mathematical material in the examples we have used the by now classic Computer Modern math fonts, so the symbols will appear familiar to the majority of mathematics users. Of course, examples intended to demonstrate the use of other fonts are exceptions.

Hanging punctuation

The book was typeset with the base LaTeX release dated 2003/12/01. The pdfTeX program was used as the underlying engine, but it was not set to produce PDF output: we were more interested in its ability to produce “hanging punctuation”, and this typographical icing (package pdfcprot) was used for the main galley text (see [159, 160] for a description of how this is implemented). For comparison look at pages 941–943, as these are set without hanging punctuation (and in smaller type).

The production cycle

The production of this book required custom class and package files. It also needed a complex “make” process using a collection of “shell scripts” controlled by a “Makefile”. One of the major tasks these accomplished was to ensure that the typeset output of each and every example really is produced by the accompanying example input.

This “make” process worked as follows:

Generating examples

• When first processing a chapter, LaTeX generated a source document file for each example. These are the “example files” you will find on the CD-ROM.

• The make process then ran each of these “example files” through LaTeX (also calling BibTeX or whatever else was needed) as often as was necessary to produce the final form of the typeset output.

Finally it used dvips to produce either one or two EPS files containing the “typeset example”.

• The next time LaTeX was run on that chapter, each of these EPS output files was automatically placed in its position in the book, next to (or near) the example input. The process was not complete even then because the horizontal positioning of some elements, in particular the examples, depends on whether they are on a verso or recto (the technique from Example A-3-9 on page 876 was used in this case). Thus, at least one or two additional runs were needed before all the cross-references were correctly resolved and LaTeX finally found the right way to place the examples correctly into the margins.

Manual labor

That was about as far as automation of the process could take us. Because of the many large examples that could neither be broken nor treated as floating material, getting good page breaks turned out to be a major challenge. For this and other reasons, getting to the final layout of the book was fairly labor intensive and even required minor rewriting (on maybe 10% of the pages) in order to avoid bad line breaks or page breaks (e.g., paragraphs ending with a single word line or a distracting hyphenation at a page break). Spreads were allowed to run one line long or one line short if necessary and in several cases the layout and contents of the examples were manually adjusted to allow decent page breaks.

Some statistics

Here are a few approximate statistics from this page layout process: 45 long spreads, 25 short spreads, 230 forced page breaks, 400 adjustments to the vertical spacing, 100 other manual adjustments (other than rewriting).

The index

The “Commands and Concepts” index was produced by printing a version of the book with line numbers and giving that to the indexer, who produced “conceptual index entries” that were then added to the source files for the book. This was a major testament to the quality of the lineno package, as it worked “straight out of the box”. For the index processing MakeIndex was used as xindy was not then available. However, due to the complexity of the index (the colored page numbers, etc.) it was necessary to use pre- and post-processing by scripts to produce the final form of the index file. This was then typeset using an enhanced version of the multicol package to add the continuation lines—something that perhaps one day can be turned into a proper package.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.118.90