summaryrefslogtreecommitdiff
path: root/info/digests/texline/no14/contrary.tex
blob: 393ecacf51e2464b35f41bd7c35787d5e1789c53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
\hyphenation{Spivak}%
\title{\bf On Contrarian Views}
In a recent \TeXline\ Michael Spivak commented on the question of
extensions to \TeX\ (Ref.~1) and used a TUGboat article of mine
to illustrate his position (Ref.~2). Unfortunately, Dr~Spivak's
lack of scholarship and attention to detail necessitates both
comment and reply.

Dr~Spivak uses Ref.~2 as an illustration of a suggested {\it
extension\/} to \TeX\ that makes `$\dots$ \TeX\ do things 100\%
automatically that should be done 95\% automatically.' In  Ref.~2 I
issued a challenge to \TeX perts to develop a macro package for
automatic figure placement and gave specifications for the macro.
First, a macro is {\it not\/} an extension of \TeX\ in the sense that
is currently being discussed and about which Dr~Spivak is
complaining. Knuth, clearly provided for and intended that \TeX 's
capabilities be {\it expanded\/} using macros. Second, I am quite in
agreement with Dr~Spivak's 95/5\% automatic\slash manual rule as is
clearly indicated on p293 of Ref.~2 where in describing the Challenge
I said `The Challenge then is for the output macro gurus to write a
figure placement macro that incorporates items 1--3 above {\it (4 and
5 can be handled manually\/})'. Sounds to me like a request for a
95\%/5\% automatic\slash manual solution.

In Ref.~2 I used {\it Procedural Elements for Computer Graphics} (Ref.~3)
to illustrate the complexity of the typesetting job required by a
typical science/engineering text. Dr~Spivak obtained this book and
agrees that it is typographically complex. Unfortunately, he failed
to examine both the copyright page and the preface. Both clearly
state that TYX Corporation (and not me) typeset the book using \TeX.
In fact, the book was typeset using a version of \TeX\ based on
\TeX80 and not \TeX82. It is true that I specified that \TeX\ be used
and acted as the production controller on the book. Further, an
examination of the copyright date on {\it Procedural Elements for
Computer Graphics} and the date of the TUGboat article as well as the
use of the word `Current' in the section head on page 292 of the
article indicates that {\it Procedural Elements for Computer
Graphics} was not the current book.  If fact, {\it Procedural
Elements for Computer Graphics} was typeset in the 1983/84 time frame.

The book that generated {\it A Page Make-up Challenge} is {\it
Mathematical Elements for Computer Graphics} (Ref.~4). This book
is  even more typographically complex than {\it Procedural Elements
for Computer Graphics}. {\it Mathematical Elements for Computer
Graphics} was the first book that we personally typeset using \TeX. We
probably could not have picked a more typographically complex book to
cut our teeth on.  Which, brings me to Dr~Spivak's complaint about
|\vfill\eject|. He suggests that it is {\it shameful\/}
that the article appeared without the editor pointing out that
|\vadjust\eject| should be used instead. Well, the paper was
edited, by Barbara Beeton. At that time, I sure would have
appreciated that information from Barbara or even Dr~Spivak since it
would have saved a bit of manual work.

The |\vadjust| comment points out both one of the strengths of
\TeX\ and one of the serious weaknesses. \TeX's strength is that if
you are willing to regard \TeX\ as a typesetting {\it system} rather
than as a programming {\it language} and are willing to do a bit of
manual work, you can frequently find a solution to an immediate
problem. It may not be elegant, it might not even be efficient, but
it will work, get the job done, and allow you to meet the deadline.
The {\it shameful\/} weakness of \TeX\ is the index of {\sl the \TeX
book\/} compounded by Knuth's sometimes convoluted scattered writing
style.  As an example, try looking up `page make-up' in the index.
Eventually, you are led to the second and third paragraphs from the
bottom on page~109.  The third paragraph from the bottom suggests
that you use |\vfill\eject| and the second paragraph from the
bottom |\vadjust\eject|. {\it If} you don't already know
the answer, then |\vfill\eject| is the obvious first try with the
associated side effects and the iterative fix. We discovered
|\vadjust\eject| a few months after Ref.~2 appeared when I
sat down and reread the entire {\sl \TeX book\/}!!! Having now typeset
several books our page make-up skills are quite a bit better. Still,
manual work is required. Good automatic page make-up of
typographically complex books such as  {\it Procedural Elements for
Computer Graphics} and {\it Mathematical Elements for Computer
Graphics} is several years in the future -- if ever.

I am pleased to see that Dr~Spivak used the Challenge in Ref.~2 as a
starting point for his implemetation of an automatic figure placement macro
in \LamsTeX. Unfortunately, he totally ignores the fact that Joost
Zalmstra and I published an automatic figure placement macro called
|\figplace| in TUGboat in 1989 (Ref.~5). Further, we included
statistics on the efficiency of the algorithm. At that time roughly
85\% of the figures and tables in {\it Mathematical Elements for
Computer Graphics} were placed automatically using |\figplace|.
With additional experience and tweaking of the code roughly 95\% are
currently placed automatically. The remainder require manual work.
That's acceptable.

It's also unfortunate that Dr~Spivak, as well as many others, choose
to embed macros of this nature in large packages such as \LamsTeX,
\AmSTeX, \LaTeX, etc. I would rather see them made available as
self-contained modules that can be easily incorporated into macro
packages designed to accomplish specific purposes. Such
self-contained modules are much needed by the \TeX\ community.

Finally, because I am in basic agreement with Dr~Spivak, it is
unfortunate that he chose this particular article (Ref.~2) to
illustrate his position and thus necessitated this note. I agree that
{\it any\/} extension of \TeX\ should be very carefully considered in
the context of Knuth's purpose in developing \TeX\ i.e., to typeset
beautiful {\it books} not Time or Newsweek or the local newspaper. I
agree that good typesetting will {\it always} require a greater or
lesser degree of manual work depending on the desired quality of the
final product. I also agree that many of the called for {\it
extensions} of \TeX\ should be handled by manipulating the {\tt.dvi}
file with the output driver.

What I would like to see is more flexible and modern {\it
implementations} of \TeX, for example, a dynamic virtual memory
implementation that automatically shows me the results of an editing
change. Considerable computer power is needed to do this but that's
either available or coming soon. For short documents I almost have
this by using three windows on a Silicon Graphics Iris workstation. 
And no, I do not suggest a \wysiwyg\ system for \TeX.

{\frenchspacing
\def\item#1{\par\hangindent1.5em\hangafter1{\noindent
\hbox to 1.5em{#1\hfil}}}
\def\bibitem#1#2{\item{{#1}}{#2}}
\section{Bibliography}
\bibitem{1}{{\sc Michael Spivak,} {A Contrarian View On \TeX\
Extensions, \TeXline~13, September 1991.}}
\bibitem{2}{{\sc David F Rogers,} {A Page Make-up Challenge,
TUGboat, Vol.~9, No.~3., pp 292--293, 1989.}}
\bibitem{3}{{\sc David F Rogers,} {\it Procedural Elements for
Computer Graphics}, McGraw-Hill Book Co., New York, 1985.}
\bibitem{4}{{\sc David F Rogers \& J Alan Adams,} {\it
Math\-ematical Elements for Computer Graphics}, McGraw-Hill Book Co.,
New York, 1990.} 
\bibitem{5}{{\sc Joost Zalmstra \& David F Rogers,} {A Page
Make-up Macro, TUGboat, Vol.~10, No.~1, pp 73--81, 1989.}}
\author{David F Rogers}}