Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tex(1) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought



TEX(1)                                                     TEX(1)


NAME
       tex, virtex  - text formatting and typesetting

SYNOPSIS
       tex [ first line ]

       initex [ first line ]

       virtex [ first line ]

DESCRIPTION
       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 TeXbook
       by Donald E. Knuth, published by Addison-Wesley.

       TeX  is  normally  used  with  a large body of precompiled
       macros, and there are several specific formatting systems,
       such  as LaTeX, which require the support of several macro
       files.  The basic programs as compiled are  called  initex
       and  virtex, and are distinguished by the fact that initex
       can be used to precompile macros into a .fmt  file,  which
       is  used by virtex.  On the other hand, virtex starts more
       quickly and can read a precompiled .fmt file, but it  can-
       not create one.  It is the version of TeX which is usually
       invoked in production, as opposed to installation.

       Any arguments given on the command line to  the  TeX  pro-
       grams are passed to them as the first input line.  (But it
       is often easier to type extended arguments  as  the  first
       input line, since shells tend to gobble up or misinterpret
       TeX's favorite symbols, like backslashes, unless you quote
       them.)   As  described  in  The  TeXbook,  that first 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  ``tex-
       put''.   The default extension, .tex, can be overridden by
       specifying an extension explicitly.

       If there is no paper.tex in  the  current  directory,  TeX
       will  look  through a search path of directories to try to
       find it.  If ``paper'' is the ``jobname'' a log  of  error
       messages, with rather more detail than normally appears on
       the screen, will appear in paper.log, and the output  file
       will    be    in    paper.dvi.     The    system   library
       /usr/contrib/lib/tex/inputs contains the basic macro pack-
       age  plain.tex,  described in The TeXbook, as well as sev-
       eral others.  Except when .fmt files are being prepared it
       is hardly ever necessary to \input plain, since almost all
       instances of TeX begin by loading plain.fmt.   This  means
       that all of the control sequences discussed in The TeXbook



                            12 Apr 92                           1




TEX(1)                                                     TEX(1)


       are known when you invoke tex.  For a discussion  of  .fmt
       files, see below.

       Several environment variables can be used to set up direc-
       tory paths to search when TeX opens a file for input.  For
       example, the csh command
           setenv                                       TEXINPUTS
           .:/usr/me/mylib:/usr/contrib/lib/tex/inputs
       or the sh command sequence
           TEXINPUTS=.:/usr/me/mylib:
           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.  (TeX expands a trailing or leading colon
       into the system directories.)  Normally, you  would  place
       the  variable assignment which sets up the TEXINPUTS envi-
       ronment variable in your .login  or  .profile  file.   The
       environment  variables  section  below  lists the relevant
       environment variables, and their defaults.

       The e response to TeX's error  prompt  causes  the  system
       default editor to start up at the current line of the cur-
       rent 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  vi  can  be
       set with the csh command
           setenv TEXEDIT "/usr/ucb/vi +%d %s"

       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.  You can also type your EOF char-
       acter (usually control-D).

       The initex and virtex programs can be used to create fast-
       loading  versions of TeX based on macro source files.  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 com-
       mand 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 \ to  prevent  misin-
       terpretation by your shell if given on the command line.

       Fortunately,  it  is  no longer necessary to make explicit
       references to the format file.   The  present  version  of
       TeX,  when  compiled  from this distribution, looks at its
       own command line to determine  what  name  it  was  called
       under.   It  then uses that name, with the ``.fmt'' suffix



                            12 Apr 92                           2




TEX(1)                                                     TEX(1)


       appended, to search for the appropriate format file.  Dur-
       ing  installation,  one format file with the name tex.fmt,
       with only the plain.tex macros defined, should  have  been
       created.   This  will  be your format file when you invoke
       virtex with the name tex.  You  can  also  create  a  file
       mytex.fmt  using  initex, so that this will be loaded when
       you invoke virtex with the name mytex.  To make the  whole
       thing  work,  it  is  necessary  to link virtex to all the
       names of format files that you have prepared.  Hard  links
       will  do  for  system-wide  equivalences  and Unix systems
       which do not use symbolic links.  Symbolic  links  can  be
       used  for  access to formats for individual projects.  For
       example: virtex can be hard linked to tex in  the  general
       system  directory for executable programs, but an individ-
       ual version of TeX will more likely be linked  by  a  sym-
       bolic link in a privately maintained path
           ln -s /usr/contrib/bin/virtex mytex
       in a directory such as /home/me/bin.

       Another  approach is to set up a alias using, for example,
       the C shell:
           alias mytex virtex \&myfmt
       Besides being more cumbersome, however, this  approach  is
       not  available  to  systems  which  do not accept aliases.
       Finally, there is the system  known  as  ``undump''  which
       takes  the  headers  from  an a.out file (e.g. virtex) and
       applies them to a core image which has been dumped by  the
       Unix QUIT signal.  This is very system-dependent, and pro-
       duces extremely large files when used with a  large-memory
       version  of  TeX.  This can produce executables which load
       faster, but the executables also consume enormous  amounts
       of disk space.

ENVIRONMENT
       The  defaults for all environment variables are set at the
       time of compilation in a file named site.h  in  the  web2c
       distribution.   All paths are colon-separated.  If you set
       an environment variable to a  value  that  has  a  leading
       colon,  the system default shown here is prepended.  Like-
       wise for a trailing colon.  For example, if you say
           setenv TEXFONTS /u/karl/myfonts:
       TeX will search
           /u/karl/myfonts:/usr/contrib/lib/tex/fonts//:.    /*
       TFM font */.

       If  one  of  the components in a search path ends with two
       slashes, e.g.,
           :/u/karl/myfonts//.
       then all subdirectories of the given  path  are  searched,
       instead of the directory itself.

       A ~ character at the beginning of a path component, as in
           ~:/system/dir//
       expands  into  the  current home directory.  ~user expands



                            12 Apr 92                           3




TEX(1)                                                     TEX(1)


       into user's home directory.  In most TeX formats, however,
       you  cannot  use ~ in a filename you give directly to TeX,
       because ~ is an active character, and hence  is  expanded,
       not  taken  as part of the filename.  Other programs, such
       as Metafont, do not have this problem.

       All the programs in the base  TeX  distribution  use  this
       same search method.

       Normally,  TeX puts its output files in the current direc-
       tory.  If any output file cannot be opened there, it tries
       to  open  it in the directory specified in the environment
       variable TEXMFOUTPUT.  There is no default value for  that
       variable.   For  example, if you say texpaper and the cur-
       rent directory is not writable, and  TEXMFOUTPUT  has  the
       value  /tmp,  TeX  attempts  to create /tmp/paper.log (and
       /tmp/paper.dvi, if any output is produced.)


       TEXINPUTS
              Search path for \input  and  \openin  files.   This
              should   probably   start   with  ``.''.   Default:
              .:/usr/contrib/lib/tex/inputs//    /*TeXsource*/.

       TEXFONTS
              Search path for font metric (.tfm) files.  Default:
              /usr/contrib/lib/tex/fonts//:.     /*TFMfont*/.

       TEXFORMATS
              Search    path    for   format   files.    Default:
              /usr/contrib/lib/tex/formats  /*formatfile*/.

       TEXPOOL
              Search path for INITEX internal strings.   Default:
              /usr/contrib/lib/tex          /*tex.pool*/.

       TEXEDIT
              Command template for switching to editor.  Default:
              /usr/ucb/vi+%d%s.

FILES
       /usr/contrib/lib/tex
                           TeX's library areas

       /usr/contrib/lib/tex/tex.pool
                           Encoded text of TeX's messages.

       /usr/contrib/lib/tex/fonts/*.tfm
                           Metric files for TeX's fonts.

       /usr/contrib/lib/tex/fonts/*nnn{gf,pk}
                           Bitmaps for  various  devices.   These
                           files are not used by TeX.




                            12 Apr 92                           4




TEX(1)                                                     TEX(1)


       /usr/contrib/lib/tex/formats/*.fmt
                           TeX .fmt files.

       /usr/contrib/lib/tex/inputs/plain.tex
                           The ``default'' macro package.

SEE ALSO
       Donald E. Knuth, The TeXbook
       Leslie Lamport, The LaTeX Document Preparation System
       Michael Spivak, The Joy of TeX
       TUGBOAT (the publication of the TeX Users Group)

TRIVIA
       TeX,  pronounced properly, rhymes with ``blecchhh.''  Note
       that the  proper  spelling  in  typewriter-like  media  is
       ``TeX'' and not ``TEX'' or ``tex.''

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.  The version now offered with the  Unix  TeX
       distribution  is  that  generated  by the WEB to C system,
       written by Tomas Rokicki and Tim Morgan.

































                            12 Apr 92                           5


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