yup, Copyright (C) 1995  Malcolm Herbert (drol@rmit.edu.au) yup comes
with ABSOLUTELY NO WARRANTY.  This is free software, and you are welcome
to redistribute it under certain conditions; see the file COPYING.


Outline:

  yup provides a PostScript printer with the capability of printing any
  number of reduced page images on one physical sheet of paper, be they
  PostScript or ASCII text.  The body of the yup code was written in
  PostScript, and then packaged in a Perl shell script, to handle file
  manipulations, command line options and parameter passing to the main
  part of the code.

  Currently, the PostScript portion of yup is known to run on the
  HPIIIsi, QMS2000, TI600, Ghostscript 2.6.1 and Apple's LaserWriter NT.
  The Perl script has been found to run under UNIX system V, ULTRIX and
  OSF/1 running Perl 5 and under MS-DOS running Perl 4.?.  I assume it
  would run under any installation of Perl around, since Perl is pretty
  standard.  The batch-file version has been found to work under DOS
  6.00, and should run on most earlier DOS installations.  The
  batch-file has also been found to work with the 4DOS command line
  interpreter.  As this is a first release, it has not been tested on as
  wide a set of platforms as I would like, and any reports of it running
  elsewhere would be gratefully received.


How to install yup.

  There are three main versions of yup that are packaged together in
  this distribution, two Perl versions (one for UNIX systems and the
  other for DOS), and a DOS batch-file version, which while not being
  nearly as useable or friendly, is nonetheless useful if you cannot get
  a hand on DOS Perl.

 UNIX

  Once you have Perl on your system and in your environment path, the
  only thing you really need to do is to copy yup to wherever you'd like
  to have it (perhaps /bin or /usr/local/bin for example) and make it
  executable using chmod.  You may need to change the path listed on the
  #! line at the very beginning of the file to point at your Perl
  executable.

  If your shell doesn't understand the #! line at the beginning of the
  file, you will need to either make an alias for yup that is in effect
  something like 'alias yup "perl yup !*"' or use one of the fixes
  described in the Perl manual to force other shells to read it
  properly.


 MS-DOS

  As stated before, there are two different DOS versions of yup in this
  distribution, the Perl version and the DOS batch-file version.  The
  Perl version is found in the file named YUP.BAT, and the DOS
  batch-file version is found in YUP-SIMP.BAT.  More on these in detail
  individually.

 MS-DOS Perl version

  The MS-DOS Perl version of yup is actually exactly the same as the
  UNIX one, except that it has been packaged up in a batch file so that
  it can be run directly from the command line by itself, and one or two
  UNIX-specific things have been disabled.  Once you have found and
  installed DOS Perl on your system, the only changes that may need to
  be made are to the beginning of YUP.BAT where the directories for the
  Perl executible and YUP.BAT are set.

  You will also need to make sure that Perl knows where to find the file
  CTIME.PL, which should be placed in the include directory path (more
  on this can be found with your Perl distribution).

 MS-DOS batch-file version

  The batch-file version of yup has been placed in the file
  YUP-SIMP.BAT, so that it didn't clash with the DOS Perl version.  If
  you are planning on using the batch-file version, I would suggest
  renaming it to YUP.BAT (after moving the DOS Perl version to something
  like YUP-PERL.BAT!) and placing it somewhere in your directory path.

  YUP.BAT also needs to be modified slightly, so that it knows where
  it's support files are located, and what filename it is being asked to
  dump it's output into.  The settings for these can be found in the
  first few lines of the batch-file version.  If you do not want to
  modify YUP.BAT at all, or are unable to (because more than one person
  may use the same batch-file) you can set the relevant environment
  variables in your AUTOEXEC.BAT or whatever startup batch-file you use,
  and yup will use those settings instead (see the file YUP-SANE.TXT for
  more on the environment variables).

  Be aware that you may find yup will not run because it is not able to
  set some environment variables.  If this occurs it is because you have
  not left enough environment space in your command interpreter.  The
  easiest way to increase this is with COMMAND.COM's /E option.  See
  your DOS manuals for further information on this.

Trouble reporting.

  Naturally I'd like to see yup provide you all with the best it can,
  but there are probably some things I haven't forseen when writing it,
  which may cause problems.  If problems arise that aren't mentioned in
  the manual page (yup-man.ps or the nroff source, yup.1), then feel
  free to drop me some email or post to the address given in the author
  section below.

  If possible, tell me what machine, OS and printer you were attempting
  to run it on, as well as a copy of the code sent to the printer (if
  that is possible), and the number and date of the release you have --
  it may be I have a new one for you to use.  Depending on how my
  workload goes, it might take a while for a response, but at the least
  I will reply on receipt of any bug reports.

  Keep in mind though, that this program is NOT designed to be
  completely watertight -- it was originally designed for handling ASCII
  text and dvips output from TeX, so if you are trying really fancy
  things (such as warping the transform matrix, or doing other wierd
  things) then I'm afraid that's your problem.


Why write _another_ version of psnup?

  The program was written out of a need for a cheaper way of drafting
  TeX and LaTeX documents, when I only had access to a text screen and a
  printer that I had to pay for.  There are of course a number of
  utilities that already do this sort of thing, but all the ones I came
  across had a bad habit of being upset by dvips' use of paging
  commands, which tended to screw the output up quite a bit, or they
  required that the PostScript conformed to the Adobe Documentation
  Standards, which was a pain, since I was also tinkering with writing
  PostScript code as well.

  A lot of their problems stemmed from the fact that the dvips output
  called the page size operators letter, legal, or note, which meant
  that having set up their environment, the dvips code unlatched it all
  as soon as it got to the interpreter, by executing one of these
  commands.  The end result was that the first page was invariably full
  size, and every page after that was placed over the image, at the
  reduced scale, and translated to the correct spot on the page.

  Then there were also the programs which will print text on a
  PostScript printer, such as a2ps.  There were problems with these as
  well:  most of them understood backspaces, tabbing, etc etc, but they
  did not do overstrike at all, which I find makes reading UNIX manual
  entries much easier.  So I thought I'd make my package capable of
  handling ASCII text too.  Essentially yup is completely seperate from
  the line printer routine -- yup calls it when it detects an ASCII
  file, and it runs just like any other PostScript program yup deals
  with, thus making things really nice and neat.

  On most files, a2ps output is of course much smaller (yup adds around
  7KB to a file when it is printed) and runs faster in the printer, but
  most installations of a2ps are not nearly as flexible as is yup's line
  printer routine.


Author.

  yup was written and is maintained by Malcolm Herbert, 1995.

  email: drol@rmit.edu.au

  post:  366 Auburn Rd., Hawthorn, Vic. 3122 Australia

