% This one seems to work
\ProvidesPackage{bnchand}[1997/09/11, version 6, S Rahtz]
%
% font families, Courier and Monotype Bembo (expert)
\def\ttdefault{pcr}
\def\rmdefault{mbbx}
%
% packages we need
\usepackage[T1]{fontenc}
\usepackage{xspace}
\usepackage{longtable}
\usepackage{makeidx}
\usepackage{graphics}
\usepackage{pifont}
\usepackage{pstcol}
\usepackage{colortbl}
\usepackage{fancyhdr}
\usepackage{fancyvrb}
%
% page size
\textwidth121mm
\textheight190mm
% margins
%\advance\oddsidemargin by -1in
\advance\evensidemargin by -1in
%
% level of section numbering and TOCing
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
%
% manner of section numbering
\renewcommand \thechapter{\@Roman\c@section}
\renewcommand\thesection   {\@arabic\c@section}
%
% running head setup
\fancyhead{} % clear all fields
\fancyhead[RO]{\small\thepage}
\fancyhead[LO]{\scshape \lowercase{\rightmark}}
\fancyhead[LE]{\small\thepage}
\fancyhead[RE]{\scshape \lowercase{\leftmark}}
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\pagestyle{fancy}
% 
% semi-verbatim environments
\DefineVerbatimEnvironment{oldTEIeg}{Verbatim}{fontsize=\small,xleftmargin=\parindent}
\newenvironment{TEIeg}{%
    \normalfont\ttfamily\small%
    \begin{quote}%
    \begin{flushleft}%
    \obeylines\catcode`\ =\active\@vobeyspaces%
}{\end{flushleft}\end{quote}}
\newenvironment{TEIcode}{%
    \normalfont\ttfamily\small%
    \obeylines\catcode`\ =\active\@vobeyspaces%
    \def\-{\discretionary{\char12}{}{}}%
}{}
\newcommand\TEIlabel[1]{\protected@edef\@currentlabel{[#1]}}
\newcommand\TEInolabel{\protected@edef\@currentlabel{}}
%
% bibliography
\newenvironment{TEIlistbibl}{%
      \list{}%
           {\setlength{\leftmargin}{1em}%
             \setlength{\itemindent}{-\leftmargin}%
             \@openbib@code
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.\@m}}
     {\def\@noitemerr
       {\@latex@warning{Empty `TEIlistbibl' environment}}%
      \endlist}
%
% chapter and section headings
\def\newchp
 {\newpage\thispagestyle{empty}\clearpage\thispagestyle{empty}}
\def\chaptermark#1{\typeout{chapter running head of #1}%
\markboth {\MakeLowercase{#1}}{}}%
\def\sectionmark#1{\typeout{section running head of #1}%
 \markright {\thesection.~\MakeLowercase{#1}}}
\def\reallycleardoublepage{%
    \clearpage\thispagestyle{empty}\if@twoside \ifodd\c@page\else
    \hbox{}\newpage\thispagestyle{empty}%
    \if@twocolumn\hbox{}\newpage\thispagestyle{empty}\fi\fi\fi}

\def\chapter{\reallycleardoublepage\thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}
% note that the Job counter is reset at start of sections
\renewcommand\section{\c@Job0
              \@startsection {section}{1}{\z@}%
                                   {-2ex \@plus -.5ex \@minus -.1ex}%
                                   {1ex \@plus.5ex}%
                                   {\normalfont\centering\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-1.5ex\@plus -.5ex \@minus -.1ex}%
                                     {.5ex \@plus .2ex}%
                                     {\normalfont\large\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-1.5ex\@plus -.5ex \@minus -.1ex}%
                                     {1sp \@plus .2ex}%
                                     {\normalfont\large\itshape\bfseries}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {1ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                   {\normalfont\normalsize\bfseries}}
%
% top level lists appearance
\AtBeginDocument{\def\@listi{\leftmargin\leftmargini
            \parsep 1\p@ \@plus1\p@ \@minus\p@
            \topsep 4\p@   \@plus1\p@ \@minus1\p@
            \itemsep 1.5\p@ \@plus.5\p@ \@minus\p@}}
%
% vario ref
\def\vref@addto#1#2{%
  #2%
  \@temptokena{#2}%
  \ifx#1\undefined
     \edef#1{\the\@temptokena}%
  \else
     \toks@\expandafter{#1}%
     \edef#1{\the\toks@\the\@temptokena}%
  \fi
  \@temptokena{}\toks@\@temptokena
}
\@onlypreamble\vref@addto
\def\vref@excuse#1{%
  \PackageWarningNoLine{varioref}{Sorry, language `#1'
            not supported%
            \MessageBreak
            by in this version.
            English strings used by default.
            \MessageBreak
            Please Modify \protect\reftext... commands manually.%
            \MessageBreak\MessageBreak
            If you can suggest translations for
            this language,%
            \MessageBreak
            please mail your them
            to the author of this package}}
\@onlypreamble\vref@excuse
\vref@addto\extrasenglish{%
    \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
    \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
                           page}%
    \def\reftextafter     {on the \reftextvario{following}{next} page}%
    \def\reftextbefore    {on the \reftextvario{preceding page}{page
                           before}}%
    \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
    \def\reftextfaraway#1{on page~\pageref{#1}}%
  }
\newcounter{vrcnt}
\DeclareRobustCommand\vpageref{\@ifnextchar[%
  \@vpageref{\@vpageref[\reftextcurrent]}%
}
\def\@vpageref[#1]{\@ifnextchar[%
  {\@@vpageref{#1}}{\@@vpageref{#1}[\unskip\space]}}
\def\@@vpageref#1[#2]#3{%
  \leavevmode\unskip
  \global\advance\c@vrcnt\@ne
  \@ifundefined{r@\the\c@vrcnt @vr}%
         {\@namedef{r@\the\c@vrcnt @vr}{{??}{??}}}{}%
  \edef\@tempa{\expandafter\expandafter\expandafter
                \@cdr\csname r@\the\c@vrcnt @vr\endcsname
                \@nil}%
  \@ifundefined{r@\the\c@vrcnt @xvr}%
         {\@namedef{r@\the\c@vrcnt @xvr}{{??}{??}}}{}%
  \edef\@tempb{\expandafter\expandafter\expandafter
                \@cdr\csname r@\the\c@vrcnt @xvr\endcsname
                \@nil}%
  {\let\@currentlabel\@empty
   \expandafter\label\expandafter{\the\c@vrcnt @xvr}}%
  \ifx\@tempa\@tempb\else
  \vref@err{\noexpand\vref at page boundary
            \@tempb-\@tempa\space (may loop)%
            }%
  \fi
  \@ifundefined{r@#3}{\@namedef{r@#3}{{??}{??}}}{}%
  \edef\@tempb{\expandafter\expandafter\expandafter
                \@cdr\csname r@#3\endcsname
                \@nil}%
  \space
  \ifx\@tempa\@tempb
    #1%
  \else
    #2%
    \is@pos@number\@tempb
       {%
        \is@pos@number\@tempa
         {\@tempcnta\@tempa
          \advance\@tempcnta\@ne
         }%
         {\@tempcnta\maxdimen}%
        \ifnum \@tempb =\@tempcnta
         \ifodd\@tempcnta
           \if@twoside
             \reftextfaceafter
           \else
             \reftextafter
           \fi
         \else
           \reftextafter
         \fi
        \else
          \advance\@tempcnta-2
          \ifnum \@tempb =\@tempcnta
            \ifodd\@tempcnta
              \reftextbefore
            \else
              \if@twoside
                \reftextfacebefore
              \else
                \reftextbefore
              \fi
            \fi
          \else
            \reftextfaraway{#3}%
          \fi
        \fi
       }%
       {\reftextfaraway{#3}}%
  \fi
  {\let\@currentlabel\@empty
   \expandafter\label\expandafter{\the\c@vrcnt @vr}}%
}
\def\vrefwarning{\def\vref@err{\PackageWarning{varioref}}}
\def\vref@err#1{\PackageError{varioref}{#1}%
    {Please check the pages in question. You might need to replace
     the \string\vref\MessageBreak
     or \noexpand\vpageref by a normal \noexpand\(page)ref to
     stop LaTeX running forever.}}
\DeclareRobustCommand\vref[1]{%
  \unskip~\ref{#1}%
  \@vpageref[\unskip]{#1}%
}
\def\is@pos@number#1{\is@pos@num0#1\space\@nil}
\def\is@pos@num{\afterassignment\is@pos@num@ \count@}
\def\is@pos@num@#1\@nil{%
  \if0#10%
    \expandafter\@firstoftwo \else
    \expandafter\@secondoftwo  \fi}
\def\reftextvario#1#2{\ifodd\c@vrcnt #1\else#2\fi}
\def\fullref#1{\ref{#1} \reftextfaraway{#1}}
%
% the funny task lists
%
\definecolor{circgray}{gray}{0.7}
% make number bigger for paler
\psset{boxsep=false,framesep=1.4pt,linecolor=circgray}
\newcounter{Job}
\def\Jobs{%
\typeout{JOB list starting at \the\value{Job} at \the\inputlineno}%
      \list{\theJob}{%
        \setlength{\leftmargin}{\z@}%
        \setlength{\itemindent}{\z@}%
        \setlength{\itemsep}{\z@}%
%\z@ is short for 0pt
        \def\@listctr{Job}\@nmbrlisttrue
        \def\makelabel##1{\rlap{\pscirclebox
  {{\scriptsize\hbox to 0.75em{\hss##1\hss}}}\hspace{0.65em}}}}}%
% 0.75 em is space between the box and the text
% scriptsize is size of circle
\let\endJobs =\endlist
%
% Prerequisites table
%
\newenvironment{Prereqtable}{%
\begin{longtable}{|%
   >{}l%
   >{}r|%
}\hline}{\hline
\end{longtable}
}
%
% TOC
%
\def\tableofcontents{%
    \section*{\contentsname
        \@mkboth{contents}{contents}}%
    \@starttoc{toc}%
    }
%
% make  indexing entries
\makeindex
%
% oh, lighten up!
\clubpenalty=8000               % 'orphan line' at bottom of page.
\hbadness=4000
\hyphenpenalty=400
\pretolerance=750
\tolerance=2000 
\vbadness=4000
\widowpenalty=10000               % 'Widow line' at top of page.
\pretolerance=500
\relpenalty=500
\tolerance=1000 
\vbadness=3000
\advance\headheight by 2pt
\endinput

%\newenvironment{Prereqtable}{%
%\begin{longtable}{|%
%    >%
%   >{\columncolor[gray]{0.75}}r%
%}}{
%\end{longtable}
%}
%\endinput


