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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
%\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
% T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\def\MT{Macro\TeX}
\centerline{\bf\MT}
\medskip\noindent
\MT\ is a new set of general purpose macros, designed for the person who
simply wants to create a normal looking book or report using \TeX\ without
going to the trouble of creating dozens (if not hundreds) of macros. Knuth,
quite correctly, gave us very low level and generalised tools when he wrote
\TeX, which has made it useable in such a wide variety of applications, from
Japanese to music. The two most famous general purpose macro packages are
\AmSTeX\ and \LaTeX, with the former concentrating specifically on the
facilities needed for AMS publications; both are freely distributed, and in
very wide use. What is the market, then, for a package that actually costs
money, and does the same sort of job? In this review, I will briefly outline
what it does, and how it compares against \LaTeX.
Amy Hendrickson's 4000 or so lines of
\MT\ came on an IBM PC floppy disc, in about 8 files,
easily transferred to the Sun 3/50 I used it on; I presume it could be
supplied on a Mac disc as well. The only `installation' needed was to edit the
main {\tt mt.tex} file to reflect the fonts I use. Here I had to do some work, as
\MT\ assumes you want either the AM or CM fonts, and has a number of
subsidiary font declaration files which optionally set up \PS\ fonts,
but only for headings and the like. To set it up to use our normal standard of
\PS\ Palatino, I had to rename all the fonts in the font declaration
file, and use a version of \TeX\ with a {\tt plain.tex} similarly doctored (as
of course Macro\TeX\ assumes the base set of 16 fonts in Plain \TeX); this
procedure would cause problems for a beginner who wanted to use a \PS\
printer, but of course the package as it stands will be fine for the great
unwashed who use the CM fonts.
All facilities are provided with
macros compatible with plain \TeX, so you can include your own macros
anywhere, and all plain \TeX\ commands. A clever feature is that all the
commands are known about in the main `|mt.tex|' file; all you need do is add
|\input mt|
at the start of your document, and subsidiary files will be pulled in only if
needed (saving memory).
\MT\ has the sort of facilities you would expect: style options (it defaults
to `documentation' but also has book, report, note (memorandum) and letter
styles); automatic sorting out of 4 or 5 levels of headings; nested lists;
cross-referencing; tables of contents etc.
More interesting are:
\item{$\bullet$}Modular page numbering (I--1, I--2 etc), coupled with facilities to insert new
pages (I--2a, I--2b, I--2c etc) at any point, obviously useful for software
documentors.
\item{$\bullet$}Floating figures, which can be wrapped around with text (so one can specify a
3$\times$1 inch box on the
right side of the page, and paragraph shapes change
accordingly).
\item{$\bullet$}Indexing and glossaries look quite sophisticated (I didn't try them).
\item{$\bullet$}Various verbatim environments for quoting code, including a feature to enclose
a code quote in a screen-shaped box.
\item{$\bullet$}Tables can be split over pages, and maintain their headings (Hendrickson has
had to modify the plain \TeX\ output routine slightly.
\item{$\bullet$}A number of macros for boxing text in more or less felicitous ways.
\medskip
These features are all documented in a manual created with \MT; it has to be
said that the manual is not very well organised --- it does not have an index
(madness!), and I have to say I find Hendrickson's layout style fairly
unpleasant; Americans seem very fond of large fonts, huge spacing and thick
lines around tables. Eventually one finds what one wants, and there are plenty
of examples (sometimes at the expense of an {\it explanation} of what is
happening); parameters that one can easily change are described, but if you
want to go further into customisation you will have to attack the sparsely
commented source.
The amount of customisation I had to do immediately to get
what I wanted (resetting values that the manual mentions) makes me think that
it won't be long before I am driven to the source, which is sad.
Hendrickson does, however, make a point of saying that she wrote \MT\ in a
modular way, so that hackers can use whole chunks (like the verbatim
environments) in their own macros. I have not yet succeeded in prising
anything loose from its setting to use in \LaTeX\ (I suspect multi-page tables
could be a major act of surgery all round), but I am sure it could be done.
You could even use the code just as a source of ideas---whatever the faults of
this package, Amy Hendrickson is no mean \TeX nician, and there is a {\it lot}
of work here.
Hendrickson is also a confirmed boxer; there are a number of different
macros for boxing text, either in-line or marginally; you can even
have a column of boxed text in-line, but it doesn't seem to work
quite as described in the documentation (another bug?). On a grander
scale you can create a `screen' box to emulate the appearance
of a terminal screen, suitable for software documentation (see the
example).
\midinsert
\vskip300pt
\endinsert
\MT\ is good for {\it ad hoc} layout of text;
lines may be typed one word per line and an
|\autoright|
takes care of the layout --- each input line is then
right justified. On the other hand |\autorighttab| does not work
as promised, it generates a \TeX\ error; and using |\fn| for
automatically numbered and incremented footnotes requires the
addition of an |\hfill| to sort it out: the footnote comes
out as
\hfil\break
\llap{$^1$}`The cape, Larry, go for the cape'\break
rather than\hfil\break
\llap{$^1$}`The cape, Larry, go for the cape'\hfil\break
(extraordinary!).
Of great interest are the tables; \MT\ is an interesting addition to the
repertoire of table description languages. Like {\sc unix} |tbl| it can maintain
tables over pages, with duplicated headings, but in
this case you have to decide the column widths (it wraps within the width). If
your table is single page, it will work out column widths (like |tbl| and
\LaTeX\ |tabular|), and if you have just numbers, you need not even bother
with column separators, just white space. Combinations of rules, spanning
columns and the like are caterered for, but the facility
to provide a template for a row (as in {\sc unix} |tbl| and \LaTeX\ |tabular|) to indicate that
(say) columns 3 to 6 are right justified is not as powerful as it might be.
In fact, when I used it, it ran my \TeX\ out of memory.
There is a facility to have text span several columns, but it just
generates complicated \TeX\ errors, so I gave up.
The table I tested these commands on was generated by the
Ingres database report writer, which inserted
the \MT\ commands; I would have got very bored with all the typing necessary.
The beginning of the table is shown in the screen box example.
Does it work as promised? More or less; the problems range from the irritating
(some commands seem to have to be on a line by themselves or they
do not work; I am sure there is rational \TeX planation, but I would prefer
things to be intuitive), through the buggy (the macro
|\dropcap|
to set a huge first letter of a paragraph simply does not work; the examples
have only one parameter, but the macro definition calls for two, and I cannot
work out what it wants), to the bizarre---the |\endverb| complement to the
|\beginverb| (not |\verb|
as in the manual examples!) verbatim environment construct simply does not get
defined in the macros, yet is called! It is, admittedly, only version 0.9,
but this sort of bug seems extraordinary. If you are a poor typist, the
extraordinarily long macro names may annoy (try typing
|\endautorighttab| several times).
I have not yet used all the facilities, and those I have tried did not
produce a very beautiful result at first, but I think with patience I could
get the package producing reasonable documents. Do I want to persevere? If I
did not have \LaTeX, I might be tempted, but after several books and many
smaller documents I have grown to admire Lamport's work. He did a much more
thorough and flexible job than Hendrickson, and if you want to produce a
substantial book, his system is probably better. \MT\ may tempt us, however,
with its better verbatim work, its indexing, its more flexible figures and
some features of its tables. In addition, it is compatible with plain \TeX,
which will endear it to those who dislike Lamport's arbitrary usurpation of
favourite macros, and his authoritarian `LL knows best' attitude
(a \LaTeX-compatible version is promised --- {\sc mwc}). All in all,
I think \MT\ probably {\it will\/} be worth the money as a source of ideas and facilities,
but is not complete nor yet reliable enough to be considered
as a daily production
system, and I certainly cannot recommend the current
version (unless all the bugs are my fault).
\MT\ will set you back something in the region of \$200 for a
single-user license, and more for a site license.
Amy Hendrickson is
{\obeylines
\TeX nology Inc
57 Longwood Avenue
Brookline
MA 02146
USA
}
\rightline{\sl Sebastian Rahtz}
|