\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{define}[theorem]{Definition}


\def\Empty{}

%
% Definitions that use @ : 
\catcode`\@=11
% Redefine section heading to get smaller letters (this
% is copied from the original in rep12.sty)

\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus 
-.2ex}{2.3ex plus .2ex}{\large\bf}}


% Our own caption style --

\def\fnum@figure{{\small Figure \thefigure}}
\def\fakefigure{\def\@captype{figure}}

\long\def\@makecaption#1#2{
    \vskip 10pt 
    \def\FCap{#2} \def\NoCap{\ignorespaces}
    \ifx \FCap\NoCap
       \setbox\@tempboxa\hbox{#1}  % This is to avoid the damn colon.
      \else
       \setbox\@tempboxa\hbox{#1: \small \it #2}
    \fi
    \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
        \unhbox\@tempboxa\par      %   THEN set as ordinary paragraph.
      \else                        %   ELSE  center.
        \hbox to\hsize{\hfil\box\@tempboxa\hfil}  
    \fi}



\catcode`\@=12
%


\def\oplabel#1{
  \def\OpArg{#1} \ifx \OpArg\Empty {} \else
  	\label{#1}
  \fi}


	
\def\lref#1{\ref{#1} (#1)}% Prints label as well as number
%
%
\def\defineterm#1{{\it #1}}
%
% Make a blank figure of given size with label in center.
%	\blankfig{label}{# of inches}{caption}
%
\newlength{\saveu}
\def\blankspace#1#2{
  \setlength{\saveu}{#2in}
  \divide\saveu by 2
  \vskip\saveu
  \centerline {\small \mbox{}#1}
  \vskip\saveu
}

\long\def\placefig#1#2#3#4{
  \begin{figure}[#4]
    \blankspace{#1}{#2}
    \caption[#1]{#3}
    \oplabel{#1}
  \end{figure}}
\long\def\blankfig#1#2#3{
  \placefig{#1}{#2}{#3}{htbp}}
\long\def\herefig#1#2#3{
  \par\noindent\vbox{
  \blankspace{#1}{#2}
  \fakefigure\caption[#1]{#3}
  \oplabel{#1}
  \vspace{\intextsep}
  }}
\long\def\botfig#1#2#3{
  \placefig{#1}{#2}{#3}{b}}


