\font\eightsy=cmsy8 \skewchar\eightsy='60\def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\scriptstyle\cal A$}\kern-.25em \lower.4ex\hbox{\eightsy M}\kern-.1em{$\cal S$}-\TeX} \let\LAmSTeX\LamSTeX \def\proggy#1{{\sc#1}} \def\|#1|{{\tt#1}} \def\cmd#1{{\tt\char`\\#1}} \centerline{\bf What's New with \TeX?} \smallskip \noindent At the 10th Anniversary meeting at Stanford last summer, when Knuth hoped to `wrap up' his involvement with \TeX, the non-native English-speaking contingent, mostly from Europe, persuaded him to embark on one final set of enhancements, to support eight-bit character sets and multi-lingual typesetting. This gave rise to \TeX\ 2.993, which mutated into \TeX~3.0 in late March~1990. The main changes are: \noindent\hbox {\bf 1.~Character Set}: Up to 256 distinct characters are now allowed in input files. \noindent\hbox {\bf 2.~Hyphenation Tables}: \TeX\ now supports up to 256 hyphenation tables. There is a new integer parameter called \cmd{language}, whose value specifies the hyphenation to use. \noindent\hbox {\bf 3.~Hyphenated Fragment Control}: The new version has parameters called \cmd{lefthyphenmin} and \cmd{righthyphenmin} which specify the smallest number of letters which may be at the beginning or end of a word to be hyphenated. \noindent\hbox {\bf 4.~Better Ligatures}: The major changes concern ligatures, although one must modify the \MF\ sources of fonts to take advantage of all of them. The new version supports more complex ligature constructions then the old, allows two ligatures to share common code, and introduces `invisible' boundary characters at the beginnings and ends of words which allow the first or last character to be changed. \noindent\hbox {\bf~5. Better-Looking Sloppiness}: In the past, a common way to avoid overfull boxes was to set \cmd{tolerance=10000}, which resulted in \TeX\ concentrating all the badness in one truly awful line. A new parameter, \cmd{emergencystretch} has been introduced to combat this. If it is set to a positive value and \TeX\ is unable to typeset a paragraph without exceeding the given tolerances, another pass is made through the paragraph in which an amount of stretch equal to \cmd{emergencystretch} is present in every line. \noindent\hbox {\bf~6. Miscellany}: There are new parameters called \cmd{badness}, which records the badness of the box most recently constructed, and \cmd{inputlineno}, defined as `the number of the line that \TeX\ would show on an error message if an error occurred now.' It is also possible to set the maximum number of lines of context information output in an error message -- a useful feature for large macro packages like \LaTeX. Finally, there is a new parameter called \cmd{holdinginserts} which inhibits \TeX\ from inserting insertions when building pages; this feature is primarily of interest to designers of output routines who wish to break up and re-build the current page. \smallskip These changes also affect \MF\ (the ligature changes) and \proggy{tangle} (\proggy{pool} files). However, Knuth has also made a few improvements and bug-fixes to some of the other parts of the \TeX\ family. The latest versions of all the important programs are: \centerline{\vbox{% \halign {#\quad\hfil & #\hfil &\qquad #\quad\hfil & #\hfil\cr \TeX & 3.0 & \MF & 2.0 \cr \proggy{tangle} & 4.0 & \proggy{weave} & 4.1 \cr \proggy{VFtoVP} & 1.0 & \proggy{VPtoVF} & 1.0 \cr \proggy{GFtoDVI} & 3.0 & \proggy{GFtoPK} & 2.2 \cr \proggy{GFtype} & 3.0 & \proggy{PKtype} & 2.2 \cr \proggy{DVItype} & 3.2 & \proggy{PLtoTF} & 3.2 \cr \proggy{TFtoPL} & 3.1 \cr }}} \smallskip At the same time as he implemented the above changes to \TeX, Knuth also devised {\it virtual fonts.\/} These are composite fonts, built up of characters extracted from existing fonts. This makes it possible to merge, say, a printer-resident \PS\ font for most characters while pulling characters missing from it (e.g., upper-case Greek) from a down-loaded Computer Modern font. (This example is for illustration only -- this composite would actually be very ugly!) \TeX\ itself sees only one font, but the device driver (and perhaps also the printer) would take characters from the two fonts as required. One driver, derived from one of the \dvi--\PS\ converters, has also been modified by Knuth to support virtual fonts. There are new programs, \proggy{VFtoVP} and \proggy{VPtoVF}, which are analogous to \proggy{TFtoPL} and \proggy{PLtoTF} respectively. Another significant event at the 10th Anniversary meeting was the cessation of Leslie Lamport's development of \LaTeX. Future development will be undertaken by a committee led by Frank Mittlebach, who has already done significant work on \LaTeX's font-loading mechanism and on a more flexible multicolumn style. Two separate attempts are being made to combine the facilities of \LaTeX\ and \AmSTeX. One of these is taking place under the auspices of the American Mathematical Society, the AMS. The other, \LAmSTeX, available now, is a commercial product by Mike Spivak, author of \AmSTeX. On the font front, the AMS have produced new \MF\ descriptions of their extended symbol fonts, which include blackboard bold and many useful (and some weird!) mathematical symbols. The \MF\ sources are not in the public domain, but I believe the AMS plans to release {\tfm} and {\pk} files at some point. \rightline{\sl Adrian Clark}