diff options
Diffstat (limited to 'systems/knuth/local/man1')
-rw-r--r-- | systems/knuth/local/man1/dvitype.1 | 37 | ||||
-rw-r--r-- | systems/knuth/local/man1/gftodvi.1 | 83 | ||||
-rw-r--r-- | systems/knuth/local/man1/gftopk.1 | 37 | ||||
-rw-r--r-- | systems/knuth/local/man1/gftype.1 | 35 | ||||
-rw-r--r-- | systems/knuth/local/man1/mf.1 | 448 | ||||
-rw-r--r-- | systems/knuth/local/man1/mft.1 | 54 | ||||
-rw-r--r-- | systems/knuth/local/man1/pktype.1 | 34 | ||||
-rw-r--r-- | systems/knuth/local/man1/pltotf.1 | 29 | ||||
-rw-r--r-- | systems/knuth/local/man1/pooltype.1 | 23 | ||||
-rw-r--r-- | systems/knuth/local/man1/tangle.1 | 107 | ||||
-rw-r--r-- | systems/knuth/local/man1/tex.1 | 219 | ||||
-rw-r--r-- | systems/knuth/local/man1/tftopl.1 | 31 | ||||
-rw-r--r-- | systems/knuth/local/man1/vftovp.1 | 26 | ||||
-rw-r--r-- | systems/knuth/local/man1/vptovf.1 | 26 | ||||
-rw-r--r-- | systems/knuth/local/man1/weave.1 | 107 | ||||
-rw-r--r-- | systems/knuth/local/man1/web.1 | 107 |
16 files changed, 1403 insertions, 0 deletions
diff --git a/systems/knuth/local/man1/dvitype.1 b/systems/knuth/local/man1/dvitype.1 new file mode 100644 index 0000000000..6bf82fb7e0 --- /dev/null +++ b/systems/knuth/local/man1/dvitype.1 @@ -0,0 +1,37 @@ +.TH DVITYPE 1L 10/18/89 +.SH NAME +dvitype - translate a dvi file for humans to read +.SH SYNOPSIS +.B dvitype +dvi_file_name +.SH DESCRIPTION +.I DVItype +translates a DVI (DeVice Independent) file (output by TeX or GFtoDVI) to a +file humans can read. It also serves as a DVI file-validating +program (i.e., if +.I DVItype +can read it, it's correct) and as an example of a DVI-reading +program for future device drivers. +.PP +The output file can include all commands, just the important +ones, or none at all (in which case only errors are reported). +A subinterval of pages may be selected for transliteration; the +magnification and resolution of the ``output device'' may be +changed; and so on. All options are specified with an on-line dialog. +.PP +The DVI filename on the command line must be complete. The +.I .dvi +extension is not supplied if omitted. The output always goes +to +.IR dvitype.out . +.SH "SEE ALSO" +gftype(1), tex(1), gftodvi(1) +.br +Donald Knuth, +.I TeXware +.SH "AUTHORS" +Donald Knuth wrote the program. It was published as +part of the +.I TeXware +technical report (Stanford CS1097), available from TUG (the TeX Users Group). +Howard Trickey and Pavel Curtis ported it to Unix. diff --git a/systems/knuth/local/man1/gftodvi.1 b/systems/knuth/local/man1/gftodvi.1 new file mode 100644 index 0000000000..3c268d519b --- /dev/null +++ b/systems/knuth/local/man1/gftodvi.1 @@ -0,0 +1,83 @@ +.TH GFTODVI 1L 10/21/89 +.SH NAME +gftodvi - make proofsheets from generic font files +.SH SYNOPSIS +.B gftodvi +[gf_file_name] +.SH DESCRIPTION +.I GFtoDVI +converts a generic font file (output by METAFONT) to a +device independent (DVI) file that can be typeset using the same +software as for TeX output. The characters in the GF file will +appear one per page, with labels, titles, and annotations as +specified in Appendix H (Hardcopy Proofs) of +.I The +.IR METAFONTbook . +.PP +.I GFtoDVI +uses four other fonts, in addition to the main gf file +input. A `gray' font isused to typeset the +pixels that actually make up the character. (We wouldn't +want all the pixels to be simply black, since then labels, +key points, and other information would be lost.) A `title' font +is used for the information at the top of the page. A `label' font +is used for the labels on key points of the figure. A `slant' +font is used to typeset diagonal lines, which would +otherwise have to be simulated using horizontal and vertical rules. +The default gray, title, and label fonts are respectively `gray', +`cmr8', and `cmtt10'; there is no default slant font. +.PP +The filename on the command line must be complete. (The program prompts +you for it if you don't give it.) Because +the resolution is part of the extension, it would not make +sense to add on a default extension as is done with TeX or +DVI-reading software. The output file name defaults to the same +root as the gf file, with the `dvi' extension added. For +example, the input file +.I io.2602gf +would become +.IR io.dvi . +.PP +The TEXFONTS environment variable is used to find tfm +files that the program needs. If TEXFONTS is not defined, the directory +/home/fonts is assumed. +.PP +To change the default fonts, you can give `special' commands in your +GF file, or you can change the fonts online. An online dialog ensues if you +type `/' after the gf_file_name. For example, +.br +.ti +2 +gftodvi io.300gf/ +.br +.ti +2 +Special font substitution: grayfont black +.br +.ti +2 +OK; any more? grayfontarea /home/art/don/ +.br +.ti +2 +OK; any more? slantfont slantimagen6 +.br +.ti +2 +OK; any more? <RET> +.br +will use /home/art/don/black as the `gray' font and /home/fonts/slantimagen6 +as the slant font (it's a font for lines with slant 1/6 at imagen resolution). +.SH "FILES" +/home/fonts/{gray.tfm,...} The default fonts +.PP +/home/tex/{dist,local}/lib/{gray.mf,...} The METAFONT sources +.SH "SEE ALSO" +tex(1), mf(1) +.br +Donald Knuth, +.I The METAFONTbook +.br +Donald Knuth et al., +.I METAFONTware +.SH "AUTHORS" +Donald Knuth wrote the program. The program was published as +part of the +.I METAFONTware +technical report (Stanford CS1255), available from TUG (the TeX Users Group). +Paul Richards ported it to Unix. diff --git a/systems/knuth/local/man1/gftopk.1 b/systems/knuth/local/man1/gftopk.1 new file mode 100644 index 0000000000..5984ec57fc --- /dev/null +++ b/systems/knuth/local/man1/gftopk.1 @@ -0,0 +1,37 @@ +.TH GFTOPK 1L 10/21/89 +.SH NAME +gftopk - convert generic font files to packed font files +.SH SYNOPSIS +.B gftopk +gf_file_name [pk_file_name] +.SH DESCRIPTION +.I GFtoPK +converts a generic font file (output by METAFONT) to a +packed font file for use by DVI-reading programs. Packed +font files (PK files) are much smaller than the corresponding GFfiles, +so they are rapidly becoming the font format of choice. +.PP +The gf_file_name on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to add on a default extension as is done with TeX or +DVI-reading software. The pk_file_name defaults to the same +stripped name as the gf file, and it is placed in the current +working directory with the an extension consisting of the resolution +in dots per inch followed by `pk'. For +example, the input file +.I io.300gf +would become +.IR io.300pk . +.PP +.SH "SEE ALSO" +mf(1), gftype(1), pktype(1) +.br +Donald Knuth et al, +.I METAFONTware +.SH "AUTHORS" +Tomas Rokicki wrote the program. The program was published as +part of the +.I METAFONTware +technical report (Stanford CS1255), available from TUG (the TeX Users Group). +Paul Richards ported it to Unix. + diff --git a/systems/knuth/local/man1/gftype.1 b/systems/knuth/local/man1/gftype.1 new file mode 100644 index 0000000000..14e6c28868 --- /dev/null +++ b/systems/knuth/local/man1/gftype.1 @@ -0,0 +1,35 @@ +.TH GFTYPE 1L 10/21/89 +.SH NAME +gftype - translate a generic font file for humans to read +.SH SYNTAX +.B gftype +gf_file_name [output_file_name] +.SH DESCRIPTION +.I GFtype +translates a \fIgeneric font\fR file (output by METAFONT) to a +file humans can read. It also serves as a GF file-validating +program (i.e., if +.I GFtype +can read it, it's correct) and as an example of a GF-reading +program for other software that wants to read GF files. +.PP +The gf_file_name on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to add on a default extension as is done with TeX or +DVI-reading software. If no output_file_name is specified, the +output goes to the standard output. +.SH "OPTIONS" +The output file can include a symbolic listing of the \fIgf\fR commands, +and/or bit-map images of the characters +(which makes it a lot longer). +Both options are specified by an online dialog. +.SH "SEE ALSO" +dvitype(1), mf(1) +.br +Donald Knuth et al., +.I METAFONTware +.SH "AUTHORS" +David Fuchs and Don Knuth wrote the program. The program was published as +part of the +.I METAFONTware +technical report (Stanford CS1255), available from TUG (the TeX User Group). diff --git a/systems/knuth/local/man1/mf.1 b/systems/knuth/local/man1/mf.1 new file mode 100644 index 0000000000..40ed164704 --- /dev/null +++ b/systems/knuth/local/man1/mf.1 @@ -0,0 +1,448 @@ +.TH MF 1L 10/19/89 +.SH NAME +mf, inimf \- METAFONT, a language for font design +.SH SYNOPSIS +.B mf +[ first line ] +.PP +.B inimf +[ first line ] +.ie t .ds TX \fRT\v'+0.3m'E\v'-0.3m'X\fP \" for troff +.el .ds TX TeX \" for nroff +.\" to use, type \*(TX +.ie t .ds OX \fIT\v'+0.3m'E\v'-0.3m'X\fP \" for troff +.el .ds OX TeX \" for nroff +.\" the same but obliqued + +.SH DESCRIPTION +M\s-2ETAFONT\s0 +reads the program in the specified files +and outputs font rasters (in gf format) and font metrics (tfm files). +M\s-2ETAFONT\s0 +capabilities and language are described in +.I The M\s-2ETAFONT\s0\^book +by Donald E. Knuth, published by Addison-Wesley. +.PP +Like +\*(TX, M\s-2ETAFONT\s0 +is normally used with a large body of precompiled macros, and font generation +in particular requires the support of several macro files. The basic +program as compiled is called +.I inimf; +it can be used to precompile macros into a ``*.base'' file, which can be +preloaded when you invoke inimf under another name. If you call it `mf', +the file plain.base is quickly loaded; if you call it `foo' and link +`foo' to `inimf', you get the file foo.base. A different base file +can be loaded if you say &mybase at the beginning of your first input line. +As described in +.I The M\s-2ETAFONT\s0\^book, +that line should otherwise begin with a file name +or a \\\|controlsequence. +The normal usage is to say +.IP +\fBmf\ \fR ' \\\|mode=<printengine>\^;\^ [\^\\\|mag=magstep(\fI\^n\fR\^)\^;\^] ' input\ \^\fI font \fR +.PP +to start processing +.I font.mf. +The single quotes are the best way of keeping the +shell from misinterpreting the semicolons and +from removing the \\ characters, which are needed here to +keep M\s-2ETAFONT\s0 from thinking that you want to produce a font called +``mode'' or ``mag''. (Or you can just say `mf' and give the other stuff +on the next line, without quotes.) Other +\\\|controlsequences, such as \\\|batchmode (for silent operation) can +also appear. +The name ``font'' will be the ``jobname'', and is used in forming +output file names. +If M\s-2ETAFONT\s0 doesn't get a file name in the first line, +the jobname is ``mfput''. +The default `.mf' extension can be overridden by specifying an extension +explicitly. +There is no way to read a M\s-2ETAFONT\s0 input file with no filename extension. +.PP +A log of error messages goes +into \fI font\fB\^.\^\fIlog\fR where\fI font\fR is the jobname. +The output files +are \fI font\fB\^.\^\fItfm\fR and \fI font\fB\^.\^\fI<\fR\^number\^\fI>gf\fR +where <number> depends on the resolution and +magnification of the font. The ``\\\|mode'' in this example is +shown generically as <printengine>, a symbolic term for which the name +of an actual printengine or the name ``localfont'' (see below) must be +substituted. +If the ``\\\|mode'' is not specified +or is not valid for your site, +M\s-2ETAFONT\s0 +will +default to ``proof'' mode which produces large character images for +use in font design and refinement. Proof mode can immediately +be recognized by the appearance of the suffix +.I .2602gf +\^ after the jobname. Examples of proof mode output can be found +in +.I The Computer Modern Fonts, +(Volume E of +.I Computers and Typesetting +), by Donald Knuth. +The system of +.I magsteps +is identical to the system used by +\*(TX, +with values normally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0. +A listing of gf numbers for 118-dpi, 240-dpi and 300-dpi fonts +is shown below. +.ds f. mf.tbl \" tbl output inserted here +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 82 83 +.nr 80 0 +.nr 38 \w\s-2MAGSTEP\s0 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(0) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(0.5) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(1) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(2) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(3) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(4) +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wmag=magstep(5) +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w118 dpi +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w118 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w129 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w142 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w170 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w204 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w245 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w294 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 82 0 +.nr 38 \w240 dpi +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w240 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w263 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w288 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w346 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w415 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w498 +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \w597 +.if \n(82<\n(38 .nr 82 \n(38 +.82 +.rm 82 +.nr 83 0 +.nr 38 \w300 dpi +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w300 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w329 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w360 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w432 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w518 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w622 +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \w746 +.if \n(83<\n(38 .nr 83 \n(38 +.83 +.rm 83 +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr 42 \n(81+(3*\n(38) +.nr 82 +\n(42 +.nr 43 \n(82+(3*\n(38) +.nr 83 +\n(43 +.nr TW \n(83 +.if t .if \n(TW>\n(.li .tm Table at line 13 file mf.tbl is too wide - \n(TW units +.nr #I \n(.i +.in +(\n(.lu-\n(TWu-\n(.iu)/2u +.fc +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\s-2MAGSTEP\s0\h'|\n(41u'118 dpi\h'|\n(42u'240 dpi\h'|\n(43u'300 dpi +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(0)\h'|\n(41u'118\h'|\n(42u'240\h'|\n(43u'300 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(0.5)\h'|\n(41u'129\h'|\n(42u'263\h'|\n(43u'329 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(1)\h'|\n(41u'142\h'|\n(42u'288\h'|\n(43u'360 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(2)\h'|\n(41u'170\h'|\n(42u'346\h'|\n(43u'432 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(3)\h'|\n(41u'204\h'|\n(42u'415\h'|\n(43u'518 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(4)\h'|\n(41u'245\h'|\n(42u'498\h'|\n(43u'622 +.ta \n(80u \n(81u \n(82u \n(83u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'mag=magstep(5)\h'|\n(41u'294\h'|\n(42u'597\h'|\n(43u'746 +.fc +.nr T. 1 +.T# 1 +.in \n(#Iu +.35 +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-12 + +.br +Magnification can also be specified not as a magstep but as an +arbitrary value, such as 1.315, to create special character sizes. +.PP + +Before font production can begin, it is necessary to set up the +appropriate `base' files. The minimum set of components for font +production for a given print-engine is the `plain.mf' macro file +and the local `mode_def' file. The macros in `plain.mf' can be +studied in an appendix to the +.I M\s-2ETAFONT\s0\^book; +they were developed by Donald Knuth, and this file should never be +altered except when it is officially upgraded. +Each mode_def specification helps adapt fonts to a particular print-engine. +There is a regular discussion of mode_defs in the journal of the +\*(TX +Users Group, +.I TUGboat; +the local ones in use on this computer (art) are in the +file /home/tex/local/lib/art.mf. +With only `plain.mf' and `<\^\s-2SITE\s0\^>\^-modes.mf' +loaded it is possible to +create fonts of simple characters, such as those used for the +M\s-2ETAFONT\s0 +logo, and those used for the LaTeX line and circle fonts, +but the production of Computer Modern fonts would be facilitated by +making a cmmf.base file (which includes the macros in cmbase.mf as +well as those in plain.mf). +.PP +Several environment variables can be used to set up directory +paths to search when M\s-2ETAFONT\s0 opens a file for input. +For example, the +.I csh +command +.br +.in +4 +setenv \s-2MFINPUTS\s0\ .\^:\^/usr/me/mylib\^:\^/usr/local/lib/mf/inputs +.in -4 +or the +.I sh +command sequence +.br +.in +4 +\s-2MFINPUTS\s0\|=\|.\^:\^/usr/me/mylib\^:\^/usr/local/lib/mf/inputs +.br +export \s-2MFINPUTS\s0 +.in -4 +.br +would cause all invocations of M\s-2ETAFONT\s0 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 +\s-2MFINPUTS\s0 environment variable in the +.I .\|cshrc +or +.I .\|profile +file. +.PP +The +.I e +response to M\s-2ETAFONT\s0\|'s error-recovery mode invokes the +.I GNU emacs +editor at the erroneous line of the source file. +There is an environment variable, \s-2MFEDIT\s0, +that can be used to specify the editor. +It should contain a string with "%s" indicating where the +filename goes and "%d" indicating where the decimal linenumber (if any) goes. +For example, an \s-2MFEDIT\s0 string for the "vi" editor can be set by: +.br + +.ti +3 + setenv \s-2MFEDITOR\s0 "/usr/bin/vi +%d %s" +.br +.sp .7 +(replacing the path name for the editor +as appropriate on your system). +The Environment section below lists the relevant environment variables, +and their defaults. +.PP +A convenient file in the library is null.mf, containing nothing. +When mf can't find the 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. +.PP +.SH ENVIRONMENT +The defaults for all environments are set at the +time of compilation, by reference to a file called /home/tex/local/mfpaths.h. +The values given below are preset in this file. +.PP +.IP \s-2MFINPUTS\s0 +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: .\^:\^/home/tex/local/lib\^:\^/home/tex/dist/lib +.IP \s-2MFBASES\s0 +Search path for base files. Default: .\^:\^/home/tex/local/mf +.IP \s-2MFPOOL\s0 +Search path for M\s-2ETAFONT\s internal +strings. Default: .\^:\^/home/tex/local/mf +.IP \s-2MFEDIT\s0 +Command template for switching to editor. Default: /emacs +%d %s +.br + +.SH "FONT UTILITIES" +.PP +A number of utility programs are available (see section See Also). +The following is a partial list of available utilities and their purpose. +Consult your local M\s-2ETAFONT\s0 guru for details. +.br +.TP 1.5i +.B gftopk +Takes a GF file and produces a more tightly packed PK font file +TP +.B gftodvi +Produces proof sheets for fonts +.TP +.B gftype +Displays the contents of a GF file in mnemonics and images +.br +.TP +.B pktype +Mnemonically displays the contents of a PK file +.br +.TP +.B mft +Formats a source file (font.mf) as shown in +.I Computer Modern Typefaces +.PP + +.SH "FILES" +.TP 1.3i +/home/tex/{dist,local}/lib +M\s-2ETAFONT\s0's library areas +.TP +/home/tex/local/mf/mf.pool +Encoded text of M\s-2ETAFONT\s0's messages +.TP +/home/tex/local/mf/*.base +M\s-2ETAFONT\s0 base files +.TP +/home/tex/dist/lib/plain.mf +The ``standard'' macro package +.TP +/home/tex/local/lib/art.mf +The file of ``mode_def''s for your site's various printers +.TP +/home/tex/dist/cm +M\s-2ETAFONT\s0 sources for Computer Modern +.TP +/home/tex/local/cm +Local variations of Computer Modern +.br + +.SH "SUGGESTED READING" +Donald E. Knuth, +.I The M\s-2ETAFONT\s0\^book +(Volume C of \fI Computers and Typesetting\fR\|) +.br +Donald E. Knuth, +.I M\s-2ETAFONT\s0\^ the Program +(Volume D of \fI Computers and Typesetting\fR\|) +.br +Donald E. Knuth, +.I Computer Modern Typefaces +(Volume E of \fI Computers and Typesetting\fR\|) +.br +.I TUGboat +(the publication of the \*(TX Users Group) +.br +.SH "COMMENTS" +Warning: ``Type design can be hazardous to your other interests. +Once you get hooked, you will develop intense feelings about letterforms; +the medium will intrude on the messages that you read. +And you will perpetually be thinking of improvements to the fonts that +you see everywhere, especially those of your own design.'' +.br +.SH "BUGS" +On January 4, 1986 the ``final'' +bug in M\s-2ETAFONT\s0 was discovered and removed. If an error still +lurks in the code, D. E. Knuth promises to +pay a finders fee which doubles every year +to the first person who finds it. Happy +hunting. +.SH "AUTHORS" +M\s-2ETAFONT\s0 was designed by Donald E. Knuth, +who implemented it using his W\s-2EB\s0 system for Pascal programs. +It was ported to Unix by Paul Richards at the University of Illinois +at Urbana-Champaign. +This page written by Pierre MacKay (mostly). +.br +.SH "SEE ALSO" +dvitype(1), gftopk(1), gftodvi(1), gftype(1), mft(1), +pktype(1), pltotf(1), tftopl(1) + diff --git a/systems/knuth/local/man1/mft.1 b/systems/knuth/local/man1/mft.1 new file mode 100644 index 0000000000..36f01b17aa --- /dev/null +++ b/systems/knuth/local/man1/mft.1 @@ -0,0 +1,54 @@ +.TH MFT 1L 10/21/89 +.SH NAME +mft \- translate METAFONT code to TeX code +.SH SYNOPSIS +.B mft +mffile[.mf] [-cs] [changefile[.ch]] [stylefile[.mft]] + +.SH DESCRIPTION +The +.I mft +program is used to create a TeX file for viewing a METAFONT program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc., as illustrated +in the book +.I Computer Modern Typefaces. +Special conventions in METAFONT comments allow you to control things that +would not otherwise come out right; section 1 of the MFT documentation +in the +.I METAFONTware +report explains these rules. + +The command line has one required file name and two optional file names. +The required +one is a METAFONT source file; there is also an optional change file +(which works just as the change files to \.{TANGLE} and \.{WEAVE}) +and an optional style file (while is prepended to everything). + +A file name +that doesn't contain a dot is always given an extension, either .mf (METAFONT) +or .ch (change) or .mft (style). If no style file is specified, the style +plain.mft is automatically used. The METAFONT and change file names are +either absolute paths or relative to the current directory; the style file +is either an absolute path or relative to the MFINPUTS environment variable. +.PP +The output TeX file name is formed by using .tex in place of +the extension of the METAFONT file name. +.SH FILES + +/home/tex/dist/lib/mftmac.tex TeX macros used by mft output. +.br +/home/tex/dist/lib/plain.mft Default style file. +.br +/home/tex/dist/lib/cmbase.mft Style file for Computer Modern. +.SH "SEE ALSO" +D. E. Knuth et al., +.I METAFONTware +.PP +mf(1), weave(1) +.SH "AUTHORS" +MFT was written by Donald E. Knuth, and he ported to Unix with the help of +Pierre MacKay and the Unix port of WEAVE by Howard Trickey and Pavel Curtis. +The program is published in the +.I METAFONTware +report (Stanford CS1225), available from TUG (the TeX Users Group). diff --git a/systems/knuth/local/man1/pktype.1 b/systems/knuth/local/man1/pktype.1 new file mode 100644 index 0000000000..d93fca9352 --- /dev/null +++ b/systems/knuth/local/man1/pktype.1 @@ -0,0 +1,34 @@ +.TH PKTYPE 1L 10/21/89 +.SH NAME +pktype - translate a packed font file for humans to read +.SH SYNTAX +.B pktype +pk_file_name [output_file_name] +.SH DESCRIPTION +.I PKtype +translates a \fIpacked font\fR file (output by GFtoPK) to a +file humans can read. It also serves as a PK file-validating +program (i.e., if +.I PKtype +can read it, it's correct) and as an example of a PK-reading +program for other software that wants to read PK files. +.PP +The pk_file_name on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to add on a default extension as is done with TeX or +DVI-reading software. If no output_file_name is specified, the +output goes to the standard output. +.PP +The output file gives a compact encoding of the packed encoding, using +conventions described in the +.I METAFONTware +report. Run lengths of black pixels alternate with parenthesized run lengths +of white pixels, and brackets are used to indicate when a row should be +repeated. +.SH "SEE ALSO" +gftopk(1) +.br +Donald Knuth et al., +.I METAFONTware +.SH "AUTHORS" +Tom Rokicki wrote the program, and Don Knuth ported it to Unix. diff --git a/systems/knuth/local/man1/pltotf.1 b/systems/knuth/local/man1/pltotf.1 new file mode 100644 index 0000000000..6dd5053178 --- /dev/null +++ b/systems/knuth/local/man1/pltotf.1 @@ -0,0 +1,29 @@ +.TH PLTOTF 1L 10/21/89 +.SH NAME +pltotf - convert property list files to font metric (tfm) +.SH SYNOPSIS +.B pltotf +pl_file_name tfm_file_name +.SH DESCRIPTION +.I PLtoTF +translates a (human-readable) property list file to a +(program-readable) font metric file. Thus, the font metric +file can be edited (although this should not be necessary +since METAFONT84 has been released), and its exact contents +can be displayed mnemonically. +.PP +Both the +.I pl_file_name +and the +.I tfm_file_name +must be complete. No adding of default extensions is done. +.SH "SEE ALSO" +.br +Donald Knuth, +.I TeXware, The METAFONTbook +.SH "AUTHORS" +Donald Knuth wrote the program. It was published as +part of the +.I TeXware +technical report (Stanford CS1097), available from TUG (the TeX Users Group). +Howard Trickey, Pavel Curtis, and Richard Furuta ported it to Unix. diff --git a/systems/knuth/local/man1/pooltype.1 b/systems/knuth/local/man1/pooltype.1 new file mode 100644 index 0000000000..18c65c8361 --- /dev/null +++ b/systems/knuth/local/man1/pooltype.1 @@ -0,0 +1,23 @@ +.TH POOLTYPE 1L 10/21/89 +.SH NAME +pooltype - display a WEB pool file +.SH SYNOPSIS +.B pltotf +pool_file_name +.SH DESCRIPTION +.I POOLtype +translates a (program_readable) string pool file to a +(human-readable) text file. +.PP +The +.I pool_file_name +must be complete. No adding of default extensions is done. +.SH "SEE ALSO" +.br +Donald Knuth, +.I TeXware, The WEB system +.SH "AUTHORS" +Donald Knuth wrote the program and ported it to Unix. It was published as +part of the +.I TeXware +technical report (Stanford CS1097), available from TUG (the TeX Users Group). diff --git a/systems/knuth/local/man1/tangle.1 b/systems/knuth/local/man1/tangle.1 new file mode 100644 index 0000000000..487c354b44 --- /dev/null +++ b/systems/knuth/local/man1/tangle.1 @@ -0,0 +1,107 @@ +.TH WEB 1L 10/19/89 +.SH NAME +tangle, weave \- translate WEB to Pascal and/or TeX +.SH SYNOPSIS +.B tangle +webfile[.web] [changefile[.ch]] +.br +.B weave +[ +.B \-x +] webfile[.web] [changefile[.ch]] + +.SH DESCRIPTION +The +.I tangle +program converts a WEB +source document into a Pascal program that may be compiled in the usual +way with the on-line Pascal compiler (e.g., +.IR pc (1)). +The output file is all in lower case +and packed into lines of 72 characters or less, with the only concession +to readability being the termination of lines at semicolons when this can +be done conveniently. +.PP +WEB is a new language that Don Knuth has created, which +allows you to prepare a single +document containing all the information that is needed both to produce +a compilable Pascal program and to produce a well-formatted document +describing the program in as much detail as the writer may desire. The +user of WEB must be familiar with both TeX and Pascal. +.PP +WEB provides a relatively simple, although adequate, macro facility that +permits a Pascal program to be written in small easily-understood modules. +The +.I tangle +program assembles these modules into a usable Pascal program. +.PP +The command line should have either one or two names on it. +The first is taken as the WEB file (and .web is added if there is no +extension). +If there is another name, it is a change file (and .ch is added if there is +no extension). The change file overrides parts of the WEB file, +as described in the documentation. +.PP +The output files are a Pascal file and a string pool file, +whose names are formed by adding .p and .pool respectively to the +root of the WEB file name. +.PP +The +.I weave +program is used to create a TeX file for viewing the WEB program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc.,and it supplies +extensive cross-index information that it gathers automatically. +The command line arguments are the same as for +.I tangle +except for the options. The +.B \-x +option says to omit the index, module name list, and table of contents pages. +(A CONTENTS.tex file will still be written, however, unless some default +macros are redefined.) +.PP +The output TeX file name is formed by using .tex as the extension of the +WEB file name. +.PP +There are several macros in webmac.tex that probably should be redefined by +the user at the beginning of the WEB file. +It is a good idea to set \\title +to the name of the program. +And, to cause output of only changed modules, one can say +\\let\\maybe=\\iffalse (usually as the first change in the +change file). +.PP +.SH FILES + +/home/tex/dist/lib/webmac.tex TeX macros used by weave output. +.SH "SEE ALSO" +.I The WEB System of Structured Documentation +and +.br +.I Literate Programming +by D.E. Knuth. +.br +.I Weaving a Program +by Wayne Sewell +.br +tex(1), pc(1) +.br +pxp(1) (for formatting tangle output when debugging) +.br +pooltype(1) (for symbolic listing of the pool file) +.br +.I TeX: The Program +.br +.I METAFONT: The Program +are by far the largest extant examples of WEB programs. +.br +.SH "AUTHORS" +WEB was designed by Donald E. Knuth, based on an earlier system +called DOC (implemented by Ignacio Zabala). +The +.I tangle +and +.I weave +programs are themselves written in WEB. The system +was ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel +Curtis. This version combines their work. diff --git a/systems/knuth/local/man1/tex.1 b/systems/knuth/local/man1/tex.1 new file mode 100644 index 0000000000..614af047b8 --- /dev/null +++ b/systems/knuth/local/man1/tex.1 @@ -0,0 +1,219 @@ +.TH TEX 1L 10/19/89 +.SH NAME +tex, initex, virtex \- text formatting and typesetting +.SH SYNOPSIS +.B tex +[ first line ] +.PP +.B initex +[ first line ] +.PP +.B virtex +[ first line ] +.ie t .ds TX \fRT\v'+0.3m'E\v'-0.3m'X\fP \" for troff +.el .ds TX TeX \" for nroff +.\" to use, type \*(TX + +.SH DESCRIPTION +\*(TX +formats the interspersed text and commands contained in the named +files +and outputs a typesetter independent file (called +.I DVI +which is short for +.IR D e V ice +.IR I ndependent ). +\*(TX +capabilities and language are described in +.I The \*(TXbook +by Donald E. Knuth, published by Addison-Wesley. +.PP +Any arguments given on the command line to the +\*(TX +programs are passed to them as the first input line. +(But it is easier to type them as the first input line, since you don't have +to quote any of the symbols.) +As described in +.I The \*(TXbook, +that first line should begin with a file name +or a \\controlsequence. +The normal usage is to say +.RB `` tex +.IR paper '' +to start processing +.I paper.tex. +The name ``paper'' will be the ``jobname'', and is used in forming +output file names. +If \*(TX 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. +.PP +If there is no paper.tex in the current directory, \*(TX 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 \*(TXbook, as well as several others. +Note that it is hardly ever necessary to \\input plain, since the +.I tex +program has preloaded it. +This means that all of the control sequences discussed in the \*(TXbook +are known to \*(TX. +.PP +The output DVI file is written on +.I name.dvi +where +.I name +is the jobname. +A log of error messages goes into +.I name.log. +.PP +.PP +Several environment variables can be used to set up directory +paths to search when \*(TX opens a file for input. +For example, the +.I csh +command +.br +.in +2 +setenv TEXINPUTS .:/usr/me/mylib:/usr/local/lib/tex/inputs +.in -2 +or the +.I sh +command sequence +.br +.in +4 +TEXINPUTS=.:/usr/me/mylib:/usr/local/lib/tex/inputs +.br +export TEXINPUTS +.in -4 +.br +would cause all invocations of \*(TX 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 +.I .cshrc +or +.I .profile +file. +The Environment section below lists the relevant environment variables, +and their defaults. +.PP +The +.I e +response to \*(TX's error prompt causes the +.I emacs +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 +.I vi +can be set by: +.br +.ti +2 +setenv TEXEDIT "/usr/bin/vi +%d %s" +.br +.PP +.PP +A convenient file in the library is null.tex, containing nothing. +When \*(TX 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. +.PP +Two other \*(TX programs, +.I initex +and +.IR virtex , +can be used to create fast-loading customized versions of \*(TX. +The +.I initex +program is used to create a +.I 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 +.I 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 +.br +.ti +2 +alias mytex "virtex \\&myfmt" +.br +to allow the use of ``mytex paper''. A slightly better way, which also works, +is to rename myfmt.fmt as mytex.fmt and then make a symbolic link between +/usr/local/bin/mytex and /usr/local/bin/virtex; virtex looks first to +see if there is a format whose name matches arg0. +.SH ENVIRONMENT +The defaults for all environments are set at the +time of compilation, by reference to a file called /home/tex/localtexpaths.h. +.PP +.IP 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: .:..:/home/tex/local/lib:/home/tex/dist/lib +.IP 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: /home/fonts +.IP TEXFORMATS +Search path for format files. Default: .:/home/tex/local/tex +.IP TEXPOOL +Search path for INITEX internal strings. Default: .:/home/tex/local/tex +.IP TEXEDIT +Command template for switching to editor. +Default: "emacs +%d %s" + +.SH FILES + +.TP 1.5i +/home/tex/{dist,local}/lib +\*(TX's library areas +.TP +/home/tex/local/tex/tex.pool +Encoded text of \*(TX's messages +.TP +/home/fonts/*.tfm +Width information used by \*(TX (\*(TX Font Metric files) +.TP +/home/fonts/*{gf,pk} +Bit maps for low resolution devices. +.TP +/home/tex/local/tex/*.fmt +\*(TX .fmt files +.TP +/home/tex/dist/lib/plain.tex +The ``default'' macro package +.br +.SH "SEE ALSO" +Donald E. Knuth, +.I The \*(TXbook +.br +Leslie Lamport, +.I The LaTeX Document Preparation System +.br +Michael Spivak, +.I The Joy of \*(TX +.br +.I TUGBOAT +(the publication of the \*(TX Users Group) +.SH "TRIVIA" +\*(TX, pronounced properly, rhymes with ``blecchhh.'' Note that the proper +spelling in typewriter-like output is ``TeX'' and not ``TEX'' or ``tex.'' +.SH "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 \*(TX input file with no filename extension. +.SH "AUTHORS" +\*(TX 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. diff --git a/systems/knuth/local/man1/tftopl.1 b/systems/knuth/local/man1/tftopl.1 new file mode 100644 index 0000000000..034cbe6db5 --- /dev/null +++ b/systems/knuth/local/man1/tftopl.1 @@ -0,0 +1,31 @@ +.TH TFTOPL 1L 10/21/89 +.SH NAME +tftopl - convert font metric (tfm) files to property list +.SH SYNOPSIS +.B tftopl +tfm_file_name pl_file_name +.SH DESCRIPTION +.I TFtoPL +translates a (program-readable) font metric file to +a (human-readable) property list file. Thus, the font metric +file can be edited (although this should not be necessary if it was +prepared by METAFONT), and its exact contents can be displayed mnemonically. +.I TFtoPL +also serves as a TFM-file validating program; if no error messages are given, +the input file is correct. +.PP +Both the +.I tfm_file_name +and the +.I pl_file_name +must be complete. No adding of default extensions is done. +.SH "SEE ALSO" +.br +Donald Knuth, +.I TeXware, The METAFONTbook +.SH "AUTHORS" +Donald Knuth wrote the program. It was published as +part of the +.I TeXware +technical report (Stanford CS1097), available from TUG (the TeX Users +Group). Howard Trickey and Pavel Curtis ported it to Unix. diff --git a/systems/knuth/local/man1/vftovp.1 b/systems/knuth/local/man1/vftovp.1 new file mode 100644 index 0000000000..ce9ee8c1ce --- /dev/null +++ b/systems/knuth/local/man1/vftovp.1 @@ -0,0 +1,26 @@ +.TH VFTOVP 1L 12/30/89 +.SH NAME +vftovp - convert virtual font (vf) files to virtual property list +.SH SYNOPSIS +.B vftovp +vf_file_name tfm_file_name vpl_file_name +.SH DESCRIPTION +.I VFtoVP +translates a (program-readable) virtual font file +and its accompanying font metric file to +a (human-readable) property list file. Thus, the virtual font +can be edited, and its exact contents can be displayed mnemonically. +.I VFtoVP +also serves as a VF-file validating program; if no error messages are given, +the input files are correct. +.PP +All three file names, +.I vf_file_name, +.I tfm_file_name, +and +.I vpl_file_name, +must be complete. No adding of default extensions is done. +.SH "AUTHOR" +Donald Knuth wrote the program, based in part on an idea of David Fuchs, +starting with the code for TFtoPL. + diff --git a/systems/knuth/local/man1/vptovf.1 b/systems/knuth/local/man1/vptovf.1 new file mode 100644 index 0000000000..56c106227f --- /dev/null +++ b/systems/knuth/local/man1/vptovf.1 @@ -0,0 +1,26 @@ +.TH VPTOVF 1L 12/30/89 +.SH NAME +vptovf - convert virtual property list files to virtual fonts +.SH SYNOPSIS +.B vptovf +vpl_file_name vf_file_name tfm_file_name +.SH DESCRIPTION +.I VPtoVF +translates a (human-readable) property list file to a pair of +(program-readable) files in the VF (virtual font) and TFM (Tex font metric) +formats. Thus, a virtual font +file can be edited and its exact contents +can be displayed mnemonically. +New virtual fonts, which map characters as seen by TeX into an arbitrary +sequence of low-level typesetting operations, +can also be easily created in this way. +.PP +All three file names, +.I vpl_file_name, +.I vf_file_name, +and +.I tfm_file_name, +must be complete. No adding of default extensions is done. +.SH "AUTHOR" +Donald Knuth wrote the program, based in part on an idea of David Fuchs, +starting with the code for PLtoTF. diff --git a/systems/knuth/local/man1/weave.1 b/systems/knuth/local/man1/weave.1 new file mode 100644 index 0000000000..487c354b44 --- /dev/null +++ b/systems/knuth/local/man1/weave.1 @@ -0,0 +1,107 @@ +.TH WEB 1L 10/19/89 +.SH NAME +tangle, weave \- translate WEB to Pascal and/or TeX +.SH SYNOPSIS +.B tangle +webfile[.web] [changefile[.ch]] +.br +.B weave +[ +.B \-x +] webfile[.web] [changefile[.ch]] + +.SH DESCRIPTION +The +.I tangle +program converts a WEB +source document into a Pascal program that may be compiled in the usual +way with the on-line Pascal compiler (e.g., +.IR pc (1)). +The output file is all in lower case +and packed into lines of 72 characters or less, with the only concession +to readability being the termination of lines at semicolons when this can +be done conveniently. +.PP +WEB is a new language that Don Knuth has created, which +allows you to prepare a single +document containing all the information that is needed both to produce +a compilable Pascal program and to produce a well-formatted document +describing the program in as much detail as the writer may desire. The +user of WEB must be familiar with both TeX and Pascal. +.PP +WEB provides a relatively simple, although adequate, macro facility that +permits a Pascal program to be written in small easily-understood modules. +The +.I tangle +program assembles these modules into a usable Pascal program. +.PP +The command line should have either one or two names on it. +The first is taken as the WEB file (and .web is added if there is no +extension). +If there is another name, it is a change file (and .ch is added if there is +no extension). The change file overrides parts of the WEB file, +as described in the documentation. +.PP +The output files are a Pascal file and a string pool file, +whose names are formed by adding .p and .pool respectively to the +root of the WEB file name. +.PP +The +.I weave +program is used to create a TeX file for viewing the WEB program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc.,and it supplies +extensive cross-index information that it gathers automatically. +The command line arguments are the same as for +.I tangle +except for the options. The +.B \-x +option says to omit the index, module name list, and table of contents pages. +(A CONTENTS.tex file will still be written, however, unless some default +macros are redefined.) +.PP +The output TeX file name is formed by using .tex as the extension of the +WEB file name. +.PP +There are several macros in webmac.tex that probably should be redefined by +the user at the beginning of the WEB file. +It is a good idea to set \\title +to the name of the program. +And, to cause output of only changed modules, one can say +\\let\\maybe=\\iffalse (usually as the first change in the +change file). +.PP +.SH FILES + +/home/tex/dist/lib/webmac.tex TeX macros used by weave output. +.SH "SEE ALSO" +.I The WEB System of Structured Documentation +and +.br +.I Literate Programming +by D.E. Knuth. +.br +.I Weaving a Program +by Wayne Sewell +.br +tex(1), pc(1) +.br +pxp(1) (for formatting tangle output when debugging) +.br +pooltype(1) (for symbolic listing of the pool file) +.br +.I TeX: The Program +.br +.I METAFONT: The Program +are by far the largest extant examples of WEB programs. +.br +.SH "AUTHORS" +WEB was designed by Donald E. Knuth, based on an earlier system +called DOC (implemented by Ignacio Zabala). +The +.I tangle +and +.I weave +programs are themselves written in WEB. The system +was ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel +Curtis. This version combines their work. diff --git a/systems/knuth/local/man1/web.1 b/systems/knuth/local/man1/web.1 new file mode 100644 index 0000000000..487c354b44 --- /dev/null +++ b/systems/knuth/local/man1/web.1 @@ -0,0 +1,107 @@ +.TH WEB 1L 10/19/89 +.SH NAME +tangle, weave \- translate WEB to Pascal and/or TeX +.SH SYNOPSIS +.B tangle +webfile[.web] [changefile[.ch]] +.br +.B weave +[ +.B \-x +] webfile[.web] [changefile[.ch]] + +.SH DESCRIPTION +The +.I tangle +program converts a WEB +source document into a Pascal program that may be compiled in the usual +way with the on-line Pascal compiler (e.g., +.IR pc (1)). +The output file is all in lower case +and packed into lines of 72 characters or less, with the only concession +to readability being the termination of lines at semicolons when this can +be done conveniently. +.PP +WEB is a new language that Don Knuth has created, which +allows you to prepare a single +document containing all the information that is needed both to produce +a compilable Pascal program and to produce a well-formatted document +describing the program in as much detail as the writer may desire. The +user of WEB must be familiar with both TeX and Pascal. +.PP +WEB provides a relatively simple, although adequate, macro facility that +permits a Pascal program to be written in small easily-understood modules. +The +.I tangle +program assembles these modules into a usable Pascal program. +.PP +The command line should have either one or two names on it. +The first is taken as the WEB file (and .web is added if there is no +extension). +If there is another name, it is a change file (and .ch is added if there is +no extension). The change file overrides parts of the WEB file, +as described in the documentation. +.PP +The output files are a Pascal file and a string pool file, +whose names are formed by adding .p and .pool respectively to the +root of the WEB file name. +.PP +The +.I weave +program is used to create a TeX file for viewing the WEB program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc.,and it supplies +extensive cross-index information that it gathers automatically. +The command line arguments are the same as for +.I tangle +except for the options. The +.B \-x +option says to omit the index, module name list, and table of contents pages. +(A CONTENTS.tex file will still be written, however, unless some default +macros are redefined.) +.PP +The output TeX file name is formed by using .tex as the extension of the +WEB file name. +.PP +There are several macros in webmac.tex that probably should be redefined by +the user at the beginning of the WEB file. +It is a good idea to set \\title +to the name of the program. +And, to cause output of only changed modules, one can say +\\let\\maybe=\\iffalse (usually as the first change in the +change file). +.PP +.SH FILES + +/home/tex/dist/lib/webmac.tex TeX macros used by weave output. +.SH "SEE ALSO" +.I The WEB System of Structured Documentation +and +.br +.I Literate Programming +by D.E. Knuth. +.br +.I Weaving a Program +by Wayne Sewell +.br +tex(1), pc(1) +.br +pxp(1) (for formatting tangle output when debugging) +.br +pooltype(1) (for symbolic listing of the pool file) +.br +.I TeX: The Program +.br +.I METAFONT: The Program +are by far the largest extant examples of WEB programs. +.br +.SH "AUTHORS" +WEB was designed by Donald E. Knuth, based on an earlier system +called DOC (implemented by Ignacio Zabala). +The +.I tangle +and +.I weave +programs are themselves written in WEB. The system +was ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel +Curtis. This version combines their work. |