Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

TEX(1L)  —  UNIX Programmer’s Manual

NAME

tex, initex, virtex  − text formatting and typesetting

SYNOPSIS

tex [ first line ]

initex [ first line ]

virtex [ first line ]
 

DESCRIPTION

TEX on the NeXT computer system must be installed before its first use.  It’s available on the NEXTSTEP Release 3 CD-ROM, in a package named NeXTTeX. 

TEX formats the interspersed text and commands contained in the named files and outputs a typesetter independent file (called DVI which is short for DeVice Independent).  TEX capabilities and language are described in The TEX book by Donald E. Knuth, published by Addison-Wesley.  There is also an older manual, TEX and METAFONT, which describes the older version of TEX , now called TEX 78, but this description is now obsolete.  The present version of TEX  (often refered to internally as TEX 82) incorporates literally hundreds of changes from this older version. 

Any arguments given on the command line to the TEX programs are passed to them as the first input line.  As described in The TEX book, that line should begin with a file name or a \controlsequence.  The normal usage is to say “tex paper” to start processing paper.tex.  The name “paper” will be the “jobname”, and is used in forming output file names.  If TEX  doesn’t get a file name in the first line, the jobname is “texput”.  The default ‘.tex’ extension can be overridden by specifying an extension explicitly. 

If there is no paper.tex in the current directory, TEX  will look look through a search path of directories to try to find it.  The standard library on the default search path has the basic format package, plain.tex, described in the TEX book, as well as several others.  Note that it is hardly ever necessary to \input plain, since the tex program has preloaded it.  This means that all of the control sequences discussed in the TEX book are known to TEX . 

The output DVI file is written on name.dvi where name is the jobname.  A log of error messages goes into name.log. 

Note that there have been incompatible changes in the DVI format between TEX 78 and TEX 82, so programs used to print TEX 78 output will not work for TEX 82.  A number of output drivers are available.  Ask your local TEX  guru for information on what one you should use. 

There are some environment variables that can be used to set up directory paths to search when TEX  opens a file for input.  For example, the csh command

setenv TEXINPUTS .:/usr/me/mylib:/usr/lib/tex/inputs

or the sh command sequence

TEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/inputs
export TEXINPUTS

would cause all invocations of tex and its derivatives to look for \input files first in the current directory, then in a hypothetical user’s “mylib”, and finally in the system library.  Normally, the user will place the command sequence which sets up the TEXINPUTS environment variable in the .cshrc or .profile file.  The Environment section below lists the relevant environment variables, and their defaults. 

The e response to TEX ’s error prompt causes the vi editor to start up at the current line of the current file.  There is an environment variable, TEXEDIT, that can be used to change the editor used.  It should contain a string with "%s" indicating where the filename goes and "%d" indicating where the decimal linenumber (if any) goes.  For example, a TEXEDIT string for (Gosling’s) emacs can be set by:

setenv TEXEDIT "/usr/bin/emacs -l/usr/lib/tex82/tex-start -estartline %d %s"
(replacing the path name for the emacs as appropriate on your system).

A convenient file in the library is null.tex, containing nothing.  When tex can’t find a file it thinks you want to input, it keeps asking you for another file name;  responding ‘null’ gets you out of the loop if you don’t want to input anything. 

Two other TEX  programs, initex and virtex, can be used to create fast-loading customized versions of TEX .  The initex program is used to create a format (.fmt) file that permits fast loading of fonts and macro packages.  After processing the fonts and definitions desired, a \dump command will create the format file.  The format file is used by virtex.  It needs to be given a format file name as the first thing it reads.  A format file name is preceded by an &, which needs to be escaped with \ if given on the command line.  So, for instance, one could create a file myfmt.fmt using initex, and then set up a cshell alias with

alias mytex "virtex \&myfmt"
to allow the use of “mytex paper”.

ENVIRONMENT

The defaults for all environments are set at the time of compilation, by reference to a file called site.h.  The values given below are preset in this file, and may be different at some sites. 

TEXINPUTS
Search path for \input and \openin files.  It should be colon-separated, and start with “.”.  The entire path must be no longer than 700 characters long. Default: .:/usr/lib/tex/inputs

TEXFONTS
Search path for font metric files.  The entire path must be no longer than 100 characters long.  The default doesn’t include the current area (".") to avoid confusing the programs that convert the output for printing on the various output devices (most of which don’t know about the path stuff yet). Default: /usr/lib/tex/fonts

TEXFORMATS
Search path for format files.  Default: .:/usr/lib/tex

TEXPOOL
Search path for TEX  strings.  Default: .:/usr/lib/tex

TEXEDIT
Command template for switching to editor. Default: "/usr/bin/emacs +%d %s"
 

FILES

 

/usr/lib/tex TEX ’s library area

/usr/lib/tex/tex.pool
Encoded text of TEX ’s messages

/usr/lib/tex/fonts TEX ’s fonts and width tables

/usr/lib/tex/fonts/∗.∗[gf,pk]
Bit maps for low resolution devices. This is very dependent on the organization of the local system

/usr/lib/tex/fonts/∗.tfm
Width information used by TEX  (TEX  Font Metric files)

/usr/lib/tex/inputs TEX  .fmt files

/usr/lib/tex/inputs/plain.∗
The “default” macro package

SEE ALSO

Donald E. Knuth, The TEX book
Leslie Lamport, The LaTeX Document Preparation System
Michael Spivak, The Joy of TEX
TUGBOAT (the publication of the TEX  Users Group)
Differences between TEX 82 and SAIL

TRIVIA

TEX , pronounced properly, rhymes with “blecchhh.”  Note that the proper spelling in typewriter-like output is “TeX” and not “TEX” or “tex.”

BUGS

Maybe there should be character other than & to specify format files, since if you forget the \ on the command line, it doesn’t do what you want!  Also, there is no way to read a TEX  input file with no filename extension. 

AUTHORS

TEX  was designed by Donald E. Knuth, who implemented it using his WEB system for Pascal programs.  It was ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel Curtis.  This version is a combination of their efforts. 

7th Edition  —  12/4/83

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026