Penguin
NAME
       mpage - print multiple pages per sheet on PostScript printer

SYNOPSIS
       mpage  [-1248aAcEfHloOrRStuUvVxX]  [-b papersize]  [-B[num[lrtb]]*] [-C
       [encoding]]   [-da|p]   [-D dateformat]    [-F fontname]    [-h header]
       [-j first[-last][%interval]]         [-J startpageno]        [-L lines]
       [-m[num[lrtb]]*] [-M[num[lrtb]]*] [-p[prprog]]  [-P[printer]]  [-s tab-
       stop] [-W width] [-z printcmd] [-Z printcmd_args] [file...]]

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.  It  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):  Also when mpage encounters -- as option it will stop parsing
       arguments and the remaining arguments are interpreted as filenames.

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

       -2     Print 2 normal pages per sheet.

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

       -8     Print 8 normal pages per sheet.

       -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) .

       -A     This option is deprecated, see -b.  Prepare output for A4  sized
              paper.  For default see 'mpage -x'.

       -bpapertype
              Prepare output for selected paper type.  Papersize can be A3 for
              European A3, A4 for European A4, Letter for US Letter  or  Legal
              for  Legal sized paper.  For default see 'mpage -x'.  To see the
              list of currently available types, just give the 'mpage -bl'  or
              'mpage -b?' command (Note: mpage exits after finding such option
              use.)

       -B[<num>[lrtb]*]
              Setup a box around a particular part of your page.  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  thickness.   Specifying  -B solely toggles printing of the
              box.  l, r, t or b set the left, right,  top  or  bottom  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
              margins will not print.

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

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

       -da|p  Force input to be taken as ascii (a)  or  postscript  (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 sepa-
              rators or else things will probably look odd.

       -Ddateformat
              Set the date format as in strftime(3) to be  used  in  date/time
              representations  (e.g.  in  headers).   (Note:  to be useful you
              probably need the -H option.)

       -e     Print 2 normal pages per sheet in duplex mode. Every  first  and
              fourth  page  or  on  one side and every second and third on the
              other side. This is more or less a combination of the -O and  -E
              option but then in one pass.

       -E     Print  2 normal pages per sheet. However, this option will print
              every second and third page of every set of  four  pages.   This
              option  will  ignore  -a and -l.  See also the -O option.  Using
              these options double sided  prints  can  be  created  without  a
              duplex printer.

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

       -Ffontname
              Specify  font.   (default  Courier). Check your printer for sup-
              ported fonts. Note: this has almost nothing to do with the fonts
              used for your X-windows/KDE/Gnome environment.

       -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 con-
              sist of last file modification time, filename and  page  number,
              all  in bold and slightly larger font.  This option only applies
              to non-postscript files.

       -Iindent
              Indent text by indent characters.

       -jfirst[-last][%interval]
              Print just the selected sheets, specified by a number,  starting
              at  1.   Here  last  defaults to the end of data, interval to 1.
              Several -j options can be given (upto MAXJARGS, default 100)  to
              create  a  complex  selection of pages.  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  print-
              ers,  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.


       -Jstartpageno
              Set the start value of  the  sheet  page  count  to  startpageno
              instead of 1.


       -k     When  mpage  finds  a %%TRailer or %%PSTrailer in the postscript
              input file it normally assumes this is the end of the postscript
              file  and  stops  reading  the  input file. But when the PS file
              includes EPS files, %%Trailers might  be  anywhere.  Using  this
              option ignores the %%TRailer and %%PSTRailer lines.

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

       -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 -l.)  If used in  conjunction  with  -p
              then  this  value  is  passed  to  the pr(1) as well.  As a side
              effect this changes the font  size  as  well  (as  will  the  -W
              option.)  So  while  there  is  an option to change font family,
              there is no explicit option to change font size!

       -m[<num>[lrtb]*]
              Specify sheet margin. The default margin  is  20  points.   Only
              specifying  -m  sets left margin to 40 points.  l, r, t or b set
              left, right, top or bottom margin respectively to <num>  points.
              Not specifying 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 bottom
              and  top  margin to 25, left margin to 50 and right margin to 30
              points.  Margins can have negative 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 solely, and 8 for <num>.  Margins  can  be
              negative.   This  way  large  white borders in your (postscript)
              documents can be reduced.  Very large values have funny effects.
              This is left as an exercise to the user.

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

       -O     Print 2 normal pages per sheet.  However, this option will print
              every  first  and  fourth page of every set of four pages.  This
              option will ignore -a and -l.  See also the  -E  option.   Using
              these  options  double  sided  prints  can  be created without a
              duplex printer.

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

       -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.

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

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

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

       -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.)

       -t     Toggle printing on both sides of the paper.  This option  has  3
              states: nop, yes, no, which mean: NOP:
               dont  do  anything  on  PostScript,  so printer default will be
              used; YES:
               force printer to do duplex; NO: force printer not to do it.  If
              there  is  no  -t, then the duplex is NOP. If you put some -t on
              the command line, the state toggles as "yes,no,yes,no...".   So,
              if your printer is set to print, by default, in duplex mode, you
              will use "-t -t" on command line to force it to  print  in  non-
              duplex mode.  Use this option only if your printer is capable of
              printing in duplex mode.  (default NOP).

       -T     Toggle tumble of every second pages.  This option has 3  states:
              nop,  yes,  no  (with  behaviour  similar  to  -t).  So, if your
              printer is set to print, by default, in duplex mode, with tumble
              on,  you  will use "-T -T" on command line to print in nontumble
              mode.  Use this option only if your printer is capable of print-
              ing  in  duplex  mode.   With this version of mpage, you may use
              this option even if you do not use -t.  (default NOP.)

       -u     Toggle checking for UTF-8 input  (not  relevant  for  postscript
              input).

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

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

       -V     Print version information and exit.

       -Wwidth
              Adjust  the  page reduction parameters so that a line with width
              characters long will fit in the space of one page.   This  over-
              rides  the default values normally supplied.  (See -l.)  If used
              in conjunction with -p then this value is passed to the s  pr(1)
              program as well.  See also the -L option on font sizes.

       -x     Force usage display, which also shows current defaults.

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

       -zprintcommand
              Specify command to use to send output to.  Default  is  lpr  (1)
              for  BSD  style spooler, lp (1) for SYSV style spooler.  You can
              specify command line options, but note -Z.  For example -zlp for
              system V Unix.

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

ENVIRONMENT
       mpage  examines the PRINTER (or LPDEST for SYSV style spooler) environ-
       ment variable to override its default printer.

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

       mpage  also  examines the MPAGE environment variable for default option
       settings.  Any option or combination of options can be specified in the
       MPAGE  environment  variable.   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 envi-
       ronment variables.

FILES
       /tmp/mpageXXXXXX
       /usr/share/mpage

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

       NULL characters in a postscript input file will cause mpage to crash!

       Many others, we're sure.

       Mpage is year 2000 compliant, as long as the underlying operating  sys-
       tem is!!!

VERSION
       Version 2.5.4, Released may 2004.
       Location:

              http://www.mesa.nl/pub/mpage
              ftp://ftp.mesa.nl/pub/mpage

AUTHORS
       Marcel Mol <marcel@mesa.nl> (current maintainer).

       Mark P. Hahn (Original author)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.