#!/bin/rc
# convert Tex dvi to PostScript
switch ($IBIN) {
case man manual manualfeed;
       IBIN='statusdict begin /manualfeed true def end'
case [0-9];
       IBIN='statusdict begin '$IBIN' setpapertray end'
case 11x17 ledger;
       IBIN='statusdict begin '$IBIN'tray end'
case *;
       IBIN=''
}
if (! ~ $#DUPLEX 0 && ~ $DUPLEX 1)
       IBIN=$IBIN' statusdict begin true setduplexmode end';
if (! ~ $IBIN '')
       IBIN=-P''''$IBIN'''';
if (! ~ $#LAND 0 && ~ $LAND 1)
       LAND='-L'
if (~ $LPCLASS *reverse*) {
       switch ($REVERSE) {
       case '';
               REVFLAG=1
       case 1;
               REVFLAG=''
       }
}
if (! ~ $COPIES '') COPIES=-c^$COPIES
if (! ~ $COPIES '') OLIST=`{echo $OLIST | sed 's/-o//'}
if (! ~ $NPAG '') NPAG="-S$NPAG"
switch ($REVFLAG) {
case 1;
       echo %!
       echo $IBIN
       switch ($OLIST) {
       case '';
               eval dvips -r $LAND $COPIES $NPAG $1
       case *;
               DVIFILE=/tmp/dv$pid.dvi
               dviselect -s $OLIST $1 > $DVIFILE
               eval dvips -r $LAND $COPIES $NPAG $DVIFILE
               rm -f $DVIFILE
       }
       $LPLIB/process/hpost </dev/null
case '';
       $LPLIB/process/hpost </dev/null
       echo %!
       echo $IBIN
       switch ($OLIST) {
       case '';
               eval dvips -r0 $LAND $COPIES $NPAG $*
       case *;
               DVIFILE=/tmp/dv$pid.dvi
               dviselect -s $OLIST $1 > $DVIFILE
               eval dvips -r0 $LAND $COPIES $NPAG $1
               rm -f $DVIFILE
       }
}
exit