+\nobreak
+\writetoc{sec}{#1}
+}
+
+\def\para{\advance\thmcount by 1
+\edef\currentid{\the\chapcount.\the\seccount.\the\thmcount}
+\noindent {\bo \currentid.\enspace}}
+
+\def\proclaim#1{\para {\bo #1.\enspace}}
+
+\def\thm{\proclaim{Theorem}}
+\def\lemma{\proclaim{Lemma}}
+\def\defn{\proclaim{Definition}}
+\def\problem{\proclaim{Problem}}
+\def\obs{\proclaim{Observation}}
+\def\rem{\proclaim{Remark}}
+\def\alg{\proclaim{Algorithm}}
+\def\impl{\proclaim{Implementation}}
+\def\cor{\proclaim{Corollary}}
+\def\nota{\proclaim{Notation}}
+\def\example{\proclaim{Example}}
+
+\def\label#1{{\sl (#1)\/}\enspace}
+\def\labelx#1{\label{#1}\hfil\break\kern 0pt} % Eat spaces
+
+\def\thmn{\thm\labelx}
+\def\lemman{\lemma\labelx}
+\def\defnn{\defn\labelx}
+\def\corn{\cor\labelx}
+\def\algn{\alg\label}
+\def\notan{\nota\labelx}
+\def\examplen{\example\labelx}
+\def\problemn{\problem\labelx}
+\def\remn{\rem\labelx}
+
+\def\paran#1{\para {\sl #1.\/}\enspace\kern 0pt}
+
+\def\proof{\noindent {\sl Proof.}\enspace}
+\def\proofsketch{\noindent {\sl Proof sketch.}\enspace}
+
+%%% Table of contents %%%
+
+\newwrite\toc
+\immediate\openout\toc=\jobname.toc
+\newif\iftoc
+\tocfalse
+
+\def\writetoc#1#2{
+ \toctrue
+ \toks0={\the\count0}
+ \edef\tocaux{\write\toc{\noexpand\expandafter\noexpand\string\noexpand\csname toc#1\noexpand\endcsname{\currentid}{#2}{\the\toks0}}}
+ \tocaux
+ \tocfalse