PSFMT(1) PSFMT(1)
LOCAL
NAME
psfmt - generate PostScript program to format text
SYNOPSIS
psfmt [ options ] [ files ]
DESCRIPTION
The psfmt program reads its input and generates a PostScriptr program
to format it. The input is treated as lines containing the text to be
formatted, except that lines starting with a period (.) or apostrophe
(') are treated as formatting request or calls to (user-defined)
macros, and lines beginning with an exclamation mark (!) are used to
include PostScript code in the output.
The input comes from the file arguments. If no such arguments are
given, the standard input is used. Any file argument consisting of a
minus (-) is taken to mean the standard input. If the input is from a
terminal device, psfmt prompts for its input. The generated program
is sent to the standard output stream. Any error reports are sent to
the standard error stream.
The following options may be used. They may appear in any order, but
must be given before the first file argument (if any). For options
which take an argument, the argument may be given just behind the
option letter, or may be spaced from it with white space. Each option
must start a new command-line argument.
-w Produce warning messages (on standard error) for unknown
requests and bad arguments or in-line functions. By default,
such errors are silently ignored.
-l Generate output for landscape mode printing. Normally, the
output is printed in portrait mode.
-n Do not output the psfmt prolog.
-na Fill output lines but do not adjust them (no justified right
margin). The default output is filled and justified. This
option is incompatible with -nf.
-nf Do not fill the output lines. The output will be printed as
it appears in the output. This option is incompatible with
-na.
-mmacros
Read the macro package specified by macros. If a file called
macros is found, this is used. Otherwise, the prefix psf. is
prepended, and the file is looked for in a standard place (see
ENVIRONMENT and FILES below).
- 1 - Formatted: October 20, 2025
PSFMT(1) PSFMT(1)
LOCAL
-rreg[=val]
Initialise the register whose name is reg. If =val is
present, the register is set to the value val, otherwise, it
is set to 0 (zero). Several -r options may be given.
-v Print the version and compilation date of psfmt and then exit.
-opagelist
Specify which pages are to be printed. The pagelist is one or
more page numbers or ranges, separated by commas. A page
range is two page numbers separated by a hyphen (-). The
pagelist argument should contain no spaces. The page numbers
and ranges do not need to be given in order, but within a page
range, the first page number must be less than the second. In
a range, the second number may be omitted, implying all pages
from the first number to the end of the document.
-pprolog
Specify the PostScript prolog file to be used, in place of the
standard one. (See also ENVIRONMENT and FILES below).
-u Print some underlaid text on each page, under the document
text. The default underlay text is "DRAFT", printed in an
outline font.
-uo This is identical to "-u".
-us This is similar to the "-u" option, but the underlaid text is
printed in a "solid" font, in light-gray.
-uttext Specify the text to be underlaid on each page. This is used
to change from the default text "DRAFT".
-uzps Specify the point-size for the underlaid text.
-upprolog
Specify the PostScript prolog to be used for underlaying text,
instead of the standard one. (See also ENVIRONMENT and FILES
below).
ENVIRONMENT
Three shell environment variables can be used to change the name of
the directory where macro packages will be looked for, and the
standard and underlay text PostScript prolog files.
If the variable PSFMTMACDIR is set, its value will be used as the name
of the directory where macro files will be looked for, instead of the
standard place described in FILES below.
The variable PSFMTPROLOG can be used to name the general PostScript
prolog file. Similarly, the variable PSFMTUPROLOG can be defined to
- 2 - Formatted: October 20, 2025
PSFMT(1) PSFMT(1)
LOCAL
give the name of the underlay text prolog file. By default, the
standard prolog files are expected to be found in the locations given
in the FILES section below.
EXAMPLES
The file text could be formatted and sent to the printer with the
command:
psfmt text | lp
The mydoc file can be checked for inconsistencies with the command:
psfmt -n -w mydoc > /dev/null
To print only pages 2, 9, 13 to 17, and 24 to the end of the document,
with the word CONFIDENTIAL on each page, and using the mm macro
package, the following command could be used:
psfmt -mm -ut CONFIDENTIAL -o2,9,13-17,24- mydoc | lp
FILES
directory containing standard macro packages
/opt/psfmt/postscript/psfmacs
general PostScript prolog file
/opt/psfmt/postscript/psfmt.pro
underlay text PostScript prolog file
/opt/psfmt/postscript/psfmt_uly.pro
AUTHOR
A. Adamson
SEE ALSO
pacc(1).
The psfmt Text Formatter, Version 2.4, User Guide and Reference
Manual.
DIAGNOSTICS
The program is normally silent, ignoring unknown and badly formed
requests. Use the -w option to get warning messages.
There are few "fatal" errors and the messages are intended to be
self-explanatory.
BUGS
There are probably quite a few, but none known.
- 3 - Formatted: October 20, 2025