[comp.lang.postscript] Summary of responses re: Setting manual feed on a Laserwriter

julian@uhccux.uhcc.hawaii.edu (Julian Cowley) (01/17/89)

In article <2976@uhccux.uhcc.hawaii.edu> I asked how to enable
manual feed on an original Apple Laserwriter (the newer printers
don't have this problem) while using TeX and dvi2ps.  As people
have probably guessed, this was so that I could print on both
sides of the page, so that the finished result looks something
like a book.  In the greatest of net traditions, I offer a
summary of the many well-received responses.

While my original query was specifically for PostScript code, I
found the best solution to my problem was a program called
dvidvi, available for FTP from the archive at sun.soe.clarkson.edu
in the pub/tex-programs directory.  Among its many other uses,
this program splits a dvi file into another dvi file while
taking only the odd or even pages.  This way, instead of
printing one page, turning it over, and running it through the
manual feed, you can print all the odd pages at one time, put
the entire stack back into the paper tray, and then print the
even pages.  A much better solution, I must admit.  (This is all
supposing that your printer does a good job of picking up the
right number of sheets from the paper tray!)  I also heard
of other programs such as dviselect or dvipages that might do
the same thing, but I don't know too much about them.

If you are still using TeX without such a program, you can
enable manual feed by engaging dvi2ps with the option `-o manualfeed'.
As far as I know, this only works with Nelson Beebe's version of
dvi2ps, so your mileage may vary.  Check the manual page or with
your system administrator as to how to use your specific
flavor of dvi2ps.

A few people also sent me the PostScript code that I originally
asked for.  Curiously, every response was different, and I think
a couple were patently wrong.  However, I did find a couple that
did enable the manual feed.  One that definitely works is the
code that the Adobe representative posted, repeated here for
good measure:

	statusdict /manualfeed known {
	    statusdict /manualfeed true put
	} if

You have to place this code directly into the PostScript file,
as opposed to sending it beforehand, because the printer reverts
to its original setting of feeding from the paper tray between
each job.  For those who might be reading this newsgroup but not
know anything about PostScript (like me), you have to place the
code after the PostScript prologue, which is the first line in
the file.  It should start with the two characters `%!'.  The
second line would be best for the code, since you will not run
the risk of upsetting any grouping that might be going on.

Also, another PostScript variable that might be of some interest
is /manualfeedtimeout.  By setting this to zero seconds, it means
to disable the time limit placed on the manual feed:

	statusdict /manualfeedtimeout known {
	    statusdict /manualfeedtimeout 0 put
	} if

Finally, I want to thank the many people who responded to my
query, and especially Adrian Ho for telling me about dvidvi.  It
was really appreciated!

julian@uhccux.uhcc.hawaii.edu
uunet!ucsd!nosc!uhccux!julian
julian@uhccux.bitnet
"People who aren't amused don't talk."