LPTOPS 1L "06 June 1991"

Table of contents


lptops - convert an ascii text file into a printable P\s-2OST\s+2S\s-2CRIPT\s+2 file


lptops [-a] [-author] [-b #] [-c num] [-f font] [-h] [-i #] [-l #] [-m num] [-n [tb][lcr]num] [-o [#]] [-p #] [-q] [-r #] [-s num] [-t #] [-u] [-version] [-y #] < infile > outfile lptops [ switches ] file1 file2 ... > outfile


lptops converts normal text files into \*(Ps for printing on the Apple LaserWriter, or any other \*(Ps compatible printing device. It supports selection of a variety of fonts at arbitrary point sizes, margin specification, portrait and landscape page orientation, automatic page numbering, page outlining, and multi-column printing. It can also overstrike text (used by many text formatters for underlining).

This program is distributed with the <PLOT79> system. The \*(Ts system provides a program of similar intent, known as enscript(1L).


Letter case is ignored (except in the case of font codes).
Turn Scribe-like bold and italic requests (@b[...] and @i[...]) into bold or italic text.
Display an author credit on stdout.
Set bottom margin to # (default is 1.0in).
-c num
Print num copies of each page (default 1).
-f font
Set \*(Ps font. The full name or an abbreviation for the desired font type is given as font. Default is Courier. The following 13 fonts are available on all \*(Ps printers. The second column provides font abbreviations used by this and earlier versions of lptops; the third column contains ditroff(1L) font abbreviations, and the fourth column, Adobe \*(Ts font abbreviations. Any of these abbreviations may be used to specify font.
	     Font		     Symbolic Names
	     Courier		     C	   C	 C
	     Courier-Bold	     CB	   CB	 CB
	     Courier-BoldOblique     CBO   CD	 CD
	     Courier-Oblique	     CO	   CO	 CO
	     Helvetica		     H	   he	 he
	     Helvetica-Bold	     HB	   He	 He
	     Helvetica-BoldOblique   HBO   HE	 HE
	     Helvetica-Oblique	     HO	   hE	 hE
	     Symbol		     S	   S	 S
	     Times-Bold		     TB	   R	 ti
	     Times-BoldItalic	     TBI   BI	 TI
	     Times-Italic	     TI	   I	 tI
	     Times-Roman	     T	   R	 ti
The remaining fonts are available only on enhanced printers, such as the Apple LaserWriter Plus.
	 Font				Symbolic Names
	 AvantGarde-Book		AGB	ag   ag
	 AvantGarde-BookOblique		AGBO	aG   aG
	 AvantGarde-Demi		AGD	Ag   Ag
	 AvantGarde-DemiOblique		AGDO	AG   AG
	 Bookman-Demi			BD	Bo   Bo
	 Bookman-DemiItalic		BDI	BO   BO
	 Bookman-Light			BL	bo   bo
	 Bookman-LightItalic		BLI	bO   bO
	 Helvetica-Narrow		HN	hn   hn
	 Helvetica-Narrow-Bold		HNB	Hn   Hn
	 Helvetica-Narrow-BoldOblique	HNBO	HN   HN
	 Helvetica-Narrow-Oblique	HNO	hN   hN
	 NewCenturySchlbk-Bold		NCSB	Nc   Nc
	 NewCenturySchlbk-BoldItalic	NCSBI	NC   NC
	 NewCenturySchlbk-Italic	NCSI	nC   nC
	 NewCenturySchlbk-Roman		NCSR	nc   nc
	 Palatino-Bold			PB	Pa   Pa
	 Palatino-BoldItalic		PBI	PA   PA
	 Palatino-Italic		PI	pA   pA
	 Palatino-Roman			PR	pa   pa
	 ZapfChancery-MediumItalic	ZCMI	ZC   ZC
	 ZapfDingbats			ZD	ZD   ZD

Note that the ditroff(1L) and \*(Ts abbreviations are identical except for the Courier and Times fonts. The \*(Ts abbreviations are based on two-letter mnemonics, where upper-case in the first letter indicates bold, and upper-case in the second letter indicates italic.

Only the Courier fonts are fixed-width fonts. The others are proportionally spaced and tabular material will not line up properly. The Courier fonts have a width equal to 0.6 of their point size, so to fill a line W inches wide with up to N characters, one must have point size <= (W/(0.6 * N * 72)) = (W*120)/N pt. Equivalently, with a point size P pt, the output spacing is 120/P char/inch.

Use horizontal page orientation (landscape mode) instead of vertical (portrait mode).
Set top margin to # for initial page (for use with letterhead) If not specified, the value given for the top margin will be used (see the -t command).
Set left margin to # (default is 1.0in).
Produce multiple column output (num columns). In multiple column mode, formfeeds cause column breaks instead of page breaks. Default value of num is 1.
Number output pages. The margin in which the number is placed can be selected by t (top) or b (bottom), and the position of the number can be further specified by l (left), c (center), or r (right). The number is placed by default in the center of the top margin, If num is given, start numbering with that value, and otherwise with 1. If an initial top margin value is given with the -i option, numbering will be omitted on the first page if it is at the top. Pages are unnumbered if this option is not specified.
Outline pages (and columns) with a line which is # units wide. A narrow line of 0.4pt width is assumed if # is omitted; this particular width is what TeX uses in typesetting.
Set font point size (default 10bp). The baseline skip (spacing between successive character baselines) is conventionally chosen to be 6/5 of this value, so that with 10bp type, we have 12bp between lines, or 6 lines/inch, the same as standard printer output.
Quiet mode; suppress display of status and warning messages on stderr. Error messages are never suppressed.
Set right margin to # (default is 1.0in).
Use manual feed tray (special handling) for the first num pages of the output. If N multiple copies are in effect (see option -c), then N*num sheets must be fed manually. If num is omitted, then all pages are to be fed manually. Default value of num is 0.
Set top margin to # (default value is 1.0in).
Produce pages in unsorted (first to last) order instead of in sorted (page reversed) order; some \*(Ps printers have page handlers that stack the paper in this order. The default is to sort because this is appropriate for the most common \*(Ps printer, the Apple LaserWriter.
Display the program version string on stdout.
Set the baseline skip (interline spacing) to #. The default value is 1.2 times the point size.


In the switch descriptions above, physical dimensions described as # may be specified as a single number with an optional fractional part, and a required two-letter unit designator. Possible forms are:

#.##bp	big point (1in = 72bp)	[Courier: 120.000/Pbp cpi]
#.##cc	cicero (1cc = 12dd)	[Courier:   9.381/Pcc cpi]
#.##cm	centimeter	[Courier:   4.233/Pcm cpi]
#.##dd	didot point (1157dd = 1238pt)	[Courier: 112.569/Pdd cpi]
#.##in	inch	[Courier:   1.667/Pin cpi]
#.##mm	millimeter (10mm = 1cm)	[Courier:  42.333/Pmm cpi]
#.##pc	pica (1pc = 12pt)	[Courier:  10.038/Ppc cpi]
#.##pt	point (72.27pt = 1in)	[Courier: 120.450/Ppt cpi]
#.##sp	scaled point (65536sp = 1pt)	[Courier:   7.893/(Psp/1000000) cpi]

The bracketed values give the number of characters per inch (cpi) for a point size of P units with the fixed-width Courier font. For example, with point size 8bp, there are 120/8 = 15 characters per inch. With point size 1000000sp, there are 7.893 characters/inch.


source code
various environment definitions, an appropriate subset of which should be placed in the user's .cshrc or .profile file


document (1L), drawit(1L), grapht(1L), graph3t(1L), pfort(1L), piechtt(1L), plot79-intro(1L), plot79(1L), pluto(1L), pretty(1L), rdinfo(1L), sf3(1L), slides(1L), tekalw(1L), tkvecs(1L), tmacro(1L), world(1L)


Nelson H.F. Beebe, Ph.D.

Center for Scientific Computing

Department of Mathematics

South Physics Building

University of Utah

Salt Lake City, Utah 84112


Tel: (801) 581-5254

FAX: (801) 581-4801

Email: <Beebe@math.utah.edu>

(Manual page by R. P. C. Rodgers, Computer Applications in Laboratory Medicine Project, UCSF, San Francisco, CA 94143).