<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%What is TeX and METAfont all about?    C.G van der Laan, cgl@risc1.rug.nl
\documentstyle[bezier]{article} %Version 1.1  Jan  94
\def\Dash{---}
\def\dash{--}
\def\address#1{#1}\def\netaddress#1{}\def\network#1{}

%Needed files: abr.tex, btable.tex, ds.pic, icon.tex, lit.dat, lit.sel,
%              lus.pic,  math.tex, pic.pic            (tugboat.sty/cmn)
%In final version all these files have been included, however.
%\input{abr.tex}   %Abbreviations from TUGboat.cmn
%\input{icon.tex}  %Icon macros
%\input{manmac.cgl}%Some boxing macros from manmac
%Input at the appropriate place
%   ds.pic    , picture inspired by David Salomon
%   lus.pic   , picture from lustrum paper
%   pic.pic   , picture from Furuta
%Input along the way  (within  \begingroup ... \endgroup)
%   btable.tex, bordered tabl macro (redefines \multispan!!!)
%   math.tex  , multipositioning of \eqalign (redefines centering needed)
%   lit.dat   , literature database (at the end)
%   lit.sel   , literature reference names pointing to the database.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcount\TestCount
\def\smc{\tensmc}
\def\SMC{\ninerm}
\font\tensmc=cmcsc10
%
%     *****  abbreviations and logos  *****
%

\def\AllTeX{(\La)\TeX}

\def\AMS{American Mathematical Society}

\def\AmS{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox
        {\the\textfont2 M}\kern-.125em{\the\textfont2 S}}
\def\AmSTeX{\AmS-\TeX}

\def\aw{A\kern.1em-W}
\def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley}

\def\BibTeX{{\rm B\kern-.05em{\smc i\kern-.025emb}\kern-.08em\TeX}}

\def\CandT{{\sl Computers \&amp; Typesetting}}

\def\DVItoVDU{DVIto\kern-.12em VDU}

\def\ISBN{{\SMC ISBN} }

%       Japanese TeX
\def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}}

\def\JoT{{\sl The Joy of \TeX}}

\def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em\the\scriptfont2 A}%
    \kern-.2em\lower.376ex\hbox{\the\textfont2 M}\kern-.125em
    {\the\textfont2 S}-\TeX}

%       note -- \LaTeX definition is from LATEX.TEX 2.09 of 7 Jan 86,
%               adapted for additional flexibility in TUGboat
%\def\LaTeX{\TestCount=\the\fam \leavevmode L\raise.42ex
%       \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
%       note -- broken in two parts, to permit separate use of La,
%               as in (La)TeX
\def\La{\TestCount=\the\fam \leavevmode L\raise.42ex
        \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}}
\def\LaTeX{\La\kern-.15em\TeX}

%       for Robert McGaffey
\def\Mc{\setbox\TestBox=\hbox{M}M\vbox to\ht\TestBox{\hbox{c}\vfil}}

\font\manual=logo10 % font used for the METAFONT logo, etc.
\def\MF{{\manual META}\-{\manual FONT}}
\def\mf{{\smc Metafont}}
\def\MFB{{\sl The \slMF book}}

%       multilingual (INRS) TeX
\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX}

\def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}MF}
\def\PCTeX{PC\thinspace\TeX}
\def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}\TeX}

\def\Pas{Pascal}

\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
\def\PiCTeX{\PiC\kern-.11em\TeX}

\def\plain{{\tt plain}}

\def\POBox{P.\thinspace O.~Box }
\def\POBoxTUG{\POBox\unskip~9506, Providence, RI~02940}

\def\PS{{Post\-Script}}

\def\SC{Steering Committee}

\def\SGML{{\SMC SGML}}

\def\SliTeX{{\rm S\kern-.06em{\smc l\kern-.035emi}\kern-.06em\TeX}}

\def\slMF{\MF}
%       Use \font\manualsl=logosl10 instead, if it's available,
%       for \def\slMF{{\manualsl META}\-{\manualsl FONT}}

%       Atari ST (Klaus Guntermann)
\def\stTeX{{\smc st\rm\kern-0.13em\TeX}}

\def\TANGLE{{\tt TANGLE}}

\def\TB{{\sl The \TeX book}}
\def\TP{{\sl \TeX\/}: {\sl The Program\/}}

\def\TeX{T\hbox{\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX}}

\def\TeXhax{\TeX hax}

%       Don Hosek
\def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}\kern-.2267emG}

%\def\TeXtures{\TestCount=\the\fam
%       \TeX\-\hbox{$\fam\TestCount\scriptstyle TURES$}}
\def\TeXtures{{\it Textures}}
\let\Textures=\TeXtures

\def\TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT}

\def\ttn{{\sl TTN}}
\def\TTN{{\sl \TeX{} and TUG NEWS}}

\def\tubfont{\sl}               % redefined in other situations
\def\TUB{{\tubfont TUGboat\/}}

\def\TUG{\TeX\ \UG}

\def\UG{Users Group}

\def\UNIX{{\SMC UNIX}}

\def\VAX{\leavevmode\hbox{V\kern-.12em A\kern-.1em X}}
\def\VorTeX{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}\kern-2.6pt\TeX}

\def\XeT{\leavevmode\hbox{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT}}

\def\WEB{{\tt WEB}}
\def\WEAVE{{\tt WEAVE}}
%********************************************************************
\def\icmat#1#2{%ICon MATrix(rectangular)
%#1 is ht of icon matrix, e.g. 4
%#2 is wd of icon matrix, e.g. 2
\vbox to#1\unitlength{\hrule
   \hbox to#2\unitlength{\vrule
     height#1\unitlength\hfil\vrule}%
           \hrule}%
}%end icmat
%
\def\icurt#1#2{%IConUpperRightTriangle
%#1 is ht of icon matrix, with UT
%the upper triangular part, e.g. 4
%#2 is wd of icon (upper triangular)
%matrix, e.g. 2
\vbox to #1\unitlength{\hrule
   \hbox{\picture(#2,#2)%
    \put(0,#2){\line(1,-1){#2}}%
    \endpicture\vrule}%
   \vfil}%
}%end icurt
%
\def\icllt#1#2{%IConLowerLeftTriangle
%#1 is ht of icon matrix, with LT
%the lower triangular part, e.g. 4
%#2 is wd of icon (lower triangular)
%matrix, e.g. 2
\vbox to #1\unitlength{\vfil
   \hbox{\vrule\picture(#2,#1)%
     \put(0,#2){\line(1,-1){#2}}%
     \endpicture}%
   \hrule}%
}%end icllt
%
\def\icuh#1#2#3{%IConUpperHessenberg
%#1 is size of icon matrix, with UH
% the upper Hessenberg part, e.g. 4
%#2 is wd of icon (upper Hesenberg)
% matrix, e.g. 1
%#3 is size Lower Left triangular part,
% #1-#2 (for simplicity the latter is added,
% could have been calculated, perhaps some
% inconsistency test could be incorporated)
\vbox to #1\unitlength{\offinterlineskip
   \hrule
   \hbox to#1\unitlength{\vrule height%
       #2\unitlength depth0pt\relax
       \hfil\vrule}%
   \hbox to#1\unitlength{\picture(#3,#3)%
    \put(0,#3){\line(1,-1){#3}}\endpicture
    \hfil\vrule}%
   \hbox to#1\unitlength{\hfil\vrule
     width#2\unitlength height.2pt\relax}%
   }%
}%end icuh
%
\def\hidehrule#1#2{\kern-#1\hrule
 height#1 depth#2 \kern-#2 }
\def\hidevrule#1#2{\kern-#1{\dimen0=#1
 \advance\dimen0 by#2\vrule width\dimen0}%
 \kern-#2 }
% \makeblankbox puts rules at the edges of
% a blank box whose dimensions are those
% of \box0 (assuming nonnegative wd,ht,dp)
% #1 is rule thickness outside,
% #2 is rule thickness inside
\def\makeblankbox#1#2{\hbox{\lower\dp0
 \vbox{\hidehrule{#1}{#2}%
  \kern-#1% overlap the rules at the corners
  \hbox to\wd0{\hidevrule{#1}{#2}%
  \raise\ht0\vbox to #1{}% set the vrule height
  \lower\dp0\vtop to #1{}% set the vrule depth
  \hfil\hidevrule{#2}{#1}}%
  \kern-#1\hidehrule{#2}{#1}}}}
\def\maketypebox{\makeblankbox{0pt}{1pt}}
\def\makelightbox{\makeblankbox{.2pt}{.2pt}}
\def\&lt;#1&gt;{$\langle#1\rangle$}
\def\cs#1{{\tt\char92#1}}
%
\def\mm{{\tt manmac}}
\def\mmt{{\tt manmac.sty}}
%For abstracting and customizing
%\def\head*#1*{\chapter*{#1}}
%\def\subhead*#1*{\section*{#1}}
%\def\subsubhead*#1*{\subsection*{#1}}
%\def\ftn#1{\footnote{#1}}
\let\ea=\expandafter \let\ag=\aftergroup \let\nx=\noexpand
%Customize footer
\def\pfoottext{NLUUG meeting Fall '93}
%
\begin{document}

\title{What is \TeX{} and METAfont all about?}
%\thanks{Paper to be presented at NLUUG meeting of 2 November, 1993.}
\author{Kees van der Laan}
\address{Hunzeweg 57, 9893 PB\\
        Garnwerd, Groningen (NL)\\
        +31 5941 1525}
\netaddress[\network{Internet}]{cgl@risc1.rug.nl}
\overfullrule0pt
%\begin{abstract}
%A survey of
%   \TeX,
%   its flavours, and
%   its twin sister \MF{},
%within the context of Electronic Publishing,
%is given.
%\end{abstract}
\maketitle
%\paragraph*{Keywords:}{\small \AmSTeX,
%education, electronic publishing, (La)\TeX, METAfont, (encapsulated) \PS,
% SGML, hypertext.}
\section*{Contents}%
\begingroup\small
Introduction\\
-- \TeX{} etc.{} tools\\
-- Importance\\
-- \TeX's flavours, drivers, and fonts\\
-- Descriptive mark-up\\
-- \TeX{} its author, users, and publishers\\
-- \TeX\ and other EP tools\\
-- Trends\\
-- Examples: generic format, and\\
\phantom{--} in the small math, tables, and graphics\\
-- Front \&amp; back matter \\
-- Guidelines for choosing\\
Acknowledgements, Conclusions, References.
\endgroup
\section*{Introduction}
This work about computer-assisted typesetting by \AllTeX{} and \MF{}
in context, is aimed at a broad audience.
Novice users \`a la
BLU\footnote{BLU is Knuth's nickname for the innocent user, the so-called
    Ben Lee User of the \TeX book fame, with BLUe its cousin, adopted by me.
    Nowadays we would say Beginning \LaTeX\ User.}
who like to become informed what it is all about,
advanced \LaTeX\ users who hardly have heard of \mm,
and mathematicians and publishers who will find the offerings
of the \AMS{} interesting.

There have been published many notes, articles and books about \TeX.
Advanced ones exploring \TeX's limits, and also contributions at
the survey and introductory level.
The latter deal with
the macroscopic mark-up features as well as
the microscopics of automatic kerning,
   for example with A and V in AV,
the automatic handling of ligatures,
the automatic justification and hyphenation
supported by hyphenation tables, and the formatting of
math, tables and graphics.
They also boast of the quality which can be
obtained when formatting the typographic teasers:
math, tables and graphics.

In the \TeX niques series we have the
tutorials:
A gentle introduction to \TeX, by Michael Doob, and
First grade \TeX, by Arthur Samuel.
For \LaTeX\ there is: An introduction to \LaTeX, by Michael Urban,
and---for the Dutch speaking community---Publiceren met \LaTeX, by
de Bruin.
Also noteworthy is Hoenig's \TeX\ for new users, and
the introduction chapter in Salomon's courseware Insights and Hindsights.
For \MF{} see Henderson's An introduction to \MF{},
Tobin's \MF{} for beginners, and Knuth's
introductory article on the issue in TUGboat.
A survey with respect to EP tools (Electronic Publishing) is
Document Formatting Systems:
Survey, Concepts and Issues, by Furuta and co-authors.

For trying it out and working with it, the user groups
distribute PD versions of (La)\TeX{} as well as
integrated working environments for PCs,
with all kinds of bells-and-whistles added.
Ubiquitous is Mattes' PD em\TeX, and the working environments
 As\TeX{} (apart from Framework it is
 in the Public Domain), next to the Dutch 4\TeX{} (which is shareware).

This paper  relates \TeX{} and \MF{} to EP,
SGML and the like, as a helicopter view, and accounts for the many
activities of its users.
At the end an annotated bibliography has been supplied.

\paragraph*{Conventions and notations.}
I adhered to the historical development of \TeX\ et cetera,
and did not order the tools with respect to perceived importance.
The latter is a matter of taste and definitely time-dependent.

The Contents list is not a one-to-one mapping of the section titles.
It is used to stress the main items and their treatment within a logical
hierarchy.
I clustered some section titles and subsection titles, whenever
convenient, to enhance readability.
The aim was to convey the contents and not so much the form,
to paraphrase Marvin Minsky.

Because it is a `helicopter' view I need to refer to other work.
This has been done a little loose via the name of the
(first) author and the title, or keywords form the title.
The reader can easily spot from the supplied list of references
which work is hinted at.
Just start by the author name and look for the matching title.
I also did not bother about traditions which require that book titles are set
in italics or so. In my opinion to find out whether it is a book, a report or
a journal article follows easily from the ISBN number if provided,
respectively the journal name.
Hereby I assume that readers are familiar with some
journal names, for example TUGboat, the journal of the \TeX\ Users Group.

For common words in the \TeX\ arcana\Dash like \TeX, \LaTeX,
\AMS, et cetera\Dash I adopted the TUGboat
typesetting conventions by using their macros for formatting these names.
File names are set in the \cs{tt} font.

\section{\TeX{} etc.{} tools}
First of all \TeX\ etc.\ has been around  for some  fifteen years,
and many of its users have contributed to the components
and to the porting to many platforms,
with the result that it is
not easy to really survey the whole complex.

Going back to the roots we can say that
\TeX\ is a program for formatting documents,
born as a twin with its sister \MF, for creating fonts.
\TeX\ and \MF{} have been designed to facilitate the
high-quality computer-assisted production of books.
A more modern way of talking is that \TeX\ is
a mark-up language with \MF{} the accompanying
tool for designing the needed graphics, starting with the fonts.

A nice survey of the most important components and files when working with
\TeX\ is supplied by the accompanying diagram,\footnote{Inspired by
   Salomon's diagram as supplied in his courseware: Insights and Hindsights.}
which illustrates the two main fields: font design and typesetting, with
the relations between the components and files, all in one, and abstracting
from details.

\noindent
%Version Aug 93    cgl@risc1.rug.nl
\begingroup%Basically Salomon's diagram
%\Large\setlength{\unitlength}{3ex}
       \setlength{\unitlength}{3.8ex}
\begin{picture}(14,16)(-.5, -3)
%1st column
\put(1, 0){\line(0, 1){1.5}}
\put(1, 2){\oval(2, 1)}
\put(1, 2){\makebox(0, 0){.pk}}
\put(1, 4){\vector(0, -1){1.5}}
\put(-.5, 4){\framebox(3, 1){METAfont}}
\put(1, 6.5){\vector(0, -1){1.5}}
\put(1, 7){\oval(2, 1)}
\put(1, 7){\makebox(0, 0){.mf}}
%second column
\put(7.5, -.5){\framebox(2, 1){driver}}
\put(9.6, .6){\line(-1, 0){.5}}
\put(9.6, .6){\line( 0, -1){.5}}
\put(9.7, .7){\line(-1, 0){.5}}
\put(9.7, .7){\line( 0, -1){.5}}
\put(8.5, 1.25){\vector(0, -1){.75}}
\put(8.5, 2){\oval(2, 1)}
\put(8.5, 2){\makebox(0, 0){.dvi}}
\put(8.5, 4){\vector(0, -1){1.5}}
\put(7.5, 4){\framebox(2, 1){\TeX}}
%Manmac
\put(9.75, 5.25){\line(-1, 0){1.25}}
\put(9.75, 5.25){\line( 0, -1){.5}}
\put(9.75, 4.75){\line(-1, 0){.25}}
\put(9.8, 4.75){{\tiny manmac}}
%LaTeX
\put(10, 5.5){\line(-1, 0){1.25}}
\put(10, 5.5){\line( 0, -1){.5}}
\put(10, 5){\line(-1, 0){.25}}
\put(8.75, 5.5){\line( 0, -1){.25}}
\put(10.1, 5){{\tiny \LaTeX}}
\put(10.25, 5.75){\line(-1, 0){1.25}}
\put(10.25, 5.75){\line( 0, -1){.5}}
\put(10.25, 5.25){\line(-1, 0){.25}}
\put(9, 5.75){\line( 0, -1){.25}}
\put(10.35, 5.35){{\tiny AMS-(La)\TeX}}
%
\put(10.35, 5.85){\hbox{.}\kern.1ex
\raise.5ex\hbox{.}\kern.1ex\raise1ex\hbox{.}}
%
\put(8.5, 6.5){\vector(0, -1){1.5}}
\put(8.5, 7){\oval(2, 1)}
\put(8.5, 7){\makebox(0, 0){.tex}}
%
\multiput(8.5, 9)(0, -.415){3}{\line(0, -1){.25}}
\put(8.5, 8.7){\vector(0, 1){.3}}
\put(8.5, 7.8){\vector(0, -1){.3}}
\put(7.5, 9){\framebox(2, 1){editor}}
%Spelling checker
\put(9.75, 10.25){\line(-1, 0){1.25}}
\put(9.75, 10.25){\line( 0, -1){.5}}
\put(9.75, 9.75){\line(-1, 0){.25}}
\put(9.85, 9.75){{\tiny spell}}
%Style checker
\put(10, 10.5){\line(-1, 0){1.25}}
\put(10, 10.5){\line( 0, -1){.5}}
\put(10, 10){\line(-1, 0){.25}}
\put(8.75, 10.5){\line( 0, -1){.25}}
\put(10.1, 10){{\tiny style}}
%
\put(10.1, 10.6){\hbox{.}\kern.1ex
\raise.5ex\hbox{.}\kern.1ex\raise1ex\hbox{.}}
%
\put(8.5, 11.5){\vector(0, -1){1.5}}
\put(8.5, 12){\oval(2, 1)}
\put(8.5, 12){\makebox(0, 0){copy}}
%basis
\put(1, 0){\vector(1, 0){6.5}}
\put(9.5, 0){\vector(1, 0){1.5}}
\put(11, -.75){\framebox(2, 1.5){}}
\put(11.25, -.4){\shortstack{\small printer\\\small screen}}
%middle
\multiput(5, 5.25)(0, 1){3}{\line(0,1){.5}}
\multiput(5,  .25)(0, 1){4}{\line(0,1){.5}}
\multiput(5, -1.75)(0, 1.3){2}{\line(0,1){.2}}
%
\put(3.5, -1.250){\dashbox{.25}(3, .5){{\tiny \PS}}}
\multiput(6.5, -1)(.45, 0){4}{\line(1,0){.25}}
\put(8.5, -1){\line( -1, 0){.2}}
%
\put(8.5, -1){\vector(0, 1){.5}}
\put(2.5, 4.5){\vector(1, 0){1.5}}
\put(5, 4.5){\oval(2, 1)}
\put(5, 4.5){\makebox(0, 0){.tfm}}
\put(6, 4.5){\vector(1, 0){1.5}}
\put(9.5, 4.5){\vector(1, 0){1.5}}
\put(12, 4.5){\oval(2, 1)}
\put(12, 4.5){\makebox(0, 0){.log}}
%base line
\put(.51,-1.75){\vector(-1, 0){1}}
\put(2.25, -1.75){\makebox(0, 0){Fonts}}
\put(3.9,-1.75){\vector( 1, 0){1}}
\put(6.1,-1.75){\vector(-1, 0){1}}
\put(9, -1.75){\makebox(0, 0){Typesetting}}
\put(11.9,-1.75){\vector(1, 0){1}}
\end{picture}
\endgroup

\noindent That is
\begin{itemize}
\item the flow from copy to printed results
\item  where the editor and its associated tools come in
\item the location of \TeX\Dash its flavours, and add-ons\Dash at the heart
\item what is used from \MF{} and where
\item the printer independence via various drivers
\item at what level \PS{} can be included.
\end{itemize}
The important files are indicated by their extensions and are
depicted within ovals. What holds for creating the \verb|.tex| file
holds also for the \verb|.mf| file.\footnote{Not mentioned are vir\TeX\
   and ini\TeX. Erik-Jan Vens communicated the following functionalities
   on the TeX-nl network: `Ini\TeX\ allows preparing and fast loading
   of {\tt .fmt} files. Vir\TeX\ is a program that can accept fast
   your macros and then do the typesetting job proper.'}

\subsection{Working environments.}
The needed tools are nowadays embedded in
computer-assisted (scientific) working environments.
At first sight this seems trivial, but it is really handy that the tools
are integrated, also with non-formatting applications per se, such
as email, database applications and the old running of C or FORTRAN programs.
A model of thinking is that, for example, a thesis is prepared and all
the simulations and calculations are done as a side-step of the main work:
publishing! That is document preparation, formatting, typesetting, and
dissemination.
The graphics-oriented PCs like Macintosh and Atari paved the way.
Nowadays the 486-based PCs with their (graphics) window facilities allow
this way of working too.

\subsection{Installation.}
The products are usually accompanied by their installation documentation.
Famous, and top class, are the AMS installation Guides.
With the PD PC versions the idea is to supply turn-key scripts so that
the installation goes automatically.
&gt;From those distributed by the TUG/LUGs the only nice one
I have seen is the GUTenberg  PD PC set and installation guide,
prepared by Lavaud. Installation of the working environments is more
complicated, because of the many components.

\subsection{Lifetime.}
The kernel \TeX\ and \MF{}
programs have been designed with flexibility and portability in mind.
Knuth envisioned that the two could be used a hundred years from now,
just as we do today, with the same
input and  results!\footnote{Or better.}
In order to make this possible Knuth
\begin{itemize}
\item invented the \WEB{} literate programming way of working
\item documented the programs (open system) well
\item worked hard on making the systems error free
\item delivered the twins into the public domain, and
\item froze the kernels.
\end{itemize}
Because of these goodies the user community could port the systems
to any conceivable platform, and add layers on top
to adjust for  users' wishes and demands. All-in-all one can say
that the twins are  portable in place and time, are powerful, useful,
and will serve a lifetime.

The working environments suffer from a much shorter lifetime.
Read: need continuous maintenance and that is something, especially in
a volunteer-based world.
It is always
a matter of the right balance: how fast do I need to do the day-to-day
work and how often do I wish to upgrade the working environment.

\section{Importance}
&gt;From the computer science point of view
\TeX\ and \MF{} are big research achievements
in how software engineering should be done,
if not for the literate programming way of software design and creation.
Top-class algorithms for line-breaking, hyphenation and page make-up
have been incorporated.
It is designed to be device-independent.
That Knuth succeeded so well in his basic research can be witnessed
by the many publications which
have been built upon his Computer and Typesetting works,
and the many honorary degrees he has received.

&gt;From the users' point of view \TeX\ etc.\
is relevant because of the quality which
can be obtained when used as a formatter.
\TeX\ is an open and freely available system.
It has been frozen, and delivered into the public domain to serve
for a lifetime.
That Knuth succeeded here so well can be distilled from the many organized
users of \AllTeX\ world-wide, and perhaps the tenfold more who
just use the systems.

Its weakness is that \TeX\ proper does {\em not\/} have easy user guides.
This weakness has been compensated for by efforts like \LaTeX,
\AmSTeX/\LaTeX, and the styles from publishing houses and their user and
installation guides.
%\begin{quote}
Perhaps an unexpected side-effect of \TeX\ is that it is so heavily used
with alphabets different from Latin, and even with scripts
which run from right to left (Hebrew) or scripts which run vertically
(Japanese), not to mention specific hyphenation patterns.
%\end{quote}
That \TeX\ allows for these usages might give an idea of its power.

&gt;From the publishers' point of view \TeX\ has the potential of being used
for producing complex scientific documents cost-effectively.
This is the current practice of the \AMS,
and the American Physical Society, APS for short.
They  supply authors with
\begin{itemize}
\item user and installation guides
\item fonts
\item style files
\item templates, and
\item support, in general.
\end{itemize}

\paragraph*{The advantages}can be summarized as
\begin{itemize}
\item high-quality craftsman tool
\item lingua franca for exchange of typographically complex documents
\item stability (\TeX{} kernel has been frozen)
\item open system
\item available for nearly all platforms
\item in the public domain
\item portable, flexible, extensible, \ldots
\item 7.5--10k organized users world-wide
\item cost-effective production tool.
\end{itemize}

\paragraph*{Disadvantages}are there any?
Of course there are. But it is questionable
whether one should talk about disadvantages.
Perhaps one should talk more in terms of incompleteness.
\begin{quote}
What is felt like an omission can be added,
because it is an extensible system.
\end{quote}
I for one miss that \mmt---Knuth's macros for formatting his books---doesn't
take a user guide, nor does plain \TeX.
Of course there is the \TeX book---the bible for the \TeX ies---but that does
{\em not\/} hide the details---it is all there, for the beginner as
well as for the advanced macro writer---which is confusing
and simply too much for a novice. In summary
\begin{itemize}
\item \AllTeX\ is not
      WYSIWYG-like\footnote{Usually commercial.}
\item unusual macro language\footnote{It is always a matter of education,
      and after that the {\em un\/}usual issues metamorphose into paradigms.}
\item complex: $\approx$ 1k commands, parameters, \ldots\footnote{Abstraction,
   subsetting and user guides\Dash like those of \AmSTeX\Dash are needed.
   Tools which concentrate on the publishing goal and not so much on
   understanding and learning the formatting language per se.}
\end{itemize}
So its incompleteness is a challenge to all of us, to fill it up.

It is true, however, that professionals have found some niches which deserve
further research and development. Surveys on these items are provided in
the E-\TeX\ paper by Mittelbach, and the New Typesetting System efforts
initiated by the German-speaking users group DANTE.
Also noteworthy is the effort to improve
\LaTeX\ via the so-called \LaTeX3 (better known as lxiii) project.

One can also argue that delving into these details is sub-optimization,
concentrating too much on the mapping onto paper. Bigger issues are
related to the multi-media aspects, let us say to represent information
in a flexible way such that it can be processed by various technologies,
into forms suited for various users, their circumstances and their
tastes, limited only by their senses.
I like to call this {\em real\/} applied information technology:
information to be accessed by the masses.

\section{\TeX's flavours}
\TeX\ has gotten its children already, like \mm, \LaTeX, and
\AmSTeX/\LaTeX, to name but a few.
As usual with children they live their own lives.
For \TeX\ this means that they have the confusing
side-effect of not being completely compatible.
In spite of this incompatibility reality has it that authors and publishers
make their choice---\TeX-based, or \LaTeX-oriented---and therefore
the incompatibilities don't hinder most of us.

\paragraph*{\mmt} is a set of macros
written and used by Knuth to format his magnum opus:
The Art of Computer Programming,
his Computers and Typesetting series,
and so on. For an account see my Manmac BLUes.

\paragraph*{\LaTeX}stresses the higher-level approach of descriptive mark-up
and hides the formatting details as much as possible from an author.
Because of the rigorous way this has been implemented,
it is  hard to customize the prefab styles.

Leslie Lamport's manual, \LaTeX, A Document Preparation System,
exhibits the functionalities
\begin{itemize}
\item prefab styles: article, book, letter, report, slides
\item automatic (symbolic) numbering and cross-referencing
\item multi-column formatting, with its embedded 1-column occasionally
      for tables and figures
\item automatic generation of ToC, LoT, LoF
\item picture environment
\item bibliography environment.
\end{itemize}

\paragraph*{\AmSTeX/\LaTeX}are the tools of the
pace-setting American Mathematical Society. This publisher adopted
and supported the \TeX\ development from the beginning. (See below
under \TeX\ and its publishers.)

\paragraph*{\LAMSTeX} reimplemented in a flexible way
  the descriptive \LaTeX\ approach, next to
  a general automatic numbering and symbolic referencing scheme,
  advanced table macros, and
  sophisticated commutative diagram macros.
  See my review of Spivak's \oe uvre
  for more details about the Joy of \TeX\ and \LAMSTeX---The Synthesis.

\paragraph*{In summary}
\begin{itemize}
\item \mmt, Knuth's format
\item \LaTeX, descriptive mark-up, and user's guide
\item \AmSTeX/\LaTeX\ styles and fonts, with support
\item \LAMSTeX
\item TUGboat styles
\item PD software and working environments
\end{itemize}

\section{\TeX's drivers}
Normally the drivers come with your \TeX\ when you buy it.
With the PD versions, users have to be aware of the PD available drivers,
for the various PCs and printers,
unless your user group provides you with an
integrated working environment which contains all.
For a survey of the available `Output device
drivers' see Hosek's paper in TUG's resource directory.
He details drivers for
\begin{itemize}
\item laser xerographic and electron-erosion printers
\item impact printers and miscellaneous output devices
\item phototypesetters
\item screen previewers
\end{itemize}
\noindent and ends up with supplier information.
Joachim Schrod reported in TUGboat 13, 1,
(early 1992) from the TUG DVI driver standards committee.

Well-known is the PD Beebe driver family. em\TeX\ comes with some
drivers for dot matrix printers and the HP LaserJets.

At the TUG '92 meeting the attendees were surprised by Raman's paper
`An audio view of (La)\TeX\ documents.' It has all to do with
representing the contents of a publication for the blind.

With respect to \PS\ the \verb|dvitops| driver is important. Formerly,
I also used \verb|dvitodvi| in order to print out selected pages.
Now I use \mm's facility to do that which is essential
simpler for that purpose because it ships out only the required pages.

\section{\TeX{} and fonts}
&gt;From the beginning Knuth provided \TeX\ with the computer modern family of
fonts. These fonts can be generated, and varied via \MF,
by adjusting some parameters.
Since the introduction of the virtual font concept, in revision '89
better known as \TeX{} version 3,
many industrial fonts can be used as well.
Via this mechanism, font elements can be combined at the driver level.
The need for handling in a flexible way the positioning of diacritical marks
was the incentive for adding the virtual font concept, to make it
feasible to handle languages with their own special placements of
diacritical marks without the need to
regenerate complete new fonts.
The other way is to generate complete font tables for every language,
which is a perfectly acceptible way of doing it,
but will entail many font tables and
of larger size.\footnote{Reality has it that the \TeX\ community standardized
   on the 256-character DC font tables, to allow for some special characteres,
   like the use of the ij in Dutch. See Haralambous' paper in TTN 1, 4.
   An entirely different approach is needed for the Japanese ideograms,
   that is symbols representing things or ideas. At present there are some
   6,353 kanji characters available on various types of computers known
   as JIS level 1 or 2 (Japanese Industrial Standard is akin to ASCII.)
}

However, since \TeX\ is used for more and more applications
the need for more fonts\Dash different shapes, sizes and so on\Dash
has emerged.
Using standard bitmap technology much computer memory is needed.
Reality has it that scaling fonts linearly does not yield
pleasing results.
To compensate for this the intelligent scalable fonts technology emerged%
---near-linear and intelligent, that is with some enhancements---%
as opposed to the classical memory-consuming bitmap fonts, extended by
the linear scaling as such.

Also the mark-up for fonts has gotten a new dimension: the linear space of
available fonts is seen as a 4-dimensional space governed by the coordinates
family, serie, shape, and size. The approach goes with the buzzword NFSS,
New Font Selection Scheme (See Goossens, Mittlebach and Samarin).

\paragraph*{Which fonts can be used with \TeX?}
The following classes of {\em text\/} fonts can be used with \TeX
\begin{itemize}
\item CM, the native Computer Modern
\item 14,000 fonts in industry standard Adobe type 1
\item several hundreds in formats such as TrueType.
\end{itemize}
(Very) few fonts can be used with math,
because of the specialities of the
font characteristics \TeX\ assumes.
However, the following fonts can be used with math
\begin{itemize}
\item CM math, the native Computer Modern
\item lucida math
\item lucida newmath
\item mathtimes.
\end{itemize}
For more details see Horn's Scalable outline fonts paper, and for Japanese
Fujiura in TTN 1, 2.

\section{Descriptive mark-up}
Since the start of computer-assisted typography attention has been paid
to abstraction from details, to the principle of the
{\em separation of concerns}.

Leading in this area is the SGML approach.\footnote{The relation
   between SGML and \TeX\ will be discussed later.}
It is argued that
\begin{quote}
authors should concentrate on the contents\Dash and inherently on the
structure\Dash of their documents, leaving the details for formatting
to the publisher.
\end{quote}

\paragraph*{Example:}(Call for papers, Furuta)
\begingroup\small\begin{verbatim}
\input cfp.tex%contains format and macros
%next copy proper
The aim of this paper...

Paper are solicited on ...
\lstitm Picture editing
\lstitm Text processing
\lstitm Algorithms and software...

Detailed abstracts should not ...

Duration of presentation...
\bye
\end{verbatim}\endgroup
The above example is a mixture of natural input, where blank lines
have an intuitive but context-dependent meaning, and of
handling trivia automatically behind the scenes.
An example of a default is the heading.

For this format the heading is always the same,
so there is no need for a user to provide it each time the format
is used. It comes along with the format.
So do the fonts used and the shortcuts
like \verb|\def\lstitm{\item{--} }|.

My approach looks simpler than Furuta's\Dash in that paper all the low-level
  formatting details were there\Dash
because I applied the principle of the separation of concerns
and abstracted from the low-level formatting details.
The point I'd like to make is that it is possible to hide
formatting details, to account for these separately and at a lower level.
I like to call this approach generic, because the mark-up is customized
at a lower level to the suited tool.

\section{\TeX\ and its author}
Don Knuth started the design of \TeX\ in 1978.
The first major revison  dates back to  1982.
The final version is dated 1989, and called \TeX\ version $\pi$.\footnote{%
   Essentially version 3, but because reality has it that even Knuth
   `makes errors' he allows for adjusted versions denoted by the decimals of
   $\pi$: 3.1, 3.14, 3.141, et cetera.}
It is all a side-step(!) of his magnus opus: The Art of Computer Programming,
of which three volumes have appeared of the envisioned seven.
Because of the rapid development in computer science volume four consists of
three books already.

In designing and developing \TeX,
Knuth adhered to several software engineering paradigms like:
portability, flexibility, robustness, and not to
forget correctness and documentation.\footnote{The software crises of the
   seventies suffered much from inadequate documentation.}
In order to do this gracefully
he coined the words {\em literate programming},
and provided en-passant tools for practical use!
In fact \TeX\ can be seen as
a real-life and significant example of literate programming.

In designing \TeX\ he adopted and developed the following
\begin{itemize}
\item boxes, glue and penalties as building blocks
\item paragraph-wise searching for line-breaks
\item page mapping via the OTR,\footnote{A buzzword to denote the
      output routine which performs this task.}
      optimizing for least penalties
\item device-independent output, to be printed, typeset, or viewed,
      by independent driver programs
\item virtual fonts.
\end{itemize}
\noindent \TeX\ was developed as a side-step. \MF{} can be seen as
an off-off-spring.

\section{\TeX{} and its users}
It is unknown how many people use \AllTeX, and for what purposes.
We know, however, that it is used all over the world, to typset
\begin{itemize}
\item scientific documents, exchange
      and publish such documents\footnote{For an impression of
   published books formatted via \TeX\ see Beebe's bibliography
   in the TUG resource directory.}
\item documents which require special fonts and layout
      conventions, like Japanese, Arabic, Hebrew and so on
\item transparencies and slides
\item material associated with a
      hobby (bridge, chess, crosswords, go, music, and add yours).
\end{itemize}
\noindent A great virtue of the users' action is
\begin{itemize}
\item the porting to various platforms
\item to provide macros, fonts and formats
\item to maintain \LaTeX
\item to ponder about and develop New Typsetting Systems
\item to develop and maintain integrated working environments.
\end{itemize}

\paragraph*{The user groups.}We also know that many users have
organized themselves into user groups,
to start with the original \TeX\ Users Group (TUG),
and more recently into so-called LUGs---language-oriented
local user groups.
The Dutchies are organized since 1988 as the NTG,
Nederlandstalige \TeX\ Gebruikersgroep, that is Dutch language-oriented
\TeX\ Users' Group. We enjoy some 225 members of whom are 30 institutions.
\\
World-wide some  7.5--10k users are organized.
\\
The benefits of being organized, apart from those which come
from cooperation and sharing in general, are
\begin{itemize}
\item meetings
\item TUGboat, newsletter, casu quo bulletins, `specials'
\item resource directory (information about the (La)\TeX\ working environments
      of members, their addresses and similar things)
\item TUGboat styles
\item assistance\\
      -- archives\\
      -- BBS  (Bulletin Board Services)   \\
      -- digests \\
      -- FAQs (Frequently Asked QuestionS)
\item courses
\item PD sets (Public Domain)
\item distributing point books (tutorials), software.
\end{itemize}
\noindent
Moreover, the user groups stimulate and support research and development,
such as  the projects: \TeX HaX, \BibTeX,
and more recently \LaTeX3, and NTS.
&gt;From the social side we have the TUG  bursary fund,
to grant attendence for a TUG meeting for those TUG members who can't
afford it, next to the Knuth Scholarship award. The latter is a competition
which rewards the winner with attending a meeting for free.

\paragraph*{Some addresses?}
\begin{quote}
TUG: Balboa Building, Room 307, 735 State Street, Santa Barbara, Ca 93101, USA,
     {\tt tug@tug.org}\\[1ex]
NTG: Postbus 394, 1740 AJ Schagen,  {\tt ntg@nic.surfnet.nl}.
\end{quote}
For other addresses consult the resource directory of TUG, or
your friendly NTG around the corner.

\subsection{Add-ons}have been provided by the user communities.
They have also supplied mutual support, and have provided logistic facilities.
The latter is not restricted to \AllTeX\ proper.
It is about the general use of the electronic networks
\begin{itemize}
\item exchange via e-mail
\item electronic digests and list servers
\item the file servers, which store all the macro and style files.
\end{itemize}
Really, very nice goodies! The proper add-ons concern
\begin{itemize}
\item porting the complex to every system, especially the affordable
      and widespread PCs
\item macro and style files\footnote{A survey of what is provided is contained
   in the so-called Jones' index, and Beebe's TUGlib.}
\item extra fonts, casu quo font couplings via virtual font scripts
\item WYSIWYG user interfaces (commercial)
\item \TeX-based PD/shareware working environments
\item language-specific issues (hyphenation patterns, reserved words, \ldots)
\item drivers for new printers
\item \PS{} etc.{} inclusion at the dvi level.
\end{itemize}
And the end is not yet in sight.


\section{\TeX{} and the publishers}
The importance of the \AMS{} effort is that the AMS is leading in how (La)\TeX\
can be used cost-effectively as a
high-quality tool in a production environment:
publishers cooperating with authors.

As I understand it the American Physical Society is following
the AMS approach.

At the TUG '91 meeting at Boston, it was estimated that commercial publishers
handle some 5 to 10\% of their (scientific) production via (La)\TeX.

And in the CIS---Commonwealth of Independent States, the former Russia---MIR
has adopted the AMS approach as well.
And then there is the Ukraine group to be founded officially this fall,
and undoubtedly more to follow.
%
\paragraph*{The \AMS}do their
complete production via \TeX: $\approx$100,000 pages/year,
 and provide authors with
\begin{itemize}
\item (generic) styles
\item macros, and fonts
\item user guides
\item support (keyboarding, mark-up, fine-tuning).
\end{itemize}
The approach can be depicted by the following scheme
$$\hbox{\vbox{\lineskip.5\lineskip
\hbox to15ex{\hss author(\TeX)\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\tt amsppt.sty\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\tt amstex.tex\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\TeX\hss}
}\qquad\qquad\qquad\qquad\vbox{\lineskip.5\lineskip
\hbox to15ex{\hss author(\LaTeX)\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\tt amsart.sty\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\llap{{\tt amstex.sty}$\,%
\rightarrow\;$}\LaTeX\hss}
\hbox to15ex{\hss$\downarrow$\hss}
\hbox to15ex{\hss\TeX\hss}
}}$$
They also supply fonts: Euler, Fraktur, \ldots

For more details
consult the AMS sources or see my AMS BLUes paper on the issue.

\paragraph*{The American Physical Society}handle some 20\%
of their production via \LaTeX. They cooperate with The Optical
Society of America and the American Institute of Physics.
Their style is called REV\TeX.

\paragraph*{MIR}publishers Moscow---the driving force
behind CyrTUG, the Cyrillic language-oriented \TeX\
users group\footnote{See also `News about CyrTUG and Russian \TeX\ Users'
   in TTN 2, 1.}---translated Spivak's The Joy of \TeX\
into Russian among others.
I would not be surprised to hear that they do the
production of their scientific documents with \TeX\ too, completely.
They have the knowledge and \TeX nology. And \TeX- and \MF-based
technology does not require much hard currency for investment.

\paragraph*{JTUG?}And what is going on in Japan?
The JTUG has at least .5k members.\footnote{See also `Update of \TeX\ in Japan'
   TTN 1, 2.} They have translated among others the \TeX book and the
   \LaTeX\ manual into Japanese.
Some years ago I received a Japanese newspaper set by J\TeX!

\section{\TeX\ and other EP tools}
Furuta gives a good account of the history and early tools
in relation with computer-assisted typesetting. However, since the appearance
of that paper
\begin{itemize}
\item the laser printer technology has taken off
\item many computer-based fonts have emerged
\item thinking in structures has gotten more interest (SGML)
\item the DTP (Desktop Publishing) credo has come into existence, and
\item hardware prices have continued to spiral down.
\end{itemize}
Everybody can afford a PC, a laser(jet) printer, and some software (especially
Word{\em whatever\/} or the PD \AllTeX). % and publish (or perish). ;-)))

\subsection{\TeX\ and intelligent editors.}
Keyboarding compuscripts in (La)\TeX\ can be assisted by editors which
are (La)\TeX\ intelligent, and next, to use templates as `fill-in' forms.
An example is Beebe's \LaTeX-intelligent emacs.
This approach can prevent errors like the level 1 or so endings, or
non-matching braces and the like.
At this level we can also make use of spelling checkers and style
assistants.

\subsection{Word{\it whatever\/} and \TeX?}
It is true that Word-you-name-it, has made the use of computers more popular.
They replaced the typewriters, don't forget that. And of course that was a
step forward. These are the tools the masses are using because of the
sufficient and improved quality which can be obtained.
This must be seen in context of course: most of the publications
are just in-house reports, memos and the like.

\begin{quote}
For high-quality typesetting a \TeX-like tool,
high-resolution fonts and ipso facto printer, or viewer,
are needed.
\end{quote}
\noindent
Because wordprocessors are so widespread and heavily used, it can be
anticipated that users start from there and
need \TeX's formatting capabilities now and then.
For that group there exist conversion software:
the public domain DRILCON
and the commercial K-Talk.
Simpler, and better when it concerns complex structured copy,
is to
\begin{quote}
output in ASCII from Word{\it whatever\/}
and insert \AllTeX\ mark-up.
\end{quote}
\noindent And, of course, the wordprocessor can always be used as an editor
for \TeX, with taking advantage of the integrated spelling checker.

\subsection{Troff or \TeX?}
Troff preceded \TeX. It comes with UNIX.
Both have been in use for the last decade.
To begin with Knuth built upon troff, scribe and similar tools.
On the other hand the troff add-ons have learned from \TeX.
So there has been mutual influence.

With respect to the functionality the tools are comparable. Both aim at
computer-assisted typography. But there is also a world of difference.
Basically the difference is that troff is a program which can be
extended by independent preprocessors, and \TeX\ is an extensible
language itself, with plain \TeX---the kernel program---device independent,
that is the mapping on the media has to be done by independent drivers.
That the latter was not in troff
can be discerned from the subsequent nroff\Dash with accompanying neqn\Dash
and finally, di-roff, device-independent roff.
Furthermore, remember that \TeX\ is just one of the twins.

Rumour has it that interest in troff weakened because
the early PCs did not come with UNIX, and that
the kernel has remained undocumented (Its author Ossanna
died in an accident.)
The following table is supplied to indicate roughly the differences.

\begingroup\tiny
%\input{btable.tex}
%C.G. van der Laan, Hunzeweg 57, 9893PB, Garnwerd. Holland. 05941-1525.
%btable.tex version 1, 17/7/92                 author: cgl@risc1.rug.nl
\newbox\tbl\let\ea=\expandafter
%Cell vertical size, row height and depth (separation implicit),
\newdimen\cvsize\newdimen\tsht\newdimen\tsdp\newdimen\tvsize\newdimen\thsize
%Parameter setting macros:   Rules
\def\hruled{\def\lineglue{\hrulefill}\def\colsep{}      \def\rowsep{\hrule}
   \let\rowstbsep=\colsep\let\headersep=\rowsep}
\def\vruled{\def\lineglue{\hfil}     \def\colsep{\vrule}\def\rowsep{}
   \let\rowstbsep=\colsep\let\headersep=\hrule}
\def\ruled {\def\lineglue{\hrulefill}\def\colsep{\vrule}\def\rowsep{\hrule}
   \let\rowstbsep=\colsep\let\headersep=\rowsep}
\def\nonruled{\def\lineglue{\hfil}   \def\colsep{}      \def\rowsep{}
   \def\rowstbsep{\vrule}\def\headersep{\hrule}}
\def\dotruled{\def\lineglue{\dotfill}\def\rowsep{\hbox to\thsize{\dotfill}}
\def\colsep{\lower1.5\tsdp\vbox to\cvsize{%
\leaders\hbox to0pt{\vrule height2pt depth2pt width0pt\hss.\hss}\vfil}}
\let\rowstbsep=\colsep\let\headersep=\rowsep}
%Parameter setting macros:   Controling positioning
\def\ctr{\def\lft{\hfil}\def\rgt{\hfil}}%Centered
\def\fll{\def\lft{}     \def\rgt{\hfil}}%Flushed left
\def\flr{\def\lft{\hfil}\def\rgt{}}     %Flushed right
%Parameter setting macros:   Framing
\def\framed{\let\frameit=\boxit}
\def\nonframed{\def\frameit##1{##1}}
\def\dotframed{\let\frameit=\dotboxit}
%
\def\btable#1{\vbox{\let\rsl=\rowstblst%Copy
\ifx\empty\template\ifx\empty\rowstblst
    \def\template{\colsepsurround\lft####\rgt&amp;&amp;\lft####\rgt\cr}
    \else\def\template{\colsepsurround####\hfil&amp;&amp;\lft####\rgt\cr}\fi
   \fi
\tsht=.775\cvsize\tsdp=.225\cvsize
\def\tstrut{\vrule height\tsht depth\tsdp width0pt}
%Logical mark up of column and row separators, via use of
\def\cs{&amp;\colsepsurround\colsep\colsepsurround&amp;}
\def\prs{&amp;\colsepsurround\lineglue&amp;}   \def\srp{&amp;\lineglue\colsepsurround&amp;}
\def\rs{\colsepsurround\tstrut\cr
        \ifx\empty\rowsep\else\noalign{\rowsep}\fi
        \ifx\empty\rowstblst\else\ea\nxtrs\fi}
\def\grs{\colsepsurround\tstrut\cr\ghostrow}
\def\rss{&amp;\colsepsurround\rowstbsep\colsepsurround&amp;}
\def\hs{\colsepsurround\tstrut\cr
       \ifx\empty\headersep\else\noalign{\headersep}\fi
       \ifx\empty\rowstblst\else\ea\nxtrs\fi}
\preinsert
\setbox\tbl=\vbox{\tabskip=0pt\relax\offinterlineskip
\halign{\span\template\ifx\empty\first\ifx\empty\rowstblst\else
\ifx\empty\header\else\ea\rss\fi\fi\else\first\ea\rss\fi
\ifx\empty\header\ifx\empty\first\if\empty\rsl\else\ea\nxtrs\fi
                 \else\ea\hs\fi
\else\header\ea\hs\fi
#1\colsepsurround\tstrut\crcr}    }                              %end \setbox
\postinsert
\ifx\caption\empty\else\hbox to\thsize{\strut\hfil\caption\hss}\captionsep\fi
\frameit{\copy\tbl}
\ifx\footer\empty\else\footersep\hbox{\vtop{\noindent\hsize=\thsize%
\footer}}\fi                     }}                              %end \btable
%Defaults
\cvsize=4ex\tsht=.775\cvsize\tsdp=.225\cvsize\def\colsepsurround{\kern.5em}
\def\caption{}\def\first{}\def\header{}\def\rowstblst{}\def\footer{}\def\data{}
\def\captionsep{\medskip}    \def\headersep{\hrule}
\def\footersep{\smallskip}   \def\rowstbsep{\vrule}
\def\preinsert{}
\def\postinsert{\global\thsize=\wd\tbl
                \global\tvsize=\ht\tbl\global\advance\tvsize by\dp\tbl}
\ctr\nonruled\nonframed\def\template{}\def\ghostrow{}            %end Defaults
%Auxiliaries
\def\boxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}}
\def\dotboxit#1{\vbox{\offinterlineskip\hbox to\thsize{\dotfill}%
\hbox{\lower\tsdp\vbox to\tvsize{%
\leaders\hbox to0pt{\hss\vrule height2pt depth2pt width0pt.\hss}\vfil}%
\vbox{#1}\lower\tsdp\vbox to\tvsize{%
\leaders\hbox to0pt{\hss\vrule height2pt depth2pt width0pt.\hss}\vfil}}%
\hbox to\thsize{\dotfill}}}
%And to account for logical columns with \multispan
\def\spicspan{\span\omit}
\def\multispan#1{\omit\mscount=#1\multiply\mscount by2 \advance\mscount by-1
\loop\ifnum\mscount&gt;1 \spicspan\advance\mscount by-1 \repeat}
%To process FIFO, an improved version is available
\def\bfifo#1{\ifx\efifo#1\else\def\nxt{\process#1\bfifo}\ea\nxt\fi}
\def\process#1{\hbox to0pt{\hss#1\hss}\kern.5ex}
%To handle the row stub list: \rsl
\def\nxtrs{\ifx\empty\rsl%\let\nxtel=\relax
\else\def\nxtel{\ea\nrs\rsl\srn}\ea\nxtel\fi}%next Row Stub
\def\nrs#1#2\srn{\gdef\rsl{#2}#1\rss}                        %end btable.tex
%%%%btable end%%%%
%
\def\data{%Costs\cs
PD                   \cs licensed via UNIX\rs
%Availability\cs
all platforms        \cs under UNIX       \rs
%Documentation\cs
\TeX book  (also on-line)\cs On-line manual   \rs
%Fonts        \cs
METAfont's CM, virtual fonts  \cs ?\rs
%Design       \cs
open system          \cs kernel undocumented\rs
%Printers     \cs
device independent   \cs di-roff approach\rs
%Flexibility   \cs
complete             \cs ?\rs
%Extensibility \cs
macros               \cs preprocessors\rs
%Mark-up\cs
formats and styles\cs ms macros\rs
%Coding        \cs
uniform in \WEB{}       \cs C\rs
%Future        \cs
kernel frozen, users augment   \cs frozen\rs
%Acceptance    \cs
users, AMS, APS, \ldots     \cs users, ?\rs
}
\def\header{\AllTeX\cs T/Di-roff}
\def\rowstblst{{%
Costs}{%
Availability}{%
Documentation}{%
Fonts        }{%
Design       }{%
Printers     }{%
Flexibility   }{%
Extensibility }{%
Mark-up       }{%
Coding        }{%
Future        }{{%
Acceptance    }}}
$$\fll\btable\data$$
\endgroup

\subsection{SGML and \TeX?}
SGML stands for Standardized Generalized Mark-up Language.
It is an effort to formalize mark-up, and is defined as a meta-language
to define the mark-up language of each publication series into
so-called Document Type Definitions, DTDs for short.

SGML is part of a huge standardization effort supported by the
US military via the CALS initiative. Other components are: FOSI---Formatted
Output Specification Instance\footnote{See Dobrowolski's paper.}---and
DSSSL.\footnote{See Bryan's paper.}
It is not so much a question of
\begin{quote}\TeX\ {\em or\/} SGML,
but more \TeX\ {\em and\/} SGML.
\end{quote}
\noindent
\TeX\ formats can learn a lot from  the SGML approach and on the other hand
SGML needs a formatter when it is used to  print documents.
This cooperative approach is known as
\begin{quote}
SGML the front-end,
\AllTeX\ the back-end.
\end{quote}
\noindent A diagram about the SGML-\TeX\ relation is
supplied in the accompanying picture.

\newcount\leg
\begin{figure}[hbt]
\begin{center}
\begingroup\small
\setlength{\unitlength}{2.5ex}
\begin{picture}(20,23)(-10, 0)
\put(-7,\the\leg){\framebox(4,2){(La)\TeX}}
\put(-2,\the\leg){\framebox(4,2){TROFF}}
\put(3,\the\leg){\framebox(4,2){\ldots}}
\advance \leg by 4
%hark
\put(-5,\the\leg){\vector(0,-1){1.75}}
\put(0,\the\leg){\vector(0,-1){1.75}}
\put(5,\the\leg){\vector(0,-1){1.75}}
\put(-5,\the\leg){\vector(1,0){5}} %backarrow
\put( 0,\the\leg){\line(1,0){5}}
%converters
\put(5.5,\the\leg){\vtop to 0pt{\hbox{Specific}
                                \hbox{format file}\vss
                                }
                  }
\put(0,\the\leg){\vector(0, 1){1}} %backarrow
\advance \leg by 1
\put(-4,\the\leg){\framebox(8,2){%
   \shortstack[c]{%\footnotesize
                  Generic markup\ \\
                  %\footnotesize
                  $\Rightarrow$\  procedural}    }
                 }
\advance \leg by 2
\put(4.2,\the\leg.2){\line(0, -1){1}}
\put(4.2,\the\leg.2){\line(-1, 0){1}}
\put(4.4,\the\leg.4){\line(0, -1){1}}
\put(4.4,\the\leg.4){\line(-1, 0){1}}
\put(4.6,\the\leg.2){{\tiny Formats}}
%
\advance \leg by 1
\put(0,\the\leg.5){\vector(0,-1){1.5}}
\put(0,\the\leg.5){\vector(0, 1){0}} %backarrow head
%applications
\advance \leg by 1
\put(-10,\the\leg){\makebox(0,0){Exchange}}
\put(-5,\the\leg){\makebox(0,0){Storage}}
\put(0,\the\leg){\makebox(0,0){Publication}}
\put(5,\the\leg){\makebox(0,0){Database}}
\put(10,\the\leg){\makebox(0,0){\vtop to 0pt{\hbox{(Text-)}
                                             \hbox{analysis}\vss}
                                }
                  }
%hark
\advance \leg by 2
\put(0,\the\leg){\vector(0,-1){1.25}}
\put(-5,\the\leg){\vector(0,-1){1.25}}
\put(-10,\the\leg){\vector(0,-1){1.25}}
\put(5,\the\leg){\vector(0,-1){1.25}}
\put(10,\the\leg){\vector(0,-1){1.25}}
\put(-10.5,\the\leg){\line(1,0){21}}
\put(11.25,\the\leg){\makebox(0,0){\dots}}
\put(-11.25,\the\leg){\makebox(0,0){\dots}}
\advance \leg by 2
\put(0,\the\leg){\line(0,-1){2}}
\put(0,\the\leg){\vector(0,1){0}}  %back (up) arrow head
\put(-7.5,\the\leg){\framebox(15,1){Complete, correct SGML
document}}
\advance \leg by 2
\put(.5,\the\leg.25){Parser}
\advance \leg by 2
\put(0,\the\leg){\vector(0,-1){3}}
%\advance \leg by 1
\put(-7.5,\the\leg){\framebox(15,3){
  \shortstack[l]{\verb=&lt;!=SGML     - -declaration - -\verb=&gt;=\\
              \verb=&lt;!=DOCTYPE - - declaration - -\verb=&gt;=\\
              \verb=&lt;!= - - Markup copy - -\verb=&gt;= }
                                    }
                    }
\advance \leg by 3
%\corners
\put(7.7,\the\leg.2){\line(0,-1){2}}
\put(7.7,\the\leg.2){\line(-1,0){2}}
\put(7.9,\the\leg.4){\line(0,-1){2}}
\put(7.9,\the\leg.4){\line(-1,0){2}}
\put(8.1,\the\leg.2){{\tiny DTDs}}
%
\advance \leg by 1
\put(.5,\the\leg){Editor}
\advance \leg by 1
\put(0,\the\leg.5){\vector(0,-1){2.5}}
\advance \leg by 1
\put(0,\the\leg){\framebox(0,0){\strut ``Copy''}}
\end{picture}
\endgroup% \small/\Large
\end{center}
%\caption{Relation SGML and (La)\TeX}
\end{figure}
%
\subsection{SGML and Hypermedia?} The following has been contributed
by Gerard van Nes (from SGML FAQs and
Personal Computer Word, March 1992)
\begin{quote}
`HyTime---Hypermedia/Time-based Structuring Language (ISO/IEC 10744).
HyTime is a standard neutral markup language for representing hypertext,
multimedia, hypermedia and time- and space-based documents in terms of their
logical structure. Its purpose is to make hyperdocuments interoperable
and maintainable over the long term. HyTime can be used to represent
documents containing any combination of digital notations. HyTime is
parsable as Standard Generalized Markup Language.
HyTime was accepted as a full International Standard in spring 1992.

SGML's hypermedia capabilities have been beefed up in the SGML standard
extension HyTime. Although it started out in life as a specific set of
standards for representing music, it was soon realised that these could
be generalised for multimedia. HyTime provides
\begin{itemize}
\item SGML itself
\item Extended Hyperdocument management facilities, including support for
  various types of hyperlink
\item A Coordinate Addressing Facility which positions and synchronises
  on-screen events. This allows authors to specify how hypermedia
  documents are to be rendered
\item Better version-control of comments and activity-tracking policy support.
\end{itemize}
HyTime has been adapted as the basis for hyperlinking in the US
Department of Defense's Interactive Electronic Technical Manual project.
HyTime is an extension of SGML, providing a set of syntactic constructs:
it doesn't specify a processing system.'
\end{quote}
\noindent Sounds very promising!


\subsection{\TeX\ within the context of EP.}
When we think about Electronic Publishing we can't avoid being
aware of the life-cycle of publications.
This obeys the biological invariant: produce, consume and reuse.
\subsection*{Life-cycle: producing.}
The production process has all to do with the dimensions

\begingroup
\setlength{\unitlength}{1ex}
\begin{picture}(18,15)(2, -1)
\put(5,5){\vector(1,0){5}}
\put(5,5){\vector(0,1){5}}
\put(5,5){\vector(-1,-2){2.5}}
%Text
\put(11,5){Place}
\put(6,10){Representation}
\put(4,0){Time}
\end{picture}
\endgroup

\noindent and with the characteristics
\begin{itemize}
\item representation of the contents, that is the typesetting proper aspects
\item logistics, that is distribution and selling points---the place dimension
\item reuse, that is the time aspect, when
      (parts of) document are reused.
\end{itemize}
The flow can be depicted via

$$\vbox{\halign{&amp;\enspace\hfil#\hfil\cr
Produce&amp;$\rightarrow$&amp;Distribute&amp;$\rightarrow$&amp;Consume\cr
$\uparrow$&amp;&amp;$\uparrow$&amp;&amp;$\downarrow$\cr
reuse&amp;$\leftarrow$&amp;retrieve&amp;$\leftarrow$&amp;store\cr}}$$

\noindent
The big features are the unambiguous mark-up of copy via  \AllTeX\
and the lifetime of the \TeX\ kernel. Therefore storing documents
formatted by \TeX, leaves the reuse aspect open. Reality has it that
documents formatted via \TeX\ are easily redistributed via the electronic
networks, because it is all in ASCII, and \TeX\ is everywhere, so are its
drivers.

My day-to-day reuse is transforming reports into articles and these
into transparencies.
In this work it is the other way round I'm recollecting elements I have set
earlier. Similarly with the book I'm working on Publishing with \TeX.
Actually my first work in the document preparation area,
in the early eighties,  was called `Van rapport naar tranparant.'
%
\subsection*{Life-cycle: consuming.}
\TeX's drivers have not paid attention to other representations as yet,
although an exception is a driver for the blind.
Difficulties in formatting languages different from English have been
exercised in recent years. Undoubtedly research will be devoted
to the aspects hinted at in the diagram given below with the dimensions

\begingroup
\hbox{\setlength{\unitlength}{1ex}
\begin{picture}(18,14)(2, -1)
\put(5,5){\vector(1,0){5}}
\put(5,5){\vector(0,1){5}}
\put(5,5){\vector(2,-1){5}}
\put(5,5){\vector(-1,-2){2.5}}
%Text
\put(11,5){Level}
\put(11,2.5){Media}
\put(6,10){Senses}
\put(4,0){Language}
\end{picture}%\quad
\vbox to3.5\baselineskip{\halign{#\hfil:&amp;\enspace#\hfil\cr
Senses&amp; eyes, ears, tactile\cr
Level&amp;abridged, full, \ldots\cr
Language&amp;English, Dutch, \ldots\cr}
\vss}}%
\endgroup

\noindent and with the characteristics
\begin{itemize}
\item choice of consumer language independent of the submitted language,
      that is automatic translation
\item choice of representation, that is for example voice
      output from written submission.
\end{itemize}
\noindent
Of course the above aspects will
keep research busy for some time to come.
This is the direction multi-media development will go.

\section{Trends}
Adobe has been the trendsetter of the last decade with respect to new
EP technologies. Recently, I heard about their
PDF---Portable Document Format---which is at the heart of their
Acrobat. Very promising, if not for the tools which come along
with this product.

I believe that the multi-media information technology will take off in
the next century.
Much is known under the buzzword hypertext.
See the special issue of the Communications of the ACM for
an introductory survey.
As a \TeX ie it is fun to ponder about what niche
there will be for \TeX. At the various TUG meetings people are concerned
about the future of \TeX\ and share their doubts and optimisms.
&gt;From that the following anthology
\begin{itemize}
\item \LaTeX\ is the future, forget about \TeX
\item make \AllTeX\ available on low-cost machines
\item embed \TeX\ etc. in working environments
\item improve \TeX, in short keep it alive
\item provide WYSIWYG user interfaces
\item increase the number of (organized) \AllTeX\ users
\item get \AllTeX\ accepted by publishers (formats, support, fonts,
      and the like)
\item get \AllTeX\ accepted by other communities: SGML,
      scientific societies
\item provide user guides and templates
\item education is paramount
\item keep it simple and small is beautiful.
\end{itemize}
\noindent and so on.
\paragraph*{Prophecy.}
The demand on IT will be that
\begin{quote}
people can access cost-effectively, and easily,
from their homes  the information they need in a representation they wish.
\end{quote}
I envision that the following technologies will influence each other
in realizing the stated prophecy
\begin{itemize}
\item \TeX's role? Embedded in a Hypertext approach?
\item Increased self-publishing
\item Electronic Production \&amp; Consumption \\
      + Photography\\
      + CD\\
      + TV/Radio, video\\
      + PC       \\
      + Phone, fax, email \\
      + Holography \\
      + \ldots
\item Involvement of linguists and behaviourists
\end{itemize}
\noindent with the functionalities
\begin{itemize}
\item Various inputs (o.a. voice, photography, \ldots)
\item Diverse outputs
(language, level, media and representation,\ldots)
\end{itemize}
Some years ago I day-dreamed about holographic-based true 3-D `displays,'
as a generalization of computer-assisted interactive TV.
Science-fiction? Wait and see, or better hang on and make it happen!

\section{Examples}
With a publication we have two main issues:  macroscopic and microscopic.
With the first I mean the aspects which govern the total outer level of
a publication, let us say to look upon it as a tree consisting of
\begin{itemize}
\item front matter (front pages (title etc.), publication characteristics,
                    foreword, table of contents and the like)
\item copy proper  (the chapters and their substructures),
      and
\item back matter  (appendixes with references,  index, and other special
                   items).
\end{itemize}
\noindent These macroscopic aspects are accounted for in so-called formats or
style files.

The microscopic aspects deal with formatting in the small within paragraphs,
the complex mark-up of math, tables and graphics.


Another basic way to look at the matter is that it has all to do with
\begin{quote}
positioning of typographical elements on pages.
\end{quote}
\noindent The following examples,
biased by my own (scientific) needs, are in the main about
\begin{itemize}
\item formats, generic and special
\end{itemize}
\noindent and deal in the small with
\begin{itemize}
\item special texts like programs
\item (displayed) math (formulae, matrices, \ldots)
\item tables
\item graphics
\item bibliographies, and
\item indexes.
\end{itemize}
\noindent So nothing in here about the use of \TeX\ for
non-Latin languages and the design and generation of the needed fonts,
simply because I don't speak them.
I also refrained from including examples about the hobby use---games---%
without a serious reason.
See NTG's PR set for the latter.
See the works of Haralambous with respect to non-Latin languages, and
the work of Horak for (math) \MF{} examples.

\subsection{Examples: formats.}
In this section some detailed formatting examples are provided.

I will consider \LaTeX\ as formatter for a rudimentary
house-style, followed by a generic approach customized to \mm{} and \LaTeX's
report style.

\paragraph*{House-style.}
\LaTeX\  is heavily used for this {\em as-is}
\begingroup\small\begin{verbatim}
\documentstyle[options]{house}
%preamble
\begin{document}
%front matter
\title{...}
...
\begin{abstract}
...
\end{abstract}
\tableofcontents
\listoffigures
\listoftables
%copy proper
%\section, \subsection structuring with
%paragraphs with (displayed) math, tables
%and graphics.
%back matter
\begin{thebibliography}{xxx}
\bibitem{dek84} Knuth, D.E (1984):...
...
\end{thebibliography}
%Index material (\makeindex tool)
\end{document}
\end{verbatim}\endgroup
Options are, for example,
the number of columns,\footnote{It is not true in general that switching from
   1-column into 2-column format can be done without altering the mark-up
   of displayed math, tables or figures.
   At least one must change locally back into
   1-column format, or one has to scale the document element into smaller
   size as was done in this paper.}
the size of the used fonts,
the paper size, and the like.

As style files there are next to report,
the styles book, article, letter, and so on.\footnote{\LaTeX's \SliTeX\
is a bit different. One can't simply switch from report into slides.}


\paragraph*{Generic mark-up.}
Many users start nowadays via \LaTeX. Sooner or later the demand for
a generic approach pops up.
Then the user wishes to
abstract from the concrete formatter and
use some higher-level mark-up for the global structuring commands, customizable
to a concrete formatter of choice.\footnote{This sounds like SGML, but without
   its generality and its overhead. I like to call this `SGML on your mind
   and \TeX\ in your hands.'}

The idea is that the {\em user\/} mark-up at the outer level is
as independent as possible from the concrete formatter.
\begin{quote}
A generic approach is needed because of
the variety of environments we live in
and because of their rapid change.
\end{quote}
For the generic approach to become realistic, and to handle it gracefully,
I assume that
\begin{itemize}
\item the opening part is available for the various formats as
      templates
\item the copy proper uses as structuring commands \verb|\head| and
      the like
\item for the detailed formatting plain \TeX\ is used,
      so that this can be used in
      \AllTeX\ (math, tables, and graphics)
\item for the end matter a generic approach for the bibliography---see
      my  BLUe's Bibliography paper---is used
\item for index preparation a non-specific tool is used.
\end{itemize}
With the above a generic approach for a house-style is
\begingroup\small\begin{verbatim}
%Front matter
\opening%To be replaced by template
%Copy proper
% Structured via \head{...} and the like
% with detailed plain mark-up: math, tables,
% line diagrams,...
%Back matter
 \bibliography
 \index
\closing
\end{verbatim}\endgroup
\vskip1ex
\noindent Customization to \mm.\\
\mm{} is flexible, and alas too much overlooked,
because it lacks a user guide.
Customization of the generic approach to manmac
goes along the following lines to give you an
impression. (Not tested!)
\begingroup\small\begin{verbatim}
 \input manmac
 \input manmac.cus%manmac customization
 \input man.tem   %manmac template
 \input toc       %table of contents
 \input cover     %see my manmac blues
 %Copy proper
 %Back matter
 \closing
\end{verbatim}\endgroup
\noindent with in \verb|manmac.cus|
\begingroup\small\begin{verbatim}
 %Customization of manmac
 %Redefine \beginchapter also non-outer
 \def\beginchapter#1 #2#3.#4\par{%
   \def\hl{\gdef\hl{\issue\hfil\it\rhead}}
   \headline{\hl}
   \def\\{ }\xdef\rhead{#4}
   {\let\\\cr\halign{\line{\titlefont
    \hfil##\hfil}\\#1 #2#3 #4\unskip\\}}
   \bigskip\tenpoint\noindent\ignorespaces}
 \def\endchapter{\vfill\eject}
 %
 \newcnt\chpcnt \newcnt\seccnt
 \def\head#1{\endchapter\beginchapter
     \advance\chpcnt1 \seccnt0
     {} {}\the\chpcnt. #1\endgraf}
 \def\subhead#1{\beginsection\advance\seccnt1
     \the\seccnt. #1\endgraf}
 \def\bibliography{\beginchapter Bibliography
   {}{}.{}\endgraf}
 \def\closing{\bye}
\end{verbatim}\endgroup
\noindent and with in \verb|manmac.tem|
\begingroup\small\begin{verbatim}
\def\opening{
 \def\issue{%
 MAPS Special 93.x            %issue
 }\def\title{%
 MAPS Special Template        %title
 }\def\abstract{%
 A template for MAPS Special is provided.
 }\def\keywords{%
 manmac, MAPS, NTG            %keywords
 }
}
\end{verbatim}\endgroup
\noindent In my Manmac BLUes paper I have worked out a prototype, directed
to customization of \mm.
\begin{quote}
Actually there it was the other way round:
I started from Manmac formatting and abstracted
into independent structures.
\end{quote}
In Manmac BLUes I also worked out \verb|cover|.
Too much detail here.
\vskip1ex
\noindent Customization to \LaTeX.\\
The `title part'-template is  inserted instead of \verb|\opening|,
edited to suit the publication at hand.
In \verb|latex.cus| the macros are supplied to customize the generic
mark-up to \LaTeX.
\begingroup\small\begin{verbatim}
%Begin LaTeX report \opening template
\documentstyle{report}
\input{latex.cus}
\begin{document}
\begin{title}...\end{title}
...
%end LaTeX \opening template
%Copy proper
...
%Back matter
\bibliography
\closing
\end{verbatim}\endgroup
\noindent with in \verb|latex.cus|
\begingroup\small\begin{verbatim}
\def\head#1{\chapter{#1}}
\def\subhead#1{\section{#}}
\def\bibliography{\appendix
  \section*{Bibliography}
  \input{lit.dat}
  %\input{lit.tex}
   \frenchspacing
   \def\ls#1{\nul\\#1}%simple
  \input{lit.sel}
}
\def\closing{\end{document}}
\end{verbatim}\endgroup
\noindent
The above ideas came to mind when working on this paper.
They deserve development, because it has all to do with the
\begin{quote}
user$\leftrightarrow$environment interaction,
\end{quote}
which has always been important.

\paragraph*{Special texts}are computer programs.
First we like that these
reflect the structure and different quantities (constants, variables,
reserved words, comments etc.) of the program. Second we like that the
programs remain correct while formatting them (meaning: humans hands-off!).
These kind of texts come at two levels
\begin{itemize}
\item the small examples (less than a dozen of lines or so)
      which are part of  courseware, and
\item the documentation (and listings) of real-life programs.
\end{itemize}
Current practice is that for the first it does not really matter what you use.
For a survey see the compilation of Van Oostrum.
For the second Knuth developed \WEB, which stimulates a programmer to
design and {\em document\/} his program from the beginning, by rewarding him
with pretty-\TeX\ printing of it all via \TANGLE. Actually the hierarchical
way of working has been replaced by a relational approach, with the
documentation  related to the various items of a program.
For a survey see Knuth's literal programming article of 1984.

\subsection{Examples: math.}
The \TeX book has devoted at least 4 chapters to math mark-up:
typing math formula,
more about math,
fine points of math typing, and
displayed equations.

See also my Math into BLUes paper for % an anthology of pitfalls.
a survey and how to cope with situations which go wrong---not so much that
\TeX\ complains, but the results are different
from what we expected---by innocent mark-up.

\paragraph*{Displayed math}via (plain) \TeX.
A display is marked up by \$\$ at the beginning and the end.
Within a display the following is generally used
\begin{itemize}
\item just math mark-up
\item \verb|\displaylines|, for multi-liners
\item \verb|\(l)eqalign|, for aligned formulas\footnote{(l) denotes that
      the numbering appears at the left instead of the default right.}
\item \verb|\(l)eqalignno|, similar to the above, but numbering per line.
\end{itemize}
For numbering there is the primitive \verb|\eqno|.
\vskip1ex\noindent
&gt;From a user point of view the following are representative structures
\begingroup%local
%From plain; in LaTeX context the defs below should be grouped
\newskip\centering \centering=0pt plus 1000pt minus 1000pt
\catcode`\@=11
\newdimen\netdpw
%The next is necessary because LaTeX redefined it!!!!!;
%\equalign with numbering went wrong!
%
\def\eqalign#1{%Changed TB361: dynamic number of alignment positions
%\, Had to be removed for two-column output, see TB189 (top)
\vcenter{\openup1\jot\m@th
    \ialign{\strut\hfil$\displaystyle{##}$&amp;&amp;  %Change is extra &amp;
                       $\displaystyle{{}##}$\hfil\crcr
            #1\crcr}}\,}
\def\eqalignno#1{\displ@y \tabskip=\centering
   \halign to \displaywidth{\hfil$\displaystyle{##}$\tabskip=0pt
   &amp;$\displaystyle{{}##}$\hfil\tabskip=\centering
   &amp;\llap{$##$}\tabskip=0pt\crcr
   #1\crcr}}
\def\leqalignno#1{\displ@y \tabskip=\centering
   \halign to \displaywidth{\hfil$\displaystyle{##}$\tabskip=0pt
   &amp;$\displaystyle{{}##}$\hfil\tabskip=\centering
   &amp;\kern-\displaywidth\rlap{$##$}\tabskip=\displaywidth\crcr
   #1\crcr}}
\def\midinsert{\bgroup\smallskip}
\def\endinsert{\smallskip\egroup}
\catcode`\@=12

%Display math examples for Mededelingen van het Wiskundig Genootschap,
%13/4/92, cgl@rug.nl
\def\com#1{{\tt\char92#1}}
%
%Essential ways of formula numbering                     num.tex
\begin{itemize}
\item Labeled 1-line
$$\sin2x=2\sin x\, \cos x
     \eqno(\hbox{TB186})$$
\item Three lines, second flushed right
(relevant for 2-column printing)
$$\displaylines{F(z)=
a_0+{a_1\over z}+{a_2\over z^2}+\cdots
   +{a_{n-1}\over z^{n-1}}+R_n(z),\cr
           \hfill n=1,2,\dots\,,\cr
\hfill F(z)\sim\sum_{n=0}^\infty a_nz^{-n},
       \quad z\to\infty\qquad\qquad\hfill
       \llap{(TB ex19.16)}\cr}$$
\item Two lines aligned, with middle labeling
$$\eqalign{\cos2x&amp;=2\cos^2x-1\cr
                 &amp;=\cos^2x-\sin^2x\cr}
  \eqno(\hbox{TB193})$$
\item Two lignes aligned, with labeling per line
$$\eqalignno{
\cosh2x&amp;=2\cosh^2x-1&amp;(\hbox{TB192})\cr
       &amp;=\cosh^2x+\sinh^2x\cr}$$
\end{itemize}
\noindent obtained via
\begingroup\small\begin{verbatim}
\begin{itemize}
\item Labeled 1-line
$$\sin2x=2\sin x\, \cos x
     \eqno(\hbox{TB186})$$
\item Three lines, second flushed right
(relevant for 2-column printing)
$$\displaylines{F(z)=
a_0+{a_1\over z}+{a_2\over z^2}+\cdots
   +{a_{n-1}\over z^{n-1}}+R_n(z),\cr
           \hfill n=1,2,\dots\,,\cr
\hfill F(z)\sim\sum_{n=0}^\infty a_nz^{-n},
       \quad z\to\infty\qquad\qquad\hfill
       \llap{(TB ex19.16)}\cr}$$
\item Two lines aligned,
      with middle labeling
$$\eqalign{\cos2x&amp;=2\cos^2x-1\cr
                 &amp;=\cos^2x-\sin^2x\cr}
  \eqno(\hbox{TB193})$$
\item Two lignes aligned,
      with labeling per line
$$\eqalignno{
\cosh2x&amp;=2\cosh^2x-1&amp;(\hbox{TB192})\cr
       &amp;=\cosh^2x+\sinh^2x\cr}$$
\end{itemize}
\end{verbatim}\endgroup

\paragraph*{Matrices}via (plain) \TeX.
The examples show paradoxically that for practical use
we not only need \cs{matrix}, but
\begin{itemize}
\item \verb|\atop|, to stack elements on top of each other
\item \verb|\bordermatrix|, for bordered matrices, and this embedded within
      \verb|\displaylines|
\item \verb|\halign|, to handle partitioning, and
\item some macros tailored to our situations, like the icon set.
\end{itemize}
%Samples for TeXing matrices for Mededelingen Wiskundig Genootschap%cgl@rug.nl
\noindent Examples
\begin{itemize}
\item {Hypergeometric function}
$$M_n(z)={}_{n+1}F_n\biggl({k+a_0,
   \atop\phantom{kc_1}}
   {k+a_1,\dots,k+a_n
   \atop k+c_1,\dots,k+c_n};z\biggr)$$
via
\begingroup\small\begin{verbatim}
$$M_n(z)={}_{n+1}F_n\biggl({k+a_0,
   \atop\phantom{kc_1}}
   {k+a_1,\dots,k+a_n
   \atop k+c_1,\dots,k+c_n};z\biggr)$$
\end{verbatim}\endgroup

\item {Some matrix icons}, Wilkinson (1965)
%LaTeX use of linefonts for diag lines
\setlength{\unitlength}{1ex}
$$\icmat44\kern\unitlength\icllt44=
  \icllt44\icuh413\qquad AL=LH$$
$$\icmat63=\icmat63
\kern\unitlength\icurt63\qquad A=QR$$
%rectangular matrix\hfill$\icmat64$\\
%lower left triangular matrix\hfill $\icllt44$\\
%upper right triangular matrix \hfill$\icurt44$\\
%upper Hessenberg f form \hfill $\icuh413$
via
\begingroup\small\begin{verbatim}
$$\icmat44\kern\unitlength\icllt44=
  \icllt44\icuh413\qquad AL=LH$$
$$\icmat63=\icmat63
\kern\unitlength\icurt63\qquad A=QR$$
\end{verbatim}\endgroup

\noindent See for the matrix icon macros my paper on the issue.
%
\item {Matrix reductions},
Wilkinson(1965, p357) %---i.e.\ Math `hyphenation'
$$\displaylines{\indent
\bordermatrix{&amp;      &amp;\rm A &amp;      \cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr}
\bordermatrix{&amp; &amp;\rm N &amp; \cr
              &amp;1&amp;      &amp; \cr
              &amp;0&amp;1     &amp; \cr
              &amp;0&amp;\times&amp;1\cr}\hfill\cr
\hfill=
\bordermatrix{&amp; &amp;\rm N &amp; \cr
              &amp;1&amp;      &amp; \cr
              &amp;0&amp;1     &amp; \cr
              &amp;0&amp;\times&amp;1\cr}
\bordermatrix{&amp;      &amp;\rm H &amp;      \cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;0     &amp;\times&amp;\times\cr}
}$$
via
\begingroup\small\begin{verbatim}
$$\displaylines{\indent
\bordermatrix{&amp;      &amp;\rm A &amp;      \cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr}
\bordermatrix{&amp; &amp;\rm N &amp; \cr
              &amp;1&amp;      &amp; \cr
              &amp;0&amp;1     &amp; \cr
              &amp;0&amp;\times&amp;1\cr}\hfill\cr
\hfill=
\bordermatrix{&amp; &amp;\rm N &amp; \cr
              &amp;1&amp;      &amp; \cr
              &amp;0&amp;1     &amp; \cr
              &amp;0&amp;\times&amp;1\cr}
\bordermatrix{&amp;      &amp;\rm H &amp;      \cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;\times&amp;\times&amp;\times\cr
              &amp;0     &amp;\times&amp;\times\cr}
}$$
\end{verbatim}\endgroup%
\item {Partitioning},
Wilkinson(1965, p291)
$$P_r=\left(\vcenter{
    \offinterlineskip\tabskip0pt
    \halign{
      \vrule height3ex depth1ex width 0pt
      \hfil$\enspace#\enspace$\hfil
      \vrule width.1pt\relax
      &amp;\hfil$\enspace#\enspace$\hfil\cr
      I_{n-r}&amp;0\cr
      \noalign{\hrule height.1pt\relax}
      0      &amp;I-2v_rv_r^T\cr}
          }\right)           $$
via
\begingroup\small\begin{verbatim}
$$P_r=\left(\vcenter{
    \offinterlineskip\tabskip0pt
    \halign{
      \vrule height3ex depth1ex width 0pt
      \hfil$\enspace#\enspace$\hfil
      \vrule width.1pt\relax
      &amp;\hfil$\enspace#\enspace$\hfil\cr
      I_{n-r}&amp;0\cr
      \noalign{\hrule height.1pt\relax}
      0      &amp;I-2v_rv_r^T\cr}
          }\right)           $$
\end{verbatim}\endgroup
\end{itemize}
\endgroup

\begingroup\noindent
Next some examples without the mark-up, just the
results, because they are real teasers.
\begin{itemize}
\item Braces and Matrices, Wilkinson(1965, p199)
$$\vcenter{
  \hbox{${\scriptstyle\phantom{n{-}}p}
    \left\{\vrule height4.5ex width0pt
         depth 0pt\right.$}\vglue3ex\relax
  \hbox{${\scriptstyle n{-}p}
    \left\{\vrule height3.0ex width0pt
         depth 0pt\right.\kern2pt$}
         \vglue.5ex\relax
      }
\bordermatrix{&amp;\multispan4{\hfil
$\overbrace{\vrule height0pt width10.5ex
   depth0pt}^p$}\hfil
              &amp;\multispan3{\enspace\hfil
$\overbrace{\vrule height0pt width7.5ex
   depth0pt}^{n-p}$}\hfil\cr
&amp;\times&amp;\times&amp;\times&amp;\times&amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;\times&amp;\times&amp;\times&amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;0     &amp;\times&amp;\times&amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;0     &amp;0     &amp;\times&amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;0     &amp;0     &amp;0     &amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;0     &amp;0     &amp;0     &amp;\times&amp;
 \times&amp;\times\cr
&amp;0     &amp;0     &amp;0     &amp;0     &amp;\times&amp;
 \times&amp;\times\cr
}$$
\item
Matrices, braces, (dotted) partitioning
and icons; space efficient variant
%The simplest way is to make the 22-element
%separate, and measure the sizes.
%Subsequently one easily couples these
%sizes to the sizes of the braces.
%Hard things: automatic coupling,
%vertical dotted lines.
%
\def\vdts{\vbox{\baselineskip4pt
  \lineskiplimit0pt
  \vglue2pt\hbox{.}\hbox{.}\hbox{.}}}%
$$
\vcenter{\offinterlineskip%No interline
%                space in between parts
\halign{\hfil$#$&amp;\hfil$#$\hfil\cr%2-column
%first row with braces, element 11 empty
{}&amp;\hfil\enspace\mathop{\hbox to.9cm%
   {\downbracefill}}\limits^{\vbox{\hbox{
               $\scriptstyle p$}\kern2pt}}
        \enspace\hfil\mathop{\hbox to.6cm%
   {\downbracefill}}\limits^{\vbox{\hbox to
  0pt{\hss$\scriptstyle n-p$\hss}\kern2pt}}%
        \enspace\hfil\cr  % end first row
%Separation between first (border) row and
%rest
\noalign{\vglue1ex}
%first column with braces
\vcenter{\vfil
   \hbox{${\scriptstyle p}\left\{\vbox
   to.8cm{}\right.$}\vfil\vglue2ex\vfil
   \hbox{\llap{$\scriptstyle n{-}$}%
   ${\scriptstyle p}\left\{\vbox to.5cm{}
   \right.$}\vfil}
&amp;%22-element is the matrix proper
\left(\vcenter{\offinterlineskip
\halign{\hfil$#$\hfil&amp;\hfil$#$\hfil&amp;
\hfil$#$\hfil&amp;\hfil$#$\hfil
\tabskip=.5\tabskip&amp;\vdts#&amp;
\tabskip=2\tabskip
\hfil$#$\hfil&amp;\hfil$#$\hfil&amp;
\hfil$#$\hfil\cr%end template
\times&amp;\times&amp;\times&amp;\times&amp;&amp;\times&amp;
 \times&amp;\times\cr
0     &amp;\times&amp;\times&amp;\times&amp;&amp;\times&amp;
 \times&amp;\times\cr
0     &amp;0     &amp;\times&amp;\times&amp;&amp;\times&amp;
 \times&amp;\times\cr
0     &amp;0     &amp;0     &amp;\times&amp;&amp;\times&amp;
 \times&amp;\times\cr
\noalign{\vglue1ex}
\multispan8\dotfill\cr
0     &amp;0     &amp;0     &amp;0     &amp;&amp;\times&amp;
 \times&amp;\times\cr
0     &amp;0     &amp;0     &amp;0     &amp;&amp;\times&amp;
 \times&amp;\times\cr
0     &amp;0     &amp;0     &amp;0     &amp;&amp;\times&amp;
\times&amp;\times\cr}%end halign (22)
}%end vcenter
\right)\cr %end 22-element
%Separation between last (border) row
%and rest
\noalign{\vglue1ex}
{}&amp;\hfil\enspace\mathop{\hbox to.9cm{%
   \upbracefill}}\limits_{\vbox{\kern2pt
                      \icurt42}}
   \enspace\hfil
   \mathop{\hbox to.6cm{%
   \upbracefill}}\limits_{\vbox{\kern2pt
     \icmat4{1.5}}}\enspace\hfil%
\cr  % end last row
}%end halign
}%end vbox
$$
\item Other interesting two-dimensional
structures are commutative diagrams. Consult for those Spivak's
\LAMSTeX.\footnote{Within the graphics section I
         have supplied a simple example, however.}

\noindent Interestingly enough, simple commutative diagrams are done by
\verb|\matrix|, while I would expect some graphic commands.
\end{itemize}
\endgroup

\subsection{Examples: tables.}
For (full) rectangular tables \verb|\halign| or \verb|\valign| is generally
used, when they fit on the page.
Because of determining automatically the page breaks it might happen that
the page builder would like to split a table. Generally this is bad
typography, because we like to maintain the summary character of a table
all on one page.\footnote{When the latter is not important, for example for
   tables of values which goes on for pages, we can modify
   the row separator into a separator which allows line breaks.
   For tables which don't fit on a page
   there are special macros, like {\tt supertabular.sty}.}
A table smaller than the page should fit and in order to let that happen
we generally allow tables to float, that is they may be shifted around
a bit by the page builder.
For a survey on the issue see my Table Diversions paper, which also contains
a macro for handling bordered tables---the {\tt btable} macro (some 80 lines),
and used in this work (see later).

   Another important class of tables are the so-called trees. One can argue
whether they are tables or belong to graphics. Br\"uggeman-Klein has provided
a package called Tree\TeX. The user-interface looks good,
although I have not had any personal experience with it myself yet.

\paragraph*{Simple tables}via (plain) \TeX.
When I read Furuta a decade ago, I was impressed by the ease of mark-up
for tables via the tbl preprocessor of troff.\footnote{Because of
   that I was in favour of troff and its preprocessors.
   Happily a math professor stressed the importance of \TeX, and because
   UNIX was not widely available at the University, I entered \TeX-land.}
Below I'll show that a similar functionality---and some more, I also
   abstracted from the kinds of rules, and the positioning of the elements---%
is provided with respect to tables
by my btable macro for the class of bordered tables,
where the (possibly complicated) headers are treated separately
and independently from the (proper) table data, and the rowstub list.

\begingroup
%\input{btable.tex}
%btable.tex version 1, 15/7/92                            author: cgl@rug.nl
%Table Diversions is Published in EuroTeX92 proceedings, and MAPS92.2
%The article discusses typsetting tables via plain, surveys related work,
%introduces btable.tex, and provides a discipline for typesetting cell-blocks.
%Example of use                     (from the article)
%\def\data{2\cs7\cs6\rs
%          9\cs5\cs1\rs
%          4\cs3\cs8}
%\ruled\framed\btable\data
%Below is the btable macro listed
\newbox\tbl\let\ea=\expandafter
%Cell vertical size, row height and depth (separation implicit),
\newdimen\cvsize\newdimen\tsht\newdimen\tsdp\newdimen\tvsize\newdimen\thsize
%Parameter setting macros:   Rules
\def\hruled{\def\lineglue{\hrulefill}\def\colsep{}      \def\rowsep{\hrule}
   \let\rowstbsep=\colsep\let\headersep=\rowsep}
\def\vruled{\def\lineglue{\hfil}     \def\colsep{\vrule}\def\rowsep{}
   \let\rowstbsep=\colsep\let\headersep=\hrule}
\def\ruled {\def\lineglue{\hrulefill}\def\colsep{\vrule}\def\rowsep{\hrule}
   \let\rowstbsep=\colsep\let\headersep=\rowsep}
\def\nonruled{\def\lineglue{\hfil}   \def\colsep{}      \def\rowsep{}
   \def\rowstbsep{\vrule}\def\headersep{\hrule}}
\def\dotruled{\def\lineglue{\dotfill}\def\rowsep{\hbox to\thsize{\dotfill}}
\def\colsep{\lower1.5\tsdp\vbox to\cvsize{%
\leaders\hbox to0pt{\vrule height2pt depth2pt width0pt\hss.\hss}\vfil}}
\let\rowstbsep=\colsep\let\headersep=\rowsep}
%Parameter setting macros:   Controling positioning
\def\ctr{\def\lft{\hfil}\def\rgt{\hfil}}%Centered
\def\fll{\def\lft{}     \def\rgt{\hfil}}%Flushed left
\def\flr{\def\lft{\hfil}\def\rgt{}}     %Flushed right
%Parameter setting macros:   Framing
\def\framed{\let\frameit=\boxit}
\def\nonframed{\def\frameit##1{##1}}
\def\dotframed{\let\frameit=\dotboxit}
%
\def\btable#1{\vbox{\let\rsl=\rowstblst%Copy
\ifx\empty\template\ifx\empty\rowstblst
    \def\template{\colsepsurround\lft####\rgt&amp;&amp;\lft####\rgt\cr}
    \else\def\template{\colsepsurround####\hfil&amp;&amp;\lft####\rgt\cr}\fi
   \fi
\tsht=.775\cvsize\tsdp=.225\cvsize
\def\tstrut{\vrule height\tsht depth\tsdp width0pt}
%Logical mark up of column and row separators, via use of
\def\cs{&amp;\colsepsurround\colsep\colsepsurround&amp;}
\def\prs{&amp;\colsepsurround\lineglue&amp;}
\def\srp{&amp;\lineglue\colsepsurround&amp;}
\def\rs{\colsepsurround\tstrut\cr
        \ifx\empty\rowsep\else\noalign{\rowsep}\fi
        \ifx\empty\rowstblst\else\ea\nxtrs\fi}
\def\rss{&amp;\colsepsurround\rowstbsep\colsepsurround&amp;}
\def\hs{\colsepsurround\tstrut\cr
       \ifx\empty\headersep\else\noalign{\headersep}\fi
       \ifx\empty\rowstblst\else\ea\nxtrs\fi}
\preinsert
\setbox\tbl=\vbox{\tabskip=0pt\relax\offinterlineskip
\halign{\span\template\ifx\empty\first\ifx\empty\rowstblst\else
\ifx\empty\header\else\ea\rss\fi\fi\else\first\ea\rss\fi
\ifx\empty\header\ifx\empty\first\if\empty\rsl\else\ea\nxtrs\fi
                 \else\ea\hs\fi
\else\header\ea\hs\fi
#1\colsepsurround\tstrut\crcr}    }%end setbox
\postinsert
\ifx\caption\empty\else\hbox to\thsize{\strut\hfil\caption\hss}\captionsep\fi
\frameit{\copy\tbl}
\ifx\footer\empty\else\footersep\hbox{\vtop{\noindent\hsize=\thsize%
\footer}}\fi                             }}
%Defaults
\cvsize=4ex\tsht=.775\cvsize\tsdp=.225\cvsize\def\colsepsurround{\kern.5em}
\ctr\nonruled
\def\caption{}\def\first{}\def\header{}\def\rowstblst{}\def\footer{}\def\data{}
\def\captionsep{\medskip}    \def\headersep{\hrule}
\def\footersep{\smallskip}   \def\rowstbsep{\vrule}
\def\preinsert{}
\def\postinsert{\global\thsize=\wd\tbl
                \global\tvsize=\ht\tbl\global\advance\tvsize by\dp\tbl}
\ctr\nonruled\nonframed\def\template{}              %end Defaults
%Auxiliaries
\def\boxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}}
\def\dotboxit#1{\vbox{\offinterlineskip\hbox to\thsize{\dotfill}%
\hbox{\lower\tsdp\vbox to\tvsize{%
\leaders\hbox to0pt{\hss\vrule height2pt depth2pt width0pt.\hss}\vfil}%
\vbox{#1}\lower\tsdp\vbox to\tvsize{%
\leaders\hbox to0pt{\hss\vrule height2pt depth2pt width0pt.\hss}\vfil}}%
\hbox to\thsize{\dotfill}}}
%And to account for logical columns with \multispan
\def\spicspan{\span\omit}
\def\multispan#1{\omit\mscount=#1\multiply\mscount by2 \advance\mscount by-1
\loop\ifnum\mscount&gt;1 \spicspan\advance\mscount by-1 \repeat}
%To process FIFO
\def\bfifo#1{\ifx\efifo#1\let\nxt=\relax\else\def\nxt{\process#1\bfifo}%
             \fi\nxt}%end \bfifo
\def\process#1{\hbox to0pt{\hss#1\hss}\kern.5ex}
%To handle row stub list
\def\nxtrs{\ifx\empty\rsl%\let\nxtel=\relax
\else\def\nxtel{\ea\nrs\rsl\srn}\ea\nxtel\fi}%next Row Stub
\def\nrs#1#2\srn{\gdef\rsl{#2}#1\rss}   %end btable.tex
%
\def\data{11\cs12\rs21\cs22}
\begin{itemize}
\item just framed data
   $$\vcenter{\framed\btable\data}$$
\item add header and rowstubs
  \def\header{\multispan2\hfill
                   Header\hfill}
  \def\rowstblst{{$1^{st}$ row}%
               {{$2^{nd}$ row}}}
  $$\vcenter{\btable\data}$$
\item add caption and footer,
      vary via dotted lines
  \def\caption{Caption}\def\footer{Footer}
  $$\vcenter{\dotruled\btable\data}$$
\item vary with ruled and framed
  $$\vcenter{\ruled\framed\btable\data}$$
\end{itemize}
via
\begingroup\small\begin{verbatim}
\def\data{11\cs12\rs21\cs22}
\begin{itemize}
\item just framed data
   $$\vcenter{\framed\btable\data}$$
\item add header and rowstubs
  \def\header{\multispan2\hfill
                   Header\hfill}
  \def\rowstblst{{$1^{st}$ row}%
               {{$2^{nd}$ row}}}
  $$\vcenter{\btable\data}$$
\item add caption and footer,
      vary via dotted lines
  \def\caption{Caption}\def\footer{Footer}
  $$\vcenter{\dotruled\btable\data}$$
\item vary with ruled and framed
  $$\vcenter{\ruled\framed\btable\data}$$
\end{itemize}
\end{verbatim}\endgroup

\paragraph*{Real-life.} AT\&amp;T's example
from the tbl (troff) documentation, also supplied in \TeX book p.247
\begingroup
%\cite{lesk79}
\def\caption{AT\&amp;T Common Stock}
\def\header{Year\cs Price\cs Dividend}
\catcode`?=\active \def?{\kern1.1ex}
\def\data{1971\cs41--54\cs\llap{\$}2.60\rs
             2\cs41--54\cs         2.70\rs
             3\cs46--55\cs         2.87\rs
             4\cs40--53\cs         3.24\rs
             5\cs45--52\cs         3.40\rs
             6\cs51--59\cs         ?.95\rlap*}
\def\footer{* (first quarter only)}
$$\vcenter{\vbox{\small
  \framed\ruled\btable\data}}$$
The above is obtained via \verb|\btable| as follows
\endgroup
%
\begingroup\small\begin{verbatim}
\def\caption{AT\&amp;T Common Stock}
\def\header{Year\cs Price\cs Dividend}
\catcode`?=\active \def?{\kern1.1ex}
\def\data{1971\cs41--54\cs\llap{\$}2.60\rs
             2\cs41--54\cs         2.70\rs
             3\cs46--55\cs         2.87\rs
             4\cs40--53\cs         3.24\rs
             5\cs45--52\cs         3.40\rs
             6\cs51--59\cs         ?.95\rlap*}
\def\footer{* (first quarter only)}
$$\vcenter{\vbox{\small
  \framed\ruled\btable\data}}$$
\end{verbatim}
\endgroup
\endgroup
\subsection{Examples: graphics.}
The portable way is via \mmt, \LaTeX's picture environment,
or PiC\TeX.
For a survey see Clark's Portable Graphics in \TeX\ paper.
\TeX tures on the Macintosh by Blue Sky Research is famous for its
(non-portable) pic{\em tures\/} with \TeX. For inclusion of
photographs and in general halftones, see the work of Sowa.\footnote{On the
   Mac one can easily incorporate photos after they
   having been put onto CD in digitized form. Kodak provides the latter
   service.}
For drawing on the screen and get (La)\TeX\ code out see GNUplot
or \TeX CAD, for example.

Many disciplines make use of
special graphic diagrams. In this paper for example I won't
provide examples of
trees,
(math) graphs in general,
(advanced) commutative diagrams,
nor Feynmann diagrams,
to name but a few classes known to me.
\begin{itemize}
\item simple line diagrams via \mmt
\begingroup
\def\strut{\vrule height2.5ex depth1ex width0pt}
\def\fbox#1{\setbox0\hbox{\strut
 $\;$#1$\,$}\leavevmode\rlap{\copy0}%
 \makelightbox}
\def\element#1{\hbox to15ex{\hss#1\hss}}
\def\vconnector{\element{\strut\vrule}}
$$\hbox{\vbox{%
\element{\fbox{amsppt.sty}}
\vconnector
\element{\fbox{amstex.tex}}
\vconnector
\element{\fbox{\TeX}}}
\qquad\qquad\qquad
\vbox{%
\element{\fbox{amsart.sty}}
\vconnector
\element{\llap{\fbox{amstex.sty}---}%
 \fbox{\LaTeX}}
\vconnector
\element{\fbox{\TeX}}}
}$$
\endgroup
\noindent via
\begingroup\small\begin{verbatim}
$$\hbox{\vbox{%
\element{\fbox{amsppt.sty}}
\vconnector
\element{\fbox{amstex.tex}}
\vconnector
\element{\fbox{\TeX}}
}\qquad\qquad\qquad\vbox{%
\element{\fbox{amsart.sty}}
\vconnector
\element{\llap{\fbox{amstex.sty}---}
 \fbox{\LaTeX}}
\vconnector
\element{\fbox{\TeX}}
}}$$
\end{verbatim}\endgroup

\noindent with the auxiliaries
\begingroup\small\begin{verbatim}
\def\strut{\vrule height2.5ex depth1ex
 width0pt}
\def\fbox#1{\setbox0\hbox{\strut
 $\;$#1$\,$}\leavevmode\rlap{\copy0}%
 \makelightbox}
\def\element#1{\hbox to15ex{\hss#1\hss}}
\def\vconnector{\element{\strut\vrule}} .
\end{verbatim}\endgroup
\item flow chart borrowed from Furuta, via \LaTeX

\noindent
%\input{pic.pic}
\begingroup\small
\setlength{\unitlength}{4ex}
\begin{picture}(14,4)(0,-1)
\put(1, 1){\oval(2, 1)}
\put(1, 1){\makebox(0, 0){Start}}
\put(2, 1){\vector(1, 0){1.5}}
\put(3.5,.25){\framebox(2,1.5){\shortstack
         {\tiny Edit\\\tiny Document}}}
\put(5.5, 1){\vector(1, 0){1.5}}
\put(7,.25){\framebox(2,1.5){\shortstack
       {\tiny Format\\\tiny Document}}}
\put(9, 1){\vector(1, 0){1.5}}
\put(11.5, 1){\oval(2, 1)}
\put(11.5, 1){\makebox(0, 0){End}}
\bezier{75}(4.5,.25)(6.25,-1)(8,.25)
\put(4.5,.25){\vector(-2, 1){0}}
\bezier{150}(4.5,1.75)(8,4)(11.5,1.5)
\put(11.5,1.5){\vector(2,-1){0}}
\end{picture}
\endgroup

\par\noindent
via
\begingroup\small\begin{verbatim}
\setlength{\unitlength}{4ex}
\begin{picture}(14,4)(0,-1)
\put(1, 1){\oval(2, 1)}
\put(1, 1){\makebox(0, 0){Start}}
\put(2, 1){\vector(1, 0){1.5}}
\put(3.5,.25){\framebox(2,1.5){\shortstack
         {\tiny Edit\\\tiny Document}}}
\put(5.5, 1){\vector(1, 0){1.5}}
\put(7,.25){\framebox(2,1.5){\shortstack
       {\tiny Format\\\tiny Document}}}
\put(9, 1){\vector(1, 0){1.5}}
\put(11.5, 1){\oval(2, 1)}
\put(11.5, 1){\makebox(0, 0){End}}
\bezier{75}(4.5,.25)(6.25,-1)(8,.25)
\put(4.5,.25){\vector(-2, 1){0}}
\bezier{150}(4.5,1.75)(8,4)(11.5,1.5)
\put(11.5,1.5){\vector(2,-1){0}}
\end{picture}
\end{verbatim}\endgroup
\par\noindent
Although the specification is
not as easy as via the pic preprocessor,
it is not difficult when we
start from a template, like the one above.
Cumbersome is the treatment of the arrow heads, but these can be hidden.
\item a pie-chart via \LaTeX

%\input{lus.pic}
\setlength{\unitlength}{6ex}
\begin{picture}(6, 5)(-3, -2)
%1st quadrant
%\bezier{100}(2, 0)(2, .54)(1.79, .89)
     % 0  - `30' 2:1-lijn
\bezier{60}(1.79, .89)(1.46, 1.46)(1, 1.73)
     % `30' - 60
\bezier{60}(1, 1.73)(.54, 2)(0, 2)
     % 60 - 90
%2nd quadrant
\bezier{60}(0, 2)(-.54, 2)(-1, 1.73)
     % 90 - 120
\bezier{60}(-1,1.73)(-1.46,1.46)(-1.73,1)
     %120 - 150
\bezier{60}(-1.73, 1)(-2, .54)(-2, 0)
     %150 - 180
%3rd quadrant
\bezier{60}(-2, 0)(-2, -.54)(-1.73, -1)
     %180 - 210
\bezier{60}(-1.73,-1)(-1.46,-1.46)(-1,-1.73)
     %210 -240
\bezier{60}(-1, -1.73)(-.54, -2)(0, -2)
     %240 - 270
%4th quadrant
\bezier{60}(0, -2)(.54, -2)(1, -1.73)
     %270 - 300
\bezier{60}(1,-1.73)(1.46,-1.46)(1.73,-1)
     %300 - 330
\bezier{60}(1.73, -1)(2, -.54)(2, 0)
     %330 - 360
%division lines
\put(0, 0){\line(1, 0){2}}
\put(0, 0){\line(2, 1){1.79}}
     %1.79 = 2 cos arctg .5
%\put(0, 0){\line(-2, 1){1.79}}
\bezier{75}(0, 0)(-.81, .59)(-1.61, 1.18)
     %-.81 = cos 144; .59 = sin 144
%\put(0, 0){\line(-1, -2){.89}}
     % .89 = 2 sin arctg .5
\bezier{75}(0, 0)(-.59, -.81)(-1.18, -1.62)
     %-.59 = cos -126; -.81 = sin -126
%piece
\bezier{60}(2.5, 0.1)(2.5, .64)(2.29, .99)
     % shift .5, .1
\put(0.5, 0.1){\line(1, 0){2}}
\put(0.5, 0.1){\line(2, 1){1.79}}
%Candles:
\bezier{20}(0,1.31)(-.15,1.45)(0,1.61)
\bezier{20}(0,1.31)(.175,1.45)(0,1.61)
\put(-.1,.1){\line(0,1){1.2}}
\put(.1,.05){\line(0,1){.95}}
\put(.1,1){\line(-2,3){.2}}
%left
\bezier{20}(-.25,1.46)(-.40,1.6)(-.25,1.76)
\bezier{20}(-.25,1.46)(-.075,1.6)(-.25,1.76)
\put(-.35,.25){\line(0,1){1.2}}
\put(-.15,.2){\line(0,1){.95}}
\put(-.15,1.15){\line(-2,3){.2}}
%right
\bezier{20}(.25,1.46)(.40,1.6)(.25,1.76)
\bezier{20}(.25,1.46)(.075,1.6)(.25,1.76)
\put(.35,.25){\line(0,1){1.2}}
\put(.15,.2){\line(0,1){.95}}
\put(.15,1.15){\line(2,3){.2}}
%leftleft
\bezier{20}(-.5,1.61)(-.65,1.75)(-.5,1.91)
\bezier{20}(-.5,1.61)(-.325,1.75)(-.5,1.91)
\put(-.6,.4){\line(0,1){1.2}}
\put(-.4,.35){\line(0,1){.95}}
\put(-.4,1.3){\line(-2,3){.2}}
%rightright
\bezier{20}(.5,1.61)(.65,1.75)(.5,1.91)
\bezier{20}(.5,1.61)(.325,1.75)(.5,1.91)
\put(.6,.4){\line(0,1){1.2}}
\put(.4,.35){\line(0,1){.95}}
\put(.4,1.3){\line(2,3){.2}}
%texts
\put(-1, -.1){\makebox(0, 0){\strut Happy}}
\put(.5, -1){\makebox(0, 0){\strut Birthday}}
\put(1.9, .35){\makebox(0, 0){\strut NTG}}
\end{picture}

\par\noindent via
\begingroup\small
%\begingroup\small
\begin{verbatim}
\setlength{\unitlength}{6ex}
\begin{picture}(6, 5)(-3, -2)
%1st quadrant
%\bezier{100}(2, 0)(2, .54)(1.79, .89)
     % 0  - `30' 2:1-line
\bezier{60}(1.79, .89)(1.46, 1.46)(1, 1.73)
     % `30' - 60
\bezier{60}(1, 1.73)(.54, 2)(0, 2)
     % 60 - 90
%2nd quadrant
\bezier{60}(0, 2)(-.54, 2)(-1, 1.73)
     % 90 - 120
\bezier{60}(-1,1.73)(-1.46,1.46)(-1.73,1)
     %120 - 150
\bezier{60}(-1.73, 1)(-2, .54)(-2, 0)
     %150 - 180
%3rd quadrant
\bezier{60}(-2, 0)(-2, -.54)(-1.73, -1)
     %180 - 210
\bezier{60}(-1.73,-1)(-1.46,-1.46)(-1,-1.73)
     %210 -240
\bezier{60}(-1, -1.73)(-.54, -2)(0, -2)
     %240 - 270
%4th quadrant
\bezier{60}(0, -2)(.54, -2)(1, -1.73)
     %270 - 300
\bezier{60}(1,-1.73)(1.46,-1.46)(1.73,-1)
     %300 - 330
\bezier{60}(1.73, -1)(2, -.54)(2, 0)
     %330 - 360
%division lines
\put(0, 0){\line(1, 0){2}}
\put(0, 0){\line(2, 1){1.79}}
     %1.79 = 2 cos arctg .5
%\put(0, 0){\line(-2, 1){1.79}}
\bezier{75}(0, 0)(-.81, .59)(-1.61, 1.18)
     %-.81 = cos 144; .59 = sin 144
%\put(0, 0){\line(-1, -2){.89}}
     % .89 = 2 sin arctg .5
\bezier{75}(0, 0)(-.59, -.81)(-1.18, -1.62)
     %-.59 = cos -126; -.81 = sin -126
%piece
\bezier{60}(2.5, 0.1)(2.5, .64)(2.29, .99)
     % shift .5, .1
\put(0.5, 0.1){\line(1, 0){2}}
\put(0.5, 0.1){\line(2, 1){1.79}}
%Candles:
\bezier{20}(0,1.31)(-.15,1.45)(0,1.61)
\bezier{20}(0,1.31)(.175,1.45)(0,1.61)
\put(-.1,.1){\line(0,1){1.2}}
\put(.1,.05){\line(0,1){.95}}
\put(.1,1){\line(-2,3){.2}}
%left
\bezier{20}(-.25,1.46)(-.40,1.6)(-.25,1.76)
\bezier{20}(-.25,1.46)(-.075,1.6)(-.25,1.76)
\put(-.35,.25){\line(0,1){1.2}}
\put(-.15,.2){\line(0,1){.95}}
\put(-.15,1.15){\line(-2,3){.2}}
%right
\bezier{20}(.25,1.46)(.40,1.6)(.25,1.76)
\bezier{20}(.25,1.46)(.075,1.6)(.25,1.76)
\put(.35,.25){\line(0,1){1.2}}
\put(.15,.2){\line(0,1){.95}}
\put(.15,1.15){\line(2,3){.2}}
%leftleft
\bezier{20}(-.5,1.61)(-.65,1.75)(-.5,1.91)
\bezier{20}(-.5,1.61)(-.325,1.75)(-.5,1.91)
\put(-.6,.4){\line(0,1){1.2}}
\put(-.4,.35){\line(0,1){.95}}
\put(-.4,1.3){\line(-2,3){.2}}
%rightright
\bezier{20}(.5,1.61)(.65,1.75)(.5,1.91)
\bezier{20}(.5,1.61)(.325,1.75)(.5,1.91)
\put(.6,.4){\line(0,1){1.2}}
\put(.4,.35){\line(0,1){.95}}
\put(.4,1.3){\line(2,3){.2}}
%texts
\put(-1, -.1){\makebox(0, 0){\strut Happy}}
\put(.5, -1){\makebox(0, 0){\strut Birthday}}
\put(1.9, .35){\makebox(0, 0){\strut NTG}}
\end{picture}
\end{verbatim}\endgroup
\noindent
The above use of the bezier splines makes the
creation of scaling invariant circles
easier than the approach by Ramek in the proceedings of
\TeX eter '88.

\item commutative diagrams (\LAMSTeX, \ldots). As a simple example
the calculation flow of the autocorrelation
function,
$a_f$, inspired by the \TeX Book ex18.46, p.358.
${\cal F}$ denotes the Fourier transform and
${\cal F}\strut^{-}$ the inverse Fourier transform
\vskip1ex
%
\def\lllongrightarrow{\relbar\joinrel%
       \relbar\joinrel\relbar\joinrel%
       \relbar\joinrel\rightarrow}
\def\llongrightarrow{\relbar\joinrel%
        \relbar\joinrel\rightarrow}
\def\normalbaselines{%
           \baselineskip20pt
           \lineskip3pt
           \lineskiplimit3pt}
\def\mapright#1{\smash{\mathop{
   \llongrightarrow}\limits^{#1}}}
\def\lmapright#1{\smash{\mathop{
   \lllongrightarrow}\limits^{#1}}}
\def\mapdown#1{\Big\downarrow
      \rlap{$\vcenter{\hbox{$#1$}}$}}
\def\mapup#1{\Big\uparrow
      \rlap{$\vcenter{\hbox{$#1$}}$}}
$$%Diagram
\matrix{f&amp;\lmapright\otimes&amp;a_f\cr
    \mapdown{{\cal F}}&amp;&amp;\mapup{%
            {\cal F}\strut^{-}}\cr
    \hbox to 0pt{\hss${\cal F}(f)$\hss}
    &amp;\mapright\times\hfil&amp;
    \hbox to 0pt{\hss$\bigl({\cal F}(f)
                     \bigr)^2$\hss}\cr}
\qquad$$%a little to the left
via
\begingroup\small\begin{verbatim}
$$\matrix{f&amp;\lmapright\otimes&amp;a_f\cr
    \mapdown{{\cal F}}&amp;&amp;\mapup{%
            {\cal F}\strut^{-}}\cr
    \hbox to 0pt{\hss${\cal F}(f)$\hss}
    &amp;\mapright\times\hfil&amp;
    \hbox to 0pt{\hss$\bigl({\cal F}(f)
                     \bigr)^2$\hss}\cr}$$
\end{verbatim}\endgroup
\noindent with auxiliaries
\begingroup\small\begin{verbatim}
\def\lllongrightarrow{\relbar\joinrel%
       \relbar\joinrel\relbar\joinrel%
       \relbar\joinrel\rightarrow}
\def\llongrightarrow{\relbar\joinrel%
        \relbar\joinrel\rightarrow}
\def\normalbaselines{%
           \baselineskip20pt
           \lineskip3pt
           \lineskiplimit3pt}
\def\mapright#1{\smash{\mathop{
   \llongrightarrow}\limits^{#1}}}
\def\lmapright#1{\smash{\mathop{
   \lllongrightarrow}\limits^{#1}}}
\def\mapdown#1{\Big\downarrow
      \rlap{$\vcenter{\hbox{$#1$}}$}}
\def\mapup#1{\Big\uparrow
      \rlap{$\vcenter{\hbox{$#1$}}$}}
\end{verbatim}\endgroup

\item \MF{} coupled to \TeX. Leading in this area is the work of Hoenig, for
example see his `When \TeX\ and \MF{} work together.'
He has worked out the printing along curved lines,
and the typesetting of paragraphs which flow around
arbitrary shapes!
Very powerul, but not simple to use for the moment.
It looks like going back to the roots,
because Knuth's first version of the `\TeX book' contained it all:
`\TeX\ and \MF{}, New directions in typesetting.'

\item (encapsulated) \PS. Knuth left some niches for handling these
  kinds of things via the \cs{special} command. A very nice survey of
  the possibilities which can be obtained when incorporating \PS{} is
  given in Goossens' `\PS{} en \LaTeX,' which is also a chapter in
  the \LaTeX-companion. A survey of the various user approaches has been
  compiled by Anita Hoover.
\item Screen drawings. An example is GNUplot. Cameron in \TeX line
  characterized these kind of systems as
\begin{quote}
  `\ldots There are a couple of programs available which take all the
  calculation out: you draw your picture using the mouse, and it is
  automagically compiled into \LaTeX\ source. But for complicated
  figures, mathematical insight or computational power may be required.'
\end{quote}
  An example of figures that require math insight are Hoenig's `Fractal
  images with \TeX.'
  We can add to that the reuse aspect, which is hindered by the drawing
  approach, and the unreadable nature of  machine-generated code.
  But certainly these tools have their niche in the spectrum of tools for EP.
\end{itemize}

\section{Front matter}
Much attention is paid to front matter:
cover,
publication characteristics (source, ISBN or other classification),
title etc.,
abstract,
keywords,
table of contents and the like if not considered as an appendix,
foreword.
Basically the style or format can handle these easily.
Because of the eye-catching need of a cover a designer
is generally involved and the cover, especially
the graphics, typeset by different means.
The page with publication characteristics  can be left to
the copy editor.
For the others just obey the mark-up characteristics, as demanded
by the style file.
\section{Back matter}
As back matter we have the various appendices. Two kinds are
noteworthy: the list of references and the index. Both are
complicated because of the {\em cross-referencing on the fly.}
\paragraph*{Bibliography creation.}%
With a publication we have the problem of
handling a list of references,
to extract them from our literature database,
and to format them appropriately.
We also like to cross-reference them to the list of references,
such that it is adaptable to different journal traditions,
with respect to formatting of citations.
There are tools available to do that, for example
\LaTeX's \BibTeX\ with its {\tt thebibliography} environment, and
\AmSTeX's \cs{ref} and \cs{endref} structures.
I designed my own `little language
within \TeX' to handle that all in a one-pass job within \AllTeX.
To get the flavour, the bibliography at the end of this paper
has been prepared via
\begingroup\small\begin{verbatim}
\section*{References}
\input{lit.dat}%database file
  \def\tubissue#1(#2){{\sl TUGboat\/}
                        {\bf#1} (#2)}
  \def\ls#1{\ea\bibentry#1\endgraf}
\input{lit.sel}%file with names
\end{verbatim}\endgroup
See my BLUe's Bibliography paper
for more details, and my solution of the cross-referencing in a one-pass job.

\paragraph*{Index preparation.}
This is complicated because of the dynamic allocation of page numbers
and inclusion of these in the index. It is also an art to provide the
right entries. Generally (external) sorting needs to be done too,
next to the formatting. A complicated job.
\begin{quote}\TeX nically
   there is the tool Makeindex, to cooperate with (La)\TeX.
\end{quote}
Knuth provided a mark-up mechanism for extracting
the index entries and let the OTR add the page numbers.
These items are writen on a file
for further processing, like sorting, and adding comments and the like.
I consider that very powerful, but it is not completely automatic.
The user, or publisher, has to account for the finishing touch, for the
moment. For a survey of the intricacies which come along
when writing automatic index generators, see
the report of Chen and Harrison about developing Makeindex.

I have exercised index preparation \`a la Knuth in my Sorting in BLUe paper.
Although the approach of doing it all within \TeX\ looks promising,
it still needs  some polishing for BLU to become  useful.

\section{Guidelines for Choosing}
Given the above-mentioned variety of tools %and your personal circumstances
the following questions can be useful
\begin{quote}
What facilities does your publisher provide?\\
What is the document like?                           \\
What tools are already in use?                        \\
Whom is it aimed at?                               \\
How many authors are involved?                         \\
%(many authors many publications?),                    \\
Is (partial, e.g.\  bibliographical) reuse also envisaged?\\
Is future use, different from formatting, in sight?
\end{quote}
\noindent
First, contact your publisher and agree upon the tools to be used.\\
Next best, when you are on your own, consider
\begin{description}
\item[]No structure \hfill it does not matter \\%what will be used
       (For right-to-left etc.\hfill \TeXXeT)
\item[]Scientific papers \hfill \AllTeX%can best be used
\item[]Reuse \hfill \AllTeX, SGML? %can best be used
\item[]Various authors\hfill \AllTeX, SGML? % as a uniform language
%\TeX\ which is {\em de facto\/} in use for that purpose
\item[]Future (nonformatting) use\hfill \AllTeX, SGML?
\end{description}
A user sufficiently fluent in di-roff  would like me to
substitute x-roff for \TeX\ in the table above. Be my guest, I don't
have experience with x-roff.

\section*{Acknowledgements}
This paper has been processed via \LaTeX\ because I needed the
functionality of the picture environment. The standard formatting of
the peculiar \TeX-related names have been borrowed from \verb|tugboat.cmn|.
I used the \verb|ltugproc.sty|---style for
TUG proceedings---because of the nice way the front matter
is typeset.

I like to thank Christina Thiele for polishing my English
and pointing to the right use of fonts for established names.\footnote{Although
   this has its difficulties simply using \cs{MF} for example goes wrong
   when we vary size.}
Gerard van Nes blew his horn once again. Thank you!

\section*{Conclusions}
For high-quality computer-assisted typography \TeX{} etc.{} is
a flexible and excellent craftsman-like tool,
with the following characteristics
\begin{itemize}
\item \TeX\ is in the PD, available for all platforms
\item flavours of \TeX\ have been added
to facilitate its use, next to macro toolboxes
\item formats and style files have been added to facilitate the publication
process
\item \TeX\ can be used with many fonts, and takes its own font generation tool
\item drivers, WSYIWYG interfaces are commercially available
\item working environments are provided by user groups
\item lingua franca for scientific email communication
\item publishing houses accept compuscripts marked up by (La)\TeX
\item users maintain digests, discussion lists and file servers
\item some 10k organized users, with many books published via \AllTeX.
\end{itemize}
\noindent
Once mastered \TeX\ is a nice basic tool.
However, the way to error-less mark-up is hard and haunting, unless,
supported (by a publisher) with
generic styles,
user's guides, and
templates.
Using \LaTeX\ {\em as-is\/} and
supported by publishers is much simpler
than learning \TeX\ per se.

The \TeX\ arcana is complex.
(Professional) Education is paramount!
The twins \TeX-\MF{} will serve for a lifetime.
And above all let us keep it simple!
\section*{References}
\begin{thebibliography}{xxxxx}
\input{lit.dat}
%\input{lit.lat}
  \def\tubissue#1(#2){{\sl TUGboat\/} {\bf#1} (#2)}
  \def\ls#1{\ea\bibitem{}#1\endgraf}
\input{lit.sel}
\end{thebibliography}

\end{document}









</pre></body></html>