|
% Define \jmlrprehyperref to load packages before hyperref is
|
|
% loaded
|
|
\def\jmlrprehyperref{%
|
|
% Packages used by imported articles:
|
|
\usepackage{lipsum}
|
|
\usepackage{booktabs}
|
|
\usepackage{siunitx}
|
|
}
|
|
\documentclass[wcp,7x10]{jmlrbook}% on-line color version, 7inx10in
|
|
%\documentclass[wcp,gray,7x10]{jmlrbook}% print version, 7inx10in
|
|
|
|
% Load last
|
|
\ifprint{}{\usepackage{bookmark}}
|
|
|
|
% 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}
|
|
|
|
% change the arguments, as appropriate, in the following:
|
|
\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 \verb|\jmlrprehyperref|
|
|
hook. For example, to load the packages ``foo'' and ``bar'':
|
|
\begin{verbatim}
|
|
\def\jmlrprehyperref{\usepackage{foo}\usepackage{bar}}
|
|
\documentclass{jmlrbook}
|
|
\end{verbatim}
|
|
or:
|
|
\begin{verbatim}
|
|
\def\jmlrprehyperref{\usepackage{foo,bar}}
|
|
\documentclass{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}
|
|
|
|
\begin{preface}
|
|
The preface environment should be used for the preface if you want
|
|
makejmlrbook to extract the preface and turn it into a standalone
|
|
document.
|
|
|
|
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}
|
|
|
|
\end{preface}
|
|
|
|
\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.
|
|
|
|
\lipsum
|
|
|
|
\part{Second Part of Appendices}
|
|
|
|
\chapter{An Appendix}
|
|
\label{apd:third}
|
|
|
|
This is an appendix in another part.
|
|
|
|
\lipsum
|
|
|
|
\end{document}
|