diff options
author | Karl Berry <karl@freefriends.org> | 2017-08-01 21:39:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-08-01 21:39:04 +0000 |
commit | 569c59914fed1f743994ef0b27bd15402aa6f603 (patch) | |
tree | d063155bafd805195f5db289fbed8a4acd15f382 /Master/texmf-dist/tex/latex/jmlr | |
parent | 9a9c1b6e2502a6a9c90e739c411de26012b9db2c (diff) |
jmlr (1aug17)
git-svn-id: svn://tug.org/texlive/trunk@44935 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/jmlr')
-rw-r--r-- | Master/texmf-dist/tex/latex/jmlr/jmlr.cls | 439 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/jmlr/jmlrutils.sty | 495 |
3 files changed, 522 insertions, 418 deletions
diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlr.cls b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls index 0576e3a24d3..9dab2b8fe3e 100644 --- a/Master/texmf-dist/tex/latex/jmlr/jmlr.cls +++ b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls @@ -11,7 +11,7 @@ %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license of (at your option) any later version. +%% 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 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot. %% -%% This work consists of the files jmlr.dtx and jmlr.ins and the derived files jmlr.cls, jmlrbook.cls. +%% 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 @@ -41,7 +41,7 @@ %% First editor: %% Second editor: \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jmlr}[2017/03/09 v1.23 (NLCT) Journal of Machine Learning Research] +\ProvidesClass{jmlr}[2017/08/01 v1.24 (NLCT) Journal of Machine Learning Research] \RequirePackage{xkeyval} \RequirePackage{calc} \RequirePackage{etoolbox} @@ -60,9 +60,18 @@ \DeclareOptionX{final}{\setlength\overfullrule{0pt}} \newif\iftablecaptiontop \tablecaptiontoptrue +\newcommand{\tableconts}[3]{% + \iftablecaptiontop + #2\label{#1}\vskip\baselineskip + {\centering #3\par}% + \else + {\centering #3\par}% + \vskip\baselineskip + #2\label{#1}% + \fi +} \DeclareOptionX{tablecaptiontop}{\tablecaptiontoptrue} \DeclareOptionX{tablecaptionbottom}{\tablecaptiontopfalse} - \define@choicekey{jmlr.cls}{tablecaption}[\val\nr]{top,bottom}{% \ifcase\nr\relax \tablecaptiontoptrue @@ -72,7 +81,9 @@ } \newif\ifjmlrhtml \jmlrhtmlfalse -\DeclareOptionX{html}{\jmlrhtmltrue} +\DeclareOptionX{html}{% + \ClassWarning{jmlr}{html option is now deprecated}% + \jmlrhtmltrue} \DeclareOptionX{nohtml}{\jmlrhtmlfalse} \def\pt@size{11pt} \DeclareOptionX{10pt}{\renewcommand{\pt@size}{10pt}} @@ -134,8 +145,12 @@ \RequirePackage{natbib} \RequirePackage{graphicx} \RequirePackage{url} -\RequirePackage[x11names]{xcolor} -\RequirePackage[algo2e,ruled]{algorithm2e} +\PassOptionsToPackage{x11names}{xcolor} +\RequirePackage{xcolor} +\PassOptionsToPackage{algo2e,ruled}{algorithm2e} +\RequirePackage{algorithm2e} +\setlength\algomargin{0pt} +\RequirePackage{jmlrutils} \jmlrprehyperref \@ifundefined{@pre@hyperref}{}{\@pre@hyperref} \RequirePackage{hyperref} @@ -570,128 +585,8 @@ Keywords:} \ignorespaces}% \fi} \def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces} \def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces} -\long\def\acks#1{\section*{Acknowledgments}#1} -\long\def\researchnote#1{\noindent {\LARGE\itshape Research Note} #1} -\newcommand*{\set}[1]{\ensuremath{\mathcal{#1}}} -\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} -\DeclareRobustCommand*{\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}}% -} -\newcommand{\tableconts}[3]{% - \iftablecaptiontop - #2\label{#1}\vskip\baselineskip - {\centering #3\par}% - \else - {\centering #3\par}% - \vskip\baselineskip - #2\label{#1}% - \fi -} -\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 -} -\newcommand*{\includeteximage}[2][]{% - \def\Gin@req@sizes{% - \Gin@req@height\Gin@nat@height - \Gin@req@width\Gin@nat@width}% - \begingroup - \@tempswafalse - \let\input@path\Ginput@path - \toks@{\InputIfFileExists{#2}{}{\@warning{File `#1' not found}}}% - \setkeys{Gin}{#1}% - \Gin@esetsize - \the\toks@ - \endgroup -} +\newcommand{\acks}[1]{\section*{Acknowledgments}#1} +\newcommand{\researchnote}[1]{\noindent {\LARGE\itshape Research Note} #1} \providecommand{\ifprint}[2]{\ifgrayscale#1\else#2\fi} %% \begin{macrocode} \ifjmlrhtml @@ -734,18 +629,6 @@ Keywords:} \ignorespaces}% \fi \endgroup} \fi -\newenvironment{algorithm}[1][htbp]% -{% - \begin{algocf}[#1]% - \renewcommand\@makecaption[2]{% - \hskip\AlCapHSkip - \parbox[t]{\hsize}{\algocf@captiontext{##1}{##2}}% - }% -}% -{% - \end{algocf}% -} -\setlength\algomargin{0pt} \newcommand{\artappendix}{\par \setcounter{section}{0} \setcounter{subsection}{0} @@ -755,280 +638,6 @@ Keywords:} \ignorespaces}% } \let\appendix\artappendix \newcommand{\booklinebreak}[1][]{} -\newcommand{\BlackBox}{\rule{1.5ex}{1.5ex}} -\newcommand*{\jmlrQED}{\hfill\BlackBox\\[2mm]} -\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} -\let\orgvec\vec -\renewcommand*{\vec}[1]{\boldsymbol{#1}} -\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}} -\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} -} \newcounter{chapter} \renewcommand\thechapter{\@arabic\c@chapter} \newcommand\@chapapp{\chaptername} diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls index b74c1ab12ff..71423d3b34a 100644 --- a/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls +++ b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls @@ -11,7 +11,7 @@ %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license of (at your option) any later version. +%% 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 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot. %% -%% This work consists of the files jmlr.dtx and jmlr.ins and the derived files jmlr.cls, jmlrbook.cls. +%% 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 @@ -41,7 +41,7 @@ %% First editor: %% Second editor: \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jmlrbook}[2017/03/09 v1.23 (NLCT) JMLR Book Style] +\ProvidesClass{jmlrbook}[2017/08/01 v1.24 (NLCT) JMLR Book Style] \RequirePackage{xkeyval} \RequirePackage{setspace} \newcommand*\jmlrprefacepath{} diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlrutils.sty b/Master/texmf-dist/tex/latex/jmlr/jmlrutils.sty new file mode 100644 index 00000000000..8c6d6209bf2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/jmlr/jmlrutils.sty @@ -0,0 +1,495 @@ +%% +%% 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'. |