diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-18 23:21:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-18 23:21:28 +0000 |
commit | 0dfdf5c49b160d464b74a9cae8882ea81cc47878 (patch) | |
tree | bdf5cdba055386a23c7c34606b0ac3cde619f5de | |
parent | 9af4aa84209bad3ca4dab9a48aa1922d2f748de2 (diff) |
new latex package jmlr 1.06 (18jun10)
git-svn-id: svn://tug.org/texlive/trunk@19046 c570f23f-e606-0410-a88d-b1316a301751
41 files changed, 15622 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/jmlr/CHANGES b/Master/texmf-dist/doc/latex/jmlr/CHANGES new file mode 100644 index 00000000000..9a42b677437 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/CHANGES @@ -0,0 +1,58 @@ +v1.06: + + jmlr.cls + + * Added tablecaptiontop and tablecaptionbottom class options + +v1.05: + + jmlrbook.cls + + * Added \productioneditors + +v1.04: + + * Added Perl script makejmlrbook + + jmlrbook.cls + + * Added patch to fix references in print mode + + * Added code to work with makejmlrbook + + jmlr.cls + + * Added code to work with makejmlrbook + +v1.03: + jmlrbook.cls + + * Added patch to combnat + + jmlr.cls + + * Added \editors, \editorname and \editorsname + +v1.02: + jmlrbook.cls: + + * Added \issue + + jmlr.cls + + * Added \jmlrissue + +v1.01 : + + jmlrbook.cls: + + * added \importpaper + + * added \titlebody, \SetTitleElement and \IfTitleElement to + make it easier to customise the front page of the book. + + jmlr.cls: + + * fixed the last page anchor. + +v1.0 : Initial release diff --git a/Master/texmf-dist/doc/latex/jmlr/INSTALL b/Master/texmf-dist/doc/latex/jmlr/INSTALL new file mode 100644 index 00000000000..805c257c5b3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/INSTALL @@ -0,0 +1,69 @@ +INSTALLATION + +If you have downloaded the jmlr bundle using the TeX Directory +Structure (TDS), that is you have downloaded the archive +jmlr.tds.zip containing doc, tex and source directories, you need to +follow the "Installing from TDS" instructions below. + +If you have downloaded the following files: + +jmlr.dtx +jmlr.ins + +You need to follow the "Installing from DTX and INS" instructions +below. + +For further information on installing LaTeX packages see: + +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings + +INSTALLING FROM TDS +=================== + +Files in tex and doc directories should go in the corresponding +TEXMF directories (for example, /usr/share/texmf-local/ or +C:\localtexmf\). + +*Remember to refresh TeX's database* + +Example (on UNIX like systems): + +unzip jmlr.tds.zip -d ~/texmf/ +texhash ~/texmf/ + +Move the makejmlrbook Perl script from scripts/jmlr/ to somewhere +on your path. If you are using Windows, you will also need to +move makejmlrbook.bat to the same location. + +INSTALLING FROM DTX AND INS +=========================== + +Run LaTeX on jmlr.ins to generate jmlr.cls and jmlrbook.cls: + +latex jmlr.ins + +To create the documentation (jmlr.pdf): + +pdflatex jmlr.dtx +makeindex -s gind.ist jmlr.idx +makeindex -s gglo.ist -o jmlr.gls jmlr.glo +pdflatex jmlr.dtx +pdflatex jmlr.dtx + +If TEXMF denotes the base directory of your local TeX installation (e.g. +/usr/share/texmf-local/ or C:\localtexmf\) then create the following +directories (if they don't already exist): + +TEXMF/doc/latex/jmlr +TEXMF/tex/latex/jmlr + +Move the documentation to TEXMF/doc/latex/jmlr/ + +Move jmlr.cls and jmlrbook.cls to TEXMF/tex/latex/jmlr/ + +*Remember to refresh TeX's database* + +Move the makejmlrbook Perl script to somewhere on your path. If +you are using Windows, you will also need to move makejmlrbook.bat +to the same location. + diff --git a/Master/texmf-dist/doc/latex/jmlr/README b/Master/texmf-dist/doc/latex/jmlr/README new file mode 100644 index 00000000000..2dce9e7f235 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/README @@ -0,0 +1,67 @@ +LaTeX Class : jmlr bundle v1.06 + +Last Modified : 2010-06-17 + +Author : Nicola L. C. Talbot + +This bundle provides: + + * jmlr class + * jmlrbook class + * makejmlrbook Perl script + +The jmlr class is a LaTeX2e class for articles for the Journal of +Machine Learning Research (JMLR) or for the JMLR Workshop and +Conference Proceedings (JMLR W&CP). It is designed as a replacement +for both jmlr2e.sty and jmlrwcp2e.sty. + +The jmlrbook class is a LaTeX2e class that can be used to combine +articles written using the jmlr class into a book. The jmlrbook +class uses the combine class and the hyperref package to produce +either a colour hyperlinked book for on-line viewing or a greyscale +nonhyperlinked book for printing. + +The makejmlrbook Perl script can be used to create the hyperlinked and +nonhyperlinked PDFs of a document using the jmlrbook class. It can also +create a set of HTML files that list the included papers with links +to their abstracts and the individual articles as PDFs. + +INSTALLATION + +See INSTALL file for installation instructions. + +REQUIREMENTS + +jmlr class requirements: + + KOMA-Script + xcolor + amsmath + amssymb + natbib + graphicx + url + algorithm2e + +jmlrbook class requirements: + + jmlr + combine + hyperref + xkeyval + combnat + setspace + +makejmlrbook Perl script requirements: + + Perl + TeX4ht + +LICENCE + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html +for the details of that license. + +Author's home page: http://theoval.cmp.uea.ac.uk/~nlct/ + diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.html b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.html new file mode 100644 index 00000000000..31e5052a65e --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.html @@ -0,0 +1,4505 @@ +<a + id="top"></a><?xml version="1.0" encoding="iso-8859-1" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd--> +<html xmlns="http://www.w3.org/1999/xhtml" +> +<head><title>LaTeX2εClasses for the Journal of Machine Learning Research</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> +<!-- xhtml,fn-in,css-in --> +<meta name="src" content="jmlr-manual.tex" /> +<meta name="date" content="2010-06-17 20:52:00" /> + +<style type="text/css"> +<!-- + +/* start css.sty */ +.cmmi-10{font-style: italic;} +.ecrm-1728{font-size:170%;} +.cmmi-12x-x-144{font-size:172%;font-style: italic;} +.ecrm-1200{font-size:120%;} +.cmsy-8{font-size:80%;} +.ectt-1200{font-size:120%; font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1200{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ectt-1000{ font-family: monospace;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecss-1000{ font-family: sans-serif;} +.ecrm-0900{font-size:90%;} +.ecrm-0800{font-size:80%;} +.ecss-0800{font-size:80%; font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecss-0800{ font-family: sans-serif;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecbx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ecsx-1000{ font-weight: bold;} +.ectt-0900{font-size:90%; font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ectt-0900{ font-family: monospace;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ecti-1000{ font-style: italic;} +.ectt-0800{font-size:80%; font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ectt-0800{ font-family: monospace;} +.ecti-0800{font-size:80%; font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecti-0800{ font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +.ecbi-1000{ font-weight: bold; font-style: italic;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +table.multicols { width:100%; margin-left:1em; margin-top:1em; margin-bottom:1em; } +.equation td{text-align:center; } +.equation-star td{text-align:center; } +table.equation-star { width:100%; } +table.equation { width:100%; } +table.align, table.alignat, table.xalignat, table.xxalignat, table.flalign {width:100%; margin-left:5%; white-space: nowrap;} +table.align-star, table.alignat-star, table.xalignat-star, table.flalign-star {margin-left:auto; margin-right:auto; white-space: nowrap;} +td.align-label { width:5%; text-align:center; } +td.align-odd { text-align:right; padding-right:0.3em;} +td.align-even { text-align:left; padding-right:0.6em;} +table.multline, table.multline-star {width:100%;} +td.gather {text-align:center; } +table.gather {width:100%;} +div.gather-star {text-align:center;} +div.important { background-color:red; } +/* end css.sty */ + + +--> +</style> +</head><body +> + <div class="maketitle"> + + + + + + + +<h2 class="titleHead"><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>2ε Classes for the Journal of Machine +Learning Research</h2> + <div class="author" ><span +class="ecrm-1200">Nicola L. C. Talbot</span> +<br /><a +href="http://theoval.cmp.uea.ac.uk/~nlct/" class="url" ><span +class="ectt-1200">http://theoval.cmp.uea.ac.uk/~nlct/</span></a></div><br /> +<div class="date" ><span +class="ecrm-1200">2010-06-17 (version 1.06)</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Contents</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Introduction</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-30002" id="QQ2-1-3">Required Packages</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-40003" id="QQ2-1-4">Guidelines for Article Authors</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-50003.1" id="QQ2-1-5">Title Information</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-60003.2" id="QQ2-1-6">Font Changing Commands</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-70003.3" id="QQ2-1-7">Structure</a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-80003.4" id="QQ2-1-8">Citations and Bibliography</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-90003.5" id="QQ2-1-9">Figures and Tables</a></span> +<br />   <span class="subsubsectionToc" >3.5.1 <a +href="#x1-100003.5.1" id="QQ2-1-10">Sub-Figures and Sub-Tables</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-110003.6" id="QQ2-1-11">Algorithms</a></span> +<br />  <span class="subsectionToc" >3.7 <a +href="#x1-120003.7" id="QQ2-1-12">Description Lists</a></span> +<br />  <span class="subsectionToc" >3.8 <a +href="#x1-130003.8" id="QQ2-1-13">Theorems, Lemmas etc</a></span> +<br />  <span class="subsectionToc" >3.9 <a +href="#x1-140003.9" id="QQ2-1-14">Cross-Referencing</a></span> +<br />  <span class="subsectionToc" >3.10 <a +href="#x1-150003.10" id="QQ2-1-15">Mathematics</a></span> +<br />  <span class="subsectionToc" >3.11 <a +href="#x1-160003.11" id="QQ2-1-17">Color vs Grayscale</a></span> +<br />  <span class="subsectionToc" >3.12 <a +href="#x1-170003.12" id="QQ2-1-18">Where To Go For Help</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-180004" id="QQ2-1-19">Guidelines for Production Editors</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-190004.1" id="QQ2-1-20"><span +class="ecss-1000">jmlrbook </span>Class Options</a></span> +<br />  <span class="subsectionToc" >4.2 <a +href="#x1-200004.2" id="QQ2-1-21">The Preamble</a></span> +<br />  <span class="subsectionToc" >4.3 <a +href="#x1-210004.3" id="QQ2-1-22">Main Book Commands</a></span> +<br />   <span class="subsubsectionToc" >4.3.1 <a +href="#x1-220004.3.1" id="QQ2-1-23">Cross-Referencing</a></span> +<br />  <span class="subsectionToc" >4.4 <a +href="#x1-230004.4" id="QQ2-1-24">Altering the Layout of the Main Title Page</a></span> +<br />  <span class="subsectionToc" >4.5 <a +href="#x1-240004.5" id="QQ2-1-25">Potential Pitfalls</a></span> + + + +<br />  <span class="subsectionToc" >4.6 <a +href="#x1-250004.6" id="QQ2-1-26">Creating the Book Using <span +class="ectt-1000">makejmlrbook</span></a></span> +<br /> <span class="sectionToc" ><a +href="#Q1-1-27">Index</a></span> + </div> +<!--l. 30--><p class="noindent" > +</p> + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Introduction</h3> +<!--l. 32--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class is for articles that need to be formatted according to the Journal of +Machine Learning Research style. This class is based on the <span +class="ecss-1000">jmlr2e</span><a + id="dx1-2001"></a> and <span +class="ecss-1000">jmlrwcp2e</span><a + id="dx1-2002"></a> +packages but has been adapted to enable it to work better with the <span +class="ecss-1000">combine</span><a + id="dx1-2003"></a> class to +collate the articles into a book. <a +href="#x1-40003">§3 </a><a +href="#x1-40003">Guidelines for Article Authors<!--tex4ht:ref: sec:jmlr --></a> describes how to use +the <span +class="ecss-1000">jmlr </span>class. +</p><!--l. 39--><p class="indent" > The <span +class="ecss-1000">jmlrbook </span>class is for combining JMLR articles into a book. This class uses +<span +class="ecss-1000">combine</span><a + id="dx1-2004"></a> and <span +class="ecss-1000">hyperref</span><a + id="dx1-2005"></a>, which are troublesome enough on their own but together are +quite fragile. The <span +class="ecss-1000">jmlrbook </span>class redefines some internals to get <span +class="ecss-1000">combine </span>and <span +class="ecss-1000">hyperref</span> +to work together but some packages (e.g. <span +class="ecss-1000">subfig</span><a + id="dx1-2006"></a> and <span +class="ecss-1000">pdfpages</span><a + id="dx1-2007"></a>) are likely to +mess everything up and cause errors. This is why the guidelines to authors are +fairly stringent and why <span +class="ecss-1000">jmlr </span>will give an error message if certain packages are +loaded.<span class="footnote-mark"><a +href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a + id="x1-2008f1"></a> +The <span +class="ecss-1000">jmlrbook </span>class works best with PDF<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> so authors should ensure that their +articles can compile with PDF<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. <a +href="#x1-180004">§4 </a><a +href="#x1-180004">Guidelines for Production Editors<!--tex4ht:ref: sec:jmlrbook --></a> describes +how to use the <span +class="ecss-1000">jmlrbook </span>class. +</p><!--l. 56--><p class="indent" > The <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-2015"></a> Perl script can be used to make a book that uses the <span +class="ecss-1000">jmlrbook</span> +class. In addition to creating the print and online versions of the book, it will +compile the individual articles, running Bib<span class="TEX">T<span +class="E">E</span>X</span> where necessary, and create a +set of HTML files containing a list of all the articles imported into the book +along with links to the abstracts and PDFs of the individual articles. <a +href="#x1-250004.6">§4.6 +</a><a +href="#x1-250004.6">Creating the Book Using <span +class="ectt-1000">makejmlrbook</span><!--tex4ht:ref: sec:makejmlrbook --></a> describes how to use the <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-2016"></a> +application. +</p><!--l. 65--><p class="noindent" > +</p> +<!--l. 65--><p class="noindent" ><a +href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-30002"></a>Required Packages</h3> +<!--l. 67--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class is based on the <span +class="ecss-1000">scrartcl</span><a + id="dx1-3001"></a> class and loads the following packages: +<span +class="ecss-1000">amsmath</span><a + id="dx1-3002"></a>, <span +class="ecss-1000">amssymb</span><a + id="dx1-3003"></a>, <span +class="ecss-1000">natbib</span><a + id="dx1-3004"></a>, <span +class="ecss-1000">url</span><a + id="dx1-3005"></a>, <span +class="ecss-1000">graphicx</span><a + id="dx1-3006"></a> and <span +class="ecss-1000">algorithm2e</span><a + id="dx1-3007"></a>. Note that unlike the +<span +class="ecss-1000">jmlr2e</span><a + id="dx1-3008"></a> and <span +class="ecss-1000">jmlrwcp2e</span><a + id="dx1-3009"></a> packages, this class file does not load the obsolete <span +class="ecss-1000">epsfig</span><a + id="dx1-3010"></a> +package. +</p><!--l. 73--><p class="indent" > The <span +class="ecss-1000">jmlrbook </span>class additionally loads the <span +class="ecss-1000">combine</span><a + id="dx1-3011"></a> class and the following packages: +<span +class="ecss-1000">hyperref</span><a + id="dx1-3012"></a>, <span +class="ecss-1000">xkeyval</span><a + id="dx1-3013"></a>, <span +class="ecss-1000">combnat</span><a + id="dx1-3014"></a> and <span +class="ecss-1000">setspace</span><a + id="dx1-3015"></a>. +</p><!--l. 77--><p class="indent" > The <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-3016"></a> script requires Perl, <span class="TEX">T<span +class="E">E</span>X</span> and <span class="TEX">T<span +class="E">E</span>X</span>4ht. + + + +</p><!--l. 79--><p class="noindent" > +</p> +<!--l. 79--><p class="noindent" ><a +href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-40003"></a>Guidelines for Article Authors</h3> +<!--l. 82--><p class="noindent" >Article authors should use the <span +class="ecss-1000">jmlr </span>class. This class comes with example files +<span +class="ectt-1000">jmlr-sample.tex </span>and <span +class="ectt-1000">jmlrwcp-sample.tex</span>, which can be used as templates. +</p><!--l. 86--><p class="indent" > The following class options are available: + </p><dl class="description"><dt class="description"> +<span +class="ecsx-1000">nowcp</span><a + id="dx1-4001"></a> </dt><dd +class="description">The article is for the Journal of Machine Learning Research (default). + </dd><dt class="description"> +<span +class="ecsx-1000">wcp</span><a + id="dx1-4002"></a> </dt><dd +class="description">The article is for JMLR Workshop and Conference Proceedings. + </dd><dt class="description"> +<span +class="ecsx-1000">color</span><a + id="dx1-4003"></a> </dt><dd +class="description">Color version (see <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a>). + </dd><dt class="description"> +<span +class="ecsx-1000">gray</span><a + id="dx1-4004"></a> </dt><dd +class="description">Grayscale version (see <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a>). + </dd><dt class="description"> +<span +class="ecsx-1000">tablecaptiontop</span><a + id="dx1-4005"></a> </dt><dd +class="description">in a <span +class="ecss-1000">table</span><a + id="dx1-4006"></a><a + id="dx1-4007"></a> environment, <span +class="ectt-1000">\floatconts</span><a + id="dx1-4008"></a> puts the caption at the top. + </dd><dt class="description"> +<span +class="ecsx-1000">tablecaptionbottom</span><a + id="dx1-4009"></a> </dt><dd +class="description">in a <span +class="ecss-1000">table</span><a + id="dx1-4010"></a><a + id="dx1-4011"></a> environment, <span +class="ectt-1000">\floatconts</span><a + id="dx1-4012"></a> puts the caption at the + bottom.</dd></dl> +<!--l. 103--><p class="noindent" > +</p> +<!--l. 103--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-50003.1"></a>Title Information</h4> +<!--l. 105--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class uses different syntax from <span +class="ecss-1000">jmlr2e</span><a + id="dx1-5001"></a> and <span +class="ecss-1000">jmlrwcp2e</span><a + id="dx1-5002"></a> to specify the title +information. In particular, it doesn’t define <span +class="ectt-1000">\jmlrheading </span>and <span +class="ectt-1000">\ShortHeading</span>. Instead, +the following commands should be used: +</p><!--l. 110--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrvolume</span><span +class="ectt-0900"> </span></span><a + id="dx1-5003"></a> <span +class="ectt-1000">\jmlrvolume{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">number</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 112--><p class="noindent" > +This specifies the volume number. For example: + + + +</p> + <div class="verbatim" id="verbatim-1"> +\jmlrvolume{2} +</div> +<!--l. 116--><p class="nopar" > +</p><!--l. 118--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlryear</span><span +class="ectt-0900"> </span></span><a + id="dx1-5004"></a> <span +class="ectt-1000">\jmlryear{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">year</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 120--><p class="noindent" > +This specifies the year. For example: + + + +</p> + <div class="verbatim" id="verbatim-2"> +\jmlryear{2010} +</div> +<!--l. 124--><p class="nopar" > +</p><!--l. 126--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrsubmitted</span><span +class="ectt-0900"> </span></span><a + id="dx1-5005"></a> <span +class="ectt-1000">\jmlrsubmitted{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">date</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 128--><p class="noindent" > +This specifies the submission date. +</p><!--l. 131--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrpublished</span><span +class="ectt-0900"> </span></span><a + id="dx1-5006"></a> <span +class="ectt-1000">\jmlrpublished{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">date</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 133--><p class="noindent" > +This specifies the publication date. +</p><!--l. 136--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrworkshop</span><span +class="ectt-0900"> </span></span><a + id="dx1-5007"></a> <span +class="ectt-1000">\jmlrworkshop{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 138--><p class="noindent" > +This specifies the workshop title (for use with the <span +class="ecss-1000">wcp</span><a + id="dx1-5008"></a> class option). +</p><!--l. 142--><p class="indent" > The title information is specified using the commands described below. These +commands should typically go in the preamble. As with most class files, The title itself +is produced using +</p><!--l. 145--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\maketitle</span><span +class="ectt-0900"> </span></span><a + id="dx1-5009"></a> <span +class="ectt-1000">\maketitle </span></div><hr> +</p><!--l. 147--><p class="noindent" > +This command should go after <span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\begin{document}</span></span></span>. For example: + + + +</p> + <div class="verbatim" id="verbatim-3"> +\begin{document} + <br />\maketitle +</div> +<!--l. 152--><p class="nopar" > Before <span +class="ectt-1000">\maketitle</span>, you must specify the title information using the following +commands: +</p><!--l. 156--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\title</span><span +class="ectt-0900"> </span></span><a + id="dx1-5010"></a> <span +class="ectt-1000">\title[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 158--><p class="noindent" > +This specifies the article’s title. A short title for the page header can be supplied via the +optional argument <span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span>. +</p><!--l. 162--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\editor</span><span +class="ectt-0900"> </span></span><a + id="dx1-5011"></a> <span +class="ectt-1000">\editor{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 164--><p class="noindent" > +This specifies the editor’s name. If there is more than one editor, use: +</p><!--l. 167--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\editors</span><span +class="ectt-0900"> </span></span><a + id="dx1-5012"></a> <span +class="ectt-1000">\editors{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">names</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 169--><p class="noindent" > +</p><!--l. 171--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\author</span><span +class="ectt-0900"> </span></span><a + id="dx1-5013"></a> <span +class="ectt-1000">\author{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">author specs</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 173--><p class="noindent" > +This specifies the author. The specifications <span +class="cmsy-10">⟨</span><span +class="ecti-1000">author specs</span><span +class="cmsy-10">⟩ </span>are a bit different to <span +class="ecss-1000">jmlr2e</span><a + id="dx1-5014"></a> +and <span +class="ecss-1000">jmlrwcp2e</span><a + id="dx1-5015"></a>. Use +</p><!--l. 176--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\Name</span><span +class="ectt-0900"> </span></span><a + id="dx1-5016"></a> <span +class="ectt-1000">\Name{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">author’s name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 178--><p class="noindent" > +to specify the author’s name. Note that if the surname contains a space it must be +grouped (enclosed in braces {}). Similarly if the initial letter of each forename is a +diacritic it must be grouped. (See below for examples.) +</p><!--l. 183--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\Email</span><span +class="ectt-0900"> </span></span><a + id="dx1-5017"></a> <span +class="ectt-1000">\Email{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">author’s email</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 185--><p class="noindent" > +This specifies the author’s email address. It should only be used within the argument to +<span +class="ectt-1000">\author</span>. +</p><!--l. 189--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\and</span><span +class="ectt-0900"> </span></span><a + id="dx1-5018"></a> <span +class="ectt-1000">\and </span></div><hr> +</p><!--l. 191--><p class="noindent" > +This should be used to separate two authors with the same address. +</p><!--l. 194--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\AND</span><span +class="ectt-0900"> </span></span><a + id="dx1-5019"></a> <span +class="ectt-1000">\AND </span></div><hr> +</p><!--l. 196--><p class="noindent" > +This should be used to separate authors with different addresses. +</p><!--l. 199--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\\</span><span +class="ectt-0900"> </span></span><a + id="dx1-5020"></a> <span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\\</span></span></span> </div><hr> +</p><!--l. 201--><p class="noindent" > +This should be used before an author’s address or between authors with the same +address where there are more that two authors. +</p><!--l. 205--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\addr</span><span +class="ectt-0900"> </span></span><a + id="dx1-5021"></a> <span +class="ectt-1000">\addr </span></div><hr> +</p><!--l. 207--><p class="noindent" > +This should be used at the start of the address. +</p><!--l. 210--><p class="indent" > + + + + </p><dl class="description"><dt class="description"> +<span +class="ecbx-1000">Example 1</span> </dt><dd +class="description">Two authors with the same address: + + + + <div class="verbatim" id="verbatim-4"> + \author{\Name{Jane Doe} \Email{abc@sample.com}\and +  <br />   \Name{John {Basey Fisher}} \Email{xyz@sample.com}\\ +  <br />   \addr Address} +</div> + <!--l. 216--><p class="nopar" > In this example, the second author has a space in his surname so the surname + needs to be grouped. + </p></dd><dt class="description"> +<span +class="ecbx-1000">Example 2</span> </dt><dd +class="description">Three authors with the same address: + + + + <div class="verbatim" id="verbatim-5"> + \author{\Name{Fred Arnold {de la Cour}} \Email{an1@sample.com}\\ +  <br />   \Name{Jack Jones} \Email{an3@sample.com}\\ +  <br />   \Name{{\’E}louise {\’E}abhla Finchley} \Email{an2@sample.com}\\ +  <br />   \addr Address} +</div> + <!--l. 226--><p class="nopar" > In this example, the third author has an accent on her forename initials so + grouping is required. + </p></dd><dt class="description"> +<span +class="ecbx-1000">Example 3</span> </dt><dd +class="description">Authors with a different address: + + + + <div class="verbatim" id="verbatim-6"> + \author{\Name{John Smith} \Email{abc@sample.com}\\ +  <br />  \addr Address 1 +  <br />  \AND +  <br />  \Name{May Brown} \Email{xyz@sample.com}\\ +  <br />  \addr Address 2 +  <br /> } +</div> + <!--l. 238--><p class="nopar" ></p></dd></dl> +<!--l. 241--><p class="noindent" > +</p> +<!--l. 241--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-60003.2"></a>Font Changing Commands</h4> +<!--l. 243--><p class="noindent" >Use the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>2<span +class="cmmi-10">ε</span> font changing commands, such as <span +class="ectt-1000">\bfseries </span>or <span +class="ectt-1000">\textbf{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span>, +rather than the obsolete <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>2.09 commands, such as <span +class="ectt-1000">\bf</span>. +</p><!--l. 247--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\url</span><span +class="ectt-0900"> </span></span><a + id="dx1-6001"></a> <span +class="ectt-1000">\url{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">address</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 249--><p class="noindent" > +This will typeset <span +class="cmsy-10">⟨</span><span +class="ecti-1000">address</span><span +class="cmsy-10">⟩ </span>in a typewriter font. Special characters, such as <span class="obeylines-h"><span class="verb"><span +class="ectt-1000">~</span></span></span>, are +correctly displayed. Example: + + + +</p> + <div class="verbatim" id="verbatim-7"> +\url{http://theoval.cmp.uea.ac.uk/~nlct/} +</div> +<!--l. 254--><p class="nopar" > +</p><!--l. 256--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\mailto</span><span +class="ectt-0900"> </span></span><a + id="dx1-6002"></a> <span +class="ectt-1000">\mailto{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">email address</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 258--><p class="noindent" > +This will typeset the given email address in a typewriter font. Note that this is not the +same as <span +class="ectt-1000">\Email</span>, which should only be used in the argument of <span +class="ectt-1000">\author</span>. +</p><!--l. 263--><p class="noindent" > +</p> +<!--l. 263--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-70003.3"></a>Structure</h4> +<!--l. 265--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">abstract</span><span +class="ectt-0900"> </span></span><a + id="dx1-7001"></a><a + id="dx1-7002"></a> <span +class="ectt-1000">\begin{abstract}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{abstract} </span></div><hr> +</p><!--l. 269--><p class="noindent" > +The abstract text should be displayed using the <span +class="ecss-1000">abstract </span>environment. +</p><!--l. 273--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">keywords</span><span +class="ectt-0900"> </span></span><a + id="dx1-7003"></a><a + id="dx1-7004"></a> <span +class="ectt-1000">\begin{keywords}</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">keyword list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">\end{keywords} </span></div><hr> +</p><!--l. 275--><p class="noindent" > +The keywords should be displayed using the <span +class="ecss-1000">keywords </span>environment. +</p><!--l. 279--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\acks</span><span +class="ectt-0900"> </span></span><a + id="dx1-7005"></a> <span +class="ectt-1000">\acks{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 281--><p class="noindent" > +This displays the acknowledgements. +</p><!--l. 284--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\section</span><span +class="ectt-0900"> </span></span><a + id="dx1-7006"></a> <span +class="ectt-1000">\section{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 286--><p class="noindent" > +Section titles are created using <span +class="ectt-1000">\section</span>. The heading is automatically numbered and +can be cross-referenced using <span +class="ectt-1000">\label </span>and <span +class="ectt-1000">\ref</span>. Unnumbered sections can be produced +using: +</p><!--l. 291--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\section*</span><span +class="ectt-0900"> </span></span><a + id="dx1-7007"></a> <span +class="ectt-1000">\section*{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 293--><p class="noindent" > +</p><!--l. 295--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsection</span><span +class="ectt-0900"> </span></span><a + id="dx1-7008"></a> <span +class="ectt-1000">\subsection{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 297--><p class="noindent" > +Sub-section titles are created using <span +class="ectt-1000">\subsection</span>. Unnumbered sub-sections can be +produced using: +</p><!--l. 300--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsection*</span><span +class="ectt-0900"> </span></span><a + id="dx1-7009"></a> <span +class="ectt-1000">\subsection*{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 302--><p class="noindent" > +</p><!--l. 304--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsubsection</span><span +class="ectt-0900"> </span></span><a + id="dx1-7010"></a> <span +class="ectt-1000">\subsubsection{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 306--><p class="noindent" > +Sub-sub-section titles are created using <span +class="ectt-1000">\subsubsection</span>. Unnumbered sub-sub-sections +can be produced using: + + + +</p><!--l. 309--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsubsection*</span><span +class="ectt-0900"> </span></span><a + id="dx1-7011"></a> <span +class="ectt-1000">\subsubsection*{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 311--><p class="noindent" > +</p><!--l. 313--><p class="noindent" >Further sectioning levels can be obtained using <span +class="ectt-1000">\paragraph </span>and <span +class="ectt-1000">\subparagraph</span>, but +these are unnumbered with running heads. +</p><!--l. 316--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\appendix</span><span +class="ectt-0900"> </span></span><a + id="dx1-7012"></a> <span +class="ectt-1000">\appendix </span></div><hr> +</p><!--l. 318--><p class="noindent" > +Use <span +class="ectt-1000">\appendix </span>to switch to the appendices. This changes <span +class="ectt-1000">\section </span>to produce an +appendix. Example: + + + +</p> + <div class="verbatim" id="verbatim-8"> +\appendix + <br />\section{Proof of Theorems} +</div> +<!--l. 324--><p class="nopar" > +</p><!--l. 326--><p class="noindent" > +</p> +<!--l. 326--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-80003.4"></a>Citations and Bibliography</h4> +<!--l. 328--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class automatically loads <span +class="ecss-1000">natbib</span><a + id="dx1-8001"></a> and sets the bibliography style to <span +class="ectt-1000">plainnat</span>. +References should be stored in a <span +class="ectt-1000">.bib </span>file. +</p><!--l. 332--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\bibliography</span><span +class="ectt-0900"> </span></span><a + id="dx1-8002"></a> <span +class="ectt-1000">\bibliography{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">bib file</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 334--><p class="noindent" > +This displays the bibliography. +</p><!--l. 337--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\citep</span><span +class="ectt-0900"> </span></span><a + id="dx1-8003"></a> <span +class="ectt-1000">\citep[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">pre note</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">][</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">post note</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 339--><p class="noindent" > +Use <span +class="ectt-1000">\citep </span>for a parenthetical citation. +</p><!--l. 342--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\citet</span><span +class="ectt-0900"> </span></span><a + id="dx1-8004"></a> <span +class="ectt-1000">\citet[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">note</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 344--><p class="noindent" > +Use <span +class="ectt-1000">\citet </span>for a textual citation. +</p><!--l. 347--><p class="indent" > See the <a +href="http://ctan.org/pkg/natbib" ><span +class="ecss-1000">natbib</span><a + id="dx1-8005"></a> documentation</a> for further details. +</p><!--l. 349--><p class="noindent" > +</p> +<!--l. 349--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-90003.5"></a>Figures and Tables</h4> +<!--l. 351--><p class="noindent" >Floats, such as figures, tables and algorithms, are moving objects and are +supposed to float to the nearest convenient location. Please don’t force them +to go in a particular place. In general it’s best to use the <span +class="ectt-1000">htbp </span>specifier and +don’t put the float in the middle of a paragraph (that is, make sure there’s a +paragraph break above and below the float). Floats are supposed to have a +little extra space above and below them to make them stand out from the +rest of the text. This extra space is put in automatically and shouldn’t need +modifying. +</p><!--l. 361--><p class="indent" > To ensure consistency, please <span +class="ecti-1000">don’t </span>try changing the format of the caption by doing +something like: + + + +</p> + <div class="verbatim" id="verbatim-9"> +\caption{\textit{A Sample Caption.}} +</div> +<!--l. 365--><p class="nopar" > or + + + +</p> + <div class="verbatim" id="verbatim-10"> +\caption{\em A Sample Caption.} +</div> +<!--l. 369--><p class="nopar" > You can, of course, change the font for individual words or phrases. For example: + + + +</p> + <div class="verbatim" id="verbatim-11"> +\caption{A Sample Caption With Some \emph{Emphasized Words}.} +</div> +<!--l. 374--><p class="nopar" > +</p><!--l. 376--><p class="indent" > The <span +class="ecss-1000">jmlr </span>class provides the following command for displaying the contents of a figure +or table: +</p><!--l. 378--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\floatconts</span><span +class="ectt-0900"> </span></span><a + id="dx1-9001"></a> <span +class="ectt-1000">\floatconts{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">caption command</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 380--><p class="noindent" > +This ensures that the caption is correctly positioned and that the contents are centered. +For example: + + + +</p> + <div class="verbatim" id="verbatim-12"> +\begin{table}[htbp] + <br />\floatconts + <br />  {tab:example}% label + <br />  {\caption{An Example Table}}% caption command + <br />  {% + <br />    \begin{tabular}{ll} + <br />    \bfseries Dataset & \bfseries Result\\ + <br />    Data1 & 0.123456 + <br />    \end{tabular} + <br />  } + <br />\end{table} +</div> +<!--l. 395--><p class="nopar" > +</p><!--l. 397--><p class="indent" > The <span +class="ecss-1000">jmlr </span>class automatically loads <span +class="ecss-1000">graphicx</span><a + id="dx1-9002"></a> which defines: +</p><!--l. 399--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\includegraphics</span><span +class="ectt-0900"> </span></span><a + id="dx1-9003"></a> <span +class="ectt-1000">\includegraphics[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">options</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">file name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 401--><p class="noindent" > +where <span +class="cmsy-10">⟨</span><span +class="ecti-1000">options</span><span +class="cmsy-10">⟩ </span>is a comma-separated list of options. +</p><!--l. 404--><p class="indent" > For example, suppose you have an image called <span +class="ectt-1000">mypic.png </span>in a subdirectory called +<span +class="ectt-1000">images</span>: + + + +</p> + <div class="verbatim" id="verbatim-13"> +\begin{figure}[htbp] + <br />\floatconts + <br />  {fig:example}% label + <br />  {\caption{An Example Figure}}% caption command + <br />  {\includegraphics[width=0.5\textwidth]{images/mypic}} + <br />\end{figure} +</div> +<!--l. 413--><p class="nopar" > +</p><!--l. 415--><p class="indent" > Note that you shouldn’t specify the file extension when including the image. It’s +helpful if you can also provide a grayscale version of color images. This should be +labeled as the color image but with <span +class="ectt-1000">-gray </span>immediately before the extension. (The +extension need not be the same as that of the color image.) For example, if you +have an image called <span +class="ectt-1000">mypic.pdf</span>, the grayscale can be called <span +class="ectt-1000">mypic-gray.pdf</span>, +<span +class="ectt-1000">mypic-gray.png </span>or <span +class="ectt-1000">mypic-gray.jpg</span>. See <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a> for further +details. +</p><!--l. 425--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\includeteximage</span><span +class="ectt-0900"> </span></span><a + id="dx1-9004"></a> <span +class="ectt-1000">\includeteximage[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">options</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">file name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 427--><p class="noindent" > +If your image file is made up of <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> code (e.g. <span +class="ecss-1000">tikz</span><a + id="dx1-9005"></a> commands) the file can be included +using <span +class="ectt-1000">\includeteximage</span>. The optional argument is a key=value comma-separated list +where the keys are a subset of those provided by <span +class="ectt-1000">\includegraphics</span>. The main keys +are: <span +class="ectt-1000">width</span>, <span +class="ectt-1000">height</span>, <span +class="ectt-1000">scale </span>and <span +class="ectt-1000">angle</span>. +</p><!--l. 435--><p class="noindent" > +</p> +<!--l. 435--><p class="noindent" ><a +href="#top">Top</a></p><h5 class="subsubsectionHead"><span class="titlemark">3.5.1 </span> <a + id="x1-100003.5.1"></a>Sub-Figures and Sub-Tables</h5> +<!--l. 437--><p class="noindent" >The <span +class="ecss-1000">subfig</span><a + id="dx1-10001"></a> package causes a problem for <span +class="ecss-1000">jmlrbook </span>so the <span +class="ecss-1000">jmlr </span>class will give an error if it +is used. Therefore the <span +class="ecss-1000">jmlr </span>class provides its own commands for including sub-figures +and sub-tables. +</p><!--l. 442--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subfigure</span><span +class="ectt-0900"> </span></span><a + id="dx1-10002"></a> <span +class="ectt-1000">\subfigure[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">][</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">valign</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 444--><p class="noindent" > +This makes a sub-figure where <span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩ </span>denotes the contents of the sub-figure. This +should also include the <span +class="ectt-1000">\label</span>. The first optional argument <span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩ </span>indicates a caption +for the sub-figure. By default, the sub-figures are aligned at the base. This can be +changed with the second optional argument <span +class="cmsy-10">⟨</span><span +class="ecti-1000">valign</span><span +class="cmsy-10">⟩</span>, which may be one of: <span +class="ectt-1000">t </span>(top), <span +class="ectt-1000">c</span> +(centred) or <span +class="ectt-1000">b </span>(base). +</p><!--l. 453--><p class="indent" > For example, suppose there are two images files, <span +class="ectt-1000">mypic1.png </span>and <span +class="ectt-1000">mypic2.png</span>, in +the subdirectory <span +class="ectt-1000">images</span>. Then they can be included as sub-figures as follows: + + + +</p> + <div class="verbatim" id="verbatim-14"> +\begin{figure}[htbp] + <br />\floatconts + <br />  {fig:example2}% label for whole figure + <br />  {\caption{An Example Figure.}}% caption for whole figure + <br />  {% + <br />    \subfigure{% + <br />      \label{fig:pic1}% label for this sub-figure + <br />      \includegraphics{images/mypic1} + <br />    }\qquad % space out the images a bit + <br />    \subfigure{% + <br />      \label{fig:pic2}% label for this sub-figure + <br />      \includegraphics{images/mypic2} + <br />    } + <br />  } + <br />\end{figure} +</div> +<!--l. 472--><p class="nopar" > +</p><!--l. 474--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subtable</span><span +class="ectt-0900"> </span></span><a + id="dx1-10003"></a> <span +class="ectt-1000">\subtable[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">][</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">valign</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 476--><p class="noindent" > +This is an analogous command for sub-tables. The default value for <span +class="cmsy-10">⟨</span><span +class="ecti-1000">valign</span><span +class="cmsy-10">⟩ </span>is +<span +class="ectt-1000">t</span>. +</p><!--l. 480--><p class="noindent" > +</p> +<!--l. 480--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-110003.6"></a>Algorithms</h4> +<!--l. 482--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">algorithm</span><span +class="ectt-0900"> </span></span><a + id="dx1-11001"></a><a + id="dx1-11002"></a> <span +class="ectt-1000">\begin{algorithm}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{algorithm} </span></div><hr> +</p><!--l. 486--><p class="noindent" > +Enumerated textual algorithms can be displayed using the <span +class="ecss-1000">algorithm </span>environment. +Within this environment, use <span +class="ectt-1000">\caption</span><a + id="dx1-11003"></a> to set the caption (and <span +class="ectt-1000">\label</span><a + id="dx1-11004"></a> to +cross-reference it). Within the body of the environment you can use the <span +class="ecss-1000">enumerate</span><a + id="dx1-11005"></a><a + id="dx1-11006"></a> +environment. +</p><!--l. 493--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">enumerate*</span><span +class="ectt-0900"> </span></span><a + id="dx1-11007"></a><a + id="dx1-11008"></a> <span +class="ectt-1000">\begin{enumerate*}</span><br +class="newline" /><span +class="ectt-1000">\item </span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">…</span><br +class="newline" /><span +class="ectt-1000">\end{enumerate*} </span></div><hr> +</p><!--l. 498--><p class="noindent" > +If you want to have nested <span +class="ecss-1000">enumerate</span><a + id="dx1-11009"></a><a + id="dx1-11010"></a> environments but you want to keep the same +numbering throughout the algorithm, you can use the <span +class="ecss-1000">enumerate* </span>environment, +provided by the <span +class="ecss-1000">jmlr </span>class. For example: + + + +</p> + <div class="verbatim" id="verbatim-15"> +\begin{enumerate*} + <br />  \item Set the label of vertex $s$ to 0 + <br />  \item Set $i=0$ + <br />  \begin{enumerate*} + <br />    \item \label{step:locate}Locate all unlabelled vertices + <br />          adjacent to a vertex labelled $i$ and label them $i+1$ + <br />    \item If vertex $t$ has been labelled, + <br />    \begin{enumerate*} + <br />      \item[] the shortest path can be found by backtracking, and + <br />      the length is given by the label of $t$. + <br />    \end{enumerate*} + <br />    otherwise + <br />    \begin{enumerate*} + <br />      \item[] increment $i$ and return to step~\ref{step:locate} + <br />    \end{enumerate*} + <br />  \end{enumerate*} + <br />\end{enumerate*} + <br />\end{algorithm} +</div> +<!--l. 522--><p class="nopar" > +</p><!--l. 525--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">algorithm2e</span><span +class="ectt-0900"> </span></span><a + id="dx1-11011"></a><a + id="dx1-11012"></a> <span +class="ectt-1000">\begin{algorithm2e}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">contents</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{algorithm2e} </span></div><hr> +</p><!--l. 529--><p class="noindent" > +Pseudo code can be displayed using the <span +class="ecss-1000">algorithm2e </span>environment, provided by the +<span +class="ecss-1000">algorithm2e</span><a + id="dx1-11013"></a> package, which is automatically loaded. For example: + + + +</p> + <div class="verbatim" id="verbatim-16"> +\begin{algorithm2e} + <br />\caption{Computing Net Activation} + <br />\label{alg:net} + <br />\dontprintsemicolon + <br />\linesnumbered + <br />\KwIn{$x_1, \ldots, x_n, w_1, \ldots, w_n$} + <br />\KwOut{$y$, the net activation} + <br />$y\leftarrow 0$\; + <br />\For{$i\leftarrow 1$ \KwTo $n$}{ + <br />  $y \leftarrow y + w_i*x_i$\; + <br />} + <br />\end{algorithm2e} +</div> +<!--l. 546--><p class="nopar" > +</p><!--l. 548--><p class="indent" > See the <a +href="http://ctan.org/pkg/algorithm2e" ><span +class="ecss-1000">algorithm2e</span><a + id="dx1-11014"></a> documentation</a> for more details. +</p><!--l. 550--><p class="noindent" > +</p> +<!--l. 550--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.7 </span> <a + id="x1-120003.7"></a>Description Lists</h4> +<!--l. 552--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">altdescription</span><span +class="ectt-0900"> </span></span><a + id="dx1-12001"></a><a + id="dx1-12002"></a> <span +class="ectt-1000">\begin{altdescription}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">widest label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span><br +class="newline" /><span +class="ectt-1000">\item[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">] </span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">item text</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{altdescription} </span></div><hr> +</p><!--l. 556--><p class="noindent" > +In addition to the standard <span +class="ecss-1000">description</span><a + id="dx1-12003"></a><a + id="dx1-12004"></a> environment, the <span +class="ecss-1000">jmlr </span>class also provides the +<span +class="ecss-1000">altdescription </span>environment. This has an argument that should be the widest label used +in the list. For example: + + + +</p> + <div class="verbatim" id="verbatim-17"> +\begin{altdescription}{differentiate} + <br />\item[add] A method that adds two variables. + <br />\item[differentiate] A method that differentiates a function. + <br />\end{altdescription} +</div> +<!--l. 566--><p class="nopar" > +</p><!--l. 568--><p class="noindent" > +</p> +<!--l. 568--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.8 </span> <a + id="x1-130003.8"></a>Theorems, Lemmas etc</h4> +<!--l. 570--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class provides the following theorem-like environments: <span +class="ecss-1000">theorem</span><a + id="dx1-13001"></a><a + id="dx1-13002"></a>, <span +class="ecss-1000">example</span><a + id="dx1-13003"></a><a + id="dx1-13004"></a>, +<span +class="ecss-1000">lemma</span><a + id="dx1-13005"></a><a + id="dx1-13006"></a>, <span +class="ecss-1000">proposition</span><a + id="dx1-13007"></a><a + id="dx1-13008"></a>, <span +class="ecss-1000">remark</span><a + id="dx1-13009"></a><a + id="dx1-13010"></a>, <span +class="ecss-1000">corollary</span><a + id="dx1-13011"></a><a + id="dx1-13012"></a>, <span +class="ecss-1000">definition</span><a + id="dx1-13013"></a><a + id="dx1-13014"></a>, <span +class="ecss-1000">conjecture</span><a + id="dx1-13015"></a><a + id="dx1-13016"></a> and <span +class="ecss-1000">axiom</span><a + id="dx1-13017"></a><a + id="dx1-13018"></a>. Within the body +of those environments, you can use the <span +class="ecss-1000">proof</span><a + id="dx1-13019"></a><a + id="dx1-13020"></a> environment to display the proof if need +be. The theorem-like environments all take an optional argument, which gives the +environment a title. For example: + + + +</p> + <div class="verbatim" id="verbatim-18"> +\begin{theorem}[An Example Theorem] + <br />\label{thm:example} + <br />This is the theorem. + <br />\begin{proof} + <br />This is the proof. + <br />\end{proof} + <br />\end{theorem} +</div> +<!--l. 586--><p class="nopar" > +</p><!--l. 588--><p class="noindent" > +</p> +<!--l. 588--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.9 </span> <a + id="x1-140003.9"></a>Cross-Referencing</h4> +<!--l. 591--><p class="noindent" >Always use <span +class="ectt-1000">\label</span><a + id="dx1-14001"></a> when cross-referencing, rather than writing the number explicitly. +The <span +class="ecss-1000">jmlr </span>class provides some convenience commands to assist referencing. +These commands, described below, can all take a comma-separated list of +labels. +</p><!--l. 596--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\sectionref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14002"></a> <span +class="ectt-1000">\sectionref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 598--><p class="noindent" > +Used to refer to a section or sections. For example, if you defined a section as +follows: + + + +</p> + <div class="verbatim" id="verbatim-19"> +\section{Results}\label{sec:results} +</div> +<!--l. 603--><p class="nopar" > you can refer to it as follows: + + + +</p> + <div class="verbatim" id="verbatim-20"> +The results are detailed in \sectionref{sec:results}. +</div> +<!--l. 607--><p class="nopar" > This command may also be used for sub-sections and sub-sub-sections. +</p><!--l. 610--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\appendixref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14003"></a> <span +class="ectt-1000">\appendixref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 612--><p class="noindent" > +Used to refer to an appendix or multiple appendices. +</p><!--l. 615--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\equationref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14004"></a> <span +class="ectt-1000">\equationref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 617--><p class="noindent" > +Used to refer to an equation or multiple equations. +</p><!--l. 620--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\tableref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14005"></a> <span +class="ectt-1000">\tableref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 622--><p class="noindent" > +Used to refer to a table or multiple tables. This can also be used for sub-tables where +the main table number is also required. +</p><!--l. 626--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subtabref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14006"></a> <span +class="ectt-1000">\subtabref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 628--><p class="noindent" > +Used to refer to sub-tables without the main table number, e.g. (<span +class="ecti-1000">a</span>) or (<span +class="ecti-1000">b</span>). +</p><!--l. 632--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\figureref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14007"></a> <span +class="ectt-1000">\figureref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 634--><p class="noindent" > +Used to refer to a figure or multiple figures. This can also be used for sub-figures where +the main figure number is also required, e.g. 2(<span +class="ecti-1000">a</span>) or 4(<span +class="ecti-1000">b</span>). +</p><!--l. 639--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subfigref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14008"></a> <span +class="ectt-1000">\subfigref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 641--><p class="noindent" > +Used to refer to sub-figures without the main figure number, e.g. (<span +class="ecti-1000">a</span>) or (<span +class="ecti-1000">b</span>). +</p><!--l. 645--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\algorithmref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14009"></a> <span +class="ectt-1000">\algorithmref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 647--><p class="noindent" > +Used to refer to an algorithm or multiple algorithms. +</p><!--l. 650--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\theoremref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14010"></a> <span +class="ectt-1000">\theoremref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 652--><p class="noindent" > +Used to refer to a theorem or multiple theorems. +</p><!--l. 655--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\lemmaref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14011"></a> <span +class="ectt-1000">\lemmaref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 657--><p class="noindent" > +Used to refer to a lemma or multiple lemmas. +</p><!--l. 660--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\remarkref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14012"></a> <span +class="ectt-1000">\remarkref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 662--><p class="noindent" > +Used to refer to a remark or multiple remarks. +</p><!--l. 665--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\corollaryref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14013"></a> <span +class="ectt-1000">\corollaryref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 667--><p class="noindent" > +Used to refer to a corollary or multiple corollaries. +</p><!--l. 670--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\definitionref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14014"></a> <span +class="ectt-1000">\definitionref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 672--><p class="noindent" > +Used to refer to a definition or multiple definitions. + + + +</p><!--l. 675--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\conjectureref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14015"></a> <span +class="ectt-1000">\conjectureref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 677--><p class="noindent" > +Used to refer to a conjecture or multiple conjectures. +</p><!--l. 680--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\axiomref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14016"></a> <span +class="ectt-1000">\axiomref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 682--><p class="noindent" > +Used to refer to an axiom or multiple axioms. +</p><!--l. 685--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\exampleref</span><span +class="ectt-0900"> </span></span><a + id="dx1-14017"></a> <span +class="ectt-1000">\exampleref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 687--><p class="noindent" > +Used to refer to an example or multiple examples. +</p><!--l. 690--><p class="noindent" > +</p> +<!--l. 690--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.10 </span> <a + id="x1-150003.10"></a>Mathematics</h4> +<!--l. 692--><p class="noindent" >The <span +class="ecss-1000">jmlr </span>class loads the <span +class="ecss-1000">amsmath</span><a + id="dx1-15001"></a> package so you can use any of the commands and +environments defined in that package. A brief summary of some of the more common +commands and environments is provided here. See the <a +href="http://ctan.org/pkg/amsmath" ><span +class="ecss-1000">amsmath</span><a + id="dx1-15002"></a> documentation</a> for +further details. +</p><!--l. 697--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\set</span><span +class="ectt-0900"> </span></span><a + id="dx1-15003"></a> <span +class="ectt-1000">\set{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 699--><p class="noindent" > +In addition to the commands provided by <span +class="ecss-1000">amsmath</span><a + id="dx1-15004"></a>, the <span +class="ecss-1000">jmlr </span>class also provides the +<span +class="ectt-1000">\set </span>command which can be used to typeset a set. For example: + + + +</p> + <div class="verbatim" id="verbatim-21"> +The universal set is denoted $\set{U}$ +</div> +<!--l. 705--><p class="nopar" > +</p><!--l. 707--><p class="indent" > Unnumbered single-line equations should be displayed using <span +class="ectt-1000">\[ </span>and <span +class="ectt-1000">\]</span>. For +example: + + + +</p> + <div class="verbatim" id="verbatim-22"> +\[E = m c^2\] +</div> +<!--l. 711--><p class="nopar" > Numbered single-line equations should be displayed using the <span +class="ecss-1000">equation</span><a + id="dx1-15005"></a><a + id="dx1-15006"></a> environment. +For example: + + + +</p> + <div class="verbatim" id="verbatim-23"> +\begin{equation}\label{eq:trigrule} + <br />\cos^2\theta + \sin^2\theta \equiv 1 + <br />\end{equation} +</div> +<!--l. 718--><p class="nopar" > Multi-lined numbered equations should be displayed using the <span +class="ecss-1000">align</span><a + id="dx1-15007"></a><a + id="dx1-15008"></a> environment. For +example: + + + +</p> + <div class="verbatim" id="verbatim-24"> +\begin{align} + <br />f(x) &= x^2 + x\label{eq:f}\\ + <br />f’(x) &= 2x + 1\label{eq:df} + <br />\end{align} +</div> +<!--l. 726--><p class="nopar" > Unnumbered multi-lined equations should be displayed using the <span +class="ecss-1000">align*</span><a + id="dx1-15009"></a><a + id="dx1-15010"></a> environment. +For example: + + + +</p> + <div class="verbatim" id="verbatim-25"> +\begin{align*} + <br />f(x) &= (x+1)(x-1)\\ + <br />&= x^2 - 1 + <br />\end{align*} +</div> +<!--l. 734--><p class="nopar" > If you want to mix numbered with unnumbered lines use the <span +class="ecss-1000">align</span><a + id="dx1-15011"></a><a + id="dx1-15012"></a> environment and +suppress unwanted line numbers with <span +class="ectt-1000">\nonumber</span>. For example: + + + +</p> + <div class="verbatim" id="verbatim-26"> +\begin{align} + <br />y &= x^2 + 3x - 2x + 1\nonumber\\ + <br />&= x^2 + x + 1\label{eq:y} + <br />\end{align} +</div> +<!--l. 743--><p class="nopar" > An equation that is too long to fit on a single line can be displayed using the <span +class="ecss-1000">split</span><a + id="dx1-15013"></a><a + id="dx1-15014"></a> +environment. +</p><!--l. 747--><p class="indent" > Text can be embedded in an equation using <span +class="ectt-1000">\text</span><a + id="dx1-15015"></a><span +class="ectt-1000">{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span>or you can use +<span +class="ectt-1000">\intertext</span><a + id="dx1-15016"></a><span +class="ectt-1000">{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">text</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span>to interupt a multi-line environment such as <span +class="ecss-1000">align</span><a + id="dx1-15017"></a><a + id="dx1-15018"></a>. +</p><!--l. 751--><p class="indent" > Predefined operator names are listed in <a +href="#x1-150241">table 1</a>. For additional operators, either +use +</p><!--l. 753--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\operatorname</span><span +class="ectt-0900"> </span></span><a + id="dx1-15019"></a> <span +class="ectt-1000">\operatorname{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 755--><p class="noindent" > +for example + + + +</p> + <div class="verbatim" id="verbatim-27"> +If $X$ and $Y$ are independent, + <br />$\operatorname{var}(X+Y) = + <br />\operatorname{var}(X) + \operatorname{var}(Y)$ +</div> +<!--l. 761--><p class="nopar" > or declare it with +</p><!--l. 763--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\DeclareMathOperator</span><span +class="ectt-0900"> </span></span><a + id="dx1-15020"></a> <span +class="ectt-1000">\DeclareMathOperator{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">command</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span> +</div><hr> +</p><!--l. 765--><p class="noindent" > +for example + + + +</p> + <div class="verbatim" id="verbatim-28"> +\DeclareMathOperator{\var}{var} +</div> +<!--l. 769--><p class="nopar" > and then use this new command: + + + +</p> + <div class="verbatim" id="verbatim-29"> +If $X$ and $Y$ are independent, + <br />$\var(X+Y) = \var(X)+\var(Y)$ +</div> +<!--l. 774--><p class="nopar" > +</p><!--l. 776--><p class="indent" > If you want limits that go above and below the operator (like <span +class="ectt-1000">\sum</span><a + id="dx1-15021"></a>) use the starred +versions (<span +class="ectt-1000">\operatorname*</span><a + id="dx1-15022"></a> or <span +class="ectt-1000">\DeclareMathOperator*</span><a + id="dx1-15023"></a>). +</p> + <div class="table"> + + + +<!--l. 780--><p class="indent" > <a + id="x1-150241"></a></p><hr class="float" /><div class="float" +> + + + + <div class="caption" +><span class="id">Table 1: </span><span +class="content">Predefined Operator Names (taken from <span +class="ecss-1000">amsmath</span><a + id="dx1-15025"></a> documentation)</span></div><!--tex4ht:label?: x1-150241 --> +<div class="tabular"> <table id="TBL-2" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-2-1g"><col +id="TBL-2-1" /><col +id="TBL-2-2" /><col +id="TBL-2-3" /><col +id="TBL-2-4" /><col +id="TBL-2-5" /><col +id="TBL-2-6" /><col +id="TBL-2-7" /><col +id="TBL-2-8" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-1-1" +class="td11"><span +class="ectt-1000">\arccos</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2" +class="td11"><span +class="cmr-10">arccos</span></td><td style="white-space:nowrap; text-align:right;" id="TBL-2-1-3" +class="td11"> <span +class="ectt-1000">\deg</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-4" +class="td11"><span +class="cmr-10">deg</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-1-5" +class="td11"> <span +class="ectt-1000">\lg</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-6" +class="td11"><span +class="cmr-10">lg</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-1-7" +class="td11"><span +class="ectt-1000">\projlim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-8" +class="td11"><span +class="cmr-10">proj</span><span style="margin-left:0.3em" class="thinspace"></span><span +class="cmr-10">lim</span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-2-1" +class="td11"> <span +class="ectt-1000">\arcsin</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2" +class="td11"><span +class="cmr-10">arcsin</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-2-3" +class="td11"> <span +class="ectt-1000">\det</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-4" +class="td11"><span +class="cmr-10">det</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-2-5" +class="td11"> <span +class="ectt-1000">\lim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-6" +class="td11"><span +class="cmr-10">lim</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-2-7" +class="td11"> <span +class="ectt-1000">\sec</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-8" +class="td11"><span +class="cmr-10">sec</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-3-1" +class="td11"> <span +class="ectt-1000">\arctan</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-2" +class="td11"><span +class="cmr-10">arctan</span></td><td style="white-space:nowrap; text-align:right;" id="TBL-2-3-3" +class="td11"> <span +class="ectt-1000">\dim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-4" +class="td11"><span +class="cmr-10">dim</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-3-5" +class="td11"><span +class="ectt-1000">\liminf</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-6" +class="td11"><span +class="cmr-10">lim</span><span style="margin-left:0.3em" class="thinspace"></span><span +class="cmr-10">inf</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-3-7" +class="td11"> <span +class="ectt-1000">\sin</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-8" +class="td11"><span +class="cmr-10">sin</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-4-1" +class="td11"> <span +class="ectt-1000">\arg</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-2" +class="td11"><span +class="cmr-10">arg</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-4-3" +class="td11"> <span +class="ectt-1000">\exp</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-4" +class="td11"><span +class="cmr-10">exp</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-4-5" +class="td11"><span +class="ectt-1000">\limsup</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-6" +class="td11"><span +class="cmr-10">lim</span><span style="margin-left:0.3em" class="thinspace"></span><span +class="cmr-10">sup</span></td><td style="white-space:nowrap; text-align:right;" id="TBL-2-4-7" +class="td11"> <span +class="ectt-1000">\sinh</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-8" +class="td11"><span +class="cmr-10">sinh</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-5-1" +class="td11"> <span +class="ectt-1000">\cos</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-2" +class="td11"><span +class="cmr-10">cos</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-5-3" +class="td11"> <span +class="ectt-1000">\gcd</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-4" +class="td11"><span +class="cmr-10">gcd</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-5-5" +class="td11"> <span +class="ectt-1000">\ln</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-6" +class="td11"><span +class="cmr-10">ln</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-5-7" +class="td11"> <span +class="ectt-1000">\sup</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-8" +class="td11"><span +class="cmr-10">sup</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-6-1" +class="td11"> <span +class="ectt-1000">\cosh</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-2" +class="td11"><span +class="cmr-10">cosh</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-6-3" +class="td11"> <span +class="ectt-1000">\hom</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-4" +class="td11"><span +class="cmr-10">hom</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-6-5" +class="td11"> <span +class="ectt-1000">\log</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-6" +class="td11"><span +class="cmr-10">log</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-6-7" +class="td11"> <span +class="ectt-1000">\tan</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-8" +class="td11"><span +class="cmr-10">tan</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-7-1" +class="td11"> <span +class="ectt-1000">\cot</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-2" +class="td11"><span +class="cmr-10">cot</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-7-3" +class="td11"> <span +class="ectt-1000">\inf</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-4" +class="td11"><span +class="cmr-10">inf</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-7-5" +class="td11"> <span +class="ectt-1000">\max</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-6" +class="td11"><span +class="cmr-10">max</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-7-7" +class="td11"> <span +class="ectt-1000">\tanh</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-8" +class="td11"><span +class="cmr-10">tanh</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-8-1" +class="td11"> <span +class="ectt-1000">\coth</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-2" +class="td11"><span +class="cmr-10">coth</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-8-3" +class="td11"><span +class="ectt-1000">\injlim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-4" +class="td11"><span +class="cmr-10">inj</span><span style="margin-left:0.3em" class="thinspace"></span><span +class="cmr-10">lim</span></td><td style="white-space:nowrap; text-align:right;" id="TBL-2-8-5" +class="td11"> <span +class="ectt-1000">\min</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-6" +class="td11"><span +class="cmr-10">min</span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:right;" id="TBL-2-9-1" +class="td11"> <span +class="ectt-1000">\csc</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-2" +class="td11"><span +class="cmr-10">csc</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-9-3" +class="td11"> <span +class="ectt-1000">\ker</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-4" +class="td11"><span +class="cmr-10">ker</span> </td><td style="white-space:nowrap; text-align:right;" id="TBL-2-9-5" +class="td11"> <span +class="ectt-1000">\Pr</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-6" +class="td11"><span +class="cmr-10">Pr</span> </td></tr></table></div> +<div class="tabular"> <table id="TBL-3" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-3-1g"><col +id="TBL-3-1" /><col +id="TBL-3-2" /><col +id="TBL-3-3" /><col +id="TBL-3-4" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:right;" id="TBL-3-1-1" +class="td11"><span +class="ectt-1000">\varlimsup</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2" +class="td11"><img +src="jmlr-manual0x.png" alt="--- +lim" class="mathpalette" /></td><td style="white-space:nowrap; text-align:right;" id="TBL-3-1-3" +class="td11"> <span +class="ectt-1000">\varinjlim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-4" +class="td11"><img +src="jmlr-manual1x.png" alt="li-→m" class="mathpalette" /></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:right;" id="TBL-3-2-1" +class="td11"> <span +class="ectt-1000">\varliminf</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2" +class="td11"><img +src="jmlr-manual2x.png" alt="lim-" class="mathpalette" /></td><td style="white-space:nowrap; text-align:right;" id="TBL-3-2-3" +class="td11"><span +class="ectt-1000">\varprojlim</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-4" +class="td11"><img +src="jmlr-manual3x.png" alt="lim +←-" class="mathpalette" /></td> +</tr></table></div> + + + + </div><hr class="endfloat" /> + </div> +<!--l. 806--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.11 </span> <a + id="x1-160003.11"></a>Color vs Grayscale</h4> +<!--l. 809--><p class="noindent" >It’s helpful if authors supply grayscale versions of their articles in the event that the +article is to be incorporated into a black and white printed book. With external PDF, +PNG or JPG graphic files, you just need to supply a grayscale version of the file. For +example, if the file is called <span +class="ectt-1000">myimage.png</span>, then the gray version should be +<span +class="ectt-1000">myimage-gray.png </span>or <span +class="ectt-1000">myimage-gray.pdf </span>or <span +class="ectt-1000">myimage-gray.jpg</span>. You don’t need to +modify your code. The <span +class="ecss-1000">jmlr </span>class checks for the existence of the grayscale version if it is +print mode (provided you have used <span +class="ectt-1000">\includegraphics</span><a + id="dx1-16001"></a> and haven’t specified the file +extension). +</p><!--l. 821--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\ifprint</span><span +class="ectt-0900"> </span></span><a + id="dx1-16002"></a> <span +class="ectt-1000">\ifprint{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">true part</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">false part</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 823--><p class="noindent" > +You can use <span +class="ectt-1000">\ifprint </span>to determine which mode you are in. For example: + + + +</p> + <div class="verbatim" id="verbatim-30"> +in \figureref{fig:nodes}, the + <br />\ifprint{dark gray}{purple} + <br />ellipse represents an input and the + <br />\ifprint{light gray}{yellow} ellipse + <br />represents an output. +</div> +<!--l. 832--><p class="nopar" > Another example: + + + +</p> + <div class="verbatim" id="verbatim-31"> +{\ifprint{\bfseries}{\color{red}}important text!} +</div> +<!--l. 836--><p class="nopar" > +</p><!--l. 838--><p class="indent" > You can use the class option <span +class="ecss-1000">gray</span><a + id="dx1-16003"></a> to see how the document will appear in gray scale +mode. +</p><!--l. 841--><p class="indent" > The <span +class="ecss-1000">xcolor</span><a + id="dx1-16004"></a> class is loaded with the <span +class="ecss-1000">x11names </span>option, so you can use any of the x11 +predefined colors (listed in the <a +href="http://ctan.org/pkg/xcolor" ><span +class="ecss-1000">xcolor</span><a + id="dx1-16005"></a> documentation</a>). +</p><!--l. 845--><p class="noindent" > +</p> +<!--l. 845--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">3.12 </span> <a + id="x1-170003.12"></a>Where To Go For Help</h4> +<!--l. 847--><p class="noindent" >If you have a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> query, the first place to go to is the <a +href="http://www.tex.ac.uk/faq" >UK TUG FAQ</a>. +</p><!--l. 850--><p class="indent" > If you are unfamiliar or just getting started with <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, there’s a list of on-line introductions +to <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> at: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex" class="url" ><span +class="ectt-1000">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex</span></a> +</p><!--l. 854--><p class="indent" > There are also forums, mailing lists and newsgroups. For example, the +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> Community (<a +href="http://www.latex-community.org/" class="url" ><span +class="ectt-1000">http://www.latex-community.org/</span></a>), the <span +class="ectt-1000">texhax </span>mailing list +(<a +href="http://tug.org/mailman/listinfo/texhax" class="url" ><span +class="ectt-1000">http://tug.org/mailman/listinfo/texhax</span></a>) and <span +class="ectt-1000">comp.text.tex </span>(archives available +at <a +href="http://groups.google.com/group/comp.text.tex/" class="url" ><span +class="ectt-1000">http://groups.google.com/group/comp.text.tex/</span></a>). +</p><!--l. 861--><p class="indent" > Documentation for packages or classes can be found using the <span +class="ectt-1000">texdoc </span>application. +For example: + + + +</p> + <div class="verbatim" id="verbatim-32"> +texdoc natbib +</div> +<!--l. 865--><p class="nopar" > Alternatively, you can go to <span +class="ectt-1000">http://www.ctan.org/pkg/</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩ </span>where <span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩ </span>is the +name of the package. For example: <a +href="http://www.ctan.org/pkg/natbib" class="url" ><span +class="ectt-1000">http://www.ctan.org/pkg/natbib</span></a> +</p><!--l. 871--><p class="indent" > For a general guide to preparing papers (regardless of whether you are using +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> or a word processor), see Kate L. Turabian, “A manual for writers +of term papers, theses, and dissertations”, The University of Chicago Press, +1996. +</p><!--l. 876--><p class="noindent" > +</p> +<!--l. 876--><p class="noindent" ><a +href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-180004"></a>Guidelines for Production Editors</h3> +<!--l. 879--><p class="noindent" >The <span +class="ecss-1000">jmlrbook </span>class can be used to combine articles that use the <span +class="ecss-1000">jmlr </span>document class +into a book. The following sample files are provided: <span +class="ectt-1000">paper1/paper1.tex</span>, +<span +class="ectt-1000">paper2/paper2.tex</span>, <span +class="ectt-1000">paper3/paper3.tex</span>, <span +class="ectt-1000">jmlr-sample.tex</span>, <span +class="ectt-1000">jmlrwcp-sample.tex</span> +and <span +class="ectt-1000">jmlrbook-sample.tex</span>. All but the last named one are articles using the <span +class="ecss-1000">jmlr </span>class. +The last one (<span +class="ectt-1000">jmlrbook-sample.tex</span>) uses the <span +class="ecss-1000">jmlrbook </span>class file to combine the articles +into a book. Note that no modifications are needed to the files using the <span +class="ecss-1000">jmlr </span>class when +they are imported into the book. They can either be compiled as stand-alone articles or +with the entire book. +</p><!--l. 892--><p class="indent" > Before you compile the book, make sure that all the articles compile as stand-alone +documents (and run Bib<span class="TEX">T<span +class="E">E</span>X</span> where necessary). You can use the <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-18001"></a> Perl +script to compile the book and create associated HTML files. See <a +href="#x1-250004.6">§4.6 </a><a +href="#x1-250004.6">Creating the +Book Using <span +class="ectt-1000">makejmlrbook</span><!--tex4ht:ref: sec:makejmlrbook --></a> for details. +</p><!--l. 898--><p class="noindent" > +</p> +<!--l. 898--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-190004.1"></a><span +class="ecss-1000">jmlrbook </span>Class Options</h4> +<!--l. 899--><p class="noindent" > + </p><dl class="description"><dt class="description"> +<span +class="ecsx-1000">nowcp</span><a + id="dx1-19001"></a> </dt><dd +class="description">The imported pre-published articles were published in the Journal of + Machine Learning Research (default). + </dd><dt class="description"> +<span +class="ecsx-1000">wcp</span><a + id="dx1-19002"></a> </dt><dd +class="description">The imported pre-published articles were published in the JMLR Workshop + and Conference Proceedings. + <!--l. 905--><p class="noindent" >If the book has a mixture of JMLR and JMLR WCP articles, you can switch + between them using + + + + </p><!--l. 907--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrwcp</span><span +class="ectt-0900"> </span></span><a + id="dx1-19003"></a> <span +class="ectt-1000">\jmlrwcp </span></div><hr> + </p><!--l. 909--><p class="noindent" > + and + </p><!--l. 911--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrnowcp</span><span +class="ectt-0900"> </span></span><a + id="dx1-19004"></a> <span +class="ectt-1000">\jmlrnowcp </span></div><hr> + </p><!--l. 913--><p class="noindent" > + Alternatively, you can set the name of the journal or conference proceedings + using: + </p><!--l. 916--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\jmlrproceedings</span><span +class="ectt-0900"> </span></span><a + id="dx1-19005"></a> <span +class="ectt-1000">\jmlrproceedings{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">long title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> + </p><!--l. 918--><p class="noindent" > + </p></dd><dt class="description"> +<span +class="ecsx-1000">color</span><a + id="dx1-19006"></a> </dt><dd +class="description">Color version (see <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a>). Use this option for the on-line + version with hyperlinks enabled (default). + </dd><dt class="description"> +<span +class="ecsx-1000">gray</span><a + id="dx1-19007"></a> </dt><dd +class="description">Grayscale version (see <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a>). Use this option for the print + version without hyperlinks. + </dd><dt class="description"> +<span +class="ecsx-1000">tablecaptiontop</span><a + id="dx1-19008"></a> </dt><dd +class="description">in a <span +class="ecss-1000">table</span><a + id="dx1-19009"></a><a + id="dx1-19010"></a> environment, <span +class="ectt-1000">\floatconts</span><a + id="dx1-19011"></a> puts the caption at the + top. + </dd><dt class="description"> +<span +class="ecsx-1000">tablecaptionbottom</span><a + id="dx1-19012"></a> </dt><dd +class="description">in a <span +class="ecss-1000">table</span><a + id="dx1-19013"></a><a + id="dx1-19014"></a> environment, <span +class="ectt-1000">\floatconts</span><a + id="dx1-19015"></a> puts the caption at the + bottom. + </dd><dt class="description"> +<span +class="ecsx-1000">letterpaper</span><a + id="dx1-19016"></a> </dt><dd +class="description">Set the paper size to letter (default). + </dd><dt class="description"> +<span +class="ecsx-1000">7x10</span><a + id="dx1-19017"></a> </dt><dd +class="description">Set the paper size to <span +class="cmr-10">7 </span><span +class="cmsy-10">× </span><span +class="cmr-10">10 </span>inches. + </dd><dt class="description"> +<span +class="ecsx-1000">prehyperref</span><a + id="dx1-19018"></a> </dt><dd +class="description">The <span +class="ecss-1000">jmlrbook </span>automatically loads the <span +class="ecss-1000">hyperref</span><a + id="dx1-19019"></a> package, but some packages + need to be loaded before <span +class="ecss-1000">hyperref</span><a + id="dx1-19020"></a>. This information can be specified using the + <span +class="ecss-1000">prehyperref</span><a + id="dx1-19021"></a> option. This is a key=value option. For example, to load the packages + <span +class="ecss-1000">foo </span>and <span +class="ecss-1000">bar </span>before <span +class="ecss-1000">hyperref</span><a + id="dx1-19022"></a>, you can do: + + + + <div class="verbatim" id="verbatim-33"> + \documentclass[prehyperref={\usepackage{foo,bar}}]{jmlrbook} +</div> + <!--l. 945--><p class="nopar" > or: + + + +</p> + <div class="verbatim" id="verbatim-34"> + \documentclass[prehyperref={\usepackage{foo}\usepackage{bar}}]{jmlrbook} +</div> + <!--l. 949--><p class="nopar" > + </p></dd><dt class="description"> +<span +class="ecsx-1000">10pt</span><a + id="dx1-19023"></a> </dt><dd +class="description">Use 10pt as the normal text size. + </dd><dt class="description"> +<span +class="ecsx-1000">11pt</span><a + id="dx1-19024"></a> </dt><dd +class="description">Use 11pt as the normal text size (default). + </dd><dt class="description"> +<span +class="ecsx-1000">12pt</span><a + id="dx1-19025"></a> </dt><dd +class="description">Use 12pt as the normal text size. + </dd></dl> +<!--l. 957--><p class="noindent" > +</p> +<!--l. 957--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a + id="x1-200004.2"></a>The Preamble</h4> +<!--l. 959--><p class="noindent" >Any packages that the imported articles load (which aren’t automatically loaded by +<span +class="ecss-1000">jmlr</span>) must be loaded in the book’s preamble. For example, if one or more +of the articles load the <span +class="ecss-1000">siunitx</span><a + id="dx1-20001"></a> package, this package must be loaded in the +book. +</p><!--l. 964--><p class="indent" > Commands that are defined in the imported articles will be local to that article +unless they have been globally defined using <span +class="ectt-1000">\gdef</span><a + id="dx1-20002"></a> or <span +class="ectt-1000">\global</span><a + id="dx1-20003"></a>. Since most authors use +<span +class="ectt-1000">\newcommand</span><a + id="dx1-20004"></a> and <span +class="ectt-1000">\newenvironment</span><a + id="dx1-20005"></a> (or <span +class="ectt-1000">\renewcommand</span><a + id="dx1-20006"></a> and <span +class="ectt-1000">\renewenvironment</span><a + id="dx1-20007"></a>) this +shouldn’t cause a conflict if more that one article has defined the same command or +environment. For example, in the sample files supplied, both <span +class="ectt-1000">paper1/paper1.tex</span> +and <span +class="ectt-1000">paper2/paper2.tex </span>have defined the command <span +class="ectt-1000">\samplecommand </span>using +<span +class="ectt-1000">\newcommand</span>. As long as this command isn’t also defined in the book, there won’t be a +conflict. +</p><!--l. 976--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\title</span><span +class="ectt-0900"> </span></span><a + id="dx1-20008"></a> <span +class="ectt-1000">\title[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">PDF title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">book title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 978--><p class="noindent" > +In the book preamble, <span +class="ectt-1000">\title </span>sets the book title and the optional argument is used for +the PDF title, which will be displayed when the reader views the PDF file’s properties +in their PDF viewer. (Note that in the imported articles, <span +class="ectt-1000">\title </span>sets the article’s title +and the optional argument sets the short title for the page header and table of +contents.) +</p><!--l. 986--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\author</span><span +class="ectt-0900"> </span></span><a + id="dx1-20009"></a> <span +class="ectt-1000">\author[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">PDF author(s)</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">book author(s)</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> + + + +</p><!--l. 988--><p class="noindent" > +In the book preamble, <span +class="ectt-1000">\author </span>sets the book’s author (or editor) and the optional +argument is used for the PDF author, which will be displayed when the reader views +the PDF file’s properties in their PDF viewer. (Note that in the imported articles, +<span +class="ectt-1000">\author </span>sets the article’s author and the optional argument sets the short author list +for the page header.) +</p><!--l. 996--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\volume</span><span +class="ectt-0900"> </span></span><a + id="dx1-20010"></a> <span +class="ectt-1000">\volume{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">number</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 998--><p class="noindent" > +This command sets the book’s volume number. Omit if the book has no volume +number. +</p><!--l. 1002--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subtitle</span><span +class="ectt-0900"> </span></span><a + id="dx1-20011"></a> <span +class="ectt-1000">\subtitle{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">sub-title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1004--><p class="noindent" > +This command sets the book’s subtitle. Omit if the book has no sub-title. +</p><!--l. 1008--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\logo</span><span +class="ectt-0900"> </span></span><a + id="dx1-20012"></a> <span +class="ectt-1000">\logo{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">image command</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1010--><p class="noindent" > +This sets the book’s title image. Use <span +class="ectt-1000">\includegraphics</span><a + id="dx1-20013"></a> and omit the file extension. If +you provide a grayscale version as well as a color version, the grayscale version will be +used for the print version of the book. (See <a +href="#x1-160003.11">§3.11 </a><a +href="#x1-160003.11">Color vs Grayscale<!--tex4ht:ref: sec:color --></a> for further +details.) +</p><!--l. 1017--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\team</span><span +class="ectt-0900"> </span></span><a + id="dx1-20014"></a> <span +class="ectt-1000">\team{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">team title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1019--><p class="noindent" > +This can be used to set the name of the editorial team. This command may be omitted +if not required. +</p><!--l. 1023--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\productioneditor</span><span +class="ectt-0900"> </span></span><a + id="dx1-20015"></a> <span +class="ectt-1000">\productioneditor{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1025--><p class="noindent" > +This command may be used to name the production editor. The command may be +omitted if not required. +</p><!--l. 1029--><p class="indent" > See <a +href="#x1-230004.4">§4.4 </a><a +href="#x1-230004.4">Altering the Layout of the Main Title Page<!--tex4ht:ref: sec:modifytitle --></a> for details on how to modify the +layout of the title page. +</p><!--l. 1032--><p class="noindent" > +</p> +<!--l. 1032--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a + id="x1-210004.3"></a>Main Book Commands</h4> +<!--l. 1034--><p class="noindent" >All commands that are provided by the <span +class="ecss-1000">jmlr </span>class are also available with the <span +class="ecss-1000">jmlrbook</span> +class, but some commands might behave differently depending on whether they are in +the main part of the book or within the imported articles. +</p><!--l. 1039--><p class="indent" > In the main part of the book you can use the following commands: +</p><!--l. 1040--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\maketitle</span><span +class="ectt-0900"> </span></span><a + id="dx1-21001"></a> <span +class="ectt-1000">\maketitle </span></div><hr> +</p><!--l. 1042--><p class="noindent" > +This displays the book’s title page. Note that <span +class="ectt-1000">\maketitle </span>has a different effect when +used in imported articles. +</p><!--l. 1046--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\frontmatter</span><span +class="ectt-0900"> </span></span><a + id="dx1-21002"></a> <span +class="ectt-1000">\frontmatter </span></div><hr> +</p><!--l. 1048--><p class="noindent" > +Use this command at the start of the front matter (e.g. before the foreword or preface). + + + +This will make chapters unnumbered even if you use <span +class="ectt-1000">\chapter </span>instead of <span +class="ectt-1000">\chapter*</span>. It +also sets the page style and sets the page numbering to lower case Roman +numerals. +</p><!--l. 1054--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">authorsignoff</span><span +class="ectt-0900"> </span></span><a + id="dx1-21003"></a><a + id="dx1-21004"></a> <span +class="ectt-1000">\begin{authorsignoff}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">author list</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{authorsignoff} </span></div><hr> +</p><!--l. 1058--><p class="noindent" > +This environment may be used by the author signing off at the end of a chapter such as +the foreword. Within the environment use: +</p><!--l. 1061--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\Author</span><span +class="ectt-0900"> </span></span><a + id="dx1-21005"></a> <span +class="ectt-1000">\author{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">details</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1063--><p class="noindent" > +for the author’s details. More than one <span +class="ectt-1000">\Author </span>should be used if there is more than +one author. Example: + + + +</p> + <div class="verbatim" id="verbatim-35"> +\begin{authorsignoff} + <br />\Author{Nicola Talbot\\ + <br />University of East Anglia} + <br />\Author{Anne Author\\ + <br />University of No Where} + <br />\end{authorsignoff} +</div> +<!--l. 1073--><p class="nopar" > +</p><!--l. 1075--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">signoff</span><span +class="ectt-0900"> </span></span><a + id="dx1-21006"></a><a + id="dx1-21007"></a> <span +class="ectt-1000">\begin{signoff}[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">team name</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">date</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">editor list</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{signoff} </span></div><hr> +</p><!--l. 1079--><p class="noindent" > +This environment may be used by the editorial team when signing off a chapter such +as the preface. If the optional argument is omitted, “The Editorial Team” is +used. +</p><!--l. 1084--><p class="indent" > Within the environment use: +</p><!--l. 1085--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\Editor</span><span +class="ectt-0900"> </span></span><a + id="dx1-21008"></a> <span +class="ectt-1000">\Editor{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">details</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1087--><p class="noindent" > +for each editor. Example: + + + +</p> + <div class="verbatim" id="verbatim-36"> +\begin{signoff}{March 2010} + <br /> First editor: + <br />\Editor{Nicola Talbot\\ + <br />University of East Anglia\\ + <br />\mailto{N.Talbot@uea.ac.uk}} + <br /> Second editor: + <br />\Editor{Anne Editor\\ + <br />University of Nowhere\\ + <br />\mailto{ae@sample.com}} + <br />\end{signoff} +</div> +<!--l. 1100--><p class="nopar" > +</p><!--l. 1102--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\tableofcontents</span><span +class="ectt-0900"> </span></span><a + id="dx1-21009"></a> <span +class="ectt-1000">\tableofcontents </span></div><hr> +</p><!--l. 1104--><p class="noindent" > +This command displays the book’s table of contents. Note that it has a different effect if +used in an imported article. +</p><!--l. 1108--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\mainmatter</span><span +class="ectt-0900"> </span></span><a + id="dx1-21010"></a> <span +class="ectt-1000">\mainmatter </span></div><hr> +</p><!--l. 1110--><p class="noindent" > +Use this command to switch to the book’s main matter. This will switch the chapter +numbering back on, reset the page numbering to Arabic and set up the main page +style. +</p><!--l. 1115--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\part</span><span +class="ectt-0900"> </span></span><a + id="dx1-21011"></a> <span +class="ectt-1000">\part[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1117--><p class="noindent" > +If used in the main part of the book, this command will start a new part and issue a +clear double page. Note that this command has a different effect if used in an imported +article. +</p><!--l. 1122--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\addtocpart</span><span +class="ectt-0900"> </span></span><a + id="dx1-21012"></a> <span +class="ectt-1000">\addtocpart{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1124--><p class="noindent" > +This adds <span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩ </span>to the table of contents, issues a clear double page, but doesn’t display +any text or affect the part numbering. +</p><!--l. 1129--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\chapter</span><span +class="ectt-0900"> </span></span><a + id="dx1-21013"></a> <span +class="ectt-1000">\chapter[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1131--><p class="noindent" > +This command may be used in the main body of the book but will cause an error if +used within an imported article. +</p><!--l. 1135--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\section</span><span +class="ectt-0900"> </span></span><a + id="dx1-21014"></a> <span +class="ectt-1000">\section[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1137--><p class="noindent" > +</p><!--l. 1138--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsection</span><span +class="ectt-0900"> </span></span><a + id="dx1-21015"></a> <span +class="ectt-1000">\subsection[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1140--><p class="noindent" > +</p><!--l. 1141--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subsubsection</span><span +class="ectt-0900"> </span></span><a + id="dx1-21016"></a> <span +class="ectt-1000">\subsubsection[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1143--><p class="noindent" > + + + +</p><!--l. 1144--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\paragraph</span><span +class="ectt-0900"> </span></span><a + id="dx1-21017"></a> <span +class="ectt-1000">\paragraph[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1146--><p class="noindent" > +</p><!--l. 1147--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\subparagraph</span><span +class="ectt-0900"> </span></span><a + id="dx1-21018"></a> <span +class="ectt-1000">\subparagraph[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">short title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">title</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1149--><p class="noindent" > +These commands may be used in the main body of the book or within imported +articles. In the main body of the book they need to be within a chapter and will be +numbered according to the chapter. +</p><!--l. 1154--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\appendix</span><span +class="ectt-0900"> </span></span><a + id="dx1-21019"></a> <span +class="ectt-1000">\appendix </span></div><hr> +</p><!--l. 1156--><p class="noindent" > +If used in the main body of the book, this will switch to the book appendices. +Subsequent <span +class="ectt-1000">\chapter </span>commands will produce the appendices. If used within an +imported article, it will switch to the article appendices and won’t affect the main part +of the book. +</p><!--l. 1163--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">jmlrpapers</span><span +class="ectt-0900"> </span></span><a + id="dx1-21020"></a><a + id="dx1-21021"></a> <span +class="ectt-1000">\begin{jmlrpapers}</span><br +class="newline" /><span +class="cmsy-10">⟨</span><span +class="ecti-1000">imported papers</span><span +class="cmsy-10">⟩</span><br +class="newline" /><span +class="ectt-1000">\end{jmlrpapers} </span></div><hr> +</p><!--l. 1167--><p class="noindent" > +This environment must be used when importing articles. Within this environment, use +the following commands to import articles: +</p><!--l. 1170--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\importpubpaper</span><span +class="ectt-0900"> </span></span><a + id="dx1-21022"></a> <span +class="ectt-1000">\importpubpaper[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">directory</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">file</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">pages</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span> +</div><hr> +</p><!--l. 1172--><p class="noindent" > +This imports an article that has already been published elsewhere. The <span +class="cmsy-10">⟨</span><span +class="ecti-1000">pages</span><span +class="cmsy-10">⟩</span> +argument should be the page range from the <span +class="ecti-1000">previously published </span>version of this article. +This may not necessarily be the same as the page range of the article in the book. The +directory the imported file is contained in is is given by <span +class="cmsy-10">⟨</span><span +class="ecti-1000">directory</span><span +class="cmsy-10">⟩</span>. If the +file is in the same directory as the book, use a dot. The file name is given by +<span +class="cmsy-10">⟨</span><span +class="ecti-1000">file</span><span +class="cmsy-10">⟩</span>. The article is also given a label, specified by the optional argument. +This is <span +class="cmsy-10">⟨</span><span +class="ecti-1000">directory</span><span +class="cmsy-10">⟩</span>/<span +class="cmsy-10">⟨</span><span +class="ecti-1000">file</span><span +class="cmsy-10">⟩ </span>by default. The label is used as a prefix to labels in +the imported articles which ensures that cross-references are unique. You can +also use this label to reference the article elsewhere in the book (see <a +href="#x1-220004.3.1">§4.3.1 +</a><a +href="#x1-220004.3.1">Cross-Referencing<!--tex4ht:ref: sec:bkcrossref --></a>). +</p><!--l. 1186--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\importpaper</span><span +class="ectt-0900"> </span></span><a + id="dx1-21023"></a> <span +class="ectt-1000">\importpaper[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">directory</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">file</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1188--><p class="noindent" > +Imports an article that is being published in the book. The arguments are the +same as above except that there is no page range (the page range is computed +automatically). +</p><!--l. 1193--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\importarticle</span><span +class="ectt-0900"> </span></span><a + id="dx1-21024"></a> <span +class="ectt-1000">\importarticle[</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">]{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">directory</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">file</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1195--><p class="noindent" > +This imports an article that hasn’t been published elsewhere. There is no +page range, but the other arguments are the same as those describe above for +<span +class="ectt-1000">\importpubpaper</span>. +</p><!--l. 1200--><p class="indent" > Example: to import a previously published paper <span +class="ectt-1000">paper1/paper1.tex </span>and an +unpublished paper <span +class="ectt-1000">paper2/paper2.tex</span>: + + + +</p> + <div class="verbatim" id="verbatim-37"> +\begin{jmlrpapers} + <br />\importpubpaper{paper1}{paper1}{23--45} + <br />\importarticle{paper2}{paper2} + <br />\end{jmlrpapers} +</div> +<!--l. 1208--><p class="nopar" > +</p><!--l. 1210--><p class="noindent" > +</p> +<!--l. 1210--><p class="noindent" ><a +href="#top">Top</a></p><h5 class="subsubsectionHead"><span class="titlemark">4.3.1 </span> <a + id="x1-220004.3.1"></a>Cross-Referencing</h5> +<!--l. 1213--><p class="noindent" >You can cross-reference other parts of the book using the standard <span +class="ectt-1000">\label</span>/<span +class="ectt-1000">\ref</span> +mechanism, but if you want to reference something within an imported article, you +must prefix the label with the label given when importing the article (that is, the +optional argument to <span +class="ectt-1000">\importpubpaper</span><a + id="dx1-22001"></a>, <span +class="ectt-1000">\importpaper</span><a + id="dx1-22002"></a> or <span +class="ectt-1000">\importarticle</span>). For +example, if you want to reference a section labeled <span +class="ectt-1000">sec:results </span>in the imported paper +<span +class="ectt-1000">paper1/paper1.tex</span>, you would need to do: + + + +</p> + <div class="verbatim" id="verbatim-38"> +see Section~\ref{paper1/paper1sec:results} +</div> +<!--l. 1223--><p class="nopar" > or + + + +</p> + <div class="verbatim" id="verbatim-39"> +see \sectionref{paper1/paper1sec:results} +</div> +<!--l. 1227--><p class="nopar" > +</p><!--l. 1229--><p class="indent" > In addition to the commands described in <a +href="#x1-140003.9">§3.9 </a><a +href="#x1-140003.9">Cross-Referencing<!--tex4ht:ref: sec:crossref --></a>, the <span +class="ecss-1000">jmlrbook </span>class +also provides the following cross-referencing commands: +</p><!--l. 1233--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\chapterref</span><span +class="ectt-0900"> </span></span><a + id="dx1-22003"></a> <span +class="ectt-1000">\chapterref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label list</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1235--><p class="noindent" > +Reference a chapter or chapters. The argument is a comma-separated list of +labels. +</p><!--l. 1239--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\articlepageref</span><span +class="ectt-0900"> </span></span><a + id="dx1-22004"></a> <span +class="ectt-1000">\articlepageref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1241--><p class="noindent" > +This displays the starting page number of the article whose label is given by <span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span>. +Note that this must a single label, not a list. For example: + + + +</p> + <div class="verbatim" id="verbatim-40"> +An interesting article starts on page~\articlepageref{paper1/paper1} +</div> +<!--l. 1247--><p class="nopar" > +</p><!--l. 1249--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\articlepagesref</span><span +class="ectt-0900"> </span></span><a + id="dx1-22005"></a> <span +class="ectt-1000">\articlepagesref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1251--><p class="noindent" > +This displays the page range of the article whose label is given by <span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span>. Again, this +must be a single label, not a list. This page range is unrelated to the <span +class="cmsy-10">⟨</span><span +class="ecti-1000">pages</span><span +class="cmsy-10">⟩ </span>argument +of <span +class="ectt-1000">\importpubarticle</span><a + id="dx1-22006"></a>. +</p><!--l. 1257--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\articletitleref</span><span +class="ectt-0900"> </span></span><a + id="dx1-22007"></a> <span +class="ectt-1000">\articletitleref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1259--><p class="noindent" > +This displays the short title for the article whose label is given by <span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span>. Again, this +must be a single label, not a list. +</p><!--l. 1264--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\articleauthorref</span><span +class="ectt-0900"> </span></span><a + id="dx1-22008"></a> <span +class="ectt-1000">\articleauthorref{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1266--><p class="noindent" > +This displays the author list for the article whose label is given by <span +class="cmsy-10">⟨</span><span +class="ecti-1000">label</span><span +class="cmsy-10">⟩</span>. Again, this +must be a single label, not a list. +</p><!--l. 1271--><p class="noindent" > +</p> +<!--l. 1271--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a + id="x1-230004.4"></a>Altering the Layout of the Main Title Page</h4> +<!--l. 1274--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\titlebody</span><span +class="ectt-0900"> </span></span><a + id="dx1-23001"></a> <span +class="ectt-1000">\titlebody </span></div><hr> +</p><!--l. 1276--><p class="noindent" > +The main body of the book’s title page is given by the command <span +class="ectt-1000">\titlebody</span>. Within +the definition of this command, you can use: +</p><!--l. 1280--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\SetTitleElement</span><span +class="ectt-0900"> </span></span><a + id="dx1-23002"></a> <span +class="ectt-1000">\SetTitleElement{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">element</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">pre</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">post</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">} </span></div><hr> +</p><!--l. 1282--><p class="noindent" > +where <span +class="cmsy-10">⟨</span><span +class="ecti-1000">element</span><span +class="cmsy-10">⟩ </span>can be: <span +class="ectt-1000">title</span>, <span +class="ectt-1000">volume</span>, +<span +class="ectt-1000">issue</span><span class="footnote-mark"><a +href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a + id="x1-23003f2"></a>, +<span +class="ectt-1000">subtitle</span>, <span +class="ectt-1000">logo</span>, <span +class="ectt-1000">team</span>, <span +class="ectt-1000">author</span>, <span +class="ectt-1000">date</span>, <span +class="ectt-1000">productioneditor</span>. The <span +class="cmsy-10">⟨</span><span +class="ecti-1000">pre</span><span +class="cmsy-10">⟩ </span>and <span +class="cmsy-10">⟨</span><span +class="ecti-1000">post</span><span +class="cmsy-10">⟩ </span>arguments +specify what to do before and after the element. Note that <span +class="ectt-1000">\SetTitleElement </span>does +nothing if that element hasn’t been set. For example, if <span +class="ectt-1000">\volume </span>has been omitted or +<span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\volume{}</span></span></span> is used, then + + + +</p> + <div class="verbatim" id="verbatim-41"> +\SetTitleElement{volume}{\mainvolumefont}{\postmainvolume} +</div> +<!--l. 1294--><p class="nopar" > will do nothing (so you don’t end up with <span +class="ecbx-1000">Volume :</span>). +</p><!--l. 1297--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="ectt-0900">\IfTitleElement</span><span +class="ectt-0900"> </span></span><a + id="dx1-23005"></a> <span +class="ectt-1000">\IfTitleElement{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">element</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">true part</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}{</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">false part</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">}</span> +</div><hr> +</p><!--l. 1299--><p class="noindent" > +This does <span +class="cmsy-10">⟨</span><span +class="ecti-1000">true part</span><span +class="cmsy-10">⟩ </span>if <span +class="cmsy-10">⟨</span><span +class="ecti-1000">element</span><span +class="cmsy-10">⟩ </span>has been set otherwise it does <span +class="cmsy-10">⟨</span><span +class="ecti-1000">false part</span><span +class="cmsy-10">⟩</span>. For +example, <span +class="ectt-1000">\postmainvolume </span>is defined as: + + + +</p> + <div class="verbatim" id="verbatim-42"> +\newcommand{\postmainvolume}{% + <br />  \IfTitleElement{subtitle}{}{:}\par\relax + <br />} +</div> +<!--l. 1307--><p class="nopar" > This means that it will only print a colon after the volume number if the subtitle has +been set. +</p><!--l. 1311--><p class="indent" > The default definition of <span +class="ectt-1000">\titlebody </span>is: + + + +</p> + <div class="verbatim" id="verbatim-43"> +\newcommand{\titlebody}{% + <br />  \SetTitleElement{title}{\maintitlefont}{\postmaintitle}% + <br />  \SetTitleElement{volume}{\mainvolumefont}{\postmainvolume}% + <br />  \SetTitleElement{subtitle}{\mainsubtitlefont}{\postmainsubtitle}% + <br />  \SetTitleElement{logo}{\mainlogofont}{\postmainlogo}% + <br />  \SetTitleElement{team}{\mainteamfont}{\postmainteam}% + <br />  \SetTitleElement{author}{\mainauthorfont}{\postmainauthor}% + <br />  \SetTitleElement{productioneditor}{\mainproductioneditorfont}% + <br />    {\postmainproductioneditor}% + <br />} +</div> +<!--l. 1323--><p class="nopar" > +</p><!--l. 1325--><p class="noindent" > +</p> +<!--l. 1325--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a + id="x1-240004.5"></a>Potential Pitfalls</h4> +<!--l. 1327--><p class="noindent" >The <span +class="ecss-1000">combine</span><a + id="dx1-24001"></a> class and <span +class="ecss-1000">hyperref</span><a + id="dx1-24002"></a> package are individually both easily broken by packages +that change certain internals and they don’t ordinarily work together. The <span +class="ecss-1000">jmlrbook</span> +class applies patches to the internal referencing mechanism to make them work +together, but it’s a fairly fragile alliance. Some packages are known to break it, for +example <span +class="ecss-1000">subfig</span><a + id="dx1-24003"></a>, <span +class="ecss-1000">pdfpages</span><a + id="dx1-24004"></a> and <span +class="ecss-1000">geometry</span><a + id="dx1-24005"></a>. This is why the <span +class="ecss-1000">jmlr </span>class checks for known +problem packages and generates an error message to dissuade authors from using them. +It’s likely that there are other packages that may cause a problem and, as they are +found, they will be added to the check list. Also, it’s possible for an author to disable +the package checking mechanism if they are determined to use a particular +package. +</p><!--l. 1341--><p class="indent" > In the event that an article has loaded a problem package, the editors will have to +decide whether to ask the author to change the article so that it doesn’t cause a +problem or to make the changes themselves or to find a way of fudging things to get it +to work. It depends on the level of <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> expertise amongst the editors and the time +available. +</p><!--l. 1348--><p class="indent" > Another problem that can arise is when different articles use packages that conflict. +For example, one article uses package <span +class="ecss-1000">foo </span>and another uses package <span +class="ecss-1000">bar</span>. Each article +compiles okay as a stand-alone article, but when combined <span +class="ecss-1000">foo </span>and <span +class="ecss-1000">bar </span>conflict. Another +problem may occur when articles load the same package but with conflicting package +options. To reduce the chance of this occurring, the <span +class="ecss-1000">jmlr </span>class loads some commonly +used packages. For example, it loads the <span +class="ecss-1000">algorithm2e</span><a + id="dx1-24006"></a> package with the <span +class="ecss-1000">algo2e </span>and <span +class="ecss-1000">ruled</span> +options and provides the <span +class="ecss-1000">algorithm</span><a + id="dx1-24007"></a><a + id="dx1-24008"></a> environment in addition to <span +class="ecss-1000">algorithm2e</span><a + id="dx1-24009"></a>’s <span +class="ecss-1000">algorithm2e</span><a + id="dx1-24010"></a><a + id="dx1-24011"></a> +environment. +</p><!--l. 1360--><p class="indent" > Articles that use different input encodings can also cause a problem. For +example, if one article uses <span +class="ectt-1000">utf8 </span>and another uses <span +class="ectt-1000">latin1</span>. If the authors have + + + +directly entered a diacritic or ligature, such as é or æ, instead of using a +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> command, such as <span +class="ectt-1000">\’e </span>or <span +class="ectt-1000">\ae</span>, then this will cause an error on compiling the +book.<span class="footnote-mark"><a +href="#fn3x0" id="fn3x0-bk"><sup class="textsuperscript">3</sup></a></span><a + id="x1-24012f3"></a> +The choice then is to either change all non-keyboard characters with the appropriate +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> commands or to use the <span +class="ectt-1000">\inputencoding </span>command, supplied by the <span +class="ecss-1000">inputenc</span><a + id="dx1-24013"></a> +package, to switch the encoding at the start of each article. +</p><!--l. 1372--><p class="indent" > Authors who use <span +class="ectt-1000">\nonumber </span>within an <span +class="ecss-1000">equation</span><a + id="dx1-24014"></a><a + id="dx1-24015"></a> environment can mess up the +hyperlinks. Remove <span +class="ectt-1000">\nonumber </span>and change the equation environment to <span +class="ectt-1000">\[ </span>… <span +class="ectt-1000">\] </span>(or +just make it a numbered equation). +</p><!--l. 1377--><p class="indent" > If the article changes the graphics path using <span +class="ectt-1000">\graphicspath</span>, <span +class="ecss-1000">jmlrbook </span>won’t +find the graphics if the imported articles aren’t in the same directory as the +book. +</p><!--l. 1381--><p class="noindent" > +</p> +<!--l. 1381--><p class="noindent" ><a +href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a + id="x1-250004.6"></a>Creating the Book Using <span +class="ectt-1000">makejmlrbook</span></h4> +<!--l. 1384--><p class="noindent" >The <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-25001"></a> Perl script is designed to make it easier to produce the print and +online versions of the book, as well as producing an HTML index of all the imported +articles with links to the abstracts and PDFs of individual articles. Note that for +it to work properly, the articles must be imported using <span +class="ectt-1000">\importarticle</span>, +<span +class="ectt-1000">\importpaper </span>or <span +class="ectt-1000">\importpubpaper</span>, and the imported articles must use the <span +class="ecss-1000">jmlr</span> +class. +</p><!--l. 1392--><p class="indent" > On UNIX style systems, the script can be invoked from a terminal using: +<spacer type=vertical size=10><span class="obeylines-h"> + <br /><span +class="ectt-1000">makejmlrbook [</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">options</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">] </span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">filename</span><span +class="cmsy-10">⟩</span></span> +</p><!--l. 1396--><p class="indent" > <spacer type=vertical size=10> +If that doesn’t work, or you aren’t using a UNIX style operating system, the script can +be invoked from a terminal or command prompt using: <spacer type=vertical size=10><span class="obeylines-h"> + <br /><span +class="ectt-1000">perl makejmlrbook [</span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">options</span><span +class="cmsy-10">⟩</span><span +class="ectt-1000">] </span><span +class="cmsy-10">⟨</span><span +class="ecti-1000">filename</span><span +class="cmsy-10">⟩</span></span> +</p><!--l. 1402--><p class="indent" > <spacer type=vertical size=10> +The mandatory argument <span +class="cmsy-10">⟨</span><span +class="ecti-1000">filename</span><span +class="cmsy-10">⟩ </span>is the name of the master <span class="TEX">T<span +class="E">E</span>X</span> file containing the +book. It must use the <span +class="ecss-1000">jmlrbook </span>class. You may omit the <span +class="ectt-1000">.tex </span>extension. For +example, if the file is called <span +class="ectt-1000">proceedings.tex</span>, you can call <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-25002"></a> as +follows: + + + +</p> + <div class="verbatim" id="verbatim-44"> +perl makejmlrbook proceedings +</div> +<!--l. 1410--><p class="nopar" > This will create the files <span +class="ectt-1000">proceedings-print.pdf </span>(the print version) and +<span +class="ectt-1000">proceedings-online.pdf </span>(the online version). It will also create a directory +(folder) called <span +class="ectt-1000">html </span>in which the HTML files and individual article PDFs will be +placed. +</p><!--l. 1417--><p class="indent" > The options to <span +class="ectt-1000">makejmlrbook</span><a + id="dx1-25003"></a> are as follows: + </p><dl class="description"><dt class="description"> +<span +class="ecbx-1000">–online</span> </dt><dd +class="description">Generate the color on-line version (default). + </dd><dt class="description"> +<span +class="ecbx-1000">–noonline</span> </dt><dd +class="description">Don’t generate the color on-line version. + </dd><dt class="description"> +<span +class="ecbx-1000">–print</span> </dt><dd +class="description">Generate the grayscale print version (default). + </dd><dt class="description"> +<span +class="ecbx-1000">–noprint</span> </dt><dd +class="description">Don’t generate the grayscale print version. + </dd><dt class="description"> +<span +class="ecbx-1000">–html</span> </dt><dd +class="description">Generate the HTML files and the individual article PDFs (default). + </dd><dt class="description"> +<span +class="ecbx-1000">–nohtml</span> </dt><dd +class="description">Don’t generate the HTML files and the individual article PDFs. + </dd><dt class="description"> +<span +class="ecbx-1000">–logourl </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">url</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Make the logo on the HTML index page link to <span +class="cmsy-10">⟨</span><span +class="ecti-1000">url</span><span +class="cmsy-10">⟩</span>. + </dd><dt class="description"> +<span +class="ecbx-1000">–batchtex</span> </dt><dd +class="description">Run <span class="TEX">T<span +class="E">E</span>X</span> in batch mode. + </dd><dt class="description"> +<span +class="ecbx-1000">–nobatchtex</span> </dt><dd +class="description">Don’t run <span class="TEX">T<span +class="E">E</span>X</span> in batch mode (default). + </dd><dt class="description"> +<span +class="ecbx-1000">–quieter</span> </dt><dd +class="description">Reduce chatter to STDOUT (doesn’t eliminate all messages). This also + runs <span class="TEX">T<span +class="E">E</span>X</span> in batch mode. + </dd><dt class="description"> +<span +class="ecbx-1000">–noquieter</span> </dt><dd +class="description">Don’t reduce messages to STDOUT (default). + </dd><dt class="description"> +<span +class="ecbx-1000">–version</span> </dt><dd +class="description">Display the version number and exit. + </dd><dt class="description"> +<span +class="ecbx-1000">–help</span> </dt><dd +class="description">List all available options.</dd></dl> + + + +<!--l. 1438--><p class="indent" > There are also some more advanced options, but these haven’t been fully +tested: + </p><dl class="description"><dt class="description"> +<span +class="ecbx-1000">–latexapp </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">name</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Application used to call <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. Defaults to “pdflatex”. + </dd><dt class="description"> +<span +class="ecbx-1000">–latexopt </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">string</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Options to pass to <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. + </dd><dt class="description"> +<span +class="ecbx-1000">–format </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">string</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Output format (defaults to “pdf”). This may need to be + changed if you change the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> application. + </dd><dt class="description"> +<span +class="ecbx-1000">–bibtexapp </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">name</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Application use to process the bibliography. Defaults to + “bibtex”. + </dd><dt class="description"> +<span +class="ecbx-1000">–bibtexopt </span><span +class="cmsy-10">⟨</span><span +class="ecbi-1000">string</span><span +class="cmsy-10">⟩</span> </dt><dd +class="description">Options to pass to Bib<span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> + + + +<!--l. 1453--><p class="indent" > <a + id="likesection.1"></a><a + id="Q1-1-27"></a> +</p> +<!--l. 2--><p class="noindent" ><a +href="#top">Top</a></p><h3 class="likesectionHead"><a + id="x1-260004.6"></a>Index</h3> +<!--l. 4--><p class="noindent" > <span +class="ecbx-1000">Symbols</span> +</p> + <div class="theindex"><span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\\</span></span></span>  <a +href="jmlr-manual.html#dx1-5020" ><span +class="ecti-1000">1</span></a> <br /></span> +<p class="theindex"> <span +class="ecbx-1000">A</span> +<span class="index-item"><span +class="ectt-1000">abstract </span>(environment)  <a +href="jmlr-manual.html#dx1-7001" ><span +class="ecti-1000">2</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\acks</span></span></span>  <a +href="jmlr-manual.html#dx1-7005" ><span +class="ecti-1000">3</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\addr</span></span></span>  <a +href="jmlr-manual.html#dx1-5021" ><span +class="ecti-1000">4</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\addtocpart</span></span></span>  <a +href="jmlr-manual.html#dx1-21012" ><span +class="ecti-1000">5</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">algorithm </span>(environment)  <a +href="jmlr-manual.html#dx1-11001" ><span +class="ecti-1000">6</span></a>, <a +href="jmlr-manual.html#dx1-24007" ><span class="underline">7</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">algorithm2e </span>(environment)  <a +href="jmlr-manual.html#dx1-11011" ><span +class="ecti-1000">8</span></a>, <a +href="jmlr-manual.html#dx1-24010" ><span class="underline">9</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">algorithm2e </span>package  <a +href="jmlr-manual.html#dx1-3007" >10</a>, <a +href="jmlr-manual.html#dx1-11013" >11</a>, <a +href="jmlr-manual.html#dx1-11014" >12</a>, <a +href="jmlr-manual.html#dx1-24006" >13</a>, <a +href="jmlr-manual.html#dx1-24009" >14</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\algorithmref</span></span></span>  <a +href="jmlr-manual.html#dx1-14009" ><span +class="ecti-1000">15</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">align </span>(environment)  <a +href="jmlr-manual.html#dx1-15007" ><span class="underline">16</span></a>, <a +href="jmlr-manual.html#dx1-15011" ><span class="underline">17</span></a>, <a +href="jmlr-manual.html#dx1-15017" ><span class="underline">18</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">align* </span>(environment)  <a +href="jmlr-manual.html#dx1-15009" ><span class="underline">19</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">altdescription </span>(environment)  <a +href="jmlr-manual.html#dx1-12001" ><span +class="ecti-1000">20</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">amsmath </span>package  <a +href="jmlr-manual.html#dx1-3002" >21</a>, <a +href="jmlr-manual.html#dx1-15001" >22</a>, <a +href="jmlr-manual.html#dx1-15002" >23</a>, <a +href="jmlr-manual.html#dx1-15004" >24</a>, <a +href="jmlr-manual.html#dx1-15025" >25</a> <br /></span> +<span class="index-item"><span +class="ecss-1000">amssymb </span>package  <a +href="jmlr-manual.html#dx1-3003" >26</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\AND</span></span></span>  <a +href="jmlr-manual.html#dx1-5019" ><span +class="ecti-1000">27</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\and</span></span></span>  <a +href="jmlr-manual.html#dx1-5018" ><span +class="ecti-1000">28</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\appendix</span></span></span>  <a +href="jmlr-manual.html#dx1-7012" ><span +class="ecti-1000">29</span></a>, <a +href="jmlr-manual.html#dx1-21019" ><span +class="ecti-1000">30</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\appendixref</span></span></span>  <a +href="jmlr-manual.html#dx1-14003" ><span +class="ecti-1000">31</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\articleauthorref</span></span></span>  <a +href="jmlr-manual.html#dx1-22008" ><span +class="ecti-1000">32</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\articlepageref</span></span></span>  <a +href="jmlr-manual.html#dx1-22004" ><span +class="ecti-1000">33</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\articlepagesref</span></span></span>  <a +href="jmlr-manual.html#dx1-22005" ><span +class="ecti-1000">34</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\articletitleref</span></span></span>  <a +href="jmlr-manual.html#dx1-22007" ><span +class="ecti-1000">35</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\Author</span></span></span>  <a +href="jmlr-manual.html#dx1-21005" ><span +class="ecti-1000">36</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\author</span></span></span>  <a +href="jmlr-manual.html#dx1-5013" ><span +class="ecti-1000">37</span></a>, <a +href="jmlr-manual.html#dx1-20009" ><span +class="ecti-1000">38</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">authorsignoff </span>(environment)  <a +href="jmlr-manual.html#dx1-21003" ><span +class="ecti-1000">39</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">axiom </span>(environment)  <a +href="jmlr-manual.html#dx1-13017" ><span class="underline">40</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\axiomref</span></span></span>  <a +href="jmlr-manual.html#dx1-14016" ><span +class="ecti-1000">41</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">B</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\bibliography</span></span></span>  <a +href="jmlr-manual.html#dx1-8002" ><span +class="ecti-1000">42</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">C</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\caption</span></span></span>  <a +href="jmlr-manual.html#dx1-11003" ><span class="underline">43</span></a> <br /></span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\chapter</span></span></span>  <a +href="jmlr-manual.html#dx1-21013" ><span +class="ecti-1000">44</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\chapterref</span></span></span>  <a +href="jmlr-manual.html#dx1-22003" ><span +class="ecti-1000">45</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\citep</span></span></span>  <a +href="jmlr-manual.html#dx1-8003" ><span +class="ecti-1000">46</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\citet</span></span></span>  <a +href="jmlr-manual.html#dx1-8004" ><span +class="ecti-1000">47</span></a> <br /></span> +<span class="index-item">class options:<br /></span> +<span class="index-subitem">    <span +class="ecss-1000">10pt</span>  <a +href="jmlr-manual.html#dx1-19023" ><span class="underline">48</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">11pt</span>  <a +href="jmlr-manual.html#dx1-19024" ><span class="underline">49</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">12pt</span>  <a +href="jmlr-manual.html#dx1-19025" ><span class="underline">50</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">7x10</span>  <a +href="jmlr-manual.html#dx1-19017" ><span class="underline">51</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">color</span>  <a +href="jmlr-manual.html#dx1-4003" ><span class="underline">52</span></a>, <a +href="jmlr-manual.html#dx1-19006" ><span class="underline">53</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">gray</span>  <a +href="jmlr-manual.html#dx1-4004" ><span class="underline">54</span></a>, <a +href="jmlr-manual.html#dx1-16003" ><span class="underline">55</span></a>, <a +href="jmlr-manual.html#dx1-19007" ><span class="underline">56</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">letterpaper</span>  <a +href="jmlr-manual.html#dx1-19016" ><span class="underline">57</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">nowcp</span>  <a +href="jmlr-manual.html#dx1-4001" ><span class="underline">58</span></a>, <a +href="jmlr-manual.html#dx1-19001" ><span class="underline">59</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">prehyperref</span>  <a +href="jmlr-manual.html#dx1-19018" ><span class="underline">60</span></a>, <a +href="jmlr-manual.html#dx1-19021" ><span class="underline">61</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">tablecaptionbottom</span>  <a +href="jmlr-manual.html#dx1-4009" ><span class="underline">62</span></a>, <a +href="jmlr-manual.html#dx1-19012" ><span class="underline">63</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">tablecaptiontop</span>  <a +href="jmlr-manual.html#dx1-4005" ><span class="underline">64</span></a>, <a +href="jmlr-manual.html#dx1-19008" ><span class="underline">65</span></a> <br /></span> +<span class="index-subitem">    <span +class="ecss-1000">wcp</span>  <a +href="jmlr-manual.html#dx1-4002" ><span class="underline">66</span></a>, <a +href="jmlr-manual.html#dx1-5008" ><span class="underline">67</span></a>, <a +href="jmlr-manual.html#dx1-19002" ><span class="underline">68</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">combine </span>class  <a +href="jmlr-manual.html#dx1-2003" >69</a>, <a +href="jmlr-manual.html#dx1-2004" >70</a>, <a +href="jmlr-manual.html#dx1-3011" >71</a>, <a +href="jmlr-manual.html#dx1-24001" >72</a> <br /></span> +<span class="index-item"><span +class="ecss-1000">combnat </span>package  <a +href="jmlr-manual.html#dx1-3014" >73</a> <br /></span> +<span class="index-item"><span +class="ectt-1000">conjecture </span>(environment)  <a +href="jmlr-manual.html#dx1-13015" ><span class="underline">74</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\conjectureref</span></span></span>  <a +href="jmlr-manual.html#dx1-14015" ><span +class="ecti-1000">75</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">corollary </span>(environment)  <a +href="jmlr-manual.html#dx1-13011" ><span class="underline">76</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\corollaryref</span></span></span>  <a +href="jmlr-manual.html#dx1-14013" ><span +class="ecti-1000">77</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">D</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\DeclareMathOperator</span></span></span>  <a +href="jmlr-manual.html#dx1-15020" ><span +class="ecti-1000">78</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\DeclareMathOperator*</span></span></span>  <a +href="jmlr-manual.html#dx1-15023" ><span class="underline">79</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">definition </span>(environment)  <a +href="jmlr-manual.html#dx1-13013" ><span class="underline">80</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\definitionref</span></span></span>  <a +href="jmlr-manual.html#dx1-14014" ><span +class="ecti-1000">81</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">description </span>(environment)  <a +href="jmlr-manual.html#dx1-12003" ><span class="underline">82</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">E</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\Editor</span></span></span>  <a +href="jmlr-manual.html#dx1-21008" ><span +class="ecti-1000">83</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\editor</span></span></span>  <a +href="jmlr-manual.html#dx1-5011" ><span +class="ecti-1000">84</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\editors</span></span></span>  <a +href="jmlr-manual.html#dx1-5012" ><span +class="ecti-1000">85</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\Email</span></span></span>  <a +href="jmlr-manual.html#dx1-5017" ><span +class="ecti-1000">86</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">enumerate </span>(environment)  <a +href="jmlr-manual.html#dx1-11005" ><span class="underline">87</span></a>, <a +href="jmlr-manual.html#dx1-11009" ><span class="underline">88</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">enumerate* </span>(environment)  <a +href="jmlr-manual.html#dx1-11007" ><span +class="ecti-1000">89</span></a> <br /></span> +<span class="index-item">environments:<br /></span> +<span class="index-subitem">    <span +class="ectt-1000">abstract</span>  <a +href="jmlr-manual.html#dx1-7002" ><span +class="ecti-1000">90</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">algorithm</span>  <a +href="jmlr-manual.html#dx1-11002" ><span +class="ecti-1000">91</span></a>, <a +href="jmlr-manual.html#dx1-24008" ><span class="underline">92</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">algorithm2e</span>  <a +href="jmlr-manual.html#dx1-11012" ><span +class="ecti-1000">93</span></a>, <a +href="jmlr-manual.html#dx1-24011" ><span class="underline">94</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">align</span>  <a +href="jmlr-manual.html#dx1-15008" ><span class="underline">95</span></a>, <a +href="jmlr-manual.html#dx1-15012" ><span class="underline">96</span></a>, <a +href="jmlr-manual.html#dx1-15018" ><span class="underline">97</span></a> <br /></span> + + + +<span class="index-subitem">    <span +class="ectt-1000">align*</span>  <a +href="jmlr-manual.html#dx1-15010" ><span class="underline">98</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">altdescription</span>  <a +href="jmlr-manual.html#dx1-12002" ><span +class="ecti-1000">99</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">authorsignoff</span>  <a +href="jmlr-manual.html#dx1-21004" ><span +class="ecti-1000">100</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">axiom</span>  <a +href="jmlr-manual.html#dx1-13018" ><span class="underline">101</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">conjecture</span>  <a +href="jmlr-manual.html#dx1-13016" ><span class="underline">102</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">corollary</span>  <a +href="jmlr-manual.html#dx1-13012" ><span class="underline">103</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">definition</span>  <a +href="jmlr-manual.html#dx1-13014" ><span class="underline">104</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">description</span>  <a +href="jmlr-manual.html#dx1-12004" ><span class="underline">105</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">enumerate</span>  <a +href="jmlr-manual.html#dx1-11006" ><span class="underline">106</span></a>, <a +href="jmlr-manual.html#dx1-11010" ><span class="underline">107</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">enumerate*</span>  <a +href="jmlr-manual.html#dx1-11008" ><span +class="ecti-1000">108</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">equation</span>  <a +href="jmlr-manual.html#dx1-15006" ><span class="underline">109</span></a>, <a +href="jmlr-manual.html#dx1-24015" ><span class="underline">110</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">example</span>  <a +href="jmlr-manual.html#dx1-13004" ><span class="underline">111</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">jmlrpapers</span>  <a +href="jmlr-manual.html#dx1-21021" ><span +class="ecti-1000">112</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">keywords</span>  <a +href="jmlr-manual.html#dx1-7004" ><span +class="ecti-1000">113</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">lemma</span>  <a +href="jmlr-manual.html#dx1-13006" ><span class="underline">114</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">proof</span>  <a +href="jmlr-manual.html#dx1-13020" ><span class="underline">115</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">proposition</span>  <a +href="jmlr-manual.html#dx1-13008" ><span class="underline">116</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">remark</span>  <a +href="jmlr-manual.html#dx1-13010" ><span class="underline">117</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">signoff</span>  <a +href="jmlr-manual.html#dx1-21007" ><span +class="ecti-1000">118</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">split</span>  <a +href="jmlr-manual.html#dx1-15014" ><span class="underline">119</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">table</span>  <a +href="jmlr-manual.html#dx1-4007" ><span class="underline">120</span></a>, <a +href="jmlr-manual.html#dx1-4011" ><span class="underline">121</span></a>, <a +href="jmlr-manual.html#dx1-19010" ><span class="underline">122</span></a>, <a +href="jmlr-manual.html#dx1-19014" ><span class="underline">123</span></a> <br /></span> +<span class="index-subitem">    <span +class="ectt-1000">theorem</span>  <a +href="jmlr-manual.html#dx1-13002" ><span class="underline">124</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">epsfig </span>package  <a +href="jmlr-manual.html#dx1-3010" >125</a>, <a +href="jmlr-manual.html#dx1-2013" >126</a> <br /></span> +<span class="index-item"><span +class="ectt-1000">equation </span>(environment)  <a +href="jmlr-manual.html#dx1-15005" ><span class="underline">127</span></a>, <a +href="jmlr-manual.html#dx1-24014" ><span class="underline">128</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\equationref</span></span></span>  <a +href="jmlr-manual.html#dx1-14004" ><span +class="ecti-1000">129</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">example </span>(environment)  <a +href="jmlr-manual.html#dx1-13003" ><span class="underline">130</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\exampleref</span></span></span>  <a +href="jmlr-manual.html#dx1-14017" ><span +class="ecti-1000">131</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">F</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\figureref</span></span></span>  <a +href="jmlr-manual.html#dx1-14007" ><span +class="ecti-1000">132</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\floatconts</span></span></span>  <a +href="jmlr-manual.html#dx1-4008" ><span class="underline">133</span></a>, <a +href="jmlr-manual.html#dx1-4012" ><span class="underline">134</span></a>, <a +href="jmlr-manual.html#dx1-9001" ><span +class="ecti-1000">135</span></a>, <a +href="jmlr-manual.html#dx1-19011" ><span class="underline">136</span></a>, <a +href="jmlr-manual.html#dx1-19015" ><span class="underline">137</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\frontmatter</span></span></span>  <a +href="jmlr-manual.html#dx1-21002" ><span +class="ecti-1000">138</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">G</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\gdef</span></span></span>  <a +href="jmlr-manual.html#dx1-20002" ><span class="underline">139</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">geometry </span>package  <a +href="jmlr-manual.html#dx1-24005" >140</a>, <a +href="jmlr-manual.html#dx1-2011" >141</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\global</span></span></span>  <a +href="jmlr-manual.html#dx1-20003" ><span class="underline">142</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">graphicx </span>package  <a +href="jmlr-manual.html#dx1-3006" >143</a>, <a +href="jmlr-manual.html#dx1-9002" >144</a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">H</span> +<span class="index-item"><span +class="ecss-1000">hyperref </span>package  <a +href="jmlr-manual.html#dx1-2005" >145</a>, <a +href="jmlr-manual.html#dx1-3012" >146</a>, <a +href="jmlr-manual.html#dx1-19019" >147</a>, <a +href="jmlr-manual.html#dx1-19020" >148</a>, <a +href="jmlr-manual.html#dx1-19022" >149</a>, <a +href="jmlr-manual.html#dx1-24002" >150</a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">I</span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\ifprint</span></span></span>  <a +href="jmlr-manual.html#dx1-16002" ><span +class="ecti-1000">151</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\IfTitleElement</span></span></span>  <a +href="jmlr-manual.html#dx1-23005" ><span +class="ecti-1000">152</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\importarticle</span></span></span>  <a +href="jmlr-manual.html#dx1-21024" ><span +class="ecti-1000">153</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\importpaper</span></span></span>  <a +href="jmlr-manual.html#dx1-21023" ><span +class="ecti-1000">154</span></a>, <a +href="jmlr-manual.html#dx1-22002" ><span class="underline">155</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\importpubarticle</span></span></span>  <a +href="jmlr-manual.html#dx1-22006" ><span class="underline">156</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\importpubpaper</span></span></span>  <a +href="jmlr-manual.html#dx1-21022" ><span +class="ecti-1000">157</span></a>, <a +href="jmlr-manual.html#dx1-22001" ><span class="underline">158</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\includegraphics</span></span></span>  <a +href="jmlr-manual.html#dx1-9003" ><span +class="ecti-1000">159</span></a>, <a +href="jmlr-manual.html#dx1-16001" ><span class="underline">160</span></a>, <a +href="jmlr-manual.html#dx1-20013" ><span class="underline">161</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\includeteximage</span></span></span>  <a +href="jmlr-manual.html#dx1-9004" ><span +class="ecti-1000">162</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">inputenc </span>package  <a +href="jmlr-manual.html#dx1-24013" >163</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\intertext</span></span></span>  <a +href="jmlr-manual.html#dx1-15016" ><span class="underline">164</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\issue</span></span></span>  <a +href="jmlr-manual.html#dx1-23004" ><span class="underline">165</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">J</span> +<span class="index-item"><span +class="ecss-1000">jmlr2e </span>package  <a +href="jmlr-manual.html#dx1-2001" >166</a>, <a +href="jmlr-manual.html#dx1-3008" >167</a>, <a +href="jmlr-manual.html#dx1-5001" >168</a>, <a +href="jmlr-manual.html#dx1-5014" >169</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrnowcp</span></span></span>  <a +href="jmlr-manual.html#dx1-19004" ><span +class="ecti-1000">170</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">jmlrpapers </span>(environment)  <a +href="jmlr-manual.html#dx1-21020" ><span +class="ecti-1000">171</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrproceedings</span></span></span>  <a +href="jmlr-manual.html#dx1-19005" ><span +class="ecti-1000">172</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrpublished</span></span></span>  <a +href="jmlr-manual.html#dx1-5006" ><span +class="ecti-1000">173</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrsubmitted</span></span></span>  <a +href="jmlr-manual.html#dx1-5005" ><span +class="ecti-1000">174</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrvolume</span></span></span>  <a +href="jmlr-manual.html#dx1-5003" ><span +class="ecti-1000">175</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrwcp</span></span></span>  <a +href="jmlr-manual.html#dx1-19003" ><span +class="ecti-1000">176</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">jmlrwcp2e </span>package  <a +href="jmlr-manual.html#dx1-2002" >177</a>, <a +href="jmlr-manual.html#dx1-3009" >178</a>, <a +href="jmlr-manual.html#dx1-5002" >179</a>, <a +href="jmlr-manual.html#dx1-5015" >180</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlrworkshop</span></span></span>  <a +href="jmlr-manual.html#dx1-5007" ><span +class="ecti-1000">181</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\jmlryear</span></span></span>  <a +href="jmlr-manual.html#dx1-5004" ><span +class="ecti-1000">182</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">K</span> +<span class="index-item"><span +class="ectt-1000">keywords </span>(environment)  <a +href="jmlr-manual.html#dx1-7003" ><span +class="ecti-1000">183</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">L</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\label</span></span></span>  <a +href="jmlr-manual.html#dx1-11004" ><span class="underline">184</span></a>, <a +href="jmlr-manual.html#dx1-14001" ><span class="underline">185</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">lemma </span>(environment)  <a +href="jmlr-manual.html#dx1-13005" ><span class="underline">186</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\lemmaref</span></span></span>  <a +href="jmlr-manual.html#dx1-14011" ><span +class="ecti-1000">187</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\logo</span></span></span>  <a +href="jmlr-manual.html#dx1-20012" ><span +class="ecti-1000">188</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">M</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\mailto</span></span></span>  <a +href="jmlr-manual.html#dx1-6002" ><span +class="ecti-1000">189</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\mainmatter</span></span></span>  <a +href="jmlr-manual.html#dx1-21010" ><span +class="ecti-1000">190</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">makejmlrbook</span>  <a +href="jmlr-manual.html#dx1-2015" >191</a>, <a +href="jmlr-manual.html#dx1-2016" >192</a>, <a +href="jmlr-manual.html#dx1-3016" >193</a>, <a +href="jmlr-manual.html#dx1-18001" >194</a>, <a +href="jmlr-manual.html#dx1-25001" >195</a>, <a +href="jmlr-manual.html#dx1-25002" >196</a>, <a +href="jmlr-manual.html#dx1-25003" >197</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\maketitle</span></span></span>  <a +href="jmlr-manual.html#dx1-5009" ><span +class="ecti-1000">198</span></a>, <a +href="jmlr-manual.html#dx1-21001" ><span +class="ecti-1000">199</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">N</span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\Name</span></span></span>  <a +href="jmlr-manual.html#dx1-5016" ><span +class="ecti-1000">200</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">natbib </span>package  <a +href="jmlr-manual.html#dx1-3004" >201</a>, <a +href="jmlr-manual.html#dx1-8001" >202</a>, <a +href="jmlr-manual.html#dx1-8005" >203</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\newcommand</span></span></span>  <a +href="jmlr-manual.html#dx1-20004" ><span class="underline">204</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\newenvironment</span></span></span>  <a +href="jmlr-manual.html#dx1-20005" ><span class="underline">205</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">O</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\operatorname</span></span></span>  <a +href="jmlr-manual.html#dx1-15019" ><span +class="ecti-1000">206</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\operatorname*</span></span></span>  <a +href="jmlr-manual.html#dx1-15022" ><span class="underline">207</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">P</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\paragraph</span></span></span>  <a +href="jmlr-manual.html#dx1-21017" ><span +class="ecti-1000">208</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\part</span></span></span>  <a +href="jmlr-manual.html#dx1-21011" ><span +class="ecti-1000">209</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">pdfpages </span>package  <a +href="jmlr-manual.html#dx1-2007" >210</a>, <a +href="jmlr-manual.html#dx1-24004" >211</a>, <a +href="jmlr-manual.html#dx1-2010" >212</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\productioneditor</span></span></span>  <a +href="jmlr-manual.html#dx1-20015" ><span +class="ecti-1000">213</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">proof </span>(environment)  <a +href="jmlr-manual.html#dx1-13019" ><span class="underline">214</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">proposition </span>(environment)  <a +href="jmlr-manual.html#dx1-13007" ><span class="underline">215</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">psfig </span>package  <a +href="jmlr-manual.html#dx1-2012" >216</a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">R</span> +<span class="index-item"><span +class="ectt-1000">remark </span>(environment)  <a +href="jmlr-manual.html#dx1-13009" ><span class="underline">217</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\remarkref</span></span></span>  <a +href="jmlr-manual.html#dx1-14012" ><span +class="ecti-1000">218</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\renewcommand</span></span></span>  <a +href="jmlr-manual.html#dx1-20006" ><span class="underline">219</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\renewenvironment</span></span></span>  <a +href="jmlr-manual.html#dx1-20007" ><span class="underline">220</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">S</span> +<span class="index-item"><span +class="ecss-1000">scrartcl </span>class  <a +href="jmlr-manual.html#dx1-3001" >221</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\section</span></span></span>  <a +href="jmlr-manual.html#dx1-7006" ><span +class="ecti-1000">222</span></a>, <a +href="jmlr-manual.html#dx1-21014" ><span +class="ecti-1000">223</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\section*</span></span></span>  <a +href="jmlr-manual.html#dx1-7007" ><span +class="ecti-1000">224</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\sectionref</span></span></span>  <a +href="jmlr-manual.html#dx1-14002" ><span +class="ecti-1000">225</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\set</span></span></span>  <a +href="jmlr-manual.html#dx1-15003" ><span +class="ecti-1000">226</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">setspace </span>package  <a +href="jmlr-manual.html#dx1-3015" >227</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\SetTitleElement</span></span></span>  <a +href="jmlr-manual.html#dx1-23002" ><span +class="ecti-1000">228</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">signoff </span>(environment)  <a +href="jmlr-manual.html#dx1-21006" ><span +class="ecti-1000">229</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">siunitx </span>package  <a +href="jmlr-manual.html#dx1-20001" >230</a> <br /></span> +<span class="index-item"><span +class="ectt-1000">split </span>(environment)  <a +href="jmlr-manual.html#dx1-15013" ><span class="underline">231</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">subfig </span>package  <a +href="jmlr-manual.html#dx1-2006" >232</a>, <a +href="jmlr-manual.html#dx1-10001" >233</a>, <a +href="jmlr-manual.html#dx1-24003" >234</a>, <a +href="jmlr-manual.html#dx1-2009" >235</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subfigref</span></span></span>  <a +href="jmlr-manual.html#dx1-14008" ><span +class="ecti-1000">236</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subfigure</span></span></span>  <a +href="jmlr-manual.html#dx1-10002" ><span +class="ecti-1000">237</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subparagraph</span></span></span>  <a +href="jmlr-manual.html#dx1-21018" ><span +class="ecti-1000">238</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subsection</span></span></span>  <a +href="jmlr-manual.html#dx1-7008" ><span +class="ecti-1000">239</span></a>, <a +href="jmlr-manual.html#dx1-21015" ><span +class="ecti-1000">240</span></a> <br /></span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subsection*</span></span></span>  <a +href="jmlr-manual.html#dx1-7009" ><span +class="ecti-1000">241</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subsubsection</span></span></span>  <a +href="jmlr-manual.html#dx1-7010" ><span +class="ecti-1000">242</span></a>, <a +href="jmlr-manual.html#dx1-21016" ><span +class="ecti-1000">243</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subsubsection*</span></span></span>  <a +href="jmlr-manual.html#dx1-7011" ><span +class="ecti-1000">244</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subtable</span></span></span>  <a +href="jmlr-manual.html#dx1-10003" ><span +class="ecti-1000">245</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subtabref</span></span></span>  <a +href="jmlr-manual.html#dx1-14006" ><span +class="ecti-1000">246</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\subtitle</span></span></span>  <a +href="jmlr-manual.html#dx1-20011" ><span +class="ecti-1000">247</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\sum</span></span></span>  <a +href="jmlr-manual.html#dx1-15021" ><span class="underline">248</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">T</span> +<span class="index-item"><span +class="ectt-1000">table </span>(environment)  <a +href="jmlr-manual.html#dx1-4006" ><span class="underline">249</span></a>, <a +href="jmlr-manual.html#dx1-4010" ><span class="underline">250</span></a>, <a +href="jmlr-manual.html#dx1-19009" ><span class="underline">251</span></a>, <a +href="jmlr-manual.html#dx1-19013" ><span class="underline">252</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\tableofcontents</span></span></span>  <a +href="jmlr-manual.html#dx1-21009" ><span +class="ecti-1000">253</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\tableref</span></span></span>  <a +href="jmlr-manual.html#dx1-14005" ><span +class="ecti-1000">254</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\team</span></span></span>  <a +href="jmlr-manual.html#dx1-20014" ><span +class="ecti-1000">255</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\text</span></span></span>  <a +href="jmlr-manual.html#dx1-15015" ><span class="underline">256</span></a> <br /></span> +<span class="index-item"><span +class="ectt-1000">theorem </span>(environment)  <a +href="jmlr-manual.html#dx1-13001" ><span class="underline">257</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">theorem </span>package  <a +href="jmlr-manual.html#dx1-2014" >258</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\theoremref</span></span></span>  <a +href="jmlr-manual.html#dx1-14010" ><span +class="ecti-1000">259</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">tikz </span>package  <a +href="jmlr-manual.html#dx1-9005" >260</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\title</span></span></span>  <a +href="jmlr-manual.html#dx1-5010" ><span +class="ecti-1000">261</span></a>, <a +href="jmlr-manual.html#dx1-20008" ><span +class="ecti-1000">262</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\titlebody</span></span></span>  <a +href="jmlr-manual.html#dx1-23001" ><span +class="ecti-1000">263</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">U</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\url</span></span></span>  <a +href="jmlr-manual.html#dx1-6001" ><span +class="ecti-1000">264</span></a> <br /></span> +<span class="index-item"><span +class="ecss-1000">url </span>package  <a +href="jmlr-manual.html#dx1-3005" >265</a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">V</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="ectt-1000">\volume</span></span></span>  <a +href="jmlr-manual.html#dx1-20010" ><span +class="ecti-1000">266</span></a> <br /></span> +</p><p class="theindex"> <span +class="ecbx-1000">X</span> +<span class="index-item"><span +class="ecss-1000">xcolor </span>package  <a +href="jmlr-manual.html#dx1-16004" >267</a>, <a +href="jmlr-manual.html#dx1-16005" >268</a> <br /></span> +<span class="index-item"><span +class="ecss-1000">xkeyval </span>package  <a +href="jmlr-manual.html#dx1-3013" >269</a> <br /></span> +</p></div> +<!--l. 1453--><p class="noindent" ><a +href="#top">Top</a> +</p> + <div class="footnotes"><!--l. 51--><p class="indent" > <span class="footnote-mark"><a +href="#fn1x0-bk" id="fn1x0"><sup class="textsuperscript">1</sup></a></span><span +class="ecrm-0800">Currently </span><span +class="ecss-0800">jmlr </span><span +class="ecrm-0800">will check if </span><span +class="ecss-0800">subfig</span><a + id="dx1-2009"></a><span +class="ecrm-0800">, </span><span +class="ecss-0800">pdfpages</span><a + id="dx1-2010"></a><span +class="ecrm-0800">, </span><span +class="ecss-0800">geometry</span><a + id="dx1-2011"></a><span +class="ecrm-0800">, </span><span +class="ecss-0800">psfig</span><a + id="dx1-2012"></a><span +class="ecrm-0800">, </span><span +class="ecss-0800">epsfig</span><a + id="dx1-2013"></a> <span +class="ecrm-0800">and </span><span +class="ecss-0800">theorem</span><a + id="dx1-2014"></a> <span +class="ecrm-0800">are loaded and</span> +<span +class="ecrm-0800">will throw an error. If other packages are found to be a problem, they will be added to the</span> +<span +class="ecrm-0800">list.</span></p><!--l. 1285--><p class="noindent" ><span class="footnote-mark"><a +href="#fn2x0-bk" id="fn2x0"><sup class="textsuperscript">2</sup></a></span><span +class="ecrm-0800">The default title page layout doesn’t use </span><span +class="ectt-0800">issue</span><span +class="ecrm-0800">, but if required it can be set with</span> +<span +class="ectt-0800">\issue</span><a + id="dx1-23004"></a><span +class="ectt-0800">{</span><span +class="cmsy-8">⟨</span><span +class="ecti-0800">number</span><span +class="cmsy-8">⟩</span><span +class="ectt-0800">}</span></p> +<!--l. 1366--><p class="indent" > <span class="footnote-mark"><a +href="#fn3x0-bk" id="fn3x0"><sup class="textsuperscript">3</sup></a></span><span +class="ecrm-0800">and may also cause a problem for the editor’s text editor.</span></p> </div> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.tex b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.tex new file mode 100644 index 00000000000..23ad3426b4a --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual.tex @@ -0,0 +1,1455 @@ +\documentclass{nlctdoc} + +\usepackage{amsmath} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{ifthen} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={jmlr: LaTeX2e Classes for the Journal of Machine Learning Research}, + pdfkeywords={LaTeX,jmlr}]{hyperref} + +\CheckSum{3333} +\OnlyDescription + +\begin{document} +\MakeShortVerb{"} +\DeleteShortVerb{\|} + + \title{\LaTeXe\ Classes for the Journal of Machine +Learning Research} + \author{Nicola L. C. Talbot\\[10pt] +\url{http://theoval.cmp.uea.ac.uk/~nlct/}} + + \date{2010-06-17 (version 1.06)} + \maketitle +\tableofcontents + +\section{Introduction} + +The \clsfmt{jmlr} class is for articles that need to be formatted +according to the Journal of Machine Learning Research style. This +class is based on the \sty{jmlr2e} and \sty{jmlrwcp2e} packages +but has been adapted to enable it to work better with the +\cls{combine} class to collate the articles into a book. +\sectionref{sec:jmlr} describes how to use the \clsfmt{jmlr} class. + +The \clsfmt{jmlrbook} class is for combining JMLR articles into a book. +This class uses \cls{combine} and \sty{hyperref}, which are +troublesome enough on their own but together are quite fragile. The +\clsfmt{jmlrbook} class redefines some internals to get \clsfmt{combine} +and \clsfmt{hyperref} to work together but some packages (e.g.\ +\sty{subfig} and \sty{pdfpages}) are likely to mess everything up +and cause errors. This is why the guidelines to authors are fairly +stringent and why \clsfmt{jmlr} will give an error message if certain +packages are loaded.\footnote{Currently \clsfmt{jmlr} will check if +\sty{subfig}, \sty{pdfpages}, \sty{geometry}, \sty{psfig}, +\sty{epsfig} and \sty{theorem} are loaded and will throw an error. +If other packages are found to be a problem, they will be added to +the list.} The \clsfmt{jmlrbook} class works best with PDF\LaTeX\ so +authors should ensure that their articles can compile with +PDF\LaTeX. \sectionref{sec:jmlrbook} describes how to use the +\clsfmt{jmlrbook} class. + +The \app{makejmlrbook} Perl script can be used to make a book that +uses the \clsfmt{jmlrbook} class. In addition to creating the print +and online versions of the book, it will compile the individual +articles, running Bib\TeX\ where necessary, and create a set of +HTML files containing a list of all the articles imported into the +book along with links to the abstracts and PDFs of the individual +articles. \sectionref{sec:makejmlrbook} describes how +to use the \app{makejmlrbook} application. + +\section{Required Packages} + +The \clsfmt{jmlr} class is based on the \cls{scrartcl} class and loads +the following packages: \sty{amsmath}, \sty{amssymb}, +\sty{natbib}, \sty{url}, \sty{graphicx} and \sty{algorithm2e}. +Note that unlike the \sty{jmlr2e} and \sty{jmlrwcp2e} packages, +this class file does not load the obsolete \sty{epsfig} package. + +The \clsfmt{jmlrbook} class additionally loads the \cls{combine} class +and the following packages: \sty{hyperref}, \sty{xkeyval}, +\sty{combnat} and \sty{setspace}. + +The \app{makejmlrbook} script requires Perl, \TeX\ and \TeX4ht. + +\section{Guidelines for Article Authors} +\label{sec:jmlr} + +Article authors should use the \clsfmt{jmlr} class. This class +comes with example files \texttt{jmlr-sample.tex} and +\texttt{jmlrwcp-sample.tex}, which can be used as templates. + +The following class options are available: +\begin{description} +\item[\clsopt{nowcp}]The article is for the Journal of Machine +Learning Research (default). +\item[\clsopt{wcp}] The article is for JMLR Workshop and Conference +Proceedings. +\item[\clsopt{color}] Color version (see \sectionref{sec:color}). + +\item[\clsopt{gray}] Grayscale version (see \sectionref{sec:color}). + +\item[\clsopt{tablecaptiontop}] in a \env{table} environment, +\ics{floatconts} puts the caption at the top. + +\item[\clsopt{tablecaptionbottom}] in a \env{table} environment, +\ics{floatconts} puts the caption at the bottom. +\end{description} + +\subsection{Title Information} + +The \clsfmt{jmlr} class uses different syntax from \sty{jmlr2e} and +\sty{jmlrwcp2e} to specify the title information. In particular, it +doesn't define \cs{jmlrheading} and \cs{ShortHeading}. Instead, the +following commands should be used: + +\begin{definition}[\DescribeMacro{\jmlrvolume}] +\cs{jmlrvolume}\marg{number} +\end{definition} +This specifies the volume number. For example: +\begin{verbatim} +\jmlrvolume{2} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\jmlryear}] +\cs{jmlryear}\marg{year} +\end{definition} +This specifies the year. For example: +\begin{verbatim} +\jmlryear{2010} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\jmlrsubmitted}] +\cs{jmlrsubmitted}\marg{date} +\end{definition} +This specifies the submission date. + +\begin{definition}[\DescribeMacro{\jmlrpublished}] +\cs{jmlrpublished}\marg{date} +\end{definition} +This specifies the publication date. + +\begin{definition}[\DescribeMacro{\jmlrworkshop}] +\cs{jmlrworkshop}\marg{title} +\end{definition} +This specifies the workshop title (for use with the \clsopt{wcp} +class option). + +The title information is specified using the commands described +below. These commands should typically go in the preamble. As +with most class files, The title itself is produced using +\begin{definition}[\DescribeMacro{\maketitle}] +\cs{maketitle} +\end{definition} +This command should go after \verb|\begin{document}|. For example: +\begin{verbatim} +\begin{document} +\maketitle +\end{verbatim} +Before \cs{maketitle}, you must specify the title information +using the following commands: + +\begin{definition}[\DescribeMacro{\title}] +\cs{title}\oarg{short title}\marg{title} +\end{definition} +This specifies the article's title. A short title for the page +header can be supplied via the optional argument \meta{short title}. + +\begin{definition}[\DescribeMacro{\editor}] +\cs{editor}\marg{name} +\end{definition} +This specifies the editor's name. If there is more than one +editor, use: +\begin{definition}[\DescribeMacro{\editors}] +\cs{editors}\marg{names} +\end{definition} + +\begin{definition}[\DescribeMacro{\author}] +\cs{author}\marg{author specs} +\end{definition} +This specifies the author. The specifications \meta{author specs} +are a bit different to \sty{jmlr2e} and \sty{jmlrwcp2e}. Use +\begin{definition}[\DescribeMacro{\Name}] +\cs{Name}\marg{author's name} +\end{definition} +to specify the author's name. Note that if the surname contains a +space it must be grouped (enclosed in braces \{\}). Similarly if +the initial letter of each forename is a diacritic it must be +grouped. (See below for examples.) +\begin{definition}[\DescribeMacro{\Email}] +\cs{Email}\marg{author's email} +\end{definition} +This specifies the author's email address. It should only be used +within the argument to \cs{author}. + +\begin{definition}[\DescribeMacro{\and}] +\cs{and} +\end{definition} +This should be used to separate two authors with the same address. + +\begin{definition}[\DescribeMacro{\AND}] +\cs{AND} +\end{definition} +This should be used to separate authors with different addresses. + +\begin{definition}[\DescribeMacro{\\}] +\verb|\\| +\end{definition} +This should be used before an author's address or between authors +with the same address where there are more that two authors. + +\begin{definition}[\DescribeMacro{\addr}] +\cs{addr} +\end{definition} +This should be used at the start of the address. + +\begin{description} +\item[Example 1] Two authors with the same address: +\begin{verbatim} +\author{\Name{Jane Doe} \Email{abc@sample.com}\and + \Name{John {Basey Fisher}} \Email{xyz@sample.com}\\ + \addr Address} +\end{verbatim} +In this example, the second author has a space in his surname +so the surname needs to be grouped. + +\item[Example 2] Three authors with the same address: +\begin{verbatim} +\author{\Name{Fred Arnold {de la Cour}} \Email{an1@sample.com}\\ + \Name{Jack Jones} \Email{an3@sample.com}\\ + \Name{{\'E}louise {\'E}abhla Finchley} \Email{an2@sample.com}\\ + \addr Address} +\end{verbatim} +In this example, the third author has an accent on her +forename initials so grouping is required. + +\item[Example 3] Authors with a different address: +\begin{verbatim} +\author{\Name{John Smith} \Email{abc@sample.com}\\ + \addr Address 1 + \AND + \Name{May Brown} \Email{xyz@sample.com}\\ + \addr Address 2 + } +\end{verbatim} +\end{description} + +\subsection{Font Changing Commands} + +Use the \LaTeXe\ font changing commands, such as \cs{bfseries} or +\cs{textbf}\marg{text}, rather than the obsolete \LaTeX2.09 +commands, such as \cs{bf}. + +\begin{definition}[\DescribeMacro{\url}] +\cs{url}\marg{address} +\end{definition} +This will typeset \meta{address} in a typewriter font. Special +characters, such as \verb|~|, are correctly displayed. Example: +\begin{verbatim} +\url{http://theoval.cmp.uea.ac.uk/~nlct/} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\mailto}] +\cs{mailto}\marg{email address} +\end{definition} +This will typeset the given email address in a typewriter font. +Note that this is not the same as \cs{Email}, which should only be +used in the argument of \cs{author}. + +\subsection{Structure} + +\begin{definition}[\DescribeEnv{abstract}] +\cs{begin}\{abstract\}\\ +\meta{text}\\ +\cs{end}\{abstract\} +\end{definition} +The abstract text should be displayed using the \envfmt{abstract} +environment. + +\begin{definition}[\DescribeEnv{keywords}] +\cs{begin}\{keywords\}\meta{keyword list}\cs{end}\{keywords\} +\end{definition} +The keywords should be displayed using the \envfmt{keywords} +environment. + +\begin{definition}[\DescribeMacro{\acks}] +\cs{acks}\marg{text} +\end{definition} +This displays the acknowledgements. + +\begin{definition}[\DescribeMacro{\section}] +\cs{section}\marg{title} +\end{definition} +Section titles are created using \cs{section}. The heading is +automatically numbered and can be cross-referenced using +\cs{label} and \cs{ref}. Unnumbered sections can be produced +using: +\begin{definition}[\DescribeMacro{\section*}] +\cs{section*}\marg{title} +\end{definition} + +\begin{definition}[\DescribeMacro{\subsection}] +\cs{subsection}\marg{title} +\end{definition} +Sub-section titles are created using \cs{subsection}. Unnumbered +sub-sections can be produced using: +\begin{definition}[\DescribeMacro{\subsection*}] +\cs{subsection*}\marg{title} +\end{definition} + +\begin{definition}[\DescribeMacro{\subsubsection}] +\cs{subsubsection}\marg{title} +\end{definition} +Sub-sub-section titles are created using \cs{subsubsection}. +Unnumbered sub-sub-sections can be produced using: +\begin{definition}[\DescribeMacro{\subsubsection*}] +\cs{subsubsection*}\marg{title} +\end{definition} + +Further sectioning levels can be obtained using \cs{paragraph} +and \cs{subparagraph}, but these are unnumbered with running heads. + +\begin{definition}[\DescribeMacro{\appendix}] +\cs{appendix} +\end{definition} +Use \cs{appendix} to switch to the appendices. This changes +\cs{section} to produce an appendix. Example: +\begin{verbatim} +\appendix +\section{Proof of Theorems} +\end{verbatim} + +\subsection{Citations and Bibliography} + +The \clsfmt{jmlr} class automatically loads \sty{natbib} and sets +the bibliography style to \texttt{plainnat}. References should +be stored in a \texttt{.bib} file. + +\begin{definition}[\DescribeMacro{\bibliography}] +\cs{bibliography}\marg{bib file} +\end{definition} +This displays the bibliography. + +\begin{definition}[\DescribeMacro{\citep}] +\cs{citep}\oarg{pre note}\oarg{post note}\marg{label} +\end{definition} +Use \cs{citep} for a parenthetical citation. + +\begin{definition}[\DescribeMacro{\citet}] +\cs{citet}\oarg{note}\marg{label} +\end{definition} +Use \cs{citet} for a textual citation. + +See the \ctandoc{natbib} for further details. + +\subsection{Figures and Tables} + +Floats, such as figures, tables and algorithms, are moving objects +and are supposed to float to the nearest convenient location. +Please don't force them to go in a particular place. In general +it's best to use the \texttt{htbp} specifier and don't put +the float in the middle of a paragraph (that is, make sure there's +a paragraph break above and below the float). Floats are supposed +to have a little extra space above and below them to make them +stand out from the rest of the text. This extra space is put in +automatically and shouldn't need modifying. + +To ensure consistency, please \emph{don't} try changing the +format of the caption by doing something like: +\begin{verbatim} +\caption{\textit{A Sample Caption.}} +\end{verbatim} +or +\begin{verbatim} +\caption{\em A Sample Caption.} +\end{verbatim} +You can, of course, change the font for individual words or +phrases. For example: +\begin{verbatim} +\caption{A Sample Caption With Some \emph{Emphasized Words}.} +\end{verbatim} + +The \clsfmt{jmlr} class provides the following command for displaying +the contents of a figure or table: +\begin{definition}[\DescribeMacro{\floatconts}] +\cs{floatconts}\marg{label}\marg{caption command}\marg{contents} +\end{definition} +This ensures that the caption is correctly positioned and that +the contents are centered. For example: +\begin{verbatim} +\begin{table}[htbp] +\floatconts + {tab:example}% label + {\caption{An Example Table}}% caption command + {% + \begin{tabular}{ll} + \bfseries Dataset & \bfseries Result\\ + Data1 & 0.123456 + \end{tabular} + } +\end{table} +\end{verbatim} + +The \clsfmt{jmlr} class automatically loads \sty{graphicx} which +defines: +\begin{definition}[\DescribeMacro{\includegraphics}] +\cs{includegraphics}\oarg{options}\marg{file name} +\end{definition} +where \meta{options} is a comma-separated list of options. + +For example, suppose you have an image called +\texttt{mypic.png} in a subdirectory called \texttt{images}: +\begin{verbatim} +\begin{figure}[htbp] +\floatconts + {fig:example}% label + {\caption{An Example Figure}}% caption command + {\includegraphics[width=0.5\textwidth]{images/mypic}} +\end{figure} +\end{verbatim} + +Note that you shouldn't specify the file extension when including +the image. It's helpful if you can also provide a grayscale +version of color images. This should be labeled as the color +image but with \texttt{-gray} immediately before the extension. +(The extension need not be the same as that of the color image.) +For example, if you have an image called \texttt{mypic.pdf}, the +grayscale can be called \texttt{mypic-gray.pdf}, +\texttt{mypic-gray.png} or \texttt{mypic-gray.jpg}. +See \sectionref{sec:color} for further details. + +\begin{definition}[\DescribeMacro{\includeteximage}] +\cs{includeteximage}\oarg{options}\marg{file name} +\end{definition} +If your image file is made up of \LaTeX\ code (e.g.\ \sty{tikz} +commands) the file can be included using \cs{includeteximage}. +The optional argument is a key=value comma-separated list +where the keys are a subset of those provided by +\cs{includegraphics}. The main keys are: \texttt{width}, +\texttt{height}, \texttt{scale} and \texttt{angle}. + +\subsubsection{Sub-Figures and Sub-Tables} + +The \sty{subfig} package causes a problem for \clsfmt{jmlrbook} so +the \clsfmt{jmlr} class will give an error if it is used. Therefore +the \clsfmt{jmlr} class provides its own commands for including +sub-figures and sub-tables. + +\begin{definition}[\DescribeMacro{\subfigure}] +\cs{subfigure}\oarg{title}\oarg{valign}\marg{contents} +\end{definition} +This makes a sub-figure where \meta{contents} denotes the contents +of the sub-figure. This should also include the \cs{label}. +The first optional argument \meta{title} indicates a caption for +the sub-figure. By default, the sub-figures are aligned at the +base. This can be changed with the second optional argument +\meta{valign}, which may be one of: \texttt{t} (top), \texttt{c} +(centred) or \texttt{b} (base). + +For example, suppose there are two images files, \texttt{mypic1.png} +and \texttt{mypic2.png}, in the subdirectory \texttt{images}. +Then they can be included as sub-figures as follows: +\begin{verbatim} +\begin{figure}[htbp] +\floatconts + {fig:example2}% label for whole figure + {\caption{An Example Figure.}}% caption for whole figure + {% + \subfigure{% + \label{fig:pic1}% label for this sub-figure + \includegraphics{images/mypic1} + }\qquad % space out the images a bit + \subfigure{% + \label{fig:pic2}% label for this sub-figure + \includegraphics{images/mypic2} + } + } +\end{figure} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\subtable}] +\cs{subtable}\oarg{title}\oarg{valign}\marg{contents} +\end{definition} +This is an analogous command for sub-tables. The default value +for \meta{valign} is \texttt{t}. + +\subsection{Algorithms} + +\begin{definition}[\DescribeEnv{algorithm}] +\cs{begin}\{algorithm\}\\ +\meta{contents}\\ +\cs{end}\{algorithm\} +\end{definition} +Enumerated textual algorithms can be displayed using the +\envfmt{algorithm} environment. Within this environment, use +\ics{caption} to set the caption (and \ics{label} to cross-reference +it). Within the body of the environment you can use the +\env{enumerate} environment. + +\begin{definition}[\DescribeEnv{enumerate*}] +\cs{begin}\{enumerate*\}\\ +\cs{item} \meta{text}\\ +\ldots\\ +\cs{end}\{enumerate*\} +\end{definition} +If you want to have nested \env{enumerate} environments but you want +to keep the same numbering throughout the algorithm, you can use the +\envfmt{enumerate*} environment, provided by the \clsfmt{jmlr} +class. For example: +\begin{verbatim} +\begin{enumerate*} + \item Set the label of vertex $s$ to 0 + \item Set $i=0$ + \begin{enumerate*} + \item \label{step:locate}Locate all unlabelled vertices + adjacent to a vertex labelled $i$ and label them $i+1$ + \item If vertex $t$ has been labelled, + \begin{enumerate*} + \item[] the shortest path can be found by backtracking, and + the length is given by the label of $t$. + \end{enumerate*} + otherwise + \begin{enumerate*} + \item[] increment $i$ and return to step~\ref{step:locate} + \end{enumerate*} + \end{enumerate*} +\end{enumerate*} +\end{algorithm} +\end{verbatim} + + +\begin{definition}[\DescribeEnv{algorithm2e}] +\cs{begin}\{algorithm2e\}\\ +\meta{contents}\\ +\cs{end}\{algorithm2e\} +\end{definition} +Pseudo code can be displayed using the \envfmt{algorithm2e} environment, +provided by the \sty{algorithm2e} package, which is automatically +loaded. For example: +\begin{verbatim} +\begin{algorithm2e} +\caption{Computing Net Activation} +\label{alg:net} +\dontprintsemicolon +\linesnumbered +\KwIn{$x_1, \ldots, x_n, w_1, \ldots, w_n$} +\KwOut{$y$, the net activation} +$y\leftarrow 0$\; +\For{$i\leftarrow 1$ \KwTo $n$}{ + $y \leftarrow y + w_i*x_i$\; +} +\end{algorithm2e} +\end{verbatim} + +See the \ctandoc{algorithm2e} for more details. + +\subsection{Description Lists} + +\begin{definition}[\DescribeEnv{altdescription}] +\cs{begin}\{altdescription\}\marg{widest label}\\ +\cs{item}\oarg{label} \meta{item text}\\ +\cs{end}\{altdescription\} +\end{definition} +In addition to the standard \env{description} environment, the +\clsfmt{jmlr} class also provides the \envfmt{altdescription} environment. +This has an argument that should be the widest label used in the +list. For example: +\begin{verbatim} +\begin{altdescription}{differentiate} +\item[add] A method that adds two variables. +\item[differentiate] A method that differentiates a function. +\end{altdescription} +\end{verbatim} + +\subsection{Theorems, Lemmas etc} + +The \clsfmt{jmlr} class provides the following theorem-like +environments: \env{theorem}, \env{example}, \env{lemma}, +\env{proposition}, \env{remark}, \env{corollary}, \env{definition}, +\env{conjecture} and \env{axiom}. Within the body of those +environments, you can use the \env{proof} environment to display the +proof if need be. The theorem-like environments all take an +optional argument, which gives the environment a title. For example: + +\begin{verbatim} +\begin{theorem}[An Example Theorem] +\label{thm:example} +This is the theorem. +\begin{proof} +This is the proof. +\end{proof} +\end{theorem} +\end{verbatim} + +\subsection{Cross-Referencing} +\label{sec:crossref} + +Always use \ics{label} when cross-referencing, rather than writing +the number explicitly. The \clsfmt{jmlr} class provides some +convenience commands to assist referencing. These commands, +described below, can all take a comma-separated list of labels. + +\begin{definition}[\DescribeMacro{\sectionref}] +\cs{sectionref}\marg{label list} +\end{definition} +Used to refer to a section or sections. For example, if you defined +a section as follows: +\begin{verbatim} +\section{Results}\label{sec:results} +\end{verbatim} +you can refer to it as follows: +\begin{verbatim} +The results are detailed in \sectionref{sec:results}. +\end{verbatim} +This command may also be used for sub-sections and sub-sub-sections. + +\begin{definition}[\DescribeMacro{\appendixref}] +\cs{appendixref}\marg{label list} +\end{definition} +Used to refer to an appendix or multiple appendices. + +\begin{definition}[\DescribeMacro{\equationref}] +\cs{equationref}\marg{label list} +\end{definition} +Used to refer to an equation or multiple equations. + +\begin{definition}[\DescribeMacro{\tableref}] +\cs{tableref}\marg{label list} +\end{definition} +Used to refer to a table or multiple tables. This can also be +used for sub-tables where the main table number is also required. + +\begin{definition}[\DescribeMacro{\subtabref}] +\cs{subtabref}\marg{label list} +\end{definition} +Used to refer to sub-tables without the main table number, e.g. +(\emph{a}) or (\emph{b}). + +\begin{definition}[\DescribeMacro{\figureref}] +\cs{figureref}\marg{label list} +\end{definition} +Used to refer to a figure or multiple figures. This can also +be used for sub-figures where the main figure number is also +required, e.g.\ 2(\emph{a}) or 4(\emph{b}). + +\begin{definition}[\DescribeMacro{\subfigref}] +\cs{subfigref}\marg{label list} +\end{definition} +Used to refer to sub-figures without the main figure number, e.g. +(\emph{a}) or (\emph{b}). + +\begin{definition}[\DescribeMacro{\algorithmref}] +\cs{algorithmref}\marg{label list} +\end{definition} +Used to refer to an algorithm or multiple algorithms. + +\begin{definition}[\DescribeMacro{\theoremref}] +\cs{theoremref}\marg{label list} +\end{definition} +Used to refer to a theorem or multiple theorems. + +\begin{definition}[\DescribeMacro{\lemmaref}] +\cs{lemmaref}\marg{label list} +\end{definition} +Used to refer to a lemma or multiple lemmas. + +\begin{definition}[\DescribeMacro{\remarkref}] +\cs{remarkref}\marg{label list} +\end{definition} +Used to refer to a remark or multiple remarks. + +\begin{definition}[\DescribeMacro{\corollaryref}] +\cs{corollaryref}\marg{label list} +\end{definition} +Used to refer to a corollary or multiple corollaries. + +\begin{definition}[\DescribeMacro{\definitionref}] +\cs{definitionref}\marg{label list} +\end{definition} +Used to refer to a definition or multiple definitions. + +\begin{definition}[\DescribeMacro{\conjectureref}] +\cs{conjectureref}\marg{label list} +\end{definition} +Used to refer to a conjecture or multiple conjectures. + +\begin{definition}[\DescribeMacro{\axiomref}] +\cs{axiomref}\marg{label list} +\end{definition} +Used to refer to an axiom or multiple axioms. + +\begin{definition}[\DescribeMacro{\exampleref}] +\cs{exampleref}\marg{label list} +\end{definition} +Used to refer to an example or multiple examples. + +\subsection{Mathematics} + +The \clsfmt{jmlr} class loads the \sty{amsmath} package so you can use +any of the commands and environments defined in that package. A +brief summary of some of the more common commands and environments +is provided here. See the \ctandoc{amsmath} for further details. + +\begin{definition}[\DescribeMacro{\set}] +\cs{set}\marg{text} +\end{definition} +In addition to the commands provided by \sty{amsmath}, the +\clsfmt{jmlr} class also provides the \cs{set} command which can +be used to typeset a set. For example: +\begin{verbatim} +The universal set is denoted $\set{U}$ +\end{verbatim} + +Unnumbered single-line equations should be displayed using +\cs{[} and \cs{]}. For example: +\begin{verbatim} +\[E = m c^2\] +\end{verbatim} +Numbered single-line equations should be displayed using the +\env{equation} environment. For example: +\begin{verbatim} +\begin{equation}\label{eq:trigrule} +\cos^2\theta + \sin^2\theta \equiv 1 +\end{equation} +\end{verbatim} +Multi-lined numbered equations should be displayed using the +\env{align} environment. For example: +\begin{verbatim} +\begin{align} +f(x) &= x^2 + x\label{eq:f}\\ +f'(x) &= 2x + 1\label{eq:df} +\end{align} +\end{verbatim} +Unnumbered multi-lined equations should be displayed using the +\env{align*} environment. For example: +\begin{verbatim} +\begin{align*} +f(x) &= (x+1)(x-1)\\ +&= x^2 - 1 +\end{align*} +\end{verbatim} +If you want to mix numbered with unnumbered lines use the +\env{align} environment and suppress unwanted line numbers with +\cs{nonumber}. For example: +\begin{verbatim} +\begin{align} +y &= x^2 + 3x - 2x + 1\nonumber\\ +&= x^2 + x + 1\label{eq:y} +\end{align} +\end{verbatim} +An equation that is too long to fit on a single line can be +displayed using the \env{split} environment. + +Text can be embedded in an equation using \ics{text}\marg{text} or +you can use \ics{intertext}\marg{text} to interupt a multi-line +environment such as \env{align}. + +Predefined operator names are listed in \tableref{tab:operatornames}. +For additional operators, either use +\begin{definition}[\DescribeMacro{\operatorname}] +\cs{operatorname}\marg{name} +\end{definition} +for example +\begin{verbatim} +If $X$ and $Y$ are independent, +$\operatorname{var}(X+Y) = +\operatorname{var}(X) + \operatorname{var}(Y)$ +\end{verbatim} +or declare it with +\begin{definition}[\DescribeMacro{\DeclareMathOperator}] +\cs{DeclareMathOperator}\marg{command}\marg{name} +\end{definition} +for example +\begin{verbatim} +\DeclareMathOperator{\var}{var} +\end{verbatim} +and then use this new command: +\begin{verbatim} +If $X$ and $Y$ are independent, +$\var(X+Y) = \var(X)+\var(Y)$ +\end{verbatim} + +If you want limits that go above and +below the operator (like \ics{sum}) use the starred versions +(\ics{operatorname*} or \ics{DeclareMathOperator*}). + +\begin{table}[htbp] +\caption{Predefined Operator Names (taken from + \sty{amsmath} documentation)} +\label{tab:operatornames}% +\vskip\baselineskip +\centering +\begin{tabular}{rlrlrlrl} +\cs{arccos} & $\arccos$ & \cs{deg} & $\deg$ & \cs{lg} & $\lg$ & \cs{projlim} & $\projlim$ \\ +\cs{arcsin} & $\arcsin$ & \cs{det} & $\det$ & \cs{lim} & $\lim$ & \cs{sec} & $\sec$ \\ +\cs{arctan} & $\arctan$ & \cs{dim} & $\dim$ & \cs{liminf} & $\liminf$ & \cs{sin} & $\sin$ \\ +\cs{arg} & $\arg$ & \cs{exp} & $\exp$ & \cs{limsup} & $\limsup$ & \cs{sinh} & $\sinh$ \\ +\cs{cos} & $\cos$ & \cs{gcd} & $\gcd$ & \cs{ln} & $\ln$ & \cs{sup} & $\sup$ \\ +\cs{cosh} & $\cosh$ & \cs{hom} & $\hom$ & \cs{log} & $\log$ & \cs{tan} & $\tan$ \\ +\cs{cot} & $\cot$ & \cs{inf} & $\inf$ & \cs{max} & $\max$ & \cs{tanh} & $\tanh$ \\ +\cs{coth} & $\coth$ & \cs{injlim} & $\injlim$ & \cs{min} & $\min$ \\ +\cs{csc} & $\csc$ & \cs{ker} & $\ker$ & \cs{Pr} & $\Pr$ +\end{tabular}\par +\begin{tabular}{rlrl} +\cs{varlimsup} & $\varlimsup$ +& \cs{varinjlim} & $\varinjlim$\\ +\cs{varliminf} & $\varliminf$ +& \cs{varprojlim} & $\varprojlim$ +\end{tabular} + +\end{table} + +\subsection{Color vs Grayscale} +\label{sec:color} + +It's helpful if authors supply grayscale versions of their +articles in the event that the article is to be incorporated into +a black and white printed book. With external PDF, PNG or JPG +graphic files, you just need to supply a grayscale version of the +file. For example, if the file is called \texttt{myimage.png}, +then the gray version should be \texttt{myimage-gray.png} or +\texttt{myimage-gray.pdf} or \texttt{myimage-gray.jpg}. You don't +need to modify your code. The \clsfmt{jmlr} class checks for +the existence of the grayscale version if it is print mode +(provided you have used \ics{includegraphics} and haven't +specified the file extension). + +\begin{definition}[\DescribeMacro{\ifprint}] +\cs{ifprint}\marg{true part}\marg{false part} +\end{definition} +You can use \cs{ifprint} to determine which mode you are in. +For example: +\begin{verbatim} +in \figureref{fig:nodes}, the +\ifprint{dark gray}{purple} +ellipse represents an input and the +\ifprint{light gray}{yellow} ellipse +represents an output. +\end{verbatim} +Another example: +\begin{verbatim} +{\ifprint{\bfseries}{\color{red}}important text!} +\end{verbatim} + +You can use the class option \clsopt{gray} to see how the +document will appear in gray scale mode. + +The \sty{xcolor} class is loaded with the \pkgoptfmt{x11names} +option, so you can use any of the x11 predefined colors (listed +in the \ctandoc{xcolor}). + +\subsection{Where To Go For Help} + +If you have a \LaTeX\ query, the first place to go to is the +\urlfootref{http://www.tex.ac.uk/faq}{UK TUG FAQ}. + +If you are unfamiliar or just getting started with \LaTeX, there's +a list of on-line introductions to \LaTeX\ at: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex} + +There are also forums, mailing lists and newsgroups. For example, +the \LaTeX\ Community (\url{http://www.latex-community.org/}), +the \texttt{texhax} mailing list +(\url{http://tug.org/mailman/listinfo/texhax}) and +\texttt{comp.text.tex} (archives available at +\url{http://groups.google.com/group/comp.text.tex/}). + +Documentation for packages or classes can be found using the +\texttt{texdoc} application. For example: +\begin{verbatim} +texdoc natbib +\end{verbatim} +Alternatively, you can go to +\texttt{http://www.ctan.org/pkg/}\meta{name} where +\meta{name} is the name of the package. For example: +\url{http://www.ctan.org/pkg/natbib} + +For a general guide to preparing papers (regardless of whether you +are using \LaTeX\ or a word processor), see Kate L.~Turabian, \qt{A +manual for writers of term papers, theses, and dissertations}, The +University of Chicago Press, 1996. + +\section{Guidelines for Production Editors} +\label{sec:jmlrbook} + +The \clsfmt{jmlrbook} class can be used to combine articles that +use the \clsfmt{jmlr} document class into a book. The following sample +files are provided: \texttt{paper1/paper1.tex}, +\texttt{paper2/paper2.tex}, \texttt{paper3/paper3.tex}, +\texttt{jmlr-sample.tex}, \texttt{jmlrwcp-sample.tex} and +\texttt{jmlrbook-sample.tex}. All but the last named one are +articles using the \clsfmt{jmlr} class. The last one +(\texttt{jmlrbook-sample.tex}) uses the \clsfmt{jmlrbook} class file to +combine the articles into a book. Note that no modifications are +needed to the files using the \clsfmt{jmlr} class when they are +imported into the book. They can either be compiled as stand-alone +articles or with the entire book. + +Before you compile the book, make sure that all the articles +compile as stand-alone documents (and run Bib\TeX\ where +necessary). You can use the \app{makejmlrbook} Perl script to compile +the book and create associated HTML files. See +\sectionref{sec:makejmlrbook} for details. + +\subsection{\clsfmt{jmlrbook} Class Options} +\begin{description} +\item[\clsopt{nowcp}]The imported pre-published articles were +published in the Journal of Machine Learning Research (default). +\item[\clsopt{wcp}] The imported pre-published articles were +published in the JMLR Workshop and Conference Proceedings. + +If the book has a mixture of JMLR and JMLR WCP articles, you +can switch between them using +\begin{definition}[\DescribeMacro{\jmlrwcp}] +\cs{jmlrwcp} +\end{definition} +and +\begin{definition}[\DescribeMacro{\jmlrnowcp}] +\cs{jmlrnowcp} +\end{definition} +Alternatively, you can set the name of the journal or conference +proceedings using: +\begin{definition}[\DescribeMacro{\jmlrproceedings}] +\cs{jmlrproceedings}\marg{short title}\marg{long title} +\end{definition} + +\item[\clsopt{color}] Color version (see \sectionref{sec:color}). +Use this option for the on-line version with hyperlinks enabled +(default). + +\item[\clsopt{gray}] Grayscale version (see \sectionref{sec:color}). +Use this option for the print version without hyperlinks. + +\item[\clsopt{tablecaptiontop}] in a \env{table} environment, +\ics{floatconts} puts the caption at the top. + +\item[\clsopt{tablecaptionbottom}] in a \env{table} environment, +\ics{floatconts} puts the caption at the bottom. + +\item[\clsopt{letterpaper}] Set the paper size to letter (default). + +\item[\clsopt{7x10}] Set the paper size to $7\times10$ inches. + +\item[\clsopt{prehyperref}] The \clsfmt{jmlrbook} automatically loads +the \sty{hyperref} package, but some packages need to be loaded +before \sty{hyperref}. This information can be specified using +the \clsopt{prehyperref} option. This is a key=value option. For +example, to load the packages \styfmt{foo} and \styfmt{bar} before +\sty{hyperref}, you can do: +\begin{verbatim} +\documentclass[prehyperref={\usepackage{foo,bar}}]{jmlrbook} +\end{verbatim} +or: +\begin{verbatim} +\documentclass[prehyperref={\usepackage{foo}\usepackage{bar}}]{jmlrbook} +\end{verbatim} + +\item[\clsopt{10pt}] Use 10pt as the normal text size. +\item[\clsopt{11pt}] Use 11pt as the normal text size (default). +\item[\clsopt{12pt}] Use 12pt as the normal text size. + +\end{description} + +\subsection{The Preamble} + +Any packages that the imported articles load (which aren't +automatically loaded by \clsfmt{jmlr}) must be loaded in the book's +preamble. For example, if one or more of the articles load the +\sty{siunitx} package, this package must be loaded in the book. + +Commands that are defined in the imported articles will be local +to that article unless they have been globally defined using +\ics{gdef} or \ics{global}. Since most authors use \ics{newcommand} +and \ics{newenvironment} (or \ics{renewcommand} and +\ics{renewenvironment}) this shouldn't cause a conflict if more +that one article has defined the same command or environment. +For example, in the sample files supplied, both +\texttt{paper1/paper1.tex} and \texttt{paper2/paper2.tex} have +defined the command \cs{samplecommand} using \cs{newcommand}. As +long as this command isn't also defined in the book, there won't +be a conflict. + +\begin{definition}[\DescribeMacro{\title}] +\cs{title}\oarg{PDF title}\marg{book title} +\end{definition} +In the book preamble, \cs{title} sets the book title and the optional +argument is used for the PDF title, which will be displayed +when the reader views the PDF file's properties in their PDF viewer. +(Note that in the imported articles, \cs{title} sets the article's +title and the optional argument sets the short title for the +page header and table of contents.) + +\begin{definition}[\DescribeMacro{\author}] +\cs{author}\oarg{PDF author(s)}\marg{book author(s)} +\end{definition} +In the book preamble, \cs{author} sets the book's author (or editor) +and the optional argument is used for the PDF author, which will be +displayed when the reader views the PDF file's properties in their +PDF viewer. (Note that in the imported articles, \cs{author} sets +the article's author and the optional argument sets the short author +list for the page header.) + +\begin{definition}[\DescribeMacro{\volume}] +\cs{volume}\marg{number} +\end{definition} +This command sets the book's volume number. Omit if the book has no +volume number. + +\begin{definition}[\DescribeMacro{\subtitle}] +\cs{subtitle}\marg{sub-title} +\end{definition} +This command sets the book's subtitle. Omit if the book has no +sub-title. + +\begin{definition}[\DescribeMacro{\logo}] +\cs{logo}\marg{image command} +\end{definition} +This sets the book's title image. Use \ics{includegraphics} and +omit the file extension. If you provide a grayscale version as +well as a color version, the grayscale version will be used for +the print version of the book. (See \sectionref{sec:color} +for further details.) + +\begin{definition}[\DescribeMacro{\team}] +\cs{team}\marg{team title} +\end{definition} +This can be used to set the name of the editorial team. This +command may be omitted if not required. + +\begin{definition}[\DescribeMacro{\productioneditor}] +\cs{productioneditor}\marg{name} +\end{definition} +This command may be used to name the production editor. The command +may be omitted if not required. + +See \sectionref{sec:modifytitle} for details on how to modify the +layout of the title page. + +\subsection{Main Book Commands} + +All commands that are provided by the \clsfmt{jmlr} class are +also available with the \clsfmt{jmlrbook} class, but some commands +might behave differently depending on whether they are in the +main part of the book or within the imported articles. + +In the main part of the book you can use the following commands: +\begin{definition}[\DescribeMacro{\maketitle}] +\cs{maketitle} +\end{definition} +This displays the book's title page. Note that \cs{maketitle} has +a different effect when used in imported articles. + +\begin{definition}[\DescribeMacro{\frontmatter}] +\cs{frontmatter} +\end{definition} +Use this command at the start of the front matter (e.g.\ before the +foreword or preface). This will make chapters unnumbered even if you +use \cs{chapter} instead of \cs{chapter*}. It also sets the page +style and sets the page numbering to lower case Roman numerals. + +\begin{definition}[\DescribeEnv{authorsignoff}] +\cs{begin}\{authorsignoff\}\\ +\meta{author list}\\ +\cs{end}\{authorsignoff\} +\end{definition} +This environment may be used by the author signing off at the end of a chapter such as the +foreword. Within the environment use: +\begin{definition}[\DescribeMacro{\Author}] +\cs{author}\marg{details} +\end{definition} +for the author's details. More than one \cs{Author} should be used +if there is more than one author. Example: +\begin{verbatim} +\begin{authorsignoff} +\Author{Nicola Talbot\\ +University of East Anglia} +\Author{Anne Author\\ +University of No Where} +\end{authorsignoff} +\end{verbatim} + +\begin{definition}[\DescribeEnv{signoff}] +\cs{begin}\{signoff\}\oarg{team name}\marg{date}\\ +\meta{editor list}\\ +\cs{end}\{signoff\} +\end{definition} +This environment may be used by the editorial team when signing off +a chapter such as the preface. If the optional argument is omitted, +\qt{The Editorial Team} is used. + +Within the environment use: +\begin{definition}[\DescribeMacro{\Editor}] +\cs{Editor}\marg{details} +\end{definition} +for each editor. Example: +\begin{verbatim} +\begin{signoff}{March 2010} +% First editor: +\Editor{Nicola Talbot\\ +University of East Anglia\\ +\mailto{N.Talbot@uea.ac.uk}} +% Second editor: +\Editor{Anne Editor\\ +University of Nowhere\\ +\mailto{ae@sample.com}} +\end{signoff} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\tableofcontents}] +\cs{tableofcontents} +\end{definition} +This command displays the book's table of contents. Note that it +has a different effect if used in an imported article. + +\begin{definition}[\DescribeMacro{\mainmatter}] +\cs{mainmatter} +\end{definition} +Use this command to switch to the book's main matter. This will +switch the chapter numbering back on, reset the page numbering to +Arabic and set up the main page style. + +\begin{definition}[\DescribeMacro{\part}] +\cs{part}\oarg{short title}\marg{title} +\end{definition} +If used in the main part of the book, this command will start a +new part and issue a clear double page. Note that this command +has a different effect if used in an imported article. + +\begin{definition}[\DescribeMacro{\addtocpart}] +\cs{addtocpart}\marg{title} +\end{definition} +This adds \meta{title} to the table of contents, issues a clear +double page, but doesn't display any text or affect the part +numbering. + +\begin{definition}[\DescribeMacro{\chapter}] +\cs{chapter}\oarg{short title}\marg{title} +\end{definition} +This command may be used in the main body of the book but will +cause an error if used within an imported article. + +\begin{definition}[\DescribeMacro{\section}] +\cs{section}\oarg{short title}\marg{title} +\end{definition} +\begin{definition}[\DescribeMacro{\subsection}] +\cs{subsection}\oarg{short title}\marg{title} +\end{definition} +\begin{definition}[\DescribeMacro{\subsubsection}] +\cs{subsubsection}\oarg{short title}\marg{title} +\end{definition} +\begin{definition}[\DescribeMacro{\paragraph}] +\cs{paragraph}\oarg{short title}\marg{title} +\end{definition} +\begin{definition}[\DescribeMacro{\subparagraph}] +\cs{subparagraph}\oarg{short title}\marg{title} +\end{definition} +These commands may be used in the main body of the book or within +imported articles. In the main body of the book they need to be +within a chapter and will be numbered according to the chapter. + +\begin{definition}[\DescribeMacro{\appendix}] +\cs{appendix} +\end{definition} +If used in the main body of the book, this will switch to the +book appendices. Subsequent \cs{chapter} commands will produce the +appendices. If used within an imported article, it will switch +to the article appendices and won't affect the main part of +the book. + +\begin{definition}[\DescribeEnv{jmlrpapers}] +\cs{begin}\{jmlrpapers\}\\ +\meta{imported papers}\\ +\cs{end}\{jmlrpapers\} +\end{definition} +This environment must be used when importing articles. Within this +environment, use the following commands to import articles: +\begin{definition}[\DescribeMacro{\importpubpaper}] +\cs{importpubpaper}\oarg{label}\marg{directory}\marg{file}\marg{pages} +\end{definition} +This imports an article that has already been published elsewhere. +The \meta{pages} argument should be the page range from the +\emph{previously published} version of this article. This may not +necessarily be the same as the page range of the article in the book. +The directory the imported file is contained in is is given by +\meta{directory}. If the file is in the same directory as the +book, use a dot. The file name is given by \meta{file}. The article +is also given a label, specified by the optional argument. This +is \meta{directory}/\meta{file} by default. The label is used +as a prefix to labels in the imported articles which ensures that +cross-references are unique. You can also use this label to reference +the article elsewhere in the book (see \sectionref{sec:bkcrossref}). + +\begin{definition}[\DescribeMacro{\importpaper}] +\cs{importpaper}\oarg{label}\marg{directory}\marg{file} +\end{definition} +Imports an article that is being published in the book. The +arguments are the same as above except that there is no page +range (the page range is computed automatically). + +\begin{definition}[\DescribeMacro{\importarticle}] +\cs{importarticle}\oarg{label}\marg{directory}\marg{file} +\end{definition} +This imports an article that hasn't been published elsewhere. There +is no page range, but the other arguments are the same as +those describe above for \cs{importpubpaper}. + +Example: to import a previously published paper +\texttt{paper1/paper1.tex} and an unpublished paper +\texttt{paper2/paper2.tex}: +\begin{verbatim} +\begin{jmlrpapers} +\importpubpaper{paper1}{paper1}{23--45} +\importarticle{paper2}{paper2} +\end{jmlrpapers} +\end{verbatim} + +\subsubsection{Cross-Referencing} +\label{sec:bkcrossref} + +You can cross-reference other parts of the book using the +standard \cs{label}/\cs{ref} mechanism, but if you want to +reference something within an imported article, you must prefix +the label with the label given when importing the article (that +is, the optional argument to \ics{importpubpaper}, +\ics{importpaper} or \cs{importarticle}). For example, if you +want to reference a section labeled \texttt{sec:results} in the +imported paper \texttt{paper1/paper1.tex}, you would need to do: +\begin{verbatim} +see Section~\ref{paper1/paper1sec:results} +\end{verbatim} +or +\begin{verbatim} +see \sectionref{paper1/paper1sec:results} +\end{verbatim} + +In addition to the commands described in \sectionref{sec:crossref}, +the \clsfmt{jmlrbook} class also provides the following +cross-referencing commands: + +\begin{definition}[\DescribeMacro{\chapterref}] +\cs{chapterref}\marg{label list} +\end{definition} +Reference a chapter or chapters. The argument is a comma-separated +list of labels. + +\begin{definition}[\DescribeMacro{\articlepageref}] +\cs{articlepageref}\marg{label} +\end{definition} +This displays the starting page number of the article whose label +is given by \meta{label}. Note that this must a single label, not +a list. For example: +\begin{verbatim} +An interesting article starts on page~\articlepageref{paper1/paper1} +\end{verbatim} + +\begin{definition}[\DescribeMacro{\articlepagesref}] +\cs{articlepagesref}\marg{label} +\end{definition} +This displays the page range of the article whose label is +given by \meta{label}. Again, this must be a single label, not a +list. This page range is unrelated to the \meta{pages} argument of +\ics{importpubarticle}. + +\begin{definition}[\DescribeMacro{\articletitleref}] +\cs{articletitleref}\marg{label} +\end{definition} +This displays the short title for the article whose label is +given by \meta{label}. Again, this must be a single label, not a +list. + +\begin{definition}[\DescribeMacro{\articleauthorref}] +\cs{articleauthorref}\marg{label} +\end{definition} +This displays the author list for the article whose label is +given by \meta{label}. Again, this must be a single label, not a +list. + +\subsection{Altering the Layout of the Main Title Page} +\label{sec:modifytitle} + +\begin{definition}[\DescribeMacro{\titlebody}] +\cs{titlebody} +\end{definition} +The main body of the book's title page is given by the command +\cs{titlebody}. Within the definition of this command, you can +use: +\begin{definition}[\DescribeMacro{\SetTitleElement}] +\cs{SetTitleElement}\marg{element}\marg{pre}\marg{post} +\end{definition} +where \meta{element} can be: \texttt{title}, \texttt{volume}, +\texttt{issue}\footnote{The default title page layout doesn't use +\texttt{issue}, but if required it can be set with \ics{issue}\marg{number}}, +\texttt{subtitle}, \texttt{logo}, \texttt{team}, \texttt{author}, +\texttt{date}, \texttt{productioneditor}. The \meta{pre} and +\meta{post} arguments specify what to do before and after the +element. Note that \cs{SetTitleElement} does nothing if that +element hasn't been set. For example, if \cs{volume} has been +omitted or \verb|\volume{}| is used, then +\begin{verbatim} +\SetTitleElement{volume}{\mainvolumefont}{\postmainvolume} +\end{verbatim} +will do nothing (so you don't end up with \textbf{Volume :}). + +\begin{definition}[\DescribeMacro{\IfTitleElement}] +\cs{IfTitleElement}\marg{element}\marg{true part}\marg{false part} +\end{definition} +This does \meta{true part} if \meta{element} has been set +otherwise it does \meta{false part}. For example, +\cs{postmainvolume} is defined as: +\begin{verbatim} +\newcommand{\postmainvolume}{% + \IfTitleElement{subtitle}{}{:}\par\relax +} +\end{verbatim} +This means that it will only print a colon after the volume +number if the subtitle has been set. + +The default definition of \cs{titlebody} is: +\begin{verbatim} +\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}% +} +\end{verbatim} + +\subsection{Potential Pitfalls} + +The \cls{combine} class and \sty{hyperref} package are +individually both easily broken by packages that change certain +internals and they don't ordinarily work together. The +\clsfmt{jmlrbook} class applies patches to the internal referencing +mechanism to make them work together, but it's a fairly fragile +alliance. Some packages are known to break it, for example +\sty{subfig}, \sty{pdfpages} and \sty{geometry}. This is why the +\clsfmt{jmlr} class checks for known problem packages and generates an +error message to dissuade authors from using them. It's likely that +there are other packages that may cause a problem and, as they are +found, they will be added to the check list. Also, it's possible for +an author to disable the package checking mechanism if they are +determined to use a particular package. + +In the event that an article has loaded a problem package, the +editors will have to decide whether to ask the author to change +the article so that it doesn't cause a problem or to make the changes +themselves or to find a way of fudging things to get it to work. It +depends on the level of \LaTeX\ expertise amongst the editors and +the time available. + +Another problem that can arise is when different articles use +packages that conflict. For example, one article uses package +\styfmt{foo} and another uses package \styfmt{bar}. Each article compiles +okay as a stand-alone article, but when combined \styfmt{foo} and +\styfmt{bar} conflict. Another problem may occur when articles load the +same package but with conflicting package options. To reduce the +chance of this occurring, the \clsfmt{jmlr} class loads some commonly +used packages. For example, it loads the \sty{algorithm2e} +package with the \pkgoptfmt{algo2e} and \pkgoptfmt{ruled} options and +provides the \env{algorithm} environment in addition to +\sty{algorithm2e}'s \env{algorithm2e} environment. + +Articles that use different input encodings can also cause a +problem. For example, if one article uses \texttt{utf8} and another +uses \texttt{latin1}. If the authors have directly entered a +diacritic or ligature, such as \'e or \ae, instead of using a +\LaTeX\ command, such as \cs{'e} or \cs{ae}, then +this will cause an error on compiling the book.\footnote{and may also +cause a problem for the editor's text editor.} The choice then is to +either change all non-keyboard characters with the appropriate +\LaTeX\ commands or to use the \cs{inputencoding} command, supplied +by the \sty{inputenc} package, to switch the encoding at the start +of each article. + +Authors who use \cs{nonumber} within an \env{equation} environment +can mess up the hyperlinks. Remove \cs{nonumber} and change the +equation environment to \cs{[} \ldots\ \cs{]} (or just make it a +numbered equation). + +If the article changes the graphics path using \cs{graphicspath}, +\clsfmt{jmlrbook} won't find the graphics if the imported articles +aren't in the same directory as the book. + +\subsection{Creating the Book Using \appfmt{makejmlrbook}} +\label{sec:makejmlrbook} + +The \app{makejmlrbook} Perl script is designed to make it +easier to produce the print and online versions of the book, as +well as producing an HTML index of all the imported articles with +links to the abstracts and PDFs of individual articles. Note that +for it to work properly, the articles must be imported using +\cs{importarticle}, \cs{importpaper} or \cs{importpubpaper}, and +the imported articles must use the \clsfmt{jmlr} class. + +On UNIX style systems, the script can be invoked from a terminal +using: +\begin{prompt} +makejmlrbook \oarg{options} \meta{filename} +\end{prompt} +If that doesn't work, or you aren't using a UNIX style operating +system, the script can be invoked from a terminal or command +prompt using: +\begin{prompt} +perl makejmlrbook \oarg{options} \meta{filename} +\end{prompt} +The mandatory argument \meta{filename} is the name of the master +\TeX\ file containing the book. It must use the \clsfmt{jmlrbook} +class. You may omit the \texttt{.tex} extension. For example, if +the file is called \texttt{proceedings.tex}, you can call +\app{makejmlrbook} as follows: +\begin{verbatim} +perl makejmlrbook proceedings +\end{verbatim} +This will create the files \texttt{proceedings-print.pdf} (the +print version) and \texttt{proceedings-online.pdf} (the online +version). It will also create a directory (folder) called +\texttt{html} in which the HTML files and individual article PDFs +will be placed. + +The options to \app{makejmlrbook} are as follows: +\begin{description} +\item[--online] Generate the color on-line version (default). +\item[--noonline] Don't generate the color on-line version. +\item[--print] Generate the grayscale print version (default). +\item[--noprint] Don't generate the grayscale print version. +\item[--html] Generate the HTML files and the individual article +PDFs (default). +\item[--nohtml] Don't generate the HTML files and the individual +article PDFs. +\item[--logourl \meta{url}] Make the logo on the HTML index page link +to \meta{url}. +\item[--batchtex] Run \TeX\ in batch mode. +\item[--nobatchtex] Don't run \TeX\ in batch mode (default). +\item[--quieter] Reduce chatter to STDOUT (doesn't eliminate +all messages). This also runs \TeX\ in batch mode. +\item[--noquieter] Don't reduce messages to STDOUT (default). +\item[--version] Display the version number and exit. +\item[--help] List all available options. +\end{description} + +There are also some more advanced options, but these haven't been +fully tested: +\begin{description} +\item[--latexapp \meta{name}] Application used to call \LaTeX. +Defaults to \qt{pdflatex}. +\item[--latexopt \meta{string}] Options to pass to \LaTeX. +\item[--format \meta{string}] Output format (defaults to \qt{pdf}). +This may need to be changed if you change the \LaTeX\ application. +\item[--bibtexapp \meta{name}] Application use to process the +bibliography. Defaults to \qt{bibtex}. +\item[--bibtexopt \meta{string}] Options to pass to Bib\TeX. +\end{description} + +\StopEventually{\clearpage\phantomsection + \addcontentsline{toc}{section}{Index}\PrintIndex +} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual0x.png b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual0x.png Binary files differnew file mode 100644 index 00000000000..33ca3b6ac84 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual0x.png diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual1x.png b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual1x.png Binary files differnew file mode 100644 index 00000000000..176ef49b60f --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual1x.png diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual2x.png b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual2x.png Binary files differnew file mode 100644 index 00000000000..c180200b7f7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual2x.png diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr-manual3x.png b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual3x.png Binary files differnew file mode 100644 index 00000000000..d89cbb940a0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr-manual3x.png diff --git a/Master/texmf-dist/doc/latex/jmlr/jmlr.pdf b/Master/texmf-dist/doc/latex/jmlr/jmlr.pdf Binary files differnew file mode 100644 index 00000000000..2dc5d92d1df --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/jmlr.pdf diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo-gray.png b/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo-gray.png Binary files differnew file mode 100644 index 00000000000..3baf8157e9c --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo-gray.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo.png b/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo.png Binary files differnew file mode 100644 index 00000000000..e9ae63dacf4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/bookLogo.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/jmlrbook-sample.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/jmlrbook-sample.tex new file mode 100644 index 00000000000..98a39dfdb05 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/jmlrbook-sample.tex @@ -0,0 +1,233 @@ +\documentclass[wcp]{jmlrbook}% on-line color version +%\documentclass[wcp,gray]{jmlrbook}% print version + +% Packages used by imported articles: +\usepackage{lipsum} +\usepackage{booktabs} +\usepackage{siunitx} + +% Title is added to the PDF properties. Optional argument +% is used instead, if present. +%\title[Short Title]{Big Long Title} +\title{A Sample Book} + +\author[Anne Editor et al.]{Anne Editor, Anne Other Editor and Nicola Talbot} + +\volume{1} +\subtitle{Making a Book from JMLR Articles} +\logo{\includegraphics{bookLogo}} +\team{The Sample Book Team} + +\productioneditor{Nicola Talbot} + +\begin{document} +\maketitle + +\frontmatter + +\chapter{Foreword} + +This is an example book that combines multiple articles. Each +article uses the \textsf{jmlr} class file. \emph{The articles +should not need to be edited in order to combine them using this +class file.}\footnote{Unless the authors have done something +weird or have used problematic packages.} In particular, you +don't need to delete \verb|\documentclass|, +\verb|\begin{document}| and \verb|\end{document}|. The articles +should be able to compile on their own or as part of this book. + +In the preamble of the book, you need to include the packages +that the articles include, but you don't need to include +any packages that are automatically loaded by the \textsf{jmlr} +class (\textsf{amsmath}, \textsf{amssymb}, \textsf{natbib}, +\textsf{graphicx}, \textsf{url}, \textsf{xcolor} and +\textsf{algorithm2e}). You also don't need to include the +\textsf{hyperref} and \textsf{combnat} packages as they are +automatically loaded by \textsf{jmlrbook}. For example, some of the +articles imported in this book use the \textsf{lipsum} package, +so that package needs to be included in the preamble of the +book. + +Commands defined in the imported articles will be local to that +article unless \verb|\gdef| or \verb|\global| has been used. This +means that if more than one article has defined the same command, +there shouldn't be a conflict unless the command has been defined +globally. For example, \texttt{paper1/paper1.tex} and +\texttt{paper2/paper2.tex} both define \verb|\samplecommand|, but +since \verb|\newcommand| has been used, rather than \verb|\gdef|, +there's no conflict. However, a problem will occur if the same +command is also defined in this document before either of those +files are imported. + +Many packages must be loaded before \textsf{hyperref}. If these +packages haven't been loaded by \textsf{jmlr}, you will need +to specify them using \textsf{jmlrbook}'s \texttt{prehyperref} +option. For example, to load the packages ``foo'' and ``bar'': +\begin{verbatim} +\documentclass[ + prehyperref={\usepackage{foo}\usepackage{bar}} + ]{jmlrbook} +\end{verbatim} +or: +\begin{verbatim} +\documentclass[ + prehyperref={\usepackage{foo,bar}} + ]{jmlrbook} +\end{verbatim} + + +The imported papers need to be placed inside the +\texttt{jmlrpapers} environment. Papers that have already +been published should be included using \verb|\importpubpaper| +and papers that haven't been published elsewhere should be +imported using \verb|\importarticle|. Both commands have an +optional argument that specifies the prefix to use in the labels +within the imported article. If omitted, the article's file +name is used. + +Both articles and the book may have appendices and parts created. +Parts are created using \verb|\part|\{\emph{title}\}. Switch +to appendices using \verb|\appendix| and then use \verb|\chapter| +(for the book) or \verb|\section| (in imported articles). + +Cross-referencing other parts of the book is done using the +usual \verb|\label| and \verb|\ref| mechanism. The \textsf{jmlr} +class additional provides convenience commands such as +\verb|\sectionref| and \verb|\figureref|. Unlike \verb|\ref|, +these commands may take a comma-separated list of labels as the +argument. + +The \textsf{jmlrbook} additionally provides \verb|\chapterref| +(which can take a comma-separated list of labels) and commands +to reference imported articles (which take a single label +as the argument): \verb|\articlepageref| (the starting page of +the article), \verb|\articlepagesref| (the page range for the +article), \verb|\articletitleref| (the short title for the +article) and \verb|\articleauthorref| (the article's author). + +You may also cross-reference parts of the imported articles, +but you need to prefix the label with the label supplied +in the optional argument of \verb|\importpubpaper| or +\verb|\importarticle|. (If omitted, this is given by +directory/file name.) + +For example, the first appendix in this book is +\appendixref{apd:first}, but the first appendix in +``\articletitleref{paper1/paper1}'' by +\articleauthorref{paper1/paper1} +(pp.~\articlepagesref{paper1/paper1}) is +\appendixref{paper1/paper1apd:first}. +Here's a reference to a couple of tables in +\articletitleref{paper1/paper1}: +\tableref{paper1/paper1tab:sample,paper1/paper1tab:sample2}. + +The author of a foreword (or other chapter) can sign off using +the \texttt{authorsignoff} environment. Each author should be +specified using \verb|\Author|. + +\begin{authorsignoff} +\Author{Nicola Talbot\\ +University of East Anglia} +\end{authorsignoff} + +\chapter{Preface} + +The editorial team can sign off at the end of the preface using +the \texttt{signoff} environment. This has two arguments: the +optional argument is a name for the editorial team (defaults to +``The Editorial Team'') and the mandatory argument is the date. +Within the environment, use \verb|\Editor| for each editor. + +\begin{signoff}{March 2010} +% First editor: +\Editor{Nicola Talbot\\ +University of East Anglia\\ +\mailto{N.Talbot@uea.ac.uk}} +% Second editor: +\Editor{Anne Editor\\ +University of Nowhere\\ +\mailto{ae@sample.com}} +\end{signoff} + +\tableofcontents + +\mainmatter + +\part{First Part of the Book} + +\chapter{Introduction} + +This is an introduction to the book. + +\section{Sample Section} + +This is a section in the introduction. + +\subsection{Sample Sub-Section} + +This is a sub-section. + +\subsubsection{Sample Sub-Sub-Section} + +This is a sub-sub-section. + +\paragraph{Sample Sub-Sub-Sub-Section} + +This is a sub-sub-sub-section. + +\subparagraph{Sample Sub-Sub-Sub-Sub-Section} + +This is a sub-sub-sub-sub-section. + +% Add a part to the TOC but don't print anything +\addtocpart{Papers Published in JMLR W\&CP} + +\begin{jmlrpapers} + % Prepublished papers are imported using: + % \importpubpaper[label]{dir}{file}{pages} + % pages refers to the page range in the original publication + % which doesn't necessarily correspond to the page numbers in + % this book. + \importpubpaper{paper1}{paper1}{23--45} + + \importpubpaper{paper2}{paper2}{63--70} + +\end{jmlrpapers} + +% Add a part to the TOC but don't print anything +\addtocpart{Unpublished Papers} + +\begin{jmlrpapers} + % Unpublished papers are imported using: + % \importarticle[label]{dir}{file} + \importarticle{paper3}{paper3} + + \importarticle{paper4}{paper4} +\end{jmlrpapers} + +\appendix + +\part{First Part of Appendices}\label{pt:apd1} + +\chapter*{Introduction} + +This is an introduction to \partref{pt:apd1}. + +\chapter{First Appendix} +\label{apd:first} + +This is an appendix. + +\chapter{Second Appendix} +\label{apd:second} + +This is another appendix. + +\part{Second Part of Appendices} + +\chapter{An Appendix} +\label{apd:third} + +This is an appendix in another part. + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.bib b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.bib new file mode 100644 index 00000000000..ddc24c66628 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.bib @@ -0,0 +1,19 @@ +@article{guyon-elisseeff-03, + title = "An Introduction to Variable and Feature Selection", + author = "I. Guyon and A. Elisseeff", + journal = "JMLR", + volume = "3", + month = MAR, + pages = "1157-1182", + year = 2003 +} + +@techreport{guyon2007causalreport, + author = {I. Guyon and C. Aliferis and A. Elisseeff}, + title = {Causal Feature Selection}, + institution = {Clopinet}, + year = 2007, + type = {Technical Report }, + source = {\url{http://clopinet.com/isabelle/Papers/causalFS.pdf}} +} + diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.tex new file mode 100644 index 00000000000..5d05fff2d55 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper1/paper1.tex @@ -0,0 +1,83 @@ +\documentclass[wcp]{jmlr} + +\usepackage{lipsum}% Provides dummy text for this example + +\newcommand{\samplecommand}{\emph{A sample command}} + +\jmlrvolume{42} +\jmlryear{2010} +\jmlrworkshop{Workshop on Causality} + +\title[Article 1]{First Sample Article} + +\author{\Name{Jane Doe}\Email{jd@sample.com}\and +\Name{John {Smith Jones}}\Email{jsj@sample.com}\\ +\addr{University of No Where}} + +\editor{Anne Editor} + +\begin{document} +\maketitle + +\begin{abstract} +\lipsum[1] +\end{abstract} +\begin{keywords} +Sample +\end{keywords} + +\section{Introduction} + +This is a sample article. \sectionref{sec:method} discusses +the method used. \equationref{eq:emc2} is an interesting +equation. The results are discussed in \sectionref{sec:results} +and some other stuff is in \appendixref{apd:first}. +\samplecommand. + +\lipsum + +\section{Method}\label{sec:method} + +\lipsum + +\begin{equation}\label{eq:emc2} +E = mc^2 +\end{equation} + +\section{Results}\label{sec:results} + +\begin{table}[htbp] +\floatconts + {tab:sample} + {\caption{A Sample Table}} + {% + \begin{tabular}{cc} + A & B\\ + 1 & 2 + \end{tabular} + }% +\end{table} + +\begin{table}[htbp] +\floatconts + {tab:sample2} + {\caption{Another Sample Table}} + {% + \begin{tabular}{cc} + A & B\\ + 1 & 2 + \end{tabular} + }% +\end{table} + +\lipsum + +Here are some citations: \citet{guyon-elisseeff-03,guyon2007causalreport}. + +\bibliography{paper1} + +\appendix +\section{First Appendix}\label{apd:first} + +\lipsum +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.bib b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.bib new file mode 100644 index 00000000000..ddc24c66628 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.bib @@ -0,0 +1,19 @@ +@article{guyon-elisseeff-03, + title = "An Introduction to Variable and Feature Selection", + author = "I. Guyon and A. Elisseeff", + journal = "JMLR", + volume = "3", + month = MAR, + pages = "1157-1182", + year = 2003 +} + +@techreport{guyon2007causalreport, + author = {I. Guyon and C. Aliferis and A. Elisseeff}, + title = {Causal Feature Selection}, + institution = {Clopinet}, + year = 2007, + type = {Technical Report }, + source = {\url{http://clopinet.com/isabelle/Papers/causalFS.pdf}} +} + diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.tex new file mode 100644 index 00000000000..01471c1f04a --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper2/paper2.tex @@ -0,0 +1,60 @@ +\documentclass[wcp]{jmlr} + +\usepackage{lipsum}% Provides dummy text for this example + +\newcommand{\samplecommand}{\textbf{A sample command}} + +\jmlrvolume{42} +\jmlryear{2010} +\jmlrworkshop{Workshop on Causality} + +\title[Article 2]{Second Sample Article} + +\author{\Name{Bob {de Winter}}\Email{bdw@sample.com}\\ +\Name{{\'E}louise Mary Finchley}\Email{emf@sample.com}\\ +\Name{Jack Mark Jones}\Email{jmj@sample.com}\\ +\addr{University of No Where}} + +\editor{Anne Other Editor} + +\begin{document} +\maketitle + +\begin{abstract} +\lipsum[1] +\end{abstract} +\begin{keywords} +Sample +\end{keywords} + +\section{Introduction} + +This is a sample article. \sectionref{sec:method} discusses +the method used. \equationref{eq:emc2} is an interesting +equation. The results are discussed in \sectionref{sec:results} +and some other stuff is in \appendixref{apd:first}. +\samplecommand. + +\lipsum + +\section{Method}\label{sec:method} + +\lipsum + +\begin{equation}\label{eq:emc2} +E = mc^2 +\end{equation} + +\section{Results}\label{sec:results} + +\lipsum + +Here are some citations: \citet{guyon-elisseeff-03,guyon2007causalreport}. + +\bibliography{paper2} + +\appendix +\section{First Appendix}\label{apd:first} + +\lipsum +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.bib b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.bib new file mode 100644 index 00000000000..ddc24c66628 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.bib @@ -0,0 +1,19 @@ +@article{guyon-elisseeff-03, + title = "An Introduction to Variable and Feature Selection", + author = "I. Guyon and A. Elisseeff", + journal = "JMLR", + volume = "3", + month = MAR, + pages = "1157-1182", + year = 2003 +} + +@techreport{guyon2007causalreport, + author = {I. Guyon and C. Aliferis and A. Elisseeff}, + title = {Causal Feature Selection}, + institution = {Clopinet}, + year = 2007, + type = {Technical Report }, + source = {\url{http://clopinet.com/isabelle/Papers/causalFS.pdf}} +} + diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.tex new file mode 100644 index 00000000000..03416f1e9bb --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper3/paper3.tex @@ -0,0 +1,51 @@ +\documentclass[wcp]{jmlr} + +\usepackage{lipsum}% Provides dummy text for this example + +\title[Article 3]{Third Sample Article} + +\author{\Name{John Smith}\Email{js@sample.com}\\ +\addr{University of No Where}} + +\editor{Anne Editor} + +\begin{document} +\maketitle + +\begin{abstract} +\lipsum[1] +\end{abstract} +\begin{keywords} +Sample +\end{keywords} + +\section{Introduction} + +This is a sample article. \sectionref{sec:method} discusses +the method used. \equationref{eq:emc2} is an interesting +equation. The results are discussed in \sectionref{sec:results} +and some other stuff is in \appendixref{apd:first}. + +\lipsum + +\section{Method}\label{sec:method} + +\lipsum + +\begin{equation}\label{eq:emc2} +E = mc^2 +\end{equation} + +\section{Results}\label{sec:results} + +\lipsum + +Here are some citations: \citet{guyon-elisseeff-03,guyon2007causalreport}. + +\bibliography{paper3} + +\appendix +\section{First Appendix}\label{apd:first} + +\lipsum +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.bib b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.bib new file mode 100644 index 00000000000..ddc24c66628 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.bib @@ -0,0 +1,19 @@ +@article{guyon-elisseeff-03, + title = "An Introduction to Variable and Feature Selection", + author = "I. Guyon and A. Elisseeff", + journal = "JMLR", + volume = "3", + month = MAR, + pages = "1157-1182", + year = 2003 +} + +@techreport{guyon2007causalreport, + author = {I. Guyon and C. Aliferis and A. Elisseeff}, + title = {Causal Feature Selection}, + institution = {Clopinet}, + year = 2007, + type = {Technical Report }, + source = {\url{http://clopinet.com/isabelle/Papers/causalFS.pdf}} +} + diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.tex new file mode 100644 index 00000000000..06d866e2287 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/paper4/paper4.tex @@ -0,0 +1,51 @@ +\documentclass[wcp]{jmlr} + +\usepackage{lipsum}% Provides dummy text for this example + +\title[Article 4]{Fourth Sample Article} + +\author{\Name{Mary-Jane {de Beer}}\Email{mjdb@sample.com}\\ +\addr{University of No Where}} + +\editor{Anne Editor} + +\begin{document} +\maketitle + +\begin{abstract} +\lipsum[1] +\end{abstract} +\begin{keywords} +Sample +\end{keywords} + +\section{Introduction} + +This is a sample article. \sectionref{sec:method} discusses +the method used. \equationref{eq:emc2} is an interesting +equation. The results are discussed in \sectionref{sec:results} +and some other stuff is in \appendixref{apd:first}. + +\lipsum + +\section{Method}\label{sec:method} + +\lipsum + +\begin{equation}\label{eq:emc2} +E = mc^2 +\end{equation} + +\section{Results}\label{sec:results} + +\lipsum + +Here are some citations: \citet{guyon-elisseeff-03,guyon2007causalreport}. + +\bibliography{paper4} + +\appendix +\section{First Appendix}\label{apd:first} + +\lipsum +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-books/proceedings-sample.tex b/Master/texmf-dist/doc/latex/jmlr/sample-books/proceedings-sample.tex new file mode 100644 index 00000000000..71e6518f453 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-books/proceedings-sample.tex @@ -0,0 +1,67 @@ +\documentclass[wcp]{jmlrbook}% on-line color version +%\documentclass[wcp,gray]{jmlrbook}% print version + +\jmlrvolume{42} +\jmlryear{2010} +\jmlrworkshop{Workshop on Causality} + +% Packages used by imported articles: +\usepackage{lipsum} + +% Title is added to the PDF properties. Optional argument +% is used instead, if present. +%\title[Short Title]{Big Long Title} +\title{Sample Proceedings} + +\author[Anne Editor et al.]{Anne Editor, Anne Other Editor and Nicola Talbot} + +\subtitle{\thejmlrworkshop} + +\logo{\includegraphics{bookLogo}} + +\begin{document} +\maketitle + +\frontmatter + +\chapter{Foreword} + +This is the foreword. + +\begin{authorsignoff} +\Author{Nicola Talbot\\ +University of East Anglia} +\end{authorsignoff} + +\chapter{Preface} + +This is the preface + +\begin{signoff}{March 2010} +% First editor: +\Editor{Nicola Talbot\\ +University of East Anglia\\ +\mailto{N.Talbot@uea.ac.uk}} +% Second editor: +\Editor{Anne Editor\\ +University of Nowhere\\ +\mailto{ae@sample.com}} +\end{signoff} + +\tableofcontents + +\mainmatter + +\begin{jmlrpapers} + \addtocpart{Introduction} + % syntax: \importpaper[label]{directory}{filename} + \importpaper{paper1}{paper1} + \addtocpart{First Topic} + \importpaper{paper2}{paper2} + \importpaper{paper3}{paper3} + \addtocpart{Second Topic} + \importpaper{paper4}{paper4} +\end{jmlrpapers} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle-gray.png b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle-gray.png Binary files differnew file mode 100644 index 00000000000..e6366465387 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle-gray.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle.jpg b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle.jpg Binary files differnew file mode 100644 index 00000000000..365deb2e1f3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/circle.jpg diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes-gray.png b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes-gray.png Binary files differnew file mode 100644 index 00000000000..e4af05acda2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes-gray.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes.png b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes.png Binary files differnew file mode 100644 index 00000000000..a4e79c25064 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/nodes.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square-gray.png b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square-gray.png Binary files differnew file mode 100644 index 00000000000..b150e663542 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square-gray.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square.png b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square.png Binary files differnew file mode 100644 index 00000000000..8844e858166 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/square.png diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/teximage.tex b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/teximage.tex new file mode 100644 index 00000000000..9fdc0d13827 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/images/teximage.tex @@ -0,0 +1,4 @@ +\frame{\begin{picture}(100,100) +\put(25,50){\dashbox{.5}(10,10){$A$}} +\put(50,50){\dashbox{.5}(10,10){$B$}} +\end{picture}} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.bib b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.bib new file mode 100644 index 00000000000..ddc24c66628 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.bib @@ -0,0 +1,19 @@ +@article{guyon-elisseeff-03, + title = "An Introduction to Variable and Feature Selection", + author = "I. Guyon and A. Elisseeff", + journal = "JMLR", + volume = "3", + month = MAR, + pages = "1157-1182", + year = 2003 +} + +@techreport{guyon2007causalreport, + author = {I. Guyon and C. Aliferis and A. Elisseeff}, + title = {Causal Feature Selection}, + institution = {Clopinet}, + year = 2007, + type = {Technical Report }, + source = {\url{http://clopinet.com/isabelle/Papers/causalFS.pdf}} +} + diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.tex b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.tex new file mode 100644 index 00000000000..7668ec816b7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlr-sample.tex @@ -0,0 +1,752 @@ +%\documentclass[gray]{jmlr} % test grayscale version +\documentclass{jmlr} + +% The following packages will be automatically loaded: +% amsmath, amssymb, natbib, graphicx, url, algorithm2e + +%\usepackage{rotating}% for sideways figures and tables +%\usepackage{longtable}% for long tables + +% The booktabs package is used by this sample document +% (it provides \toprule, \midrule and \bottomrule). +% Remove the next line if you don't require it. +\usepackage{booktabs} +% The siunitx package is used by this sample document +% to align numbers in a column by their decimal point. +% Remove the next line if you don't require it. +\usepackage{siunitx} + +% The following command is just for this sample document: +\newcommand{\cs}[1]{\texttt{\char`\\#1}} + +\jmlrvolume{vol} +\jmlryear{2010} +\jmlrsubmitted{submission date} +\jmlrpublished{publication date} + +\title[Short Title]{Full Title of Article} + + % Use \Name{Author Name} to specify the name. + % If the surname contains spaces, enclose the surname + % in braces, e.g. \Name{John {Smith Jones}} similarly + % if the name has a "von" part, e.g \Name{Jane {de Winter}}. + % If the first letter in the forenames is a diacritic + % enclose the diacritic in braces, e.g. \Name{{\'E}louise Smith} + + % Two authors with the same address + \author{\Name{Author Name1} \Email{abc@sample.com}\and + \Name{Author Name2} \Email{xyz@sample.com}\\ + \addr Address} + + % Three or more authors with the same address: + % \author{\Name{Author Name1} \Email{an1@sample.com}\\ + % \Name{Author Name2} \Email{an2@sample.com}\\ + % \Name{Author Name3} \Email{an3@sample.com}\\ + % \Name{Author Name4} \Email{an4@sample.com}\\ + % \Name{Author Name5} \Email{an5@sample.com}\\ + % \Name{Author Name6} \Email{an6@sample.com}\\ + % \Name{Author Name7} \Email{an7@sample.com}\\ + % \Name{Author Name8} \Email{an8@sample.com}\\ + % \Name{Author Name9} \Email{an9@sample.com}\\ + % \Name{Author Name10} \Email{an10@sample.com}\\ + % \Name{Author Name11} \Email{an11@sample.com}\\ + % \Name{Author Name12} \Email{an12@sample.com}\\ + % \Name{Author Name13} \Email{an13@sample.com}\\ + % \Name{Author Name14} \Email{an14@sample.com}\\ + % \addr Address} + + + % Authors with different addresses: + % \author{\Name{Author Name1} \Email{abc@sample.com}\\ + % \addr Address 1 + % \AND + % \Name{Author Name2} \Email{xyz@sample.com}\\ + % \addr Address 2 + %} + +\editor{Editor's name} + +\begin{document} + +\maketitle + +\begin{abstract} +This is the abstract for this article. +\end{abstract} +\begin{keywords} +List of keywords +\end{keywords} + +\section{Introduction} +\label{sec:intro} + +This is a sample article that uses the \textsf{jmlr} class with +the \texttt{wcp} class option. Please follow the guidelines in +this sample document as it can help to reduce complications when +combining the articles into a book. Please avoid using obsolete +commands, such as \verb|\rm|, and obsolete packages, such as +\textsf{epsfig}.\footnote{See +\url{http://www.ctan.org/pkg/l2tabu}} Please also ensure +that your document will compile with PDF\LaTeX. + +\subsection{Sub-sections} + +Sub-sections are produced using \verb|\subsection|. + +\subsubsection{Sub-sub-sections} + +Sub-sub-sections are produced using \verb|\subsubsection|. + +\paragraph{Sub-sub-sub-sections} + +Sub-sub-sub-sections are produced using \verb|\paragraph|. +These are unnumbered with a running head. + +\subparagraph{Sub-sub-sub-sub-sections} + +Sub-sub-sub-sub-sections are produced using \verb|\subparagraph|. +These are unnumbered with a running head. + +\section{Cross-Referencing} + +Always use \verb|\label| and \verb|\ref| (or one of the commands +described below) when cross-referencing. For example, the next +section is Section~\ref{sec:math}. The \textsf{jmlr} class +provides some convenient cross-referencing commands: +\verb|\sectionref|, \verb|\equationref|, \verb|\tableref|, +\verb|\figureref|, \verb|\algorithmref|, \verb|\theoremref|, +\verb|\lemmaref|, \verb|\remarkref|, \verb|\corollaryref|, +\verb|\definitionref|, \verb|\conjectureref|, \verb|\axiomref|, +\verb|\exampleref| and \verb|\appendixref|. The argument of these +commands may either be a single label or a comma-separated list +of labels. Examples: + +Referencing sections: \sectionref{sec:math} or +\sectionref{sec:intro,sec:math} or +\sectionref{sec:intro,sec:math,sec:tables,sec:figures}. + +Referencing equations: \equationref{eq:trigrule} or +\equationref{eq:trigrule,eq:df} or +\equationref{eq:trigrule,eq:f,eq:df,eq:y}. + +Referencing tables: \tableref{tab:operatornames} or +\tableref{tab:operatornames,tab:example} or +\tableref{tab:operatornames,tab:example,tab:example-booktabs}. + +Referencing figures: \figureref{fig:nodes} or +\figureref{fig:nodes,fig:teximage} or +\figureref{fig:nodes,fig:teximage,fig:subfigex} or +\figureref{fig:circle,fig:square}. + +Referencing algorithms: \algorithmref{alg:gauss} or +\algorithmref{alg:gauss,alg:moore} or +\algorithmref{alg:gauss,alg:moore,alg:net}. + +Referencing theorem-like environments: \theoremref{thm:eigenpow}, +\lemmaref{lem:sample}, \remarkref{rem:sample}, +\corollaryref{cor:sample}, \definitionref{def:sample}, +\conjectureref{con:sample}, \axiomref{ax:sample} and +\exampleref{ex:sample}. + +Referencing appendices: \appendixref{apd:first} or +\appendixref{apd:first,apd:second}. + +\section{Equations} +\label{sec:math} + +The \textsf{jmlr} class loads the \textsf{amsmath} package, so +you can use any of the commands and environments defined there. +(See the \textsf{amsmath} documentation for further +details.\footnote{Either \texttt{texdoc amsmath} or +\url{http://www.ctan.org/pkg/amsmath}}) + +Unnumbered single-lined equations should be displayed using +\verb|\[| and \verb|\]|. For example: +\[E = m c^2\] +Numbered single-line equations should be displayed using the +\texttt{equation} environment. For example: +\begin{equation}\label{eq:trigrule} +\cos^2\theta + \sin^2\theta \equiv 1 +\end{equation} +This can be referenced using \verb|\label| and \verb|\equationref|. +For example, \equationref{eq:trigrule}. + +Multi-lined numbered equations should be displayed using the +\texttt{align} environment. For example: +\begin{align} +f(x) &= x^2 + x\label{eq:f}\\ +f'(x) &= 2x + 1\label{eq:df} +\end{align} +Unnumbered multi-lined equations should be displayed using the +\texttt{align*} environment. For example: +\begin{align*} +f(x) &= (x+1)(x-1)\\ +&= x^2 - 1 +\end{align*} +If you want to mix numbered with unnumbered lines use the +align environment and suppress unwanted line numbers with +\verb|\nonumber|. For example: +\begin{align} +y &= x^2 + 3x - 2x + 1\nonumber\\ +&= x^2 + x + 1\label{eq:y} +\end{align} +An equation that is too long to fit on a single line can be +displayed using the \texttt{split} environment. +Text can be embedded in an equation using \verb|\text| or +\verb|\intertext| (as used in \theoremref{thm:eigenpow}). +See the \textsf{amsmath} documentation for further details. + +\subsection{Operator Names} +\label{sec:op} + +Predefined operator names are listed in \tableref{tab:operatornames}. +For additional operators, either use \verb|\operatorname|, +for example $\operatorname{var}(X)$ or declare it with +\verb|\DeclareMathOperator|, for example +\begin{verbatim} +\DeclareMathOperator{\var}{var} +\end{verbatim} +and then use this new command. If you want limits that go above and +below the operator (like \verb|\sum|) use the starred versions +(\verb|\operatorname*| or \verb|\DeclareMathOperator*|). + +\begin{table}[htbp] +\floatconts + {tab:operatornames}% + {\caption{Predefined Operator Names (taken from + \textsf{amsmath} documentation)}}% + {% +\begin{tabular}{rlrlrlrl} +\cs{arccos} & $\arccos$ & \cs{deg} & $\deg$ & \cs{lg} & $\lg$ & \cs{projlim} & $\projlim$ \\ +\cs{arcsin} & $\arcsin$ & \cs{det} & $\det$ & \cs{lim} & $\lim$ & \cs{sec} & $\sec$ \\ +\cs{arctan} & $\arctan$ & \cs{dim} & $\dim$ & \cs{liminf} & $\liminf$ & \cs{sin} & $\sin$ \\ +\cs{arg} & $\arg$ & \cs{exp} & $\exp$ & \cs{limsup} & $\limsup$ & \cs{sinh} & $\sinh$ \\ +\cs{cos} & $\cos$ & \cs{gcd} & $\gcd$ & \cs{ln} & $\ln$ & \cs{sup} & $\sup$ \\ +\cs{cosh} & $\cosh$ & \cs{hom} & $\hom$ & \cs{log} & $\log$ & \cs{tan} & $\tan$ \\ +\cs{cot} & $\cot$ & \cs{inf} & $\inf$ & \cs{max} & $\max$ & \cs{tanh} & $\tanh$ \\ +\cs{coth} & $\coth$ & \cs{injlim} & $\injlim$ & \cs{min} & $\min$ \\ +\cs{csc} & $\csc$ & \cs{ker} & $\ker$ & \cs{Pr} & $\Pr$ +\end{tabular}\par +\begin{tabular}{rlrl} +\cs{varlimsup} & $\varlimsup$ +& \cs{varinjlim} & $\varinjlim$\\ +\cs{varliminf} & $\varliminf$ +& \cs{varprojlim} & $\varprojlim$ +\end{tabular} +} +\end{table} + +\section{Vectors and Sets} +\label{sec:vec} + +Vectors should be typeset using \cs{vec}. For example $\vec{x}$. +The \textsf{jmlr} class also provides \cs{set} to typeset a +set. For example $\set{S}$. + +\section{Floats} +\label{sec:floats} + +Floats, such as figures, tables and algorithms, are moving +objects and are supposed to float to the nearest convenient +location. Please don't force them to go in a particular place. In +general it's best to use the \texttt{htbp} specifier and don't +put the figure or table in the middle of a paragraph (that is +make sure there's a paragraph break above and below the float). +Floats are supposed to have a little extra space above and below +them to make them stand out from the rest of the text. This extra +spacing is put in automatically and shouldn't need modifying. + +To ensure consistency, please \emph{don't} try changing the format of the caption by doing +something like: +\begin{verbatim} +\caption{\textit{A Sample Caption.}} +\end{verbatim} +or +\begin{verbatim} +\caption{\em A Sample Caption.} +\end{verbatim} +You can, of course, change the font for individual words or +phrases, for example: +\begin{verbatim} +\caption{A Sample Caption With Some \emph{Emphasized Words}.} +\end{verbatim} + +\subsection{Tables} +\label{sec:tables} + +Tables should go in the \texttt{table} environment. Within this +environment use \verb|\floatconts| (defined by \textsf{jmlr}) +to set the caption correctly and center the table contents. + +\begin{table}[htbp] +% The first argument is the label. +% The caption goes in the second argument, and the table contents +% go in the third argument. +\floatconts + {tab:example}% + {\caption{An Example Table}}% + {\begin{tabular}{ll} + \bfseries Dataset & \bfseries Result\\ + Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + Data4 & 0.09876 + \end{tabular}} +\end{table} + +If you want horizontal rules you can use the \textsf{booktabs} +package which provides the commands \verb|\toprule|, +\verb|\midrule| and \verb|\bottomrule|. For example, see +\tableref{tab:example-booktabs}. + +\begin{table}[hbtp] +\floatconts + {tab:example-booktabs} + {\caption{A Table With Horizontal Lines}} + {\begin{tabular}{ll} + \toprule + \bfseries Dataset & \bfseries Result\\ + \midrule + Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + Data4 & 0.09876\\ + \bottomrule + \end{tabular}} +\end{table} + +If you want vertical lines as well, you can't use the +\textsf{booktabs} commands as there'll be some unwanted gaps. +Instead you can use \LaTeX's \verb|\hline|, but the rows may +appear a bit cramped. You can add extra space above or below a +row using \verb|\abovestrut| and \verb|\belowstrut|. For example, +see \tableref{tab:example-hline}. + +\begin{table}[htbp] +\floatconts + {tab:example-hline} + {\caption{A Table With Horizontal and Vertical Lines}}% + {% + \begin{tabular}{|l|l|} + \hline + \abovestrut{2.2ex}\bfseries Dataset & \bfseries Result\\\hline + \abovestrut{2.2ex}Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + \belowstrut{0.2ex}Data4 & 0.09876\\\hline + \end{tabular} + } +\end{table} + +If you want to align numbers on their decimal point, you can +use the \textsf{siunitx} package. For example, see +\tableref{tab:example-siunitx}. For further details see the +\textsf{siunitx} documentation\footnote{Either \texttt{texdoc +siunitx} or \url{http://www.ctan.org/pkg/siunitx}}. + +\begin{table}[htbp] +\floatconts + {tab:example-siunitx} + {\caption{A Table With Numbers Aligned on the Decimal Point}} + {\begin{tabular}{lS[tabformat=3.5]} + \bfseries Dataset & {\bfseries Result}\\ + Data1 & 0.12345\\ + Data2 & 10.6789\\ + Data3 & 50.543\\ + Data4 & 200.09876 + \end{tabular}} +\end{table} + +If the table is too wide, you can adjust the inter-column +spacing by changing the value of \verb|\tabcolsep|. For +example: +\begin{verbatim} +\setlength{\tabcolsep}{3pt} +\end{verbatim} +If the table is very wide but not very long, you can use the +\texttt{sidewaystable} environment defined in the +\textsf{rotating} package (so use \verb|\usepackage{rotating}|). +If the table is too long to fit on a page, you should use the +\texttt{longtable} environment defined in the \textsf{longtable} +package (so use \verb|\usepackage{longtable}|). + +\subsection{Figures} +\label{sec:figures} + +Figures should go in the \texttt{figure} environment. Within this +environment, use \verb|\floatconts| to correctly position the +caption and center the image. Use \verb|\includegraphics| +for external graphics files but omit the file extension. Do not +use \verb|\epsfig| or \verb|\psfig|. If you want to scale the +image, it's better to use a fraction of the line width rather +than an explicit length. For example, see \figureref{fig:nodes}. + +\begin{figure}[htbp] +% Caption and label go in the first argument and the figure contents +% go in the second argument +\floatconts + {fig:nodes} + {\caption{Example Image}} + {\includegraphics[width=0.5\linewidth]{images/nodes}} +\end{figure} + +If your image is made up of \LaTeX\ code (for example, commands +provided by the \textsf{pgf} package) you can include it using +\cs{includeteximage} (defined by the \textsf{jmlr} class). This +can be scaled and rotated in the same way as \cs{includegraphics}. +For example, see \figureref{fig:teximage}. + +\begin{figure}[htbp] +\floatconts + {fig:teximage} + {\caption{Image Created Using \LaTeX\ Code}} + {\includeteximage[angle=45]{images/teximage}} +\end{figure} + +If the figure is too wide to fit on the page, you can use the +\texttt{sidewaysfigure} environment defined in the +\textsf{rotating} package. + +Don't use \verb|\graphicspath|. If the images are contained in +a subdirectory, specify this when you include the image, for +example \verb|\includegraphics{figures/mypic}|. + +\subsubsection{Sub-Figures} +\label{sec:subfigures} + +Sub-figures can be created using \verb|\subfigure|, which is +defined by the \textsf{jmlr} class. The optional argument allows +you to provide a subcaption. The label should be placed in the +mandatory argument of \verb|\subfigure|. You can reference the +entire figure, for example \figureref{fig:subfigex}, or you can +reference part of the figure using \verb|\figureref|, for example +\figureref{fig:circle}. Alternatively you can reference the +subfigure using \verb|\subfigref|, for example +\subfigref{fig:circle,fig:square} in \figureref{fig:subfigex}. + +\begin{figure}[htbp] +\floatconts + {fig:subfigex} + {\caption{An Example With Sub-Figures.}} + {% + \subfigure[A Circle]{\label{fig:circle}% + \includegraphics[width=0.2\linewidth]{images/circle}}% + \qquad + \subfigure[A Square]{\label{fig:square}% + \includegraphics[width=0.2\linewidth]{images/square}} + } +\end{figure} + +By default, the sub-figures are aligned on the baseline. +This can be changed using the second optional argument +of \verb|\subfigure|. This may be \texttt{t} (top), \texttt{c} +(centered) or \texttt{b} (bottom). For example, the subfigures +\subfigref{fig:circle2,fig:square2} in \figureref{fig:subfigex2} +both have \verb|[c]| as the second optional argument. + +\begin{figure}[htbp] +\floatconts + {fig:subfigex2} + {\caption{Another Example With Sub-Figures.}} + {% + \subfigure[A Small Circle][c]{\label{fig:circle2}% + \includegraphics[width=0.1\linewidth]{images/circle}}% + \qquad + \subfigure[A Square][c]{\label{fig:square2}% + \includegraphics[width=0.2\linewidth]{images/square}} + } +\end{figure} + +\subsection{Sub-Tables} +\label{sec:subtables} +There is an analogous command \verb|\subtable| for sub-tables. +It has the same syntax as \verb|\subfigure| described above. +You can reference the table using \verb|\tableref|, for example +\tableref{tab:subtabex} or you can reference part of the table, +for example \tableref{tab:ab}. Alternatively you can reference the +subtable using \verb|\subtabref|, for example +\subtabref{tab:ab,tab:cd} in \tableref{tab:subtabex}. + +\begin{table}[htbp] +\floatconts + {tab:subtabex} + {\caption{An Example With Sub-Tables}} + {% + \subtable{% + \label{tab:ab}% + \begin{tabular}{cc} + \bfseries A & \bfseries B\\ + 1 & 2 + \end{tabular} + }\qquad + \subtable{% + \label{tab:cd}% + \begin{tabular}{cc} + \bfseries C & \bfseries D\\ + 3 & 4\\ + 5 & 6 + \end{tabular} + } + } +\end{table} + +By default, the sub-tables are aligned on the top. +This can be changed using the second optional argument +of \verb|\subtable|. This may be \texttt{t} (top), \texttt{c} +(centered) or \texttt{b} (bottom). For example, the sub-tables +\subtabref{tab:ab2,tab:cd2} in \tableref{tab:subtabex2} +both have \verb|[c]| as the second optional argument. + +\begin{table}[htbp] +\floatconts + {tab:subtabex2} + {\caption{Another Example With Sub-Tables}} + {% + \subtable[][c]{% + \label{tab:ab2}% + \begin{tabular}{cc} + \bfseries A & \bfseries B\\ + 1 & 2 + \end{tabular} + }\qquad + \subtable[][c]{% + \label{tab:cd2}% + \begin{tabular}{cc} + \bfseries C & \bfseries D\\ + 3 & 4\\ + 5 & 6 + \end{tabular} + } + } +\end{table} + +\subsection{Algorithms} +\label{sec:algorithms} + +Enumerated textual algorithms can be displayed using the +\texttt{algorithm} environment. Within this environment, use +\verb|\caption| to set the caption and you can use an +\texttt{enumerate} or nested \texttt{enumerate} environments. +For example, see \algorithmref{alg:gauss}. Note that algorithms +float like figures and tables. + +\begin{algorithm}[htbp] +\caption{The Gauss-Seidel Algorithm}\label{alg:gauss} +\begin{enumerate} + \item For $k=1$ to maximum number of iterations + \begin{enumerate} + \item For $i=1$ to $n$ + \begin{enumerate} + \item $x_i^{(k)} = + \frac{b_i - \sum_{j=1}^{i-1}a_{ij}x_j^{(k)} + - \sum_{j=i+1}^{n}a_{ij}x_j^{(k-1)}}{a_{ii}}$ + \item If $\|\vec{x}^{(k)}-\vec{x}^{(k-1)} < \epsilon\|$, + where $\epsilon$ is a specified stopping criteria, stop. + \end{enumerate} + \end{enumerate} +\end{enumerate} +\end{algorithm} + +If you'd rather have the same numbering throughout the algorithm +but still want the convenient indentation of nested +\texttt{enumerate} environments, you can use the +\texttt{enumerate*} environment provided by the \textsf{jmlr} +class. For example, see \algorithmref{alg:moore}. + +\begin{algorithm} +\caption{Moore's Shortest Path}\label{alg:moore} +Given a connected graph $G$, where the length of each edge is 1: +\begin{enumerate*} + \item Set the label of vertex $s$ to 0 + \item Set $i=0$ + \begin{enumerate*} + \item \label{step:locate}Locate all unlabelled vertices + adjacent to a vertex labelled $i$ and label them $i+1$ + \item If vertex $t$ has been labelled, + \begin{enumerate*} + \item[] the shortest path can be found by backtracking, and + the length is given by the label of $t$. + \end{enumerate*} + otherwise + \begin{enumerate*} + \item[] increment $i$ and return to step~\ref{step:locate} + \end{enumerate*} + \end{enumerate*} +\end{enumerate*} +\end{algorithm} + +Pseudo code can be displayed using the \texttt{algorithm2e} +environment. This is defined by the \textsf{algorithm2e} package +(which is automatically loaded) so check the \textsf{algorithm2e} +documentation for further details.\footnote{Either \texttt{texdoc +algorithm2e} or \url{http://www.ctan.org/pkg/algorithm2e}} +For an example, see \algorithmref{alg:net}. + +\begin{algorithm2e} +\caption{Computing Net Activation} +\label{alg:net} +\dontprintsemicolon +\linesnumbered +\KwIn{$x_1, \ldots, x_n, w_1, \ldots, w_n$} +\KwOut{$y$, the net activation} +$y\leftarrow 0$\; +\For{$i\leftarrow 1$ \KwTo $n$}{ + $y \leftarrow y + w_i*x_i$\; +} +\end{algorithm2e} + +\section{Description Lists} + +The \textsf{jmlr} class also provides a description-like +environment called \texttt{altdescription}. This has an +argument that should be the widest label in the list. Compare: +\begin{description} +\item[add] A method that adds two variables. +\item[differentiate] A method that differentiates a function. +\end{description} +with +\begin{altdescription}{differentiate} +\item[add] A method that adds two variables. +\item[differentiate] A method that differentiates a function. +\end{altdescription} + +\section{Theorems, Lemmas etc} +\label{sec:theorems} + +The following theorem-like environments are predefined by +the \textsf{jmlr} class: \texttt{theorem}, \texttt{example}, +\texttt{lemma}, \texttt{proposition}, \texttt{remark}, +\texttt{corollary}, \texttt{definition}, \texttt{conjecture} +and \texttt{axiom}. You can use the \texttt{proof} environment +to display the proof if need be, as in \theoremref{thm:eigenpow}. + +\begin{theorem}[Eigenvalue Powers]\label{thm:eigenpow} +If $\lambda$ is an eigenvalue of $\vec{B}$ with eigenvector +$\vec{\xi}$, then $\lambda^n$ is an eigenvalue of $\vec{B}^n$ +with eigenvector $\vec{\xi}$. +\begin{proof} +Let $\lambda$ be an eigenvalue of $\vec{B}$ with eigenvector +$\xi$, then +\begin{align*} +\vec{B}\vec{\xi} &= \lambda\vec{\xi} +\intertext{premultiply by $\vec{B}$:} +\vec{B}\vec{B}\vec{\xi} &= \vec{B}\lambda\vec{\xi}\\ +\Rightarrow \vec{B}^2\vec{\xi} &= \lambda\vec{B}\vec{\xi}\\ +&= \lambda\lambda\vec{\xi}\qquad +\text{since }\vec{B}\vec{\xi}=\lambda\vec{\xi}\\ +&= \lambda^2\vec{\xi} +\end{align*} +Therefore true for $n=2$. Now assume true for $n=k$: +\begin{align*} +\vec{B}^k\vec{\xi} &= \lambda^k\vec{\xi} +\intertext{premultiply by $\vec{B}$:} +\vec{B}\vec{B}^k\vec{\xi} &= \vec{B}\lambda^k\vec{\xi}\\ +\Rightarrow \vec{B}^{k+1}\vec{\xi} &= \lambda^k\vec{B}\vec{\xi}\\ +&= \lambda^k\lambda\vec{\xi}\qquad +\text{since }\vec{B}\vec{\xi}=\lambda\vec{\xi}\\ +&= \lambda^{k+1}\vec{\xi} +\end{align*} +Therefore true for $n=k+1$. Therefore, by induction, true for all +$n$. +\end{proof} +\end{theorem} + +\begin{lemma}[A Sample Lemma]\label{lem:sample} +This is a lemma. +\end{lemma} + +\begin{remark}[A Sample Remark]\label{rem:sample} +This is a remark. +\end{remark} + +\begin{corollary}[A Sample Corollary]\label{cor:sample} +This is a corollary. +\end{corollary} + +\begin{definition}[A Sample Definition]\label{def:sample} +This is a definition. +\end{definition} + +\begin{conjecture}[A Sample Conjecture]\label{con:sample} +This is a conjecture. +\end{conjecture} + +\begin{axiom}[A Sample Axiom]\label{ax:sample} +This is an axiom. +\end{axiom} + +\begin{example}[An Example]\label{ex:sample} +This is an example. +\end{example} + +\section{Color vs Grayscale} +\label{sec:color} + +It's helpful if authors supply grayscale versions of their +images in the event that the article is to be incorporated into +a black and white printed book. With external PDF, PNG or JPG +graphic files, you just need to supply a grayscale version of the +file. For example, if the file is called \texttt{myimage.png}, +then the gray version should be \texttt{myimage-gray.png} or +\texttt{myimage-gray.pdf} or \texttt{myimage-gray.jpg}. You don't +need to modify your code. The \textsf{jmlr} class checks for +the existence of the grayscale version if it is print mode +(provided you have used \verb|\includegraphics| and haven't +specified the file extension). + +You can use \verb|\ifprint| to determine which mode you are in. +For example, in \figureref{fig:nodes}, the +\ifprint{dark gray}{purple} ellipse represents an input and the +\ifprint{light gray}{yellow} ellipse represents an output. +Another example: {\ifprint{\bfseries}{\color{red}}important text!} + +You can use the class option \texttt{gray} to see how the +document will appear in gray scale mode. \textcolor{blue}{Colored +text} will automatically be converted to gray scale. + +The \textsf{jmlr} class loads the \textsf{xcolor} +package, so you can also define your own colors. For example: +\ifprint + {\definecolor{myred}{gray}{0.5}}% + {\definecolor{myred}{rgb}{0.5,0,0}}% +\textcolor{myred}{XYZ}. + +The \textsf{xcolor} class is loaded with the \texttt{x11names} +option, so you can use any of the x11 predefined colors (listed +in the \textsf{xcolor} documentation\footnote{either +\texttt{texdoc xcolor} or \url{http://www.ctan.org/pkg/xcolor}}). + +\section{Citations and Bibliography} +\label{sec:cite} + +The \textsf{jmlr} class automatically loads \textsf{natbib}. +This sample file has the citations defined in the accompanying +BibTeX file \texttt{jmlr-sample.bib}. For a parenthetical +citation use \verb|\citep|. For example +\citep{guyon-elisseeff-03}. For a textual citation use +\verb|\citet|. For example \citet{guyon2007causalreport}. +Both commands may take a comma-separated list, for example +\citet{guyon-elisseeff-03,guyon2007causalreport}. + +These commands have optional arguments and have a starred +version. See the \textsf{natbib} documentation for further +details.\footnote{Either \texttt{texdoc natbib} or +\url{http://www.ctan.org/pkg/natbib}} + +The bibliography is displayed using \verb|\bibliography|. + +\acks{Acknowledgements go here.} + +\bibliography{jmlr-sample} + +\appendix + +\section{First Appendix}\label{apd:first} + +This is the first appendix. + +\section{Second Appendix}\label{apd:second} + +This is the second appendix. + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex new file mode 100644 index 00000000000..107d12061c3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jmlr/sample-papers/jmlrwcp-sample.tex @@ -0,0 +1,752 @@ +%\documentclass[wcp,gray]{jmlr} % test grayscale version +\documentclass[wcp]{jmlr} + +% The following packages will be automatically loaded: +% amsmath, amssymb, natbib, graphicx, url, algorithm2e + +%\usepackage{rotating}% for sideways figures and tables +\usepackage{longtable}% for long tables + +% The booktabs package is used by this sample document +% (it provides \toprule, \midrule and \bottomrule). +% Remove the next line if you don't require it. +\usepackage{booktabs} +% The siunitx package is used by this sample document +% to align numbers in a column by their decimal point. +% Remove the next line if you don't require it. +\usepackage{siunitx} + +% The following command is just for this sample document: +\newcommand{\cs}[1]{\texttt{\char`\\#1}} + +\jmlrvolume{vol} +\jmlryear{2010} +\jmlrworkshop{Workshop Title} + +\title[Short Title]{Full Title of Article} + + % Use \Name{Author Name} to specify the name. + % If the surname contains spaces, enclose the surname + % in braces, e.g. \Name{John {Smith Jones}} similarly + % if the name has a "von" part, e.g \Name{Jane {de Winter}}. + % If the first letter in the forenames is a diacritic + % enclose the diacritic in braces, e.g. \Name{{\'E}louise Smith} + + % Two authors with the same address + \author{\Name{Author Name1} \Email{abc@sample.com}\and + \Name{Author Name2} \Email{xyz@sample.com}\\ + \addr Address} + + % Three or more authors with the same address: + % \author{\Name{Author Name1} \Email{an1@sample.com}\\ + % \Name{Author Name2} \Email{an2@sample.com}\\ + % \Name{Author Name3} \Email{an3@sample.com}\\ + % \Name{Author Name4} \Email{an4@sample.com}\\ + % \Name{Author Name5} \Email{an5@sample.com}\\ + % \Name{Author Name6} \Email{an6@sample.com}\\ + % \Name{Author Name7} \Email{an7@sample.com}\\ + % \Name{Author Name8} \Email{an8@sample.com}\\ + % \Name{Author Name9} \Email{an9@sample.com}\\ + % \Name{Author Name10} \Email{an10@sample.com}\\ + % \Name{Author Name11} \Email{an11@sample.com}\\ + % \Name{Author Name12} \Email{an12@sample.com}\\ + % \Name{Author Name13} \Email{an13@sample.com}\\ + % \Name{Author Name14} \Email{an14@sample.com}\\ + % \addr Address} + + + % Authors with different addresses: + % \author{\Name{Author Name1} \Email{abc@sample.com}\\ + % \addr Address 1 + % \AND + % \Name{Author Name2} \Email{xyz@sample.com}\\ + % \addr Address 2 + %} + +\editor{Editor's name} +% \editors{List of editors' names} + +\begin{document} + +\maketitle + +\begin{abstract} +This is the abstract for this article. +\end{abstract} +\begin{keywords} +List of keywords +\end{keywords} + +\section{Introduction} +\label{sec:intro} + +This is a sample article that uses the \textsf{jmlr} class with +the \texttt{wcp} class option. Please follow the guidelines in +this sample document as it can help to reduce complications when +combining the articles into a book. Please avoid using obsolete +commands, such as \verb|\rm|, and obsolete packages, such as +\textsf{epsfig}.\footnote{See +\url{http://www.ctan.org/pkg/l2tabu}} Please also ensure +that your document will compile with PDF\LaTeX. + +\subsection{Sub-sections} + +Sub-sections are produced using \verb|\subsection|. + +\subsubsection{Sub-sub-sections} + +Sub-sub-sections are produced using \verb|\subsubsection|. + +\paragraph{Sub-sub-sub-sections} + +Sub-sub-sub-sections are produced using \verb|\paragraph|. +These are unnumbered with a running head. + +\subparagraph{Sub-sub-sub-sub-sections} + +Sub-sub-sub-sub-sections are produced using \verb|\subparagraph|. +These are unnumbered with a running head. + +\section{Cross-Referencing} + +Always use \verb|\label| and \verb|\ref| (or one of the commands +described below) when cross-referencing. For example, the next +section is Section~\ref{sec:math}. The \textsf{jmlr} class +provides some convenient cross-referencing commands: +\verb|\sectionref|, \verb|\equationref|, \verb|\tableref|, +\verb|\figureref|, \verb|\algorithmref|, \verb|\theoremref|, +\verb|\lemmaref|, \verb|\remarkref|, \verb|\corollaryref|, +\verb|\definitionref|, \verb|\conjectureref|, \verb|\axiomref|, +\verb|\exampleref| and \verb|\appendixref|. The argument of these +commands may either be a single label or a comma-separated list +of labels. Examples: + +Referencing sections: \sectionref{sec:math} or +\sectionref{sec:intro,sec:math} or +\sectionref{sec:intro,sec:math,sec:tables,sec:figures}. + +Referencing equations: \equationref{eq:trigrule} or +\equationref{eq:trigrule,eq:df} or +\equationref{eq:trigrule,eq:f,eq:df,eq:y}. + +Referencing tables: \tableref{tab:operatornames} or +\tableref{tab:operatornames,tab:example} or +\tableref{tab:operatornames,tab:example,tab:example-booktabs}. + +Referencing figures: \figureref{fig:nodes} or +\figureref{fig:nodes,fig:teximage} or +\figureref{fig:nodes,fig:teximage,fig:subfigex} or +\figureref{fig:circle,fig:square}. + +Referencing algorithms: \algorithmref{alg:gauss} or +\algorithmref{alg:gauss,alg:moore} or +\algorithmref{alg:gauss,alg:moore,alg:net}. + +Referencing theorem-like environments: \theoremref{thm:eigenpow}, +\lemmaref{lem:sample}, \remarkref{rem:sample}, +\corollaryref{cor:sample}, \definitionref{def:sample}, +\conjectureref{con:sample}, \axiomref{ax:sample} and +\exampleref{ex:sample}. + +Referencing appendices: \appendixref{apd:first} or +\appendixref{apd:first,apd:second}. + +\section{Equations} +\label{sec:math} + +The \textsf{jmlr} class loads the \textsf{amsmath} package, so +you can use any of the commands and environments defined there. +(See the \textsf{amsmath} documentation for further +details.\footnote{Either \texttt{texdoc amsmath} or +\url{http://www.ctan.org/pkg/amsmath}}) + +Unnumbered single-lined equations should be displayed using +\verb|\[| and \verb|\]|. For example: +\[E = m c^2\] +Numbered single-line equations should be displayed using the +\texttt{equation} environment. For example: +\begin{equation}\label{eq:trigrule} +\cos^2\theta + \sin^2\theta \equiv 1 +\end{equation} +This can be referenced using \verb|\label| and \verb|\equationref|. +For example, \equationref{eq:trigrule}. + +Multi-lined numbered equations should be displayed using the +\texttt{align} environment. For example: +\begin{align} +f(x) &= x^2 + x\label{eq:f}\\ +f'(x) &= 2x + 1\label{eq:df} +\end{align} +Unnumbered multi-lined equations should be displayed using the +\texttt{align*} environment. For example: +\begin{align*} +f(x) &= (x+1)(x-1)\\ +&= x^2 - 1 +\end{align*} +If you want to mix numbered with unnumbered lines use the +align environment and suppress unwanted line numbers with +\verb|\nonumber|. For example: +\begin{align} +y &= x^2 + 3x - 2x + 1\nonumber\\ +&= x^2 + x + 1\label{eq:y} +\end{align} +An equation that is too long to fit on a single line can be +displayed using the \texttt{split} environment. +Text can be embedded in an equation using \verb|\text| or +\verb|\intertext| (as used in \theoremref{thm:eigenpow}). +See the \textsf{amsmath} documentation for further details. + +\subsection{Operator Names} +\label{sec:op} + +Predefined operator names are listed in \tableref{tab:operatornames}. +For additional operators, either use \verb|\operatorname|, +for example $\operatorname{var}(X)$ or declare it with +\verb|\DeclareMathOperator|, for example +\begin{verbatim} +\DeclareMathOperator{\var}{var} +\end{verbatim} +and then use this new command. If you want limits that go above and +below the operator (like \verb|\sum|) use the starred versions +(\verb|\operatorname*| or \verb|\DeclareMathOperator*|). + +\begin{table}[htbp] +\floatconts + {tab:operatornames}% + {\caption{Predefined Operator Names (taken from + \textsf{amsmath} documentation)}}% + {% +\begin{tabular}{rlrlrlrl} +\cs{arccos} & $\arccos$ & \cs{deg} & $\deg$ & \cs{lg} & $\lg$ & \cs{projlim} & $\projlim$ \\ +\cs{arcsin} & $\arcsin$ & \cs{det} & $\det$ & \cs{lim} & $\lim$ & \cs{sec} & $\sec$ \\ +\cs{arctan} & $\arctan$ & \cs{dim} & $\dim$ & \cs{liminf} & $\liminf$ & \cs{sin} & $\sin$ \\ +\cs{arg} & $\arg$ & \cs{exp} & $\exp$ & \cs{limsup} & $\limsup$ & \cs{sinh} & $\sinh$ \\ +\cs{cos} & $\cos$ & \cs{gcd} & $\gcd$ & \cs{ln} & $\ln$ & \cs{sup} & $\sup$ \\ +\cs{cosh} & $\cosh$ & \cs{hom} & $\hom$ & \cs{log} & $\log$ & \cs{tan} & $\tan$ \\ +\cs{cot} & $\cot$ & \cs{inf} & $\inf$ & \cs{max} & $\max$ & \cs{tanh} & $\tanh$ \\ +\cs{coth} & $\coth$ & \cs{injlim} & $\injlim$ & \cs{min} & $\min$ \\ +\cs{csc} & $\csc$ & \cs{ker} & $\ker$ & \cs{Pr} & $\Pr$ +\end{tabular}\par +\begin{tabular}{rlrl} +\cs{varlimsup} & $\varlimsup$ +& \cs{varinjlim} & $\varinjlim$\\ +\cs{varliminf} & $\varliminf$ +& \cs{varprojlim} & $\varprojlim$ +\end{tabular} +} +\end{table} + +\section{Vectors and Sets} +\label{sec:vec} + +Vectors should be typeset using \cs{vec}. For example $\vec{x}$. +The \textsf{jmlr} class also provides \cs{set} to typeset a +set. For example $\set{S}$. + +\section{Floats} +\label{sec:floats} + +Floats, such as figures, tables and algorithms, are moving +objects and are supposed to float to the nearest convenient +location. Please don't force them to go in a particular place. In +general it's best to use the \texttt{htbp} specifier and don't +put the figure or table in the middle of a paragraph (that is +make sure there's a paragraph break above and below the float). +Floats are supposed to have a little extra space above and below +them to make them stand out from the rest of the text. This extra +spacing is put in automatically and shouldn't need modifying. + +To ensure consistency, please \emph{don't} try changing the format of the caption by doing +something like: +\begin{verbatim} +\caption{\textit{A Sample Caption.}} +\end{verbatim} +or +\begin{verbatim} +\caption{\em A Sample Caption.} +\end{verbatim} +You can, of course, change the font for individual words or +phrases, for example: +\begin{verbatim} +\caption{A Sample Caption With Some \emph{Emphasized Words}.} +\end{verbatim} + +\subsection{Tables} +\label{sec:tables} + +Tables should go in the \texttt{table} environment. Within this +environment use \verb|\floatconts| (defined by \textsf{jmlr}) +to set the caption correctly and center the table contents. + +\begin{table}[htbp] +% The first argument is the label. +% The caption goes in the second argument, and the table contents +% go in the third argument. +\floatconts + {tab:example}% + {\caption{An Example Table}}% + {\begin{tabular}{ll} + \bfseries Dataset & \bfseries Result\\ + Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + Data4 & 0.09876 + \end{tabular}} +\end{table} + +If you want horizontal rules you can use the \textsf{booktabs} +package which provides the commands \verb|\toprule|, +\verb|\midrule| and \verb|\bottomrule|. For example, see +\tableref{tab:example-booktabs}. + +\begin{table}[hbtp] +\floatconts + {tab:example-booktabs} + {\caption{A Table With Horizontal Lines}} + {\begin{tabular}{ll} + \toprule + \bfseries Dataset & \bfseries Result\\ + \midrule + Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + Data4 & 0.09876\\ + \bottomrule + \end{tabular}} +\end{table} + +If you want vertical lines as well, you can't use the +\textsf{booktabs} commands as there'll be some unwanted gaps. +Instead you can use \LaTeX's \verb|\hline|, but the rows may +appear a bit cramped. You can add extra space above or below a +row using \verb|\abovestrut| and \verb|\belowstrut|. For example, +see \tableref{tab:example-hline}. + +\begin{table}[htbp] +\floatconts + {tab:example-hline} + {\caption{A Table With Horizontal and Vertical Lines}}% + {% + \begin{tabular}{|l|l|} + \hline + \abovestrut{2.2ex}\bfseries Dataset & \bfseries Result\\\hline + \abovestrut{2.2ex}Data1 & 0.12345\\ + Data2 & 0.67890\\ + Data3 & 0.54321\\ + \belowstrut{0.2ex}Data4 & 0.09876\\\hline + \end{tabular} + } +\end{table} + +If you want to align numbers on their decimal point, you can +use the \textsf{siunitx} package. For example, see +\tableref{tab:example-siunitx}. For further details see the +\textsf{siunitx} documentation\footnote{Either \texttt{texdoc +siunitx} or \url{http://www.ctan.org/pkg/siunitx}}. + +\begin{table}[htbp] +\floatconts + {tab:example-siunitx} + {\caption{A Table With Numbers Aligned on the Decimal Point}} + {\begin{tabular}{lS[tabformat=3.5]} + \bfseries Dataset & {\bfseries Result}\\ + Data1 & 0.12345\\ + Data2 & 10.6789\\ + Data3 & 50.543\\ + Data4 & 200.09876 + \end{tabular}} +\end{table} + +If the table is too wide, you can adjust the inter-column +spacing by changing the value of \verb|\tabcolsep|. For +example: +\begin{verbatim} +\setlength{\tabcolsep}{3pt} +\end{verbatim} +If the table is very wide but not very long, you can use the +\texttt{sidewaystable} environment defined in the +\textsf{rotating} package (so use \verb|\usepackage{rotating}|). +If the table is too long to fit on a page, you should use the +\texttt{longtable} environment defined in the \textsf{longtable} +package (so use \verb|\usepackage{longtable}|). + +\subsection{Figures} +\label{sec:figures} + +Figures should go in the \texttt{figure} environment. Within this +environment, use \verb|\floatconts| to correctly position the +caption and center the image. Use \verb|\includegraphics| +for external graphics files but omit the file extension. Do not +use \verb|\epsfig| or \verb|\psfig|. If you want to scale the +image, it's better to use a fraction of the line width rather +than an explicit length. For example, see \figureref{fig:nodes}. + +\begin{figure}[htbp] +% Caption and label go in the first argument and the figure contents +% go in the second argument +\floatconts + {fig:nodes} + {\caption{Example Image}} + {\includegraphics[width=0.5\linewidth]{images/nodes}} +\end{figure} + +If your image is made up of \LaTeX\ code (for example, commands +provided by the \textsf{pgf} package) you can include it using +\cs{includeteximage} (defined by the \textsf{jmlr} class). This +can be scaled and rotated in the same way as \cs{includegraphics}. +For example, see \figureref{fig:teximage}. + +\begin{figure}[htbp] +\floatconts + {fig:teximage} + {\caption{Image Created Using \LaTeX\ Code}} + {\includeteximage[angle=45]{images/teximage}} +\end{figure} + +If the figure is too wide to fit on the page, you can use the +\texttt{sidewaysfigure} environment defined in the +\textsf{rotating} package. + +Don't use \verb|\graphicspath|. If the images are contained in +a subdirectory, specify this when you include the image, for +example \verb|\includegraphics{figures/mypic}|. + +\subsubsection{Sub-Figures} +\label{sec:subfigures} + +Sub-figures can be created using \verb|\subfigure|, which is +defined by the \textsf{jmlr} class. The optional argument allows +you to provide a subcaption. The label should be placed in the +mandatory argument of \verb|\subfigure|. You can reference the +entire figure, for example \figureref{fig:subfigex}, or you can +reference part of the figure using \verb|\figureref|, for example +\figureref{fig:circle}. Alternatively you can reference the +subfigure using \verb|\subfigref|, for example +\subfigref{fig:circle,fig:square} in \figureref{fig:subfigex}. + +\begin{figure}[htbp] +\floatconts + {fig:subfigex} + {\caption{An Example With Sub-Figures.}} + {% + \subfigure[A Circle]{\label{fig:circle}% + \includegraphics[width=0.2\linewidth]{images/circle}}% + \qquad + \subfigure[A Square]{\label{fig:square}% + \includegraphics[width=0.2\linewidth]{images/square}} + } +\end{figure} + +By default, the sub-figures are aligned on the baseline. +This can be changed using the second optional argument +of \verb|\subfigure|. This may be \texttt{t} (top), \texttt{c} +(centered) or \texttt{b} (bottom). For example, the subfigures +\subfigref{fig:circle2,fig:square2} in \figureref{fig:subfigex2} +both have \verb|[c]| as the second optional argument. + +\begin{figure}[htbp] +\floatconts + {fig:subfigex2} + {\caption{Another Example With Sub-Figures.}} + {% + \subfigure[A Small Circle][c]{\label{fig:circle2}% + \includegraphics[width=0.1\linewidth]{images/circle}}% + \qquad + \subfigure[A Square][c]{\label{fig:square2}% + \includegraphics[width=0.2\linewidth]{images/square}} + } +\end{figure} + +\subsection{Sub-Tables} +\label{sec:subtables} +There is an analogous command \verb|\subtable| for sub-tables. +It has the same syntax as \verb|\subfigure| described above. +You can reference the table using \verb|\tableref|, for example +\tableref{tab:subtabex} or you can reference part of the table, +for example \tableref{tab:ab}. Alternatively you can reference the +subtable using \verb|\subtabref|, for example +\subtabref{tab:ab,tab:cd} in \tableref{tab:subtabex}. + +\begin{table}[htbp] +\floatconts + {tab:subtabex} + {\caption{An Example With Sub-Tables}} + {% + \subtable{% + \label{tab:ab}% + \begin{tabular}{cc} + \bfseries A & \bfseries B\\ + 1 & 2 + \end{tabular} + }\qquad + \subtable{% + \label{tab:cd}% + \begin{tabular}{cc} + \bfseries C & \bfseries D\\ + 3 & 4\\ + 5 & 6 + \end{tabular} + } + } +\end{table} + +By default, the sub-tables are aligned on the top. +This can be changed using the second optional argument +of \verb|\subtable|. This may be \texttt{t} (top), \texttt{c} +(centered) or \texttt{b} (bottom). For example, the sub-tables +\subtabref{tab:ab2,tab:cd2} in \tableref{tab:subtabex2} +both have \verb|[c]| as the second optional argument. + +\begin{table}[htbp] +\floatconts + {tab:subtabex2} + {\caption{Another Example With Sub-Tables}} + {% + \subtable[][c]{% + \label{tab:ab2}% + \begin{tabular}{cc} + \bfseries A & \bfseries B\\ + 1 & 2 + \end{tabular} + }\qquad + \subtable[][c]{% + \label{tab:cd2}% + \begin{tabular}{cc} + \bfseries C & \bfseries D\\ + 3 & 4\\ + 5 & 6 + \end{tabular} + } + } +\end{table} + +\subsection{Algorithms} +\label{sec:algorithms} + +Enumerated textual algorithms can be displayed using the +\texttt{algorithm} environment. Within this environment, use +\verb|\caption| to set the caption and you can use an +\texttt{enumerate} or nested \texttt{enumerate} environments. +For example, see \algorithmref{alg:gauss}. Note that algorithms +float like figures and tables. + +\begin{algorithm}[htbp] +\caption{The Gauss-Seidel Algorithm}\label{alg:gauss} +\begin{enumerate} + \item For $k=1$ to maximum number of iterations + \begin{enumerate} + \item For $i=1$ to $n$ + \begin{enumerate} + \item $x_i^{(k)} = + \frac{b_i - \sum_{j=1}^{i-1}a_{ij}x_j^{(k)} + - \sum_{j=i+1}^{n}a_{ij}x_j^{(k-1)}}{a_{ii}}$ + \item If $\|\vec{x}^{(k)}-\vec{x}^{(k-1)} < \epsilon\|$, + where $\epsilon$ is a specified stopping criteria, stop. + \end{enumerate} + \end{enumerate} +\end{enumerate} +\end{algorithm} + +If you'd rather have the same numbering throughout the algorithm +but still want the convenient indentation of nested +\texttt{enumerate} environments, you can use the +\texttt{enumerate*} environment provided by the \textsf{jmlr} +class. For example, see \algorithmref{alg:moore}. + +\begin{algorithm} +\caption{Moore's Shortest Path}\label{alg:moore} +Given a connected graph $G$, where the length of each edge is 1: +\begin{enumerate*} + \item Set the label of vertex $s$ to 0 + \item Set $i=0$ + \begin{enumerate*} + \item \label{step:locate}Locate all unlabelled vertices + adjacent to a vertex labelled $i$ and label them $i+1$ + \item If vertex $t$ has been labelled, + \begin{enumerate*} + \item[] the shortest path can be found by backtracking, and + the length is given by the label of $t$. + \end{enumerate*} + otherwise + \begin{enumerate*} + \item[] increment $i$ and return to step~\ref{step:locate} + \end{enumerate*} + \end{enumerate*} +\end{enumerate*} +\end{algorithm} + +Pseudo code can be displayed using the \texttt{algorithm2e} +environment. This is defined by the \textsf{algorithm2e} package +(which is automatically loaded) so check the \textsf{algorithm2e} +documentation for further details.\footnote{Either \texttt{texdoc +algorithm2e} or \url{http://www.ctan.org/pkg/algorithm2e}} +For an example, see \algorithmref{alg:net}. + +\begin{algorithm2e} +\caption{Computing Net Activation} +\label{alg:net} +\dontprintsemicolon +\linesnumbered +\KwIn{$x_1, \ldots, x_n, w_1, \ldots, w_n$} +\KwOut{$y$, the net activation} +$y\leftarrow 0$\; +\For{$i\leftarrow 1$ \KwTo $n$}{ + $y \leftarrow y + w_i*x_i$\; +} +\end{algorithm2e} + +\section{Description Lists} + +The \textsf{jmlr} class also provides a description-like +environment called \texttt{altdescription}. This has an +argument that should be the widest label in the list. Compare: +\begin{description} +\item[add] A method that adds two variables. +\item[differentiate] A method that differentiates a function. +\end{description} +with +\begin{altdescription}{differentiate} +\item[add] A method that adds two variables. +\item[differentiate] A method that differentiates a function. +\end{altdescription} + +\section{Theorems, Lemmas etc} +\label{sec:theorems} + +The following theorem-like environments are predefined by +the \textsf{jmlr} class: \texttt{theorem}, \texttt{example}, +\texttt{lemma}, \texttt{proposition}, \texttt{remark}, +\texttt{corollary}, \texttt{definition}, \texttt{conjecture} +and \texttt{axiom}. You can use the \texttt{proof} environment +to display the proof if need be, as in \theoremref{thm:eigenpow}. + +\begin{theorem}[Eigenvalue Powers]\label{thm:eigenpow} +If $\lambda$ is an eigenvalue of $\vec{B}$ with eigenvector +$\vec{\xi}$, then $\lambda^n$ is an eigenvalue of $\vec{B}^n$ +with eigenvector $\vec{\xi}$. +\begin{proof} +Let $\lambda$ be an eigenvalue of $\vec{B}$ with eigenvector +$\xi$, then +\begin{align*} +\vec{B}\vec{\xi} &= \lambda\vec{\xi} +\intertext{premultiply by $\vec{B}$:} +\vec{B}\vec{B}\vec{\xi} &= \vec{B}\lambda\vec{\xi}\\ +\Rightarrow \vec{B}^2\vec{\xi} &= \lambda\vec{B}\vec{\xi}\\ +&= \lambda\lambda\vec{\xi}\qquad +\text{since }\vec{B}\vec{\xi}=\lambda\vec{\xi}\\ +&= \lambda^2\vec{\xi} +\end{align*} +Therefore true for $n=2$. Now assume true for $n=k$: +\begin{align*} +\vec{B}^k\vec{\xi} &= \lambda^k\vec{\xi} +\intertext{premultiply by $\vec{B}$:} +\vec{B}\vec{B}^k\vec{\xi} &= \vec{B}\lambda^k\vec{\xi}\\ +\Rightarrow \vec{B}^{k+1}\vec{\xi} &= \lambda^k\vec{B}\vec{\xi}\\ +&= \lambda^k\lambda\vec{\xi}\qquad +\text{since }\vec{B}\vec{\xi}=\lambda\vec{\xi}\\ +&= \lambda^{k+1}\vec{\xi} +\end{align*} +Therefore true for $n=k+1$. Therefore, by induction, true for all +$n$. +\end{proof} +\end{theorem} + +\begin{lemma}[A Sample Lemma]\label{lem:sample} +This is a lemma. +\end{lemma} + +\begin{remark}[A Sample Remark]\label{rem:sample} +This is a remark. +\end{remark} + +\begin{corollary}[A Sample Corollary]\label{cor:sample} +This is a corollary. +\end{corollary} + +\begin{definition}[A Sample Definition]\label{def:sample} +This is a definition. +\end{definition} + +\begin{conjecture}[A Sample Conjecture]\label{con:sample} +This is a conjecture. +\end{conjecture} + +\begin{axiom}[A Sample Axiom]\label{ax:sample} +This is an axiom. +\end{axiom} + +\begin{example}[An Example]\label{ex:sample} +This is an example. +\end{example} + +\section{Color vs Grayscale} +\label{sec:color} + +It's helpful if authors supply grayscale versions of their +images in the event that the article is to be incorporated into +a black and white printed book. With external PDF, PNG or JPG +graphic files, you just need to supply a grayscale version of the +file. For example, if the file is called \texttt{myimage.png}, +then the gray version should be \texttt{myimage-gray.png} or +\texttt{myimage-gray.pdf} or \texttt{myimage-gray.jpg}. You don't +need to modify your code. The \textsf{jmlr} class checks for +the existence of the grayscale version if it is print mode +(provided you have used \verb|\includegraphics| and haven't +specified the file extension). + +You can use \verb|\ifprint| to determine which mode you are in. +For example, in \figureref{fig:nodes}, the +\ifprint{dark gray}{purple} ellipse represents an input and the +\ifprint{light gray}{yellow} ellipse represents an output. +Another example: {\ifprint{\bfseries}{\color{red}}important text!} + +You can use the class option \texttt{gray} to see how the +document will appear in gray scale mode. \textcolor{blue}{Colored +text} will automatically be converted to gray scale. + +The \textsf{jmlr} class loads the \textsf{xcolor} +package, so you can also define your own colors. For example: +\ifprint + {\definecolor{myred}{gray}{0.5}}% + {\definecolor{myred}{rgb}{0.5,0,0}}% +\textcolor{myred}{XYZ}. + +The \textsf{xcolor} class is loaded with the \texttt{x11names} +option, so you can use any of the x11 predefined colors (listed +in the \textsf{xcolor} documentation\footnote{either +\texttt{texdoc xcolor} or \url{http://www.ctan.org/pkg/xcolor}}). + +\section{Citations and Bibliography} +\label{sec:cite} + +The \textsf{jmlr} class automatically loads \textsf{natbib}. +This sample file has the citations defined in the accompanying +BibTeX file \texttt{jmlr-sample.bib}. For a parenthetical +citation use \verb|\citep|. For example +\citep{guyon-elisseeff-03}. For a textual citation use +\verb|\citet|. For example \citet{guyon2007causalreport}. +Both commands may take a comma-separated list, for example +\citet{guyon-elisseeff-03,guyon2007causalreport}. + +These commands have optional arguments and have a starred +version. See the \textsf{natbib} documentation for further +details.\footnote{Either \texttt{texdoc natbib} or +\url{http://www.ctan.org/pkg/natbib}} + +The bibliography is displayed using \verb|\bibliography|. + +\acks{Acknowledgements go here.} + +\bibliography{jmlr-sample} + +\appendix + +\section{First Appendix}\label{apd:first} + +This is the first appendix. + +\section{Second Appendix}\label{apd:second} + +This is the second appendix. + +\end{document} diff --git a/Master/texmf-dist/scripts/jmlr/makejmlrbook b/Master/texmf-dist/scripts/jmlr/makejmlrbook new file mode 100755 index 00000000000..77669bbff3a --- /dev/null +++ b/Master/texmf-dist/scripts/jmlr/makejmlrbook @@ -0,0 +1,840 @@ +#!/usr/bin/env perl +# File : makejmlrbook +# Author : Nicola L C Talbot +# Date : 22nd March 2010 +# Last Modified : 24nd March 2010 +# Version : 0.1 +# Description : Given the name of a document using the +# jmlrbook class file, this script runs +# pdflatex (and possibly bibtex) on the +# imported articles and the main document. +# http://theoval.cmp.uea.ac.uk/~nlct/ +# +# This file is distributed as part of the jmlr LaTeX bundle. +# +# Copyright (c) 2006 Nicola L.C. 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 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. + +use Getopt::Long; +use File::Basename; +use File::Copy; +use Cwd; +use strict; + +my $version = "0.1 (2010-03-24)"; + +my $eol = "\n"; +my $dd = '/'; + +if ($^O eq 'MSWin32') +{ + $eol = "\r\n"; + $dd = "\\"; +} + +my $showversion = 0; +my $showhelp = 0; +my $quiet = 0; +my $batchtex = 0; +my $online = 1; +my $print = 1; +my $html = 1; +my $latexapp = 'pdflatex'; +my $bibtexapp = 'bibtex'; +my $latexopts = ''; +my $bibtexopts = ''; +my $format = 'pdf'; +my $logourl = ''; + +unless(&GetOptions( + "online!" => \$online, + "print!" => \$print, + "html!" => \$html, + "logourl=s" => \$logourl, + "format=s" => \$format, + "latexapp=s" => \$latexapp, + "bibtexapp=s" => \$bibtexapp, + "latexopts=s" => \$latexopts, + "bibtexopts=s" => \$bibtexopts, + "quieter!" => \$quiet, + "batchtex!" => \$batchtex, + "version" => \$showversion, + "help" => \$showhelp)) +{ + die "$!\n", "Use --help for help\n"; +} + +my $appname = basename($0); + +if ($showhelp) +{ + die "$appname version $version Copyright (c) 2010 Nicola L C Talbot\n", + "Distributed under the LaTeX Project Public License.\n\n", + "Syntax: $appname [options] <filename>\n\n", + "<filename> should be the name of the master document for a LaTeX \n", + "file that uses the jmlrbook class. The .tex extension may be\n", + "omitted.\n\n", + "Basic options:\n", + "--online\t\tGenerate the color on-line version (default)\n", + "--noonline\t\tDon't generate the color on-line version\n", + "--print\t\t\tGenerate the grayscale print version (default)\n", + "--noprint\t\tDon't generate the grayscale print version\n", + "--html\t\t\tGenerate the HTML version (default)\n", + "--nohtml\t\tDon't generate the HTML version\n", + "--logourl <url>\tMake the logo on the HTML index page link to <url>\n", + "--batchtex\t\tRun TeX in batch mode\n", + "--nobatchtex\t\tDon't run TeX in batch mode\n", + "--quieter\t\tReduce messages to stdout and run TeX in batch mode\n", + "--noquieter\t\tDon't reduce messages to stdout\n", + "--version\t\tDisplay version number and exit\n", + "--help\t\t\tDisplay help message and exit\n", + "\nAdvanced options:\n", + "--latexapp <name>\tApplication used to call LaTeX\n", + "\t\t\t(Defaults to 'pdflatex')\n", + "--format <string>\tOutput format (default: 'pdf')\n", + "--bibtexapp <name>\tApplication used to call BibTeX\n", + "\t\t\t(Defaults to 'bibtex')\n", + "--latexopt <string>\tOptions to pass to LaTeX\n", + "--bibtexopt <string>\tOptions to pass to BibTeX\n"; +} + +if ($showversion) +{ + die "$appname version $version copyright (c) 2010 Nicola L C Talbot\n", + "Distributed under the LaTeX Project Public License.\n"; +} + +unless ($#ARGV == 0) +{ + die "$appname: missing filename\n", + "use --help for help\n"; +} + +if ($quiet or $batchtex) +{ + $latexopts = '-interaction batchmode '.$latexopts; +} + +if ($quiet) +{ + $bibtexopts = '-terse '.$bibtexopts; +} + +my ($main_name, $main_path, $main_suffix) + = fileparse($ARGV[0], '\.(tex|ltx)'); + +$main_suffix = '.tex' unless $main_suffix; + +my $org_dir = cwd(); + +chdir $main_path + or die "Can't change directory to '$main_path': $!\n"; + +my $mainaux = "$main_name.aux"; + +# If the aux file doesn't exist or the aux file is older than +# the main file, run latex + +if (not -e $mainaux or (-M $mainaux > -M "$main_name$main_suffix")) +{ + &latex($main_name); +} + +# Parse aux file + +open AUX, "$mainaux" or die "Can't open '$mainaux' $!\n"; + +&message("Reading '$mainaux'...\n"); + +my $main_bibdata = 0; +my @imports = (); +my %pagerefs = (); + +while (<AUX>) +{ + if (/\\bibdata\b/) + { + $main_bibdata = 1; + } + elsif (/\\\@jmlr\@import{(.*)}{(.*)}{(.*)}/) + { + my $import = + { + label => $1, + path => $2, + name => $3 + }; + + $import->{'name'} =~s/\.(tex|ltx)\Z//; + + push @imports, $import; + } + elsif (/\\contentsline\s*{chapterauthor}{(.*)}{}{}}\s*$/ + and $#imports > -1) + { + $imports[$#imports]->{'author'} = $1; + } + elsif (/^\\newlabel\s*{([^}]*)jmlrstart}{{([^}]*)}{([^}]*)}/) + { + my $label = $1; + + $pagerefs{$label}->{'start'} = $3; + } + elsif (/^\\newlabel\s*{([^}]*)jmlrend}{{([^}]*)}{([^}]*)}/) + { + my $label = $1; + + $pagerefs{$label}->{'end'} = $3; + } +} + +close AUX; + +# Replace any instances of \articlepagesref + +foreach my $import (@imports) +{ + my $label = $import->{'label'}; + + my $pages = $pagerefs{$label}->{'start'}.'--' + . $pagerefs{$label}->{'end'}; + + $import->{'author'}=~s/\\articlepagesref\s*{$label}/$pages/; +} + +if ($html) +{ + # If the html files need to be created, make the directory + # html-src, if it doesn't already exist + + unless (-d 'html-src') + { + mkdir 'html-src' + or die "Can't create directory 'html-src': $!\n"; + } + + unless (-d 'html') + { + mkdir 'html' + or die "Can't create directory 'html': $!\n"; + } +} + +# Iterate through each imported article + +foreach my $import (@imports) +{ + my $importbase = &fname($import->{'path'}, $import->{'name'}); + + # Check the aux file of this article + + my $aux = "$importbase.aux"; + + # The aux file should exist because running LaTeX on the + # main file will create the aux file. + + open AUX, $aux or die "Can't open '$aux' $!\n"; + + &message("Reading '$aux'...\n"); + + my $bibdata = 0; + + while (<AUX>) + { + if (/\\bibdata\b/) + { + $bibdata = 1; + } + } + + close AUX; + + # Do we need a bibtex run? + + if ($bibdata) + { + my $log = "$importbase.log"; + + # If the log file doesn't exist, run LaTeX + + unless (-e $log) + { + chdir $import->{'path'} + or die "Can't change directory to '$import->{path}': $!\n"; + + &latex($import->{'name'}); + + chdir "$org_dir/$main_path" or + die "Can't change directory to '$org_dir/$main_path': $!\n"; + } + + open LOGFD, $log or die "Can't open '$log' $!\n"; + + &message("Reading '$log'...\n"); + + my $runbibtex = 0; + + while (<LOGFD>) + { + if (/There were undefined citations\./) + { + # Run bibtex and latex + $runbibtex = 1; + + last; + } + } + + close LOGFD; + + if ($runbibtex) + { + chdir $import->{'path'} + or die "Can't change directory to '$import->{path}': $!\n"; + + &bibtex($import->{'name'}); + &latex($import->{'name'}); + + chdir "$org_dir/$main_path" or + die "Can't change directory to '$org_dir/$main_path': $!\n"; + } + } + + if ($html) + { + # If html is required, we also need pdf versions of the + # individual articles. + + # Does the pdf file exist? + + unless (-e "$importbase.$format") + { + chdir $import->{'path'} + or die "Can't change directory to '$import->{path}': $!\n"; + + &latex($import->{'name'}); + + chdir "$org_dir/$main_path" or + die "Can't change directory to '$org_dir/$main_path': $!\n"; + } + + # Do we need a rerun? + + if (&needs_rerun($importbase)) + { + chdir $import->{'path'} + or die "Can't change directory to '$import->{path}': $!\n"; + + &latex($import->{'name'}); + + chdir "$org_dir/$main_path" or + die "Can't change directory to '$org_dir/$main_path': $!\n"; + } + + my $importdir = $import->{'path'}; + + if ($importdir = '.') + { + $importdir = $import->{'name'}; + } + + # Check the appropriate subdirectory is in html-src + + my $name = &fname('html-src', $importdir); + + unless (-d $name) + { + mkdir $name + or die "Can't create directory '$name': $!\n"; + } + + my $text = ''; + + # Read the LaTeX file and store everything up to + # the end of the abstract + + my $tex = "$importbase.tex"; + + open TEX, $tex or die "Can't open '$tex': $!\n"; + + while (<TEX>) + { + # This doesn't handle complicated cases, such as + # the author using \abstract ... \endabstract + # or commenting out the abstract with conditionals + if (/^([^%]*)\\end{abstract}/) + { + $text .= $&; + last; + } + + $text .= $_; + } + + close TEX; + + # Add the 'html' class option: + unless ($text=~ + s/^([^%]*)\\documentclass\s*\[(.*)\]/$1\\documentclass[$2,html]/m) + { + $text=~s/^([^%]*)\\documentclass\s*/$1\\documentclass[html]/m; + } + + my $begindoc = ''; + + # Set the authors + if (defined($import->{'author'})) + { + my $author = $import->{'author'}; + + $author=~s/^([^;]*);/\\textbf{\\emph{$1};}/; + + $begindoc .= "\\jmlrauthors{$author}"; + } + + # Add content div + $text=~s/^([^%]*)\\begin{document}/$&$begindoc\\HCode{<div id="content">}/m; + + # Create file containing the abstract + + my $absfile = "html-src/$importdir/".$import->{'name'}.'.tex'; + + open ABSFD,">$absfile" + or die "Can't create '$absfile': $!\n"; + + print ABSFD "\\batchmode", $eol if ($batchtex or $quiet); + + my $texpath = $import->{path}; + + $texpath=~s/\\/\//g if ($dd eq '\\'); + + print ABSFD + "\\makeatletter",$eol, + "\\def\\input\@path{{../../$texpath/}}$eol", + "\\makeatother",$eol, + $text, $eol, + "\\HCode{</div>}", $eol, + "\\end{document}",$eol; + + close ABSFD; + + # Create the cfg file + + my $cfg = "html-src/$importdir/jmlr.cfg"; + + open CFG, ">$cfg" or die "Can't create '$cfg': $!\n"; + +print CFG <<END_CFG; +\\Preamble{html} +\\begin{document} +\\Css{div.maketitle {text-align:left;}} +\\Css{h2.titleHead {text-align:left;}} +\\Css{. {font-family:verdana,helvetica,sans-serif}} +\\Css{a {text-decoration:none;color:\\#3030a0}} +\\Css{.cmbx-10x-x-109{ font-weight: bold;}} +\\Css{.cmbxti-10x-x-109{ font-weight: bold; font-style: italic;}} +\\EndPreamble +END_CFG + + close CFG; + + # Run htlatex + + # Change directory + chdir "html-src/$importdir" + or die "Can't change directory to 'html-src/$importdir': $!\n"; + + + my $code = system("htlatex \"".$import->{'name'}."\" \"jmlr\""); + + if ($code) + { + die "htlatex failed with exit code $code\n"; + } + + # Go back to main directory + chdir "$org_dir/$main_path" + or die "Can't change directory to '$org_dir/$main_path': $!\n"; + + # Copy the html file to the html directory, but rename + # the css file to jmlr.css + + my $infile = "html-src/$importdir/".$import->{'name'}.".html"; + + open INFD, $infile or die "Can't open '$infile': $!\n"; + + my $outfile = "html/".$import->{'name'}.".html"; + + open OUTFD, ">$outfile" or die "Can't open '$outfile': $!\n"; + + while (<INFD>) + { + s/href="$import->{name}\.css"/href="jmlr.css"/; + + print OUTFD; + } + + close OUTFD; + + close INFD; + + # Copy css file + + copy("html-src/$importdir/$import->{name}.css", + "html/jmlr.css") + or die "Can't copy 'html-src/$importdir/$import->{name}.css'", + " to 'html/jmlr.css': $!\n"; + + # Copy pdf file + + copy("$importbase.$format", + "html/$import->{name}.$format") + or die "Can't copy '$importdir/$import->{name}.$format'", + " to 'html/$import->{name}.$format': $!\n"; + } +} + +# do we need to run bibtex on the main document? + +if ($main_bibdata) +{ + &bibtex($main_name); +} + +if ($online) +{ + &latexonline($main_name); + + # do we need a rerun? + + if (&needs_rerun($main_name)) + { + &message("Rerun required\n"); + &latexonline($main_name); + + # check again + + if (&needs_rerun($main_name)) + { + &message("Rerun required\n"); + &latexonline($main_name); + } + } +} + +if ($print) +{ + &latexprint($main_name); + + # do we need a rerun? + + if (&needs_rerun($main_name)) + { + &message("Rerun required\n"); + &latexprint($main_name); + + # check again + + if (&needs_rerun($main_name)) + { + &message("Rerun required\n"); + &latexprint($main_name); + } + } +} + +if ($html) +{ + # Make the index file + + my $indexfile = &fname('html-src', "index"); + + my $preamble = ''; + + open OUTFD, ">$indexfile.tex" + or die "Can't open '$indexfile.tex': $!\n"; + + open INFD, "$main_name.tex" + or die "Can't open '$main_name.tex': $!\n"; + + print OUTFD "\\batchmode", $eol if ($batchtex or $quiet); + + print OUTFD + "\\makeatletter",$eol, + "\\def\\input\@path{{../}}$eol", + "\\makeatother",$eol, + "\\def\\jmlrgrayscale{0}",$eol; + + while (<INFD>) + { + unless + (s/^([^%]*)\\documentclass\[([^\]]*)\]/$1\\documentclass[$2,html]/) + { + s/^([^%]*)\\documentclass/$&\[html\]/; + } + + s/^([^%]*)\\begin{document}/$&\\HCode{<div id="content">}/; + + if (/^([^%]*)\\maketitle/) + { + $preamble .= join('', $1, "\\maketitle", $eol); + last; + } + + $preamble .= $_; + } + + close INFD; + + # Find the book logo + if ($preamble=~/\\logo\s*{(%\s*\n)?\\includegraphics\s*(\[[^\]]*\])?{([^}]*)}}/m) + { + my $texpath = $3; + my $orgtexpath = $texpath; + $texpath=~s/\//\\/g if ($dd eq "\\"); + + my $ext = ''; + + if (-e $texpath) + { + copy($texpath, 'html') + or die "Can't copy '$texpath' to 'html': $!\n"; + copy($texpath, 'html-src') + or die "Can't copy '$texpath' to 'html-src': $!\n"; + } + elsif (-e "$texpath.png") + { + copy("$texpath.png", 'html') + or die "Can't copy '$texpath.png' to 'html': $!\n"; + copy("$texpath.png", 'html-src') + or die "Can't copy '$texpath.png' to 'html-src': $!\n"; + + $ext = '.png'; + } + elsif (-e "$texpath.jpg") + { + copy("$texpath.jpg", 'html') + or die "Can't copy '$texpath.jpg' to 'html': $!\n"; + copy("$texpath.jpg", 'html-src') + or die "Can't copy '$texpath.jpg' to 'html-src': $!\n"; + + $ext = '.jpg'; + } + elsif (-e "$texpath.gif") + { + copy("$texpath.gif", 'html') + or die "Can't copy '$texpath.gif' to 'html': $!\n"; + copy("$texpath.gif", 'html-src') + or die "Can't copy '$texpath.gif' to 'html-src': $!\n"; + + $ext = '.gif'; + } + + my $img = basename($texpath); + + if ($logourl) + { + $preamble=~s/\\includegraphics(\[[^\]]*\])?{$orgtexpath}/\\href{$logourl}{\\includegraphics${1}{$img$ext}}/mg; + } + else + { + $preamble=~s/\\includegraphics(\[[^\]]*\])?{$orgtexpath}/\\includegraphics${1}{$img$ext}/mg; + } + } + + print OUTFD $preamble, $eol; + + # Parse TOC + + my $toc = "$main_name.toc"; + + open TOC, $toc or die "Can't open '$toc': $!\n"; + + my $idx = 0; + + while (<TOC>) + { + if (/^\\tocpart\s*{(.*)}\s*$/) + { + print OUTFD "\\begin{center}\\bfseries $1\\end{center}$eol"; + } + elsif (/\\contentsline\s*{papertitle}{(.*)}{[^{}]*}{[^{}]*}\s*$/) + { + print OUTFD "\\par\\noindent $1$eol"; + } + elsif (/\\contentsline\s*{chapterauthor}{(.*)}{[^{}]*}{[^{}]*}\s*$/) + { + my $details = $1; + $details=~s/([^;]*);/\\textbf{\\emph{$1};}/; + + my $label = $imports[$idx]->{'label'}; + my $pages = $pagerefs{$label}->{'start'}.'--' + . $pagerefs{$label}->{'end'}; + + $details=~s/\\articlepagesref\s*{$label}/$pages/; + + print OUTFD "\\par $details$eol"; + + my $name = $imports[$idx]->{'name'}; + + print OUTFD "\\par [\\href{$name.html}{abs}] [\\href{$name.pdf}{pdf}]$eol$eol"; + + $idx++; + } + } + + close TOC; + + print OUTFD "\\HCode{</div>}\\end{document}$eol"; + + close OUTFD; + + # Go into html-src directory and run htlatex + + chdir('html-src') + or die "Can't change directory to 'html': $!\n"; + + my $code = system('htlatex index'); + + if ($code) + { + die "htlatex failed with error code $code\n"; + } + + chdir('..') + or die "Can't change directory to '..': $!\n"; + + # Copy to html directory + + my $inname = &fname('html-src', 'index.html'); + my $outname = &fname('html', 'index.html'); + + open INFD, $inname or die "Can't open '$inname': $!\n"; + + open OUTFD, ">$outname" or die "Can't open '$outname': $!\n"; + + while (<INFD>) + { + s/href="index.css"/href="jmlr.css"/; + + print OUTFD; + } + + close OUTFD; + + close INFD; +} + +# Return to original directory +chdir $org_dir; + +# Subroutines + +sub message{ print @_ unless ($quiet) } + +sub latex{ + my $file = shift; + + my $code; + + $code = system(join(' ', $latexapp, $latexopts, "\"$file\"")); + + if ($code) + { + die "**LaTeX run failed with exit code $code.**\n", + "Check '$file.log' for details\n"; + } +} + +sub latexonline{ + my $file = shift; + + my $code; + + $code = system(join(' ', $latexapp, $latexopts, + "\"\\def\\jmlrgrayscale{0}\\input{$file}\"")); + + if ($code) + { + die "**LaTeX run failed with exit code $code.**\n", + "Check '$file.log' for details\n"; + } + + &message("copying '$file.$format' to '$file-online.$format'\n"); + + copy("$file.$format", "$file-online.$format") + or die "Can't copy '$file.$format' to '$file-online.$format': $!\n"; +} + +sub latexprint{ + my $file = shift; + + my $code; + + $code = system(join(' ', $latexapp, $latexopts, + "\"\\def\\jmlrgrayscale{1}\\input{$file}\"")); + + if ($code) + { + die "**LaTeX run failed with exit code $code.**\n", + "Check '$file.log' for details\n"; + } + + &message("copying '$file.$format' to '$file-print.$format'\n"); + + copy("$file.$format", "$file-print.$format") + or die "Can't copy '$file.$format' to '$file-print.$format': $!\n"; +} + +sub bibtex{ + my $file = shift; + + my $code; + + $code = system(join(' ', $bibtexapp, $bibtexopts, "\"$file\"")); + + if ($code) + { + die "**BibTeX run failed with exit code $code.**\n", + "Check '$file.blg' for details\n"; + } +} + +sub needs_rerun{ + my $file = shift; + my $rerun = 0; + + # Scan log file for rerun message + + my $log = "$file.log"; + + # If there's no log file a run is needed + open LOGFD, $log or return 1; + + while (<LOGFD>) + { + if (/Rerun to get cross-references right\./) + { + $rerun = 1; + last; + } + } + + close LOGFD; + + return $rerun; +} + +sub fname{ join($dd, @_) } + +1; diff --git a/Master/texmf-dist/scripts/jmlr/makejmlrbook.bat b/Master/texmf-dist/scripts/jmlr/makejmlrbook.bat new file mode 100755 index 00000000000..e9a9fe3bce6 --- /dev/null +++ b/Master/texmf-dist/scripts/jmlr/makejmlrbook.bat @@ -0,0 +1,3 @@ +@rem = '-*- Perl -*-
+@echo off
+perl -S "%~dp0makejmlrbook" %*
diff --git a/Master/texmf-dist/source/latex/jmlr/jmlr.dtx b/Master/texmf-dist/source/latex/jmlr/jmlr.dtx new file mode 100644 index 00000000000..bf62a97e559 --- /dev/null +++ b/Master/texmf-dist/source/latex/jmlr/jmlr.dtx @@ -0,0 +1,4698 @@ +%\iffalse +% jmlr.dtx generated using makedtx version 0.94b (c) Nicola Talbot +% Command line args: +% -src "jmlr.cls\Z=>jmlr.cls" +% -src "jmlrbook.cls\Z=>jmlrbook.cls" +% -doc "jmlr-manual.tex" +% -author "Nicola Talbot" +% -codetitle "jmlr.cls Code" +% jmlr +% Created on 2010/6/17 20:52 +%\fi +%\iffalse +%<*package> +%% \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 \~} +%</package> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2010 Nicola Talbot, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{nlctdoc} + +\usepackage{amsmath} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{ifthen} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={jmlr: LaTeX2e Classes for the Journal of Machine Learning Research}, + pdfkeywords={LaTeX,jmlr}]{hyperref} + +\CheckSum{3333} +\OnlyDescription + +\begin{document} +\DocInput{jmlr.dtx} +\end{document} +%</driver> +%\fi +%\MakeShortVerb{"} +%\DeleteShortVerb{\|} +% +% \title{\LaTeXe\ Classes for the Journal of Machine +%Learning Research} +% \author{Nicola L. C. Talbot\\[10pt] +%\url{http://theoval.cmp.uea.ac.uk/~nlct/}} +% +% \date{2010-06-17 (version 1.06)} +% \maketitle +%\tableofcontents +% +%\section{Introduction} +% +%The \clsfmt{jmlr} class is for articles that need to be formatted +%according to the Journal of Machine Learning Research style. This +%class is based on the \sty{jmlr2e} and \sty{jmlrwcp2e} packages +%but has been adapted to enable it to work better with the +%\cls{combine} class to collate the articles into a book. +%\sectionref{sec:jmlr} describes how to use the \clsfmt{jmlr} class. +% +%The \clsfmt{jmlrbook} class is for combining JMLR articles into a book. +%This class uses \cls{combine} and \sty{hyperref}, which are +%troublesome enough on their own but together are quite fragile. The +%\clsfmt{jmlrbook} class redefines some internals to get \clsfmt{combine} +%and \clsfmt{hyperref} to work together but some packages (e.g.\ +%\sty{subfig} and \sty{pdfpages}) are likely to mess everything up +%and cause errors. This is why the guidelines to authors are fairly +%stringent and why \clsfmt{jmlr} will give an error message if certain +%packages are loaded.\footnote{Currently \clsfmt{jmlr} will check if +%\sty{subfig}, \sty{pdfpages}, \sty{geometry}, \sty{psfig}, +%\sty{epsfig} and \sty{theorem} are loaded and will throw an error. +%If other packages are found to be a problem, they will be added to +%the list.} The \clsfmt{jmlrbook} class works best with PDF\LaTeX\ so +%authors should ensure that their articles can compile with +%PDF\LaTeX. \sectionref{sec:jmlrbook} describes how to use the +%\clsfmt{jmlrbook} class. +% +%The \app{makejmlrbook} Perl script can be used to make a book that +%uses the \clsfmt{jmlrbook} class. In addition to creating the print +%and online versions of the book, it will compile the individual +%articles, running Bib\TeX\ where necessary, and create a set of +%HTML files containing a list of all the articles imported into the +%book along with links to the abstracts and PDFs of the individual +%articles. \sectionref{sec:makejmlrbook} describes how +%to use the \app{makejmlrbook} application. +% +%\section{Required Packages} +% +%The \clsfmt{jmlr} class is based on the \cls{scrartcl} class and loads +%the following packages: \sty{amsmath}, \sty{amssymb}, +%\sty{natbib}, \sty{url}, \sty{graphicx} and \sty{algorithm2e}. +%Note that unlike the \sty{jmlr2e} and \sty{jmlrwcp2e} packages, +%this class file does not load the obsolete \sty{epsfig} package. +% +%The \clsfmt{jmlrbook} class additionally loads the \cls{combine} class +%and the following packages: \sty{hyperref}, \sty{xkeyval}, +%\sty{combnat} and \sty{setspace}. +% +%The \app{makejmlrbook} script requires Perl, \TeX\ and \TeX4ht. +% +%\section{Guidelines for Article Authors} +%\label{sec:jmlr} +% +%Article authors should use the \clsfmt{jmlr} class. This class +%comes with example files \texttt{jmlr-sample.tex} and +%\texttt{jmlrwcp-sample.tex}, which can be used as templates. +% +%The following class options are available: +%\begin{description} +%\item[\clsopt{nowcp}]The article is for the Journal of Machine +%Learning Research (default). +%\item[\clsopt{wcp}] The article is for JMLR Workshop and Conference +%Proceedings. +%\item[\clsopt{color}] Color version (see \sectionref{sec:color}). +% +%\item[\clsopt{gray}] Grayscale version (see \sectionref{sec:color}). +% +%\item[\clsopt{tablecaptiontop}] in a \env{table} environment, +%\ics{floatconts} puts the caption at the top. +% +%\item[\clsopt{tablecaptionbottom}] in a \env{table} environment, +%\ics{floatconts} puts the caption at the bottom. +%\end{description} +% +%\subsection{Title Information} +% +%The \clsfmt{jmlr} class uses different syntax from \sty{jmlr2e} and +%\sty{jmlrwcp2e} to specify the title information. In particular, it +%doesn't define \cs{jmlrheading} and \cs{ShortHeading}. Instead, the +%following commands should be used: +% +%\begin{definition}[\DescribeMacro{\jmlrvolume}] +%\cs{jmlrvolume}\marg{number} +%\end{definition} +%This specifies the volume number. For example: +%\begin{verbatim} +%\jmlrvolume{2} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\jmlryear}] +%\cs{jmlryear}\marg{year} +%\end{definition} +%This specifies the year. For example: +%\begin{verbatim} +%\jmlryear{2010} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\jmlrsubmitted}] +%\cs{jmlrsubmitted}\marg{date} +%\end{definition} +%This specifies the submission date. +% +%\begin{definition}[\DescribeMacro{\jmlrpublished}] +%\cs{jmlrpublished}\marg{date} +%\end{definition} +%This specifies the publication date. +% +%\begin{definition}[\DescribeMacro{\jmlrworkshop}] +%\cs{jmlrworkshop}\marg{title} +%\end{definition} +%This specifies the workshop title (for use with the \clsopt{wcp} +%class option). +% +%The title information is specified using the commands described +%below. These commands should typically go in the preamble. As +%with most class files, The title itself is produced using +%\begin{definition}[\DescribeMacro{\maketitle}] +%\cs{maketitle} +%\end{definition} +%This command should go after \verb|\begin{document}|. For example: +%\begin{verbatim} +%\begin{document} +%\maketitle +%\end{verbatim} +%Before \cs{maketitle}, you must specify the title information +%using the following commands: +% +%\begin{definition}[\DescribeMacro{\title}] +%\cs{title}\oarg{short title}\marg{title} +%\end{definition} +%This specifies the article's title. A short title for the page +%header can be supplied via the optional argument \meta{short title}. +% +%\begin{definition}[\DescribeMacro{\editor}] +%\cs{editor}\marg{name} +%\end{definition} +%This specifies the editor's name. If there is more than one +%editor, use: +%\begin{definition}[\DescribeMacro{\editors}] +%\cs{editors}\marg{names} +%\end{definition} +% +%\begin{definition}[\DescribeMacro{\author}] +%\cs{author}\marg{author specs} +%\end{definition} +%This specifies the author. The specifications \meta{author specs} +%are a bit different to \sty{jmlr2e} and \sty{jmlrwcp2e}. Use +%\begin{definition}[\DescribeMacro{\Name}] +%\cs{Name}\marg{author's name} +%\end{definition} +%to specify the author's name. Note that if the surname contains a +%space it must be grouped (enclosed in braces \{\}). Similarly if +%the initial letter of each forename is a diacritic it must be +%grouped. (See below for examples.) +%\begin{definition}[\DescribeMacro{\Email}] +%\cs{Email}\marg{author's email} +%\end{definition} +%This specifies the author's email address. It should only be used +%within the argument to \cs{author}. +% +%\begin{definition}[\DescribeMacro{\and}] +%\cs{and} +%\end{definition} +%This should be used to separate two authors with the same address. +% +%\begin{definition}[\DescribeMacro{\AND}] +%\cs{AND} +%\end{definition} +%This should be used to separate authors with different addresses. +% +%\begin{definition}[\DescribeMacro{\\}] +%\verb|\\| +%\end{definition} +%This should be used before an author's address or between authors +%with the same address where there are more that two authors. +% +%\begin{definition}[\DescribeMacro{\addr}] +%\cs{addr} +%\end{definition} +%This should be used at the start of the address. +% +%\begin{description} +%\item[Example 1] Two authors with the same address: +%\begin{verbatim} +%\author{\Name{Jane Doe} \Email{abc@sample.com}\and +% \Name{John {Basey Fisher}} \Email{xyz@sample.com}\\ +% \addr Address} +%\end{verbatim} +%In this example, the second author has a space in his surname +%so the surname needs to be grouped. +% +%\item[Example 2] Three authors with the same address: +%\begin{verbatim} +%\author{\Name{Fred Arnold {de la Cour}} \Email{an1@sample.com}\\ +% \Name{Jack Jones} \Email{an3@sample.com}\\ +% \Name{{\'E}louise {\'E}abhla Finchley} \Email{an2@sample.com}\\ +% \addr Address} +%\end{verbatim} +%In this example, the third author has an accent on her +%forename initials so grouping is required. +% +%\item[Example 3] Authors with a different address: +%\begin{verbatim} +%\author{\Name{John Smith} \Email{abc@sample.com}\\ +% \addr Address 1 +% \AND +% \Name{May Brown} \Email{xyz@sample.com}\\ +% \addr Address 2 +% } +%\end{verbatim} +%\end{description} +% +%\subsection{Font Changing Commands} +% +%Use the \LaTeXe\ font changing commands, such as \cs{bfseries} or +%\cs{textbf}\marg{text}, rather than the obsolete \LaTeX2.09 +%commands, such as \cs{bf}. +% +%\begin{definition}[\DescribeMacro{\url}] +%\cs{url}\marg{address} +%\end{definition} +%This will typeset \meta{address} in a typewriter font. Special +%characters, such as \verb|~|, are correctly displayed. Example: +%\begin{verbatim} +%\url{http://theoval.cmp.uea.ac.uk/~nlct/} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\mailto}] +%\cs{mailto}\marg{email address} +%\end{definition} +%This will typeset the given email address in a typewriter font. +%Note that this is not the same as \cs{Email}, which should only be +%used in the argument of \cs{author}. +% +%\subsection{Structure} +% +%\begin{definition}[\DescribeEnv{abstract}] +%\cs{begin}\{abstract\}\\ +%\meta{text}\\ +%\cs{end}\{abstract\} +%\end{definition} +%The abstract text should be displayed using the \envfmt{abstract} +%environment. +% +%\begin{definition}[\DescribeEnv{keywords}] +%\cs{begin}\{keywords\}\meta{keyword list}\cs{end}\{keywords\} +%\end{definition} +%The keywords should be displayed using the \envfmt{keywords} +%environment. +% +%\begin{definition}[\DescribeMacro{\acks}] +%\cs{acks}\marg{text} +%\end{definition} +%This displays the acknowledgements. +% +%\begin{definition}[\DescribeMacro{\section}] +%\cs{section}\marg{title} +%\end{definition} +%Section titles are created using \cs{section}. The heading is +%automatically numbered and can be cross-referenced using +%\cs{label} and \cs{ref}. Unnumbered sections can be produced +%using: +%\begin{definition}[\DescribeMacro{\section*}] +%\cs{section*}\marg{title} +%\end{definition} +% +%\begin{definition}[\DescribeMacro{\subsection}] +%\cs{subsection}\marg{title} +%\end{definition} +%Sub-section titles are created using \cs{subsection}. Unnumbered +%sub-sections can be produced using: +%\begin{definition}[\DescribeMacro{\subsection*}] +%\cs{subsection*}\marg{title} +%\end{definition} +% +%\begin{definition}[\DescribeMacro{\subsubsection}] +%\cs{subsubsection}\marg{title} +%\end{definition} +%Sub-sub-section titles are created using \cs{subsubsection}. +%Unnumbered sub-sub-sections can be produced using: +%\begin{definition}[\DescribeMacro{\subsubsection*}] +%\cs{subsubsection*}\marg{title} +%\end{definition} +% +%Further sectioning levels can be obtained using \cs{paragraph} +%and \cs{subparagraph}, but these are unnumbered with running heads. +% +%\begin{definition}[\DescribeMacro{\appendix}] +%\cs{appendix} +%\end{definition} +%Use \cs{appendix} to switch to the appendices. This changes +%\cs{section} to produce an appendix. Example: +%\begin{verbatim} +%\appendix +%\section{Proof of Theorems} +%\end{verbatim} +% +%\subsection{Citations and Bibliography} +% +%The \clsfmt{jmlr} class automatically loads \sty{natbib} and sets +%the bibliography style to \texttt{plainnat}. References should +%be stored in a \texttt{.bib} file. +% +%\begin{definition}[\DescribeMacro{\bibliography}] +%\cs{bibliography}\marg{bib file} +%\end{definition} +%This displays the bibliography. +% +%\begin{definition}[\DescribeMacro{\citep}] +%\cs{citep}\oarg{pre note}\oarg{post note}\marg{label} +%\end{definition} +%Use \cs{citep} for a parenthetical citation. +% +%\begin{definition}[\DescribeMacro{\citet}] +%\cs{citet}\oarg{note}\marg{label} +%\end{definition} +%Use \cs{citet} for a textual citation. +% +%See the \ctandoc{natbib} for further details. +% +%\subsection{Figures and Tables} +% +%Floats, such as figures, tables and algorithms, are moving objects +%and are supposed to float to the nearest convenient location. +%Please don't force them to go in a particular place. In general +%it's best to use the \texttt{htbp} specifier and don't put +%the float in the middle of a paragraph (that is, make sure there's +%a paragraph break above and below the float). Floats are supposed +%to have a little extra space above and below them to make them +%stand out from the rest of the text. This extra space is put in +%automatically and shouldn't need modifying. +% +%To ensure consistency, please \emph{don't} try changing the +%format of the caption by doing something like: +%\begin{verbatim} +%\caption{\textit{A Sample Caption.}} +%\end{verbatim} +%or +%\begin{verbatim} +%\caption{\em A Sample Caption.} +%\end{verbatim} +%You can, of course, change the font for individual words or +%phrases. For example: +%\begin{verbatim} +%\caption{A Sample Caption With Some \emph{Emphasized Words}.} +%\end{verbatim} +% +%The \clsfmt{jmlr} class provides the following command for displaying +%the contents of a figure or table: +%\begin{definition}[\DescribeMacro{\floatconts}] +%\cs{floatconts}\marg{label}\marg{caption command}\marg{contents} +%\end{definition} +%This ensures that the caption is correctly positioned and that +%the contents are centered. For example: +%\begin{verbatim} +%\begin{table}[htbp] +%\floatconts +% {tab:example}% label +% {\caption{An Example Table}}% caption command +% {% +% \begin{tabular}{ll} +% \bfseries Dataset & \bfseries Result\\ +% Data1 & 0.123456 +% \end{tabular} +% } +%\end{table} +%\end{verbatim} +% +%The \clsfmt{jmlr} class automatically loads \sty{graphicx} which +%defines: +%\begin{definition}[\DescribeMacro{\includegraphics}] +%\cs{includegraphics}\oarg{options}\marg{file name} +%\end{definition} +%where \meta{options} is a comma-separated list of options. +% +%For example, suppose you have an image called +%\texttt{mypic.png} in a subdirectory called \texttt{images}: +%\begin{verbatim} +%\begin{figure}[htbp] +%\floatconts +% {fig:example}% label +% {\caption{An Example Figure}}% caption command +% {\includegraphics[width=0.5\textwidth]{images/mypic}} +%\end{figure} +%\end{verbatim} +% +%Note that you shouldn't specify the file extension when including +%the image. It's helpful if you can also provide a grayscale +%version of color images. This should be labeled as the color +%image but with \texttt{-gray} immediately before the extension. +%(The extension need not be the same as that of the color image.) +%For example, if you have an image called \texttt{mypic.pdf}, the +%grayscale can be called \texttt{mypic-gray.pdf}, +%\texttt{mypic-gray.png} or \texttt{mypic-gray.jpg}. +%See \sectionref{sec:color} for further details. +% +%\begin{definition}[\DescribeMacro{\includeteximage}] +%\cs{includeteximage}\oarg{options}\marg{file name} +%\end{definition} +%If your image file is made up of \LaTeX\ code (e.g.\ \sty{tikz} +%commands) the file can be included using \cs{includeteximage}. +%The optional argument is a key=value comma-separated list +%where the keys are a subset of those provided by +%\cs{includegraphics}. The main keys are: \texttt{width}, +%\texttt{height}, \texttt{scale} and \texttt{angle}. +% +%\subsubsection{Sub-Figures and Sub-Tables} +% +%The \sty{subfig} package causes a problem for \clsfmt{jmlrbook} so +%the \clsfmt{jmlr} class will give an error if it is used. Therefore +%the \clsfmt{jmlr} class provides its own commands for including +%sub-figures and sub-tables. +% +%\begin{definition}[\DescribeMacro{\subfigure}] +%\cs{subfigure}\oarg{title}\oarg{valign}\marg{contents} +%\end{definition} +%This makes a sub-figure where \meta{contents} denotes the contents +%of the sub-figure. This should also include the \cs{label}. +%The first optional argument \meta{title} indicates a caption for +%the sub-figure. By default, the sub-figures are aligned at the +%base. This can be changed with the second optional argument +%\meta{valign}, which may be one of: \texttt{t} (top), \texttt{c} +%(centred) or \texttt{b} (base). +% +%For example, suppose there are two images files, \texttt{mypic1.png} +%and \texttt{mypic2.png}, in the subdirectory \texttt{images}. +%Then they can be included as sub-figures as follows: +%\begin{verbatim} +%\begin{figure}[htbp] +%\floatconts +% {fig:example2}% label for whole figure +% {\caption{An Example Figure.}}% caption for whole figure +% {% +% \subfigure{% +% \label{fig:pic1}% label for this sub-figure +% \includegraphics{images/mypic1} +% }\qquad % space out the images a bit +% \subfigure{% +% \label{fig:pic2}% label for this sub-figure +% \includegraphics{images/mypic2} +% } +% } +%\end{figure} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\subtable}] +%\cs{subtable}\oarg{title}\oarg{valign}\marg{contents} +%\end{definition} +%This is an analogous command for sub-tables. The default value +%for \meta{valign} is \texttt{t}. +% +%\subsection{Algorithms} +% +%\begin{definition}[\DescribeEnv{algorithm}] +%\cs{begin}\{algorithm\}\\ +%\meta{contents}\\ +%\cs{end}\{algorithm\} +%\end{definition} +%Enumerated textual algorithms can be displayed using the +%\envfmt{algorithm} environment. Within this environment, use +%\ics{caption} to set the caption (and \ics{label} to cross-reference +%it). Within the body of the environment you can use the +%\env{enumerate} environment. +% +%\begin{definition}[\DescribeEnv{enumerate*}] +%\cs{begin}\{enumerate*\}\\ +%\cs{item} \meta{text}\\ +%\ldots\\ +%\cs{end}\{enumerate*\} +%\end{definition} +%If you want to have nested \env{enumerate} environments but you want +%to keep the same numbering throughout the algorithm, you can use the +%\envfmt{enumerate*} environment, provided by the \clsfmt{jmlr} +%class. For example: +%\begin{verbatim} +%\begin{enumerate*} +% \item Set the label of vertex $s$ to 0 +% \item Set $i=0$ +% \begin{enumerate*} +% \item \label{step:locate}Locate all unlabelled vertices +% adjacent to a vertex labelled $i$ and label them $i+1$ +% \item If vertex $t$ has been labelled, +% \begin{enumerate*} +% \item[] the shortest path can be found by backtracking, and +% the length is given by the label of $t$. +% \end{enumerate*} +% otherwise +% \begin{enumerate*} +% \item[] increment $i$ and return to step~\ref{step:locate} +% \end{enumerate*} +% \end{enumerate*} +%\end{enumerate*} +%\end{algorithm} +%\end{verbatim} +% +% +%\begin{definition}[\DescribeEnv{algorithm2e}] +%\cs{begin}\{algorithm2e\}\\ +%\meta{contents}\\ +%\cs{end}\{algorithm2e\} +%\end{definition} +%Pseudo code can be displayed using the \envfmt{algorithm2e} environment, +%provided by the \sty{algorithm2e} package, which is automatically +%loaded. For example: +%\begin{verbatim} +%\begin{algorithm2e} +%\caption{Computing Net Activation} +%\label{alg:net} +%\dontprintsemicolon +%\linesnumbered +%\KwIn{$x_1, \ldots, x_n, w_1, \ldots, w_n$} +%\KwOut{$y$, the net activation} +%$y\leftarrow 0$\; +%\For{$i\leftarrow 1$ \KwTo $n$}{ +% $y \leftarrow y + w_i*x_i$\; +%} +%\end{algorithm2e} +%\end{verbatim} +% +%See the \ctandoc{algorithm2e} for more details. +% +%\subsection{Description Lists} +% +%\begin{definition}[\DescribeEnv{altdescription}] +%\cs{begin}\{altdescription\}\marg{widest label}\\ +%\cs{item}\oarg{label} \meta{item text}\\ +%\cs{end}\{altdescription\} +%\end{definition} +%In addition to the standard \env{description} environment, the +%\clsfmt{jmlr} class also provides the \envfmt{altdescription} environment. +%This has an argument that should be the widest label used in the +%list. For example: +%\begin{verbatim} +%\begin{altdescription}{differentiate} +%\item[add] A method that adds two variables. +%\item[differentiate] A method that differentiates a function. +%\end{altdescription} +%\end{verbatim} +% +%\subsection{Theorems, Lemmas etc} +% +%The \clsfmt{jmlr} class provides the following theorem-like +%environments: \env{theorem}, \env{example}, \env{lemma}, +%\env{proposition}, \env{remark}, \env{corollary}, \env{definition}, +%\env{conjecture} and \env{axiom}. Within the body of those +%environments, you can use the \env{proof} environment to display the +%proof if need be. The theorem-like environments all take an +%optional argument, which gives the environment a title. For example: +% +%\begin{verbatim} +%\begin{theorem}[An Example Theorem] +%\label{thm:example} +%This is the theorem. +%\begin{proof} +%This is the proof. +%\end{proof} +%\end{theorem} +%\end{verbatim} +% +%\subsection{Cross-Referencing} +%\label{sec:crossref} +% +%Always use \ics{label} when cross-referencing, rather than writing +%the number explicitly. The \clsfmt{jmlr} class provides some +%convenience commands to assist referencing. These commands, +%described below, can all take a comma-separated list of labels. +% +%\begin{definition}[\DescribeMacro{\sectionref}] +%\cs{sectionref}\marg{label list} +%\end{definition} +%Used to refer to a section or sections. For example, if you defined +%a section as follows: +%\begin{verbatim} +%\section{Results}\label{sec:results} +%\end{verbatim} +%you can refer to it as follows: +%\begin{verbatim} +%The results are detailed in \sectionref{sec:results}. +%\end{verbatim} +%This command may also be used for sub-sections and sub-sub-sections. +% +%\begin{definition}[\DescribeMacro{\appendixref}] +%\cs{appendixref}\marg{label list} +%\end{definition} +%Used to refer to an appendix or multiple appendices. +% +%\begin{definition}[\DescribeMacro{\equationref}] +%\cs{equationref}\marg{label list} +%\end{definition} +%Used to refer to an equation or multiple equations. +% +%\begin{definition}[\DescribeMacro{\tableref}] +%\cs{tableref}\marg{label list} +%\end{definition} +%Used to refer to a table or multiple tables. This can also be +%used for sub-tables where the main table number is also required. +% +%\begin{definition}[\DescribeMacro{\subtabref}] +%\cs{subtabref}\marg{label list} +%\end{definition} +%Used to refer to sub-tables without the main table number, e.g. +%(\emph{a}) or (\emph{b}). +% +%\begin{definition}[\DescribeMacro{\figureref}] +%\cs{figureref}\marg{label list} +%\end{definition} +%Used to refer to a figure or multiple figures. This can also +%be used for sub-figures where the main figure number is also +%required, e.g.\ 2(\emph{a}) or 4(\emph{b}). +% +%\begin{definition}[\DescribeMacro{\subfigref}] +%\cs{subfigref}\marg{label list} +%\end{definition} +%Used to refer to sub-figures without the main figure number, e.g. +%(\emph{a}) or (\emph{b}). +% +%\begin{definition}[\DescribeMacro{\algorithmref}] +%\cs{algorithmref}\marg{label list} +%\end{definition} +%Used to refer to an algorithm or multiple algorithms. +% +%\begin{definition}[\DescribeMacro{\theoremref}] +%\cs{theoremref}\marg{label list} +%\end{definition} +%Used to refer to a theorem or multiple theorems. +% +%\begin{definition}[\DescribeMacro{\lemmaref}] +%\cs{lemmaref}\marg{label list} +%\end{definition} +%Used to refer to a lemma or multiple lemmas. +% +%\begin{definition}[\DescribeMacro{\remarkref}] +%\cs{remarkref}\marg{label list} +%\end{definition} +%Used to refer to a remark or multiple remarks. +% +%\begin{definition}[\DescribeMacro{\corollaryref}] +%\cs{corollaryref}\marg{label list} +%\end{definition} +%Used to refer to a corollary or multiple corollaries. +% +%\begin{definition}[\DescribeMacro{\definitionref}] +%\cs{definitionref}\marg{label list} +%\end{definition} +%Used to refer to a definition or multiple definitions. +% +%\begin{definition}[\DescribeMacro{\conjectureref}] +%\cs{conjectureref}\marg{label list} +%\end{definition} +%Used to refer to a conjecture or multiple conjectures. +% +%\begin{definition}[\DescribeMacro{\axiomref}] +%\cs{axiomref}\marg{label list} +%\end{definition} +%Used to refer to an axiom or multiple axioms. +% +%\begin{definition}[\DescribeMacro{\exampleref}] +%\cs{exampleref}\marg{label list} +%\end{definition} +%Used to refer to an example or multiple examples. +% +%\subsection{Mathematics} +% +%The \clsfmt{jmlr} class loads the \sty{amsmath} package so you can use +%any of the commands and environments defined in that package. A +%brief summary of some of the more common commands and environments +%is provided here. See the \ctandoc{amsmath} for further details. +% +%\begin{definition}[\DescribeMacro{\set}] +%\cs{set}\marg{text} +%\end{definition} +%In addition to the commands provided by \sty{amsmath}, the +%\clsfmt{jmlr} class also provides the \cs{set} command which can +%be used to typeset a set. For example: +%\begin{verbatim} +%The universal set is denoted $\set{U}$ +%\end{verbatim} +% +%Unnumbered single-line equations should be displayed using +%\cs{[} and \cs{]}. For example: +%\begin{verbatim} +%\[E = m c^2\] +%\end{verbatim} +%Numbered single-line equations should be displayed using the +%\env{equation} environment. For example: +%\begin{verbatim} +%\begin{equation}\label{eq:trigrule} +%\cos^2\theta + \sin^2\theta \equiv 1 +%\end{equation} +%\end{verbatim} +%Multi-lined numbered equations should be displayed using the +%\env{align} environment. For example: +%\begin{verbatim} +%\begin{align} +%f(x) &= x^2 + x\label{eq:f}\\ +%f'(x) &= 2x + 1\label{eq:df} +%\end{align} +%\end{verbatim} +%Unnumbered multi-lined equations should be displayed using the +%\env{align*} environment. For example: +%\begin{verbatim} +%\begin{align*} +%f(x) &= (x+1)(x-1)\\ +%&= x^2 - 1 +%\end{align*} +%\end{verbatim} +%If you want to mix numbered with unnumbered lines use the +%\env{align} environment and suppress unwanted line numbers with +%\cs{nonumber}. For example: +%\begin{verbatim} +%\begin{align} +%y &= x^2 + 3x - 2x + 1\nonumber\\ +%&= x^2 + x + 1\label{eq:y} +%\end{align} +%\end{verbatim} +%An equation that is too long to fit on a single line can be +%displayed using the \env{split} environment. +% +%Text can be embedded in an equation using \ics{text}\marg{text} or +%you can use \ics{intertext}\marg{text} to interupt a multi-line +%environment such as \env{align}. +% +%Predefined operator names are listed in \tableref{tab:operatornames}. +%For additional operators, either use +%\begin{definition}[\DescribeMacro{\operatorname}] +%\cs{operatorname}\marg{name} +%\end{definition} +%for example +%\begin{verbatim} +%If $X$ and $Y$ are independent, +%$\operatorname{var}(X+Y) = +%\operatorname{var}(X) + \operatorname{var}(Y)$ +%\end{verbatim} +%or declare it with +%\begin{definition}[\DescribeMacro{\DeclareMathOperator}] +%\cs{DeclareMathOperator}\marg{command}\marg{name} +%\end{definition} +%for example +%\begin{verbatim} +%\DeclareMathOperator{\var}{var} +%\end{verbatim} +%and then use this new command: +%\begin{verbatim} +%If $X$ and $Y$ are independent, +%$\var(X+Y) = \var(X)+\var(Y)$ +%\end{verbatim} +% +%If you want limits that go above and +%below the operator (like \ics{sum}) use the starred versions +%(\ics{operatorname*} or \ics{DeclareMathOperator*}). +% +%\begin{table}[htbp] +%\caption{Predefined Operator Names (taken from +% \sty{amsmath} documentation)} +%\label{tab:operatornames}% +%\vskip\baselineskip +%\centering +%\begin{tabular}{rlrlrlrl} +%\cs{arccos} & $\arccos$ & \cs{deg} & $\deg$ & \cs{lg} & $\lg$ & \cs{projlim} & $\projlim$ \\ +%\cs{arcsin} & $\arcsin$ & \cs{det} & $\det$ & \cs{lim} & $\lim$ & \cs{sec} & $\sec$ \\ +%\cs{arctan} & $\arctan$ & \cs{dim} & $\dim$ & \cs{liminf} & $\liminf$ & \cs{sin} & $\sin$ \\ +%\cs{arg} & $\arg$ & \cs{exp} & $\exp$ & \cs{limsup} & $\limsup$ & \cs{sinh} & $\sinh$ \\ +%\cs{cos} & $\cos$ & \cs{gcd} & $\gcd$ & \cs{ln} & $\ln$ & \cs{sup} & $\sup$ \\ +%\cs{cosh} & $\cosh$ & \cs{hom} & $\hom$ & \cs{log} & $\log$ & \cs{tan} & $\tan$ \\ +%\cs{cot} & $\cot$ & \cs{inf} & $\inf$ & \cs{max} & $\max$ & \cs{tanh} & $\tanh$ \\ +%\cs{coth} & $\coth$ & \cs{injlim} & $\injlim$ & \cs{min} & $\min$ \\ +%\cs{csc} & $\csc$ & \cs{ker} & $\ker$ & \cs{Pr} & $\Pr$ +%\end{tabular}\par +%\begin{tabular}{rlrl} +%\cs{varlimsup} & $\varlimsup$ +%& \cs{varinjlim} & $\varinjlim$\\ +%\cs{varliminf} & $\varliminf$ +%& \cs{varprojlim} & $\varprojlim$ +%\end{tabular} +% +%\end{table} +% +%\subsection{Color vs Grayscale} +%\label{sec:color} +% +%It's helpful if authors supply grayscale versions of their +%articles in the event that the article is to be incorporated into +%a black and white printed book. With external PDF, PNG or JPG +%graphic files, you just need to supply a grayscale version of the +%file. For example, if the file is called \texttt{myimage.png}, +%then the gray version should be \texttt{myimage-gray.png} or +%\texttt{myimage-gray.pdf} or \texttt{myimage-gray.jpg}. You don't +%need to modify your code. The \clsfmt{jmlr} class checks for +%the existence of the grayscale version if it is print mode +%(provided you have used \ics{includegraphics} and haven't +%specified the file extension). +% +%\begin{definition}[\DescribeMacro{\ifprint}] +%\cs{ifprint}\marg{true part}\marg{false part} +%\end{definition} +%You can use \cs{ifprint} to determine which mode you are in. +%For example: +%\begin{verbatim} +%in \figureref{fig:nodes}, the +%\ifprint{dark gray}{purple} +%ellipse represents an input and the +%\ifprint{light gray}{yellow} ellipse +%represents an output. +%\end{verbatim} +%Another example: +%\begin{verbatim} +%{\ifprint{\bfseries}{\color{red}}important text!} +%\end{verbatim} +% +%You can use the class option \clsopt{gray} to see how the +%document will appear in gray scale mode. +% +%The \sty{xcolor} class is loaded with the \pkgoptfmt{x11names} +%option, so you can use any of the x11 predefined colors (listed +%in the \ctandoc{xcolor}). +% +%\subsection{Where To Go For Help} +% +%If you have a \LaTeX\ query, the first place to go to is the +%\urlfootref{http://www.tex.ac.uk/faq}{UK TUG FAQ}. +% +%If you are unfamiliar or just getting started with \LaTeX, there's +%a list of on-line introductions to \LaTeX\ at: +%\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex} +% +%There are also forums, mailing lists and newsgroups. For example, +%the \LaTeX\ Community (\url{http://www.latex-community.org/}), +%the \texttt{texhax} mailing list +%(\url{http://tug.org/mailman/listinfo/texhax}) and +%\texttt{comp.text.tex} (archives available at +%\url{http://groups.google.com/group/comp.text.tex/}). +% +%Documentation for packages or classes can be found using the +%\texttt{texdoc} application. For example: +%\begin{verbatim} +%texdoc natbib +%\end{verbatim} +%Alternatively, you can go to +%\texttt{http://www.ctan.org/pkg/}\meta{name} where +%\meta{name} is the name of the package. For example: +%\url{http://www.ctan.org/pkg/natbib} +% +%For a general guide to preparing papers (regardless of whether you +%are using \LaTeX\ or a word processor), see Kate L.~Turabian, \qt{A +%manual for writers of term papers, theses, and dissertations}, The +%University of Chicago Press, 1996. +% +%\section{Guidelines for Production Editors} +%\label{sec:jmlrbook} +% +%The \clsfmt{jmlrbook} class can be used to combine articles that +%use the \clsfmt{jmlr} document class into a book. The following sample +%files are provided: \texttt{paper1/paper1.tex}, +%\texttt{paper2/paper2.tex}, \texttt{paper3/paper3.tex}, +%\texttt{jmlr-sample.tex}, \texttt{jmlrwcp-sample.tex} and +%\texttt{jmlrbook-sample.tex}. All but the last named one are +%articles using the \clsfmt{jmlr} class. The last one +%(\texttt{jmlrbook-sample.tex}) uses the \clsfmt{jmlrbook} class file to +%combine the articles into a book. Note that no modifications are +%needed to the files using the \clsfmt{jmlr} class when they are +%imported into the book. They can either be compiled as stand-alone +%articles or with the entire book. +% +%Before you compile the book, make sure that all the articles +%compile as stand-alone documents (and run Bib\TeX\ where +%necessary). You can use the \app{makejmlrbook} Perl script to compile +%the book and create associated HTML files. See +%\sectionref{sec:makejmlrbook} for details. +% +%\subsection{\clsfmt{jmlrbook} Class Options} +%\begin{description} +%\item[\clsopt{nowcp}]The imported pre-published articles were +%published in the Journal of Machine Learning Research (default). +%\item[\clsopt{wcp}] The imported pre-published articles were +%published in the JMLR Workshop and Conference Proceedings. +% +%If the book has a mixture of JMLR and JMLR WCP articles, you +%can switch between them using +%\begin{definition}[\DescribeMacro{\jmlrwcp}] +%\cs{jmlrwcp} +%\end{definition} +%and +%\begin{definition}[\DescribeMacro{\jmlrnowcp}] +%\cs{jmlrnowcp} +%\end{definition} +%Alternatively, you can set the name of the journal or conference +%proceedings using: +%\begin{definition}[\DescribeMacro{\jmlrproceedings}] +%\cs{jmlrproceedings}\marg{short title}\marg{long title} +%\end{definition} +% +%\item[\clsopt{color}] Color version (see \sectionref{sec:color}). +%Use this option for the on-line version with hyperlinks enabled +%(default). +% +%\item[\clsopt{gray}] Grayscale version (see \sectionref{sec:color}). +%Use this option for the print version without hyperlinks. +% +%\item[\clsopt{tablecaptiontop}] in a \env{table} environment, +%\ics{floatconts} puts the caption at the top. +% +%\item[\clsopt{tablecaptionbottom}] in a \env{table} environment, +%\ics{floatconts} puts the caption at the bottom. +% +%\item[\clsopt{letterpaper}] Set the paper size to letter (default). +% +%\item[\clsopt{7x10}] Set the paper size to $7\times10$ inches. +% +%\item[\clsopt{prehyperref}] The \clsfmt{jmlrbook} automatically loads +%the \sty{hyperref} package, but some packages need to be loaded +%before \sty{hyperref}. This information can be specified using +%the \clsopt{prehyperref} option. This is a key=value option. For +%example, to load the packages \styfmt{foo} and \styfmt{bar} before +%\sty{hyperref}, you can do: +%\begin{verbatim} +%\documentclass[prehyperref={\usepackage{foo,bar}}]{jmlrbook} +%\end{verbatim} +%or: +%\begin{verbatim} +%\documentclass[prehyperref={\usepackage{foo}\usepackage{bar}}]{jmlrbook} +%\end{verbatim} +% +%\item[\clsopt{10pt}] Use 10pt as the normal text size. +%\item[\clsopt{11pt}] Use 11pt as the normal text size (default). +%\item[\clsopt{12pt}] Use 12pt as the normal text size. +% +%\end{description} +% +%\subsection{The Preamble} +% +%Any packages that the imported articles load (which aren't +%automatically loaded by \clsfmt{jmlr}) must be loaded in the book's +%preamble. For example, if one or more of the articles load the +%\sty{siunitx} package, this package must be loaded in the book. +% +%Commands that are defined in the imported articles will be local +%to that article unless they have been globally defined using +%\ics{gdef} or \ics{global}. Since most authors use \ics{newcommand} +%and \ics{newenvironment} (or \ics{renewcommand} and +%\ics{renewenvironment}) this shouldn't cause a conflict if more +%that one article has defined the same command or environment. +%For example, in the sample files supplied, both +%\texttt{paper1/paper1.tex} and \texttt{paper2/paper2.tex} have +%defined the command \cs{samplecommand} using \cs{newcommand}. As +%long as this command isn't also defined in the book, there won't +%be a conflict. +% +%\begin{definition}[\DescribeMacro{\title}] +%\cs{title}\oarg{PDF title}\marg{book title} +%\end{definition} +%In the book preamble, \cs{title} sets the book title and the optional +%argument is used for the PDF title, which will be displayed +%when the reader views the PDF file's properties in their PDF viewer. +%(Note that in the imported articles, \cs{title} sets the article's +%title and the optional argument sets the short title for the +%page header and table of contents.) +% +%\begin{definition}[\DescribeMacro{\author}] +%\cs{author}\oarg{PDF author(s)}\marg{book author(s)} +%\end{definition} +%In the book preamble, \cs{author} sets the book's author (or editor) +%and the optional argument is used for the PDF author, which will be +%displayed when the reader views the PDF file's properties in their +%PDF viewer. (Note that in the imported articles, \cs{author} sets +%the article's author and the optional argument sets the short author +%list for the page header.) +% +%\begin{definition}[\DescribeMacro{\volume}] +%\cs{volume}\marg{number} +%\end{definition} +%This command sets the book's volume number. Omit if the book has no +%volume number. +% +%\begin{definition}[\DescribeMacro{\subtitle}] +%\cs{subtitle}\marg{sub-title} +%\end{definition} +%This command sets the book's subtitle. Omit if the book has no +%sub-title. +% +%\begin{definition}[\DescribeMacro{\logo}] +%\cs{logo}\marg{image command} +%\end{definition} +%This sets the book's title image. Use \ics{includegraphics} and +%omit the file extension. If you provide a grayscale version as +%well as a color version, the grayscale version will be used for +%the print version of the book. (See \sectionref{sec:color} +%for further details.) +% +%\begin{definition}[\DescribeMacro{\team}] +%\cs{team}\marg{team title} +%\end{definition} +%This can be used to set the name of the editorial team. This +%command may be omitted if not required. +% +%\begin{definition}[\DescribeMacro{\productioneditor}] +%\cs{productioneditor}\marg{name} +%\end{definition} +%This command may be used to name the production editor. The command +%may be omitted if not required. +% +%See \sectionref{sec:modifytitle} for details on how to modify the +%layout of the title page. +% +%\subsection{Main Book Commands} +% +%All commands that are provided by the \clsfmt{jmlr} class are +%also available with the \clsfmt{jmlrbook} class, but some commands +%might behave differently depending on whether they are in the +%main part of the book or within the imported articles. +% +%In the main part of the book you can use the following commands: +%\begin{definition}[\DescribeMacro{\maketitle}] +%\cs{maketitle} +%\end{definition} +%This displays the book's title page. Note that \cs{maketitle} has +%a different effect when used in imported articles. +% +%\begin{definition}[\DescribeMacro{\frontmatter}] +%\cs{frontmatter} +%\end{definition} +%Use this command at the start of the front matter (e.g.\ before the +%foreword or preface). This will make chapters unnumbered even if you +%use \cs{chapter} instead of \cs{chapter*}. It also sets the page +%style and sets the page numbering to lower case Roman numerals. +% +%\begin{definition}[\DescribeEnv{authorsignoff}] +%\cs{begin}\{authorsignoff\}\\ +%\meta{author list}\\ +%\cs{end}\{authorsignoff\} +%\end{definition} +%This environment may be used by the author signing off at the end of a chapter such as the +%foreword. Within the environment use: +%\begin{definition}[\DescribeMacro{\Author}] +%\cs{author}\marg{details} +%\end{definition} +%for the author's details. More than one \cs{Author} should be used +%if there is more than one author. Example: +%\begin{verbatim} +%\begin{authorsignoff} +%\Author{Nicola Talbot\\ +%University of East Anglia} +%\Author{Anne Author\\ +%University of No Where} +%\end{authorsignoff} +%\end{verbatim} +% +%\begin{definition}[\DescribeEnv{signoff}] +%\cs{begin}\{signoff\}\oarg{team name}\marg{date}\\ +%\meta{editor list}\\ +%\cs{end}\{signoff\} +%\end{definition} +%This environment may be used by the editorial team when signing off +%a chapter such as the preface. If the optional argument is omitted, +%\qt{The Editorial Team} is used. +% +%Within the environment use: +%\begin{definition}[\DescribeMacro{\Editor}] +%\cs{Editor}\marg{details} +%\end{definition} +%for each editor. Example: +%\begin{verbatim} +%\begin{signoff}{March 2010} +%% First editor: +%\Editor{Nicola Talbot\\ +%University of East Anglia\\ +%\mailto{N.Talbot@uea.ac.uk}} +%% Second editor: +%\Editor{Anne Editor\\ +%University of Nowhere\\ +%\mailto{ae@sample.com}} +%\end{signoff} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\tableofcontents}] +%\cs{tableofcontents} +%\end{definition} +%This command displays the book's table of contents. Note that it +%has a different effect if used in an imported article. +% +%\begin{definition}[\DescribeMacro{\mainmatter}] +%\cs{mainmatter} +%\end{definition} +%Use this command to switch to the book's main matter. This will +%switch the chapter numbering back on, reset the page numbering to +%Arabic and set up the main page style. +% +%\begin{definition}[\DescribeMacro{\part}] +%\cs{part}\oarg{short title}\marg{title} +%\end{definition} +%If used in the main part of the book, this command will start a +%new part and issue a clear double page. Note that this command +%has a different effect if used in an imported article. +% +%\begin{definition}[\DescribeMacro{\addtocpart}] +%\cs{addtocpart}\marg{title} +%\end{definition} +%This adds \meta{title} to the table of contents, issues a clear +%double page, but doesn't display any text or affect the part +%numbering. +% +%\begin{definition}[\DescribeMacro{\chapter}] +%\cs{chapter}\oarg{short title}\marg{title} +%\end{definition} +%This command may be used in the main body of the book but will +%cause an error if used within an imported article. +% +%\begin{definition}[\DescribeMacro{\section}] +%\cs{section}\oarg{short title}\marg{title} +%\end{definition} +%\begin{definition}[\DescribeMacro{\subsection}] +%\cs{subsection}\oarg{short title}\marg{title} +%\end{definition} +%\begin{definition}[\DescribeMacro{\subsubsection}] +%\cs{subsubsection}\oarg{short title}\marg{title} +%\end{definition} +%\begin{definition}[\DescribeMacro{\paragraph}] +%\cs{paragraph}\oarg{short title}\marg{title} +%\end{definition} +%\begin{definition}[\DescribeMacro{\subparagraph}] +%\cs{subparagraph}\oarg{short title}\marg{title} +%\end{definition} +%These commands may be used in the main body of the book or within +%imported articles. In the main body of the book they need to be +%within a chapter and will be numbered according to the chapter. +% +%\begin{definition}[\DescribeMacro{\appendix}] +%\cs{appendix} +%\end{definition} +%If used in the main body of the book, this will switch to the +%book appendices. Subsequent \cs{chapter} commands will produce the +%appendices. If used within an imported article, it will switch +%to the article appendices and won't affect the main part of +%the book. +% +%\begin{definition}[\DescribeEnv{jmlrpapers}] +%\cs{begin}\{jmlrpapers\}\\ +%\meta{imported papers}\\ +%\cs{end}\{jmlrpapers\} +%\end{definition} +%This environment must be used when importing articles. Within this +%environment, use the following commands to import articles: +%\begin{definition}[\DescribeMacro{\importpubpaper}] +%\cs{importpubpaper}\oarg{label}\marg{directory}\marg{file}\marg{pages} +%\end{definition} +%This imports an article that has already been published elsewhere. +%The \meta{pages} argument should be the page range from the +%\emph{previously published} version of this article. This may not +%necessarily be the same as the page range of the article in the book. +%The directory the imported file is contained in is is given by +%\meta{directory}. If the file is in the same directory as the +%book, use a dot. The file name is given by \meta{file}. The article +%is also given a label, specified by the optional argument. This +%is \meta{directory}/\meta{file} by default. The label is used +%as a prefix to labels in the imported articles which ensures that +%cross-references are unique. You can also use this label to reference +%the article elsewhere in the book (see \sectionref{sec:bkcrossref}). +% +%\begin{definition}[\DescribeMacro{\importpaper}] +%\cs{importpaper}\oarg{label}\marg{directory}\marg{file} +%\end{definition} +%Imports an article that is being published in the book. The +%arguments are the same as above except that there is no page +%range (the page range is computed automatically). +% +%\begin{definition}[\DescribeMacro{\importarticle}] +%\cs{importarticle}\oarg{label}\marg{directory}\marg{file} +%\end{definition} +%This imports an article that hasn't been published elsewhere. There +%is no page range, but the other arguments are the same as +%those describe above for \cs{importpubpaper}. +% +%Example: to import a previously published paper +%\texttt{paper1/paper1.tex} and an unpublished paper +%\texttt{paper2/paper2.tex}: +%\begin{verbatim} +%\begin{jmlrpapers} +%\importpubpaper{paper1}{paper1}{23--45} +%\importarticle{paper2}{paper2} +%\end{jmlrpapers} +%\end{verbatim} +% +%\subsubsection{Cross-Referencing} +%\label{sec:bkcrossref} +% +%You can cross-reference other parts of the book using the +%standard \cs{label}/\cs{ref} mechanism, but if you want to +%reference something within an imported article, you must prefix +%the label with the label given when importing the article (that +%is, the optional argument to \ics{importpubpaper}, +%\ics{importpaper} or \cs{importarticle}). For example, if you +%want to reference a section labeled \texttt{sec:results} in the +%imported paper \texttt{paper1/paper1.tex}, you would need to do: +%\begin{verbatim} +%see Section~\ref{paper1/paper1sec:results} +%\end{verbatim} +%or +%\begin{verbatim} +%see \sectionref{paper1/paper1sec:results} +%\end{verbatim} +% +%In addition to the commands described in \sectionref{sec:crossref}, +%the \clsfmt{jmlrbook} class also provides the following +%cross-referencing commands: +% +%\begin{definition}[\DescribeMacro{\chapterref}] +%\cs{chapterref}\marg{label list} +%\end{definition} +%Reference a chapter or chapters. The argument is a comma-separated +%list of labels. +% +%\begin{definition}[\DescribeMacro{\articlepageref}] +%\cs{articlepageref}\marg{label} +%\end{definition} +%This displays the starting page number of the article whose label +%is given by \meta{label}. Note that this must a single label, not +%a list. For example: +%\begin{verbatim} +%An interesting article starts on page~\articlepageref{paper1/paper1} +%\end{verbatim} +% +%\begin{definition}[\DescribeMacro{\articlepagesref}] +%\cs{articlepagesref}\marg{label} +%\end{definition} +%This displays the page range of the article whose label is +%given by \meta{label}. Again, this must be a single label, not a +%list. This page range is unrelated to the \meta{pages} argument of +%\ics{importpubarticle}. +% +%\begin{definition}[\DescribeMacro{\articletitleref}] +%\cs{articletitleref}\marg{label} +%\end{definition} +%This displays the short title for the article whose label is +%given by \meta{label}. Again, this must be a single label, not a +%list. +% +%\begin{definition}[\DescribeMacro{\articleauthorref}] +%\cs{articleauthorref}\marg{label} +%\end{definition} +%This displays the author list for the article whose label is +%given by \meta{label}. Again, this must be a single label, not a +%list. +% +%\subsection{Altering the Layout of the Main Title Page} +%\label{sec:modifytitle} +% +%\begin{definition}[\DescribeMacro{\titlebody}] +%\cs{titlebody} +%\end{definition} +%The main body of the book's title page is given by the command +%\cs{titlebody}. Within the definition of this command, you can +%use: +%\begin{definition}[\DescribeMacro{\SetTitleElement}] +%\cs{SetTitleElement}\marg{element}\marg{pre}\marg{post} +%\end{definition} +%where \meta{element} can be: \texttt{title}, \texttt{volume}, +%\texttt{issue}\footnote{The default title page layout doesn't use +%\texttt{issue}, but if required it can be set with \ics{issue}\marg{number}}, +%\texttt{subtitle}, \texttt{logo}, \texttt{team}, \texttt{author}, +%\texttt{date}, \texttt{productioneditor}. The \meta{pre} and +%\meta{post} arguments specify what to do before and after the +%element. Note that \cs{SetTitleElement} does nothing if that +%element hasn't been set. For example, if \cs{volume} has been +%omitted or \verb|\volume{}| is used, then +%\begin{verbatim} +%\SetTitleElement{volume}{\mainvolumefont}{\postmainvolume} +%\end{verbatim} +%will do nothing (so you don't end up with \textbf{Volume :}). +% +%\begin{definition}[\DescribeMacro{\IfTitleElement}] +%\cs{IfTitleElement}\marg{element}\marg{true part}\marg{false part} +%\end{definition} +%This does \meta{true part} if \meta{element} has been set +%otherwise it does \meta{false part}. For example, +%\cs{postmainvolume} is defined as: +%\begin{verbatim} +%\newcommand{\postmainvolume}{% +% \IfTitleElement{subtitle}{}{:}\par\relax +%} +%\end{verbatim} +%This means that it will only print a colon after the volume +%number if the subtitle has been set. +% +%The default definition of \cs{titlebody} is: +%\begin{verbatim} +%\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}% +%} +%\end{verbatim} +% +%\subsection{Potential Pitfalls} +% +%The \cls{combine} class and \sty{hyperref} package are +%individually both easily broken by packages that change certain +%internals and they don't ordinarily work together. The +%\clsfmt{jmlrbook} class applies patches to the internal referencing +%mechanism to make them work together, but it's a fairly fragile +%alliance. Some packages are known to break it, for example +%\sty{subfig}, \sty{pdfpages} and \sty{geometry}. This is why the +%\clsfmt{jmlr} class checks for known problem packages and generates an +%error message to dissuade authors from using them. It's likely that +%there are other packages that may cause a problem and, as they are +%found, they will be added to the check list. Also, it's possible for +%an author to disable the package checking mechanism if they are +%determined to use a particular package. +% +%In the event that an article has loaded a problem package, the +%editors will have to decide whether to ask the author to change +%the article so that it doesn't cause a problem or to make the changes +%themselves or to find a way of fudging things to get it to work. It +%depends on the level of \LaTeX\ expertise amongst the editors and +%the time available. +% +%Another problem that can arise is when different articles use +%packages that conflict. For example, one article uses package +%\styfmt{foo} and another uses package \styfmt{bar}. Each article compiles +%okay as a stand-alone article, but when combined \styfmt{foo} and +%\styfmt{bar} conflict. Another problem may occur when articles load the +%same package but with conflicting package options. To reduce the +%chance of this occurring, the \clsfmt{jmlr} class loads some commonly +%used packages. For example, it loads the \sty{algorithm2e} +%package with the \pkgoptfmt{algo2e} and \pkgoptfmt{ruled} options and +%provides the \env{algorithm} environment in addition to +%\sty{algorithm2e}'s \env{algorithm2e} environment. +% +%Articles that use different input encodings can also cause a +%problem. For example, if one article uses \texttt{utf8} and another +%uses \texttt{latin1}. If the authors have directly entered a +%diacritic or ligature, such as \'e or \ae, instead of using a +%\LaTeX\ command, such as \cs{'e} or \cs{ae}, then +%this will cause an error on compiling the book.\footnote{and may also +%cause a problem for the editor's text editor.} The choice then is to +%either change all non-keyboard characters with the appropriate +%\LaTeX\ commands or to use the \cs{inputencoding} command, supplied +%by the \sty{inputenc} package, to switch the encoding at the start +%of each article. +% +%Authors who use \cs{nonumber} within an \env{equation} environment +%can mess up the hyperlinks. Remove \cs{nonumber} and change the +%equation environment to \cs{[} \ldots\ \cs{]} (or just make it a +%numbered equation). +% +%If the article changes the graphics path using \cs{graphicspath}, +%\clsfmt{jmlrbook} won't find the graphics if the imported articles +%aren't in the same directory as the book. +% +%\subsection{Creating the Book Using \appfmt{makejmlrbook}} +%\label{sec:makejmlrbook} +% +%The \app{makejmlrbook} Perl script is designed to make it +%easier to produce the print and online versions of the book, as +%well as producing an HTML index of all the imported articles with +%links to the abstracts and PDFs of individual articles. Note that +%for it to work properly, the articles must be imported using +%\cs{importarticle}, \cs{importpaper} or \cs{importpubpaper}, and +%the imported articles must use the \clsfmt{jmlr} class. +% +%On UNIX style systems, the script can be invoked from a terminal +%using: +%\begin{prompt} +%makejmlrbook \oarg{options} \meta{filename} +%\end{prompt} +%If that doesn't work, or you aren't using a UNIX style operating +%system, the script can be invoked from a terminal or command +%prompt using: +%\begin{prompt} +%perl makejmlrbook \oarg{options} \meta{filename} +%\end{prompt} +%The mandatory argument \meta{filename} is the name of the master +%\TeX\ file containing the book. It must use the \clsfmt{jmlrbook} +%class. You may omit the \texttt{.tex} extension. For example, if +%the file is called \texttt{proceedings.tex}, you can call +%\app{makejmlrbook} as follows: +%\begin{verbatim} +%perl makejmlrbook proceedings +%\end{verbatim} +%This will create the files \texttt{proceedings-print.pdf} (the +%print version) and \texttt{proceedings-online.pdf} (the online +%version). It will also create a directory (folder) called +%\texttt{html} in which the HTML files and individual article PDFs +%will be placed. +% +%The options to \app{makejmlrbook} are as follows: +%\begin{description} +%\item[--online] Generate the color on-line version (default). +%\item[--noonline] Don't generate the color on-line version. +%\item[--print] Generate the grayscale print version (default). +%\item[--noprint] Don't generate the grayscale print version. +%\item[--html] Generate the HTML files and the individual article +%PDFs (default). +%\item[--nohtml] Don't generate the HTML files and the individual +%article PDFs. +%\item[--logourl \meta{url}] Make the logo on the HTML index page link +%to \meta{url}. +%\item[--batchtex] Run \TeX\ in batch mode. +%\item[--nobatchtex] Don't run \TeX\ in batch mode (default). +%\item[--quieter] Reduce chatter to STDOUT (doesn't eliminate +%all messages). This also runs \TeX\ in batch mode. +%\item[--noquieter] Don't reduce messages to STDOUT (default). +%\item[--version] Display the version number and exit. +%\item[--help] List all available options. +%\end{description} +% +%There are also some more advanced options, but these haven't been +%fully tested: +%\begin{description} +%\item[--latexapp \meta{name}] Application used to call \LaTeX. +%Defaults to \qt{pdflatex}. +%\item[--latexopt \meta{string}] Options to pass to \LaTeX. +%\item[--format \meta{string}] Output format (defaults to \qt{pdf}). +%This may need to be changed if you change the \LaTeX\ application. +%\item[--bibtexapp \meta{name}] Application use to process the +%bibliography. Defaults to \qt{bibtex}. +%\item[--bibtexopt \meta{string}] Options to pass to Bib\TeX. +%\end{description} +% +%\StopEventually{\clearpage\phantomsection +% \addcontentsline{toc}{section}{Index}\PrintIndex +%} +% +% +% +%\section{jmlr.cls Code} +%\iffalse +% \begin{macrocode} +%<*jmlr.cls> +% \end{macrocode} +%\fi +% This class is based on the \sty{jmlr2e} package but was updated to use +% \cls{scrartcl} instead of \cls{article} and was modified to make sure +% it works with \clsfmt{jmlrbook} which uses both \cls{combine} and +% \sty{hyperref}. +% +% Declare class and required TeX format: +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{jmlr}[2010/06/17 v1.06 (NLCT) Journal of Machine Learning Research] +% \end{macrocode} +% The following conditionals are provided to make this class play nicely +% with combine and aren't required for articles. +% \begin{macrocode} +\newif\if@openright +\newif\if@mainmatter \@mainmattertrue +% \end{macrocode} +%\begin{macro}{\ifgrayscale} +% Determine whether to select grayscale alternatives +% \begin{macrocode} +\@ifundefined{ifgrayscale}{ + \newif\ifgrayscale + \grayscalefalse +}{} +\DeclareOption{color}{\grayscalefalse + \PassOptionsToPackage{color}{xcolor}} +\DeclareOption{gray}{\grayscaletrue + \PassOptionsToPackage{gray}{xcolor}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\iftablecaptiontop} +% Determine if the table captions should go at the top. +%\changes{1.07}{2010-06-17}{new} +% \begin{macrocode} +\newif\iftablecaptiontop +\tablecaptiontoptrue +\DeclareOption{tablecaptiontop}{\tablecaptiontoptrue} +\DeclareOption{tablecaptionbottom}{\tablecaptionbottomtrue} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\ifjmlrhtml} +% Determine if we are using \app{TeX4ht}: +% \begin{macrocode} +\newif\ifjmlrhtml +\jmlrhtmlfalse +\DeclareOption{html}{\jmlrhtmltrue} +\DeclareOption{nohtml}{\jmlrhtmlfalse} +% \end{macrocode} +%\end{macro} +% Normal font size (default is 11pt) +% \begin{macrocode} +\def\pt@size{11pt} +\DeclareOption{10pt}{\renewcommand{\pt@size}{10}% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{11pt}{\renewcommand{\pt@size}{11}% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{12pt}{\renewcommand{\pt@size}{12}% + \PassOptionsToClass{\CurrentOption}{article}} +% \end{macrocode} +%\begin{macro}{\@jmlrproceedings} +% The name of the proceedings. +% \begin{macrocode} +\newcommand*{\@jmlrproceedings}{Journal of Machine Learning Research} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrabbrvproceedings} +% The abbreviated name of the proceedings. +% \begin{macrocode} +\newcommand*{\@jmlrabbrvproceedings}{JMLR} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrproceedings} +% Sets the title and abbreviation of the proceedings +% \begin{macrocode} +\newcommand*{\jmlrproceedings}[2]{% + \renewcommand*{\@jmlrabbrvproceedings}{#1}% + \renewcommand*{\@jmlrproceedings}{#2}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nowcp} +% \begin{macrocode} +\newcommand*{\jmlrnowcp}{% + \jmlrproceedings{JMLR}{Journal of Machine Learning Research}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\wcp} +% \begin{macrocode} +\newcommand*{\jmlrwcp}{% + \jmlrproceedings{JMLR WC\&P}{JMLR: Workshop and Conference Proceedings}% +} +% \end{macrocode} +%\end{macro} +% This isn't an article for a workshop: +% \begin{macrocode} +\DeclareOption{nowcp}{\jmlrnowcp} +% \end{macrocode} +% This is an article for a workshop +% \begin{macrocode} +\DeclareOption{wcp}{\jmlrwcp} +% \end{macrocode} +% The default paper size is letter, but provide $7 \times 10$in +% alternative: +% \begin{macrocode} +\newif\ifviiXx +\viiXxfalse +\DeclareOption{7x10}{\viiXxtrue} +\DeclareOption{letterpaper}{\PassOptionsToPackage{letterpaper}{typearea}} +% \end{macrocode} +% Pass all remaining options to \cls{scrartcl} class: +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +% \end{macrocode} +% Execute required options: +% \begin{macrocode} +\ExecuteOptions{twoside,letterpaper} +% \end{macrocode} +% Process options: +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% Load \cls{scrartcl} class +% \begin{macrocode} +\LoadClass[pointednumbers,normalheadings]{scrartcl} +% \end{macrocode} +% Can't use \sty{geometry} package because it doesn't play nicely +% with the \cls{combine} class. +% \begin{macrocode} +\ifviiXx + \setlength{\paperwidth}{7in} + \setlength{\paperheight}{10in} + \setlength{\textwidth}{5.25in} + \setlength{\textheight}{8.2in} + \setlength{\topmargin}{0.4in} + \setlength{\headheight}{0.2in} + \setlength{\headsep}{0.2in} + \setlength{\hoffset}{-1in} + \setlength{\voffset}{-1in} + \setlength{\evensidemargin}{0.75in} + \setlength{\oddsidemargin}{1.0in} +\else + \setlength{\oddsidemargin}{0.25in} + \setlength{\evensidemargin}{0.25in} + \setlength{\marginparwidth}{0.07 true in} + \setlength{\topmargin}{-0.5in} + \addtolength{\headsep}{0.25in} + \setlength{\textheight}{8.5 true in} + \setlength{\textwidth}{6.0 true in} +\fi +% \end{macrocode} +% Required packages: +% \begin{macrocode} +\RequirePackage{amsmath} +\RequirePackage{amssymb} +\RequirePackage{natbib} +\RequirePackage{graphicx} +\RequirePackage{url} +\RequirePackage[x11names]{xcolor} +\RequirePackage[algo2e,ruled]{algorithm2e} +% \end{macrocode} +% Float parameters: the following settings were copied from jmlr2e.sty +% \begin{macrocode} +\renewcommand{\topfraction}{0.95} % let figure take up nearly whole page +\renewcommand{\textfraction}{0.05} % let figure take up nearly whole page +% \end{macrocode} +% widows/orphans +% \begin{macrocode} +\widowpenalty=10000\relax +\clubpenalty=10000\relax +% \end{macrocode} +% Set two-sided format +% \begin{macrocode} +\@twosidetrue +% \end{macrocode} +% Put marginal notes on the outside of the page +% \begin{macrocode} +\@mparswitchtrue +% \end{macrocode} +% \begin{macrocode} +\def\ds@draft{\overfullrule 5pt} +% \end{macrocode} +% Use the plainnat bibliography style and set up the required +% punctuation. +% \begin{macrocode} +\bibliographystyle{plainnat} +\bibpunct{(}{)}{;}{a}{,}{,} +% \end{macrocode} +%\subsection{Sections} +% \begin{macrocode} +\addtokomafont{section}{\rmfamily\large} +\addtokomafont{subsection}{\rmfamily\normalsize} +\addtokomafont{subsubsection}{\rmfamily\mdseries\normalsize\scshape} +\addtokomafont{paragraph}{\rmfamily\normalsize} +\addtokomafont{subparagraph}{\rmfamily\itshape\normalsize} +% \end{macrocode} +% Insert possible prefix to section number. +% \begin{macrocode} +\renewcommand*{\othersectionlevelsformat}[1]{% + \csname pre#1num\endcsname\csname the#1\endcsname\autodot\enskip} +% \end{macrocode} +%\subsection{Footnotes} +% This code has been taken from jmlr2e.sty +% \begin{macrocode} +\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} +% \end{macrocode} +%\subsection{Article abstract} +% This code has been taken from jmlr2e.sty but with \cs{bf} updated +% to \cs{bfseries} +%\begin{environment}{abstract} +% \begin{macrocode} +\ifjmlrhtml + \renewenvironment{abstract}{\HCode{<h3>}Abstract\HCode{</h3>}}{}% +\else + \renewenvironment{abstract} + {\centerline{\large\bfseries Abstract}\vspace{0.7ex}% + \bgroup + \leftskip 20pt\rightskip 20pt\small\noindent\ignorespaces}% + {\par\egroup\vskip 0.25ex} +\fi +% \end{macrocode} +%\end{environment} +%\subsection{Keywords} +% This code has been taken from jmlr2e.sty but with \cs{bf} updated +% to \cs{bfseries}. +%\begin{environment}{keywords} +% \begin{macrocode} +\newenvironment{keywords} +{\bgroup\leftskip 20pt\rightskip 20pt \small\noindent{\bfseries +Keywords:} \ignorespaces}% +{\par\egroup\vskip 0.25ex} +% \end{macrocode} +%\end{environment} +%\subsection{Title Page Information} +% This code has been taken from jmlr2e.sty. +% +% Title stuff, borrowed in part from aaai92.sty +% \begin{macrocode} +\newlength\aftertitskip \newlength\beforetitskip +\newlength\interauthorskip \newlength\aftermaketitskip +% \end{macrocode} +%% Changeable parameters. +% \begin{macrocode} +\setlength\aftertitskip{0.1in plus 0.2in minus 0.2in} +\setlength\beforetitskip{0.05in plus 0.08in minus 0.08in} +\setlength\interauthorskip{0.08in plus 0.1in minus 0.1in} +\setlength\aftermaketitskip{0.3in plus 0.1in minus 0.1in} +% \end{macrocode} +% +%\begin{macro}{\title} +% Override definition of \cs{title} to allow for an optional +% argument (short title) +% \begin{macrocode} +\renewcommand*{\title}[2][\@title]{% + \def\@shorttitle{#1}% + \def\@title{#2}% + \jmlrtitlehook +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrtitlehook} +% \begin{macrocode} +\newcommand*{\jmlrtitlehook}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\author} +% Override definition of \cs{author} to allow for an optional +% argument (list of authors for page heading) +% \begin{macrocode} +\renewcommand*{\author}[2][]{% + \def\@author{#2}% + \def\@sauthor{#1}% + \ifx\@sauthor\@empty + \else + \let\@shortauthor\@sauthor + \fi + \jmlrauthorhook +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrauthorhook} +% \begin{macrocode} +\newcommand*{\jmlrauthorhook}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@shortauthor} +% \begin{macrocode} +\newcommand*{\@shortauthor}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@firstauthor} +% \begin{macrocode} +\newcommand*{\@firstauthor}{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@firstsurname} +% \begin{macrocode} +\newcommand*{\@firstsurname}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\jmlrlength} +% \begin{macrocode} +\newlength\jmlrlength +% \end{macrocode} +%\end{macro} +% +% overall definition of \cs{maketitle}, \cs{@maketitle} does the real work +%\begin{macro}{\jmlrmaketitle} +% \begin{macrocode} +\def\jmlrmaketitle{% + \jmlrpremaketitlehook + \def\@jmlr@authors@sep{, }% + \par + \begingroup + \def\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}}% + \@jmlrmaketitle \@thanks + \endgroup +\label{jmlrstart}% +\ifx\@sauthor\@empty + \settowidth{\jmlrlength}{\@evenhead}% + \ifdim\jmlrlength>\textwidth + \def\@shortauthor{\@firstsurname\space et al.}% + \fi +\fi +\settowidth{\jmlrlength}{\@titlefoot}% +\ifdim\jmlrlength>\textwidth + \def\@jmlrauthors{\@firstauthor\space \emph{et al}}% +\fi +\jmlrmaketitlehook +\thispagestyle{jmlrtps}% +\setcounter{footnote}{0}% +\let\maketitle\relax \let\@maketitle\relax +\gdef\@thanks{}\gdef\@author{}\let\thanks\relax +\def\@jmlr@authors@sep{ \& }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\jmlrmaketitlehook} +% \begin{macrocode} +\newcommand*{\jmlrmaketitlehook}{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrpremaketitlehook} +% \begin{macrocode} +\newcommand*{\jmlrpremaketitlehook}{} +% \end{macrocode} +%\end{macro} +% +% Provide a different title layout for HTML +%\begin{macro}{\jmlrhtmlmaketitle} +% \begin{macrocode} +\newcommand{\jmlrhtmlmaketitle}{% + \ifx\@jmlrauthors\@empty + \sbox\jmlrbox{\let\addr\relax\@author}% + \fi + \noindent\HCode{<h2>}\@title\HCode{</h2>} + \noindent\@jmlrauthors +} +% \end{macrocode} +%\end{macro} +%%\begin{macro}{\jmlrbox} +% Define a save box +% \begin{macrocode} +\newsavebox\jmlrbox +% \end{macrocode} +%\end{macro} +%\begin{macro}{\maketitle} +% If we're creating HTML, set \cs{maketitle} to +% \cs{jmlrhtmlmaketitle}, otherwise set it to \cs{jmlrmaketitle} +% \begin{macrocode} +\ifjmlrhtml + \let\maketitle\jmlrhtmlmaketitle +\else + \let\maketitle\jmlrmaketitle +\fi +% \end{macrocode} +%\end{macro} +% +% Author and editor information. +% \begin{macrocode} +\def\@startauthor{\noindent \normalsize\bfseries} +\def\@endauthor{} +\def\@starteditor{\noindent \small {\bfseries \@edname:~}} +\def\@endeditor{\normalsize} +% \end{macrocode} +% Provide hooks to make it easier to adapted with \cls{combine} +% class. +%\begin{macro}{\jmlrpretitle} +% \begin{macrocode} +\def\jmlrpretitle{\vskip\beforetitskip\begin{center}\Large\bfseries} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrposttitle} +% \begin{macrocode} +\def\jmlrposttitle{\par\end{center}\vskip\aftertitskip} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrpreauthor} +% \begin{macrocode} +\def\jmlrpreauthor{% +\bgroup + \def\and{\unskip\enspace{\normalfont and}\enspace}% + \def\addr{\small\itshape}% + \def\name{\ClassError{jmlr}{Use \string\Name{Author's Name} not \string\name}{}}% + \def\email{\ClassError{jmlr}{Use \string\Email{address} not \string\email}{}}% + \def\AND{\@endauthor\normalfont\hss \vskip \interauthorskip + \@startauthor}% + \@startauthor +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@email} +% \begin{macrocode} +\def\@email{\hfill\small\mdseries\scshape}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@name} +% \begin{macrocode} +\def\@name{\normalsize\upshape\bfseries}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@parsename} +% Parse a name. Appends forename to \cs{@forenames} and stores +% surname in \cs{@surname}. +% \begin{macrocode} +\def\@parsename#1 #2\@nil{% + \def\@tmp{#2}% + \ifx\@tmp\@empty + \def\@surname{#1}% + \let\@nextparsename\@parsenamenoop + \else + \@getinitial#1-\relax\relax\end + \ifx\@forenames\@empty + \def\@forenames{#1}% + \protected@edef\@initials{\@initial}% + \else + \expandafter\toks@\expandafter{\@forenames}% + \edef\@forenames{\space\the\toks@}% + \expandafter\toks@\expandafter{\@initials}% + \protected@edef\@initials{\the\toks@\@initial}% + \fi + \let\@nextparsename\@parsename + \fi + \@nextparsename#2\@nil +} +\def\@parsenamenoop#1\@nil{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@getinitial} +% \begin{macrocode} +\def\@getinitial#1#2-#3#4\end{% + \def\@jmlr@tmp{#3}% + \if\@jmlr@tmp\relax + \def\@initial{#1.}% + \else + \def\@initial{#1.-#3.}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Name} +% Get the author's name and add surname to \cs{@shortauthors}. +% (Surnames with \qt{von} parts or with spaces in should be +% enclosed in braces) +% \begin{macrocode} +\newcommand*{\Name}[1]{% + \def\@forenames{}% + \def\@surname{}% + \@parsename#1 \@nil + \ifx\@shortauthor\@empty + \ifx\@sauthor\@empty + \global\let\@shortauthor\@surname + \global\let\@firstsurname\@surname + \fi + \protected@xdef\@jmlrauthors{\@initials\space\@surname}% + \global\let\@firstauthor\@jmlrauthors + \else + \ifx\@sauthor\@empty + \expandafter\toks@\expandafter{\@shortauthor}% + \protected@xdef\@shortauthor{\the\toks@\space\@surname}% + \fi + \protected@xdef\@jmlrauthors{\@jmlrauthors + \noexpand\@jmlr@authors@sep + \@initials\space\@surname}% + \fi + \@name #1% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Email} +% \begin{macrocode} +\newcommand*{\Email}[1]{{\@email #1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrpostauthor} +% \begin{macrocode} +\def\jmlrpostauthor{\@endauthor\egroup + \par + \vskip \aftermaketitskip + \noindent + \ifx\@editor\@empty + \else + \@starteditor \@editor \@endeditor + \fi + \vskip \aftermaketitskip +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrmaketitle} +% \begin{macrocode} +\def\@jmlrmaketitle{\vbox{\hsize\textwidth + \linewidth\hsize + \jmlrpretitle \@title \jmlrposttitle + \jmlrpreauthor \@author \jmlrpostauthor +}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\kernelmachines} +% Convenience command +% \begin{macrocode} +\newcommand*\kernelmachines{(for + {\textsc{http://www.kernel-machines.org}})} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\editorname} +% Label for the editor +% \begin{macrocode} +\newcommand*{\editorname}{Editor} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\editorsname} +% Label for the editor +% \begin{macrocode} +\newcommand*{\editorsname}{Editors} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@edname} +% This will either be Editor or Editors depending on whether +% \cs{editor} or \cs{editors} is used. Defaults to \cs{editorname} +% \begin{macrocode} +\let\@edname\editorname +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@editor} +% The editor or editors are stored in \cs{@editor} +% \begin{macrocode} +\def\@editor{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\editor} +% A single editor +% \begin{macrocode} +\def\editor#1{% + \global\let\@edname\editorname + \gdef\@editor{#1}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\editors} +% Multiple editors +% \begin{macrocode} +\def\editors#1{% + \global\let\@edname\editorsname + \gdef\@editor{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\subsection{Pagestyles} +% This is taken from jmlr2e.sty +% +%\begin{macro}{\firstpageno} +% Set the page counter. +% \begin{macrocode} +\def\firstpageno#1{\setcounter{page}{#1}} +% \end{macrocode} +%\end{macro} +% +% Label end page. +% \begin{macrocode} +\AtEndDocument{% + \@ifundefined{phantomsection}{}{\phantomsection}% + \protected@edef\@currentlabelname{end of \@shorttitle}% + \label{jmlrend}% +} +% \end{macrocode} +% +%\begin{macro}{\@titlefoot} +% \begin{macrocode} +\newcommand*{\@titlefoot}{\scriptsize\copyright\space\@jmlryear + \space\@jmlrauthors.\hfill} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ps@jmlrtps} +% Title page style +% \begin{macrocode} +\newcommand\ps@jmlrtps{% + \let\@mkboth\@gobbletwo + \def\@oddhead{\scriptsize \@jmlrproceedings + \ifx\@jmlrvolume\@empty\else\space\@jmlrvolume\fi + \ifx\@jmlryear\@empty\else\space(\@jmlryear)\fi + \ifx\@jmlrpages\@empty\else\space\@jmlrpages\fi + \hfill + \ifx\@jmlrworkshop\@empty + \ifx\@jmlrsubmitted\@empty + \else + Submitted \@jmlrsubmitted + \ifx\@jmlrpublished\@empty\else;\fi + \fi + \ifx\@jmlrpublished\@empty + \else + \space Published \@jmlrpublished + \fi + \else + \space\@jmlrworkshop + \fi + }% + \let\@evenhead\@oddhead + \def\@oddfoot{\@titlefoot}% + \let\@evenfoot\@oddfoot +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\ps@jmlrps} +% Page style for subsequent pages +% \begin{macrocode} +\def\ps@jmlrps{% + \let\@mkboth\@gobbletwo + \def\@oddhead{\hfill {\small\scshape \@shorttitle} \hfill}% + \def\@oddfoot{\hfill \small\rmfamily \thepage \hfill}% + \def\@evenhead{\hfill {\small\scshape \@shortauthor} \hfill}% + \def\@evenfoot{\hfill \small\rmfamily \thepage \hfill}% +}% +% \end{macrocode} +% Set the page style: +% \begin{macrocode} +\pagestyle{jmlrps} +% \end{macrocode} +%\end{macro} +% Set the heading information: +%\begin{macro}{\@jmlrvolume} +% The volume number: +% \begin{macrocode} +\let\@jmlrvolume\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrvolume} +% \begin{macrocode} +\newcommand*{\jmlrvolume}[1]{\renewcommand*{\@jmlrvolume}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrissue} +% The issue number: +% \begin{macrocode} +\let\@jmlrissue\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrissue} +% \begin{macrocode} +\newcommand*{\jmlrissue}[1]{\renewcommand*{\@jmlrissue}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlryear} +% The year of publication: +% \begin{macrocode} +\let\@jmlryear\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlryear} +% \begin{macrocode} +\newcommand*{\jmlryear}[1]{\renewcommand*{\@jmlryear}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrpages} +% The page range: +% \begin{macrocode} +\newcommand*\@jmlrpages{\pageref{jmlrstart}--\pageref{jmlrend}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrpages} +% \begin{macrocode} +\newcommand*{\jmlrpages}[1]{\renewcommand*{\@jmlrpages}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrsubmitted} +% The date the article was submitted: +% \begin{macrocode} +\let\@jmlrsubmitted\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrsubmitted} +% \begin{macrocode} +\newcommand*{\jmlrsubmitted}[1]{\renewcommand*{\@jmlrsubmitted}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrpublished} +% The date the article was published: +% \begin{macrocode} +\let\@jmlrpublished\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrpublished} +% \begin{macrocode} +\newcommand*{\jmlrpublished}[1]{\renewcommand*{\@jmlrpublished}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrworkshop} +% The name of the workshop: +% \begin{macrocode} +\let\@jmlrworkshop\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrworkshop} +% \begin{macrocode} +\newcommand*{\jmlrworkshop}[1]{\renewcommand*{\@jmlrworkshop}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlrauthors} +% \begin{macrocode} +\newcommand*{\@jmlrauthors}{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrauthors} +% This is provided in case \cs{Name} doesn't set \cs{@jmlrauthors} +% correctly. +% \begin{macrocode} +\newcommand*{\jmlrauthors}[1]{\renewcommand*{\@jmlrauthors}{#1}} +% \end{macrocode} +%\end{macro} +% +% +%\subsection{Miscellany} +% This code was taken from jmlr2e.sty. + +% Define macros for figure captions and table titles +% \begin{macrocode} +\def\figurecaption#1#2{\noindent\hangindent 40pt + \hbox to 36pt {\small\slshape #1 \hfil} + \ignorespaces {\small #2}} +% \end{macrocode} +% Figurecenter prints the caption title centered. +% \begin{macrocode} +\def\figurecenter#1#2{\centerline{{\slshape #1} #2}} +\def\figurecenter#1#2{\centerline{{\small\slshape #1} {\small #2}}} +% \end{macrocode} +% +% Allow ``hanging indents'' in long captions +% +%\begin{macro}{\@makecaption} +% \begin{macrocode} +\long\def\@makecaption#1#2{% + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2}% + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \begin{list}{#1:}{% + \settowidth{\labelwidth}{#1:} + \setlength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + }\item #2 \end{list}\par % Output in quote mode + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} +% \end{macrocode} +%\end{macro} +% Define strut macros for skipping spaces above and below text in a +% tabular environment. +% \begin{macrocode} +\def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces} +\def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces} +% \end{macrocode} +%\begin{macro}{\acks} +% Acknowledgments +% \begin{macrocode} +\long\def\acks#1{\section*{Acknowledgments}#1} +% \end{macrocode} +%\end{macro} +% Research Note +%\begin{macro}{\researchnote} +% \begin{macrocode} +\long\def\researchnote#1{\noindent {\LARGE\itshape Research Note} #1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\set} +% \begin{macrocode} +\newcommand*{\set}[1]{\ensuremath{\mathcal{#1}}} +% \end{macrocode} +%\end{macro} +% Convenient macros for cross-referencing. +% \begin{macrocode} +\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} +% \end{macrocode} +%\begin{macro}{\objectref} +% Cross-reference a particular structural element. The first +% argument is the list of labels, the second argument is a +% control sequence containing the singular tag, the third +% argument a control sequence containing the plural tag, +% the fourth argument is text to go before the reference number, +% e.g.\ an opening bracket, and the fifth argument is text +% to go after the reference number, e.g.\ a closing bracket. +% \begin{macrocode} +\newcommand*{\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 +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\sectionref} +% \begin{macrocode} +\newcommand*{\sectionref}[1]{% + \objectref{#1}{\sectionrefname}{\sectionsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\equationref} +% \begin{macrocode} +\newcommand*{\equationref}[1]{% + \objectref{#1}{\equationrefname}{\equationsrefname}()} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\tableref} +% \begin{macrocode} +\newcommand*{\tableref}[1]{% + \objectref{#1}{\tablerefname}{\tablesrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\figureref} +% \begin{macrocode} +\newcommand*{\figureref}[1]{% + \objectref{#1}{\figurerefname}{\figuresrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\algorithmref} +% \begin{macrocode} +\newcommand*{\algorithmref}[1]{% + \objectref{#1}{\algorithmrefname}{\algorithmsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\theoremmref} +% \begin{macrocode} +\newcommand*{\theoremref}[1]{% + \objectref{#1}{\theoremrefname}{\theoremsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\lemmaref} +% \begin{macrocode} +\newcommand*{\lemmaref}[1]{% + \objectref{#1}{\lemmarefname}{\lemmasrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\remarkref} +% \begin{macrocode} +\newcommand*{\remarkref}[1]{% + \objectref{#1}{\remarkrefname}{\remarksrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\corollaryref} +% \begin{macrocode} +\newcommand*{\corollaryref}[1]{% + \objectref{#1}{\corollaryrefname}{\corollarysrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\definitionref} +% \begin{macrocode} +\newcommand*{\definitionref}[1]{% + \objectref{#1}{\definitionrefname}{\definitionsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\conjectureref} +% \begin{macrocode} +\newcommand*{\conjectureref}[1]{% + \objectref{#1}{\conjecturerefname}{\conjecturesrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\axiomref} +% \begin{macrocode} +\newcommand*{\axiomref}[1]{% + \objectref{#1}{\axiomrefname}{\axiomsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\exampleref} +% \begin{macrocode} +\newcommand*{\exampleref}[1]{% + \objectref{#1}{\examplerefname}{\examplesrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\appendixref} +% \begin{macrocode} +\newcommand*{\appendixref}[1]{% + \objectref{#1}{\appendixrefname}{\appendixsrefname}{}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\partref} +% \begin{macrocode} +\newcommand*{\partref}[1]{% + \objectref{#1}{\partrefname}{\partsrefname}{}{}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\floatconts} +% The first argument is the label, the second argument contains the +% caption (using \cs{caption}) and the third argument is the +% contents of the float +% \begin{macrocode} +\newcommand{\floatconts}[3]{% + \@ifundefined{\@captype conts}{\tableconts{#1}{#2}{#3}}% + {\csname\@captype conts\endcsname{#1}{#2}{#3}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\tableconts} +% \begin{macrocode} +\newcommand{\tableconts}[3]{% + \iftablecaptiontop + #2\label{#1}\vskip\baselineskip + {\centering #3\par}% + \else + {\centering #3\par}% + \vskip\baselineskip + #2\label{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\figureconts} +% \begin{macrocode} +\newcommand{\figureconts}[3]{% + {\centering #3\par}% + \vskip\baselineskip + #2\label{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\includeteximage} +% Provide a command like \cs{includegraphics} that includes a +% file containing \LaTeX\ picture code (e.g.\ \sty{pgf}). +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifprint} +% Provide command to check if this is the printed greyscale +% version or the online colour version. +% \begin{macrocode} +\providecommand{\ifprint}[2]{\ifgrayscale#1\else#2\fi} +% \end{macrocode} +%\end{macro} +% +% Modify \cs{includegraphics} so that it can pick up the greyscale +% version of images if this is the print version. +%% \begin{macrocode} +\ifjmlrhtml +\else + \let\@org@Ginclude@graphics\Ginclude@graphics + \def\Ginclude@graphics#1{% + \begingroup + \let\input@path\Ginput@path + \ifprint{\filename@parse{#1-gray}}{\filename@parse{#1}}% + \ifx\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% + \else + \ifprint{\filename@parse{#1}}{}% + \Gin@getbase{\Gin@sepdefault\filename@ext}% + \ifx\Gin@ext\relax + \@warning{File `#1' not found}% + \def\Gin@base{\filename@area\filename@base}% + \edef\Gin@ext{\Gin@sepdefault\filename@ext}% + \fi + \fi + \ifx\Gin@ext\relax + \ifprint{\@org@Ginclude@graphics{#1}}% + {% + \@latex@error{File `#1' not found}% + {I could not locate the file with any of these extensions:^^J% + \Gin@extensions^^J\@ehc}% + }% + \else + \@ifundefined{Gin@rule@\Gin@ext}% + {\ifx\Gin@rule@*\@undefined + \@latex@error{Unknown graphics extension: \Gin@ext}\@ehc + \else + \expandafter\Gin@setfile\Gin@rule@*{\Gin@base\Gin@ext}% + \fi}% + {\expandafter\expandafter\expandafter\Gin@setfile + \csname Gin@rule@\Gin@ext\endcsname{\Gin@base\Gin@ext}}% + \fi + \endgroup} +\fi +% \end{macrocode} +% +% The \env{algorithm} environment should float like a figure or table. +% It should use the same counter as the \env{algorithm2e} environment. +% \begin{macrocode} +\newenvironment{algorithm}[1][htbp]% +{% + \@algocf@init% + \@algocf@init@caption + \begin{algocf}[#1]% + \@algocf@start% +}% +{% + \@algocf@finish% + \@algocf@term@caption + \end{algocf}% + \@algocf@term +} +% \end{macrocode} +% +% Set the algorithm margin to zero. +% \begin{macrocode} +\setlength\algomargin{0pt} +% \end{macrocode} +% +%\begin{macro}{\artappendix} +% Switch to appendices in an article +% \begin{macrocode} +\newcommand{\artappendix}{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}} + \def\presectionnum{Appendix~}% +} +% \end{macrocode} +%\end{macro} +% The default assumes a stand-alone article. +%\begin{macro}{\appendix} +% \begin{macrocode} +\let\appendix\artappendix +% \end{macrocode} +%\end{macro} +% +%\subsection{Proofs and Theorems} +% This code is taken from jmlr2e.sty +%\begin{macro}{\BlackBox} +% End of proof marker +% \begin{macrocode} +\newcommand{\BlackBox}{\rule{1.5ex}{1.5ex}} +% \end{macrocode} +%\end{macro} +%\begin{environment}{proof} +% Proof environment +% \begin{macrocode} +\newenvironment{proof}{\par\noindent{\bfseries\upshape + Proof\ }}{\hfill\BlackBox\\[2mm]} +% \end{macrocode} +%\end{environment} +%\begin{environment}{example} +% \begin{macrocode} +\newtheorem{example}{Example} +% \end{macrocode} +%\end{environment} +%\begin{environment}{theorem} +% \begin{macrocode} +\newtheorem{theorem}{Theorem} +% \end{macrocode} +%\end{environment} +%\begin{environment}{lemma} +% \begin{macrocode} +\newtheorem{lemma}[theorem]{Lemma} +% \end{macrocode} +%\end{environment} +%\begin{environment}{proposition} +% \begin{macrocode} +\newtheorem{proposition}[theorem]{Proposition} +% \end{macrocode} +%\end{environment} +%\begin{environment}{remark} +% \begin{macrocode} +\newtheorem{remark}[theorem]{Remark} +% \end{macrocode} +%\end{environment} +%\begin{environment}{corollary} +% \begin{macrocode} +\newtheorem{corollary}[theorem]{Corollary} +% \end{macrocode} +%\end{environment} +%\begin{environment}{definition} +% \begin{macrocode} +\newtheorem{definition}[theorem]{Definition} +% \end{macrocode} +%\end{environment} +%\begin{environment}{conjecture} +% \begin{macrocode} +\newtheorem{conjecture}[theorem]{Conjecture} +% \end{macrocode} +%\end{environment} +%\begin{environment}{axiom} +% \begin{macrocode} +\newtheorem{axiom}[theorem]{Axiom} +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\vec} +% Redefine \cs{vec} to produce a bold symbol +% \begin{macrocode} +\renewcommand*{\vec}[1]{\boldsymbol{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{environment}{enumerate*} +% Define an enumerate style environment where the nested environments +% all use the same counter. It uses the enumi counter. +% \begin{macrocode} +\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} +% \end{macrocode} +%\end{environment} +% +%\begin{environment}{altdescription} +% Define a description like environment where the indent is +% computed from the widest label. The optional argument is +% the widest label. +% \begin{macrocode} +\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} +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\mailto} +% Syntax: \cs{mailto}\marg{address} +% \begin{macrocode} +\newcommand*{\mailto}[1]{\texttt{#1}} +% \end{macrocode} +%\end{macro} +% +% The \sty{subfig} package breaks jmlrbook.cls, so define \ics{subfig} +% here. (This is fairly primitive.) +%\begin{macro}{\c@subfigure} +% Define subfigure counter: +% \begin{macrocode} +\newcounter{subfigure} +\@addtoreset{subfigure}{figure} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\thesubfigure} +% \begin{macrocode} +\renewcommand*{\thesubfigure}{\alph{subfigure}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\p@subfigure} +% \begin{macrocode} +\renewcommand*{\p@subfigure}{\expandafter\@p@subfigure} +\newcommand*{\@p@subfigure}[1]{% + \protect\@subfigurelabel{\thefigure}{\thesubfigure}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@subfigurelabel} +% Define how label appears. +% \begin{macrocode} +\newcommand*\@subfigurelabel[2]{#1\subfigurelabel{#2}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subfigref} +% Reference the sub-figure without including the figure number. +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subfigurelabel} +% \begin{macrocode} +\newcommand*{\subfigurelabel}[1]{(\emph{#1})} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subfigure} +% \begin{macrocode} +\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}% + \ifx\@subfigcap\@empty + \else + \space\@subfigcap + \fi + \end{tabular} + \egroup +} +% \end{macrocode} +%\end{macro} +% +% Sub-tables: +%\begin{macro}{\c@subtable} +% Define subtable counter: +% \begin{macrocode} +\newcounter{subtable} +\@addtoreset{subtable}{table} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\thesubtable} +% \begin{macrocode} +\renewcommand*{\thesubtable}{\alph{subtable}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\p@subtable} +% \begin{macrocode} +\renewcommand*{\p@subtable}{\expandafter\@p@subtable} +\newcommand*{\@p@subtable}[1]{% + \protect\@subtablelabel{\thetable}{\thesubtable}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@subtablelabel} +% Define how label appears. +% \begin{macrocode} +\newcommand*\@subtablelabel[2]{#1\subtablelabel{#2}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subtabref} +% Reference the sub-table without including the table number. +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subtablelabel} +% \begin{macrocode} +\newcommand*{\subtablelabel}[1]{(\emph{#1})} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\subtable} +% \begin{macrocode} +\newcommand*{\subtable}[1][]{% + \def\@subtabcap{#1}% + \@subtable +} + +\newcommand*{\@subtable}[2][t]{% + \refstepcounter{subtable}% + \begin{tabular}[#1]{@{}c@{}}% + \subtablelabel{\thesubtable}% + \ifx\@subtabcap\@empty + \else + \space\@subtabcap + \fi + \\#2% + \end{tabular} +} +% \end{macrocode} +%\end{macro} +% +%\subsection{Compatibility with combine.cls} +% +% Define chapters to make this class play nicely with \cls{combine}. +% These definitions are just copied from book.cls +% \begin{macrocode} +\newcounter{chapter} +\renewcommand\thechapter{\@arabic\c@chapter} +\newcommand\@chapapp{\chaptername} +% \end{macrocode} +% Add sections to the chapter reset. +% \begin{macrocode} +\@addtoreset{section}{chapter} +% \end{macrocode} +%\begin{macro}{\chaptermark} +% \begin{macrocode} +\newcommand*\chaptermark[1]{} +% \end{macrocode} +%\end{macro} +% Chapters should only be defined when we're combining documents +% into a book. +%\begin{macro}{\bookchapter} +% \begin{macrocode} +\newcommand\bookchapter{% + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\artchapter} +% Disable chapters for articles. +% \begin{macrocode} +\newcommand\artchapter{% + \ClassError{jmlrwcp}{Chapters not permitted in articles}{}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chapter} +% The default assumes a stand-alone document. +% \begin{macrocode} +\let\chapter\artchapter +% \end{macrocode} +%\end{macro} +% Label for the chapter entries in the toc. +% \begin{macrocode} +\def\@chaptoclabel{chapter} +% \end{macrocode} +%\begin{macro}{\@chapter} +% Numbered chapters +% \begin{macrocode} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{\@chaptoclabel}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{\@chaptoclabel}{#1}% + \fi + \else + \addcontentsline{toc}{\@chaptoclabel}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chaptertitleformat} +% Formats the chapter title +% \begin{macrocode} +\newcommand{\chaptertitleformat}[1]{% + \Huge\bfseries#1% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chapternumberformat} +% Formats the chapter number +% \begin{macrocode} +\newcommand{\chapternumberformat}[1]{% + \huge\bfseries \@chapapp\space#1\par\nobreak + \vskip 20\p@ +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chapterformat} +% Overall format for chapter headings +% \begin{macrocode} +\newcommand*{\chapterformat}{\raggedright} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postchapterskip} +% Vertical gap after chapter heading +% \begin{macrocode} +\newlength\postchapterskip +\setlength\postchapterskip{40pt} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\prechapterskip} +% Vertical gap before chapter heading +% \begin{macrocode} +\newlength\prechapterskip +\setlength\prechapterskip{50pt} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@makechapterhead} +% Chapter heading for numbered chapters +% \begin{macrocode} +\def\@makechapterhead#1{% + \null\vskip\prechapterskip + {\parindent \z@ \normalfont\chapterformat + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \chapternumberformat{\thechapter}% + \fi + \fi + \interlinepenalty\@M + \chaptertitleformat{#1}\par\nobreak + \vskip \postchapterskip + }} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@schapter} +% Unnumbered chapters. +% \begin{macrocode} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@makeschapterhead} +% Layout for unnumbered chapter headings +% \begin{macrocode} +\def\@makeschapterhead#1{% + \vspace*{\prechapterskip}% + {\parindent \z@ + \normalfont\chapterformat + \interlinepenalty\@M + \chaptertitleformat{#1}\par\nobreak + \vskip \postchapterskip + }} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\l@chapter} +% Format for chapter entry in toc +% \begin{macrocode} +\newcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \large\bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\l@appendix} +% Make appendix entries in the toc the same as that for chapters +% by default +% \begin{macrocode} +\let\l@appendix\l@chapter +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chaptername} +% \begin{macrocode} +\newcommand\chaptername{Chapter} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\frontmatter} +% Start the front matter (in book) +% \begin{macrocode} +\newcommand\frontmatter{% + \cleardoublepage + \@mainmatterfalse + \pagenumbering{roman}% + \morefrontmatter +} +\newcommand\morefrontmatter{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\mainmatter} +% Start the main matter (in book) +% \begin{macrocode} +\newcommand\mainmatter{% + \cleardoublepage + \@mainmattertrue + \pagenumbering{arabic}% + \moremainmatter +} +\newcommand\moremainmatter{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\backmatter} +% Start the back matter (in book) +% \begin{macrocode} +\newcommand\backmatter{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@mainmatterfalse} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\booktableofcontents} +% This is for the main table of contents when using +% the combine class file, and is not for use in individual +% articles. +% \begin{macrocode} +\let\booktableofcontents\tableofcontents +% \end{macrocode} +%\end{macro} +%\begin{macro}{\arttableofcontents} +% Table of contents for individual articles. +% \begin{macrocode} +\let\arttableofcontents\tableofcontents +% \end{macrocode} +%\end{macro} +%\begin{macro}{\artpart} +% A part in an article +% \begin{macrocode} +\newcommand{\artpart}{% + \if@noskipsec \leavevmode\fi + \par + \addvspace{4ex}% + \@afterindentfalse + \secdef\@artpart\@sartpart +} +\let\@artpart\@part +\let\@sartpart\@spart +% \end{macrocode} +%\end{macro} +%\begin{macro}{\bookpart} +% A part in a book forming a collection of articles +% \begin{macrocode} +\newcommand\bookpart{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \thispagestyle{plain}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \preparthook + \secdef\@bookpart\@sbookpart} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\parttitleformat} +% Format of the title for a part (in a book) +% \begin{macrocode} +\newcommand{\parttitleformat}[1]{% + \Huge\bfseries#1% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\partnumberformat} +% Format of the part number (in a book) +% \begin{macrocode} +\newcommand{\partnumberformat}[1]{% + \Huge\bfseries \partname\nobreakspace#1\par\nobreak + \vskip 20\p@ +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\preparthook} +% Hook at the start of a part (in a book) +% \begin{macrocode} +\newcommand{\preparthook}{\null\vfil} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\partformat} +% Overall format of part +% \begin{macrocode} +\renewcommand*{\partformat}{\centering} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@bookpart} +% Numbered book part format +% \begin{macrocode} +\def\@bookpart[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\interlinepenalty \@M + \normalfont\partformat + \ifnum \c@secnumdepth >-2\relax + \partnumberformat{\thepart}% + \fi + \parttitleformat{#2}\par}% + \postparthook} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@sbookpart} +% Unnumbered book part format +% \begin{macrocode} +\def\@sbookpart#1{% + {\interlinepenalty \@M + \normalfont\partformat + \parttitleformat{#1}\par}% + \postparthook} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postparthook} +% Hook after part heading +% \begin{macrocode} +\def\postparthook{\vfil\newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\bookappendix} +% Switch to appendices in book +% \begin{macrocode} +\newcommand\bookappendix{\par + \setcounter{table}{0}% + \setcounter{figure}{0}% + \zeroextracounters + \par + \gdef\theHchapter{\Alph {chapter}}% + \xdef\Hy@chapapp{\Hy@appendixstring}% + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \gdef\@chapapp{\appendixname}% + \gdef\thechapter{\@Alph\c@chapter}% + \csname appendixmore\endcsname +} +% \end{macrocode} +%\end{macro} +% Define commands to switch between book/article modes +%\begin{macro}{\jmlrbookcommands} +% Switch to book commands +% \begin{macrocode} +\newcommand*{\jmlrbookcommands}{% + \let\part\bookpart + \let\chapter\bookchapter + \let\appendix\bookappendix + \let\tableofcontents\booktableofcontents + \def\thesection{\thechapter.\arabic{section}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlarticlecommands} +% Switch to article commands +% \begin{macrocode} +\newcommand*{\jmlrarticlecommands}{% + \let\part\artpart + \let\chapter\artchapter + \let\appendix\artappendix + \let\tableofcontents\arttableofcontents + \def\thesection{\arabic{section}}% +} +% \end{macrocode} +%\end{macro} +% Check for packages that are known to cause problems when +% combining articles into a book. +%\begin{macro}{\@jmlr@check@packages} +% \begin{macrocode} +\newcommand*{\@jmlr@check@packages}{% + \@ifpackageloaded{epsfig}{% + \ClassError{jmlr}{Obsolete package `epsfig' detected. + \MessageBreak + Please use \string\includegraphics\space to include images + instead}{}}{}% + \@ifpackageloaded{psfig}{% + \ClassError{jmlr}{Obsolete package `psfig' detected. + \MessageBreak + Please use \string\includegraphics\space to include images + instead}{}}{}% + \@ifpackageloaded{subfig}{% + \ClassError{jmlr}{Package `subfig' detected.\MessageBreak + This will cause a conflict if the article is incorporated + \MessageBreak + into a book using jmlbook.cls. + \MessageBreak + Please use \string\subfigure\space and + \string\subtable\space instead}{}}{}% + \@ifpackageloaded{theorem}{% + \ClassError{jmlr}{Package `theorem' detected.\MessageBreak + This can cause a conflict with other packages used by jmlr}{}}{}% + \@ifpackageloaded{pdfpages}{Package `pdfpages' detected.\MessageBreak + This can cause a problem for jmlrbook.}{}% + \@ifpackageloaded{geometry}{Package `geometry' detected.\MessageBreak + This can cause a problem for jmlrbook.}{}% +} +\AtBeginDocument{% +\@jmlr@check@packages +\let\@jmlr@check@packages\relax +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\jmlrSuppressPackageChecks} +% Don't check for potentially problematic packages. +% \begin{macrocode} +\newcommand*{\jmlrSuppressPackageChecks}{% + \let\@jmlr@check@packages\relax +} +% \end{macrocode} +%\end{macro} +%\iffalse +% \begin{macrocode} +%</jmlr.cls> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*jmlrbook.cls> +% \end{macrocode} +%\fi +%\section{jmlrbook.cls Code} +% Class file for books composed of articles using the \clsfmt{jmlr} class. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +% \end{macrocode} +% Declare class: +% \begin{macrocode} +\ProvidesClass{jmlrbook}[2010/06/17 v1.06 (NLCT) JMLR Book Style] +% \end{macrocode} +% Need \sty{xkeyval} package to have key=value class options +% \begin{macrocode} +\RequirePackage{xkeyval} +% \end{macrocode} +% Some packages need to be loaded before \sty{hyperref} so provide a +% hook to do this: +% \begin{macrocode} +\newcommand*{\@prehyperref}{} +% \end{macrocode} +% Option to add stuff before \sty{hyperref} is loaded: +% \begin{macrocode} +\define@key{jmlrbook.cls}{prehyperref}{% + \renewcommand*{\@prehyperref}{#1}} +% \end{macrocode} +% Determine whether to select color or grayscale +% \begin{macrocode} +\newif\ifgrayscale +\grayscalefalse +\DeclareOptionX{color}{\grayscalefalse} +\DeclareOptionX{gray}{\grayscaletrue} +% \end{macrocode} +% Pass \clsopt{html} and \clsopt{nohtml} to \clsfmt{jmlr}. +% \begin{macrocode} +\DeclareOptionX{html}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{nohtml}{\PassOptionsToClass{\CurrentOption}{jmlr}} +% \end{macrocode} +% Pass \clsopt{wcp} and \clsopt{nowcp} options to \clsfmt{jmlr}. +% \begin{macrocode} +\DeclareOptionX{wcp}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{nowcp}{\PassOptionsToClass{\CurrentOption}{jmlr}} +% \end{macrocode} +% Pass \clsopt{tablecaptiontop} and \clsopt{tablecaptionbottom} options +% to \clsfmt{jmlr}. +% \begin{macrocode} +\DeclareOptionX{tablecaptiontop}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{tablecaptionbottom}{\PassOptionsToClass{\CurrentOption}{jmlr}} +% \end{macrocode} +% Process options +% \begin{macrocode} +\ProcessOptionsX +% \end{macrocode} +% If \ics{jmlrgrayscale} has been defined, let it override the +% class options. If it is defined, it should be set to 0 for the +% online version and any other number for the grayscale print +% version. +% \begin{macrocode} +\@ifundefined{jmlrgrayscale}{}% +{% + \ifnum\jmlrgrayscale=0\relax + \grayscalefalse + \else + \grayscaletrue + \fi +} +% \end{macrocode} +% Load \cls{combine} class. This requires a little bit of trickery. +% \begin{macrocode} +\let\@org@LoadClass\LoadClass +\def\LoadClass#1{\let\LoadClass\@org@LoadClass\@org@LoadClass{jmlr}} +\@org@LoadClass{combine} +% \end{macrocode} +% Requires \sty{combnat} to work with \sty{natbib}: +% \begin{macrocode} +\RequirePackage{combnat} +% \end{macrocode} +% Need to apply a patch to \sty{combnat} (this has now been fixed +% in \sty{combnat}, but user might be using an old version): +% \begin{macrocode} +\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} +% \end{macrocode} +% Requires double spacing for the title page +% \begin{macrocode} +\RequirePackage{setspace} +% \end{macrocode} +% Do all the stuff that needs to be done before \sty{hyperref} is +% loaded: +% \begin{macrocode} +\@prehyperref +% \end{macrocode} +% Load \sty{hyperref}: +% \begin{macrocode} +\usepackage[colorlinks, + linkcolor=blue, + citecolor=blue, + urlcolor=magenta, + linktocpage, + plainpages=false]{hyperref} +\usepackage{nameref} +% \end{macrocode} +% If this is the print version, need to disable the hyperlinks +% \begin{macrocode} +\ifgrayscale + \hypersetup{draft} +\fi +% \end{macrocode} +% Switch on two-side mode +% \begin{macrocode} +\@twosidetrue +% \end{macrocode} +% Start new chapters on the right hand page: +% \begin{macrocode} +\newif\if@openright +\@openrighttrue +\newif\if@mainmatter +% \end{macrocode} +% Define commands that affect the formatting: +%\begin{macro}{\pagerule} +% Draw line across the text block. +% \begin{macrocode} +\newcommand*{\pagerule}[1][0pt]{\par\noindent + \rule[#1]{\linewidth}{2pt}\par} +% \end{macrocode} +%\end{macro} +% Cross-reference chapters: +% \begin{macrocode} +\newcommand*{\chapterrefname}{Chapter} +\newcommand*{\chaptersrefname}{Chapters} +% \end{macrocode} +%\begin{macro}{\chapterref} +% \begin{macrocode} +\newcommand*{\chapterref}[1]{% + \objectref{#1}{\chapterrefname}{\chaptersrefname}{}{}} +% \end{macrocode} +%\end{macro} +% +% Cross-referencing imported articles: +%\begin{macro}{\articlepageref} +% Page number of start of article +% \begin{macrocode} +\newcommand*{\articlepageref}[1]{% + \pageref{#1jmlrstart}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\articlepagesref} +% Page range of article +% \begin{macrocode} +\newcommand*{\articlepagesref}[1]{% + \pageref{#1jmlrstart}--\pageref{#1jmlrend}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@articlepagesref} +% Page range of article for use within the article +% \begin{macrocode} +\newcommand*{\@articlepagesref}{% + \pageref{jmlrstart}--\pageref{jmlrend}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\articletitleref} +% Reference the short title of an imported article +% \begin{macrocode} +\newcommand*{\articletitleref}[1]{\nameref{#1jmlrstart}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\articleauthorref} +% Reference the authors of an imported article +% \begin{macrocode} +\newcommand*{\articleauthorref}[1]{% + \@ifundefined{@jmlr@author@#1}% + {% + \ClassWarning{jmlrbook}{Label `#1' undefined}% + }% + {% + \@nameuse{@jmlr@author@#1}% + }% +} +% \end{macrocode} +%\end{macro} +% +% Part labels +% \begin{macrocode} +\newcommand*{\@parttoclabel}{part} +\newcommand*{\@partapp}{\partname} +% \end{macrocode} +% +% Extra title information +% \begin{macrocode} +\renewcommand*\jmlrtitlehook{% + \hypersetup{pdftitle={\@shorttitle}}% + \let\jmlrtitlehook\relax +} +\renewcommand*\jmlrauthorhook{% + \ifx\@sauthor\@empty + \hypersetup{pdfauthor={\@author}}% + \else + \hypersetup{pdfauthor={\@sauthor}}% + \fi + \let\jmlrauthorhook\relax + \let\@shortauthor\@empty +} +% \end{macrocode} +%\begin{macro}{\volume} +% \begin{macrocode} +\newcommand*{\@volume}{\@jmlrvolume} +\newcommand*{\volume}[1]{\renewcommand*{\@volume}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\issue} +% \begin{macrocode} +\newcommand*{\@issue}{\@jmlrissue} +\newcommand*{\issue}[1]{\renewcommand*{\@issue}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\thejmlrworkshop} +% Provided in the event that it's required for the title page. +% \begin{macrocode} +\newcommand*{\thejmlrworkshop}{\@jmlrworkshop} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\team} +% \begin{macrocode} +\newcommand*{\@team}{} +\newcommand*{\team}[1]{\renewcommand*{\@team}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@productioneditorname} +% \begin{macrocode} +\newcommand*{\@productioneditorname}{Production Editor} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\productioneditor} +% \begin{macrocode} +\newcommand*{\@productioneditor}{} +\newcommand*{\productioneditor}[1]{% + \renewcommand*{\@productioneditor}{#1}% + \renewcommand*{\@productioneditorname}{Production Editor}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\productioneditors} +% \begin{macrocode} +\newcommand*{\productioneditors}[1]{% + \renewcommand*{\@productioneditor}{#1}% + \renewcommand*{\@productioneditorname}{Production Editors}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\logo} +% Title page image +% \begin{macrocode} +\newcommand*{\@logo}{} +\newcommand*{\logo}[1]{\renewcommand*{\@logo}{#1}} +% \end{macrocode} +%\end{macro} +% +% Set article title +% \begin{macrocode} +\def\c@lbmaketitle{\jmlrmaketitle} +% \end{macrocode} +% The book's title: +%\begin{macro}{\maintitle} +% \begin{macrocode} +\newcommand*{\maintitle}{} +% \end{macrocode} +%\end{macro} +% +% Make it easier to modify the book's title page: +%\begin{macro}{\SetTitleElement} +% \begin{macrocode} +\newcommand*{\SetTitleElement}[3]{% + {% + \expandafter\ifx\csname @#1\endcsname\@empty + \else + #2\csname @#1\endcsname#3% + \fi + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\IfTitleElement} +% Determine if the given element has been set: +% \begin{macrocode} +\newcommand{\IfTitleElement}[3]{% + \expandafter\ifx\csname @#1\endcsname\@empty + #2% + \else + #3% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\titlebody} +% \begin{macrocode} +\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}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\c@lamaketitle} +% \begin{macrocode} +\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\@volume\@empty + \else + Volume \@volume + \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 +% \end{macrocode} +%\end{macro} +%\begin{macro}{\maintitlefont} +% \begin{macrocode} +\renewcommand{\maintitlefont}{% + \null\vskip15pt\relax\par + \flushleft\Huge\bfseries\noindent} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmaintitle} +% \begin{macrocode} +\renewcommand{\postmaintitle}{% + \par\relax +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\mainvolumefont} +% \begin{macrocode} +\newcommand{\mainvolumefont}{% + \flushleft\noindent\LARGE\bfseries Volume +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainvolume} +% \begin{macrocode} +\newcommand{\postmainvolume}{% + \IfTitleElement{subtitle}{}{:}\par\relax +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mainissuefont} +% \begin{macrocode} +\newcommand{\mainissuefont}{% + \flushleft\noindent\LARGE\bfseries Issue +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainissue} +% \begin{macrocode} +\newcommand{\postmainissue}{% + \par\relax +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mainsubtitlefont} +% \begin{macrocode} +\newcommand{\mainsubtitlefont}{% + \flushleft\LARGE\bfseries\noindent} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainsubtitle} +% \begin{macrocode} +\newcommand{\postmainsubtitle}{\par} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mainlogofont} +% \begin{macrocode} +\newcommand{\mainlogofont}{% + \vfill + \begin{center}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainlogo} +% \begin{macrocode} +\newcommand{\postmainlogo}{\end{center}\vfill\par} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mainteamfont} +% \begin{macrocode} +\newcommand{\mainteamfont}{\flushleft\bfseries\Large\noindent} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainteam} +% \begin{macrocode} +\newcommand{\postmainteam}{\par} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\mainauthorfont} +% \begin{macrocode} +\renewcommand{\mainauthorfont}{% + \flushleft\Large\itshape\doublespacing\noindent} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainauthor} +% \begin{macrocode} +\renewcommand{\postmainauthor}{% +\par} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mainproductioneditorfont} +% \begin{macrocode} +\newcommand{\mainproductioneditorfont}{% + \flushleft\Large\noindent \@productioneditorname: \itshape} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmainproductioneditor} +% \begin{macrocode} +\newcommand{\postmainproductioneditor}{\par} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\maindatefont} +% \begin{macrocode} +\renewcommand{\maindatefont}{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postmaindate} +% \begin{macrocode} +\renewcommand{\postmaindate}{} +% \end{macrocode} +%\end{macro} +% +%\begin{environment}{signoff} +% Editorial team listed at the end of a preface etc. The mandatory +% argument is the date, the optional argument is the team title. +% Each editor should be separated with \ics{Editor}. +% \begin{macrocode} +\newenvironment{signoff}[2][The Editorial Team]{% + \def\Editor##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:\par\vskip\baselineskip + \fi + \noindent\ignorespaces +}{% +} +% \end{macrocode} +%\end{environment} +%\begin{environment}{authorsignoff} +% An author can sign off at the end of a chapter (such as a +% foreword). +% Each author should be separated with \ics{Author}. +% \begin{macrocode} +\newenvironment{authorsignoff}{% + \def\Author##1{\begin{tabular}{@{}l@{}}% + ##1% + \end{tabular}% + \par\vskip\baselineskip\noindent\ignorespaces + }% + \par\vskip\baselineskip\noindent\ignorespaces +}{% +} +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\seroextracounters} +% Reset counters at the start of each imported article +% \begin{macrocode} +\renewcommand{\zeroextracounters}{% + \@ifundefined{c@theorem}{}{\setcounter{theorem}{0}}% + \@ifundefined{c@algorithm}{}{\setcounter{algorithm}{0}}% + \@ifundefined{c@example}{}{\setcounter{example}{0}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\contentsname} +% Redcfine title of the table of contents +% \begin{macrocode} +\renewcommand*{\contentsname}{Table of Contents} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\theHalgorithm} +% \begin{macrocode} +\def\theHalgorithm{\thechapter.\thealgorithm} +% \end{macrocode} +%\end{macro} +\def\theHexample{\thechapter.\theexample} +\def\theHtheorem{\thechapter.\thetheorem} +%\begin{macro}{\theHsection} +% \begin{macrocode} +\def\theHsection{\thechapter.\thesection} +\def\theHsubsection{\thechapter.\thesubsection} +\def\theHsubsubsection{\thechapter.\thesubsubsection} +\def\theHparagraph{\thechapter.\theparagraph} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\theHsubfigure} +% \begin{macrocode} +\def\theHsubfigure{\thechapter.\thefigure.\thesubfigure} +\def\theHsubtable{\thechapter.\thetable.\thesubtable} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\mailto} +% \begin{macrocode} +\renewcommand*{\mailto}[1]{% + \href{mailto:#1}{\nolinkurl{#1}}% +} +% \end{macrocode} +%\end{macro} +% \begin{macrocode} +\c@lhaschapterfalse +\let\c@lthesec\thesection +% \end{macrocode} +% Make sure the hyperlinks work +%\begin{macro}{\doimportchapterHref} +% \begin{macrocode} +\newcommand\doimportchapterHref{% + \edef\@currentHref{chapter.\thechapter}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\toclevel@appendix} +% Set the toc level for the main appendices +% \begin{macrocode} +\def\toclevel@appendix{-1} +% \end{macrocode} +%\end{macro} +% +% \sty{hyperref} and \cls{combine} don't play nicely +% need to fudge the cross-referencing a bit. +%\begin{macro}{\Xprefix} +% \begin{macrocode} +\def\Xprefix{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Xref} +% \begin{macrocode} +\DeclareRobustCommand\Xref{\@ifstar\@Xrefstar\T@Xref}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Xpageref} +% \begin{macrocode} +\DeclareRobustCommand\Xpageref{% + \@ifstar\@Xpagerefstar\T@Xpageref +}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\HyRef@StarSetXRef} +% \begin{macrocode} +\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 +} +% \end{macocode} +%\end{macro} +% +%\begin{macro}{\@Xrefstar} +% \begin{macrocode} +\def\@Xrefstar#1{% + \HyRef@StarSetXRef{#1}\@firstoffive +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@Xpagerefstar} +% \begin{macrocode} +\def\@Xpagerefstar#1{% + \HyRef@StarSetXRef{#1}\@secondoffive +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\T@Xref} +% \begin{macrocode} +\def\T@Xref#1{% + \Hy@safe@activestrue + \expandafter\@setXref\csname r@\Xprefix#1\endcsname\@firstoffive{#1}% + \Hy@safe@activesfalse +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\T@Xpageref} +% \begin{macrocode} +\def\T@Xpageref#1{% + \Hy@safe@activestrue + \expandafter\@setXref\csname r@\Xprefix#1\endcsname\@secondoffive{#1}% + \Hy@safe@activesfalse +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Xlabel} +% \begin{macrocode} +\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 +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@setXref} +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@secondoffive} +% Something's redefining \cs{@secondoffive} incorrectly at the +% start of the document when hyperref's draft mode is on. Need +% to fix it. +% \begin{macrocode} +\AtBeginDocument{\renewcommand\@secondoffive[5]{#2}} +% \end{macrocode} +%\end{macro} +% +% Need to write imported chapter label to main auxfile. +%\begin{macro}{\@setimportlabel} +% \begin{macrocode} +\def\@setimportlabel{% + \let\@mainauxout\@auxout + \let\HRlabel\label +} +% \end{macrocode} +%\end{macro} +% \begin{macrocode} +\AtBeginDocument{% + \@setimportlabel + \gdef\@setimportlabel{\let\ref\Xref \let\pageref\Xpageref}% + \let\ReadBookmarks\relax +} +% \end{macrocode} +% Imported papers modify \ics{InputIfFileExists} so save original +% definition. +% \begin{macrocode} +\let\@org@InputIfFileExists\InputIfFileExists +% \end{macrocode} +% +%\begin{environment}{jmlrpapers} +% \begin{macrocode} +\newenvironment{jmlrpapers}{% + \begin{papers}[] + \jmlrarticlecommands + \let\importpubpaper\@importpubpaper + \let\importpaper\@importpaper + \let\importarticle\@importarticle + \let\label\Xlabel + \let\ref\Xref + \pagestyle{article}% +}{% + \end{papers} +} +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\addtomaincontents} +% \begin{macrocode} +\newcommand{\addtomaincontents}[2]{% + \protected@write\@mainauxout{\let\label\@gobble\let\index\@gobble + \let\glossary\@gobble}{\string\@writefile{#1}{#2}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@write@author} +% \begin{macrocode} +\newcommand*{\@write@author}[2]{% + \def\@jmlr@authors@sep{ and }% + \protected@write\@mainauxout{}{% + \string\@new@articleauthor{#1}{#2}% + }% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@new@articleauthor} +% \begin{macrocode} +\newcommand*{\@new@articleauthor}[2]{% + \expandafter\gdef\csname @jmlr@author@#1\endcsname{% + \hyperref[#1jmlrstart]{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@write@jmlr@import} +% The accompanying \app{makejmlrbook} Perl script scans the aux file +% for information. Any articles imported using \ics{importpubpaper}, +% \ics{importpaper} or \ics{importarticle} need to write the +% relevant information to the aux file. +% \begin{macrocode} +\newcommand*{\@write@jmlr@import}[3]{% + \protected@write\@mainauxout{}{\string\@jmlr@import{#1}{#2}{#3}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@jmlr@import} +% \LaTeX\ should ignore \cs{@jmlr@import} as it's only needed for +% \app{makejmlrbook}: +% \begin{macrocode} +\newcommand*{\@jmlr@import}[3]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\importpubpaper} +% Import a document that has already been published. +% Syntax: \cs{importpubpaper}\oarg{label}\marg{dir}\marg{file}\marg{pages} +% where \meta{dir} is the directory in which the paper is located, +% \meta{file} is the name of the file and \meta{pages} indicates +% the page range \emph{for the original version}. The optional +% argument is a label. This is used to prefix the labels and +% citations in the document so they don't clash with other imported +% articles. If omitted, \meta{dir}/\meta{file} is used instead. +% \begin{macrocode} +\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{% + \refstepcounter{chapter}% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterpubauthor{\@jmlrauthors}% + {% + \@jmlrabbrvproceedings + \ifx\@jmlrvolume\@empty + \ifx\@jmlrpages\@empty\else\space\fi + \else + \space\@jmlrvolume + \ifx\@jmlrpages\@empty\else:\fi + \fi + \ifx\@jmlrpages\@empty + \else + \@jmlrpages + \ifx\@jmlryear\@empty\else,\fi + \fi + \space\@jmlryear + }% + \@write@author{#1}{\@jmlrauthors}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \gdef\@jmlrauthors{}% + \gdef\@firstsurname{}% +} +\newcommand{\importpubpaper}[4][]{% + \ClassError{jmlrbook}{\string\importpubpaper\space +not permitted outside `jmlrpapers' environment}{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\importpaper} +% Like \cs{importpubpaper} but sets the pages to the page-range for +% this book. +% \begin{macrocode} +\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{% + \refstepcounter{chapter}% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterpubauthor{\@jmlrauthors}% + {% + \@jmlrabbrvproceedings + \ifx\@jmlrvolume\@empty + \space + \else + \space\@jmlrvolume:% + \fi + \protect\articlepagesref{#1}% + \ifx\@jmlryear\@empty\else,\fi + \space\@jmlryear + }% + \@write@author{#1}{\@jmlrauthors}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \gdef\@jmlrauthors{}% + \gdef\@firstsurname{}% +} + +\newcommand{\importpaper}[3][]{% + \ClassError{jmlrbook}{\string\importpaper\space +not permitted outside `jmlrpapers' environment}{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\importarticle} +% Import a document that hasn't been published. +% Syntax: \cs{importarticle}\oarg{label}\marg{dir}\marg{file} +% where \meta{dir} is the directory in which the paper is located and +% \meta{file} is the name of the file. The optional +% argument is a label. This is used to prefix the labels and +% citations in the document so they don't clash with other imported +% articles. If omitted, \meta{file} is used instead. +% \begin{macrocode} +\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{% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \refstepcounter{chapter}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterauthor{\@jmlrauthors}% + \@write@author{#1}{\@jmlrauthors}% + \jmlrpages{}% + \jmlrvolume{}% + \jmlryear{}% + \jmlrsubmitted{}% + \jmlrpublished{}% + \jmlrproceedings{}{}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \graphicspath{{\@importdir}}% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \gdef\@jmlrauthors{}% + \gdef\@firstsurname{}% +} +\newcommand{\importarticle}[3][]{% + \ClassError{jmlrbook}{\string\importarticle\space +not permitted outside `jmlrpapers' environment}{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\addtocpart} +% Add a part to the TOC without printing anything in the text +% (but does a \cs{cleardoublepage}). +% \begin{macrocode} +\newcommand{\addtocpart}[1]{% + \cleardoublepage + \refstepcounter{tocpart}% + \addtocontents{toc}{\protect\tocpart{#1}}% + \pdfbookmark[-1]{#1}{part.\thetocpart}% +} +\newcounter{tocpart} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\tocpart} +% Define the appearance of a part in the TOC. +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +% +% Set up the layout of the chapter headings +% \begin{macrocode} +\setlength{\prechapterskip}{3em} +\setlength{\postchapterskip}{20pt} +% \end{macrocode} +% +%\begin{macro}{\chapternumberformat} +% \begin{macrocode} +\renewcommand{\chapternumberformat}[1]{% + \Large\bfseries \@chapapp\space#1\par +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\chaptertitleformat} +% \begin{macrocode} +\renewcommand{\chaptertitleformat}[1]{% + \Large\bfseries #1} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\chapterformat} +% \begin{macrocode} +\renewcommand*{\chapterformat}{% + \raggedright +} +% \end{macrocode} +%\end{macro} +% Set up the format of a part in the book (not a part in an +% article). +%\begin{macro}{\preparthook} +% \begin{macrocode} +\renewcommand{\preparthook}{\cleardoublepage\null\vfil} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\partnumberformat} +% \begin{macrocode} +\renewcommand{\partnumberformat}[1]{% + \Huge\bfseries \@partapp\nobreakspace#1\par\nobreak + \vskip 20\p@ +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\postparthook} +% \begin{macrocode} +\def\postparthook{% + \thispagestyle{empty}% + \vfil\newpage + \null + \thispagestyle{empty}% + \newpage +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@curparthead} +% The heading of the current part +% \begin{macrocode} +\newcommand{\@curparthead}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\parttitleformat} +% \begin{macrocode} +\renewcommand{\parttitleformat}[1]{#1% + \gdef\@curparthead{\@partapp\space \thepart. #1}% + \@mkboth{\@curparthead}{\@curparthead}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\firstpageno} +% Change \cs{firstpageno} to do nothing as the page number will +% be determined by the book. +% \begin{macrocode} +\renewcommand{\firstpageno}[1]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\tocchapterauthor} +% Add the author of the current chapter to the table of contents. +% \begin{macrocode} +\newcommand{\tocchapterauthor}[1]{% + \addtomaincontents{toc}{\protect\contentsline{chapterauthor}{% + #1}{}{}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\tocchapterpubauthor} +% Add the author of an imported prepublished paper to the +% table of contents. The first argument is the author (or list +% of authors). The second argument is the reference to the +% published article. +% \begin{macrocode} +\newcommand{\tocchapterpubauthor}[2]{% + \addtomaincontents{toc}{\protect\contentsline{chapterauthor}{% + #1; #2.}{}{}}% +} +% \end{macrocode} +%\end{macro} +% +% Set up the formatting in the TOC +% \begin{macrocode} +\renewcommand*\@pnumwidth{2em} +% \end{macrocode} +% +%\begin{macro}{\l@part} +% Format for book parts +% \begin{macrocode} +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{5em}% + \vbox{% + \pagerule + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \large\bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + \renewcommand*\numberline[1]{\hb@xt@ \@tempdima + {\partname\space ##1\hfil }}% + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss }\par + \penalty\@highpenalty + \endgroup + \pagerule + }% + \fi} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\l@papertitle} +% \begin{macrocode} +\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 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\l@chapterauthor} +% \begin{macrocode} +\newcommand*\l@chapterauthor[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \raggedright + #1% + \par + \endgroup + \fi} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\l@section} +% \begin{macrocode} +\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} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\l@subsection} +% \begin{macrocode} +\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} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\chaptermark} +% \begin{macrocode} +\renewcommand*{\chaptermark}[1]{% + \@mkboth{\@curparthead}{\protect\thechapter. #1}% +} +% \end{macrocode} +%\end{macro} +% +% Set up page styles +%\begin{macro}{\firstpagehead} +% \begin{macrocode} +\newcommand{\firstpagehead}{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\firstpagefoot} +% \begin{macrocode} +\newcommand{\firstpagefoot}{\hfill\thepage} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\headfont} +% Set the header font +% \begin{macrocode} +\renewcommand*{\headfont}{\reset@font\small\scshape}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\footfont} +% Set the footer font +% \begin{macrocode} +\renewcommand*{\footfont}{\reset@font\small\itshape}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ps@chplain} +% Page style for first page of a chapter +% \begin{macrocode} +\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 +% \end{macrocode} +%\end{macro} +%\begin{macro}{\ps@article} +% Page style for the imported articles. +% \begin{macrocode} +\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} +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ps@jmlrbook} +% Page style for book +% \begin{macrocode} +\newcommand*{\ps@jmlrbook}{% + \ps@headings + \renewcommand*{\sectionmark}[1]{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\morefrontmatter} +% \begin{macrocode} +\renewcommand*{\morefrontmatter}{\pagestyle{jmlrbook}% + \def\chaptermark##1{% + \@mkboth{##1\hfill}{\hfill##1}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\moremainmatter} +% \begin{macrocode} +\renewcommand*{\moremainmatter}{\pagestyle{jmlrbook}% + \def\chaptermark##1{% + \@mkboth{\@curparthead}{\protect\thechapter. ##1}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\bibsection} +% Set the bibliography headings in the articles +% \begin{macrocode} +\renewcommand*\bibsection{\section*{\refname}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@bookpart} +% Define the layout of a book part +% \begin{macrocode} +\def\@bookpart[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{\@parttoclabel}{% + \protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{\@parttoclabel}{#1}% + \fi + \markboth{}{}% + {\interlinepenalty \@M + \normalfont\partformat + \ifnum \c@secnumdepth >-2\relax + \partnumberformat{\thepart}% + \fi + \parttitleformat{#2}\par}% + \postparthook} +% \end{macrocode} +%\end{macro} +% +% Set up the book commands: +% \begin{macrocode} +\jmlrbookcommands +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</jmlrbook.cls> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/Master/texmf-dist/source/latex/jmlr/jmlr.ins b/Master/texmf-dist/source/latex/jmlr/jmlr.ins new file mode 100644 index 00000000000..e8d06b7968a --- /dev/null +++ b/Master/texmf-dist/source/latex/jmlr/jmlr.ins @@ -0,0 +1,33 @@ +% jmlr.ins generated using makedtx version 0.94b 2010/6/17 20:52 +\input docstrip + +\preamble + + jmlr.dtx + Copyright 2010 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 of (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 jmlr.cls, jmlrbook.cls. + +\endpreamble + +\askforoverwritefalse + +\generate{\file{jmlr.cls}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{jmlr.dtx}{jmlr.cls,package}} +\file{jmlrbook.cls}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{jmlr.dtx}{jmlrbook.cls,package}} +} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlr.cls b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls new file mode 100644 index 00000000000..eb9d45ebe6f --- /dev/null +++ b/Master/texmf-dist/tex/latex/jmlr/jmlr.cls @@ -0,0 +1,969 @@ +%% +%% This is file `jmlr.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% jmlr.dtx (with options: `jmlr.cls,package') +%% +%% jmlr.dtx +%% Copyright 2010 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 of (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 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{jmlr}[2010/06/17 v1.06 (NLCT) Journal of Machine Learning Research] +\newif\if@openright +\newif\if@mainmatter \@mainmattertrue +\@ifundefined{ifgrayscale}{ + \newif\ifgrayscale + \grayscalefalse +}{} +\DeclareOption{color}{\grayscalefalse + \PassOptionsToPackage{color}{xcolor}} +\DeclareOption{gray}{\grayscaletrue + \PassOptionsToPackage{gray}{xcolor}} +\newif\iftablecaptiontop +\tablecaptiontoptrue +\DeclareOption{tablecaptiontop}{\tablecaptiontoptrue} +\DeclareOption{tablecaptionbottom}{\tablecaptionbottomtrue} +\newif\ifjmlrhtml +\jmlrhtmlfalse +\DeclareOption{html}{\jmlrhtmltrue} +\DeclareOption{nohtml}{\jmlrhtmlfalse} +\def\pt@size{11pt} +\DeclareOption{10pt}{\renewcommand{\pt@size}{10}% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{11pt}{\renewcommand{\pt@size}{11}% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{12pt}{\renewcommand{\pt@size}{12}% + \PassOptionsToClass{\CurrentOption}{article}} +\newcommand*{\@jmlrproceedings}{Journal of Machine Learning Research} +\newcommand*{\@jmlrabbrvproceedings}{JMLR} +\newcommand*{\jmlrproceedings}[2]{% + \renewcommand*{\@jmlrabbrvproceedings}{#1}% + \renewcommand*{\@jmlrproceedings}{#2}% +} +\newcommand*{\jmlrnowcp}{% + \jmlrproceedings{JMLR}{Journal of Machine Learning Research}% +} +\newcommand*{\jmlrwcp}{% + \jmlrproceedings{JMLR WC\&P}{JMLR: Workshop and Conference Proceedings}% +} +\DeclareOption{nowcp}{\jmlrnowcp} +\DeclareOption{wcp}{\jmlrwcp} +\newif\ifviiXx +\viiXxfalse +\DeclareOption{7x10}{\viiXxtrue} +\DeclareOption{letterpaper}{\PassOptionsToPackage{letterpaper}{typearea}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ExecuteOptions{twoside,letterpaper} +\ProcessOptions +\LoadClass[pointednumbers,normalheadings]{scrartcl} +\ifviiXx + \setlength{\paperwidth}{7in} + \setlength{\paperheight}{10in} + \setlength{\textwidth}{5.25in} + \setlength{\textheight}{8.2in} + \setlength{\topmargin}{0.4in} + \setlength{\headheight}{0.2in} + \setlength{\headsep}{0.2in} + \setlength{\hoffset}{-1in} + \setlength{\voffset}{-1in} + \setlength{\evensidemargin}{0.75in} + \setlength{\oddsidemargin}{1.0in} +\else + \setlength{\oddsidemargin}{0.25in} + \setlength{\evensidemargin}{0.25in} + \setlength{\marginparwidth}{0.07 true in} + \setlength{\topmargin}{-0.5in} + \addtolength{\headsep}{0.25in} + \setlength{\textheight}{8.5 true in} + \setlength{\textwidth}{6.0 true in} +\fi +\RequirePackage{amsmath} +\RequirePackage{amssymb} +\RequirePackage{natbib} +\RequirePackage{graphicx} +\RequirePackage{url} +\RequirePackage[x11names]{xcolor} +\RequirePackage[algo2e,ruled]{algorithm2e} +\renewcommand{\topfraction}{0.95} % let figure take up nearly whole page +\renewcommand{\textfraction}{0.05} % let figure take up nearly whole page +\widowpenalty=10000\relax +\clubpenalty=10000\relax +\@twosidetrue +\@mparswitchtrue +\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} +\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} +\ifjmlrhtml + \renewenvironment{abstract}{\HCode{<h3>}Abstract\HCode{</h3>}}{}% +\else + \renewenvironment{abstract} + {\centerline{\large\bfseries Abstract}\vspace{0.7ex}% + \bgroup + \leftskip 20pt\rightskip 20pt\small\noindent\ignorespaces}% + {\par\egroup\vskip 0.25ex} +\fi +\newenvironment{keywords} +{\bgroup\leftskip 20pt\rightskip 20pt \small\noindent{\bfseries +Keywords:} \ignorespaces}% +{\par\egroup\vskip 0.25ex} +\newlength\aftertitskip \newlength\beforetitskip +\newlength\interauthorskip \newlength\aftermaketitskip +%% Changeable parameters. +\setlength\aftertitskip{0.1in plus 0.2in minus 0.2in} +\setlength\beforetitskip{0.05in plus 0.08in minus 0.08in} +\setlength\interauthorskip{0.08in plus 0.1in minus 0.1in} +\setlength\aftermaketitskip{0.3in plus 0.1in minus 0.1in} +\renewcommand*{\title}[2][\@title]{% + \def\@shorttitle{#1}% + \def\@title{#2}% + \jmlrtitlehook +} +\newcommand*{\jmlrtitlehook}{} +\renewcommand*{\author}[2][]{% + \def\@author{#2}% + \def\@sauthor{#1}% + \ifx\@sauthor\@empty + \else + \let\@shortauthor\@sauthor + \fi + \jmlrauthorhook +} +\newcommand*{\jmlrauthorhook}{} +\newcommand*{\@shortauthor}{} +\newcommand*{\@firstauthor}{} +\newcommand*{\@firstsurname}{} +\newlength\jmlrlength +\def\jmlrmaketitle{% + \jmlrpremaketitlehook + \def\@jmlr@authors@sep{, }% + \par + \begingroup + \def\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}}% + \@jmlrmaketitle \@thanks + \endgroup +\label{jmlrstart}% +\ifx\@sauthor\@empty + \settowidth{\jmlrlength}{\@evenhead}% + \ifdim\jmlrlength>\textwidth + \def\@shortauthor{\@firstsurname\space et al.}% + \fi +\fi +\settowidth{\jmlrlength}{\@titlefoot}% +\ifdim\jmlrlength>\textwidth + \def\@jmlrauthors{\@firstauthor\space \emph{et al}}% +\fi +\jmlrmaketitlehook +\thispagestyle{jmlrtps}% +\setcounter{footnote}{0}% +\let\maketitle\relax \let\@maketitle\relax +\gdef\@thanks{}\gdef\@author{}\let\thanks\relax +\def\@jmlr@authors@sep{ \& }% +} +\newcommand*{\jmlrmaketitlehook}{} +\newcommand*{\jmlrpremaketitlehook}{} +\newcommand{\jmlrhtmlmaketitle}{% + \ifx\@jmlrauthors\@empty + \sbox\jmlrbox{\let\addr\relax\@author}% + \fi + \noindent\HCode{<h2>}\@title\HCode{</h2>} + \noindent\@jmlrauthors +} +%%\begin{macro}{\jmlrbox} +\newsavebox\jmlrbox +\ifjmlrhtml + \let\maketitle\jmlrhtmlmaketitle +\else + \let\maketitle\jmlrmaketitle +\fi +\def\@startauthor{\noindent \normalsize\bfseries} +\def\@endauthor{} +\def\@starteditor{\noindent \small {\bfseries \@edname:~}} +\def\@endeditor{\normalsize} +\def\jmlrpretitle{\vskip\beforetitskip\begin{center}\Large\bfseries} +\def\jmlrposttitle{\par\end{center}\vskip\aftertitskip} +\def\jmlrpreauthor{% +\bgroup + \def\and{\unskip\enspace{\normalfont and}\enspace}% + \def\addr{\small\itshape}% + \def\name{\ClassError{jmlr}{Use \string\Name{Author's Name} not \string\name}{}}% + \def\email{\ClassError{jmlr}{Use \string\Email{address} not \string\email}{}}% + \def\AND{\@endauthor\normalfont\hss \vskip \interauthorskip + \@startauthor}% + \@startauthor +} +\def\@email{\hfill\small\mdseries\scshape}% +\def\@name{\normalsize\upshape\bfseries}% +\def\@parsename#1 #2\@nil{% + \def\@tmp{#2}% + \ifx\@tmp\@empty + \def\@surname{#1}% + \let\@nextparsename\@parsenamenoop + \else + \@getinitial#1-\relax\relax\end + \ifx\@forenames\@empty + \def\@forenames{#1}% + \protected@edef\@initials{\@initial}% + \else + \expandafter\toks@\expandafter{\@forenames}% + \edef\@forenames{\space\the\toks@}% + \expandafter\toks@\expandafter{\@initials}% + \protected@edef\@initials{\the\toks@\@initial}% + \fi + \let\@nextparsename\@parsename + \fi + \@nextparsename#2\@nil +} +\def\@parsenamenoop#1\@nil{} +\def\@getinitial#1#2-#3#4\end{% + \def\@jmlr@tmp{#3}% + \if\@jmlr@tmp\relax + \def\@initial{#1.}% + \else + \def\@initial{#1.-#3.}% + \fi +} +\newcommand*{\Name}[1]{% + \def\@forenames{}% + \def\@surname{}% + \@parsename#1 \@nil + \ifx\@shortauthor\@empty + \ifx\@sauthor\@empty + \global\let\@shortauthor\@surname + \global\let\@firstsurname\@surname + \fi + \protected@xdef\@jmlrauthors{\@initials\space\@surname}% + \global\let\@firstauthor\@jmlrauthors + \else + \ifx\@sauthor\@empty + \expandafter\toks@\expandafter{\@shortauthor}% + \protected@xdef\@shortauthor{\the\toks@\space\@surname}% + \fi + \protected@xdef\@jmlrauthors{\@jmlrauthors + \noexpand\@jmlr@authors@sep + \@initials\space\@surname}% + \fi + \@name #1% +} +\newcommand*{\Email}[1]{{\@email #1}} +\def\jmlrpostauthor{\@endauthor\egroup + \par + \vskip \aftermaketitskip + \noindent + \ifx\@editor\@empty + \else + \@starteditor \@editor \@endeditor + \fi + \vskip \aftermaketitskip +} +\def\@jmlrmaketitle{\vbox{\hsize\textwidth + \linewidth\hsize + \jmlrpretitle \@title \jmlrposttitle + \jmlrpreauthor \@author \jmlrpostauthor +}} +\newcommand*\kernelmachines{(for + {\textsc{http://www.kernel-machines.org}})} +\newcommand*{\editorname}{Editor} +\newcommand*{\editorsname}{Editors} +\let\@edname\editorname +\def\@editor{} +\def\editor#1{% + \global\let\@edname\editorname + \gdef\@editor{#1}% +} +\def\editors#1{% + \global\let\@edname\editorsname + \gdef\@editor{#1}% +} +\def\firstpageno#1{\setcounter{page}{#1}} +\AtEndDocument{% + \@ifundefined{phantomsection}{}{\phantomsection}% + \protected@edef\@currentlabelname{end of \@shorttitle}% + \label{jmlrend}% +} +\newcommand*{\@titlefoot}{\scriptsize\copyright\space\@jmlryear + \space\@jmlrauthors.\hfill} +\newcommand\ps@jmlrtps{% + \let\@mkboth\@gobbletwo + \def\@oddhead{\scriptsize \@jmlrproceedings + \ifx\@jmlrvolume\@empty\else\space\@jmlrvolume\fi + \ifx\@jmlryear\@empty\else\space(\@jmlryear)\fi + \ifx\@jmlrpages\@empty\else\space\@jmlrpages\fi + \hfill + \ifx\@jmlrworkshop\@empty + \ifx\@jmlrsubmitted\@empty + \else + Submitted \@jmlrsubmitted + \ifx\@jmlrpublished\@empty\else;\fi + \fi + \ifx\@jmlrpublished\@empty + \else + \space Published \@jmlrpublished + \fi + \else + \space\@jmlrworkshop + \fi + }% + \let\@evenhead\@oddhead + \def\@oddfoot{\@titlefoot}% + \let\@evenfoot\@oddfoot +} +\def\ps@jmlrps{% + \let\@mkboth\@gobbletwo + \def\@oddhead{\hfill {\small\scshape \@shorttitle} \hfill}% + \def\@oddfoot{\hfill \small\rmfamily \thepage \hfill}% + \def\@evenhead{\hfill {\small\scshape \@shortauthor} \hfill}% + \def\@evenfoot{\hfill \small\rmfamily \thepage \hfill}% +}% +\pagestyle{jmlrps} +\let\@jmlrvolume\@empty +\newcommand*{\jmlrvolume}[1]{\renewcommand*{\@jmlrvolume}{#1}} +\let\@jmlrissue\@empty +\newcommand*{\jmlrissue}[1]{\renewcommand*{\@jmlrissue}{#1}} +\let\@jmlryear\@empty +\newcommand*{\jmlryear}[1]{\renewcommand*{\@jmlryear}{#1}} +\newcommand*\@jmlrpages{\pageref{jmlrstart}--\pageref{jmlrend}} +\newcommand*{\jmlrpages}[1]{\renewcommand*{\@jmlrpages}{#1}} +\let\@jmlrsubmitted\@empty +\newcommand*{\jmlrsubmitted}[1]{\renewcommand*{\@jmlrsubmitted}{#1}} +\let\@jmlrpublished\@empty +\newcommand*{\jmlrpublished}[1]{\renewcommand*{\@jmlrpublished}{#1}} +\let\@jmlrworkshop\@empty +\newcommand*{\jmlrworkshop}[1]{\renewcommand*{\@jmlrworkshop}{#1}} +\newcommand*{\@jmlrauthors}{} +\newcommand*{\jmlrauthors}[1]{\renewcommand*{\@jmlrauthors}{#1}} + +\def\figurecaption#1#2{\noindent\hangindent 40pt + \hbox to 36pt {\small\slshape #1 \hfil} + \ignorespaces {\small #2}} +\def\figurecenter#1#2{\centerline{{\slshape #1} #2}} +\def\figurecenter#1#2{\centerline{{\small\slshape #1} {\small #2}}} +\long\def\@makecaption#1#2{% + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2}% + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \begin{list}{#1:}{% + \settowidth{\labelwidth}{#1:} + \setlength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + }\item #2 \end{list}\par % Output in quote mode + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \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} +\newcommand*{\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*{\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 +} +\providecommand{\ifprint}[2]{\ifgrayscale#1\else#2\fi} +%% \begin{macrocode} +\ifjmlrhtml +\else + \let\@org@Ginclude@graphics\Ginclude@graphics + \def\Ginclude@graphics#1{% + \begingroup + \let\input@path\Ginput@path + \ifprint{\filename@parse{#1-gray}}{\filename@parse{#1}}% + \ifx\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% + \else + \ifprint{\filename@parse{#1}}{}% + \Gin@getbase{\Gin@sepdefault\filename@ext}% + \ifx\Gin@ext\relax + \@warning{File `#1' not found}% + \def\Gin@base{\filename@area\filename@base}% + \edef\Gin@ext{\Gin@sepdefault\filename@ext}% + \fi + \fi + \ifx\Gin@ext\relax + \ifprint{\@org@Ginclude@graphics{#1}}% + {% + \@latex@error{File `#1' not found}% + {I could not locate the file with any of these extensions:^^J% + \Gin@extensions^^J\@ehc}% + }% + \else + \@ifundefined{Gin@rule@\Gin@ext}% + {\ifx\Gin@rule@*\@undefined + \@latex@error{Unknown graphics extension: \Gin@ext}\@ehc + \else + \expandafter\Gin@setfile\Gin@rule@*{\Gin@base\Gin@ext}% + \fi}% + {\expandafter\expandafter\expandafter\Gin@setfile + \csname Gin@rule@\Gin@ext\endcsname{\Gin@base\Gin@ext}}% + \fi + \endgroup} +\fi +\newenvironment{algorithm}[1][htbp]% +{% + \@algocf@init% + \@algocf@init@caption + \begin{algocf}[#1]% + \@algocf@start% +}% +{% + \@algocf@finish% + \@algocf@term@caption + \end{algocf}% + \@algocf@term +} +\setlength\algomargin{0pt} +\newcommand{\artappendix}{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}} + \def\presectionnum{Appendix~}% +} +\let\appendix\artappendix +\newcommand{\BlackBox}{\rule{1.5ex}{1.5ex}} +\newenvironment{proof}{\par\noindent{\bfseries\upshape + Proof\ }}{\hfill\BlackBox\\[2mm]} +\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} +\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})} +\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}% + \ifx\@subfigcap\@empty + \else + \space\@subfigcap + \fi + \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}% + \begin{tabular}[#1]{@{}c@{}}% + \subtablelabel{\thesubtable}% + \ifx\@subtabcap\@empty + \else + \space\@subtabcap + \fi + \\#2% + \end{tabular} +} +\newcounter{chapter} +\renewcommand\thechapter{\@arabic\c@chapter} +\newcommand\@chapapp{\chaptername} +\@addtoreset{section}{chapter} +\newcommand*\chaptermark[1]{} +\newcommand\bookchapter{% + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\newcommand\artchapter{% + \ClassError{jmlrwcp}{Chapters not permitted in articles}{}} +\let\chapter\artchapter +\def\@chaptoclabel{chapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{\@chaptoclabel}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{\@chaptoclabel}{#1}% + \fi + \else + \addcontentsline{toc}{\@chaptoclabel}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\newcommand{\chaptertitleformat}[1]{% + \Huge\bfseries#1% +} +\newcommand{\chapternumberformat}[1]{% + \huge\bfseries \@chapapp\space#1\par\nobreak + \vskip 20\p@ +} +\newcommand*{\chapterformat}{\raggedright} +\newlength\postchapterskip +\setlength\postchapterskip{40pt} +\newlength\prechapterskip +\setlength\prechapterskip{50pt} +\def\@makechapterhead#1{% + \null\vskip\prechapterskip + {\parindent \z@ \normalfont\chapterformat + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \chapternumberformat{\thechapter}% + \fi + \fi + \interlinepenalty\@M + \chaptertitleformat{#1}\par\nobreak + \vskip \postchapterskip + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{\prechapterskip}% + {\parindent \z@ + \normalfont\chapterformat + \interlinepenalty\@M + \chaptertitleformat{#1}\par\nobreak + \vskip \postchapterskip + }} +\newcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \large\bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\let\l@appendix\l@chapter +\newcommand\chaptername{Chapter} +\newcommand\frontmatter{% + \cleardoublepage + \@mainmatterfalse + \pagenumbering{roman}% + \morefrontmatter +} +\newcommand\morefrontmatter{} +\newcommand\mainmatter{% + \cleardoublepage + \@mainmattertrue + \pagenumbering{arabic}% + \moremainmatter +} +\newcommand\moremainmatter{} +\newcommand\backmatter{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@mainmatterfalse} +\let\booktableofcontents\tableofcontents +\let\arttableofcontents\tableofcontents +\newcommand{\artpart}{% + \if@noskipsec \leavevmode\fi + \par + \addvspace{4ex}% + \@afterindentfalse + \secdef\@artpart\@sartpart +} +\let\@artpart\@part +\let\@sartpart\@spart +\newcommand\bookpart{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \thispagestyle{plain}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \preparthook + \secdef\@bookpart\@sbookpart} +\newcommand{\parttitleformat}[1]{% + \Huge\bfseries#1% +} +\newcommand{\partnumberformat}[1]{% + \Huge\bfseries \partname\nobreakspace#1\par\nobreak + \vskip 20\p@ +} +\newcommand{\preparthook}{\null\vfil} +\renewcommand*{\partformat}{\centering} +\def\@bookpart[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\interlinepenalty \@M + \normalfont\partformat + \ifnum \c@secnumdepth >-2\relax + \partnumberformat{\thepart}% + \fi + \parttitleformat{#2}\par}% + \postparthook} +\def\@sbookpart#1{% + {\interlinepenalty \@M + \normalfont\partformat + \parttitleformat{#1}\par}% + \postparthook} +\def\postparthook{\vfil\newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} +\newcommand\bookappendix{\par + \setcounter{table}{0}% + \setcounter{figure}{0}% + \zeroextracounters + \par + \gdef\theHchapter{\Alph {chapter}}% + \xdef\Hy@chapapp{\Hy@appendixstring}% + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \gdef\@chapapp{\appendixname}% + \gdef\thechapter{\@Alph\c@chapter}% + \csname appendixmore\endcsname +} +\newcommand*{\jmlrbookcommands}{% + \let\part\bookpart + \let\chapter\bookchapter + \let\appendix\bookappendix + \let\tableofcontents\booktableofcontents + \def\thesection{\thechapter.\arabic{section}}% +} +\newcommand*{\jmlrarticlecommands}{% + \let\part\artpart + \let\chapter\artchapter + \let\appendix\artappendix + \let\tableofcontents\arttableofcontents + \def\thesection{\arabic{section}}% +} +\newcommand*{\@jmlr@check@packages}{% + \@ifpackageloaded{epsfig}{% + \ClassError{jmlr}{Obsolete package `epsfig' detected. + \MessageBreak + Please use \string\includegraphics\space to include images + instead}{}}{}% + \@ifpackageloaded{psfig}{% + \ClassError{jmlr}{Obsolete package `psfig' detected. + \MessageBreak + Please use \string\includegraphics\space to include images + instead}{}}{}% + \@ifpackageloaded{subfig}{% + \ClassError{jmlr}{Package `subfig' detected.\MessageBreak + This will cause a conflict if the article is incorporated + \MessageBreak + into a book using jmlbook.cls. + \MessageBreak + Please use \string\subfigure\space and + \string\subtable\space instead}{}}{}% + \@ifpackageloaded{theorem}{% + \ClassError{jmlr}{Package `theorem' detected.\MessageBreak + This can cause a conflict with other packages used by jmlr}{}}{}% + \@ifpackageloaded{pdfpages}{Package `pdfpages' detected.\MessageBreak + This can cause a problem for jmlrbook.}{}% + \@ifpackageloaded{geometry}{Package `geometry' detected.\MessageBreak + This can cause a problem for jmlrbook.}{}% +} +\AtBeginDocument{% +\@jmlr@check@packages +\let\@jmlr@check@packages\relax +} +\newcommand*{\jmlrSuppressPackageChecks}{% + \let\@jmlr@check@packages\relax +} +\endinput +%% +%% End of file `jmlr.cls'. diff --git a/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls new file mode 100644 index 00000000000..38e051e4010 --- /dev/null +++ b/Master/texmf-dist/tex/latex/jmlr/jmlrbook.cls @@ -0,0 +1,775 @@ +%% +%% 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 2010 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 of (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 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}[2010/06/17 v1.06 (NLCT) JMLR Book Style] +\RequirePackage{xkeyval} +\newcommand*{\@prehyperref}{} +\define@key{jmlrbook.cls}{prehyperref}{% + \renewcommand*{\@prehyperref}{#1}} +\newif\ifgrayscale +\grayscalefalse +\DeclareOptionX{color}{\grayscalefalse} +\DeclareOptionX{gray}{\grayscaletrue} +\DeclareOptionX{html}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{nohtml}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{wcp}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{nowcp}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{tablecaptiontop}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\DeclareOptionX{tablecaptionbottom}{\PassOptionsToClass{\CurrentOption}{jmlr}} +\ProcessOptionsX +\@ifundefined{jmlrgrayscale}{}% +{% + \ifnum\jmlrgrayscale=0\relax + \grayscalefalse + \else + \grayscaletrue + \fi +} +\let\@org@LoadClass\LoadClass +\def\LoadClass#1{\let\LoadClass\@org@LoadClass\@org@LoadClass{jmlr}} +\@org@LoadClass{combine} +\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} +\RequirePackage{setspace} +\@prehyperref +\usepackage[colorlinks, + linkcolor=blue, + citecolor=blue, + urlcolor=magenta, + linktocpage, + plainpages=false]{hyperref} +\usepackage{nameref} +\ifgrayscale + \hypersetup{draft} +\fi +\@twosidetrue +\newif\if@openright +\@openrighttrue +\newif\if@mainmatter +\newcommand*{\pagerule}[1][0pt]{\par\noindent + \rule[#1]{\linewidth}{2pt}\par} +\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}% + }% +} +\newcommand*{\@parttoclabel}{part} +\newcommand*{\@partapp}{\partname} +\renewcommand*\jmlrtitlehook{% + \hypersetup{pdftitle={\@shorttitle}}% + \let\jmlrtitlehook\relax +} +\renewcommand*\jmlrauthorhook{% + \ifx\@sauthor\@empty + \hypersetup{pdfauthor={\@author}}% + \else + \hypersetup{pdfauthor={\@sauthor}}% + \fi + \let\jmlrauthorhook\relax + \let\@shortauthor\@empty +} +\newcommand*{\@volume}{\@jmlrvolume} +\newcommand*{\volume}[1]{\renewcommand*{\@volume}{#1}} +\newcommand*{\@issue}{\@jmlrissue} +\newcommand*{\issue}[1]{\renewcommand*{\@issue}{#1}} +\newcommand*{\thejmlrworkshop}{\@jmlrworkshop} +\newcommand*{\@team}{} +\newcommand*{\team}[1]{\renewcommand*{\@team}{#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}[1]{\renewcommand*{\@logo}{#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\@volume\@empty + \else + Volume \@volume + \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}{} +\newenvironment{signoff}[2][The Editorial Team]{% + \def\Editor##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:\par\vskip\baselineskip + \fi + \noindent\ignorespaces +}{% +} +\newenvironment{authorsignoff}{% + \def\Author##1{\begin{tabular}{@{}l@{}}% + ##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@example}{}{\setcounter{example}{0}}% +} +\renewcommand*{\contentsname}{Table of Contents} +\def\theHalgorithm{\thechapter.\thealgorithm} +\def\theHexample{\thechapter.\theexample} +\def\theHtheorem{\thechapter.\thetheorem} +\def\theHsection{\thechapter.\thesection} +\def\theHsubsection{\thechapter.\thesubsection} +\def\theHsubsubsection{\thechapter.\thesubsubsection} +\def\theHparagraph{\thechapter.\theparagraph} +\def\theHsubfigure{\thechapter.\thefigure.\thesubfigure} +\def\theHsubtable{\thechapter.\thetable.\thesubtable} +\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}} +\def\@setimportlabel{% + \let\@mainauxout\@auxout + \let\HRlabel\label +} +\AtBeginDocument{% + \@setimportlabel + \gdef\@setimportlabel{\let\ref\Xref \let\pageref\Xpageref}% + \let\ReadBookmarks\relax +} +\let\@org@InputIfFileExists\InputIfFileExists +\newenvironment{jmlrpapers}{% + \begin{papers}[] + \jmlrarticlecommands + \let\importpubpaper\@importpubpaper + \let\importpaper\@importpaper + \let\importarticle\@importarticle + \let\label\Xlabel + \let\ref\Xref + \pagestyle{article}% +}{% + \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*{\@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{% + \refstepcounter{chapter}% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterpubauthor{\@jmlrauthors}% + {% + \@jmlrabbrvproceedings + \ifx\@jmlrvolume\@empty + \ifx\@jmlrpages\@empty\else\space\fi + \else + \space\@jmlrvolume + \ifx\@jmlrpages\@empty\else:\fi + \fi + \ifx\@jmlrpages\@empty + \else + \@jmlrpages + \ifx\@jmlryear\@empty\else,\fi + \fi + \space\@jmlryear + }% + \@write@author{#1}{\@jmlrauthors}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \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{% + \refstepcounter{chapter}% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterpubauthor{\@jmlrauthors}% + {% + \@jmlrabbrvproceedings + \ifx\@jmlrvolume\@empty + \space + \else + \space\@jmlrvolume:% + \fi + \protect\articlepagesref{#1}% + \ifx\@jmlryear\@empty\else,\fi + \space\@jmlryear + }% + \@write@author{#1}{\@jmlrauthors}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \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{% + \addtomaincontents{toc}% + {\protect\contentsline{papertitle}{\@shorttitle}{\thepage}% + {page.\thepage}}% + \refstepcounter{chapter}% + \pdfbookmark{\@shorttitle}{chapter.\thechapter}% + \def\@jmlr@authors@sep{ \& }% + \tocchapterauthor{\@jmlrauthors}% + \@write@author{#1}{\@jmlrauthors}% + \jmlrpages{}% + \jmlrvolume{}% + \jmlryear{}% + \jmlrsubmitted{}% + \jmlrpublished{}% + \jmlrproceedings{}{}% + }% + \def\jmlrpremaketitlehook{% + \cleardoublepage + \phantomsection + \let\@currentlabelname\@shorttitle + }% + \graphicspath{{\@importdir}}% + \def\InputIfFileExists##1##2##3{% + \IfFileExists{##1}{% + \@org@InputIfFileExists{##1}{##2}{##3}% + }% + {% + \@org@InputIfFileExists{\@importdir##1}{##2}{##3}% + }% + }% + \def\Xprefix{#1}% + \import{\@importdir\@importfile}% + \def\Xprefix{}% + \egroup + \gdef\@shortauthor{}% + \gdef\@shorttitle{}% + \gdef\@firstauthor{}% + \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}% + \vbox{% + \pagerule + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \large\bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + \renewcommand*\numberline[1]{\hb@xt@ \@tempdima + {\partname\space ##1\hfil }}% + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss }\par + \penalty\@highpenalty + \endgroup + \pagerule + }% + \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 + \addpenalty{-\@highpenalty}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \raggedright + #1% + \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}{\hfill\thepage} +\renewcommand*{\headfont}{\reset@font\small\scshape}% +\renewcommand*{\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@jmlrbook}{% + \ps@headings + \renewcommand*{\sectionmark}[1]{}% +} +\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}} +\def\@bookpart[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{\@parttoclabel}{% + \protect\numberline{\thepart}#1}% + \else + \addcontentsline{toc}{\@parttoclabel}{#1}% + \fi + \markboth{}{}% + {\interlinepenalty \@M + \normalfont\partformat + \ifnum \c@secnumdepth >-2\relax + \partnumberformat{\thepart}% + \fi + \parttitleformat{#2}\par}% + \postparthook} +\jmlrbookcommands +\endinput +%% +%% End of file `jmlrbook.cls'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 0f8bf9069be..e8993409a08 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -171,7 +171,7 @@ my @TLP_working = qw( interactiveworkbook intro-scientific inversepath ionumbers iopart-num iso iso10303 isodate isodoc isomath isonums isorot isotope itnumpar iwona - jablantile jeopardy jknapltx jneurosci jpsj junicode + jablantile jeopardy jknapltx jmlr jneurosci jpsj junicode jura juraabbrev jurabib juramisc jurarsp js-misc kalender kastrup kerkis kerntest keycommand keystroke kix kixfont diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 560434383d7..2a77c13c301 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -35,6 +35,7 @@ depend ijmart depend imac depend imtekda depend jhep +depend jmlr depend jpsj depend kluwer depend lps diff --git a/Master/tlpkg/tlpsrc/jmlr.tlpsrc b/Master/tlpkg/tlpsrc/jmlr.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/jmlr.tlpsrc |