#! /bin/sh

STYLESHEET=/usr/lib/sgml/stylesheets/cygnus-both.dsl

if [ $# -gt 2 ]
then
  echo "Usage: `basename $0` [filename.sgml]" >&2
  exit 1
fi

if [ $# -eq 1 ]
then
  if [ ! -r $1 ]
  then
    echo Cannot read \"$1\".  Exiting. >&2
    exit 1
  fi
  if echo $1 | egrep -i '\.sgml$|\.sgm$' >/dev/null 2>&1
  then
    output="`echo $1 | sed 's,\.sgml$,.dvi,;s,\.sgm$,.dvi,'`"
  fi
fi

echo OUTPUT FILE NAME IS $output

#TMPFN=db2dvitmp$$
TMPFN=`echo $1 | sed 's/\.sgml//'`_db2dvitmp$$
echo TMPFN is $TMPFN

# cat $* >${TMPFN}.inp

# (cat ${TMPFN}.inp | jade -t tex -d ${STYLESHEET}\#print -o ${TMPFN}.tex && jadetex $TMPFN ) >&2
jade -t tex -d ${STYLESHEET}\#print -o ${TMPFN}.tex $1

jadetex ${TMPFN}.tex

# if there are unresolved references, re-run jadetex
if egrep '^LaTeX Warning: There were undefined references.$' ${TMPFN}.log >/dev/null 2>&1
then
    jadetex ${TMPFN}.tex
#  (cat ${TMPFN}.inp | jade -d $STYLESHEET -t tex -o ${TMPFN}.tex && jadetex $TMPFN ) >&2
fi


if [ -f ${TMPFN}.dvi ]
then
  if [ $# -eq 1 ]
  then
    if [ -n "$output" ]
    then
      mv ${TMPFN}.dvi $output
    else
      mv ${TMPFN}.dvi db2dvi.dvi
    fi
  else
    cat ${TMPFN}.dvi
  fi
else
# keep the .tex file that failed around in case the user wants to debug it
  mv ${TMPFN}.tex  db2dvi.tex
fi

rm -f ${TMPFN}*

exit 0
