       dvidvi 0.5, Copyright (C) 1988, Radical Eye Software

Here's a little hack I threw together for those doing pagination
tricks.  Any improvements are appreciated.  Enjoy!
The dvidvi program converts a dvi file into another dvi file,
with perhaps certain changes.  Invocation is

        dvidvi param infile outfile

What's that funny first parameter?  That's the parameter that tells
dvidvi how you want to change things.

        The number preceding the colon is the modulo value.  Everything
will be done in chunks of pages this big.  If there is no colon, than the
default value is assumed to be one.  The last chunk of pages is padded
with as many blank pages as necessary.

        Following the colon is a comma-separated list of page numbers.
These page numbers are with respect to the current chunk of pages, and
must lie in the range zero to the modulo value less one.  If a negative
sign precedes the number, then the page is taken from the mirror chunk;
if there are m chunks, then the mirror chunk of chunk n is the chunk
numbered m-n-1.  Put simply, it is the chunk numbered the same, only
from the end.  This can be used to reverse pages.  If no number is
given, the page number defaults to 0.

        Following each page number is an optional offset value in
parenthesis, which consists of a pair of comma-separated dimensions.
Each dimension is a decimal number with an optional unit of measure.
The default unit of measure is inches, or the last unit of measure
used.  All units are in true dimensions.  Allowable units of measure
are the same that TeX allows:  in, mm, cm, pt, pc, dd, and cc.

        Simple enough, eh?  Okay, let's do some simple things.

0       The identity transformation.  A modulo of one is assumed; the only
        reason we need to specify the zero is because a null parameter is
        harder to type.

-       Reverses the order of the pages.  This time, both the modulo and
        the page number are defaulted.

2:0     Selects the first, third, fifth, etc. pages from the file.  Print
        this one after printing the next, taking the paper out of the
        feed tray and reinserting it into the paper feed.

2:-1    Selects the second, fourth, etc. pages, and writes them in reverse
        order.
4:-1,2(4.25in,0in)
4:-3,0(4.25in,0in)
        Useful for printing a little booklet, four pages to a sheet,
        double-sided, for stapling in the middle.  Print the first one,
        put the stack back into the printer upside down, and print the
        second.  The `in' specifications are superfluous.
,(1pt,1)
        Scare your system administrator!  Actually, things are so
        blurry with this option, you may want to send enemies letters
        printed like this.  *Long* letters.
4:0(5.5in,4.25),3(0,4.25)
4:1(0in,4.25),2(5.5,4.25)
        Print a four-page card on one sheet.  Print the first, rotate
        the paper 180 degrees and feed it again.  (PostScript people
        can do funny tricks with PostScript so this isn't necessary.)

Enjoy; this is an early release, so make suggestions, improvements,
and I'll get back to you with a better version later.
