diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/digests/texline/no7/amy.tex |
Initial commit
Diffstat (limited to 'info/digests/texline/no7/amy.tex')
-rw-r--r-- | info/digests/texline/no7/amy.tex | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/info/digests/texline/no7/amy.tex b/info/digests/texline/no7/amy.tex new file mode 100644 index 0000000000..dd90dcf58b --- /dev/null +++ b/info/digests/texline/no7/amy.tex @@ -0,0 +1,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} |