## NAME

          cpsencode - Embed shell scripts and data files in Complete PostScript
          (CPS) file

## SYNOPSIS

          cpsencode shell-script [ -e ] [ -u ] [ -v ] >> PostScript-file

## NAME

          cpsdecode - Extract shell scripts and data files from Complete
          PostScript (CPS) file

## SYNOPSIS

          cpsdecode [ PostScript-file ] [ -e ] [ -u ] [ -v ]

## DESCRIPTION

          cpsencode takes a shell-script file as argument and will write its
          contents as well as the contents of any data files referred to in the
          script to standard output, which you append to the PostScript file.
          These lines are started with the PostScript comment %%CPS which is
          used by cpsdecode to unscramble the script and data files at a later
          time.  The latter reads the PostScript file from stdin if no file is
          given.

          -e   Leave unencoded.  Files are not decoded from ASCII to binary or
               encoded from binary to ASCII.  Requires -u and that all data
               files are ASCII.

          -u   Leave uncompressed.  Files are not compressed prior to the encode
               stage or decompressed after the encode stage.

          -v   Verbose.  Report the progress of encoding/decoding the script and
               any data files referred to in the script [Default is silent].

## SPECIAL

          A special mechanism is available if you want to embed files that are
          not directly used by the script.  These could be hidden files that
          some commands will read implicitly (say, a .cshrc file) or related
          documentation files that cannot be executed in the script.  You can
          import such files by adding the script comment

           #CPS: filename

          You will need one such line for each file you require.  Any file is
          only written once so repeated references to the same file by the
          script or this special mechanism will only result in one import.

## EXAMPLES

          Let us say you have a cshell script called Figure_8.csh which creates
          the PostScript file Figure_8.ps.  Figure_8.csh operates on several
          data files in order to make the plot.  You turn this plot file into a
          Complete PostScript (CPS) file with the command
          cpsencode -v Figure_8.csh >> Figure_8.ps

          Alternatively, let that be the last command in the script so that it
          is automatically done by the script itself.
          To unscramble the CPS file, simply say

          cpsdecode -v Figure_8.ps

## BUGS

          cpsencode assumes good script etiquette so that any temporary files
          created by your script are removed before cpsencode is called.
          Otherwise they will take up unneccesary space in the Complete
          PostScript (CPS) file.  cpsencode will have trouble if you script
          changes directories with the cd command since filenames become
          relative to another directory.  Using absolute paths name for files
          (starting with /, ~/. or ~user/) is bad practice since other users may
          not be able to access those files.

## AUTHOR

          Paul Wessel, Geology & Geophysics, SOEST, University of Hawaii, 1680
          East-West Road, Honolulu HI 96822, USA.  www.soest.hawaii.edu/wessel.