If I would like to pass some options to dvips to specify how it will process the file before passing it off to gs, I cannot. I believe the problem is that the line that calls dvips puts $OPTIONS in the wrong spot so they get passed to gs twice and not dvips at all Reproducible: Always Steps to Reproduce: 1. dvipdf -p2 somedvifile 2. 3. Actual Results: [536] jgeisler:~ % dvipdf -p2 -l3 trial.dvi JGG.pdf dvips: warning: no config file for `generic' Unknown switch -p2 - ignoring Unknown switch -l3 - ignoring Unknown switch -p2 - ignoring Unknown switch -l3 - ignoring [537] jgeisler:~ % And created a PDF file with all the pages in the dvi file Expected Results: It should have started creating the PDF at page two since the -p2 flag tells dvips to start producing output at that page. If the last line in dvipdf is changed to exec dvips -j0 -P generic -q -f $OPTIONS "$infile" | gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$outfile" $OPTIONS -dCompatibilityLevel=1.3 -c .setpdfwrite - it works as expected.
As I see the manpage of dvipdf and the script itself, it is a feature rather than a bug (all the options should be passed to gs instead of dvips). Just above the line you quoted, the dvipdf script says: # We have to include the options twice because -I only takes effect if it # appears before other options. So two $OPTIONS are intentional. If you change dvipdf script as you requested, how can you pass gs options to dvipdf? (how can you distinguish options to dvips from options to gs?)
Please send it to upstream if you think this is a bug.