%%
|
|
%% 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{</rdf:li><rdf:li>}
|
|
\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{<h2>\prefacename</h2>}%
|
|
}%
|
|
{%
|
|
}
|
|
\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{<a href="#1">}#2\HCode{</a>}}%
|
|
\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{<table cellpadding="2" cellspacing="2" border="0" width="100\%">}%
|
|
\HCode{<tbody><tr><td valign="top">}%
|
|
\HCode{<h1>}%
|
|
\@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{</h1>}%
|
|
\newline
|
|
\textbf{Editors: \@author}
|
|
\HCode{</td><td valign="top">}%
|
|
\@logo
|
|
\HCode{</td></tr></tbody></table>}%
|
|
\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'.
|