TUGboat, Volume 14 (1993), No. 1 17

very apparent. The primary extension in Vmis Book Reviews its support for scalable, vector fonts in both Vw itself and the matching drivers. This allows for such commands as \f ont\myf ont=mvpalr scaled Review of: Modern l$jX and Its 1200 aspect 600 bold 04 slant 500. After this Applications \myf ont would refer to a nice looking serif font made hideous by scaling to 12 points, squashing down to Jon Radel 60% of its original height, making slightly bolder, Michael Vulis, Modern and Its Applications. and slanting 22 degrees to the right. While this ex- CRC Press, 1993. vii + 294 pp. + floppy disk ISBN ample I have concocted is rather useless, the point 0-8493-4431-X. is made that given a couple of vector files, which are already smaller than the .PK files of standard This work is a departure from the current stream m, the user can create slanted characters, bold of books on 7&X in several ways, the most impor- characters, small capitals, etc., on the fly without tant being that it documents Vm,which the au- any additional disk being used for font stor- thor himself refers to as a heresy, rather than m- age. This feature alone has won over at least one more about this later. The author also claims that QjX user with a laptop [l]. this book is aimed at the uncovered middle ground Unfortunately, in this chapter the author's bi- between the guides for the utter beginners and the ases get in the way of reporting the current state of reference works for the rn professional, a tricky affairs for users of Q$, as opposed to Vm.For ex- position to attain and not really as uncovered as ample, while Computer Modern Roman has become Michael Vulis claims. And while I did find a total the face that many love to hate, the author's dis- of three books published in the U.S. since 1984 missal of it, with "Of the three [primary text fonts in which do not mention the Users Group on my the CM family], Roman is a fairly weak clone of the shelf, this appears to be the only one that references Century SchoolBook." took me by surprise coming TUGboat articles repeatedly while not mentioning after one of the better two page histories of type- TUG 0nce.l faces that I've read. It is true, I suppose, that the

tarnetu audience for this book isn't interested in the 1 For the Technically Oriented Beginner full history behind Donald Knuth's choice of Mono- type Modern No. 8A, but the author's assertion is a The bulk of this book is a quietly unassuming, but rather abrupt one sentence history of the font. very practical, guide to how to use Plain TEX, with One could get the impression from this chapter ample material on the extensions of VW. I think that all ?jEXs other than VT@ have been standing the sequence of the book would be most appealing still for some time. When making his arguments to a user with a background in microcomputer based about vector fonts saving significant disk space, he wordprocessing software, no background in m.lit- gives the outmoded .PXL files slightly more promi- tle interest in the clever transfer of traditional type- nent billing than the more compact . PK files that all setting technology to the idiom of W's internals, of Vw'scompetitors have been using for years. He and enough technical orientation to move quickly also mentions the Almost Computer Modern (AM) through this material. It tells the reader how to set alongside the Computer Modern (CM) fonts without margins and pick fonts long before it mentions glue, any explanation of the distinction or of the fact that box variables or tokens, and the reader is supplied AM fonts were replaced by the CM fonts over half a ample practical examples but very little information decade ago. Virtual fonts, not too surprisingly, get about W'sinsides. no coverage at all. After the introductory chapter covers basics: Luckily, things pick up again as the book covers \input, \bye, why one doesn't use a wordproces- topics where Vrn differs little from T)$. Chap- sor that puts control characters in the file for TEX ter 3 covers "Formatting", with coverage of head- input, and enough other information to allow the ers and footers, skips, how paragraphs and pages user to his first file, the book moves on to are set, footnotes, and how to deal with the var- a chapter on "Fonts and Characters". It is here ious problems surrounding these. In keeping with that the differences between TFJ and Vl$jX become the goal of the book, there is plenty of practical ad- Since insufficient bibliographic information is vice on how to deal with issues such as under and given on all other works referenced, this isn't really overfull boxes, without an excess of technical detail. a snub -just sloppy. The same is true of Chapter 4, which covers "Math 18 TUGboat, Volume 14 (1993), No. 1

Mode" with a large number of examples and a few turns a random number, \sincos, which calculates details, such as why one should not reassign fonts to a sine and cosine of an , and macros that ex- math font families 2 and 3 without great care. tend those in plain. tex-though these the user By Chapter 5, "Variables, Dimensions, Glue", can find in the appendix or on the included disk. the coverage necessarily gets somewhat more com- While these extensions are not necessary, as most plex and technically oriented. It, Chapter 6, users prove on a regular basis, it would be frus- "Macros", Chapter 7, "Input/Output and Exten- trating to work with a manual containing intriguing sions", Chapter 8, "Modes, Rules, Boxes", and examples you couldn't use. Naturally, this isn't a Chapter 9, "Tabulation and Tables", give a through problem if you use VW. Given that, the demo coverage of everything needed to do basic macro software, and the $100 off coupon for a Vmsys- writing and layout tasks under Plain W.There tem included in my copy, I'm sure that this book is, however, insufficient information for the user will serve as persuasive marketing for VW. to write his own complex formats. For example, The second problem, unfortunately, affects all \shipout and \output are covered in about a page. readers. While I found little that I could point at The reader is left with the knowledge of roughly and say, "That is completely wrong" (but see be- what they do, that \output is what you revise if low), the book is riddled with a variety of inconsis- you want double-column output, but no knowledge tencies and imprecisions. For example, Computer at all of how to go about such revisions. Modern Typewriter is referred to in various places The last chapter, "Font Rotation", is a bit of an as "TeleType" , "teletype" and L'typewriter" without oddball. It starts with an abridged version of Alan an explanation or pattern that I can discern. While Hoenig's TUGboat article on the topic 121, followed that one is unlikely to confuse the average user, oth- by an explanation of how this is better done under ers, such as the statement on page 31 that the name VW. I was left a little confused as to the point; of a font "may only contain characters and not dig- while this is terribly clever and interesting, I'm not its or other non-characters" stand a good chance sure how many people will find it of use. Personally. of confusing any reader who doesn't quickly real- I would have found an expansion of the section on ize that "letters" is meant in place of "characters" Cyrillic fonts, to one with general coverage of setting here, while the terms are used in the usual fashion non-English texts, to be of greater practical use than elsewhere in the book. 10 pages on how to typeset on circles. On the other There are also some explanations that could be hand, those who are switching from a wordprocessor more precise without necessarily being made more - to W might indeed be interested in such effects. complex. For example, page 12 has an explanation The penultimate chapter is an appendix, with of the escape character that includes the following the font tables requisite to any W manual, though text: "Built-in command names (as opposed to user- this one features the V'l&X fonts prominently, a bit defined ones) must be blocks of letters without em- of information on graphics inclusion, most of the bedded marks or spaces (\centerline, macros which are supplied with VWas an ex- not \center line, for example), or they must con- tension to Plain, and a two page guide to the en- sist solely of non-letter symbols (\! or \$, for ex- closed demo version of VW. The book closes with ample)." While wonderful things can be done if chapter 12, "". Unfortunately, it's incomplete, you start changing category codes, under normal missing completely such commands as \aliasf ont, circumstances I am doubtful about leaving the be- one of the more important additions in VT@X. ginning user with the impression that he can em- bed spaces in control sequences he defines, or use multiple non-code 11 (non-letter) characters. Re- 2 Problems moving the distinction between "built-in" and "user- There are two problems that keep me from rec- defined" commands, and appropriate application of ommending Modern QX freely as a good working the word "single" would give something I consider of manual for technically oriented 'l$jX users who have greater utility to the beginner. On the other hand, no intention of writing their own complex suites of maybe the author is simply confused on the distinc- macros, or of using LAWor other existing packages tions between control symbols and control words, as that go beyond Plain. The first is that the coverage on the next page he states, "spaces after a command of V'l&X specific features is firmly entangled with are ignored." This is followed by an example: "Sim- that of features available in 'l&X also. Not only are ilarly, '\$u5' is equivalent to '\$5'. You should type the fonts more flexible under VW,but there are '\$\&' to obtain [a dollar sign and '5' separated a variety of primitives, such as \random, which re- TUGboat, Volume 14 (1993), No. 1 19 by a space]." Even in VWthe first part of this 3 The Demonstration Software example is not true. The book comes with a single floppy (51/411 high den- It is also unfortunate that the generally well sity, though 31/2" is available on request) contain- thought out examples -they are both amusing ing a demonstration version of Vm.A few of the without being overbearingly cute and generally eco- pieces that come with the full program are missing, nornical in the number of TpX features they show- such as the integrated editor, FAX output support, case per example- are marred by errors. Some are and some of the fonts. Upon use you quickly notice silly and more likely to amuse than confuse (did you a 72 point "DEMO" in the middle of every page. know that if you supply Vmwith "A Quick Brown Despite this, the software includes ample capabil- Fox Jumps", it will typeset "The Quick Brown Fox ity to experiment with Vm,and includes printer Jumps"?). Others will cause the new user, already support of LaserJet, DeskJet, Postscript, Bubble- struggling with the concept of ligatures and the Jet and Epson dot matrix printers. Quite frankly, fact that real typesetters think opening and clos- if it weren't for that "DEMO", I would have writ- ing quotes are different, no end of confusion. The ten today's batch of outgoing letters using VW, monospaced text, which purports to be a represen- as some of the supplied fonts are a nice change from tation of the user's input, reduces various multi- Computer Modern. character input sequences to a single monospaced Unfortunately, it is not possible to tell from the character. On page 45, after explaining how to input supplied information whether some of the problems , , and quotes, an example is given I had (such as installing LAW under VW)were that uses all of them. Until I looked at the output, artifacts of the demo software, or are also present I couldn't tell which was supposed to be an en- under the full VW. Presumably, there exists a and which an em-dash, though the is a bit utility for adding new .TFM files to the library of shorter. Any reinforcement of the notion of typing such files that Vmuses, as I could not get the one, two, or three hyphens is lost. demo version to recognize the individual .TFM files Another class of comments by the author that I for the LAW fonts. find a bit troubling is where he sells non-Vm m short by making dubious claims about what it can't do. They range from his comment that the lack of 4 The Heresy of VTEX a dollar sign is "a layout bug in some of the Com- It is with some trepidation that I bring this up at puter Modern fonts," something I would not con- all, as some of the discussion on this topic has gotten sider a bug but rather a design decision that was, in heated, for example during the question period after hindsight now that we have 256 character fonts, less Michael Vulis presented his paper at the 1990 TUG than perfect (my computer science background may conference 131. On the other hand, he is not shy leave me too sensitive to the distinction between de- about it in this book: sign shortcomings and implementation bugs) to far The second heresy was the support of mod- more serious ones. After discussing how to get up- ern scalable font technology in VW,the Mi- right quotes, German low quotes, and in croPressl implementation of W.Vm en- VW,stating Wnder standard none of these m, hances in several ways; being the leading characters is available" would, in my opinion, leave m deviant dialect, it receives very substantial the reader with the impression not, as is the case, attention in this volume, since if is go- that such characters are non-trivial to make use of w ing anywhere, it is all but certain that this is in Plain 'TpJ, but that if you aren't using Vm, the direction it will take. you can't use them at all. Of course, a very close reading will uncover the No mention is made of another "heresy" of grow- ironic combination of several of the above tenden- ing popularity, w-X@, which allows for bi- cies: After insinuating that a is avail- directional typesetting. He gives further thoughts able only in Vm,by listing it on page 47, in a sec- on the matter of keeping w alive by extending tion headed "The following additional symbols are it in a later paper [4], and the material in both of supported by Vm," an example on page 89 con- these papers is presented in Modern w. In some tains $9IA\circ$rather than the Vmequivalent, ways the extensions of Vmare quite superficial: 91\D. scalable font technology and a few handy primitives that neither are vital nor impact the fundamental 20 TUGboat, Volume 14 (1993), No. 1 workings of w. In contrast, some of the under- Review of: Mathematical by Example lying assumptions and limitations of "Q$ are be- Philip Taylor ing challenged in papers. such as that presented by Philip Taylor at Euro-rn '92 [5],and discussions Arvind Borde, Mathematical by Example. on the NTS-L e-mail discussion list. True, V'QX is Academic Press, 1993; $19.95 (US.); ISBN O-12- a shipping product, and the New Typesetting Sys- 117645-2; 356pp; not quite as deep as Crown 4to. tem (NTS) is not even close to that stage, but the In Mathematical T&X by Example, Arvind Borde vision of m'sfuture offered by V'QjX is a limited continues in the mould which he pioneered in his ear- one. lier work l-$$ by Example l -a style which eschews the discursive didactic approach and, with the ab- References solute minimum of introduction, brings the reader face-to-face with real TpX code, presenting on the [I] A.G.W. Cameron, "The Airplane Workstation." facing page the typeset material which results from Personal Workstation 2(6): 14-17 (June 1990). the use of this code. The code is not simply pre- [2] Alan Hoenig, "Circular Reasoning: Typeset- sented as a fait accomplz, but is accompanied by ting on a Circle, and Related Issues." TUGboat copious notes (set as footnotes) which explain the 11(2) : 183-190 (June 1990). significance of each of the Tj$ commands used, and [3] Michael Vulis, "V'QjX Enhancements to the TpX which give a general commentary on the purpose Language." TUGboat 11(3):429-434 (September and implications of the code. The advantages of this 1990). approach are obvious: the reader is not bemused [4] Michael Vulis, "Should TpX be Extended?" by meandering discussions about topics which are TUGboat 12(3):442-447 (September 1991). as yet merely vague concepts, but is instead pre- [5] Philip Taylor, "The Future of 'QjX." TUGboat sented with real-life instances of TpX code and, at 13(4):433-442 (December 1992). the same time, shewn the typographic effects which this code accomplishes. Arvind prepares the reader for the eponomyous Examples with a mere 13 pages o Jon Radel P. 0.Box 2276 of introduction (14, if the preface is included) and Reston, VA 22090-0276 then plunges into his subject with vigour, presenting [email protected] as a first instance of his method the code and text which generate the facing page, which itself forms the introduction to Example 1. The code used in this first instance is both simple and powerful: much is achieved simply by \inputting two files, and more is achieved by assignments to (what are presumably) token-list registers and count registers. Sadly, at this point, it becomes only too clear that the mate- rial has not been proof-read by a expert: two glaring errors leap out from the very first page of code, and the aware reader is led to believe that the book may not turn out to be all that it is cracked up to be. The errors which so readily manifest them- selves are not critical-one, indeed, is simply that the comment on line 2 is apparently an echo of that on line 1, rather than being the correct comment for the second line, whilst the other occurs in the foot- notes, where \Endpage at line 26 is said to be 'an abbreviation for \hf i L \break ' (one suspects that it is really an abbreviation for \vf il\e ject). But

Qj$by Example: Borde, Arvind; 1992. Pub- lished by Academic Press at £13-00 (U.K.), $19-95 (U.S.); ISBN 0-12-1 17650-9; 178 pp; not quite as deep as Demi 4to. TUGboat, Volume 14 (1993), No. 1 21 another, more serious, infelicity dogs this very first as a bird's foot, by overstriking a and page-lack of consistency, in the use of three dif- a (doubtless mathematicians will rush to ferent variants of the assignment statement: with tell me the correct name for this symbol!). Here, a operator, with a , and with too, the first hint of sophistication appears, with the neither (lines 5, 30 & 32 respectively). This I re- bird's foot being defined as a \mathre1 operator, to gard as a serious error in any pedadogic work, but automatically achieve the most appropriate spacing. particularly in one which seeks to teach by example; Thereafter, each new page introduces new for not only is the reader led to believe that no one (and usually more sophisticated) techniques, whilst form is preferable to the others, but, more seriously, the markup moves from being purely functional doubt is raised in the percipient reader's mind as to to increasingly descriptive, high-level and content- exactly why the different forms are being used and oriented (which, interestingly, also models the de- what subtle distinction is being made (only much velopment of the typical (better) w practitioner). later, when the reader is already Wnically liter- I suspect that the mathematics becomes increasingly ate, will he or she come to realise that these differ- complex to match the increase in sophistication of ent forms merely represent an inexcusable example the markup, but as a non-mathematician I am not of what Fowler would term 'elegant varzatzon'). in a position to judge the truth of this assertion. On turning the page, we are presented with Example 7 marks a significant watershed in a fairly daunting demonstration of mathematical the development of the book: whilst all previous W and, on the facing (recto) page, the resulting examples have been in set in Computer Modern, (and somewhat less daunting) page of mathematics. Example 7 introduces for the first time the pos- To be fair, the mathematical !l$J is, upon closer sibility of typesetting in other fonts, being set in inspection, not particularly advanced, and indeed Computer Concrete with mathematics in AMS Eu- probably represents about as gentle an introduction ler. Example 8 continues this trend by being set to mathematical T)$ as might be reasonably ex- in Times Roman and MathTime, whilst Example 9 pected in a work of this nature; we are introduced is set in Lucida Bright and LucidaNewMath. Ex- to in-line and displayed mathematics, subscripts and ample 10 continues the exploration of new territory superscripts, the as implicit superscript, equa- by demonstrating the possibility of in-line POST- tion numbers, mathematical Greek, square roots SCRIPTgraphics and the inclusion of POSTSCRIPT and a bordered Hessian matrix. No attempt is made files. Examples 11 and 12 demonstrate an alterna- to factor out common elements at this stage, and the tive approach to graphics, using Michael Wichura's markup adopted is strictly functional. Again there -. Example 13 demonstrates the use of the are subtle inconsistencies: for example, a footnote LAW picture environment within the medium of refers to 'vo L . \ 28, pp. 68--96', with a control Plain m, and also gives samples of Piet Tute- space after vol . but a normal space after pp . ; thus laers' chess font. This concludes the diversion into vol. takes its correct, normal, space, whilst pp. graphics. takes a totally unjustifiable end-of-sentence space. Example 14 marks the second watershed in Finally on this page, we that in the footnote, the book, by considering for the first time formats 'Crelle's Journal'is letter-spaced by hand, other than Plain !QX, and in particular consid- with an explicit \thinspace (abbreviated to \ :) be- ers AMS-T)~X. Examples 17 and 18 demonstrate tween each pair of letters; this is consistent with some of the possibilities of UMS-TpX, and conclude the functional markup being used at this stage, Chapter 2 of the book (Chapter 1 was the Introduc- but nowhere, so far as can be determined from tion; Chapter 2 is composed solely of the Examples the index, does the author develop a more general from which the book takes its name). \letterspace command. Chapter 3 summarises the features of AMS- The next page introduces \display lines, yet, w,and compares and contrasts these with those remarkably, neither is it used to produce multi-line of Plain W; Chapter 4 performs a similar func- displays nor is its use justified in the footnotes in tion (although in less detail) for UMS-m and any way; the reason for its use at this stage re- AMSLAW. Chapter 5 is devoted solely to a discus- mains somewhat obscure. sion of fonts, including Computer Modern, POST- By the fourth page of code, macro definitions SCRIPT,American Mathematical Society (Euler and are introduced (by example, of course); one to place maths), Computer Concrete, LAW symbol, and the a bar at a constant height over its parameter, one 256-character DC/EC fonts, as well as the little- to use this bar in a frequently recurring expression, exploited but very powerful virtual font mechanism. and a third to produce what might best be described TUGboat, Volume 14 (1993), No. 1

Chapter 6 returns to the main theme of the than once, it warrants being given a name, both so book by documenting, in detail, the wniques that the reader can be certain that it is the same which were used to typeset the book; in particular, constant being referred to, and to protect the au- the method by which the 'page-within-a-page' for- thor from accidental changes to one instance of the mat was implemented, and all the 'assumed' macros constant not being reflected in all others. which were used to simplify and rationalise the The penultimate section of the book is a com- markup. Here may be found, for example, the prehensive bibliography, in which one is not sur- true definition of \Endpage (which turns out to prised to find Knuth's entries composing 42% of the be \vfil\eject as suggested above, rather than total; the majority of the other authors cited are \hf il\break as claimed within the text); here too recognised authorities in their own fields. may be resolved any other contradictions which may The final section is simply entitled 'Glossary/ have originated from an occasionally careless foot- Index', and one might be forgiven for initially afford- note. The code is excellently laid out using nat- ing it little interest. And yet, in the opinion of this ural indentation wherever possible, and frequently reviewer, this chapter represents one of the greatest (although not invariably) with vertical alignment of strengths of the whole book, for in its modestly- \if, \else and \f i (a technique which many other titled pages all relevant TEX primitives, Plain 7l&X authors would do well to consider). If I were to offer and A&-= commands, as well as those devel- any criticism of the layout of the code, it would be to oped specifically for this book, are discussed and/or suggest that the 'left-hand side' of a macro definition defined. Knuth's convention for denoting (\def, the control sequence or active character, and primitives is followed, and AhS-W com- the parameter list) is worthy of a line in its own right mands are tagged with a small AMS. In essence, it is whenever the replacement text of the macro runs to a mini TEX dictionary/encyclop~dia,and contains two or more lines; to concatenate it with the first line a wealth of invaluable information (with the occa- of the replacement text reduces the legibility of both. sional error) in its 110 pages. I might also suggest that open and close braces span- A comparison of Mathematzcal 7JjX by Exam- ning several lines of code are worthy of the same high ple with its earlier stablemate 7JjX by Example (of standards of alignment which are afforded to the which I received a complimentary copy by courtesy \if, \else, \f i referred to above: it is never easy of the author) yields some interesting comparisons: to find closing braces when they are both horizon- Arvind has clearly learned by experience, and in his tally and vertically displaced from the open braces second work avoids many of the slightly amateurish which they match. Considering the code itself, as touches which marred 7JjX by Example. Gone, for opposed to the manner in which it is presented, it is instance, is the double spacing which created such what might be termed true plain m:refreshingly a bad impression in much of the earlier work, and free of commercial-ats (except where they are essen- the overall trim size is reduced from (slightly less tial), no obvious obsession with \expandafter and than) Demi 4to. to (slightly less than) Crown 4to., its friends, and a level of sophistication which should leading to a much more manageable volume. The not be beyond the ambit of any potential reader- dropped caps, too, presented in a quasi-illuminated familiarity with w up to the level of \mark and manner, add a pleasing touch of class. its cohorts is all that is required. The same criti- In assessing the overall merit of a book such cism of inconsistency of representation as was made as this, one must consider various parameters: the of the main text is equally applicable here, however, intended audience, the value to such an audience, and amongst the more perplexing features are the the accuracy and precision of the text, the relevance author's occasional tendency to leave one space be- of the examples, and to a lesser extent, the degree tween a control word and a following close brace; un- to which the book overlaps others in its field and der normal circumstances this is perfectly OK, but outshines (or is outshone by) them. For Mathemati- one wonders why the author felt it necessary -only cal l&Y by Example, the intended audience is clear: in code considerably more sophisticated than that practicing mathematicians and mathematical secre- presented here might such a space become truly es- tarial staff who are, in the words of the author, 'al- sential. More seriously, the frequent use of two or ready broadly famzliar with the basic uses of l&Y more instances of the same explicit numeric, dimen- [and who seek an introduction to] additional tools sion or glue literal would suggest to the less-aware and techniques - maznly related to typesetting math- student of this book that it is safe to ignore what is ematics'. There is little doubt that such an audience generally regarded as a fundamental precept of good will derive great benefit from this book- it covers programming style: if a constant is to be used more a wide range of mathematical typesetting problems, TUGboat, Volume 14 (1993), No. 1 23

and gives not just a description of the Wniques which might be used to solve them, but instances Macros of the actual code; in that sense it is, therefore, a recipe book, and accordingly it possesses both the strengths and the weaknesses which typify books of The Bag of Tricks that genre. If the problem requiring a solution is covered in the book (i.e. if its recipe is given), then Victor Eijkhout the problem is completely solved; but if the problem A 144 point Hello! to you all. is not covered (i.e. if no such recipe can be found), On comp. text. tex I see with some regularity then the reader is left little wiser. Fortunately, by questions about actions on a whole page. For in- virtue of the very comprehensive GlossarylIndex stance, how to put a box around a page, or how with which this book concludes, this deficiency of to overlay a piece of text on each page. Here is a the recipe-book approach is mitigated, for even if solution based on redefinition of \shipout. Doing the exact problem is nowhere discussed within the things this way has the advantage that it does not Examples, there is an excellent chance that the el- depend on the format used. ements of the problem are at least alluded to in If you have more than one application like this, the Glossary/Index. Yet this approach, too, has its you could for instance put the following macros in a limitations: for example, the text on pages 16/17 file wholepage. tex: reads 'may be wrztten with the azd of a bordered \let\xshipout\shipout Hessian, as follows:', but if one turns to the Glos- \def\shipout{\futurelet\SomeBox\yshipout~ sary/Index, knowing full well that one needs to type- \def\yshipout set a 'bordered Hesszan', no such entry exists. One {\ifx\SomeBox\box is led round the houses, via \bordermatrix (which \let\next\ShipZero yields a dead-end, at least in the context of this \else \ifx\SomeBox\copy enquiry), via matrices (Plain w),to $\matrix$ \let\next\ShipZero (Plain) which finally yields the relevant page num- \else ber (amongst many others). The Glossary/Index \let\next\ShipAf terZero could therefore be improved (in the opinion of this \fi\fi reviewer) by containing key phrases which identify \afterassignment\next\setboxO= specific instances amongst the examples. In terms of accuracy and precision. the text is less than perfect, but is not so severely flawed as to render it useless; I recommend to Arvind that he employ a Wnically This saves the old \shipout, and defines a new one literate proof-reader for any future volume, for that first investigates what kind of box is coming whilst his approach is excellent, the inconsistencies up. This box is then put in \boxO, and a call to and occasional real errors which populate this book \Shipzero processes this and really ships it out by do tend to detract from its value. Finally. in terms of a call \xshipout\boxO. the competition. Mathematzcal T&Y by Example has For every specific application a definition of \Shipzero one great advantage: it (and its stablemate, Q!X by has to be made. Here is a way to do Example) are unique in their approach (at least, as overlays: far as I am aware: I have encountered no other TpX \newbox\OverlayBox books which seek to educate solely through exam- \def \Shipzero ple); for those, then. who prefer to learn by osmosis {\setboxO\vtop(\kernOpt \box03 rather than through orismology, this book is to be \setboxO\vtop{\kernOpt recommended, although perfectionists might do well \vtop to Opt{\kernOpt to wait for a second edition, in which one hopes the \copy\OverlayBox\vss) errors and inconsistencies will have been eliminated. \nointerlineskip \box03 \xshipout\boxO ) o Philip Taylor If you put these macros into a file overlay.tex fol- The Computer Centre lowed by a line \input wholepage, then you can RHBNC University of London make an overlay by, for instance Egham, Surrey TW20 OEX, U.K. \input overlay P.TaylorOVax.Rhbnc.Ac.Uk \setbox\OverlayBox \hbox to \hsizeC\hfil\tt TEST}