%% %% This is file `jmlrbook.cls', %% generated with the docstrip utility. %% %% The original source files were: %% %% jmlr.dtx (with options: `jmlrbook.cls,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: \NeedsTeXFormat{LaTeX2e} \ProvidesClass{jmlrbook}[2017/08/01 v1.24 (NLCT) JMLR Book Style] \RequirePackage{xkeyval} \RequirePackage{setspace} \newcommand*\jmlrprefacepath{} \IfFileExists{currfile.sty}% { \RequirePackage{currfile} \renewcommand*\jmlrprefacepath{\currfilepath} }% {% \RequirePackage{fink} \ifdef\finkpath {% \renewcommand*\jmlrprefacepath{\finkpath}% } {% \ClassWarning{jmlrbook}{Install `currfile' package or update `fink' package} } } \providecommand*{\jmlrprehyperref}{} \newif\ifgrayscale \grayscalefalse \DeclareOptionX{draft}{\setlength\overfullrule{5pt}} \DeclareOptionX{final}{\setlength\overfullrule{0pt}} \DeclareOptionX{color}{\grayscalefalse} \DeclareOptionX{gray}{\grayscaletrue} \DeclareOptionX{letterpaper}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{7x10}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{html}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{nohtml}{\PassOptionsToClass{\CurrentOption}{jmlr}} \newcommand*{\jmlrprefaceheader}{% \phantomsection \chapter*{\prefacename}% \addcontentsline{toc}{chapter}{\prefacename}% \markboth{\prefacename}{\prefacename}% } \DeclareOptionX{wcp}{% \PassOptionsToClass{\CurrentOption}{jmlr}% } \DeclareOptionX{pmlr}{% \PassOptionsToClass{\CurrentOption}{jmlr}% } \DeclareOptionX{nowcp}{% \PassOptionsToClass{\CurrentOption}{jmlr}% } \DeclareOptionX{tablecaptiontop}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{tablecaptionbottom}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{10pt}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{11pt}{\PassOptionsToClass{\CurrentOption}{jmlr}} \DeclareOptionX{12pt}{\PassOptionsToClass{\CurrentOption}{jmlr}} \@twosidetrue \DeclareOptionX{oneside}{\@twosidefalse \@mparswitchfalse} \DeclareOptionX{twoside}{\@twosidetrue \@mparswitchtrue} \define@boolkey{jmlrbook.cls}[jmlr]{pdfxa}[true]{} \jmlrpdfxafalse \ProcessOptionsX \@ifundefined{jmlrgrayscale}{}% {% \ifnum\jmlrgrayscale=0\relax \grayscalefalse \else \grayscaletrue \fi } \ifgrayscale \newcommand*{\jmlrwritepdfinfo}{% \protected@write\@auxout{}{\string\jmlrbook@info{\xmpAuthor}{\xmpTitle}}% } \ifjmlrpdfxa \def\convertDate{\getYear} {\catcode`\D=12 \gdef\getYear D:#1#2#3#4{\edef\xYear{#1#2#3#4}\getMonth} } \def\getMonth#1#2{\edef\xMonth{#1#2}\getDay} \def\getDay#1#2{\edef\xDay{#1#2}\getHour} \def\getHour#1#2{\edef\xHour{#1#2}\getMin} \def\getMin#1#2{\edef\xMin{#1#2}\getSec} \def\getSec#1#2{\edef\xSec{#1#2}\getTZh} {% \catcode`\Z=12 \gdef\tmpz{Z} } \def\hash{\expandafter\@gobble\string\#}% \def\amp{\expandafter\@gobble\string\&}% \def\xmpAmp{\amp\hash x0026;}% \def\sep{} \def\TextCopyright{\amp\hash x00A9;} \def\Title#1{\gdef\xmpTitle{#1}} \def\Author#1{\gdef\xmpAuthor{#1}} \def\Keywords#1{\gdef\xmpKeywords{#1}} \let\xmpKeywords\@empty \let\xmpSubject\xmpKeywords \def\Creator#1{\gdef\xmpCreator{#1}} \def\xmpCreator{\@pdfcreator} \def\Producer#1{\gdef\xmpProducer{#1}} \def\xmpProducer{pdfTeX} \def\Volume#1{\gdef\xmpVolume{#1}} \let\xmpVolume\@empty \def\Issue#1{\gdef\xmpIssue{#1}} \let\xmpIssue\@empty \def\CoverDisplayDate#1{\gdef\xmpCoverDisplayDate{#1}} \let\xmpCoverDisplayDate\@empty \def\CoverDate#1{\gdef\xmpCoverDate{#1}} \let\xmpCoverDate\@empty \def\Copyright#1{\gdef\xmpCopyright{#1}} \let\xmpCopyright\@empty \def\Doi#1{\gdef\xmpDoi{#1}} \let\xmpDoi\@empty \def\Lastpage#1{\gdef\xmpLastpage{#1}} \let\xmpLastpage\@empty \def\Firstpage#1{\gdef\xmpFirstpage{#1}} \let\xmpFirstpage\@empty \def\Journaltitle#1{\gdef\xmpJournaltitle{#1}} \let\xmpJournaltitle\@empty \def\Journalnumber#1{\gdef\xmpJournalnumber{#1}} \let\xmpJournalnumber\@empty \def\Org#1{\gdef\xmpOrg{#1}} \let\xmpOrg\@empty \def\CreatorTool#1{\gdef\xmpCreatorTool{#1}} \def\xmpCreatorTool{\xmpProducer} \def\AuthoritativeDomain#1{\gdef\xmpAuthoritativeDomain{#1}} \let\xmpAuthoritativeDomain\@empty \def\findUUID#1{\edef\tmpstring{\pdfmdfivesum{#1}} \expandafter\eightofnine\tmpstring\end} \def\eightofnine#1#2#3#4#5#6#7#8#9\end{% \xdef\eightchars{#1#2#3#4#5#6#7#8} \fouroffive#9\end} \def\fouroffive#1#2#3#4#5\end{\xdef\ffourchars{#1#2#3#4} \sfouroffive#5\end} \def\sfouroffive#1#2#3#4#5\end{\xdef\sfourchars{#1#2#3#4} \tfouroffive#5\end} \def\tfouroffive#1#2#3#4#5\end{\xdef\tfourchars{#1#2#3#4} \xdef\laststring{#5}} \def\uuid{\eightchars-% \ffourchars-% \sfourchars-% \tfourchars-% \laststring} \def\getTZh#1{% \def\TZprefix{#1}% \ifx\TZprefix\tmpz \def\xTZsign{+}% \def\xTZh{00}% \def\xTZm{00}% \let\getTZnext\doConvDate \else \let\xTZsign\TZprefix \let\getTZnext\getTZhm \fi \getTZnext } \def\getTZhm#1#2'#3#4'{% \edef\xTZh{#1#2}% \edef\xTZm{#3#4}% \doConvDate } \def\doConvDate{% \edef\convDate{\xYear-\xMonth-\xDay T\xHour:\xMin:\xSec\xTZsign\xTZh:\xTZm}% } \newcommand{\@pre@hyperref}{% \IfFileExists{FOGRA39L.icc}% {% \pdfminorversion=3 \pdfpageattr{/MediaBox[0 0 595 793] /BleedBox[0 0 595 793] /TrimBox[25 20 570 773]}% \findUUID{\jobname.pdf}% \edef\xmpdocid{\uuid}% \findUUID{\pdfcreationdate}% \edef\xmpinstid{\uuid}% \InputIfFileExists{\jobname.xmpdata}{}{}% \RequirePackage{xmpincl}% \expandafter\convertDate\pdfcreationdate \def\@pctchar{\expandafter\@gobble\string\%} \def\@bchar{\expandafter\@gobble\string\\} \immediate\pdfobj stream attr{/N 4} file{FOGRA39L.icc} \edef\OBJ@CVR{\the\pdflastobj} \pdfcatalog{/OutputIntents [ << /Type/OutputIntent /S/GTS_PDFX /OutputCondition (FOGRA39) /OutputConditionIdentifier (FOGRA39 \@bchar(ISO Coated v2 300\@pctchar\space \@bchar(ECI\@bchar)\@bchar)) /DestOutputProfile \OBJ@CVR\space 0 R /RegistryName(http://www.color.org) >> ]} \input glyphtounicode.tex \input glyphtounicode-cmr.tex \pdfgentounicode=1 \RequirePackage[draft,pdftex,pdfpagemode=UseNone,bookmarks=false]{hyperref}% }% {% \ClassError{jmlrbook}{Can't find `FOGRA39L.icc'}% {Download ISOcoated\string_v2\string_330\string_bas.icc from http://www.colormanagement.org/en/isoprofile.html Rename it FOGRA39L.icc and put it in the pdfx folder}% }% } \renewcommand*{\jmlrwritepdfinfo}{% \begingroup \let\&=\xmpAmp \IfFileExists{pdfx-1a.xmp}{% \pdfcompresslevel=0 \immediate\pdfobj stream attr {/Type /Metadata /Subtype /XML} file{pdfx-1a.xmpi} \pdfcatalog{/Metadata \the\pdflastobj\space 0 R} }% {}% \endgroup \protected@write\@auxout{}{\string\jmlrbook@info{\xmpAuthor}{\xmpTitle}}% \pdfinfo{ /Author(\xmpAuthor)% /Title(\xmpTitle)% /Creator(\xmpProducer)% /CreationDate(\convDate)% /ModDate(\convDate)% /Producer(\xmpProducer)% /Trapped /False /GTS_PDFXVersion (PDF/X-1:2001)% /GTS_PDFXConformance (PDF/X-1a:2001)% }% } \fi \else \newcommand*{\jmlrwritepdfinfo}{} \fi \newcommand*{\jmlrbook@info}[2]{} \newcommand*{\jmlrbook@location}[1]{} \newcommand*{\@post@hyperref}{% \let\@org@c@lenddoca\c@lenddoca \let\c@lenddoca\undefined } \let\@org@LoadClass\LoadClass \def\LoadClass#1{\let\LoadClass\@org@LoadClass\@org@LoadClass{jmlr}} \@org@LoadClass{combine} \let\c@lenddoca\@org@c@lenddoca \RequirePackage{combnat} \renewcommand\c@laNAT@parse[1]{{% \let\protect=\@unexpandable@protect\let~\relax \let\active@prefix=\@gobble \xdef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}}% \expandafter\NAT@split\NAT@temp?????@@% \expandafter\NAT@parse@date\NAT@date??????@@% \ifciteindex\NAT@index\fi} \renewcommand\c@lbNAT@parse[1]{{% \let\protect=\@unexpandable@protect\let~\relax \let\active@prefix=\@gobble \xdef\NAT@temp{\csname B?\jobname?@#1\@extra@b@citeb\endcsname}}% \expandafter\NAT@split\NAT@temp?????@@% \expandafter\NAT@parse@date\NAT@date??????@@% \ifciteindex\NAT@index\fi} \newif\if@openright \@openrighttrue \newif\if@mainmatter \newcommand*{\pagerule}[1][0pt]{\par\noindent \rule[#1]{\linewidth}{2pt}\par} \ifjmlrhtml \newenvironment{preface}[1][preface]% {% \noindent\HCode{

\prefacename

}% }% {% } \else \newenvironment{preface}[1][preface]% {% \jmlrprefaceheader \protected@write\@mainauxout {}{\string\@prefacestart{\thepage}{\arabic{page}}}% \protected@write\@mainauxout{}{\string\@prefacefile{\jmlrprefacepath}{#1}}% }% {% \protected@write\@mainauxout{}{\string\@prefaceend{\thepage}}% } \fi \newcommand*{\prefacename}{Preface} \newcommand*{\@prefacefile}[2]{} \newcommand*{\@prefacestart}[2]{} \newcommand*{\@prefaceend}[1]{} \newcommand*{\@prefaceeditor}[1]{} \newcommand*{\chapterrefname}{Chapter} \newcommand*{\chaptersrefname}{Chapters} \newcommand*{\chapterref}[1]{% \objectref{#1}{\chapterrefname}{\chaptersrefname}{}{}} \newcommand*{\articlepageref}[1]{% \pageref{#1jmlrstart}% } \newcommand*{\articlepagesref}[1]{% \pageref{#1jmlrstart}--\pageref{#1jmlrend}% } \newcommand*{\@articlepagesref}{% \pageref{jmlrstart}--\pageref{jmlrend}% } \newcommand*{\articletitleref}[1]{\nameref{#1jmlrstart}} \newcommand*{\articleauthorref}[1]{% \@ifundefined{@jmlr@author@#1}% {% \ClassWarning{jmlrbook}{Label `#1' undefined}% }% {% \@nameuse{@jmlr@author@#1}% }% } \renewcommand*\jmlrtitlehook{% \hypersetup{pdftitle={\@shorttitle}}% \def\xmpTitle{\@shorttitle}% \let\jmlrtitlehook\relax } \providecommand*{\xmpTitle}{\@title}% \renewcommand*\jmlrauthorhook{% \ifx\@sauthor\@empty \hypersetup{pdfauthor={\@author}}% \else \hypersetup{pdfauthor={\@sauthor}}% \fi \def\xmpAuthor{\@sauthor}% \let\jmlrauthorhook\relax \let\@shortauthor\@empty } \providecommand*\xmpAuthor{\@author}% \newcommand*{\@subtitle}{} \newcommand*{\subtitle}[1]{\renewcommand*{\@subtitle}{#1}} \newcommand*{\@volume}{\@jmlrvolume} \newcommand*{\volume}[1]{% \renewcommand*{\@volume}{#1}% \ifjmlrpdfxa \let\xmpVolume\@volume \fi } \newcommand*{\@issue}{\@jmlrissue} \newcommand*{\issue}[1]{% \renewcommand*{\@issue}{#1}% \ifjmlrpdfxa \let\xmpIssue\@issue \fi } \newcommand*{\thejmlrworkshop}{\@jmlrworkshop} \newcommand*{\@team}{} \newcommand*{\team}[1]{\renewcommand*{\@team}{#1}} \newcommand*{\@jmlrlocation}{} \newcommand*{\jmlrlocation}[1]{% \renewcommand*{\@jmlrlocation}{#1}% \protected@write\@auxout{}{\string\jmlrbook@location{#1}}% } \newcommand*{\@productioneditorname}{Production Editor} \newcommand*{\@productioneditor}{} \newcommand*{\productioneditor}[1]{% \renewcommand*{\@productioneditor}{#1}% \renewcommand*{\@productioneditorname}{Production Editor}% } \newcommand*{\productioneditors}[1]{% \renewcommand*{\@productioneditor}{#1}% \renewcommand*{\@productioneditorname}{Production Editors}% } \newcommand*{\@logo}{} \newcommand*{\logo}[2][]{% \ifjmlrhtml \def\@logo@tmp{#1}% \ifx\@logo@tmp\@empty \renewcommand*{\@logo}{#2}% \else \renewcommand*{\@logo}{\HCode{}#2\HCode{}}% \fi \else \renewcommand*{\@logo}{#2}% \fi } \renewcommand*{\booklinebreak}[1][4]{\linebreak[#1]} \def\c@lbmaketitle{\jmlrmaketitle} \newcommand*{\maintitle}{} \newcommand*{\SetTitleElement}[3]{% {% \expandafter\ifx\csname @#1\endcsname\@empty \else #2\csname @#1\endcsname#3% \fi }% } \newcommand{\IfTitleElement}[3]{% \expandafter\ifx\csname @#1\endcsname\@empty #2% \else #3% \fi } \newcommand{\titlebody}{% \SetTitleElement{title}{\maintitlefont}{\postmaintitle}% \SetTitleElement{volume}{\mainvolumefont}{\postmainvolume}% \SetTitleElement{subtitle}{\mainsubtitlefont}{\postmainsubtitle}% \SetTitleElement{logo}{\mainlogofont}{\postmainlogo}% \SetTitleElement{team}{\mainteamfont}{\postmainteam}% \SetTitleElement{author}{\mainauthorfont}{\postmainauthor}% \SetTitleElement{productioneditor}{\mainproductioneditorfont}% {\postmainproductioneditor}% } \ifjmlrhtml \renewcommand{\c@lamaketitle}{% \HCode{}% \HCode{
}% \HCode{

}% \@title\newline \ifx\@jmlrvolume\@empty \ifx\@volume\@empty \else Volume \@volume \ifx\@subtitle\@empty\else: \fi \fi \else Volume \@jmlrvolume \ifx\@subtitle\@empty\else: \fi \fi \@subtitle \HCode{

}% \newline \textbf{Editors: \@author} \HCode{
}% \@logo \HCode{
}% \let\maintitle\@title } \else \renewcommand{\c@lamaketitle}{% \pagenumbering{alph}% \pagestyle{empty}% \begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let\footnote\thanks \titlebody \par \@thanks \end{titlepage}% \setcounter{footnote}{0}% \let\maintitle\@title \c@lmtitlempty } \fi \renewcommand{\maintitlefont}{% \null\vskip15pt\relax\par \flushleft\Huge\bfseries\noindent} \renewcommand{\postmaintitle}{% \par\relax } \newcommand{\mainvolumefont}{% \flushleft\noindent\LARGE\bfseries Volume } \newcommand{\postmainvolume}{% \IfTitleElement{subtitle}{}{:}\par\relax } \newcommand{\mainissuefont}{% \flushleft\noindent\LARGE\bfseries Issue } \newcommand{\postmainissue}{% \par\relax } \newcommand{\mainsubtitlefont}{% \flushleft\LARGE\bfseries\noindent} \newcommand{\postmainsubtitle}{\par} \newcommand{\mainlogofont}{% \vfill \begin{center}} \newcommand{\postmainlogo}{\end{center}\vfill\par} \newcommand{\mainteamfont}{\flushleft\bfseries\Large\noindent} \newcommand{\postmainteam}{\par} \renewcommand{\mainauthorfont}{% \flushleft\Large\itshape\doublespacing\noindent} \renewcommand{\postmainauthor}{% \par} \newcommand{\mainproductioneditorfont}{% \flushleft\Large\noindent \@productioneditorname: \itshape} \newcommand{\postmainproductioneditor}{\par} \renewcommand{\maindatefont}{} \renewcommand{\postmaindate}{} \ifjmlrhtml \newenvironment{signoff}[2][The Editorial Team]{% \def\Editor##1{##1\par\vskip\baselineskip\noindent\ignorespaces}% \def\@editorialteam{#1}% \def\@signoffdate{#2}% \par\vskip\baselineskip\noindent \ifx\@signoffdate\@empty \else \emph{\@signoffdate}\nopagebreak\par \nopagebreak\vskip\baselineskip\noindent \fi \ifx\@editorialteam\@empty \else \@editorialteam:\nopagebreak\par\nopagebreak\vskip\baselineskip \fi \nopagebreak\noindent\ignorespaces }% {% }% \else \newenvironment{signoff}[2][The Editorial Team]{% \def\Editor##1{% \protected@write\@mainauxout{}{\string\@prefaceeditor{##1}}% \begin{tabular}{@{}l@{}}% ##1% \end{tabular}% \par\vskip\baselineskip\noindent\ignorespaces }% \def\@editorialteam{#1}% \def\@signoffdate{#2}% \par\vskip\baselineskip\noindent \ifx\@signoffdate\@empty \else \emph{\@signoffdate}\par \vskip\baselineskip\noindent \fi \ifx\@editorialteam\@empty \else \@editorialteam:\nopagebreak\par\vskip\baselineskip \fi \nopagebreak\noindent\ignorespaces }% {% } \fi \newenvironment{authorsignoff}{% \def\Author##1{\begin{tabular}{@{}p{\linewidth}@{}}% ##1% \end{tabular}% \par\vskip\baselineskip\noindent\ignorespaces }% \par\vskip\baselineskip\noindent\ignorespaces }{% } \renewcommand{\zeroextracounters}{% \@ifundefined{c@theorem}{}{\setcounter{theorem}{0}}% \@ifundefined{c@algorithm}{}{\setcounter{algorithm}{0}}% \@ifundefined{c@algocf}{}{\setcounter{algocf}{0}}% \@ifundefined{c@example}{}{\setcounter{example}{0}}% \@ifundefined{c@definition}{}{\setcounter{definition}{0}}% } \renewcommand*{\contentsname}{Table of Contents} \def\theHalgorithm{\theHchapter.\thealgorithm} \def\theHexample{\theHchapter.\theexample} \def\theHtheorem{\theHchapter.\thetheorem} \def\theHsection{\theHchapter.\thesection} \def\theHsubsection{\theHchapter.\thesubsection} \def\theHsubsubsection{\theHchapter.\thesubsubsection} \def\theHparagraph{\theHchapter.\theparagraph} \def\theHsubfigure{\theHfigure.\arabic{subfigure}} \def\theHsubtable{\theHtable.\arabic{subtable}} \def\theHfootnote{\theHchapter.\alpha{footnote}} \def\theHtable{\theHchapter.\arabic{table}} \def\theHfigure{\theHchapter.\arabic{figure}} \def\theHalgocf{\theHchapter.\thealgocf} \renewcommand*{\mailto}[1]{% \href{mailto:#1}{\nolinkurl{#1}}% } \c@lhaschapterfalse \let\c@lthesec\thesection \newcommand\doimportchapterHref{% \edef\@currentHref{chapter.\thechapter}% } \def\toclevel@appendix{-1} \def\Xprefix{} \DeclareRobustCommand\Xref{\@ifstar\@Xrefstar\T@Xref}% \DeclareRobustCommand\Xpageref{% \@ifstar\@Xpagerefstar\T@Xpageref }% \def\HyRef@StarSetXRef#1{% \begingroup \Hy@safe@activestrue \edef\x{#1}% \@onelevel@sanitize\x \edef\x{\endgroup \noexpand\HyRef@@StarSetRef \expandafter\noexpand\csname r@\Xprefix\x\endcsname{\x}% }% \x } \def\@Xrefstar#1{% \HyRef@StarSetXRef{#1}\@firstoffive } \def\@Xpagerefstar#1{% \HyRef@StarSetXRef{#1}\@secondoffive } \def\T@Xref#1{% \Hy@safe@activestrue \expandafter\@setXref\csname r@\Xprefix#1\endcsname\@firstoffive{#1}% \Hy@safe@activesfalse }% \def\T@Xpageref#1{% \Hy@safe@activestrue \expandafter\@setXref\csname r@\Xprefix#1\endcsname\@secondoffive{#1}% \Hy@safe@activesfalse }% \def\Xlabel#1{% \@bsphack \begingroup \@onelevel@sanitize\@currentlabelname \edef\@currentlabelname{% \expandafter\strip@period\@currentlabelname\relax.\relax\@@@ }% \protected@write\@mainauxout{}{% \string\newlabel{\Xprefix#1}{{\@currentlabel}{\thepage}% {\@currentlabelname}{\@currentHref}{}}% }% \endgroup \@esphack } \let\ltx@label\Xlabel \def\@setXref#1#2#3{% csname, extract group, refname \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{% Reference `#3' on page \thepage \space undefined% }% \else \expandafter\Hy@setref@link#1\@empty\@empty\@nil{#2}% \fi } \AtBeginDocument{% \renewcommand\@secondoffive[5]{#2}% \jmlrwritepdfinfo \let\jmlrwritepdfinfo\relax } \def\@setimportlabel{% \let\@mainauxout\@auxout \let\HRlabel\label } \AtBeginDocument{\@jmlrbegindoc} \newcommand*\@jmlrbegindoc{ \@setimportlabel \gdef\@setimportlabel{\let\ref\Xref \let\pageref\Xpageref}% \let\ReadBookmarks\relax \@ifundefined{@beginmainauxhook}{}{\@beginmainauxhook}% } \let\@org@InputIfFileExists\InputIfFileExists \newenvironment{jmlrpapers}{% \def\@begindocumenthook{% \@jmlrbegindoc \let\bibcite\c@lbNATbibcite } \def\@enddocumenthook{% \@jmlrenddoc \let\bibcite\c@lbNAT@testdef } \begin{papers}[] \if@twocolumn \def\@jmlr@restore{\twocolumn}% \else \def\@jmlr@restore{\onecolumn}% \fi \jmlrarticlecommands \let\importpubpaper\@importpubpaper \let\importpaper\@importpaper \let\importarticle\@importarticle \let\label\Xlabel \let\ref\Xref \pagestyle{article}% }{% \@jmlr@restore \end{papers} } \newcommand{\addtomaincontents}[2]{% \protected@write\@mainauxout{\let\label\@gobble\let\index\@gobble \let\glossary\@gobble}{\string\@writefile{#1}{#2}}% } \newcommand*{\@write@author}[2]{% \def\@jmlr@authors@sep{ and }% \protected@write\@mainauxout{}{% \string\@new@articleauthor{#1}{#2}% }% } \newcommand*{\@new@articleauthor}[2]{% \expandafter\gdef\csname @jmlr@author@#1\endcsname{% \hyperref[#1jmlrstart]{#2}}% } \newcommand*{\@@write@jmlr@import}[3]{% \protected@write\@mainauxout{}{\string\@jmlr@import{#1}{#2}{#3}}% } \newcommand*{\@jmlr@import}[3]{} \newcommand*{\@@write@jmlr@apdimport}[3]{% \protected@write\@mainauxout{}{\string\@jmlr@apdimport{#1}{#2}{#3}}% } \newcommand*{\@jmlr@apdimport}[3]{} \def\@write@jmlr@import{\@@write@jmlr@import} \def\jmlrpremaketitlehook{% \cleardoublepage \phantomsection \let\@currentlabelname\@shorttitle \refstepcounter{chapter}% }% \newcommand*{\jmlrimporthook}{} \newcommand*{\@importpubpaper}[4][\@importdir\@importfile]{% \bgroup \def\@importdir{#2/}% \def\@importfile{#3}% \@write@jmlr@import{#1}{#2}{#3}% \def\@extra@b@citeb{#1}% \def\@extra@binfo{#1}% \jmlrpages{#4}% \graphicspath{{\@importdir}}% \def\jmlrmaketitlehook{% \label{}% \def\titlebreak{ }% \addtomaincontents{toc}% {% \protect\contentsline{papertitle}{\@title}{\thepage}% {page.\thepage}}% \pdfbookmark{\@shorttitle}{chapter.\theHchapter}% \def\@jmlr@authors@sep{ \& }% \tocchapterpubauthor{\@jmlr@authors}% {% \@jmlrabbrvproceedings \ifx\@jmlrvolume\@empty \ifx\@jmlrpages\@empty\else\space\fi \else \space\@jmlrvolume \ifx\@jmlrissue\@empty \else (\@jmlrissue)% \fi \ifx\@jmlrpages\@empty\else:\fi \fi \ifx\@jmlrpages\@empty \else \@jmlrpages \ifx\@jmlryear\@empty\else,\fi \fi \space\@jmlryear }% \@write@author{#1}{\@jmlr@authors}% }% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% \@org@InputIfFileExists{##1}{##2}{##3}% }% {% \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% }% }% \def\Xprefix{#1}% \jmlrimporthook \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup \gdef\@shortauthor{}% \gdef\@shorttitle{}% \gdef\@firstauthor{}% \gdef\@jmlr@authors{\@jmlrauthors}% \gdef\@jmlrauthors{}% \gdef\@firstsurname{}% } \newcommand{\importpubpaper}[4][]{% \ClassError{jmlrbook}{\string\importpubpaper\space not permitted outside `jmlrpapers' environment}{}% } \newcommand{\@importpaper}[3][\@importdir\@importfile]{% \bgroup \def\@importdir{#2/}% \def\@importfile{#3}% \@write@jmlr@import{#1}{#2}{#3}% \def\@extra@b@citeb{#1}% \def\@extra@binfo{#1}% \jmlrpages{\protect\@articlepagesref}% \graphicspath{{\@importdir}}% \def\jmlrmaketitlehook{% \label{}% \def\titlebreak{ }% \addtomaincontents{toc}% {% \protect\contentsline{papertitle}{\@title}{\thepage}% {page.\thepage}}% \pdfbookmark{\@shorttitle}{chapter.\theHchapter}% \def\@jmlr@authors@sep{ \& }% \tocchapterpubauthor{\@jmlr@authors}% {% \@jmlrabbrvproceedings \ifx\@jmlrvolume\@empty \space \else \space\@jmlrvolume \ifx\@jmlrissue\@empty \else (\@jmlrissue)% \fi :% \fi \protect\articlepagesref{#1}% \ifx\@jmlryear\@empty\else,\fi \space\@jmlryear }% \@write@author{#1}{\@jmlr@authors}% }% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% \@org@InputIfFileExists{##1}{##2}{##3}% }% {% \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% }% }% \def\Xprefix{#1}% \let\jmlrvolume\@gobble \let\jmlryear\@gobble \let\jmlrworkshop\@gobble \let\jmlrissue\@gobble \let\jmlrpages\@gobble \jmlrimporthook \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup \gdef\@shortauthor{}% \gdef\@shorttitle{}% \gdef\@firstauthor{}% \gdef\@jmlr@authors{\@jmlrauthors}% \gdef\@jmlrauthors{}% \gdef\@firstsurname{}% } \newcommand{\importpaper}[3][]{% \ClassError{jmlrbook}{\string\importpaper\space not permitted outside `jmlrpapers' environment}{}% } \newcommand{\@importarticle}[3][\@importdir\@importfile]{% \bgroup \def\@importdir{#2/}% \def\@importfile{#3}% \@write@jmlr@import{#1}{#2}{#3}% \def\@extra@b@citeb{#1}% \def\@extra@binfo{#1}% \def\jmlrmaketitlehook{% \def\titlebreak{ }% \addtomaincontents{toc}% {% \protect\contentsline{papertitle}{\@title}{\thepage}% {page.\thepage}}% \label{}% \pdfbookmark{\@shorttitle}{chapter.\theHchapter}% \def\@jmlr@authors@sep{ \& }% \tocchapterauthor{\@jmlr@authors}% \@write@author{#1}{\@jmlr@authors}% \jmlrpages{}% \jmlrvolume{}% \jmlryear{}% \jmlrsubmitted{}% \jmlrpublished{}% \jmlrproceedings{}{}% }% \graphicspath{{\@importdir}}% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% \@org@InputIfFileExists{##1}{##2}{##3}% }% {% \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% }% }% \def\Xprefix{#1}% \jmlrimporthook \let\ps@jmlrtps\ps@articlet \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup \gdef\@shortauthor{}% \gdef\@shorttitle{}% \gdef\@firstauthor{}% \gdef\@jmlr@authors{\@jmlrauthors}% \gdef\@jmlrauthors{}% \gdef\@firstsurname{}% } \newcommand{\importarticle}[3][]{% \ClassError{jmlrbook}{\string\importarticle\space not permitted outside `jmlrpapers' environment}{}% } \newcommand{\addtocpart}[1]{% \cleardoublepage \refstepcounter{tocpart}% \addtocontents{toc}{\protect\tocpart{#1}}% \pdfbookmark[-1]{#1}{part.\thetocpart}% } \newcounter{tocpart} \newcommand{\tocpart}[1]{% \addpenalty{-\@highpenalty}% \vskip 1.0ex \@plus\p@ \setlength\@tempdima{2.25em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \large\bfseries \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss \null}\par \penalty\@highpenalty \endgroup } \setlength{\prechapterskip}{3em} \setlength{\postchapterskip}{20pt} \renewcommand{\chapternumberformat}[1]{% \Large\bfseries \@chapapp\space#1\par } \renewcommand{\chaptertitleformat}[1]{% \Large\bfseries #1} \renewcommand*{\chapterformat}{% \raggedright } \renewcommand{\preparthook}{\cleardoublepage\null\vfil} \renewcommand{\partnumberformat}[1]{% \Huge\bfseries \@partapp\nobreakspace#1\par\nobreak \vskip 20\p@ } \def\postparthook{% \thispagestyle{empty}% \vfil\newpage \null \thispagestyle{empty}% \newpage } \newcommand{\@curparthead}{} \renewcommand{\parttitleformat}[1]{#1% \gdef\@curparthead{\@partapp\space \thepart. #1}% \@mkboth{\@curparthead}{\@curparthead}% } \renewcommand{\firstpageno}[1]{} \newcommand{\tocchapterauthor}[1]{% \addtomaincontents{toc}{\protect\contentsline{chapterauthor}{% #1}{}{}}% } \newcommand{\tocchapterpubauthor}[2]{% \addtomaincontents{toc}{\protect\contentsline{chapterauthor}{% #1; #2.}{}{}}% } \renewcommand*\@pnumwidth{2em} \renewcommand*\l@part[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ %\setlength\@tempdima{5em}% \settowidth\@tempdima{\large\bfseries \@partapp\space MM}% \vbox{% \pagerule \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \large\bfseries \advance\leftskip\@tempdima \hskip -\leftskip \renewcommand*\numberline[1]{\hb@xt@ \@tempdima {\@partapp\space ##1\hfil }}% #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss \normalfont\normalsize #2}\par \penalty\@highpenalty \endgroup \pagerule }% \fi} \renewcommand{\l@chapter}[2]{% \ifnum\c@tocdepth>\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus \p@ \setlength\@tempdima{2em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \large \bfseries \advance \leftskip \@tempdima \hskip -\leftskip \renewcommand*\numberline[1]{\hb@xt@ \@tempdima {##1\hfil }}% #1\nobreak \hfil \nobreak \hb@xt@ \@pnumwidth {\hss \normalfont\normalsize #2}\par \penalty \@highpenalty \endgroup \fi } \newcommand*{\l@papertitle}[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{3em}% \begingroup \leavevmode \raggedright\itshape #1\nobreak\hfill \nobreak\hb@xt@\@pnumwidth{\hss \normalfont#2}% \par \penalty\@highpenalty \endgroup \fi } \newcommand*\l@chapterauthor[2]{% \ifnum \c@tocdepth >\m@ne \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \raggedright \parbox{\linewidth-\@pnumwidth}{\raggedright#1\par}% \par \endgroup \fi} \renewcommand*\l@section[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{3em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \normalsize\mdseries \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \endgroup \fi} \renewcommand*\l@subsection[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{3.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \normalsize\mdseries \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \endgroup \fi} \renewcommand*{\chaptermark}[1]{% \@mkboth{\@curparthead}{\protect\thechapter. #1}% } \newcommand{\firstpagehead}{} \newcommand{\firstpagefoot}{% \@reprint\hfill\thepage } \newcommand*{\headfont}{\reset@font\small\scshape}% \newcommand*{\footfont}{\reset@font\small\itshape}% \newcommand*{\ps@chplain}{% \let\@mkboth\@gobbletwo \renewcommand*{\@oddhead}{\headfont\firstpagehead}% \renewcommand*{\@evenhead}{}% \renewcommand*{\@oddfoot}{\footfont\firstpagefoot}% \renewcommand*{\@evenfoot}{\footfont\thepage\hfill }% } \let\ps@plain\ps@chplain \newcommand*{\ps@article}{% \let\@mkboth\@gobbletwo \renewcommand*{\@oddhead}{\headfont\hfill\@shorttitle}% \renewcommand*{\@evenhead}{\headfont\@shortauthor\hfill}% \renewcommand*{\@oddfoot}{\footfont\hfill\thepage} \renewcommand*{\@evenfoot}{\footfont\thepage\hfill} } \newcommand*{\ps@articlet}{% \let\@mkboth\@gobbletwo \renewcommand*{\@oddhead}{}% \renewcommand*{\@evenhead}{}% \renewcommand*{\@oddfoot}{\footfont\hfill\thepage} \renewcommand*{\@evenfoot}{\footfont\thepage\hfill} } \newcommand*{\ps@jmlrbook}{% \renewcommand*{\@oddfoot}{\footfont\hfill\thepage} \renewcommand*{\@evenfoot}{\footfont\thepage\hfill} \def\@evenhead{\headfont\leftmark\hfill}% \def\@oddhead{\hfill\headfont\rightmark}% \let\@mkboth\markboth \renewcommand*{\sectionmark}[1]{}% } \newcommand*{\markleft}[1]{% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \expandafter\@markleft\@themark{#1}% \@temptokena \expandafter{\@themark}% \mark{\the\@temptokena} \endgroup \if@nobreak \ifvmode \nobreak \fi \fi } \newcommand*{\@markleft}[3]{% \@temptokena{#2}% \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}} } \renewcommand*{\morefrontmatter}{\pagestyle{jmlrbook}% \def\chaptermark##1{% \@mkboth{##1\hfill}{\hfill##1}}% } \renewcommand*{\moremainmatter}{\pagestyle{jmlrbook}% \def\chaptermark##1{% \@mkboth{\@curparthead}{\protect\thechapter. ##1}% }% } \renewcommand*\bibsection{\section*{\refname}} \jmlrbookcommands \providecommand*{\SetNoLine}{\SetAlgoNoLine} \providecommand*{\SetVline}{\SetAlgoVlined} \providecommand*{\Setvlineskip}{\SetVlineSkip} \providecommand*{\SetLine}{\SetAlgoLined} \providecommand*{\dontprintsemicolon}{\DontPrintSemicolon} \providecommand*{\printsemicolon}{\PrintSemicolon} \providecommand*{\incmargin}{\IncMargin} \providecommand*{\decmargin}[1]{\DecMargin{-#1}} \providecommand*{\setnlskip}{\SetNlSkip} \providecommand*{\Setnlskip}{\SetNlSkip} \providecommand*{\setalcapskip}{\SetAlCapSkip} \providecommand*{\setalcaphskip}{\SetAlCapHSkip} \providecommand*{\nlSty}{\NlSty} \providecommand*{\Setnlsty}{\SetNlSty} \providecommand*{\linesnumbered}{\LinesNumbered} \providecommand*{\linesnotnumbered}{\LinesNotNumbered} \providecommand*{\linesnumberedhidden}{\LinesNumberedHidden} \providecommand*{\showln}{\ShowLn} \providecommand*{\showlnlabel}{\ShowLnLabel} \providecommand*{\nocaptionofalgo}{\NoCaptionOfAlgo} \providecommand*{\restorecaptionofalgo}{\RestoreCaptionOfAlgo} \providecommand*{\restylealgo}{\RestyleAlgo} \providecommand*{\Titleofalgo}{\TitleOfAlgo} \endinput %% %% End of file `jmlrbook.cls'.