|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: R T
Length: 45079 (0xb017)
Types: TextFile
Names: »README«, »README.TeX3.0«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z«
└─⟦036c765ac⟧
└─⟦this⟧ »TeX3.0/README«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦this⟧ »unix3.0/README.TeX3.0«
INTRODUCTION
This file is ./TeX3.0/README.
INTRODUCTION
NO WARRANTY statement
Acknowledgements
Installing TeX3.0 on a UNIX System
Making a .fmt file
Further Notes About Preloaded TeX
Why Won't Undump Work On My System?
Font Notes (1): What do tfm, pk, gf, pxl, pl, mf, vf, and
vp mean?
Font Notes (2): More About Rastered Fonts
Font Notes (3): More About OBSOLETE Fonts--am series & pxl
If you have received a 1/2-inch, 2400' reel of tape, it was written on a
SUN2 (or a VAX running Ultrix or BSD 4.2/3). 1/4-inch cartridges were
written on a SUN2 (QIC-11 or QIC-24 as noted on the label).
For instructions on installing TeX, see "Installing TeX3.0 on a UNIX
System," page 1, below. Information on running UNIX TeX may be found in
the man page, ./TeX3.0/Man-pages/tex.1, on the 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, "TeX and Metafont, New Directions in Typesetting,"
published by Digital Press and the AMS, is obsolete. You may also wish
to consider getting "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 (P.O. Box
594, Providence, R.I. 02901) to keep up to date on new developments.
For members with access to electronic mail, another service of the TeX
Users Group is the TeXhax E-mail Digest.
Your attention is directed to the file ./TeX3.0/COPYING.POLICY which is
a statement of our policy on redistributing UNIX TeX. Please also see
./TeX3.0/README.SCORE which contains additional information about the
Generic TeX distribution and conditions which apply to this distribution,
as well.
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.
Pierre MacKay MacKay@.CS.WASHINGTON.EDU
or
TeX Support
Northwest Computing Support Center, DR-10
University of Washington
Seattle, WA 98195 U.S.A.
Tel: (206) 543-6259
^L
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 COMPUTING 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 COMPUTING SUPPORT CENTER
AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE THIS SOFTWARE
AS PERMITTED IN ACCORDANCE WITH THE PROVISIONS IN THE FILE
./TeX3.0/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.
^L
Acknowledgements
================
I'm sure I'm going to leave someone off of this list. If I do,
don't hesitate to complain.
WEB-to-C was begun and developed by Tom Rokicki, and brought into
its present form by Tim Morgan. It has superseded the Pascal-related
work described below, but the acknowledgements are still in order.
In the major overhaul for TeX 3.0, special thanks go to Karl Berry.
John Ramsdell has given some long-awaited attention to the problem of
compilation in a networked system.
The initial TeX Unix ports were independently developed by Howard Trickey
of Stanford and Pavel Curtis of Cornell. Howard was responsible for
most of the bugfixes, enhancements, and updates over the first 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 Pascal System V port for the 3B2 was contributed by Lou Salkind
of NYU.
As for METAFONT, the vast majority of the work on Pascal compilation
was done by Paul Richards of the University of Illinois, and most of
the associated MFlib library is his.
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.
There are also many people over the years who have helped improve
the quality of the distribution with bug alerts, fixes, comments,
suggestions for improvements, and information about the installation
of TeX and METAFONT on new machines. Since it is impossible to name
each of you, we wish to acknowledge and to thank you here as a group.
=====================================================================
^L
Installing TeX3.0 on a Unix System
==================================
We strongly advise that you install TeX3.0 and METAFONT2.0. If,
however, you encounter a great many problems during installation,
and are not able to spare the time to solve them on your system,
please get in touch with us to arrange exchanging your tape for
a copy of TeX2.991 and METAFONT1.8, which are known to run on a
good many machines (see the file called MACHINES.tex82).
--------------------------------------------------------------------
The following instructions assume you will be using WEB-to-C to
convert Donald Knuth's WEB code into C for the compilation of TeX
and METAFONT.
WEB is the macro language in which the whole of the TeX package,
including METAFONT, is written. For details about this language,
see the manual "The WEB System of Structured Documentation"
(./TeX3.0/TeXdoc/webman.tex).
During the making of TeX and METAFONT, the macro processor tangle
converts WEB files into Pascal-language files. WEB-to-C takes
this Pascal output, and converts it into C.
Please note that if you wish to have the minimum of trouble with
compilation and installation, you should keep the present hierarchy
of directories under ./TeX3.0 intact, for the makefiles depend on it.
1. START by reading the tape onto your system.
2. Change to the ./TeX3.0 directory.
We recommend that you read through Tim Morgan's README.WEB-to-C to
get an overview of the conversion process. Be aware that the top-
level makefile takes care of many of the steps delineated in this
file, and that Big TeX gets made by default.
Also: please be sure to read the files MACHINES and PROBLEMS, and
take notes concerning matters that pertain to your machine,
operating system, and compiler.
3. Edit site.h (master configuration file for WEB-to-C) to suit your
system and site.
The file includes the following default TeX and METAFONT search-path
definitions:
#define TEXINPUTS ".:/usr/local/lib/tex/inputs"
#define TEXFONTS ".:/usr/local/lib/tex/fonts"
#define TEXFORMATS ".:/usr/local/lib/tex/formats"
#define TEXPOOL ".:/usr/local/lib/tex"
#define MFINPUTS ".:/usr/local/lib/mf/inputs"
#define MFBASES ".:/usr/local/lib/mf/bases"
#define MFPOOL ".:/usr/local/lib/mf"
These paths are used by TeX and METAFONT to find input files, .fmt
or .base files, and information about fonts and string pools.
Please note that these paths are advisory, not absolute. We
cannot dictate the organization of your /usr partition. (If you
substitute the C-shell "setenv" command for "#define" you can
ensure that your environment matches your decisions here, and you
can "set" and "export" these equivalences in the Bourne shell.
The man page for TeX--./TeX3.0/Man-pages/tex.1--discusses this
more fully.) Whatever changes you make in the paths, it is
advisable to retain the dot preceding the colon so that TeX and
METAFONT will always search your current directory first.
Note that the default compilation produces a Big TeX. This size
is very useful when you are using two or three very large macro
packages at the same time, and also for very large documents with
complex pages and inserts. The default compilation also produces
a Big METAFONT.
If, for some strange reason, your system cannot run
Big TeX, be sure to attend to your definition of the
type 'glueratio' in this file. Then, go to the
directory ./tex, and move ctex.ch to ctex32.ch;
then, copy ctex16.ch to ctex.ch. This will result in
a compilation of a small tex. Do the same in the
directory ./mf: move cmf.ch to cmf32.ch, and copy cmf16.ch
to cmf.ch before you begin to compile; this will produce
a small metafont. (You will always be able to restore
a Big TeX by patching your ctex.ch file with bigtex.diff,
a Big MF by patching your cmf.ch with bigmf.diff; or,
more simply, by reversing your steps and copying your
ctex.ch to ctex16.ch, and moving ctex32.ch to ctex.ch.)
4. Check the master makefile to be sure that all definitions and
paths given in this file suit your site.
Do make certain to define your C compiler correctly. If you are
not using gcc, and if you prefer, you could define your C compiler
at the same time that you give your "make" command, by typing
% make CC="cc"
(The "%" is presumed to be your C-shell prompt. It will probably
be "$" if you are in the Bourne shell. The example assumes that
you are using cc.)
Do be sure to give the necessary values to wlibs= for METAFONT
window support. For example, if you are running SunView, modify
the line to read wlibs=${sunlib}.
Do be sure to check the paths following "INSTALL=cp." The path
for "texpooldir" should match up with your definition for the
TEXPOOL environment in site.h; the path for "formatdir" should
match up with the TEXFORMATS environment defined in site.h;
"mfpooldir" with MFPOOL; and "basedir" with MFBASES.
5. Prepare the areas for compilation:
a. Make a directory named /usr/local/lib/tex (or whatever
you have defined in site.h as your TEXPOOL environment).
b. Make a subdirectory named /usr/local/lib/tex/formats
(or whatever you have chosen for the environment TEXFORMATS).
c. Make a subdirectory named /usr/local/lib/tex/fonts (or
whatever you have chosen for the environment TEXFONTS).
Copy the contents of ./TeXfonts to it.
You now have in your TEXFONTS directory, the *.tfm
fonts for all of the fonts on the tape (in the
directories ../utilityfonts, ../cmfonts, ../LaTeXfonts,
and ../ams).
NOTE: If you are an AMSTeX user, we encourage you
to get in touch directly with the American Mathematical
Society to keep yourself up to date with respect to
versions of their macros and fonts. The AMS material
on the tape is present entirely because of their
generosity, but we do not actively seek to keep the
material up to date. The focus of this distribution
is on keeping the primary TeX and METAFONT material
updated and ported to UNIX, beginning with the machines
we have available to us.
The AMS macros and fonts on the current tape are from
July 1990. If it is important that what you print out
be visually identical to material printed out under
the older AMSTeX, we recommend that you keep both old
and current AMS fonts on your system. If you can imagine
the possibility at some time, of having to regenerate a
document that must be visually the same as one generated
under the old AMSTeX, archive the older fonts on your
system so that they will be available to you when such a
need arises. The older fonts and the current fonts are
not identical.
d. Make another subdirectory named
/usr/local/lib/tex/inputs (or whatever you have chosen
for the environment TEXINPUTS).
If you are planning to use BibTeX, also make a
subdirectory /usr/local/lib/tex/bib (or whatever you
defined in site.h for your environment BIBINPUTS).
e. Make the following METAFONT directories and subdirectories:
/usr/local/lib/mf
/usr/local/lib/mf/bases
/usr/local/lib/mf/inputs
(or whatever you have defined as your MFPOOL, MFBASES, and
MFINPUTS environments in site.h). See README.METAFONT,
"METAFONT Installation Guide," Step 3, for a bit more detail.
f. Take a look at the script Install_INPUTS.
Make sure that the paths to TEXINPUTS and MFINPUTS are
defined correctly. And, if it applies, make certain that
the path to BIBINPUTS is similarly defined correctly.
Edit this script file if you wish. For your information:
The files from ./TeXmacros are necessary for users
of plain.tex. The files from ./LaTeX and
./LaTeX/LaTeXmacros are necessary for LaTeX users,
as well as for those who wish eventually to print
out a copy of the manual for the TeXPS PostScript
driver. The files from ./LaTeX/LaTeXmakeindex are
necessary for those who wish to run that program.
The ./LaTeX/LaTeXslitex files are necessary for
users of SliTeX. The files from ./BibTeX.inputs
are necessary for users of BiBTeX. The files from
./ams/amsfonts and ./ams/amstex are necessary for
users of AMSTeX. Some of the *.mf files copied
into MFINPUTS are needed by inimf to create base files.
The base files will be used by virmf--the production
version of METAFONT--for generating rastered fonts
at magnifications not provided on the distribution
tape. (For details about MFINPUTS and about other
uses for METAFONT, first see Steps 3 and 4 of the
"METAFONT Installation Guide" in README.METAFONT,
then be sure to read ./Man-pages/mf.1.)
If everything suits you, run the script by typing its
name at the prompt.
6. Double-check to see that you are still in TeX3.0, and type
% make
This will build tangle, initex, virtex, tex.pool, and the
utilities in ./texware, as well as inimf, virmf, mf.pool and the
utilities in ./mfware and ./fontutil. It will also build bibtex.
If your make halts, check the MACHINES and PROBLEMS files
for notes concerning your machine. Also check the make.history file
to see whether the terminal listing of a successful make on our
SUN2/120, with our comments added where the make was halted, might
help you on your system.
After compilation, the executable TeX files initex and virtex, and
the file tex.pool, will be found in the directory ./tex.
The METAFONT analogs inimf, virmf, and mf.pool will be in ./mf.
7. If you now type
% make install
at your prompt, these files will be copied for you into your
BINDIR environment.
Type rehash, or do whatever you must do, to make accessible to you
these newly installed programs.
8. Next, create the plain.fmt file by typing at your shell's prompt
% initex plain '\dump'
Initex will load font data, hyphenation data, and the plain.tex
macro file, and dump its entire internal state in a .fmt file
called plain.fmt with its companion .log file called plain.log.
If you are going to use LaTeX (or SliTeX), repeat these steps to
create the lplain.fmt (or splain.fmt) file.
9. Move the resulting plain.fmt to /usr/local/lib/tex/formats/plain.fmt
(your TEXFORMATS environment). There, hard link it to the name
tex.fmt. (This latter step assumes that you will eventually be
invoking TeX as tex.)
LaTeX/SliTeX users: do the same with lplain.fmt/splain.fmt;
hard link the format file to the name latex.fmt/slitex.fmt.
10. Decide whether or not to use undump. If you have a working
"undump," you can build a preloaded TeX; but before you do so,
know that with TeX 3.0, undump is less supported than ever
before. We recommend that you bypass its use.
a. If you insist on using undump: go to the directory ../undump
and make the undump appropriate for your system.
When you have finished, change back to directory TeX3.0; and
at your prompt, type
% virtex '&plain' xyxyxy
This will produce the responses:
This is TeX, C Version n.nnn (no format preloaded)
! I can't find file `xyxyxy.tex'.
<*> &plain xyxyxy
Please type another input file name: ^\
The pseudo-filename "xyxyxy" can be any nonsense character
string you choose, so long as you are sure that no file
named xyxyxy.tex is accessible. "Version n.nnn" stands for
the version number of TeX you are installing. The "^\"
character represents your "QUIT" character (usually CTRL-\)
which makes a core file.
Convert the core file into something that can be run by typing
% ../undump/undump tex virtex core
Rename this executable program tex.
If you get a message such as "core didn't come from this
a.out file" you are probably using the wrong undump. Look
again in the ../undump directory to make sure. It is
possible that none of the versions of undump on the tape
will work on your system, owing to the fact that undump is
one of the most system-dependent programs around.
For further information, see "Why Won't Undump Work On My
System?," below.
b. Bypass the use of undump:
We recommend that you read the TeX man-page (./TeX3.0/Man-
pages/tex.1) to get a general understanding of how the
current TeX loads a format file. What follows is intended
as a suggestion for a very simple set up; the man-page will
introduce you to a variety of other options that may be more
useful for your site.
Go to /usr/local/bin (or whatever you have defined as
your BINDIR environment).
Hard link virtex to the name tex, and change its mode to
suit your site. Since TeX now looks at its own command
line to determine what name it is being called under, if
you invoke it as tex, it will "look" at own name, it
will attach the .fmt suffix to it, and will load a
format file having that name. Since, in Step 9 above,
you linked the plain.fmt file to tex.fmt, TeX invoked as
tex is ready to go.
It may be useful to know that the name tex is
conventionally applied to a virtex with the plain.fmt
loaded. In other words, invoking TeX by typing tex is
the same thing as invoking TeX by typing virtex '\&plain'.
If you are going to run LaTeX and SliTeX, be sure to
hard link them as latex and slitex to virtex. Be sure
to read ./TeX3.0/Man-pages/tex.1 so that you understand
how this works, and so that you will know what other
options are open to you.
ENJOY TeX!
-----------------------------------------------------------------------
Your next step is to install METAFONT. Owing to the sheer size of
a generalized font library, we cannot provide you with all
the rastered fonts you may need to print the .dvi files at your
site. What is on the tape is enough to handle the essentials of
TeX, LaTeX, and SliTeX. Chances are good that you will, at some
time or another, need a rastered font for printing at a
magnification not provided on the tape.
For example, you may have a document in which the cmbx12
typeface at magstep 2 is required. TeX will scale this font
to that magnification, using the cmbx12.tfm font file copied
by you into your TEXFONTS environment--along with the rest
of the Computer Modern .tfm font files--in Step 5.b above.
In order to print the document on a 300dpi printer, however,
you will need the rastered font cmbx12.432pk. While the
rastered font cmbx12.300pk (the cmbx12 typeface at magstep
0) is on the tape, the rastered font cmbx12.432pk (the same
typeface at magstep 2) is not. You will then have to
generate that rastered font via METAFONT.
To install METAFONT, please see ./TeX3.0/README.METAFONT and
especially ./TeX3.0/Man-pages/mf.1.
Information about associated software is to be found in readme files
in associated subdirectories under ./TeX3.0.
Numerous printer drivers and previewers are to be found in a
directory parallel to ./TeX3.0 called ./DVIware. We regret very
much to say that, not having the equipment, we are not able to
support the programs in the ./DVIware directory. The previewer and
printer driver programs are passed on to you because they are
frequently requested, and because people have been generous in
offering them for distribution.
==================================================================
^L
Installing TeX3.0 on a Unix System: 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 dumps 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.
The name tex is conventionally applied to a virtex with the .fmt
named plain.fmt loaded.
If you need to make a new .fmt file (say a new plain.fmt) do the
following:
% initex plain '\dump'
This is TeX, C Version n.nnn (INITEX)
...
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). For LaTeX and SliTeX, you dump lplain to
lplain.fmt and splain to splain.fmt.
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 problems
like the one just described.
====================================================================
^L
Installing TeX3.0 on a Unix System: 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. If you
have compiled TeX with WEB-to-C, it may not be worth going through
this step. Be sure you read ./TeX3.0/Man-pages/tex.1 to see how TeX
now works, before you decide to do this. You should be aware that
the following instructions were written for versions of TeX earlier
than 2.993 (precursor to TeX 3.0).
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 site.h for details of the format of these
environment variables. Also refer to the man page, ./TeX3.0/Man-
pages/tex.1. (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 by running virtex as follows::
% virtex '&plain' xyxyxy
This is TeX, C Version n.nnn (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 chain of open files . When the
undumped TeX starts up again, it re-opens the log file, not
realising that it's on the chain already, and creates 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.
===================================================================
^L
Installing TeX3.0 on a Unix System: Why Won't Undump Work On My System?
========================================================================
First, decide whether it really matters. You might want to take a
look at ./Unsupported/tex.script to see how undump was very
successfully bypassed before the advent of TeX 2.993 (virtually ==
TeX 3.0). Please be sure to read the current TeX man-page
(./TeX3.0/Man-pages/tex.1) to see how the current TeX works. We do
recommend bypassing the use of undump. If, however, you do not wish
to do so, read on.
To understand the workings of undump you must have a certain basic
knowledge of two specific kinds of Unix file format: core and a.out.
The core file, which is produced by several kinds of fatal execution
error, can also be produced by a user-generated "quit" signal, sent
from the keyboard by the control character "^\" on most Unix
systems. It is described in the Berkeley Unix manual, Section 5--
Special File formats (Manual page Core(5)), as the memory image of a
terminated process.
The commonest source for the initial state of this image is an
"a.out" file. (See the Manual page a.out(5) in the Berkeley Unix
manual.) This file is produced either by the assembler or by the
link editor (from one or more *.o files). It consists of a header
and four other sections which guide the operating system to set up
the initialized core image correctly. "a.out" files are
conventionally renamed at the time of compilation (by flags on the
compilation command line) with the name of the program to be run.
Both "initex" and "virtex" are actually "a.out" files, and can
therefore be used in place of a "tex" file if you are willing to
wait for format loading. In some cases, as you will see, there is
no choice.
What you are trying to do with the undump system is to trap the
virtex program at a point where it has completed a second stage of
initialization and to dress the "core" memory image up with "a.out"
headers so that it looks as if it came fresh from the link editor.
You start by running virtex, and getting it to read in the plain.fmt
file, then you force a dump of the "core" memory image. The first
requirement is that you be able to do that. Clearly, if you cannot
get a clean core image, you cannot do any of the other things.
Once you have the core image, you must edit it to add the header
structure to the beginning of the file, and possibly to provide
certain other structures as well, then you can rename the result (in
our case, we will call it tex or latex) and the operating system
will accept it as if it were an "a.out" file. This is what "undump"
tries to do. The line "undump tex virtex core" says, in effect,
"create a file named 'tex' by taking the header information from the
virtex `a.out' file and tacking it onto a copy of the core file just
created."
If only "a.out" format were stable across operating systems and
versions of any given operating system, it would be relatively easy.
But "a.out" format is one of the most system-dependent formats in
the Unix world. You cannot be sure even from one version of an
operating system to another that "a.out" format will remain stable,
and you can be almost certain that the "a.out" format on any one
vendor's machine will be different from that on all other machines.
(It is not just perversity, there are some performance reasons as
well.) Ideally undump should be table driven, so that new "a.out"
formats can be fed in easily, but we would first have to find a
programmer who had access to fifteen different operating systems and
had the stamina to keep from going mad while trying to deal with
them. At present we have only a collection of unique system-
dependent versions of undump. If none of our versions works on your
machine, you probably have an operating system with yet another
style of "a.out" and "core" file. If you can manage to work out an
undump for your machine, we would be delighted to add it to our
collection, but we can't help you with technical information,
because we have no access to anything but our Suns and Vaxen.
======================================================================
^L
Font Notes (1): What do tfm, pk, gf, pxl, pl, mf, vf, and vp mean?
===================================================================
Font files come in several varieties, with suffixes like:
.tfm .?pk .?gf .?pxl (obsolete) .pl .mf .vf .vp
A .tfm (TeX Font Metric) file is a compact binary file that contains
information about each character in a font, about combinations of
characters within that font, and about the font as a whole. The
font metric data contained in .tfm files and given in device-
independent units, are used by TeX to format the page and produce
.dvi (device-independent) files. Since TeX does scaling
calculations, one .tfm file serves for all magnifications of a given
typeface. (This is to say that all TeX needs in order to typeset a
document that calls, at various points, for the typeface known as
Computer Modern Bold Extended at 12 points (cmbx12) at magsteps 0,
1, and 2, is the cmbx12.tfm file.)
In order to print these .dvi files on real devices, you need
rastered font files containing digitized character shapes and other
data needed by previewers and printer-driver programs that will take
your .dvi files and convert them into something usable by your
terminal or printer. Rastered fonts come with suffixes like .?pk,
.?gf, and .?pxl. The "?" stands for the horizontal dots-per-inch
resolution of the font (unless the font has been magnified). The
letters "pk," "gf," and "pxl" stand for different font formats.
Fonts in pk format are in the tightly packed format that is pretty
much the standard for printers and printer-drivers today. They take
up less space than fonts in gf (generic font) format--the format in
which METAFONT generates fonts, and far less space than fonts in pxl
format. Fonts in pxl format take up gross amounts of disk space and
permit only 128 characters. They are considered obsolete, and we
discourage their use.
Font files with the .pl (Property List) suffix, are the ASCII
(human-readable) analog of binary .tfm files.
Font files with the .mf suffix are in METAFONT source format. These
are the files used by METAFONT to generate rastered fonts for
specific typefaces at specific magnifications for the specific
resolution and type of mapping used by your print engine.
* * * * * * * * * * *
The .tfm files for Donald Knuth's Computer Modern fonts are provided
on the tape in the directory ./TeX3.0/TeXfonts, along with the .tfm
files for utilityfonts, LaTeX, and AMS fonts.
The rastered forms of the Computer Modern and LaTeX fonts necessary
to run the basic versions of TeX, LaTeX, and SliTeX, are on the
tape in pk format--in pk120, pk240, and pk300 dpi series--in the
directories ./cmfonts/pk and ./LaTeXfonts/pk. AMS fonts are provided
through the courtesy of the American Mathematical Society, and are in
the base directory ./ams. See ./ams/amsfonts/pk for rastered fonts
in pk300 dpi series.
Fonts in the subdirectory pk300 are set for BLACK-ON-WHITE
mapping (CanonCX print engine). If you are using a WHITE-
ON-BLACK engine, such as the RicohFourZeroEight Zero (4080),
be sure to read ./TeX3.0/README.WRITE-WHITE, and to use the
fonts in pk300w. 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.
The utilities gftopk and pktogf--for converting gf font
files into more compact pk font files and vice versa--are
provided (in ./TeX3.0/mfware and in ./TeX3.0/fontutil,
respectively). The programs pxtopk and pktopx--for
converting obsolete pxl font files into pk format and vice
versa--are provided in ./Unsupported/MFpxl/CMFpxlware.
Please know that pktopx can only be used on 128 character
fonts. Many of the newer fonts contain 255 characters, and
will not work with a pxl device at all. We advise you to
convert your driver to read gf or pk (or both).
If your printer uses only gf fonts, be sure to read the
README file in ./cmfonts/gf and LaTeXfonts/gf for the use of
makefiles in these directories to generate the fonts you need.
For AMS fonts, please see the makefiles in ./ams/amsfonts/gf
and ./ams/amsfonts/gf/gf300.
To convert binary .tfm files into human-readable .pl
(property-list) files, use the texware routine tftopl.
The extension .vf identifies a file written in virtual font file format.
The fontutil routine vftovp converts .vf font files into human-readable
.vp (virtual font property-list) files. For Donald Knuth's discussion of
these new fonts, see the ./TeX3.0/fontutil/README.virtual_fonts file.
We supply the full Computer Modern, LaTeX, and SliTeX fonts in mf
source format, in the directories ./cmfonts/mf and ./LaTeXfonts/mf.
The METAFONT source files for the AMS fonts are distributed for
non-profit scholarly use by the American Mathematical Society;
see subdirectories of ./ams/amsfonts.
====================================================================
^L
Font Notes (2): More About Rastered Fonts
==========================================
As noted above, the *.tfm files are all that TeX needs to make a
.dvi file; and you only need one to cover all magnifications for any
specific typeface. This is not true for rastered fonts that will
actually print on real devices. For these, you need a distinct file
for each resolution, for each print engine, and for each
magnification. This is to say that, in order to typeset a document
calling for the typeface cmbx12 at magsteps 0, 1, and 2, you need
only have the cmbx12.tfm file on your system. In order to print
that document, however, you will need three different rastered font
files--cmbx12.300pk, cmbx12.360pk, and cmbx12.432pk.
But while you have to load all of the .tfm files that plain.tex,
lfonts.tex, or sfonts.tex ask for, you only have to load fonts at
the actual .????[gf, pk] magnifications that you really expect to
use, at the actual resolution in dots-per-inch of your printer, and
for the type of mapping used by the particular type of print engine
you have. This means that if you never print a document calling for
cmbx12 at magstep 3, you need never place the rastered font
cmbx12.518pk onto your system; and that if your printer is a 300dpi
printer and your previewer uses 300dpi fonts, you need never copy
any of the font files from the subdirectories pk118 and pk200 from
the tape onto your system; and that if your device uses BLACK-ON-
WHITE mapping, you need never use the fonts in the subdirectory
pk300w on the tape.
Let us say that you have a 300dpi printer with an engine set for
BLACK-ON-WHITE mapping that uses fonts in pk format, and that you
will be using the Computer Modern fonts. The first thing you will
have to do (after you have chosen a printer driver program) is to
copy the contents of ./cmfonts/pk/pk300 from the distribution tape
onto your system. Where exactly on your system is determined by the
driver you choose.
Because there is as yet no standard organization for rastered
fonts, we cannot give you generalized advice about where to place
such fonts. You should probably not copy them into your TEXFONTS
environment. (The file ./TeX3.0/site.h which you edited for your
making of TeX and METAFONT, and in which you defined the various
environments for TeX and METAFONT on your system, has no effect
on any of the dvi interpreters in this package.) The TEXFONTS
environment should probably be reserved for .tfm files. The
rastered fonts necessary for previewing and printing should
probably be kept in an entirely separate place; and it is
probably best to distinguish one rastered font format from
another, if you plan to use more than one type.
If you examine the contents of the ./cmfonts/pk/pk300 directory, you
will see that cmbx12.300pk is the only cmbx12 font in it. That is
the font cmbx12 at magstep 0 for your 300dpi printer. The
distribution does not provide cmbx12 at magsteps 1 and 2 for 300dpi
printers. This is because, owing to the sheer size of a generalized
font library, we cannot possibly provide you with all the fonts you
may need at your installation. What we provide is enough to handle
the essentials of TeX, LaTeX, and SliTeX---no more. And that is why
we give you METAFONT in the standard web2c compilation.
The documents pertinent to the installation of METAFONT and to the
generation of fonts are ./TeX3.0/README.METAFONT and ./TeX3.0/Man-
pages/mf.1.
When you have METAFONT installed, it should only be a short while
before you are generating the rastered fonts cmbx12.360pk (cmbx12 at
magstep 1), cmbx12.432pk (cmbx12 at magstep 2), and any other
typeface for which there are METAFONT source files, at
magnifications needed by the devices at your site.
===================================================================
^L
Font Notes (3): More About OBSOLETE am series and pxl fonts
============================================================
AM fonts HAVE DISAPPEARED FROM THE DISTRIBUTION. If you want to
continue using them, the files am_plain.tex, am_lfonts.tex, and
am_webmac.tex are provided. You can replace the distribution's
plain.tex with them, but neither the am_plain nor the am_lfonts are
up-to-date.
As mentioned above in "Font Notes (1)," pxl fonts are considered to
be obsolete. All the fonts in this package are distributed in pk
format. Device drivers will eventually be altered to read only gf
and pk formats.
*.*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. This 1000:1 designation was adopted
because it made it easier to indicate fractional magnifications
without resorting to the decimal point. 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. A gf or pk format
file with the designation *.200gf or *.200pk corresponds with a pxl
file *.1000pxl, and a gf file with the designation *.300gf
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.
=============================EOF=====================================