%%
|
|
%% This is file `jmlrutils.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% jmlr.dtx (with options: `jmlrutils.sty,package')
|
|
%%
|
|
%% jmlr.dtx
|
|
%% Copyright 2017 Nicola Talbot
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
|
%% version 2005/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status `maintained'.
|
|
%%
|
|
%% The Current Maintainer of this work is Nicola Talbot.
|
|
%%
|
|
%% This work consists of the files jmlr.dtx and jmlr.ins and the derived files jmlrutils.sty, jmlr.cls, jmlrbook.cls.
|
|
%%
|
|
%% \CharacterTable
|
|
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
|
|
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
|
|
%% Digits \0\1\2\3\4\5\6\7\8\9
|
|
%% Exclamation \! Double quote \" Hash (number) \#
|
|
%% Dollar \$ Percent \% Ampersand \&
|
|
%% Acute accent \' Left paren \( Right paren \)
|
|
%% Asterisk \* Plus \+ Comma \,
|
|
%% Minus \- Point \. Solidus \/
|
|
%% Colon \: Semicolon \; Less than \<
|
|
%% Equals \= Greater than \> Question mark \?
|
|
%% Commercial at \@ Left bracket \[ Backslash \\
|
|
%% Right bracket \] Circumflex \^ Underscore \_
|
|
%% Grave accent \` Left brace \{ Vertical bar \|
|
|
%% Right brace \} Tilde \~}
|
|
%% First editor:
|
|
%% Second editor:
|
|
\ProvidesPackage{jmlrutils}[2017/08/01]
|
|
\newif\ifjmlrutilsmaths
|
|
\jmlrutilsmathstrue
|
|
\DeclareOption{maths}{\jmlrutilsmathstrue}
|
|
\DeclareOption{nomaths}{\jmlrutilsmathsfalse}
|
|
\newif\ifjmlrutilstheorems
|
|
\jmlrutilstheoremstrue
|
|
\DeclareOption{theorems}{\jmlrutilstheoremstrue}
|
|
\DeclareOption{notheorems}{\jmlrutilstheoremsfalse}
|
|
\newif\ifjmlrutilssubfloats
|
|
\jmlrutilssubfloatstrue
|
|
\DeclareOption{subfloats}{\jmlrutilssubfloatstrue}
|
|
\DeclareOption{nosubfloats}{\jmlrutilssubfloatsfalse}
|
|
\ProcessOptions
|
|
\RequirePackage{etoolbox}
|
|
\ifjmlrutilsmaths
|
|
\RequirePackage{amsmath}
|
|
\fi
|
|
\@ifundefined{iftablecaptiontop}
|
|
{\newif\iftablecaptiontop
|
|
\tablecaptiontoptrue}
|
|
{}
|
|
\newcommand*{\@jmlr@reflistsep}{, }
|
|
\newcommand*{\@jmlr@reflistlastsep}{ and }
|
|
\newcommand*{\sectionrefname}{Section}
|
|
\newcommand*{\sectionsrefname}{Sections}
|
|
\newcommand*{\equationrefname}{Equation}
|
|
\newcommand*{\equationsrefname}{Equations}
|
|
\newcommand*{\tablerefname}{Table}
|
|
\newcommand*{\tablesrefname}{Tables}
|
|
\newcommand*{\figurerefname}{Figure}
|
|
\newcommand*{\figuresrefname}{Figures}
|
|
\newcommand*{\algorithmrefname}{Algorithm}
|
|
\newcommand*{\algorithmsrefname}{Algorithms}
|
|
\newcommand*{\theoremrefname}{Theorem}
|
|
\newcommand*{\theoremsrefname}{Theorems}
|
|
\newcommand*{\lemmarefname}{Lemma}
|
|
\newcommand*{\lemmasrefname}{Lemmas}
|
|
\newcommand*{\remarkrefname}{Remark}
|
|
\newcommand*{\remarksrefname}{Remarks}
|
|
\newcommand*{\corollaryrefname}{Corollary}
|
|
\newcommand*{\corollarysrefname}{Corollaries}
|
|
\newcommand*{\definitionrefname}{Definition}
|
|
\newcommand*{\definitionsrefname}{Definitions}
|
|
\newcommand*{\conjecturerefname}{Conjecture}
|
|
\newcommand*{\conjecturesrefname}{Conjectures}
|
|
\newcommand*{\axiomrefname}{Axiom}
|
|
\newcommand*{\axiomsrefname}{Axioms}
|
|
\newcommand*{\examplerefname}{Example}
|
|
\newcommand*{\examplesrefname}{Examples}
|
|
\newcommand*{\appendixrefname}{Appendix}
|
|
\newcommand*{\appendixsrefname}{Appendices}
|
|
\newcommand*{\partrefname}{Part}
|
|
\newcommand*{\partsrefname}{Parts}
|
|
\newrobustcmd*{\objectref}[5]{%
|
|
\let\@objectname\@empty
|
|
\def\@objectref{}%
|
|
\let\@prevsep\@empty
|
|
\@for\@thislabel:=#1\do{%
|
|
\toks@{\@prevsep}%
|
|
\protected@edef\@objectref{\@objectref\the\toks@
|
|
#4\ref{\@thislabel}#5}%
|
|
\ifx\@objectname\@empty
|
|
\let\@objectname#2% singular tag
|
|
\else
|
|
\let\@objectname#3% plural tag
|
|
\let\@prevsep\@jmlr@reflistsep
|
|
\fi
|
|
}%
|
|
\ifx\@objectname#3% plural tag
|
|
\let\@prevsep\@jmlr@reflistlastsep
|
|
\fi
|
|
\@objectname~\@objectref
|
|
}
|
|
\newcommand*{\sectionref}[1]{%
|
|
\objectref{#1}{\sectionrefname}{\sectionsrefname}{}{}}
|
|
\newcommand*{\equationref}[1]{%
|
|
\objectref{#1}{\equationrefname}{\equationsrefname}()}
|
|
\newcommand*{\tableref}[1]{%
|
|
\objectref{#1}{\tablerefname}{\tablesrefname}{}{}}
|
|
\newcommand*{\figureref}[1]{%
|
|
\objectref{#1}{\figurerefname}{\figuresrefname}{}{}}
|
|
\newcommand*{\algorithmref}[1]{%
|
|
\objectref{#1}{\algorithmrefname}{\algorithmsrefname}{}{}}
|
|
\newcommand*{\theoremref}[1]{%
|
|
\objectref{#1}{\theoremrefname}{\theoremsrefname}{}{}}
|
|
\newcommand*{\lemmaref}[1]{%
|
|
\objectref{#1}{\lemmarefname}{\lemmasrefname}{}{}}
|
|
\newcommand*{\remarkref}[1]{%
|
|
\objectref{#1}{\remarkrefname}{\remarksrefname}{}{}}
|
|
\newcommand*{\corollaryref}[1]{%
|
|
\objectref{#1}{\corollaryrefname}{\corollarysrefname}{}{}}
|
|
\newcommand*{\definitionref}[1]{%
|
|
\objectref{#1}{\definitionrefname}{\definitionsrefname}{}{}}
|
|
\newcommand*{\conjectureref}[1]{%
|
|
\objectref{#1}{\conjecturerefname}{\conjecturesrefname}{}{}}
|
|
\newcommand*{\axiomref}[1]{%
|
|
\objectref{#1}{\axiomrefname}{\axiomsrefname}{}{}}
|
|
\newcommand*{\exampleref}[1]{%
|
|
\objectref{#1}{\examplerefname}{\examplesrefname}{}{}}
|
|
\newcommand*{\appendixref}[1]{%
|
|
\objectref{#1}{\appendixrefname}{\appendixsrefname}{}{}}
|
|
\newcommand*{\partref}[1]{%
|
|
\objectref{#1}{\partrefname}{\partsrefname}{}{}}
|
|
\newcommand{\floatconts}[3]{%
|
|
\@ifundefined{\@captype conts}{\tableconts{#1}{#2}{#3}}%
|
|
{\csname\@captype conts\endcsname{#1}{#2}{#3}}%
|
|
}
|
|
\providecommand{\tableconts}[3]{%
|
|
#2\label{#1}\vskip\baselineskip
|
|
{\centering #3\par}%
|
|
}
|
|
\newcommand{\figureconts}[3]{%
|
|
{\centering #3\par}%
|
|
\vskip\baselineskip
|
|
#2\label{#1}%
|
|
}
|
|
\newcommand{\algocfconts}[3]{%
|
|
\@algocf@pre@ruled
|
|
#2\label{#1}\kern2pt\hrule height.8pt depth0pt\kern2pt%
|
|
#3\@algocf@pre@ruled
|
|
}
|
|
\newenvironment{algorithm}[1][htbp]%
|
|
{%
|
|
\ifundef{\algocf}%
|
|
{`algorithm2e' package is required if you want to
|
|
use the algorithm environment}%
|
|
{}%
|
|
\begin{algocf}[#1]%
|
|
\renewcommand\@makecaption[2]{%
|
|
\hskip\AlCapHSkip
|
|
\parbox[t]{\hsize}{\algocf@captiontext{##1}{##2}}%
|
|
}%
|
|
}%
|
|
{%
|
|
\end{algocf}%
|
|
}
|
|
\AtBeginDocument{%
|
|
\@ifpackageloaded{graphicx}%
|
|
{\let\@jmlr@ifgraphicxloaded\@firstoftwo}%
|
|
{\let\@jmlr@ifgraphicxloaded\@secondoftwo}%
|
|
}
|
|
\newcommand*{\includeteximage}[2][]{%
|
|
\@jmlr@ifgraphicxloaded
|
|
{%
|
|
\def\Gin@req@sizes{%
|
|
\Gin@req@height\Gin@nat@height
|
|
\Gin@req@width\Gin@nat@width}%
|
|
\begingroup
|
|
\let\input@path\Ginput@path
|
|
\IfFileExists{#2}%
|
|
{%
|
|
\toks@{\input{#2}}%
|
|
\ifstrempty{#1}
|
|
{}%
|
|
{%
|
|
\@tempswatrue
|
|
\setkeys{Gin}{#1}%
|
|
\Gin@esetsize
|
|
}%
|
|
\the\toks@
|
|
}%
|
|
{\@warning{File `#2' not found}}%
|
|
\endgroup
|
|
}%
|
|
{\PackageError{jmlrutils}{`graphicx' package is required
|
|
if you want to use \string\includeteximage}{}}%
|
|
}
|
|
\ifjmlrutilssubfloats
|
|
\newcounter{subfigure}
|
|
\@addtoreset{subfigure}{figure}
|
|
\renewcommand*{\thesubfigure}{\alph{subfigure}}
|
|
\renewcommand*{\p@subfigure}{\expandafter\@p@subfigure}
|
|
\newcommand*{\@p@subfigure}[1]{%
|
|
\protect\@subfigurelabel{\thefigure}{\thesubfigure}%
|
|
}
|
|
\newcommand*\@subfigurelabel[2]{#1\subfigurelabel{#2}}
|
|
\newcommand*\@subfigref[1]{%
|
|
{%
|
|
\def\@subfigurelabel##1##2{\subfigurelabel{##2}}%
|
|
\ref{#1}%
|
|
}%
|
|
}
|
|
\newcommand*{\subfigref}[1]{%
|
|
\let\@objectname\@empty
|
|
\def\@objectref{}%
|
|
\let\@prevsep\@empty
|
|
\@for\@thislabel:=#1\do{%
|
|
\toks@{\@prevsep}%
|
|
\protected@edef\@objectref{\@objectref\the\toks@
|
|
\protect\@subfigref{\@thislabel}}%
|
|
\ifx\@objectname\@empty
|
|
\let\@objectname\@nil
|
|
\else
|
|
\let\@objectname\relax
|
|
\let\@prevsep\@jmlr@reflistsep
|
|
\fi
|
|
}%
|
|
\ifx\@objectname\relax
|
|
\let\@prevsep\@jmlr@reflistlastsep
|
|
\fi
|
|
\@objectref
|
|
}
|
|
\newcommand*{\subfigurelabel}[1]{(\emph{#1})}
|
|
\newsavebox\@subfloatcapbox
|
|
\newsavebox\@subfloatcontsbox
|
|
\newcommand*{\subfigure}[1][]{%
|
|
\bgroup
|
|
\def\@subfigcap{#1}%
|
|
\@subfigure
|
|
}
|
|
\newcommand*{\@subfigure}[2][b]{%
|
|
\advance\c@figure by 1\relax
|
|
\refstepcounter{subfigure}%
|
|
\sbox\@subfloatcapbox{\subfigurelabel{\thesubfigure}%
|
|
\ifx\@subfigcap\@empty
|
|
\else
|
|
\space\@subfigcap
|
|
\fi}%
|
|
\sbox\@subfloatcontsbox{#2}%
|
|
\settowidth{\@tempdima}{\usebox\@subfloatcontsbox}%
|
|
\settowidth{\@tempdimb}{\usebox\@subfloatcapbox}%
|
|
\ifdim\@tempdimb>\@tempdima
|
|
\settowidth\@tempdimb{\subfigurelabel{\thesubfigure}\space}%
|
|
\addtolength{\@tempdima}{-\@tempdimb}%
|
|
\sbox\@subfloatcapbox{\subfigurelabel{\thesubfigure}\space
|
|
\parbox[t]{\@tempdima}{\@subfigcap}}%
|
|
\fi
|
|
\begin{tabular}[#1]{@{}c@{}}%
|
|
\usebox\@subfloatcontsbox\\\usebox\@subfloatcapbox
|
|
\end{tabular}%
|
|
\egroup
|
|
}
|
|
\newcounter{subtable}
|
|
\@addtoreset{subtable}{table}
|
|
\renewcommand*{\thesubtable}{\alph{subtable}}
|
|
\renewcommand*{\p@subtable}{\expandafter\@p@subtable}
|
|
\newcommand*{\@p@subtable}[1]{%
|
|
\protect\@subtablelabel{\thetable}{\thesubtable}%
|
|
}
|
|
\newcommand*\@subtablelabel[2]{#1\subtablelabel{#2}}
|
|
\newcommand*\@subtabref[1]{%
|
|
{%
|
|
\def\@subtablelabel##1##2{\subtablelabel{##2}}%
|
|
\ref{#1}%
|
|
}%
|
|
}
|
|
\newcommand*{\subtabref}[1]{%
|
|
\let\@objectname\@empty
|
|
\def\@objectref{}%
|
|
\let\@prevsep\@empty
|
|
\@for\@thislabel:=#1\do{%
|
|
\toks@{\@prevsep}%
|
|
\protected@edef\@objectref{\@objectref\the\toks@
|
|
\protect\@subtabref{\@thislabel}}%
|
|
\ifx\@objectname\@empty
|
|
\let\@objectname\@nil
|
|
\else
|
|
\let\@objectname\relax
|
|
\let\@prevsep\@jmlr@reflistsep
|
|
\fi
|
|
}%
|
|
\ifx\@objectname\relax
|
|
\let\@prevsep\@jmlr@reflistlastsep
|
|
\fi
|
|
\@objectref
|
|
}
|
|
\newcommand*{\subtablelabel}[1]{(\emph{#1})}
|
|
\newcommand*{\subtable}[1][]{%
|
|
\def\@subtabcap{#1}%
|
|
\@subtable
|
|
}
|
|
\newcommand*{\@subtable}[2][t]{%
|
|
\refstepcounter{subtable}%
|
|
\sbox\@subfloatcapbox{\subtablelabel{\thesubtable}%
|
|
\ifx\@subtabcap\@empty
|
|
\else
|
|
\space\@subtabcap
|
|
\fi}%
|
|
\sbox\@subfloatcontsbox{#2}%
|
|
\settowidth{\@tempdima}{\usebox\@subfloatcontsbox}%
|
|
\settowidth{\@tempdimb}{\usebox\@subfloatcapbox}%
|
|
\ifdim\@tempdimb>\@tempdima
|
|
\settowidth\@tempdimb{\subtablelabel{\thesubtable}\space}%
|
|
\addtolength{\@tempdima}{-\@tempdimb}%
|
|
\sbox\@subfloatcapbox{\subtablelabel{\thesubtable}\space
|
|
\parbox[t]{\@tempdima}{\@subtabcap}}%
|
|
\fi
|
|
\begin{tabular}[#1]{@{}c@{}}%
|
|
\usebox\@subfloatcapbox\\\usebox\@subfloatcontsbox
|
|
\end{tabular}
|
|
}
|
|
\fi
|
|
\ifjmlrutilsmaths
|
|
\newcommand*{\set}[1]{\ensuremath{\mathcal{#1}}}
|
|
\let\orgvec\vec
|
|
\renewcommand*{\vec}[1]{\boldsymbol{#1}}
|
|
\fi
|
|
\newenvironment{enumerate*}%
|
|
{%
|
|
\ifnum\@enumdepth=0\relax
|
|
\setcounter{enumi}{0}%
|
|
\fi
|
|
\ifnum\@enumdepth>\thr@@
|
|
\@toodeep
|
|
\else
|
|
\advance\@enumdepth\@ne
|
|
\def\@enumctr{enumi}%
|
|
\list
|
|
{\labelenumi}%
|
|
{\@nmbrlisttrue\def\@listctr{enumi}%
|
|
\def\makelabel##1{\hss\llap{##1}}}%
|
|
\fi
|
|
}%
|
|
{\endlist}
|
|
\newenvironment{altdescription}[1]%
|
|
{\list{}%
|
|
{%
|
|
\settowidth{\labelwidth}{\altdescriptionlabel{#1}}%
|
|
\setlength{\labelsep}{15pt}%
|
|
\setlength{\leftmargin}{2\labelsep}%
|
|
\addtolength{\leftmargin}{\labelwidth}%
|
|
\setlength{\rightmargin}{\labelsep}%
|
|
\let\makelabel\altdescriptionlabel
|
|
}%
|
|
}%
|
|
{\endlist}
|
|
|
|
\newcommand*{\altdescriptionlabel}[1]{\normalfont\bfseries #1\hfill}
|
|
\newcommand*{\mailto}[1]{\texttt{#1}}
|
|
\ifjmlrutilstheorems
|
|
\newcommand{\jmlrBlackBox}{\rule{1.5ex}{1.5ex}}
|
|
\providecommand{\BlackBox}{\jmlrBlackBox}
|
|
\newcommand{\jmlrQED}{\hfill\jmlrBlackBox\par\bigskip}
|
|
\newenvironment{proof}%
|
|
{%
|
|
\par\noindent{\bfseries\upshape Proof\ }%
|
|
}%
|
|
{\jmlrQED}
|
|
\newcommand*{\theorembodyfont}[1]{%
|
|
\renewcommand*{\@theorembodyfont}{#1}%
|
|
}
|
|
\newcommand*{\@theorembodyfont}{\normalfont\itshape}%
|
|
\newcommand*{\theoremheaderfont}[1]{%
|
|
\renewcommand*{\@theoremheaderfont}{#1}%
|
|
}
|
|
\newcommand*{\@theoremheaderfont}{\normalfont\bfseries }%
|
|
\newcommand*{\theoremsep}[1]{%
|
|
\renewcommand*{\@theoremsep}{#1}%
|
|
}
|
|
\newcommand*{\@theoremsep}{}%
|
|
\newcommand*{\theorempostheader}[1]{%
|
|
\renewcommand*{\@theorempostheader}{#1}%
|
|
}
|
|
\newcommand*{\@theorempostheader}{}%
|
|
\let\jmlr@org@newtheorem\newtheorem
|
|
\renewcommand*{\newtheorem}{\@ifstar\jmlr@snewtheorem\jmlr@newtheorem}
|
|
\newcommand*{\jmlr@snewtheorem}[2]{%
|
|
\cslet{jmlr@thm@#1@body@font}{\@theorembodyfont}%
|
|
\cslet{jmlr@thm@#1@header@font}{\@theoremheaderfont}%
|
|
\cslet{jmlr@thm@#1@sep}{\@theoremsep}%
|
|
\cslet{jmlr@thm@#1@postheader}{\@theorempostheader}%
|
|
\newenvironment{#1}%
|
|
{%
|
|
\trivlist
|
|
\item
|
|
[%
|
|
\hskip\labelsep{\csuse{jmlr@thm@#1@header@font}#2%
|
|
\csuse{jmlr@thm@#1@postheader}%
|
|
}%
|
|
]%
|
|
\mbox{}\csuse{jmlr@thm@#1@sep}%
|
|
\csuse{jmlr@thm@#1@body@font}%
|
|
}%
|
|
{%
|
|
\endtrivlist
|
|
}%
|
|
}
|
|
\newcommand{\jmlr@newtheorem}[1]{%
|
|
\cslet{jmlr@thm@#1@body@font}{\@theorembodyfont}%
|
|
\cslet{jmlr@thm@#1@header@font}{\@theoremheaderfont}%
|
|
\cslet{jmlr@thm@#1@sep}{\@theoremsep}%
|
|
\cslet{jmlr@thm@#1@postheader}{\@theorempostheader}%
|
|
\jmlr@org@newtheorem{#1}%
|
|
}
|
|
\renewcommand*{\@xthm}[2]{%
|
|
\def\@jmlr@currentthm{#1}%
|
|
\@begintheorem{#2}{\csname the#1\endcsname}%
|
|
\ignorespaces
|
|
}
|
|
\def\@ythm#1#2[#3]{%
|
|
\def\@jmlr@currentthm{#1}%
|
|
\@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}%
|
|
\ignorespaces
|
|
}
|
|
\renewcommand*{\@begintheorem}[2]{%
|
|
\ifdef{\@jmlr@currentthm}%
|
|
{%
|
|
\letcs{\jmlr@this@theoremheader}{jmlr@thm@\@jmlr@currentthm @header@font}%
|
|
\letcs{\jmlr@this@theorembody}{jmlr@thm@\@jmlr@currentthm @body@font}%
|
|
\letcs{\jmlr@this@theoremsep}{jmlr@thm@\@jmlr@currentthm @sep}%
|
|
\letcs{\jmlr@this@theorempostheader}%
|
|
{jmlr@thm@\@jmlr@currentthm @postheader}%
|
|
}%
|
|
{%
|
|
\let\jmlr@this@theorembody\@theorembodyfont
|
|
\let\jmlr@this@theoremheader\@theoremheaderfont
|
|
\let\jmlr@this@theoremsep\@theoremsep
|
|
\let\jmlr@this@theorempostheader\@theorempostheader
|
|
}%
|
|
\trivlist
|
|
\item
|
|
[%
|
|
\hskip\labelsep{\jmlr@this@theoremheader #1\ #2%
|
|
\jmlr@this@theorempostheader}%
|
|
]%
|
|
\mbox{}\jmlr@this@theoremsep
|
|
\jmlr@this@theorembody
|
|
}
|
|
\renewcommand*{\@opargbegintheorem}[3]{%
|
|
\ifdef{\@jmlr@currentthm}%
|
|
{%
|
|
\letcs{\jmlr@this@theoremheader}{jmlr@thm@\@jmlr@currentthm @header@font}%
|
|
\letcs{\jmlr@this@theorembody}{jmlr@thm@\@jmlr@currentthm @body@font}%
|
|
\letcs{\jmlr@this@theoremsep}{jmlr@thm@\@jmlr@currentthm @sep}%
|
|
\letcs{\jmlr@this@theorempostheader}%
|
|
{jmlr@thm@\@jmlr@currentthm @postheader}%
|
|
}%
|
|
{%
|
|
\let\jmlr@this@theorembody\@theorembodyfont
|
|
\let\jmlr@this@theoremheader\@theoremheaderfont
|
|
\let\jmlr@this@theoremsep\@theoremsep
|
|
\let\jmlr@this@theorempostheader\@theorempostheader
|
|
}%
|
|
\trivlist
|
|
\item[\hskip\labelsep{\jmlr@this@theoremheader #1\ #2\ (#3)%
|
|
\jmlr@this@theorempostheader}]%
|
|
\mbox{}\jmlr@this@theoremsep
|
|
\jmlr@this@theorembody
|
|
}
|
|
\newtheorem{example}{Example}
|
|
\newtheorem{theorem}{Theorem}
|
|
\newtheorem{lemma}[theorem]{Lemma}
|
|
\newtheorem{proposition}[theorem]{Proposition}
|
|
\newtheorem{remark}[theorem]{Remark}
|
|
\newtheorem{corollary}[theorem]{Corollary}
|
|
\newtheorem{definition}[theorem]{Definition}
|
|
\newtheorem{conjecture}[theorem]{Conjecture}
|
|
\newtheorem{axiom}[theorem]{Axiom}
|
|
\fi
|
|
\endinput
|
|
%%
|
|
%% End of file `jmlrutils.sty'.
|