INTRODUCTION This file is ./tex82/README. This file contains information on installing TeX and associated software. It also contains information on how to build new versions of TeX (information about associated software is to be found in the README files in their associated subdirectories). The software on this tape is relatively stable, but we try to keep it updated to the latest releases from Stanford University. The tape is configured for reasonably easy installation on a VAX running 4.2/3BSD, on a SUN2 or a SUN3, or on a Pyramid 90x. If this is a 1/2 inch 2400' reel of tape it was written on a SUN2 (or a VAX running Ultrix or Berkeley Unix, version 4.2/3. If this is a 1/4 inch cartridge, it was written in four-track format on a SUN2 (QIC-2 8000bpi). The cartridge may also be in cpio format written on a SUN2. The distribution is continually being changed to include new varieties of the general Unix system, and such changes inevitably result in errors and minor confusion. We ask for your tolerance. Please feel free to inform us if there are difficulties. Specific information on how you would run Unix TeX may be found in the man page, ./tex82/TeXman/tex.1 on this tape. Documentation for the TeX language may be found in "The TeXbook", by Donald Knuth, published by Addison-Wesley (ISBN 0-201-13448-9). The older manual, published by Digital Press and the AMS and entitled "TeX and Metafont, New Directions in Typesetting", is obsolete. You may also wish to consider getting the "LaTeX", by Leslie Lamport, published by Addison-Wesley (ISBN 0-201-15790-X). Both of these books were typeset with the system they describe. Serious users of the TeX and METAFONT system should invest in the 5-volume set "Computers and Typesetting," published by Addison-Wesley, and all users should invest in a membership in the TeX Users Group ($30.00 annually, payable to TeX Users Group, P.O. Box 594, Providence, R.I. 02901) through which they will be kept up to date on new developments published in the journal TUGboat. This distribution also includes the sources and auxiliary files for Metafont. Compilation and installation are very similar to the steps required for TeX. The README files for Metafont are in the directories in the ./mf84 path. Your attention is directed to the file ./tex82/COPYING.POLICY which is a statement of our policy on redistributing Unix TeX. Please also see the file ./tex82/SCORE-READ.ME which contains additional information about the Generic TeX distribution and conditions which apply to this distribution, as well. If you have difficulties, contact Pierre MacKayMacKay@JUNE.CS.WASHINGTON.EDU or by US Mail to TeX Support Northwest Computer Support Center, DW-10 University of Washington Seattle, WA 98195 Tel: (206) 543-6259 NO WARRANTY BECAUSE ALL THE SOFTWARE COLLECTED INTO THE UNIX TeX DISTRIBUTION, FROM WHATEVER SOURCE IT MAY ORIGINATE, IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, THE UNIVERSITY OF WASHINGTON, THE NORTHWEST COMPUTER SUPPORT CENTER, AND ALL PARTIES WHO HAVE JOINED IN CONTRIBUTING TO THIS SOFTWARE DISTRIBUTION PROVIDE TeX, METAFONT, AND ALL ASSOCIATED PROGRAMS, FONTS, DOCUMENTATION AND EXAMPLES ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD TeX, OR ANY OF THE ASSOCIATED PROGRAMS IN THE UNIX TeX SOFTWARE DISTRIBUTION PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT, UNLESS REQUIRED BY APPLICABLE LAW, WILL THE UNIVERSITY OF WASHINGTON, THE NORTHWEST COMPUTER SUPPORT CENTER AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE THIS SOFTWARE AS PERMITTED IN ACCORDANCE WITH THE PROVISIONS IN THE FILE ./TeX82/COPYING.POLICY, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY US) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. Acknowledgements ================ I'm sure I'm going to leave someone off of this list. If I do, don't hesitate to complain. The initial TeX Unix ports were independently developed by Howard Trickey of Stanford and Pavel Curtis of Cornell. Howard has been responsible for most of the bugfixes, enhancements, and updates over the past few years. The Sun TeX port was independently carried out by people at three locations: Mike Harrison and Charles Perkins at U.C. Berkeley, Rusty Wright at U.C. San Diego, and Steve Correll of Lawrence Livermore Laboratories. The versions of the files contained here merge their work. The System V port for the 3B2 was contributed by Lou Salkind of NYU. TeX-to-C was begun and developed by Tom Rokicki, and brought into its present form by Tim Morgan. Many other individuals have been involved with the device drivers and other software. We've tried to mention these people in "ORIGIN" files in the various subdirectories. Again, apologies to anyone we missed. As for Metafont, the vast majority of the work was done by Paul Richards of the University of Illinois. The entire organization of the mf84 partition, though now somewhat modified, was taken over directly from him. Page 1 Version information =================== (in the ./tex82 path) TeX 2.9 (using the new cm fonts.) (plain.tex version 2.3) LaTeX 2.09 (release of 3 Jan. 1988) SliTeX 2.09 BibTeX 0.98i tangle 2.8 weave 2.9 dvitype 2.9 pltotf 2.3 tftopl 2.5 (in the ./mf84 path) metafont 1.3 chtopx 1 gftodvi 1.7 gftopk 1.4 gftopxl 2.1 gftype 2.2 pktopx 2.3 pktype 2.2 pxtoch 1.1 (with change contributed by William LeFebvre) pxtopk 2.3 mft 0.3 (a formatting program for metafont source files.) Fonts in mf source format. The full Computer Modern as released from Stanford. Utility fonts for character proofs etc. (not made with cmbase.mf), LaTeX and SliTeX fonts are also supplied in mf source format. Fonts in gf format. The Computer Modern and LaTeX fonts necessary to run the basic versions of TeX, LaTeX, Weave and mft, in 118, 200, 240, and 300 gf(dpi) series. The gf files for the principal LaTeX symbol fonts are in a separate list. The 300 dpi fonts are provided for write-black devices (CanonCX) in directories labeled "gf300" and for write-white devices (RicohFortyEighty) in directories labeled "gf300w". Mode information is given in gf special strings at the head of each file, and can be read with od -c | more, or some similar tool. AMS fonts-- Cyrillc, and special symbols created with old METAFONT-in-SAIL, and converted to gf in 118, 200, 240 and 300gf(dpi) series. Euler fonts too are supplied in gf format only. (If you want [euler].mf source files, you should get in touch with the American Mathematical Society, which will make these available under license.) To get more fonts, compile Metafont and the utilities in MFware, whose names are pretty self-evident. A really elegant set of precisely sized fonts can be made up with the utilities in ./tex82/TeXcontrib/sauter. There are scripts for some needed LaTeX fonts in ./tex82/LaTeX and ./tex82/LaTeX/LaTeXslitex. (Some of the smallest sizes in gf118.makefile put too much of a strain on Metafont. You could correct the bad characters with fonttool in ./mf84/MFcontrib.) Numerous output drivers are supplied. See the ./tex82/TeXdevices directory. Page 2 Installing TeX82 on 4.2 bsd or 4.3 bsd: ======================================= In the discussion below, 4.2/3BSD is assumed to be running on a VAX. Installation is essentially the same on a SUN2 or a SUN3, but you must be sure to use SUN3-undump (in the ./undump directory) to set up preloaded versions of TeX, LaTeX and Metafont. Special cases for the Pyramid are identified with the affix PYR, PYRAMID, or pyramid. System V versions are hopefully identified as SYS_V, and may run on other machines than the 3B2, but they were specifically developed for the 3B2, and we do not know yet what other machines work. The best approach in all cases is to try TeX-to-C, which has succeeded on a wide range of machines already. The METAFONT files are much better organized at present owing to the careful work of Paul Richards at the University of Illinois, Urbana-Champaign. PLEASE NOTE that if you wish to have the minimum of trouble with recompilation and installation, you should keep the present hierarchy of directories under tex82 intact. The Makefiles depend on this hierarchy. We assume that you are working in directory tex82. - make a directory named /usr/lib/tex. Copy the contents of ./TeXlib to it. Make a subdirectory named /usr/lib/tex/fonts/tfm. Copy the contents of ../cmfonts/tfm to it. Make another subdirectory named /usr/lib/tex/inputs Copy the contents of ./TeXmacros to it. The above mentioned paths are of course only suggestions. Some sites prefer /usr/local/lib/tex/.... NOTE: Before you run any of the other scripts mentioned below, run Setup.TeX-to-C. We strongly advise that you use this compilation to get the benefits of reduced size and increased efficiency that it offers. - Prepare the areas for compilation. Make sure you are in ./tex82. If you are a 4.2 VAX site, run the shell script Setup.VAX4_2. If you have converted to 4.3 bsd, run the script Setup.VAX4_3. If you are a 4.2 SUN site, run the shell script Setup.SUN_V2 or Setup.SUN_V3. If you are running the Pyramid operating system at a level of 2.5 or above, run the script Setup.PYR. If you are running a System V machine with the System V version of Berkeley pc (pascal compiler) installed, run Setup.SYS_V. It is very important to read the README.SYS_V file before proceeding further. The above scripts prepare ./tex82 , ./tex82/TeXware, and ./undump. NOTE: There are also scripts in the ./TeX82/LaTeX/LaTeXbibtex directory which must be run to establish an environment for compilation in whichever system you are using. Page 3 - The following instructions assume you are connected to ./tex82. In ./tex82, type make This will build tangle, initex, virtex, and undump. It'll also take a substantial amount of time---probably a minimum of an two or three hours on an unloaded 780. If you have a choice, run this on a VAX with a sufficient amount of physical memory as initex is quite large and there is some danger of pathological paging occurring which will greatly increase the time needed to build it. For a VAX, this step will require around 10 megabytes of disk space in the source area and three to four megabytes in the /tmp area. The source area space is needed for the Pascal files produced by Tangle, the filtered Pascal files used for 4.2 bsd, for the .s output, for the .o output, and for the executable image. If you are willing to go running around after this procedure cleaning things up you can get by with significantly less available disk space. TeX-to-C takes much less space. - move initex.pool to /usr/lib/tex/tex.pool (note the name change). NOTE: For the present, the distribution still includes binaries in ../VAXbinaries or ../SUNbinaries. (There are no Pyramid binaries). You will have to compile the appropriate version of undump (see the ./undump directory) first. We strongly advise that you do your own compilation using TeX-to-C. ============================ CAUTION on the use of undump ============================ BSD 4.3 and SUN2/3 Operating system version 3.0 and later have made several changes to the format of both a.out and core files. Separate versions of undump are provided for owing to the various incompatibilities. If you get the a message such as "core didn't come from this a.out file" you are probably using the wrong undump. Look again at the directory to make sure. (Something like this also prevents preloading on a 4.1c bsd Vax system.) Page 4 - if you have not compiled, copy initex and virtex from the appropriate set of precompiled executables to wherever you want TeX to reside. Copy the associated tex.pool to /usr/lib/tex. - dump the .fmt file by saying % initex plain \\dump (the "%" is presumed to be your shell's prompt and the first "\" is the quote character for the c-shell). This can be done as soon as initex is built and tex.pool has been placed in the /usr/lib/tex area (i.e., you can do this while waiting for virtex to be built). - move the resulting plain.fmt file to /usr/lib/tex/inputs/plain.fmt - build a preloaded TeX by typing: % virtex \&plain xyxyxy (This will produce the responses) This is TeX, Version 2.9 for Berkeley UNIX (no format preloaded) ! I can't find file `xyxyxy.tex'. <*> &plain xyxyxy Please type another input file name: ^\ Notice that the pseudo-file-name "xyxyxy" can be any nonsense character string you choose, so long as you are sure that no file named xyxyxy.tex is accessible. The "^\" character represents your "Quit" character (usually CTRL-\) which makes a core file. - convert the core file into something that can be run by saying ../undump/undump tex virtex core - put initex, virtex, tex, and ./TeXware/tangle onto the search path. Further notes are included in later sections of this file for some of these steps. These notes should be useful if you need to change parts of the environment. You may also use the sequence % initex This is TeX, Version 2.9 for Berkeley UNIX (INITEX) ** plain \dump where the "%" is the prompt provided by the system, and the "**" is the prompt provided by initex. There will be a considerable delay between your typing of "initex" and the appearance of the "**" prompt. Also it will take initex a while to process plain. Then run virtex as follows % virtex This is TeX, Version 2.9 for Berkeley UNIX (no format preloaded) ** &plain xyxyxy ! I can't find file `xyxyxy.tex'. <*> &plain xyxyxy Please type another input file name: ^\ The QUIT character is the proper response, as above. Page 5 Notes for SUN2 and SUN3 sites: ============================ The Sun MC.68010 pc compiles bad code under operating system version 3.0 and 3.1. Version 3.2 of the operating system for the Sun2 has corrected the problem. In either case TeX-to-C is a better choice. The cc compiler in OS 3.2 will even allow you to speed up execution by using register variables. The Sun MC.68020 pc does compile correctly, and run correctly. Make sure you use the Sun3 undump, and not the older 4.2 undump. The format of a.out and core files has changed, and the older undump cannot handle the new version. This is why you cannot preload old binaries on a system running 3.0 operating system. The core file looks as if it had come from some other program entirely. If you use TeX-to-C, which you ought to, don't try the register variables on OS 3.2, they don't work (odd that they do work on the 68010 compiler.) There is no undump for the Sun4, but dumped format files load so quickly into virtex (particularly when the TeX-to-C compilation is used) that it may not matter: alias tex 'virtex \&plain' will give essentially the same effect. You can even store a number of preloaded files for customized TeX. (That is what LaTeX really is.) ============== Page 6 Font Notes and saving disk space by selecting which font files to load: ======================================================================= The directories for cm fonts are ../cmfonts and ../LaTeXfonts. ../cmfonts includes the subdirectories mf tfm and gf. gf is further divided into gf118 gf200 gf300 gf300w Fonts in gf300 were set for BLACK-ON-WHITE mapping (CanonCX print engine). If you are using a WHITE-ON-BLACK engine, such as the RicohFortyEighty (4080), use the fonts in gf300w If you are using any other print engine, you should compile fonts to fit it. The distribution fonts will only be an indicator of what the device can do. NOTA BENE---Since PXL fonts are very loosely packed, take up gross amounts of disk space, and do not allow for 255 character fonts the format is now considered to be obsolete. All the fonts in this package are distributed in GF format (standard output from Metafont). Device drivers will eventually be altered to read only gf and pk format. The AMS Special Symbol and Cyrillic fonts, which are products of old Metafont, have been converted to GF format, which is the standard for font delivery. The programs gftopx and gftopk in the ./mf84/MFware directory provide the basic access to this format. A GF format file with the designation *.200pk corresponds with a PXL file *.1000pxl, and a GF file with the designation *.300pk corresponds with *.1500pxl. The 1:5 ratio continues through all magnifications---only the designation at the unmagnified size corresponds with the actual resolution of the target device. If you need fonts in pxl format you will have to create them by compiling and running gftopxl on the appropriate gf files. In addition to the cm fonts, the distribution includes a number of fonts provided through the courtesy of the American Mathematical Society. These are in the base directory amsfonts. METAFONT source files are not included. In the case of the m-series (mcyr, mcyb, msxm, msym) this is because these were produced with METAFONT79, a SAIL program which runs only on DEC-10 and DEC-20 machines. The e-series (Euler) were commissioned specifically from Hermann Zapf, and are distributed for non-profit scholarly use. METAFONT source files can be obtained under license from the American Mathematical Society. Page 7 Information about OBSOLESCENT am series fonts. ============================================== THESE HAVE DISAPPEARED FROM THE DISTRIBUTION. If you want to continue using them, look for the files am_plain.tex etc, the files am_plain.tex, am_lfonts.tex and am_webmac.tex are provided. You can replace the distribution plain.tex with them, but both the plain and lfonts are no longer up-to-date. *.*pxl files were provided in a number of magnifications for 200 pixel/inch, 240 pixel/inch, and 300pixel/inch printers. The magnification (for example .1000pxl) is 1000 times the true size for the 200 pixel/inch printer. If you have a 200 pixel/inch printer, then the .1000pxl files will print at true size. You may want to use .1315pxl files instead, reducing the output to 77% to get true size at a better resolution (many photocopy machines will do reduction by this factor). The .1200pxl files are for 240 pixels/inch printers, where they will print at true size. The .1500pxl files are for 300 pixels/inch printers. Please note that you have to load all of the .tfm files but that you only have to load the actual .nnnnpxl magnifications that you need. If you want to save disk space by only loading some of the .nnnnpxl magnifications, see the file ./Fontlist.txt which gives more information. Page 8 Overall Organization of the Tape ================================ Files in the ./tex82 area: COPYING.POLICY Redistribution policy for Unix TeX---See above Fontlist.txt What fonts are needed?---See above History.txt Summary of changes between TeX versions--- useful if you are converting from an older version (Sorry, this hasn't been updated recently) README This file README.PYRAMID Special considerations for the Pyramid README.SYS_V Special considerations for System V machines README.SCORE The -READ-.ME file from the Generic TeX distribution README.TeX-to-C Don't miss this one! Setup.* Self-explanatory. These are executable shell scripts. Use the appropriate one. ctex.ch the change file for TeX-to-C. We put it here to foster its use ext.h hooks to C routines for Unix TeX. pxp.diffs to convert a BSD4.3 pxp into one that will run in System V. See the README.SYS_V file. tex.web TeX. This file should not be changed. texpaths.h Included file with the default paths. May be changed if necessary. whoami.h Empty file. Included by h00vars.h (You do need to have it here, however.) --------(after the appropriate Setup file has been run): Makefile Generated by the appropriate Setup.* (e. g., Setup.SYS_V) shell script. dist_initex.ch Changes to TeX for Unix system, see the Makefile ext.c C language routines for use by TeX h00vars.h included by ext.c. It's from the pc library. ini_to_trip A shell script that converts the change file to one appropriate to produce a triptex, see the Makefile ini_to_vir A shell script that converts the change file to one appropriate to produce a virtex, see the Makefile maketex, texsep.sed (only if you are compiling in System V Unix) ======================================= TeX, as delivered, will use the following areas on your system /usr/lib/tex /usr/lib/tex/inputs /usr/lib/tex/fonts The following files are also important /usr/lib/tex/tex.pool /usr/lib/tex/plain.fmt or /usr/lib/tex/inputs/plain.fmt (depending on how you decide to do this) Page 9 ============== Subdirectories of the ./tex82 area: LaTeX The LaTeX macro package. This version should be reasonably stable. See the LaTeX/README file for more information. TeXmisc Parts of the TeX distribution which have not been ported to Unix. TeXware Tangle, Weave, etc. Also the CWEB (WEB for C programs) directory. TeXcontrib Contributed programs from Unix TeX users. TeXdevices Contains subdirectories with software to drive particular devices pay particular attention to the ctex directory, even if you don't use one of the drivers covered there. TeXdoc Informative documents. Note that some of these are copyrighted and printed copies on paper are not to be redistributed. TeXlib These files should be copied to /usr/lib/tex TeXmacros To be copied to /usr/lib/tex/macros TeXman Man pages TeXtrip The elements of the trip test. A document describing this test is in TeXdoc/tripman.tex. TeXweavetest A program to run through weave to insure it is doing the right thing. unsupported Just what it says. Things that haven't been tested at all, but are included in response to popular demand. There is also a pretty-printed version of tangle.p, generated from the tangle.web file, with NO changes merged in at all. This is provided for those who wish to undertake a new port. Page 10 Remaking TeX from the WEB Source ================================ Read README.TeX-to-C first! If you find it necessary to remake TeX (or if you want to use a different library area, please see the Makefile for further information on what changes may be made. Note that it is not necessary (indeed it is undesirable) for you to change any of the files on the distribution tape, with the possible exception of texpaths.h. texpaths.h contains default paths used when TeX is trying to find a needed file (either one that's been included, a .fmt file, font information, or its string pool). See the discussion below in "PRELOADED TEX" for more information on this file. Note that many of the files in the subdirectories look at ./texpaths.h in determining their file paths. Also note that some file names are set in the Makefiles. In the Makefiles, PC is the version of the Pascal compiler to use in compiling the programs. PCLIB is the version of the Pascal library to use in loading (you should just define this to be null if you want to use the regular Pascal library). If you change the default areas, don't forget to inspect the other directory names in the Makefile (like BINDIR and LIBDIR which are used in "make install") and don't forget to update the information contained in the man pages in ./tex82/TeXman. The whole TeX package is written in a macro language called WEB. See "The WEB System of Structured Documentation" manual for details (./tex82/TeXdoc/webman.tex). The two macro processors, tangle and weave, have also been ported to Unix and are in the ./tex82/TeXware directory. Tangle converts the WEB file into a Pascal-language file. Weave produces a .tex file which can be TeXed and printed to provide a program listing. WEB files produce a string pool file when run through tangle. Note that of all the programs in this distribution, only tex.web produces a non-zero length string pool. In the distribution, this file (tex.pool) is put on /usr/lib/tex. Please be careful to make sure that the latest tex.pool is in this area (which can be changed by modifying the environment definition for TEXPOOL), since that is where initex looks for it by default (the pool information gets dumped in every .fmt file, so virtex need not read in the pool file). (Actually, when you tangle virtex, you also get a pool file, but this one should exactly match the tex.pool file or something is wrong). NOTICE to VAX 4.2 sites: The 4.2h00vars.h file comes from /usr/src/usr.lib/libpc/vars.h in the 4.2 distribution. It is not needed by TeX-to-C. ===================================================== Page 11 Making a .fmt file ================== You should be aware that there are three kinds of TeXs in use. These are represented by initex, virtex, and tex. initex is used to install TeX, starting from scratch. initex loads font data, hyphenation data, and macro packages, and then spits out its entire internal state into a .fmt file when given the \dump command. virtex is able to read the information in this .fmt file back in, making its internal state the same as initex's when the \dump occurred. Like initex, virtex can also load font data and macro packages. However, virtex cannot read in the hyphenation patterns. tex is a virtex with the .fmt named plain.fmt preloaded. If you need to make a new .fmt file (say a new plain.fmt) do the following: % initex This is TeX, Version 2.9 for Berkeley UNIX (INITEX) **plain \dump ... initex will process the file plain.tex and then create the plain.fmt file (printing informative messages on your terminal as the process is carried out). Incidentally, if you get the virtex error, "Fatal Format Error, I'm Stymied", particularly after you've changed things around, try remaking the .fmt file as a first attempt to solving the problem. ========= Please be aware that creating a macro package to be turned into a preloaded TeX is a task for experts and may not work for all possible macros. For example, an \everyjob token stream if present in a macro package being preloaded will be executed before the \read happens. Consequently, if you want to preload macro packages which you have created, you should take care that \everyjob's don't do anything to cause the log file to be opened. For example, referring the \jobname does this, so don't do \everyjob{\message{\jobname}} in your macro package (this would always produce the uninteresting message, "texput", anyway). In case you are now worried, rest assured that the plain and latex macro packages do not have any problem like this. Page 12 Further notes about preloaded tex ================================= There is a hacky way, discovered by Pavel Curtis of Cornell, to get a TeX that starts immediately with a format file preloaded. Here are the instructions: First, make sure that the environment variables TEXINPUTS, TEXFONTS, TEXFORMATS, and TEXPOOL are set up appropriately for your site. If you've set things up as defined above, and are happy using the system-defined defaults, these four environment variables should not be defined (do an "unsetenv TEXINPUTS", etc., if you've defined them). These environment variables contain directory paths, showing where to find the files refered to by the TeX "\input" and "\read" commands, where the fonts are, where the .fmt files are, and where the tex.pool file is. When you make a preloaded version of TeX, the values associated with these variables in the environment of the person making the preloaded version get used to set the default paths in the preloaded version. Later, if a person running the preloaded version hasn't defined these variables, the default paths that get used are those defined in the environment of the person making the preloaded version at the time the preloaded version was dumped. See the file "texpaths.h" for details of the format of these environment variables. Also refer to the man page, ./tex82/TeXman/tex.1. Note that the TEXINPUTS, TEXFORMATS, and TEXPOOL paths start with "." and that the TEXFONTS path doesn't include ".". (One word of warning: the .fmt file doesn't contain the environment variable information. Hence, the effect of saying "virtex &formatfile" may differ from the effect of running a virtex with "&formatfile" preloaded.) Next, create the preloaded TeX: Run virtex as follows: % virtex \&plain xyxyxy This is TeX, Version 2.9 for Berkeley UNIX (no format preloaded) ! I can't find file `xyxyxy.tex'. <*> &plain xyxyxy Please type another input file name: ^\ That is, give the command line shown and, when it asks for a value for a new file name, hit your 'Quit' character (mine is ^\). (Note: the space after &plain is necessary, otherwise you may get the message, "I can't find plain.fmt, using plain.fmt instead." The results of this redundancy are not satisfactory.) Now type "undump tex virtex core". If one tried the obvious approach of just typing '&plain', the log file gets opened and put onto the fchain (Pascal's file chain). When the undumped TeX starts up again, it re-opens the log file, not realising that it's on the fchain, and manages to make a circularity in the linked list. When it tries to flush the output the next time, it loops forever. The use of a nonsense name for the input file prevents this, since it makes TeX wait to find out what name it should give to the log file. If you left off the nonsense name on the command line, TeX would immediately open the texput.log file. This would also happen if you gave no arguments on the command line and answered virtex's "**" prompt with &plain but no nonsense name. We need a solution that lets us know when TeX has finished reading the fmt file, but then pauses long enough to give us time to 'Quit'. The nonsense does the trick. Page 13 Foreign Language TeX ==================== The directory ./babel contains a small group of foreign-language packages (hyphenation, macros, fonts). It is hoped that this feature will be one of the fastest growing parts of the distribution METAFONT information is to be found in the README files in ./mf84.