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