| LN01 support for TeX
Flavio Rose
OMEGA::ROSE
11/8/83, revised 1/16/84
Copyright (c) 1984 by Digital Equipment Corporation. The programs
described here were prepared using proprietary information of Xerox
Corporation. DO NOT REDISTRIBUTE OUTSIDE DEC.
-----------------------------------------------------------------------
There are some recent improvements to the LN01 support for TeX, the text
formatter developed at Stanford by Donald E. Knuth. The version of TeX
being supported is TeX82, 0.9999 or thereabouts. LN01s of revision 7 or
later are supported. The support programs run under VAX/VMS.
The current situation is: you should be able to take a TeX output file
which uses up to six fonts only, pass it through some conversion programs,
print the results on an LN01 and have everything come out looking right. On
a rev. 12 or 14 LN01, you may use as many as 22 fonts. Some complex files,
however, won't print out correctly because of LN01 limitations.
The changes with respect to the previous version are: (a) Only needed
characters are loaded, making font loads smaller so that more fonts fit
(six on a rev. 7 LN01, as against three before); (b) output line lengths
are kept low by TOPP, so that the LN01 and its spooler won't fail to print
because of long input lines; (c) DVI2LNG and TOPP now take parameters on
the command line, rather than prompting, so that command files can be
written to use them; (d) any LN01 font can be used with DVI2LNG and TOPP;
(e) on a rev. 12 or 14, the full 22-font capacity of the printer is
available (formerly one could only use ten fonts).
1. HOW TO PRINT A DVI FILE ON YOUR LN01
This diagram illustrates the various transformations that take place
from your manuscript file (extension TEX) to the file that can be copied
to the LN01 (extension LNO):
TeX82 DVI2LNG TOPP
.TEX ---------> .DVI -----------> .LNG,.LNH ----------> .LNO
More specifically, suppose you want to take a file FOO.DVI and print it on
the LN01. Assuming symbols are defined as in section 2 below, you say first
DVI2LNG FOO
You will discover that DVI2LNG creates files FOO.TYP, FOO.LNG, and FOO.LNH.
Now say
TOPP FOO
Then you get a file called FOO.LNO. Copy that file to the LN01.
DVI2LNG accepts options after the filename. These can be /S=page number,
start at the given page; /N=number of pages, print so many pages; and
/T=level of typeout, which makes the .TYP file give a more and more detailed
description of the .DVI file. For example to print pages 20 through 22
of FOO say
DVI2LNG FOO /S=20 /N=3
TOPP also options /H=<number> and /V=<number>. /H=<number> means "print the
file at a horizontal offset of <number> pixels", i.e., moved right that
many pixels. (There are 300 pixels to the inch.) /V=<number> means the
analogous thing for vertical offset. The values given with /V and /H are
ADDED to the TeX parameters \hoffset and \voffset; they do not replace
these parameters.
2. WHAT FILES TO COPY
If you don't have TeX82, copy the following files from UHCLEM::VC$:
[rose.tex]*.*
[rose.tex.fonts]*.tfm
[rose.tex.formats]*.*
[rose.ln01]*.tln
The total size of these files is about 1775 blocks. Define logicals and
symbols as follows, with appropriate changes of device and directory:
! COM file needed to run TeX
$ define LN01$DIR vc$:[rose.ln01]
$ define TEX$ vc$:[rose.tex]
$ define TEX$FORMATS vc$:[rose.tex.formats]
$ define TEX$FONTS vc$:[rose.tex.fonts]
$ define TEX$INPUTS vc$:[rose.tex.inputs]
$ tex :== $tex$:tex.exe
$ dvi2lng :== $tex$:dvi2lng.exe
$ topp :== $tex$:topp.exe
For further instructions on using TeX see the file [rose.tex]vms.doc. If
you already have TeX, then you will have many of the above files; the ones
you still need to copy are [rose.tex]dvi2lng.exe, [rose.tex]topp.exe, all
the *.tln files, and times.tfm, timit.tfm, and triub.tfm.
You may also want to copy the file OMEGA::VLSI$:[rose.ln01]
funcspec.mem which describes the LN01 escape sequences.
3. KNOWN BUGS
The TOPP program attempts to limit the length of its output lines to 175
printing characters and 250 characters overall (printing characters plus
escape sequences). These limits seem to work on rev. 7 LN01's. However,
there may still be line-length or line-complexity problems.
TOPP is set up to work with revision 7 LN01's. If your LN01 is revision 12
or 14, there is a version of TOPP called V14TOPP which I think works with
such LN01's (same directory as TOPP). I can't be sure that it works,
though, since I don't have such an LN01 to test it against. If you have a
revision 12 or 14 LN01, please try V14TOPP out and tell me about any
problems you encounter.
TOPP has not been tested with Landscape fonts (none of the distributed
fonts is landscape). The main reason for this is that the
TFM-file-generating program FFE doesn't work yet with landscape fonts.
TOPP has only been tested against LN01's which are set up as follows:
$ SET PRINTER LPB0: /LP11 /WIDTH=400 /PAGE=0 /CR /FF /LOWERCASE -
/NOPASSALL /NOWRAP /PRINTALL
This is the setup recommended in a recent issue of "Small Buffer". Other
settings may cause TOPP's output files to print incorrectly.
LN01 fonts can have as many as 190 characters. TOPP, however, wants eight
free character slots for its own purposes. Because of this, TOPP should
only be used with fonts having at most 182 characters. If TOPP is used with
a 190-character font, the document should leave eight of the 190 characters
unused. (I am not aware of any LN01 font which has the full 190
characters.)
The previous versions of TOPP and DVI2LNG (1.0 and 0.1 respectively) are
not compatible with the current versions (1.3 and 0.2) and should not be
used any more.
There is no support for magnified fonts. None of the distributed fonts
is magnified. Hence TeX source files to be printed with DVI2LNG and TOPP
should not use the \magnification feature or load fonts at nonstandard
sizes.
Although this is not strictly a "bug" but more like a "misfeature", it is
clear that eventually TOPP and DVI2LNG should be merged into one program.
For the moment the user can define a command file which runs DVI2LNG
followed by TOPP, taking the filename as a parameter and passing it to both
DVI2LNG and TOPP.
4. THE FONTS
Nineteen font raster files (.TLN ending) are given in the above
distribution. Sixteen of them (the ones whose names begin with AM) came
from Stanford (passing through some conversion software); Plain TeX knows
about the fonts, and they come out by default when you say \rm, \it, \bf,
etc. These fonts have the characters described in Appendix F of "The
TeXbook".
The other three fonts (TIMES, TIMIT and TRIUB) were obtained from a public
area on the DECnet host SCRIBE. To use these fonts in a TeX document you
must declare them explicitly (saying e.g. \font\timit=TIMIT). TIMES is a
Times Roman imitation, TIMIT is a Times Italic, and TRIUB is a Triumvirate
Bold. These three fonts have the normal ascii characters in their standard
positions, and no other characters; in particular, they have no accents
(except the circumflex ^ and tilde ~), no ligatures, no dashes, and no left
and right doublequotes (but they do have nondirectional doublequotes at
position 34).
It is possible to `borrow' the dashes and accents from AMR10 for
use with TIMES, by defining appropriate TeX escape sequences. To
figure out how to do this, look at how accents are defined in Appendix
B of "The TeXbook".
In general, to use a given LN01 font with TeX, you must have: (a) the font
raster file with ending .TLN, sitting in the LN01$DIR directory; and (b) a
font description file with ending .TFM, sitting in the TEX$FONTS directory.
There exist two programs (FFE and PLtoTF) which together can be used to
produce a TFM file from an LN01 font raster file. The conversion process
also requires some manual intervention; if anyone is interested I can
document it.
|