More than fifteen years ago my friend defended a doctoral thesis at Stanford. He wrote it in plain TeX; everything went fine except tables. My friend spent some time trying to align the numbers exactly like he wanted them, but failing to do so, he eventually just printed the table as plain text and pasted it into the manuscript.
Proper typesetting of tables is one of the most difficult and complex TeX tasks. LaTeX facilities for typesetting tabular material are arguably easier to use than the ones of plain TeX. Still, when one is not satisfied with the default look and feel of LaTeX tables (as many typographers are not), then one may spend long hours making tables look right. Fortunately, there are two scores of packages on CTAN dealing with adjusting typesetting of tables, so one can find code dealing with the specific task at hand. Unfortunately, there are two scores of packages on CTAN dealing with adjusting typesetting of tables, so it is rather difficult to find the one needed. The indispensable Companion describes some packages and tricks, but the material is clearly much larger than can be fitted in a chapter of the general book. Therefore there is a clear need for a specialized review of table-related packages.
The new book by Herbert Voß is intended to be such a review. It covers both the standard LaTeX facilities for dealing with tabular material, and 39 packages dealing with tables that are currently on CTAN. Each package is discussed concisely but clearly. The reader gets an impression of the main features of the package and the basic usage, being referred to the package documentation for the details of the usage and the less popular features. This design of the presentation is a very good idea: the information in the book is enough to find the package for the given need without swelling the book volume with too much detail. Besides, the details of interface and minor features tend to change from release to release, so a printed book that includes too much detail quickly becomes obsolete.
From this book the reader can find out how to change the width and height of the table cells, how to make the tables look more “professional” than the default LaTeX tables, how to get multirow and multicolumn cells, how to use footnotes with the tables, how to get colored cells and lines, how to typeset the numbers in tables right, how to get “spreadsheet-like” arithmetic in tables, how to get rotated and multipage tables, how to read comma separated values files into TeX—and much more.
The author spends considerable time discussing interaction between packages—an important topic often omitted in the documentation. Each package is accompanied by carefully chosen examples of its usage. There are also separate sections on Tips and Tricks and Examples. The gallery of examples is very impressive and may provide inspiration for many beautiful tables.
The book is well written and clear. It should be easy reading for a novice—and still it provides many insights for an advanced TeXnician.
The book is very nicely typeset and designed. UIT Cambridge is known for the good taste in its production, and this book is no exception. (I was surprised, however, that while the cover had “LaTeX”, the spine typesetting was “LATEX”.)
Of course any book, including this one, can be made better. It seems to me that the largely alphabetical ordering of packages in this book can be improved. Right now there are three major divisions of packages: general, color-related packages and multipage tables. Probably one can find some logical subdivisions in the general category. Further, while the book clearly explains how to change the typesetting of tables, it lacks the discussion of why to do this and even whether to do some of them (like rotated table headers). The author does mention some typographic rules with respect to tabular material (like not using vertical lines, and spare use of horizontal ones). Nevertheless a separate section on Fundamentals of Typography of Tables would be very useful. Finally, a discussion of typesetting table captions would probably be a good addition to the book. That standard LaTeX puts the caption below the table is an unfortunate violation of the traditions of good typography. There are a number of packages that correct this mistake and provide many options of customization of captions.
However, it is probably impossible to write a book that would satisfy everyone’s wishlist (and such a book would be too heavy to carry around). Typesetting tables with LaTeX by Herbert Voß is a good reference on LaTeX packages related to tabular material. It should be a necessary addition to the bookshelf of a LaTeX user.