#!/bin/bash
eval set -- `getopt -o c --long clean,verbose,pdf,pdftex,ps,help -- "$@"`
extra="--ps --post ps2pdf";
VERSION="0.2";
helpmsg="
`basename $0` version $VERSION\n
\n
Usage:\n
\t`basename $0` [options] [file...]\n
\n
Options:\n
\t--clean\t\tRemove constructed files,\n
\t\t\tdepends on other options to decide what file is to be removed\n
\t--verbose\tShow additional information\n
\t--pdf\t\tCreate pdf via ps [default]\n
\t--pdftex\tCreate pdf via pdftex\n
\t--ps\t\tCreate ps\n
\t--help\t\tShow this help\n
\n
If no files are defined at command line, all .tex files in current directory is processed\n
\n
Example:\n
\t'rubb file.tex --pdf --clean'\n
\tRemoves all files created by 'rubb file.tex --pdf'.\n
\n
\t'rubb'\n
\tSynonym for 'rubb --pdf *.tex', compiles all .tex-files in current dir and creates pdf via ps2pdf.
"
while true; do
    case $1 in
        -c|--clean) args=$args'--clean --verbose '; shift;;
        --verbose) args=$args'--verbose '; shift;;
        --pdf) extra=" --ps --post ps2pdf"; shift;;
        --pdftex) extra=" --pdf"; shift;;
        --ps) extra=" --ps"; shift;;
        --help) echo -e $helpmsg; exit;;
        --) shift; break;;
    esac
done
if [ $# = 0 ]; then files=*.tex;else files="$@"; fi
for file in $files; do eval "rubber $extra $args $file" ; done