MPAGE(Local)                                         MPAGE(Local)

NAME
       mpage  -  print  multiple  pages  per  sheet on PostScript
       printer

SYNOPSIS
       mpage [-1248cfovlaAHOERSUXrt] [-p[prprog]] [-B[textboxmar-
       gins]]    [-da|p]   [-m[sheetmargins]]   [-M[pagemargins]]
       [-Llines] [-Wwidth] [-C[encoding] [-hheader] [-P[printer]]
       [-j   first[-last][%interval]   [-stabstop]   [-Ffontname]
       [-zprintcommand]   [-Zprintcommand_args]    [-Ddateformat]
       [-bpapersize] [files...]

DESCRIPTION
       Mpage  reads  plain text files or PostScript documents and
       prints them on a PostScript printer with the text  reduced
       in  size  so  that  several  pages  appear on one sheet of
       paper.  This is useful for viewing large  printouts  on  a
       small  amount  of  paper.   Uses ISO 8859.1 to print 8-bit
       characters.

       The following options are recognized (note that  arguments
       to  options  may  be  separated from the option by spaces,
       except for -B, -m, -M, -p and -P):

       -8     Print 8 normal pages per sheet.

       -4     Print 4 normal pages per sheet (default).

       -2     Print 2 normal pages per sheet.

       -1     Print 1 normal page per sheet (included for  symme-
              try).

       -O     Print  2  normal  pages per sheet. But, this option
              will print every first and forth page of every  set
              of  four pages.  This option will ignore the -a and
              -l options.

       -E     Print 2 normal pages per sheet.  But,  this  option
              will print every second and third page of every set
              of four pages.  This option will ignore the -a  and
              -l options.

       -p[prprog]
              Pipe input through prprog command (including speci-
              fied options) before printing (assumes the input is
              a  text  file).   When  no command is specified, it
              defaults to pr(1).

       -c     Toggle Concatenation off pages from different files
              on single sheets (default off).

       -C[encodingfile]
              Specify  then  character  encoding file. Default is
              none.  The should be in the mpage library directory
              (/usr/local/lib/mpage).    Mpage  has  an  internal
              default encoding based on Latin-1 or  IBM  codepage
              850.   Depending on compile time option this encod-
              ing definition is on  or  not.  Not  specifying  an
              encodingfile  will toggle the usage of the internal
              encoding.

       -Ddateformat
              Set the date format as in strftime(3) to be used in
              date/time representations (e.g. in headers).

       -o     Toggle  printing  of  outlines  around each reduced
              page (default on).

       -v     Toggle printing a count of  the  number  of  sheets
              produced for printing (default off) .

       -f     Toggles   folding  lines  longer  than  page  width
              (default off) .

       -Ffontname
              Specify font. Default is Courier.

       -l     Toggle printing landscape or portrait mode.   Land-
              scape  pages  are  55  lines long by 132 characters
              wide by default.  Portrait pages are 66 lines  long
              by  80  characters  wide by default.  (default por-
              trait) .

       -R     Switch to left to right mode, starting  first  page
              on  left  bottom  corner.  This might be useful for
              landscape postscript files.  (Note:  using  the  -l
              option after -R undoes the -R, and switches to nor-
              mal landscape mode.

       -B[<num>[lrtb]*]
              Specify text box margins and  line  thickness.  The
              default  is  0  columns  (lines)  for both left and
              right (top and bottom) margins and  0  line  thick-
              ness.  Specifying -B solely toggles printing of the
              box.  l, r, t or b set the left, right, top or bot-
              tom  margin  respectively to <num> columns (lines).
              Not specifying any of the sides, will set the  line
              thickness when <num> is given. For example -B1 sets
              the line thickness to 1.  Sides with negative  mar-
              gins will not print.

       -m[<num>[lrtb]*]
              Specify  sheet  margin.  The  default  margin is 20
              points. Specifying -m solely sets left margin to 40
              points.   l, r, t or b set left, right, top or bot-
              tom margin respectively to <num> points.  Not spec-
              ifying  any  of  the sides, will set all sides when
              <num> is given.  <num> defaults to 40  points.  For
              example   -m10  sets  all  margins  to  10  points.
              -ml50tb sets left margin to default 40 and top  and
              bottom  margin to 50 points.  -m50l25bt30r set bot-
              tom and top margin to 25, left  margin  to  50  and
              right  margin  to 30 points. Margins can have nega-
              tive  numbers.   Very  large  values   have   funny
              effects. This is left as an exercise to the user.

       -M[<num>[lrtb]*]
              Specify  logical  page  margins. For syntax, see -m
              option.  Defaults are 4 for -M option solely, and 8
              for <num>.  Margins can be negative. This way large
              white borders in your (postscript) documents  canbe
              reduced.   Very  large  values  have funny effects.
              This is left as an exercise to the user.

       -a     Toggle layout of the pages on  the  sheet  so  that
              successively  numbered pages run down the sheet, as
              opposed to left to right.  (default updown) .

       -da|p  Force input to be taken as ascii (a) or  postacript
              (p)  text.  This  way you can print your postscript
              code as text, or print postscript code  that  mpage
              does not recognise. When using -dp , make sure that
              the the postscript code contains %Page page separa-
              tors or else things will probably look odd.

       -A     deprecated, see /fB-b/fP option. Prepare output for
              European A4 sized paper.  For  default  see  'mpage
              -x'.

       -U     deprecated, see /fB-b/fP option. Prepare output for
              US Letter sized paper. For default see 'mpage  -x'.

       -bpapersize
              Prepare  output  for selected paper size. Papersize
              can be A4 for European A4, Letter for US Letter  or
              Legal  for  Legal  sized  paper.   For  default see
              'mpage -x'.

       -S     Accept  non-square  page  reduction.   By  default,
              pages  are  shrunk equally in X and Y, even if this
              wastes some space on the sheet.  With  -S,  reduced
              pages are larger but slightly distorted. (only used
              when printing postscript files.)

       -r     Reverse printing.  The last sheet is printed first.
              The  way  of  arranging reduced pages on the sheets
              doesn't change.

       -t     Toggle printing on both sides of  the  paper.  This
              will  toggle  duplex mode of the printer.  Use this
              option only if your printer is capable of  printing
              in duplex mode.  (default off).

       -T     Toggle  tumble  of every second pages when printing
              in duplex  mode.  Use  this  option  only  if  your
              printer  is  capable of printing in duplex mode and
              together with -t .

       -jfirst[-last][%interval]
              Print just the selected sheets, specified  by  num-
              ber,  starting at 1.  Here last defaults to the end
              of data, interval to 1.  Thus  -j1-10  selects  the
              first  10 sheets, while -j 1%2 prints just the odd-
              numbered sheets and -j 2%2  prints  just  the  even
              ones.

              You can do double-sided printing, in two passes, as
              follows.  If you use 3-hole punched paper,  put  it
              in  the  printer such that the holes will appear at
              the top of the page -- on the right as you pull out
              the  printer  tray,  in  our  Laser  writer II NTX.
              Print the odd-numbered sheets with

                   mpage ... -j 1%2 ...

              Note the number of pages it  reports.   (Only  half
              this  many  will really be printed).  When printing
              finishes, if mpage reported an odd number of pages,
              remove  the  last  one  from the stack, since there
              will be no even-numbered sheet to match  it.   Then
              arrange  the  stack  of  paper  for printing on the
              other side.  (If it's punched, the holes  will  now
              be  on  the  left.)  On our II NTX, the paper comes
              out blank-side up; replace it  in  the  tray  still
              blank-side  up  but rotated 180 degrees.  For other
              printers, you figure it out.  Now print  the  even-
              numbered sheets in reverse order with

                   mpage ... -r -j 2%2 ...

              hoping  no  one else reaches the printer before you
              do.

       -P[printer]
              Specify the printer to which the PostScript  output
              will  be sent (e.g.lpr -Pprinter). Using -P with no
              printer specified will send the PostScript  to  the
              default  printer  queue  (e.g. lpr). Using -P- will
              return output to stdout, useful in combination with
              MPAGE  environment variable. Without -P output will
              be send to standard output.

       -Llines
              Adjust the page reduction parameters so that  lines
              lines  will  fit  in  the  space of one page.  This
              overrides the  default  values  normally  supplied.
              (See  the  -l option.)  If used in conjunction with
              the -p option then this value is passed to  the  pr
              program as well.

       -Wwidth
              Adjust the page reduction parameters so that a line
              width characters long will fit in the space of  one
              page.   This  overrides the default values normally
              supplied.  (See the -l option.)  If  used  in  con-
              junction  with  the  -p  option  then this value is
              passed to the pr program as well.

       -Iindent
              Indent text by indent characters.

       -stabstop
              Set tabstop width (default 8 characters). Should by
              >= 2.

       -hheader
              This  is used only when the -p or -H switch is used
              and is passed as the "-h header" option to pr(1) or
              as the header for -H.

       -H     Create  header line for each logical page separated
              from page text by a horizontal line. Unless  -h  is
              given,  the header consist of last file changetime,
              filename and page number, all in bold and  slightly
              larger  font.   This  option  only  applies to non-
              postscript files.

       -X [header]
              Print  header  centered  on  each   physical   page
              (sheet).  If no header is given, the default is the
              current filename (note the -c option) on  the  left
              and the page number on the right.

       -zprintcommand
              Specify  command  to use to send output to. Default
              is lpr .
               for UCB style spooler, lp for ATT  style  spooler.
              You  can  specify  command line options, but see -Z
              option. For example -zlp for system V Unix.

       -Zprintprog_queuename_arg
              Specify what option to use  for  the  "-z printcom-
              mand"  to  specify  a printqueue.  For example -zlp
              -Z-d for system V Unix.   Default  is  -P  for  UCB
              style spooler, -d for ATT style spooler.

ENVIRONMENT
       Mpage  examines  the  PRINTER  (or  LPDEST  for  ATT style
       spooler) environment  variable  to  override  its  default
       printer.

       The  MPAGE_LIB environment variable can be used to control
       where the character encodings (-C) can be found.

       Mpage also examine  the  MPAGE  environment  variable  for
       default  option  settings.   Any  option or combination of
       options can be specified in the  MPAGE  environment  vari-
       able.  For example, if MPAGE is set to the string:
                 -2oPqms -L60
       it  would (in the absence of other command line arguments)
       print 2 pages per sheet, 60 lines per page, with outlines,
       on  the  printer  named qms (overriding the PRINTER/LPDEST
       environment variable, if it exists.)  In  the  environment
       variable,  white space is used as an option delimiter, and
       no quoting is recognized.

       Any command line options will override  both  the  PRINTER
       and MPAGE environment variables.

FILES
       /bin/pr   /bin/fold
       /usr/tmp/mpageXXXXXX

BUGS
       Suffers under the burden of far too many switches.  (But I
       wanted the choices!)

       Many others, w're sure.

VERSION
       Version 2.4, Released September 1996.

AUTHORS
       Mark P. Hahn (uunet!pyrdc!mark), Pyramid Technology Corpo-
       ration

       Marcel  Mol  <marcel@mesa.nl>. Lots of other changes. More
       or less the main author now.

       Help from many others, pleas see the CHANGES file.

                              2/2/96                            1