#!/bin/sh
# runs latex for args
# if needed, runs also
#  - bibtex
#  - makeindex
#
for i in $*
do
  j=`basename $i .tex` 
  latex \\nonstopmode\\input ${j}.tex 
  cnt=0
  while egrep '^LaTeX Warning:.*(undefined references|Rerun to)' ${j}.log > /dev/null
  do
      cnt=`expr $cnt + 1` 
      if [ $cnt -ge 4 ]
      then
        echo "In loop: exiting, warnings are:"
	grep '^LaTeX Warning:' ${j}.log
	exit 4
      fi
      if grep 'LaTeX Error:' ${j}.log
      then
	echo LaTeX Error:
	exit 3
      fi
      echo There was warnings
      if grep 'LaTeX Warning: There were undefined references.' ${j}.log
      then
        echo Running bibtex
	bibtex ${j}
      fi
      if [ -e ${j}.idx ]
      then
	makeindex $j
      fi
      latex \\nonstopmode\\input ${j}.tex 
  done
  grep '^LaTeX Warning:' ${j}.log
  true
done

# LaTeX Warning: There were undefined references.
# LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
# ! LaTeX Error: Float(s) lost.
