From cf902eaabacb3ba258a35e8e461a2315c35d59e8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 2 Dec 2010 01:14:48 +0000 Subject: jmlr 1.09 (1dec10) git-svn-id: svn://tug.org/texlive/trunk@20630 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/jmlr/jmlr.cls | 150 +++++++++++++++++++------- Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls | 90 +++++++++++----- 2 files changed, 170 insertions(+), 70 deletions(-) (limited to 'Master/texmf-dist/tex/latex/jmlr') diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlr.cls b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls index 8ae797d599b..3f8f8151f2a 100644 --- a/Master/texmf-dist/tex/latex/jmlr/jmlr.cls +++ b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls @@ -41,7 +41,7 @@ %% First editor: %% Second editor: \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jmlr}[2010/07/27 v1.08 (NLCT) Journal of Machine Learning Research] +\ProvidesClass{jmlr}[2010/12/01 v1.09 (NLCT) Journal of Machine Learning Research] \newif\if@openright \newif\if@mainmatter \@mainmattertrue \@ifundefined{ifgrayscale}{ @@ -85,10 +85,10 @@ \viiXxfalse \DeclareOption{7x10}{\viiXxtrue} \DeclareOption{letterpaper}{\PassOptionsToPackage{letterpaper}{typearea}} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ExecuteOptions{twoside,letterpaper} \ProcessOptions -\LoadClass[pointednumbers,normalheadings]{scrartcl} +\LoadClass{article} \ifviiXx \setlength{\paperwidth}{7in} \setlength{\paperheight}{10in} @@ -126,13 +126,34 @@ \def\ds@draft{\overfullrule 5pt} \bibliographystyle{plainnat} \bibpunct{(}{)}{;}{a}{,}{,} -\addtokomafont{section}{\rmfamily\large} -\addtokomafont{subsection}{\rmfamily\normalsize} -\addtokomafont{subsubsection}{\rmfamily\mdseries\normalsize\scshape} -\addtokomafont{paragraph}{\rmfamily\normalsize} -\addtokomafont{subparagraph}{\rmfamily\itshape\normalsize} -\renewcommand*{\othersectionlevelsformat}[1]{% - \csname pre#1num\endcsname\csname the#1\endcsname\autodot\enskip} +\renewcommand{\section}{\@startsection{section}{1}{\z@}% + {-0.24in \@plus -1ex \@minus -.2ex}% + {0.10in \@plus.2ex}% + {\normalfont\rmfamily\bfseries\large\raggedright}% +} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-0.20in \@plus -1ex \@minus -.2ex}% + {0.08in \@plus .2ex}% + {\normalfont\rmfamily\bfseries\normalsize\raggedright}% +} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-0.18in \@plus -1ex \@minus -.2ex}% + {0.08in \@plus .2ex}% + {\normalfont\normalsize\rmfamily\mdseries\scshape\raggedright}% +} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.5ex plus 0.5ex minus .2ex}% + {-1em}% + {\normalfont\normalsize\rmfamily\bfseries}% +} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {1.5ex plus 0.5ex minus .2ex}% + {-1em}% + {\normalfont\normalsize\rmfamily\bfseries\itshape}} +\renewcommand*\@seccntformat[1]{% + \csname pre#1num\endcsname + \csname the#1\endcsname.\enskip +} \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize \advance\@tempdima-15pt\parshape \@ne 15pt \@tempdima}\par \parindent 2em\noindent \hbox to \z@{\hss{\@thefnmark}. \hfil}#1} @@ -140,7 +161,7 @@ \renewenvironment{abstract}{\HCode{

}Abstract\HCode{

}}{}% \else \renewenvironment{abstract} - {\centerline{\large\bfseries Abstract}\vspace{0.7ex}% + {{\centering\large\bfseries Abstract\par}\vspace{0.7ex}% \bgroup \leftskip 20pt\rightskip 20pt\small\noindent\ignorespaces}% {\par\egroup\vskip 0.25ex} @@ -244,8 +265,10 @@ Keywords:} \ignorespaces}% \def\@endeditor{\normalsize} \def\jmlrpretitle{\vskip\beforetitskip\begin{center}\Large\bfseries} \def\jmlrposttitle{\par\end{center}\vskip\aftertitskip} +\newcommand*{\nametag}[1]{} \def\jmlrpreauthor{% \bgroup + \def\nametag##1{##1}% \def\and{\unskip\enspace{\normalfont and}\enspace}% \def\addr{\small\itshape}% \def\name{\ClassError{jmlr}{Use \string\Name{Author's Name} not \string\name}{}}% @@ -256,13 +279,13 @@ Keywords:} \ignorespaces}% } \def\@email{\hfill\small\mdseries\scshape}% \def\@name{\normalsize\upshape\bfseries}% -\def\@parsename#1 #2\@nil{% +\def\@parsename#1 #2\end@parsename{% \def\@tmp{#2}% - \ifx\@tmp\@empty + \ifx\@tmp\@nnil \def\@surname{#1}% \let\@nextparsename\@parsenamenoop \else - \@getinitial#1-\relax\relax\end + \@getinitial#1-\relax\relax\end@getinitial \ifx\@forenames\@empty \def\@forenames{#1}% \protected@edef\@initials{\@initial}% @@ -274,10 +297,10 @@ Keywords:} \ignorespaces}% \fi \let\@nextparsename\@parsename \fi - \@nextparsename#2\@nil + \@nextparsename#2\end@parsename } -\def\@parsenamenoop#1\@nil{} -\def\@getinitial#1#2-#3#4\end{% +\def\@parsenamenoop#1\end@parsename{} +\def\@getinitial#1#2-#3#4\end@getinitial{% \def\@jmlr@tmp{#3}% \if\@jmlr@tmp\relax \def\@initial{#1.}% @@ -288,7 +311,8 @@ Keywords:} \ignorespaces}% \newcommand*{\Name}[1]{% \def\@forenames{}% \def\@surname{}% - \@parsename#1 \@nil + \def\nametag##1{}% + \@parsename#1 \@nil\end@parsename \ifx\@shortauthor\@empty \ifx\@sauthor\@empty \global\let\@shortauthor\@surname @@ -305,6 +329,7 @@ Keywords:} \ignorespaces}% \noexpand\@jmlr@authors@sep \@initials\space\@surname}% \fi + \def\nametag##1{##1}% \@name #1% } \newcommand*{\Email}[1]{{\@email #1}} @@ -338,13 +363,20 @@ Keywords:} \ignorespaces}% \gdef\@editor{#1}% } \def\firstpageno#1{\setcounter{page}{#1}} -\AtEndDocument{% +\AtEndDocument{\@jmlrenddoc} +\newcommand*{\@jmlrenddoc}{% \@ifundefined{phantomsection}{}{\phantomsection}% \protected@edef\@currentlabelname{end of \@shorttitle}% \label{jmlrend}% + \global\let\@reprint\@empty } \newcommand*{\@titlefoot}{\scriptsize\copyright\space\@jmlryear - \space\@jmlrauthors.\hfill} + \space\@jmlrauthors.\hfill + \@reprint +} +\let\@reprint\@empty +\newcommand{\reprint}[1]{% + \gdef\@reprint{Reprinted with permission for JMLR#1}} \newcommand\ps@jmlrtps{% \let\@mkboth\@gobbletwo \def\@oddhead{\scriptsize \@jmlrproceedings @@ -449,7 +481,7 @@ Keywords:} \ignorespaces}% \newcommand*{\appendixsrefname}{Appendices} \newcommand*{\partrefname}{Part} \newcommand*{\partsrefname}{Parts} -\newcommand*{\objectref}[5]{% +\DeclareRobustCommand*{\objectref}[5]{% \let\@objectname\@empty \def\@objectref{}% \let\@prevsep\@empty @@ -518,6 +550,11 @@ Keywords:} \ignorespaces}% \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 @@ -575,16 +612,14 @@ Keywords:} \ignorespaces}% \fi \newenvironment{algorithm}[1][htbp]% {% - \@algocf@init% - \@algocf@init@caption \begin{algocf}[#1]% - \@algocf@start% + \renewcommand\@makecaption[2]{% + \hskip\AlCapHSkip + \parbox[t]{\hsize}{\algocf@captiontext{##1}{##2}}% + }% }% {% - \@algocf@finish% - \@algocf@term@caption \end{algocf}% - \@algocf@term } \setlength\algomargin{0pt} \newcommand{\artappendix}{\par @@ -642,6 +677,7 @@ Keywords:} \ignorespaces}% \newcounter{subfigure} \@addtoreset{subfigure}{figure} \renewcommand*{\thesubfigure}{\alph{subfigure}} +\newcommand*{\theHsubfigure}{\theHfigure.\alph{subfigure}} \renewcommand*{\p@subfigure}{\expandafter\@p@subfigure} \newcommand*{\@p@subfigure}[1]{% \protect\@subfigurelabel{\thefigure}{\thesubfigure}% @@ -674,23 +710,33 @@ Keywords:} \ignorespaces}% \@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}% - \begin{tabular}[#1]{@{}c@{}}% - #2\\ - \subfigurelabel{\thesubfigure}% + \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 - \end{tabular} + \begin{tabular}[#1]{@{}c@{}}% + \usebox\@subfloatcontsbox\\\usebox\@subfloatcapbox + \end{tabular}% \egroup } \newcounter{subtable} @@ -732,16 +778,24 @@ Keywords:} \ignorespaces}% \def\@subtabcap{#1}% \@subtable } - \newcommand*{\@subtable}[2][t]{% \refstepcounter{subtable}% - \begin{tabular}[#1]{@{}c@{}}% - \subtablelabel{\thesubtable}% + \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 - \\#2% + \begin{tabular}[#1]{@{}c@{}}% + \usebox\@subfloatcapbox\\\usebox\@subfloatcontsbox \end{tabular} } \newcounter{chapter} @@ -856,7 +910,19 @@ Keywords:} \ignorespaces}% \clearpage \fi \@mainmatterfalse} -\let\booktableofcontents\tableofcontents +\newcommand*{\booktocpreamble}{} +\newcommand\booktableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \booktocpreamble + \@starttoc{toc}% + \if@restonecol\twocolumn\fi +} \let\arttableofcontents\tableofcontents \newcommand{\artpart}{% \if@noskipsec \leavevmode\fi @@ -885,18 +951,20 @@ Keywords:} \ignorespaces}% \newcommand{\parttitleformat}[1]{% \Huge\bfseries#1% } +\newcommand*{\@parttoclabel}{part} +\def\@partapp{\partname} \newcommand{\partnumberformat}[1]{% - \Huge\bfseries \partname\nobreakspace#1\par\nobreak + \Huge\bfseries \@partapp\nobreakspace#1\par\nobreak \vskip 20\p@ } \newcommand{\preparthook}{\null\vfil} -\renewcommand*{\partformat}{\centering} +\newcommand*{\partformat}{\centering} \def\@bookpart[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% - \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \addcontentsline{toc}{\@parttoclabel}{\protect\numberline{\thepart}#1}% \else - \addcontentsline{toc}{part}{#1}% + \addcontentsline{toc}{\@parttoclabel}{#1}% \fi \markboth{}{}% {\interlinepenalty \@M diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls index 9ccf32d3d35..4dc4c64e7d3 100644 --- a/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls +++ b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls @@ -41,7 +41,7 @@ %% First editor: %% Second editor: \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jmlrbook}[2010/07/27 v1.07 (NLCT) JMLR Book Style] +\ProvidesClass{jmlrbook}[2010/12/01 v1.09 (NLCT) JMLR Book Style] \RequirePackage{xkeyval} \newcommand*{\@prehyperref}{} \define@key{jmlrbook.cls}{prehyperref}{% @@ -50,6 +50,8 @@ \grayscalefalse \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}} \DeclareOptionX{wcp}{\PassOptionsToClass{\CurrentOption}{jmlr}} @@ -125,8 +127,6 @@ \@nameuse{@jmlr@author@#1}% }% } -\newcommand*{\@parttoclabel}{part} -\newcommand*{\@partapp}{\partname} \renewcommand*\jmlrtitlehook{% \hypersetup{pdftitle={\@shorttitle}}% \let\jmlrtitlehook\relax @@ -140,6 +140,8 @@ \let\jmlrauthorhook\relax \let\@shortauthor\@empty } +\newcommand*{\@subtitle}{} +\newcommand*{\subtitle}[1]{\renewcommand*{\@subtitle}{#1}} \newcommand*{\@volume}{\@jmlrvolume} \newcommand*{\volume}[1]{\renewcommand*{\@volume}{#1}} \newcommand*{\@issue}{\@jmlrissue} @@ -371,18 +373,29 @@ \expandafter\Hy@setref@link#1\@empty\@empty\@nil{#2}% \fi } -\AtBeginDocument{\renewcommand\@secondoffive[5]{#2}} +\AtBeginDocument{% + \renewcommand\@secondoffive[5]{#2}% +} \def\@setimportlabel{% \let\@mainauxout\@auxout \let\HRlabel\label } -\AtBeginDocument{% +\AtBeginDocument{\@jmlrbegindoc} +\newcommand*\@jmlrbegindoc{ \@setimportlabel \gdef\@setimportlabel{\let\ref\Xref \let\pageref\Xpageref}% \let\ReadBookmarks\relax } \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}% @@ -418,6 +431,13 @@ \protected@write\@mainauxout{}{\string\@jmlr@import{#1}{#2}{#3}}% } \newcommand*{\@jmlr@import}[3]{} +\def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + \refstepcounter{chapter}% +}% +\newcommand*{\jmlrimporthook}{} \newcommand*{\@importpubpaper}[4][\@importdir\@importfile]{% \bgroup \def\@importdir{#2/}% @@ -428,7 +448,7 @@ \jmlrpages{#4}% \graphicspath{{\@importdir}}% \def\jmlrmaketitlehook{% - \refstepcounter{chapter}% + \label{}% \addtomaincontents{toc}% {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% {page.\thepage}}% @@ -452,11 +472,6 @@ }% \@write@author{#1}{\@jmlrauthors}% }% - \def\jmlrpremaketitlehook{% - \cleardoublepage - \phantomsection - \let\@currentlabelname\@shorttitle - }% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% \@org@InputIfFileExists{##1}{##2}{##3}% @@ -466,6 +481,7 @@ }% }% \def\Xprefix{#1}% + \jmlrimporthook \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup @@ -489,7 +505,7 @@ not permitted outside `jmlrpapers' environment}{}% \jmlrpages{\protect\@articlepagesref}% \graphicspath{{\@importdir}}% \def\jmlrmaketitlehook{% - \refstepcounter{chapter}% + \label{}% \addtomaincontents{toc}% {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% {page.\thepage}}% @@ -509,11 +525,6 @@ not permitted outside `jmlrpapers' environment}{}% }% \@write@author{#1}{\@jmlrauthors}% }% - \def\jmlrpremaketitlehook{% - \cleardoublepage - \phantomsection - \let\@currentlabelname\@shorttitle - }% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% \@org@InputIfFileExists{##1}{##2}{##3}% @@ -523,6 +534,7 @@ not permitted outside `jmlrpapers' environment}{}% }% }% \def\Xprefix{#1}% + \jmlrimporthook \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup @@ -548,7 +560,7 @@ not permitted outside `jmlrpapers' environment}{}% \addtomaincontents{toc}% {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% {page.\thepage}}% - \refstepcounter{chapter}% + \label{}% \pdfbookmark{\@shorttitle}{chapter.\thechapter}% \def\@jmlr@authors@sep{ \& }% \tocchapterauthor{\@jmlrauthors}% @@ -560,11 +572,6 @@ not permitted outside `jmlrpapers' environment}{}% \jmlrpublished{}% \jmlrproceedings{}{}% }% - \def\jmlrpremaketitlehook{% - \cleardoublepage - \phantomsection - \let\@currentlabelname\@shorttitle - }% \graphicspath{{\@importdir}}% \def\InputIfFileExists##1##2##3{% \IfFileExists{##1}{% @@ -575,6 +582,7 @@ not permitted outside `jmlrpapers' environment}{}% }% }% \def\Xprefix{#1}% + \jmlrimporthook \import{\@importdir\@importfile}% \def\Xprefix{}% \egroup @@ -650,7 +658,8 @@ not permitted outside `jmlrpapers' environment}{}% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ - \setlength\@tempdima{5em}% + %\setlength\@tempdima{5em}% + \settowidth\@tempdima{\large\bfseries \@partapp\space MM}% \vbox{% \pagerule \begingroup @@ -660,13 +669,34 @@ not permitted outside `jmlrpapers' environment}{}% \advance\leftskip\@tempdima \hskip -\leftskip \renewcommand*\numberline[1]{\hb@xt@ \@tempdima - {\partname\space ##1\hfil }}% - #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss }\par + {\@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}% @@ -726,9 +756,11 @@ not permitted outside `jmlrpapers' environment}{}% \@mkboth{\@curparthead}{\protect\thechapter. #1}% } \newcommand{\firstpagehead}{} -\newcommand{\firstpagefoot}{\hfill\thepage} -\renewcommand*{\headfont}{\reset@font\small\scshape}% -\renewcommand*{\footfont}{\reset@font\small\itshape}% +\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}% -- cgit v1.2.3