#! /bin/ksh
# script to run pdflatex (or latex) and optionally bibtex
# Written 2004/04/22 by NE Putzig
# Updated 2004/07/30 by NE Putzig - added ex script execution

# Set default basename for latex file named as current directory
NAME=`pwd | awk -F/ '{ print $NF }'`

USAGE="Usage: $0 [-bdp basename]\n -b for bibtex\n -d for dvi\n -p for pdf \
(default)\n basename defaults to $NAME (no .tex)"
# set option defaults
LAT=pdflatex
BIB=0

while getopts bdp X
do
        case $X in
        b)      BIB=1        ;;
        d)      LAT=latex    ;;
        p)      LAT=pdflatex ;;
        \?)     /bin/echo $USAGE  # Explain usage if user gives bogus option
                exit ;;
        esac
done
shift `expr $OPTIND - 1`

if [ "$1" != "" ] 
then if [ -f  "$1.tex" ] 
     then NAME=$1
     else echo "* $1.tex not found *"
          echo "$USAGE"
          exit
     fi
fi

if [ -f  "$NAME.tex" ] 
then $LAT $NAME
     if [ "$BIB" == "1" ]
     then bibtex $NAME
          if [ -f 'bibfix.sed' ] 
          then echo ""
               echo "[$0]: Saving current $NAME.bbl as $NAME.bbli"
               mv  $NAME.bbl $NAME.bbli
               echo "[$0]: Modifying $NAME.bbl with bibfix.sed script:"
               cat bibfix.sed
               cat $NAME.bbli | sed -f bibfix.sed > $NAME.bbl
          fi
          if [ -f 'bibfix.ex' ] 
          then echo ""
               echo "[$0]: Saving current $NAME.bbl as $NAME.bblo"
               cp  $NAME.bbl $NAME.bblo
               echo "[$0]: Modifying $NAME.bbl with bibfix.ex script:"
               cat bibfix.ex
               ex - $NAME.bbl < bibfix.ex
          fi
          $LAT $NAME
          $LAT $NAME
          $LAT $NAME
     fi
else
   echo "[$0]: $NAME.tex missing"
fi
