There are three parts to this issue ******************************************************************************* * * * TTTTTTT X X M M GGGGGG A Mostly Unofficial * * T X X MM MM G Publication for Users * * T EEEEEEE XXX M M M M A G GG Of the TeX Computer * * T E X X M M M A A G G Typesetting System. * * T EEEE X X M M M AAAAA GGGGGG * * E A A Volume 4, Number 1 * * EEEEEEE A A Distribution: 2136 or so... * * * ******************************************************************************* April 27, 1990 Contents \footnote............................................................1 News Headlines...........................................................2 TUG 90: Call for Queries............................................3 SGML & TeX Conference...............................................4 GUTenberg '90.......................................................5 New service from Clarkson archive...................................6 French and German TeX files available from LISTSERV@DHDURZ1.........7 New versions of TeX and Metafont.....................................8 Russian TeX..........................................................9 TeX mysteries and puzzles...........................................10 __1 \footnote{Good things come...} Only eight months after the publication of the last TeXMaG, another is here. Whether another will follow this in a timely fashion is different question altogether. As you may or may not know, I'm a student and have been putting TeXMaG together in my spare time, and with graduation becoming rather imminent (little more than a thesis away) that spare time is becoming sparser and sparser: what with chairing (somewhat poorly, I must confess) the DVI standards committee, keeping up the DVI lists, offering insights to the LaTeX re-write, and much more, it looks like TeXMaG will fall by the wayside... unless... somebody out there is willing to pick up the torch. I'll be honest. TeXMaG takes a fair amount of time to do well. Most articles require some editing and usually a bit of reformatting as well (DEK's article on TeX 3 took a fair amount of TPU cleverness to deal with). There's a great deal of other work to be done too, keeping membership lists up to date, dealing with all the extra queries that come in from the new infamy. On the other hand you get fame and ... more fame. And you learn about things before most other people do. So, if anybody out there is interested in taking over TeXMaG, let me know. --- On a more interesting note, since the last TeXMaG was put together, many exciting things have happened. Knuth, one day after talking about the frozen state of TeX announced a proposal for TeX 3.0 which is now available and becoming the _de facto_ version at most sites. Along with the new TeX and MF we also have a defined standard for dealing with mapping physical fonts into TeX fonts which allow such interesting things as an ISO Latin-1 version of CM without coding. DVI drivers supporting this feature have already appeared (although not with the speed that Knuth had expected). Numerous new implementations of TeX for the PC have been created along with a few ports of the WEB system itself. (One unfortunate note is that much of this work is going on in Germany and the extant documentation is in German--meine Deutsch ist nicht sehr guht. :-( ) On usenet, a new newsgroup, comp.text.tex has appeared and has had over 1000 postings at the time of this writing. Two new Cyrillic fonts have become available and a special discussion list for Russian TeX issues has been created as well. LaTeX is being extended to handle a large number of previously unconsidered situations and much more. The 1990's should see some fascinating progress in the development and use of TeX. __2 ********************************************************************** * Headlines * ********************************************************************** - The position of CMS site coordinator has been handed to Joachim Lammarsch (Federal Republic of Germany) from Dean Guenther. Joachim is very active in the TeX community and is president of DANTE, the German-speaking TeX Users Group. Dean will continue to offer phone assistance for those in North America with no e-mail access. In addition, CMS TeX files will soon be made available on the networks via Bitnet servers and FTP. A future article in TeXMaG will describe this in detail. - The AMS has completed AMSTEX.STY, a document style option for use with any standard LaTeX document style which adds the advanced math typesetting functionality of AMS-TeX to LaTeX. Additionally, by the end of March the AMS will have 2 document styles available, AMSART and AMSBOOK. These document styles are modelled after LaTeX's ARTICLE and BOOK document styles respectively, but with AMS specifications. Inquiries for further information or requests for free copies of these files can be sent to the Internet address . __3 ********************************************************************** * TeX Users Group 11th Annual Meeting * * Texas A&M University * * June 18--20, 1990 * * Forward into the 90s -- Call for Queries * ********************************************************************** by Christina Thiele Calling all queries that defy solution... or that just plain cause trouble when you don't need it... The 1990 Annual Meeting of the TeX Users Group will take place in TeXas June 18-20 this year. Every year we have a question-and-answer session, hosted and handled by the inimitable and unstumpable Barb Beeton. This year, however, to give everyone more time to think up a query--and think up a good answer--we're asking for submissions *before* the meeting. The best suggestions will be used to prepare the Q & A session, with the questions and answers to appear in the Proceedings. Questions not used for the TUG Meeting will be considered for subsequent issues of TUGboat. Queries should be posted to tug90-q@tamvm1.bitnet, a LISTSERV set up specially for this purpose. Sorry... no access to the contents, and no personal replies will be made. If you've had an interesting problem, now solved, but which might be of use and interest to the general user, send it along too. Send all submissions *before* June 1st, to allow time for preparation for the TeXas meeting. And come to the Meeting in June! __4 ********************************************************************** * SGML & TeX Conference * * Groningen, 31 Aug. 1990 * ********************************************************************** by C.G. van der Laan This conference, devoted to SGML, TeX, and their symbiosis, is organized by the NTG (Nederlandstalige TeX Gebruikersgroep, i.e., Dutch TeX Users Group) and the SGML Holland Users Group. The conference will be held at the University of Groningen. After some coffee, welcome etc., the day will start with a survey (invited speaker) about the relationship between SGML and TeX, now and in the future. During the day we have two parallel streams of presentations (1/2 and 3/4 hour talks, submission abstracts before 1/May/90) and for those wandering around there will be a vendor booth, a book stand, a selling point for TeX "gadgets", and copying facilities for PD (TeX) programs, and of course an information booth. The closing session (invited speaker) will be about Electronic Publishing in the future with a wink to SGML and TeX. To celebrate the joint happening we will end with a nice cocktail party offered by Elsevier and Samson Publishers. The conference language is Dutch but speakers will be urged to have their transparencies in English (non-natives are supposed to speak English). TeX, LaTeX, Metafont (TUG-like) courses as well as SGML courses are to be held before the conference and in the week after. These are as follows: SGML - SGML introduction (August 30) - SGML hands-on (August 28-30) TeX - Intermediate TeX (August 28-30, English spoken) - Advanced TeX (September 3-5) LaTeX - LaTeX introduction (September 3-5) - LaTeX document style design (August 29-30) Metafont - Logo design via Metafont (September 3-6, English spoken) English transparencies will be used for the classes and all the teachers can speak English. Members of any SGML or TeX Users Group are charged for Fl.75,--, students for Fl.25,--, and non-members for Fl.150,--, for the conference. Prices for the courses are Fl.250,-- (non-profit organizations) and roughly Fl.400,-- ( profit organizations) per day, both with 20% discount for members of any SGML/TeX users group. Further information: C.G. van der Laan (cgl@rug.nl) RekenCentrum RijksUniversiteit Groningen Landleven 1, 9700 AV, +31 50 633374 Groningen, The Netherlands Conference phone number: +31 50 638080 __5 ********************************************************************** * GUTenberg'90 * * May 15-18, 1990 * * University Paul Sabatier, Toulouse, FRANCE * ********************************************************************** by: Bernard Gaulle The French-speaking TeX Users Group named GUTenberg, is organizing its yearly congress comprising, as last year, tutorials and conferences, as well as a small exhibition. This year, the congress will be entitled "TeX and professional publishing" because TeX has become a full set of software considered by printers, editors, composers... as an indispensable production tool. GUTenberg'90 will provide a unique opportunity to familiarize yourself with the products and to collect information about the latest experiments and developments. The program committee will organize a series of high level presentations delivered by TeX users or professionals of publishing. The official language is French but immediate translation will be provided from French and English. *MAIN TOPICS After giving priority to topics focused on TeX and the publishing field, the program committee will select papers in one or the other of the following two areas: *TeX domain - Developments around TeX, LaTeX, ... - Creation/usage of fonts designed with or without Metafont - Fonts and page description languages - X-windows aspects - Rasterization and output - Screen editors, spellers and pre/post interactive processors - Aspects of French and European languages - Network usage - Public domain software access *Professional publishing - Page modeling techniques - Graphics and special effects - New fonts usage - Automated production from editor to printer - Hardware experiences - EP/CAP effects - Markup standards *PRELIMINARY AGENDA *May 15 Tutorial 1: (in French) Introduction a LaTeX (O. Nicole) Tutorial 2: Obtaining professional quality with electronic and personal publishing tools (with an ending debate) May 16 (early morning): Business meeting of GUTenberg members 10:30AM Opening the conference (B.Gaulle-M.Laugier) Greetings of the TUG president (N. Beebe) Y. Soulet (U.P.S) J.C. Joly (Cepadues \'editions) H. Le Tallec (Cepadues \'editions) M, Mme Collin (TR\'EMA) M.H. Gellis P. Lesgourgues (Cepadues \'editions) *PROGRAM COMMITTEE Bernard Gaulle (CNRS-CIRC\'E), Chairman Fax: (33) 1 69 28 52 73 Maurice Laugier (imprim. Louis-Jean), co-chairman Jacques Andr\'e (IRISA-INRIA) Nelson Beebe (Univ. Utah, USA) Fax: (1) 801 581-4801 Alain Cousquer (Univ. LILLE I) Nicolas Brouard (INED) Fran\c cois Chahuneau (Berger-Levrault) Michael Ferguson (INRS Tele., Canada) Laurent Heilmann (Gauthier-Villard) Christophe de Moncuit (CNRS-LIMSI) *SIGHTSEEING The city of Toulouse, the congress site, is such an historical site that you should not leave this beautiful *pink city* without visiting it. Other places within a hundred miles of Toulouse are very interesting, for example the fortress of Carcassonne, and the landscapes and villages of the Pyr\'en\'ees. Enjoy your stay in the Midi-Pyr\'en\'ees and Languedoc-Roussillon districts. __6 ********************************************************************** * New service from Clarkson archive * ********************************************************************** by Michael deCorte Clarkson now provides archives on tape as described below. For those who have seen it before it has been slightly changed. To obtain archives on tape via US-mail then mail to Rob Logan ERC Clarkson University Potsdam NY 13676 a self addressed stamped tape (8mm, 1/4 inch, 1/2 inch) with a check for $20 made to Clarkson University and a list of the archives that you want (eg latex-style and texhax). You can ask for as many archives as will fit on the tape but you can not ask for individual files. The tape will be written in Unix tar format. Unless you specify otherwise the tape will be written at the highest possible density. (1/2 inch @ 6250 BPI, 8mm @ 2.3 G/tape, 1/4 inch @ 60 M/tape). If you do not live in the US we will provide postage if you send a self addressed tape without stamps and a check for $40 instead of $20. NOTE: if the tape is not self addressed and stamped we will keep that tape and use it for backups. To obtain a list of top level archives (eg. latex-style, ISETL, Freemacs) send a self addressed envelope to the above address. For your information that money is used to pay a student to copy the tapes and any money left over is put into an account to be used to eventually buy a disk drive dedicated to the archive server. Contributions are strongly encouraged. The archive software itself has also undergone some revisions and improvements. For current information on the features of the server, send a mail file to archive-server@sun.soe.clarkson.edu containing the following two lines: path help __7 ********************************************************************** * French and German TeX files available from LISTSERV@DHDURZ1 * ********************************************************************** by: Bernard Gaulle (President of GUTenberg) Joachim Lammarsch (Chairman DANTE e.V.) To make it easier to get TeX software in Europe, GUTenberg and DANTE e.V. have decided to archive all the files specific to their languages at the server LISTSERV@DHDURZ1. This server also contains some files for Russian maintained by Dmitri Vulis . There is a new filelist named TEX. This filelist contains all related filelists.The French filelist is named FRENCH, the German filelist has the name GERMAN and the Russian filelist is called RUSSIAN. There is also a filelist containing files for GUTenberg called GUT. To inspect the contents of one of a LISTSERV filelist, send the command GET FILELIST where is the name of the filelist. Other groups are invited to store their files containing language specific software at this place. Please not that LISTSERV has a filename length restriction of 8 characters. Interested parties should contact Joachim Lammarsch. To get more information about LISTSERV send the command INFO to the server (not to me). You can send a interactive command or a mail with an RFC822 header. Please do not send files. __8 ********************************************************************** * The new versions of TeX and Metafont: * * Draft description * ********************************************************************** by Donald E. Knuth [Editor's note: Since I've been so slow getting things out, this description may be dated somewhat. However, to the best of my knowledge, if there are any changes to TeX not described here, they are not substantial.] For more than five years I held firm to my conviction that a stable system was far better than a system that continues to evolve. But during the TUG meeting at Stanford in August, 1989, I was persuaded to make one last set of changes, in order to bring TeX and Metafont to a state of completion consistent with their overall philosophy and goals. The main reason for the changes was the fact that I had guessed wrong about 7-bit character sets versus 8-bit character sets. I believed that standard text input would continue indefinitely to be confined to at most 128 characters, since I did not think a keyboard with 256 different outputs would be especially efficient. Needless to say, I was proved wrong, especially by developments in Europe and Asia. As soon as I realized that a text formatting program with 7-bit input would rapidly begin to seem as archaic as the 6-bit systems we once had, I knew that a fundamental revision was necessary. But the 7-bit assumption pervaded everything, so I needed to take the programs apart and redo them thoroughly in 8-bit style. This put TeX onto the operating table and under the knife for the first time since 1984, and I had a final opportunity to include a few new features that had occurred to me or been suggested by users since then. The new extensions are entirely upward compatible with previous versions of TeX and Metafont (with a few small exceptions mentioned below). This means that error-free inputs to the old TeX and Metafont will still be error-free inputs to the new systems, and they will still produce the same outputs. However, anybody who dares to use the new extensions will be unable to get the desired results from old versions of TeX and Metafont. I am therefore asking the TeX community to update all copies of the old versions as soon as possible. Let us root out and destroy the obsolete 7-bit systems, even though we were able to do many fine things with them. In this note I'll discuss the changes, one by one; then I'll describe the exceptions to upward compatibility. 1. The character set. Up to 256 distinct characters are now allowed in input files. The codes that were formerly limited to the range 0...127 are now in the range 0...255. All characters are alike; you are free to use any character for any purpose in TeX, assigning appropriate values to its \catcode, \mathcode, \lccode, \uccode, \sfcode, and \delcode. Plain TeX initializes these code values for characters above 127 just as it initializes the codes for ordinary punctuation characters like "!". There's a new convention for inputting an arbitrary 8-bit character to TeX when you can't necessarily type it: The four consecutive characters ~~xy, where x and y are any of the "lowercase hexadecimal digits" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, or f, are treated by TeX on input as if they were a single character with specified code digits. For example, ~~80 gives character code 128; the entire character set is available from ~~00 to ~~ff. The old convention discussed in Appendix C, under which character 0 was ~~@, character 1 (control--A) was ~~A, ..., and character 127 was ~~?, still works for the first 128 character codes, except that the character following ~~ should not be a lowercase hexadecimal digit when the immediately following character is another such digit. The existence of 8-bit characters has less effect in Metafont than in TeX, because Metafont's character classes are built in to each installation. The normal set of 95 printing characters described on page 51 of Metafontbook can be supplemented by extended characters as discussed on page 282, but this is rarely done because it leads to problems of portability. Metafont's char operator is now redefined to operate modulo 256 instead of modulo 128. 2. Hyphenation tables. Up to 256 distinct sets of rules for hyphenation are now allowed in TeX. There's a new integer parameter called \language, whose current value specifies the hyphenation convention in force. If \language is negative or greater than 255, TeX acts as if \language=0. When you list hyphenation exceptions with TeX's \hyphenation primitive, those exceptions apply to the current language only. Similarly, the \patterns primitive tells TeX to remember new hyphenation patterns for the current language; this operation is allowed only in the special "initialization" program called INITEX. Hyphenation exceptions can be added at any time, but new patterns cannot be added after a paragraph has been typeset. When TeX reads the text of a paragraph, it automatically inserts "whatsit nodes" into the horizontal list for that paragraph whenever a character comes from a different \language than its predecessor. In that way TeX can tell what hyphenation rules to use on each word of the paragraph even if you switch frequently back and forth among many different languages. The special whatsit nodes are inserted automatically in unrestricted horizontal mode (i.e., when you are creating a paragraph, but not when you are specifying the contents of an hbox). You can insert a special whatsit yourself in restricted horizontal mode by saying \language. This is needed only if you are doing something tricky, like unboxing some contribution to a paragraph. 3. Hyphenated fragment control. TeX has new parameters \lefthyphenmin and \righthyphenmin, which specify the smallest word fragments that will appear at the beginning or end of a word that has been hyphenated. Previously the values \lefthyphenmin=2 and \righthyphenmin=3 were hard-wired into TeX and impossible to change. Now plain TeX format supplies the old values, which are still recommended for most American publications; but you can get more hyphens by decreasing these parameters, and you can get fewer hyphens by increasing them. If the sum of \lefthyphenmin and \righthyphenmin is 63 or more, all hyphenation is suppressed. (You can also suppress hyphenation by using a font with \hyphenchar=-1, or by switching to a \language that has no hyphenation patterns or exceptions.) 4. Smarter ligatures. Now here's the most radical change. Previous versions of TeX had only one kind of ligature, in which two characters like "f" and "i" were changed into a single character like "fi" when they appeared consecutively. The new TeX understands much more complex constructions by which, for example, we could change an "i" following "f" to a dotless "\i" while the "f" remains unchanged: "f\i". As before, you get ligatures only if they have been provided in the font you are using. So let's look at the new features of Metafont by which enhanced ligatures can be created. A Metafont programmer can specify a "ligature/kerning program" for any character of the font being created. If, for example, the "fi" combination appears in font position 12, the replacement of "f" and "\i" by "fi" is specified by including the statement "i" =: 12 in the ligature/kerning program for "f"; this is Metafont's present convention. The new ligatures allow you to retain one or both of the original characters while inserting a new one. Instead of =: you can also write |=: if you wish to retain the left character, or =:| if you wish to retain the right character, or |=:| if you want to keep them both. For example, if the dotless \i appears in font position 16, you can get the behavior mentioned above by having "i" |=: 16 in f's program. There also are four additional operators |=:>, =:|>, |=:|>, |=:|>>, where each > tells TeX to shift its focus one position to the right. For example, if f and i had been replaced by f and dotless \i as above, TeX would begin again to execute f's ligature/kern program, possibly inserting a kern before the dotless \i, or possibly changing the f to an entirely different character, etc. But if the instruction had been "i" |=:> 16 instead, TeX would turn immediately to the ligature/kern program for characters following character 16 (the dotless \i); no further change would be made between f and \i even if the font had something specified there. 5. Boundary ligatures. Every consecutive string of "characters" read by TeX in horizontal mode (after macro expansion) can be called a "word". (Technically we consider a "character" in this definition to be either a character whose \catcode is a letter or otherchar, or a control sequence that has been \let equal to such a character, or a control sequence that has been defined by \chardef, or the construction \char.) The new TeX now imagines that there is an invisible "left boundary character" just before every such word, and an invisible "right boundary character" just after it. These boundary characters take effect if the font designer has specified ligatures and/or kerning between them and the adjacent letters. Thus, the first or last character of a word can now be made to change its shape automatically. A ligature/kern program for the left boundary character is specified within Metafont by using the special label ||: in a ligtable command. A ligature or kern with the right boundary character is specified by assigning a value to the new internal Metafont parameter boundarychar, and by specifying a ligature or kern with respect to this character. The boundarychar may or may not exist as a real character in the font. For example, suppose we want to change the first letter of a word from "F" to "ff" if we are doing some olde English. The Metafont font designer could then say ligtable ||: "F" |:= 11 if character 11 is the "ff". The same ligtable instruction should appear in the programs for characters like ( and ` and " and - that can precede strings of letters; then "Bassington-French" will yield "Bassington-ffrench". If the "s" of our font is the pre-19th century s that looks like a mutilated "f", and if we have a modern "s" in position 128, we can convert the final s's as Ben Franklin did by introducing ligature instructions such as boundarychar := 255; ligtable "s": 255 =:| 128, "." =:| 128, "," =:| 128, ")" =:| 128, "'" =:| 128, and so on. (A true oldstyle font would also have ligatures for ss and si and sl and ssi and ssl and st; it would be fun to create a Computer Modern Oldstyle.) The implicit left boundary character is omitted by TeX if you say \noboundary just before the word; the implicit right boundary is omitted if you say \noboundary just after it. 6. More compact ligatures. Two or more ligtables can now share common code. To do this in Metafont, you say "skipto " at the end of one ligtable command, then you say "::" within another. Such local labels can be reused; e.g., you can say skipto 1 again after 1:: has appeared, and this skips to the _next_ appearance of 1::. There are 256 local labels, numbered 0 to 255. Restriction: At most 128 ligature or kern commands can intervene between a skipto and its matching label. The TFM file format has been upwardly extended to allow more than 32,500 ligature/kern commands per font. (Previously there was an effective limit of 256.) 7. Better looking sloppiness. There is now a better way to avoid overfull boxes, for people who don't want to look at their documents to fix unfeasible line breaks manually. Previously people tried to do this by setting \tolerance=10000, but the result was terrible because TeX would tend to consolidate all the badness in one truly horrible line. (TeX considers all badness >=10000 to be infinitely bad, and all these infinities are equal.) The new feature is a dimension parameter called \emergencystretch. If \emergencystretch is positive and if TeX has been unable to typeset a paragraph without exceeding the given tolerances, another pass over the paragraph is made in which TeX pretends that additional stretchability equal to \emergencystretch is present in every line. The effect of this is to scale down all the badnesses into a range where previously infinite cases become finite; TeX will find an optimum solution to the scaled-down problem, and this will be about as good as possible in a practical sense. (The extra stretching is not really present; therefore underfull boxes will be reported in warning messges unless \hbadness is increased.) 8. Looking at badness. TeX has a new internal integer parameter called \badness that records the badness of the box it has most recently constructed. If that box was overfull, \badness will be 1000000; otherwise \badness will be between 0 and 10000. 9. Looking at the line number. TeX also has a new internal integer parameter called \inputlineno, which contains the number of the line that TeX would show on an error message if an error occurred now. (This parameter and \badness are "read only" in the same way as \lastpenalty: You can use them in the context of a , e.g., by saying "\ifnum\inputlineno>\badness ...\ \fi" or "\the\inputlineno", but you cannot set them to new values.) 10. Not looking at error context. There's a new integer parameter called \errorcontextlines that specifies the maximum number of two-line pairs of context displayed with TeX's error messages (in addition to the top and bottom lines, which always appear). Plain TeX now sets \errorcontextlines=5, but higher level format packages might prefer \errorcontextlines=1 or even \errorcontextlines=0. In the latter case, an error that previously involved three or more pairs of context would now appear as follows: ! Error. The \top The \top\ line ... 1.123 \The \The\ bottom line. (If \errorcontextlines<0 you wouldn't even see the `...' here.) 11. Output recycling. One more new integer parameter completes the set. If \holdinginserts>0 when TeX is putting the current page into \box255 for the \output routine, TeX will not move anything from insertion nodes into the corresponding boxes; all insertion nodes will stay in place. Designers of output routines can use this when they want to put the contents of box 255 back into the current page to be re-broken (because they might want to change \vsize or something). 12. Exceptions to upward compatibility. The new features of TeX and Metafont imply that a few things work differently than before. I will try to list all such cases here (except when the previous behavior was erroneous due to a bug in TeX or Metafont). I don't know of any cases where users will actually be affected, because all of these exceptions are pretty esoteric. o TeX used to convert the character strings ~~0, ~~1,..., ~~9, ~~a, ~~b, ~~c, ~~d, ~~e, ~~f into the respective single characters p, q,..., y, !, ", #, $, %, &. It will no longer do this if the following character is one of the characters 0123456789abcdef. o TeX used to insert no character at the end of an input line if \endlinechar>127. It will now insert a character unless \endlinechar>255. (As previously, \endlinechar<0 suppresses the end-of-line character. This character is normally 13=ASCII control--M = carriage return.) o Some diagnostic messages from TeX used to have the notation ["80]...["FF] when referring to characters 128...255 (for example when displaying the contents of an overfull box involving fonts that include such characters). The notation ~~80...~~ff is now used instead. o The expressions char128 and char0 used to be equivalent in Metafont; now char is defined modulo 256 instead. Hence char-1 = char255, etc. o INITEX used to forget all previous hyphenation patterns each time you specified \patterns. Now all hyphenation pattern specifications are cummulative, and you are not permitted to use \patterns after a paragraph has been hyphenated by INITEX. o TeX used to act a bit differently when you tried to typeset missing characters of a font. A missing character is now considered to be a word boundary, so you will get slightly more diagnostic output when \tracingcommands>0. o TeX and Metafont will report different statistics at the end of a run because they now have a different number of primitives. o Programs that use the string pool feature of TANGLE will no longer run without changes, because the new TANGLE starts numbering multicharacter strings at 256 instead of 128. o INITEX programs must now set \lefthyphenmin=2 and \righthyphenmin=3 in order to reproduce their previous behavior. __9 ********************************************************************** * Russian TeX * ********************************************************************** by Dimitri Vulis Jim Gerland, GERLAND@UBVM has graciously agreed to host the RUSTEX-L list on LISTSERV@UBVM. This will be of tremendous help to the Russian TeX project. Thanks again Jim!!! All the recipients of this message really appreciate this. This list (RUSTEX-L) should be used 1) for posting messages pertaining to the Russian TeX project and to Russian text processing in general: Russian hyphenation algorithms, Russian telecommunications, using ISO 8859-5 (aka GOSTCII) on various systems, etc; 2) for distributing Russian text processing software (including, but not limited to the Russian TeX files and GOSTCII fonts for various systems). (I will place these files online as soon as I figure out just how :) We will no longer have to try desperately to remember what to cc: to whom or to use 50-line distribution files, like the one above. Instead, one can send mail to RUSTEX-L@UBVM (or UBVM.BITNET) and it will be automatically distributed to all the subscribers to this list. To continue receiving my TeX-related postings (I'm done with distribution files!), please send the following command to LISTSERV@UBVM: SUB RUSTEX-L Your name. To unsubscribe, send UNSUB RUSTEX-L to LISTSERV@UBVM. Please don't send commands to RUSTEX-L, only to LISTSERV! If you have any questions/problems/comments, please don't hesitate to contact me at DLV@CUNYVMS1.BITNET. I'm the "list owner" and will do my best to help. I received several queries about Cyrillic fonts for TeX that could be used in conjunction with the hyphenation patterns. It's a bit of a problems. I will try to describe the situation as I see it; I apologize if I make any mistakes of offend someone inadvertently. 0. OCLC was rumored to have a Cyrillic font, which I've never seen, and which one can't get now anyway. 1. There are the AMS Cyrillic fonts, that are 'widely' available and only come in regular and bold. You can get the PK files for them, and a number of other good fonts, from AMS for some small fee (US$40?). I guess they're also on various servers. You can use these fonts with Russian TeX. Problems: a. You have to change rmacro.sty's definition of \ui (just comment out the 2 lines where it says uwash and uncomment the ones where it says AMS). TeX won't fully hyphenate words that contain \ui, resulting in many overfull boxes. Note: I wonder if TeX 3.0 or MLTeX has/will have some way of handling accented letters in hyphenation patterns. [Editor's note: MLTeX can hyphenate accented letters. Knuth, however, has indicated his intent to require pre-accented characters for those wishing to hyphenate accented words with standard TeX.] b. You have to use PLTOTF/TFTOPL to delete all the ligatures, except ' and - ones, from the TFM file. Use the control sequences defined in RMACRO.STY instead of ligatures. Don't use \cydot. Unfortunately, this (very elegant) idea cannot coexist with hyphenation. c. Without italics, small caps (kapitel'), typewriter, and other varieties, you can't do much fancy typesetting. 2. A set of Cyrillic fonts was developed at the The Institute for High Energy Physics in Serpukhov (IFV\'E). The MF source for these is available from ymir.claremont.edu in the directory [anonymous.tex.babel.russian.fonts-ifve]. 3. Ditto, Humanities and Arts Computing Center, University of Washington, Seattle. The MF source for these is available from ymir.claremont.edu in the directory [anonymous.tex.babel.russian.fonts-uwash]. (2) and (3) are of about the same quality. (2) has a typewriter (monospace) variants, making it more useful for computer program listings, etc, which (3) lacks. (2) lacks 'kapitel'' for words like 'lemma' and 'teorema', which (3) has. Both have italics (kursiv) and sans-serif (bez zasechek) variants. Both have some letters that could stand improvement. (3) also had Serbian, Ukrainian, etc, letters (as does (1)), and the 3 `pre-revolutionary' letters. I guess both are to be considered beta-testable. I heard that IFV\'E will ask the Polygraphic Institute in Moscow to look at their (2) MF code, which would probably greatly improve it. I heard that AMS will 'soon' start distributing (3) instead of (1) as 'AMS Cyrillic'; they were supposed to do it as of Sept. 1, but were delayed (perhaps by a few months). The contact for (2) is Alexander Samarin , from IFV\'E, visiting CERN. He is very knowledgeable about Russian TeX. The contact for (3) is Thomas Ridgeway, , the director of the computing center. Both of these people are fairly busy, and I feel a little uneasy about posting their addresses. It's probably not a good idea to bother them (or anyone) with requests for "more information". Wishful thought 1: it would be nice to have ONE good Cyrillic font that everyone agrees on and that can use CM drivers. (2) is probably better in this respect. Wishful thought 2: it would be nice to have SOME set of Cyrillic PKs available, with the understanding that they'll be phased out when the fonts are complete (sort of like we used AM until we got CM). __10 ********************************************************************** * TeX mysteries and puzzles * ********************************************************************** This issue's column contains two answers to previous puzzles plus one new puzzle. Beginning with the puzzle: It is frequently desirable to be able to determine the length of the last paragraph. For example, at the 1988 TUG conference, it was asked how to create paragraphs like the following: What is desired is that the paragraph indentation be equal to the length of the last line of the preceding paragraph. Something like what is seen here. Admittedly, this is a fairly esoteric design and is likely to be used only for such tasks as advertising and never any "real" design. But the value of the length of the previous line should still be accessible for less esoteric applications such as putting less space before a quotation if the last line is "short" (as per what is done with displayed equations). Now, here are the two answers: The first answer relates to the \futurelettwo problem (V3N3) submitted by Rainer Schoepf (this is, in fact, his own puzzle): The Problem was: write a macro called \futurelettwo that behaves as follows: \futurelettwo is equivalent to \let = \let = Answer: \def\futurelettwo{\afterassignment\futurelet\futurelet} How does this work? First the \afterassignment command saves the following \futurelet in a special place. Then the second \futurelet takes the following tokens and effectively executes \let = . BEFORE and are re-inserted the \futurelet token saved by afterassignment is inserted which now looks at the following tokens . According to its definition this is equivalent to \let = . --- The second puzzle has also been answered by its submitter: Victor Eijkhout offers the following macro for "variosetting" (see also TeXMaG V3N3): In a previous TeXMag I asked for the solution to the following problem: let lines of text be right justified, unless they have to stretch too much, in that case, set them with glue at natural width. This problem (a literal translation of the Dutch term is "vario setting". Does anyone know the Anglo-Saxon term for it?) has been on my mind for a long time, and now I have it. That is, I have a solution, but it's not particularly simple, and I would very much like to hear it if someone has something a bit shorter/more efficient. Basic principle: - let TeX form a complete paragraph, and then investigate each line: - unhbox it - if the result is much shorter, keep that, - else keep the original - getting a line is done by \lastbox - as \lastbox doesn't work on the page, you have to capture the paragraphs using, for instance, \everypar - in between the boxes of the lines of text are glue and penalty items, these can be removed by \unskip and \unpenalty. - penalties have to be reinserted. Now, here are the macros. Note the nice recursion, and the use of the save stack. %-------------------Cut here--------------------------------------------- \hsize=7cm \parindent=0cm \raggedbottom \nopagenumbers \frenchspacing \parindent=0in \spaceskip=.333em plus .5em \newbox\onepar \newbox\investigation \newbox\tester \newcount\savepenalty \newif\ifsnapped \everypar={\setbox\onepar=\vbox\bgroup\everypar={} \def\par{\endgraf\pickthelines\egroup\unvbox\onepar}} \def\pickthelines{\setbox\investigation=\lastbox \ifvoid\investigation \global\snappedtrue \else \unskip \savepenalty=\lastpenalty \unpenalty {\pickthelines} \penalty\savepenalty \investigatethebox \fi} \def\investigatethebox{\setbox\tester=\hbox{\unhcopy\investigation} \ifdim\wd\tester<.94\hsize \ifsnapped \box\investigation \global\snappedfalse \else \box\tester \global\snappedtrue \fi \else \box\investigation \global\snappedfalse \fi} %-------------------Cut here--------------------------------------------- Using this is not really straightforward: for a nice visual effect you may have to tune the \pretolerance and \hyphenpenalty, and adapt the value .94 to the particular \hsize, It may even be that this effect works better in Dutch where the average word length is more than in English. __11 ********************************************************************** * A summary of TeX-related information of note * ********************************************************************** Please note that all Janet addresses are given in the UK "backwards" format. Non-Janet users should reverse the address to reach the address in question. For example, Uk.Ac.Aston is Aston.Ac.Uk to the rest of the world. ---------------------------------------------------------------------- Electronic magazines/newsletters/mailing lists *TeXMaG TeXMaG is an independently published electronic magazine available free of charge to all interested parties reachable by electronic mail. It is published sporadicly, and the editor likes to think that it's bi-monthly and the readers humor him. SUBSCRIPTIONS: CDNnet: Send a note to asking to receive TeXMaG. JANET: Send a note to Peter Abbott, asking to receive TeXMaG. All others: Send the following command as an interactive message (Bitnet) or as a single-line mail message to LISTSERV@UICVM or LISTSERV@UICVM.UIC.EDU: SUBS TEXMAG-L Your_Full_Name. If you have difficulty doing this, send a note to Don Hosek . SUBMISSIONS: Please send submissions to or ; they will automatically be forwarded to the editor. BACK ISSUES: Back issues may be FTP'd from SUN.SOE.CLARKSON.EDU from the directory pub/texmag. Users without FTP access may request back issues from the Clarkson repository by sending a mail message to with the form path A_MAIL_PATH_FROM_CLARKSON_TO_YOU get texmag texmag.V.NN where V is the volume number and NN is the issue number. Including a line "index texmag" in the message will return a list of back issues available. Back issues may also be FTP's from SCIENCE.UTAH.EDU from the file BBD:TEXMAG.TXT. LISTSERV@TCSVM also has some back issues available which may be obtained with the command GET TEXMAG VvNn where v is the volume number and n is the issue number). Janet users may obtain back issues from the Aston archive. DECNET/SPAN users may obtain them from the Decnet repository (see below). *GUT GUT is a French language TeX discussion group and also a communication channel for GUTenberg, a TeX Users Group concerned with special problems involved in typesetting French with TeX. Each note is distributed separately. The list is managed by Christian Metairie . SUBSCRIPTIONS: To subscribe, send the command SUBS GUT your full name to LISTSERV@FRULM11. SUBMISSIONS: Submissions should be addressed to GUT@FRULM11. Note that a copy of your submission will NOT be sent to you. Most submissions are in French, but they need not be. BACK ISSUES: Monthly logs are available to list members from LISTSERV@FRULM11 Each log is named GUT LOGyymm where yy is the last two digits of the year and mm is the month as a two digit number. The command to retrieve a log is GET GUT LOGyymm Be sure to send the command to LISTSERV@FRULM11 and NOT the list. *TeXhax TeXhax is a mailing list for persons with questions, suggestions, etc. about TeX, LaTeX, MetaFont and related programs. It is a service of the TeX Users Group and is published 1-3 times per week. SUBSCRIPTIONS: ACSnet (Australia): Send a note asking for a subscription to Internet: Send a note asking for a subscription to . Be sure to include a valid Internet address in the request. Janet: Send a note asking for a subscription to . JUnet (Japan): Send a note asking for a subscription to All others: Send the following command as an interactive message (Bitnet) or as a single-line mail message to LISTSERV@UWAVM or LISTSERV@UWAVM.ACS.WASHINGTON.EDU SUBS TEXHAX Your_Full_Name. SUBMISSIONS: Submissions for TeXhax should be sent to . BACK ISSUES: Back issues may be FTP'd from SUN.SOE.CLARKSON.EDU from the directory pub/texhax. Users without FTP access may request back issues from the Clarkson repository by sending a mail message to with the form path A_MAIL_PATH_FROM_CLARKSON_TO_YOU get texhax texhax.YY.NNN where YY is the year of the issue and NNN is the issue number. Including a line "index texhax" in the message will return a list of back issues available. Back issues since 88(75) may be FTP'd from JUNE.CS.WASHINGTON.EDU in the directory TeXhax. Back issues prior to 88(75) may be FTP'd from SCORE.STANFORD.EDU in the directory PS: Back issues may also be FTP'd from SCIENCE.UTAH.EDU from the file BBD:TEXHAX.TXT. LISTSERV@TAMVM1 also has some back issues available which may be obtained with the command GET TEXHAXnn yy where yy is the year of the issue and nn is the issue number). Issues 100 and above are named TEXHAnnn yy. Janet users may obtain back issues from the Aston archive. DECNET/SPAN users may obtain them from the Decnet repository (see below). *TeX-D-L TeX-D-L is a German language TeX discussion group. Each note is distributed separately and no logs are kept. The list is managed by Joachim Lammarsch . SUBSCRIPTIONS: To subscribe, send the command SUBS TEX-D-L your full name to LISTSERV@DEARN. SUBMISSIONS: Submissions should be addressed to TEX-D-L@DEARN. Note that a copy of your submission will NOT be sent to you. Submissions should be in German. *TeX-D-PC TeX-D-PC is a German language TeX discussion group directed towards users of TeX on PCs. Each note is distributed separately and no logs are kept. The list is managed by Joachim Lammarsch . SUBSCRIPTIONS: To subscribe, send the command SUBS TEX-D-PC your full name to LISTSERV@DEARN. SUBMISSIONS: Submissions should be addressed to TEX-D-PC@DEARN. Note that a copy of your submission will NOT be sent to you. Submissions should be in German. *UKTeX UKTeX is essentially a U.K. version of TeXhax. It is published on a weekly basis. SUBSCRIPTIONS: To subscribe, send a note to . SUBMISSIONS: Submissions should be sent to . BACK ISSUES: Back issues may be FTP'd from SUN.SOE.CLARKSON.EDU from the directory pub/uktex. Users without FTP access may request back issues from the Clarkson repository by sending a mail message to with the form path A_MAIL_PATH_FROM_CLARKSON_TO_YOU get uktex uktex.YY.NNN where YY is the year of the issue and NNN is the issue number. Including a line "index uktex" in the message will return a list of back issues available. Janet users may obtain back issues from the Aston archive. DECNET/SPAN users may obtain them from the Decnet repository (see below). ---------------------------------------------------------------------- Hardcopy magazines/newsletters *Les Cahiers GUTenberg Cahiers GUTenberg is a quarterly production of GUTenberg, a TeX Users Group concerned with special problems involved in typesetting French with TeX (although the journal is not limited to that area). There is a subscription fee of FF250 per year to receive this journal. For more information, write to . *TeXline TeXline is "a newsletter of the TeX community" edited by Malcolm Clark. To subscribe, send a note to with your *postal* address. There is no charge for a subscription. The publication is slanted towards the UK TeX user but is still a useful source of information to others. *TUGboat TUGBoat is the newsletter of the TeX Users Group. It is an indispensable reference for TeX users. For more information about joining TUG and subscribing to TUGBoat send (real) mail to: TeX Users Group P. O. Box 9506 Providence, RI 02940-9506, USA Inquiries may be also be sent via e-mail to . Submissions for TUGboat may be sent via electronic mail to . ---------------------------------------------------------------------- Other information LaTeX-style collection. A collection of LaTeX files is available for FTP and mail access at sun.soe.clarkson.edu. To obtain files via FTP, login to sun.soe.clarkson.edu as anonymous, password guest and go to the directory pub/latex-style (where the files are). Mail access is accomplished by sending a mail message to with the first line containing "path" followed by a network address FROM clarkson TO you, then file requests with one or more files per line prefixed by "send latex-style". For example, path fschwartz%hmcvax.bitnet@mitvma.mit.edu send latex-style Readme Index send latex-style resume.sty Note that this syntax is different than that used by the server at the University of Rochester. Submissions should be sent to or LISTSERV@DHDURZ1 has file archives of interest to TeX users. Included are the Beebe drivers and contents of the LaTeX style collection, as well as some TeX macros. Many files are available only in German. DECNET. There is a TeX file collection on DECnet accessible from DECnet and SPAN. Available files include the Beebe DVI drivers, the LaTeX style collection, and back issues of TeXhax, TeXMag, and UKTeX. For more information, contact Marisa Luvisetto (DECNET: <39947::luvisetto>, Bitnet: ) or Massimo Calvani U.S. Users should contact Ed Bell <7388::Bell> Internet: The following FTP sites contain much of the TeX-related software: labrea.stanford.edu june.cs.washington.edu ymir.claremont.edu JANET. Peter Abbott keeps an archive of TeX-related files available for FTP (JANET only) and mail access. The archive is stored in [tex-archive] on the system uk.ac.aston.tex. Mail access is achieved by sending mail to . For a help file send a message to that address of the form: --- a return address to you from Aston HELP Note that all text MUST begin in column one. For Bitnet users, a return address will take the form: . For Internet users, the return address will be . For more information send mail to Peter Abbott . Special thanks to those who contributed to this issue, Woody Allen, Holly, the omnipresent Peter Morrissey, Paul Ali & Company and all those that helped make "+" into "x". The now famous character code reference: Upper case letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ Lower case letters: abcdefghijklmnopqrstuvwxyz Digits: 0123456789 Square, curly, angle braces, parentheses: [] {} <> () Backslash, slash, vertical bar: \ / | Punctuation: . ? ! , : ; Underscore, hyphen, equals sign: _ - = Quotes--right left double: ' ` " "at", "number" "dollar", "percent", "and": @ # $ % & "hat", "star", "plus", "tilde": ~ * + %