diff options
| -rw-r--r-- | notes/ICML/icml2015stylefiles/algorithm.sty | 79 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/algorithmic.sty | 201 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/example_paper.bib | 75 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/example_paper.tex | 543 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/fancyhdr.sty | 485 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/icml2015.bst | 1441 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/icml2015.sty | 615 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/icml_numpapers.eps | 517 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/natbib.sty | 1246 | ||||
| -rw-r--r-- | notes/ICML/icml2015stylefiles/paper_v1.tex | 105 | ||||
| -rw-r--r-- | notes/maximum_likelihood_approach.tex | 32 | ||||
| -rw-r--r-- | notes/reportYaron.tex | 1 |
12 files changed, 5326 insertions, 14 deletions
diff --git a/notes/ICML/icml2015stylefiles/algorithm.sty b/notes/ICML/icml2015stylefiles/algorithm.sty new file mode 100644 index 0000000..a723c1c --- /dev/null +++ b/notes/ICML/icml2015stylefiles/algorithm.sty @@ -0,0 +1,79 @@ +% ALGORITHM STYLE -- Released 8 April 1996
+% for LaTeX-2e
+% Copyright -- 1994 Peter Williams
+% E-mail Peter.Williams@dsto.defence.gov.au
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{algorithm}
+\typeout{Document Style `algorithm' - floating environment}
+
+\RequirePackage{float}
+\RequirePackage{ifthen}
+\newcommand{\ALG@within}{nothing}
+\newboolean{ALG@within}
+\setboolean{ALG@within}{false}
+\newcommand{\ALG@floatstyle}{ruled}
+\newcommand{\ALG@name}{Algorithm}
+\newcommand{\listalgorithmname}{List of \ALG@name s}
+
+% Declare Options
+% first appearance
+\DeclareOption{plain}{
+ \renewcommand{\ALG@floatstyle}{plain}
+}
+\DeclareOption{ruled}{
+ \renewcommand{\ALG@floatstyle}{ruled}
+}
+\DeclareOption{boxed}{
+ \renewcommand{\ALG@floatstyle}{boxed}
+}
+% then numbering convention
+\DeclareOption{part}{
+ \renewcommand{\ALG@within}{part}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption{chapter}{
+ \renewcommand{\ALG@within}{chapter}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption{section}{
+ \renewcommand{\ALG@within}{section}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption{subsection}{
+ \renewcommand{\ALG@within}{subsection}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption{subsubsection}{
+ \renewcommand{\ALG@within}{subsubsection}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption{nothing}{
+ \renewcommand{\ALG@within}{nothing}
+ \setboolean{ALG@within}{true}
+}
+\DeclareOption*{\edef\ALG@name{\CurrentOption}}
+
+% ALGORITHM
+%
+\ProcessOptions
+\floatstyle{\ALG@floatstyle}
+\ifthenelse{\boolean{ALG@within}}{
+ \ifthenelse{\equal{\ALG@within}{part}}
+ {\newfloat{algorithm}{htbp}{loa}[part]}{}
+ \ifthenelse{\equal{\ALG@within}{chapter}}
+ {\newfloat{algorithm}{htbp}{loa}[chapter]}{}
+ \ifthenelse{\equal{\ALG@within}{section}}
+ {\newfloat{algorithm}{htbp}{loa}[section]}{}
+ \ifthenelse{\equal{\ALG@within}{subsection}}
+ {\newfloat{algorithm}{htbp}{loa}[subsection]}{}
+ \ifthenelse{\equal{\ALG@within}{subsubsection}}
+ {\newfloat{algorithm}{htbp}{loa}[subsubsection]}{}
+ \ifthenelse{\equal{\ALG@within}{nothing}}
+ {\newfloat{algorithm}{htbp}{loa}}{}
+}{
+ \newfloat{algorithm}{htbp}{loa}
+}
+\floatname{algorithm}{\ALG@name}
+
+\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}}
+
diff --git a/notes/ICML/icml2015stylefiles/algorithmic.sty b/notes/ICML/icml2015stylefiles/algorithmic.sty new file mode 100644 index 0000000..e2502a6 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/algorithmic.sty @@ -0,0 +1,201 @@ +% ALGORITHMIC STYLE -- Released 8 APRIL 1996
+% for LaTeX version 2e
+% Copyright -- 1994 Peter Williams
+% E-mail PeterWilliams@dsto.defence.gov.au
+%
+% Modified by Alex Smola (08/2000)
+% E-mail Alex.Smola@anu.edu.au
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{algorithmic}
+\typeout{Document Style `algorithmic' - environment}
+%
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\newboolean{ALC@noend}
+\setboolean{ALC@noend}{false}
+\newcounter{ALC@line}
+\newcounter{ALC@rem}
+\newlength{\ALC@tlm}
+%
+\DeclareOption{noend}{\setboolean{ALC@noend}{true}}
+%
+\ProcessOptions
+%
+% ALGORITHMIC
+\newcommand{\algorithmicrequire}{\textbf{Require:}}
+\newcommand{\algorithmicensure}{\textbf{Ensure:}}
+\newcommand{\algorithmiccomment}[1]{\{#1\}}
+\newcommand{\algorithmicend}{\textbf{end}}
+\newcommand{\algorithmicif}{\textbf{if}}
+\newcommand{\algorithmicthen}{\textbf{then}}
+\newcommand{\algorithmicelse}{\textbf{else}}
+\newcommand{\algorithmicelsif}{\algorithmicelse\ \algorithmicif}
+\newcommand{\algorithmicendif}{\algorithmicend\ \algorithmicif}
+\newcommand{\algorithmicfor}{\textbf{for}}
+\newcommand{\algorithmicforall}{\textbf{for all}}
+\newcommand{\algorithmicdo}{\textbf{do}}
+\newcommand{\algorithmicendfor}{\algorithmicend\ \algorithmicfor}
+\newcommand{\algorithmicwhile}{\textbf{while}}
+\newcommand{\algorithmicendwhile}{\algorithmicend\ \algorithmicwhile}
+\newcommand{\algorithmicloop}{\textbf{loop}}
+\newcommand{\algorithmicendloop}{\algorithmicend\ \algorithmicloop}
+\newcommand{\algorithmicrepeat}{\textbf{repeat}}
+\newcommand{\algorithmicuntil}{\textbf{until}}
+
+%changed by alex smola
+\newcommand{\algorithmicinput}{\textbf{input}}
+\newcommand{\algorithmicoutput}{\textbf{output}}
+\newcommand{\algorithmicset}{\textbf{set}}
+\newcommand{\algorithmictrue}{\textbf{true}}
+\newcommand{\algorithmicfalse}{\textbf{false}}
+\newcommand{\algorithmicand}{\textbf{and\ }}
+\newcommand{\algorithmicor}{\textbf{or\ }}
+\newcommand{\algorithmicfunction}{\textbf{function}}
+\newcommand{\algorithmicendfunction}{\algorithmicend\ \algorithmicfunction}
+\newcommand{\algorithmicmain}{\textbf{main}}
+\newcommand{\algorithmicendmain}{\algorithmicend\ \algorithmicmain}
+%end changed by alex smola
+
+\def\ALC@item[#1]{%
+\if@noparitem \@donoparitem
+ \else \if@inlabel \indent \par \fi
+ \ifhmode \unskip\unskip \par \fi
+ \if@newlist \if@nobreak \@nbitem \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep \addvspace{-\parskip}\fi
+ \else \addpenalty\@itempenalty \addvspace\itemsep
+ \fi
+ \global\@inlabeltrue
+\fi
+\everypar{\global\@minipagefalse\global\@newlistfalse
+ \if@inlabel\global\@inlabelfalse \hskip -\parindent \box\@labels
+ \penalty\z@ \fi
+ \everypar{}}\global\@nobreakfalse
+\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi
+\sbox\@tempboxa{\makelabel{#1}}%
+\global\setbox\@labels
+ \hbox{\unhbox\@labels \hskip \itemindent
+ \hskip -\labelwidth \hskip -\ALC@tlm
+ \ifdim \wd\@tempboxa >\labelwidth
+ \box\@tempboxa
+ \else \hbox to\labelwidth {\unhbox\@tempboxa}\fi
+ \hskip \ALC@tlm}\ignorespaces}
+%
+\newenvironment{algorithmic}[1][0]{
+\let\@item\ALC@item
+ \newcommand{\ALC@lno}{%
+\ifthenelse{\equal{\arabic{ALC@rem}}{0}}
+{{\footnotesize \arabic{ALC@line}:}}{}%
+}
+\let\@listii\@listi
+\let\@listiii\@listi
+\let\@listiv\@listi
+\let\@listv\@listi
+\let\@listvi\@listi
+\let\@listvii\@listi
+ \newenvironment{ALC@g}{
+ \begin{list}{\ALC@lno}{ \itemsep\z@ \itemindent\z@
+ \listparindent\z@ \rightmargin\z@
+ \topsep\z@ \partopsep\z@ \parskip\z@\parsep\z@
+ \leftmargin 1em
+ \addtolength{\ALC@tlm}{\leftmargin}
+ }
+ }
+ {\end{list}}
+ \newcommand{\ALC@it}{\addtocounter{ALC@line}{1}\addtocounter{ALC@rem}{1}\ifthenelse{\equal{\arabic{ALC@rem}}{#1}}{\setcounter{ALC@rem}{0}}{}\item}
+ \newcommand{\ALC@com}[1]{\ifthenelse{\equal{##1}{default}}%
+{}{\ \algorithmiccomment{##1}}}
+ \newcommand{\REQUIRE}{\item[\algorithmicrequire]}
+ \newcommand{\ENSURE}{\item[\algorithmicensure]}
+ \newcommand{\STATE}{\ALC@it}
+ \newcommand{\COMMENT}[1]{\algorithmiccomment{##1}}
+%changes by alex smola
+ \newcommand{\INPUT}{\item[\algorithmicinput]}
+ \newcommand{\OUTPUT}{\item[\algorithmicoutput]}
+ \newcommand{\SET}{\item[\algorithmicset]}
+% \newcommand{\TRUE}{\algorithmictrue}
+% \newcommand{\FALSE}{\algorithmicfalse}
+ \newcommand{\AND}{\algorithmicand}
+ \newcommand{\OR}{\algorithmicor}
+ \newenvironment{ALC@func}{\begin{ALC@g}}{\end{ALC@g}}
+ \newenvironment{ALC@main}{\begin{ALC@g}}{\end{ALC@g}}
+%end changes by alex smola
+ \newenvironment{ALC@if}{\begin{ALC@g}}{\end{ALC@g}}
+ \newenvironment{ALC@for}{\begin{ALC@g}}{\end{ALC@g}}
+ \newenvironment{ALC@whl}{\begin{ALC@g}}{\end{ALC@g}}
+ \newenvironment{ALC@loop}{\begin{ALC@g}}{\end{ALC@g}}
+ \newenvironment{ALC@rpt}{\begin{ALC@g}}{\end{ALC@g}}
+ \renewcommand{\\}{\@centercr}
+ \newcommand{\IF}[2][default]{\ALC@it\algorithmicif\ ##2\ \algorithmicthen%
+\ALC@com{##1}\begin{ALC@if}}
+ \newcommand{\SHORTIF}[2]{\ALC@it\algorithmicif\ ##1\
+ \algorithmicthen\ {##2}}
+ \newcommand{\ELSE}[1][default]{\end{ALC@if}\ALC@it\algorithmicelse%
+\ALC@com{##1}\begin{ALC@if}}
+ \newcommand{\ELSIF}[2][default]%
+{\end{ALC@if}\ALC@it\algorithmicelsif\ ##2\ \algorithmicthen%
+\ALC@com{##1}\begin{ALC@if}}
+ \newcommand{\FOR}[2][default]{\ALC@it\algorithmicfor\ ##2\ \algorithmicdo%
+\ALC@com{##1}\begin{ALC@for}}
+ \newcommand{\FORALL}[2][default]{\ALC@it\algorithmicforall\ ##2\ %
+\algorithmicdo%
+\ALC@com{##1}\begin{ALC@for}}
+ \newcommand{\SHORTFORALL}[2]{\ALC@it\algorithmicforall\ ##1\ %
+ \algorithmicdo\ {##2}}
+ \newcommand{\WHILE}[2][default]{\ALC@it\algorithmicwhile\ ##2\ %
+\algorithmicdo%
+\ALC@com{##1}\begin{ALC@whl}}
+ \newcommand{\LOOP}[1][default]{\ALC@it\algorithmicloop%
+\ALC@com{##1}\begin{ALC@loop}}
+%changed by alex smola
+ \newcommand{\FUNCTION}[2][default]{\ALC@it\algorithmicfunction\ ##2\ %
+ \ALC@com{##1}\begin{ALC@func}}
+ \newcommand{\MAIN}[2][default]{\ALC@it\algorithmicmain\ ##2\ %
+ \ALC@com{##1}\begin{ALC@main}}
+%end changed by alex smola
+ \newcommand{\REPEAT}[1][default]{\ALC@it\algorithmicrepeat%
+ \ALC@com{##1}\begin{ALC@rpt}}
+ \newcommand{\UNTIL}[1]{\end{ALC@rpt}\ALC@it\algorithmicuntil\ ##1}
+ \ifthenelse{\boolean{ALC@noend}}{
+ \newcommand{\ENDIF}{\end{ALC@if}}
+ \newcommand{\ENDFOR}{\end{ALC@for}}
+ \newcommand{\ENDWHILE}{\end{ALC@whl}}
+ \newcommand{\ENDLOOP}{\end{ALC@loop}}
+ \newcommand{\ENDFUNCTION}{\end{ALC@func}}
+ \newcommand{\ENDMAIN}{\end{ALC@main}}
+ }{
+ \newcommand{\ENDIF}{\end{ALC@if}\ALC@it\algorithmicendif}
+ \newcommand{\ENDFOR}{\end{ALC@for}\ALC@it\algorithmicendfor}
+ \newcommand{\ENDWHILE}{\end{ALC@whl}\ALC@it\algorithmicendwhile}
+ \newcommand{\ENDLOOP}{\end{ALC@loop}\ALC@it\algorithmicendloop}
+ \newcommand{\ENDFUNCTION}{\end{ALC@func}\ALC@it\algorithmicendfunction}
+ \newcommand{\ENDMAIN}{\end{ALC@main}\ALC@it\algorithmicendmain}
+ }
+ \renewcommand{\@toodeep}{}
+ \begin{list}{\ALC@lno}{\setcounter{ALC@line}{0}\setcounter{ALC@rem}{0}%
+ \itemsep\z@ \itemindent\z@ \listparindent\z@%
+ \partopsep\z@ \parskip\z@ \parsep\z@%
+ \labelsep 0.5em \topsep 0.2em%
+ \ifthenelse{\equal{#1}{0}}
+ {\labelwidth 0.5em }
+ {\labelwidth 1.2em }
+ \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep}
+ \ALC@tlm\labelsep
+ }
+ }
+ {\end{list}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/notes/ICML/icml2015stylefiles/example_paper.bib b/notes/ICML/icml2015stylefiles/example_paper.bib new file mode 100644 index 0000000..a9565fe --- /dev/null +++ b/notes/ICML/icml2015stylefiles/example_paper.bib @@ -0,0 +1,75 @@ +@inproceedings{langley00,
+ author = {P. Langley},
+ title = {Crafting Papers on Machine Learning},
+ year = {2000},
+ pages = {1207--1216},
+ editor = {Pat Langley},
+ booktitle = {Proceedings of the 17th International Conference
+ on Machine Learning (ICML 2000)},
+ address = {Stanford, CA},
+ publisher = {Morgan Kaufmann}
+}
+
+@TechReport{mitchell80,
+ author = "T. M. Mitchell",
+ title = "The Need for Biases in Learning Generalizations",
+ institution = "Computer Science Department, Rutgers University",
+ year = "1980",
+ address = "New Brunswick, MA",
+}
+
+@phdthesis{kearns89,
+ author = {M. J. Kearns},
+ title = {Computational Complexity of Machine Learning},
+ school = {Department of Computer Science, Harvard University},
+ year = {1989}
+}
+
+@Book{MachineLearningI,
+ editor = "R. S. Michalski and J. G. Carbonell and T.
+ M. Mitchell",
+ title = "Machine Learning: An Artificial Intelligence
+ Approach, Vol. I",
+ publisher = "Tioga",
+ year = "1983",
+ address = "Palo Alto, CA"
+}
+
+@Book{DudaHart2nd,
+ author = "R. O. Duda and P. E. Hart and D. G. Stork",
+ title = "Pattern Classification",
+ publisher = "John Wiley and Sons",
+ edition = "2nd",
+ year = "2000"
+}
+
+@misc{anonymous,
+ title= {Suppressed for Anonymity},
+ author= {Author, N. N.},
+ year= {2011},
+}
+
+@InCollection{Newell81,
+ author = "A. Newell and P. S. Rosenbloom",
+ title = "Mechanisms of Skill Acquisition and the Law of
+ Practice",
+ booktitle = "Cognitive Skills and Their Acquisition",
+ pages = "1--51",
+ publisher = "Lawrence Erlbaum Associates, Inc.",
+ year = "1981",
+ editor = "J. R. Anderson",
+ chapter = "1",
+ address = "Hillsdale, NJ"
+}
+
+
+@Article{Samuel59,
+ author = "A. L. Samuel",
+ title = "Some Studies in Machine Learning Using the Game of
+ Checkers",
+ journal = "IBM Journal of Research and Development",
+ year = "1959",
+ volume = "3",
+ number = "3",
+ pages = "211--229"
+}
\ No newline at end of file diff --git a/notes/ICML/icml2015stylefiles/example_paper.tex b/notes/ICML/icml2015stylefiles/example_paper.tex new file mode 100644 index 0000000..b7eff9d --- /dev/null +++ b/notes/ICML/icml2015stylefiles/example_paper.tex @@ -0,0 +1,543 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%% ICML 2015 EXAMPLE LATEX SUBMISSION FILE %%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Use the following line _only_ if you're still using LaTeX 2.09. +%\documentstyle[icml2015,epsf,natbib]{article} +% If you rely on Latex2e packages, like most moden people use this: +\documentclass{article} + +% use Times +\usepackage{times} +% For figures +\usepackage{graphicx} % more modern +%\usepackage{epsfig} % less modern +\usepackage{subfigure} + +% For citations +\usepackage{natbib} + +% For algorithms +\usepackage{algorithm} +\usepackage{algorithmic} + +% As of 2011, we use the hyperref package to produce hyperlinks in the +% resulting PDF. If this breaks your system, please commend out the +% following usepackage line and replace \usepackage{icml2015} with +% \usepackage[nohyperref]{icml2015} above. +\usepackage{hyperref} + +% Packages hyperref and algorithmic misbehave sometimes. We can fix +% this with the following command. +\newcommand{\theHalgorithm}{\arabic{algorithm}} + +% Employ the following version of the ``usepackage'' statement for +% submitting the draft version of the paper for review. This will set +% the note in the first column to ``Under review. Do not distribute.'' +\usepackage{icml2015} + +% Employ this version of the ``usepackage'' statement after the paper has +% been accepted, when creating the final version. This will set the +% note in the first column to ``Proceedings of the...'' +%\usepackage[accepted]{icml2015} + + +% The \icmltitle you define below is probably too long as a header. +% Therefore, a short form for the running title is supplied here: +\icmltitlerunning{Submission and Formatting Instructions for ICML 2015} + +\begin{document} + +\twocolumn[ +\icmltitle{Submission and Formatting Instructions for \\ + International Conference on Machine Learning (ICML 2015)} + +% It is OKAY to include author information, even for blind +% submissions: the style file will automatically remove it for you +% unless you've provided the [accepted] option to the icml2015 +% package. +\icmlauthor{Your Name}{email@yourdomain.edu} +\icmladdress{Your Fantastic Institute, + 314159 Pi St., Palo Alto, CA 94306 USA} +\icmlauthor{Your CoAuthor's Name}{email@coauthordomain.edu} +\icmladdress{Their Fantastic Institute, + 27182 Exp St., Toronto, ON M6H 2T1 CANADA} + +% You may provide any keywords that you +% find helpful for describing your paper; these are used to populate +% the "keywords" metadata in the PDF but will not be shown in the document +\icmlkeywords{boring formatting information, machine learning, ICML} + +\vskip 0.3in +] + +\begin{abstract} +The purpose of this document is to provide both the basic paper template and +submission guidelines. +\end{abstract} + +\section{Electronic Submission} +\label{submission} + +Submission to ICML 2015 will be entirely electronic, via a web site +(not email). Information about the submission process and \LaTeX\ templates +are available on the conference web site at: +\begin{center} +\textbf{\texttt{http://icml.cc/2015/}} +\end{center} +Send questions about submission and electronic templates to +\texttt{program@icml.cc}. + +The guidelines below will be enforced for initial submissions and +camera-ready copies. Here is a brief summary: +\begin{itemize} +\item Submissions must be in PDF. +\item The maximum paper length is \textbf{8 pages excluding references, and 10 pages + including references} (pages 9 and 10 must contain only references). +\item Do \textbf{not include author information or acknowledgments} in your initial +submission. +\item Your paper should be in \textbf{10 point Times font}. +\item Make sure your PDF file only uses Type-1 fonts. +\item Place figure captions {\em under} the figure (and omit titles from inside +the graphic file itself). Place table captions {\em over} the table. +\item References must include page numbers whenever possible and be as complete +as possible. Place multiple citations in chronological order. +\item Do not alter the style template; in particular, do not compress the paper +format by reducing the vertical spaces. +\end{itemize} + +\subsection{Submitting Papers} + +{\bf Paper Deadline:} The deadline for paper submission to ICML 2015 +is at \textbf{23:59 Universal Time (3:59 Pacific Daylight Time) on February 6, 2015}. +If your full submission does not reach us by this time, it will +not be considered for publication. There is no separate abstract submission. + +{\bf Anonymous Submission:} To facilitate blind review, no identifying +author information should appear on the title page or in the paper +itself. Section~\ref{author info} will explain the details of how to +format this. + +{\bf Simultaneous Submission:} ICML will not accept any paper which, +at the time of submission, is under review for another conference or +has already been published. This policy also applies to papers that +overlap substantially in technical content with conference papers +under review or previously published. ICML submissions must not be +submitted to other conferences during ICML's review period. Authors +may submit to ICML substantially different versions of journal papers +that are currently under review by the journal, but not yet accepted +at the time of submission. Informal publications, such as technical +reports or papers in workshop proceedings which do not appear in +print, do not fall under these restrictions. + +\medskip + +To ensure our ability to print submissions, authors must provide their +manuscripts in \textbf{PDF} format. Furthermore, please make sure +that files contain only Type-1 fonts (e.g.,~using the program {\tt + pdffonts} in linux or using File/DocumentProperties/Fonts in +Acrobat). Other fonts (like Type-3) might come from graphics files +imported into the document. + +Authors using \textbf{Word} must convert their document to PDF. Most +of the latest versions of Word have the facility to do this +automatically. Submissions will not be accepted in Word format or any +format other than PDF. Really. We're not joking. Don't send Word. + +Those who use \textbf{\LaTeX} to format their accepted papers need to pay close +attention to the typefaces used. Specifically, when producing the PDF by first +converting the dvi output of \LaTeX\ to Postscript the default behavior is to +use non-scalable Type-3 PostScript bitmap fonts to represent the standard +\LaTeX\ fonts. The resulting document is difficult to read in electronic form; +the type appears fuzzy. To avoid this problem, dvips must be instructed to use +an alternative font map. This can be achieved with the following two commands: + +{\footnotesize +\begin{verbatim} +dvips -Ppdf -tletter -G0 -o paper.ps paper.dvi +ps2pdf paper.ps +\end{verbatim}} +Note that it is a zero following the ``-G''. This tells dvips to use +the config.pdf file (and this file refers to a better font mapping). + +A better alternative is to use the \textbf{pdflatex} program instead of +straight \LaTeX. This program avoids the Type-3 font problem, however you must +ensure that all of the fonts are embedded (use {\tt pdffonts}). If they are +not, you need to configure pdflatex to use a font map file that specifies that +the fonts be embedded. Also you should ensure that images are not downsampled +or otherwise compressed in a lossy way. + +Note that the 2015 style files use the {\tt hyperref} package to +make clickable links in documents. If this causes problems for you, +add {\tt nohyperref} as one of the options to the {\tt icml2015} +usepackage statement. + +\subsection{Reacting to Reviews} + +We will continue the ICML tradition in which the authors are given the +option of providing a short reaction to the initial reviews. These +reactions will be taken into account in the discussion among the +reviewers and area chairs. + +\subsection{Submitting Final Camera-Ready Copy} + +The final versions of papers accepted for publication should follow the +same format and naming convention as initial submissions, except of +course that the normal author information (names and affiliations) +should be given. See Section~\ref{final author} for details of how to +format this. + +The footnote, ``Preliminary work. Under review by the International +Conference on Machine Learning (ICML). Do not distribute.'' must be +modified to ``\textit{Proceedings of the +$\mathit{31}^{st}$ International Conference on Machine Learning}, +Lille, France, 2015. JMLR: W\&CP volume 37. +Copyright 2015 by the author(s).'' + +For those using the \textbf{\LaTeX} style file, simply change +$\mathtt{\backslash usepackage\{icml2015\}}$ to + +$$\mathtt{\backslash usepackage[accepted]\{icml2015\}}$$ + +\noindent +Authors using \textbf{Word} must edit the +footnote on the first page of the document themselves. + +Camera-ready copies should have the title of the paper as running head +on each page except the first one. The running title consists of a +single line centered above a horizontal rule which is $1$ point thick. +The running head should be centered, bold and in $9$ point type. The +rule should be $10$ points above the main text. For those using the +\textbf{\LaTeX} style file, the original title is automatically set as running +head using the {\tt fancyhdr} package which is included in the ICML +2015 style file package. In case that the original title exceeds the +size restrictions, a shorter form can be supplied by using + +\verb|\icmltitlerunning{...}| + +just before $\mathtt{\backslash begin\{document\}}$. +Authors using \textbf{Word} must edit the header of the document themselves. + +\section{Format of the Paper} + +All submissions must follow the same format to ensure the printer can +reproduce them without problems and to let readers more easily find +the information that they desire. + +\subsection{Length and Dimensions} + +Papers must not exceed eight (8) pages, including all figures, tables, +and appendices, but excluding references. When references are included, +the paper must not exceed ten (10) pages. Any submission that exceeds +this page limit or that diverges significantly from the format specified +herein will be rejected without review. + +The text of the paper should be formatted in two columns, with an +overall width of 6.75 inches, height of 9.0 inches, and 0.25 inches +between the columns. The left margin should be 0.75 inches and the top +margin 1.0 inch (2.54~cm). The right and bottom margins will depend on +whether you print on US letter or A4 paper, but all final versions +must be produced for US letter size. + +The paper body should be set in 10~point type with a vertical spacing +of 11~points. Please use Times typeface throughout the text. + +\subsection{Title} + +The paper title should be set in 14~point bold type and centered +between two horizontal rules that are 1~point thick, with 1.0~inch +between the top rule and the top edge of the page. Capitalize the +first letter of content words and put the rest of the title in lower +case. + +\subsection{Author Information for Submission} +\label{author info} + +To facilitate blind review, author information must not appear. If +you are using \LaTeX\/ and the \texttt{icml2015.sty} file, you may use +\verb+\icmlauthor{...}+ to specify authors. The author information +will simply not be printed until {\tt accepted} is an argument to the +style file. Submissions that include the author information will not +be reviewed. + +\subsubsection{Self-Citations} + +If your are citing published papers for which you are an author, refer +to yourself in the third person. In particular, do not use phrases +that reveal your identity (e.g., ``in previous work \cite{langley00}, we +have shown \ldots''). + +Do not anonymize citations in the reference section by removing or +blacking out author names. The only exception are manuscripts that are +not yet published (e.g. under submission). If you choose to refer to +such unpublished manuscripts \cite{anonymous}, anonymized copies have +to be submitted +as Supplementary Material via CMT. However, keep in mind that an ICML +paper should be self contained and should contain sufficient detail +for the reviewers to evaluate the work. In particular, reviewers are +not required to look a the Supplementary Material when writing their +review. + +\subsubsection{Camera-Ready Author Information} +\label{final author} + +If a paper is accepted, a final camera-ready copy must be prepared. +% +For camera-ready papers, author information should start 0.3~inches +below the bottom rule surrounding the title. The authors' names should +appear in 10~point bold type, electronic mail addresses in 10~point +small capitals, and physical addresses in ordinary 10~point type. +Each author's name should be flush left, whereas the email address +should be flush right on the same line. The author's physical address +should appear flush left on the ensuing line, on a single line if +possible. If successive authors have the same affiliation, then give +their physical address only once. + +A sample file (in PDF) with author names is included in the ICML2015 +style file package. + +\subsection{Abstract} + +The paper abstract should begin in the left column, 0.4~inches below +the final address. The heading `Abstract' should be centered, bold, +and in 11~point type. The abstract body should use 10~point type, with +a vertical spacing of 11~points, and should be indented 0.25~inches +more than normal on left-hand and right-hand margins. Insert +0.4~inches of blank space after the body. Keep your abstract brief and +self-contained, +limiting it to one paragraph and no more than six or seven sentences. + +\subsection{Partitioning the Text} + +You should organize your paper into sections and paragraphs to help +readers place a structure on the material and understand its +contributions. + +\subsubsection{Sections and Subsections} + +Section headings should be numbered, flush left, and set in 11~pt bold +type with the content words capitalized. Leave 0.25~inches of space +before the heading and 0.15~inches after the heading. + +Similarly, subsection headings should be numbered, flush left, and set +in 10~pt bold type with the content words capitalized. Leave +0.2~inches of space before the heading and 0.13~inches afterward. + +Finally, subsubsection headings should be numbered, flush left, and +set in 10~pt small caps with the content words capitalized. Leave +0.18~inches of space before the heading and 0.1~inches after the +heading. + +Please use no more than three levels of headings. + +\subsubsection{Paragraphs and Footnotes} + +Within each section or subsection, you should further partition the +paper into paragraphs. Do not indent the first line of a given +paragraph, but insert a blank line between succeeding ones. + +You can use footnotes\footnote{For the sake of readability, footnotes +should be complete sentences.} to provide readers with additional +information about a topic without interrupting the flow of the paper. +Indicate footnotes with a number in the text where the point is most +relevant. Place the footnote in 9~point type at the bottom of the +column in which it appears. Precede the first footnote in a column +with a horizontal rule of 0.8~inches.\footnote{Multiple footnotes can +appear in each column, in the same order as they appear in the text, +but spread them across columns and pages if possible.} + +\begin{figure}[ht] +\vskip 0.2in +\begin{center} +\centerline{\includegraphics[width=\columnwidth]{icml_numpapers}} +\caption{Historical locations and number of accepted papers for International + Machine Learning Conferences (ICML 1993 -- ICML 2008) and + International Workshops on Machine Learning (ML 1988 -- ML + 1992). At the time this figure was produced, the number of + accepted papers for ICML 2008 was unknown and instead estimated.} +\label{icml-historical} +\end{center} +\vskip -0.2in +\end{figure} + +\subsection{Figures} + +You may want to include figures in the paper to help readers visualize +your approach and your results. Such artwork should be centered, +legible, and separated from the text. Lines should be dark and at +least 0.5~points thick for purposes of reproduction, and text should +not appear on a gray background. + +Label all distinct components of each figure. If the figure takes the +form of a graph, then give a name for each axis and include a legend +that briefly describes each curve. Do not include a title inside the +figure; instead, the caption should serve this function. + +Number figures sequentially, placing the figure number and caption +{\it after\/} the graphics, with at least 0.1~inches of space before +the caption and 0.1~inches after it, as in +Figure~\ref{icml-historical}. The figure caption should be set in +9~point type and centered unless it runs two or more lines, in which +case it should be flush left. You may float figures to the top or +bottom of a column, and you may set wide figures across both columns +(use the environment {\tt figure*} in \LaTeX), but always place +two-column figures at the top or bottom of the page. + +\subsection{Algorithms} + +If you are using \LaTeX, please use the ``algorithm'' and ``algorithmic'' +environments to format pseudocode. These require +the corresponding stylefiles, algorithm.sty and +algorithmic.sty, which are supplied with this package. +Algorithm~\ref{alg:example} shows an example. + +\begin{algorithm}[tb] + \caption{Bubble Sort} + \label{alg:example} +\begin{algorithmic} + \STATE {\bfseries Input:} data $x_i$, size $m$ + \REPEAT + \STATE Initialize $noChange = true$. + \FOR{$i=1$ {\bfseries to} $m-1$} + \IF{$x_i > x_{i+1}$} + \STATE Swap $x_i$ and $x_{i+1}$ + \STATE $noChange = false$ + \ENDIF + \ENDFOR + \UNTIL{$noChange$ is $true$} +\end{algorithmic} +\end{algorithm} + +\subsection{Tables} + +You may also want to include tables that summarize material. Like +figures, these should be centered, legible, and numbered consecutively. +However, place the title {\it above\/} the table with at least +0.1~inches of space before the title and the same after it, as in +Table~\ref{sample-table}. The table title should be set in 9~point +type and centered unless it runs two or more lines, in which case it +should be flush left. + +% Note use of \abovespace and \belowspace to get reasonable spacing +% above and below tabular lines. + +\begin{table}[t] +\caption{Classification accuracies for naive Bayes and flexible +Bayes on various data sets.} +\label{sample-table} +\vskip 0.15in +\begin{center} +\begin{small} +\begin{sc} +\begin{tabular}{lcccr} +\hline +\abovespace\belowspace +Data set & Naive & Flexible & Better? \\ +\hline +\abovespace +Breast & 95.9$\pm$ 0.2& 96.7$\pm$ 0.2& $\surd$ \\ +Cleveland & 83.3$\pm$ 0.6& 80.0$\pm$ 0.6& $\times$\\ +Glass2 & 61.9$\pm$ 1.4& 83.8$\pm$ 0.7& $\surd$ \\ +Credit & 74.8$\pm$ 0.5& 78.3$\pm$ 0.6& \\ +Horse & 73.3$\pm$ 0.9& 69.7$\pm$ 1.0& $\times$\\ +Meta & 67.1$\pm$ 0.6& 76.5$\pm$ 0.5& $\surd$ \\ +Pima & 75.1$\pm$ 0.6& 73.9$\pm$ 0.5& \\ +\belowspace +Vehicle & 44.9$\pm$ 0.6& 61.5$\pm$ 0.4& $\surd$ \\ +\hline +\end{tabular} +\end{sc} +\end{small} +\end{center} +\vskip -0.1in +\end{table} + +Tables contain textual material that can be typeset, as contrasted +with figures, which contain graphical material that must be drawn. +Specify the contents of each row and column in the table's topmost +row. Again, you may float tables to a column's top or bottom, and set +wide tables across both columns, but place two-column tables at the +top or bottom of the page. + +\subsection{Citations and References} + +Please use APA reference format regardless of your formatter +or word processor. If you rely on the \LaTeX\/ bibliographic +facility, use {\tt natbib.sty} and {\tt icml2015.bst} +included in the style-file package to obtain this format. + +Citations within the text should include the authors' last names and +year. If the authors' names are included in the sentence, place only +the year in parentheses, for example when referencing Arthur Samuel's +pioneering work \yrcite{Samuel59}. Otherwise place the entire +reference in parentheses with the authors and year separated by a +comma \cite{Samuel59}. List multiple references separated by +semicolons \cite{kearns89,Samuel59,mitchell80}. Use the `et~al.' +construct only for citations with three or more authors or after +listing all authors to a publication in an earlier reference \cite{MachineLearningI}. + +Authors should cite their own work in the third person +in the initial version of their paper submitted for blind review. +Please refer to Section~\ref{author info} for detailed instructions on how to +cite your own papers. + +Use an unnumbered first-level section heading for the references, and +use a hanging indent style, with the first line of the reference flush +against the left margin and subsequent lines indented by 10 points. +The references at the end of this document give examples for journal +articles \cite{Samuel59}, conference publications \cite{langley00}, book chapters \cite{Newell81}, books \cite{DudaHart2nd}, edited volumes \cite{MachineLearningI}, +technical reports \cite{mitchell80}, and dissertations \cite{kearns89}. + +Alphabetize references by the surnames of the first authors, with +single author entries preceding multiple author entries. Order +references for the same authors by year of publication, with the +earliest first. Make sure that each reference includes all relevant +information (e.g., page numbers). + +\subsection{Software and Data} + +We strongly encourage the publication of software and data with the +camera-ready version of the paper whenever appropriate. This can be +done by including a URL in the camera-ready copy. However, do not +include URLs that reveal your institution or identity in your +submission for review. Instead, provide an anonymous URL or upload +the material as ``Supplementary Material'' into the CMT reviewing +system. Note that reviewers are not required to look a this material +when writing their review. + + +% Acknowledgements should only appear in the accepted version. +\section*{Acknowledgments} + +\textbf{Do not} include acknowledgements in the initial version of +the paper submitted for blind review. + +If a paper is accepted, the final camera-ready version can (and +probably should) include acknowledgements. In this case, please +place such acknowledgements in an unnumbered section at the +end of the paper. Typically, this will include thanks to reviewers +who gave useful comments, to colleagues who contributed to the ideas, +and to funding agencies and corporate sponsors that provided financial +support. + + +% In the unusual situation where you want a paper to appear in the +% references without citing it in the main text, use \nocite +\nocite{langley00} + +\bibliography{example_paper} +\bibliographystyle{icml2015} + +\end{document} + + +% This document was modified from the file originally made available by +% Pat Langley and Andrea Danyluk for ICML-2K. This version was +% created by Lise Getoor and Tobias Scheffer, it was slightly modified +% from the 2010 version by Thorsten Joachims & Johannes Fuernkranz, +% slightly modified from the 2009 version by Kiri Wagstaff and +% Sam Roweis's 2008 version, which is slightly modified from +% Prasad Tadepalli's 2007 version which is a lightly +% changed version of the previous year's version by Andrew Moore, +% which was in turn edited from those of Kristian Kersting and +% Codrina Lauth. Alex Smola contributed to the algorithmic style files. diff --git a/notes/ICML/icml2015stylefiles/fancyhdr.sty b/notes/ICML/icml2015stylefiles/fancyhdr.sty new file mode 100644 index 0000000..5a4d897 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/fancyhdr.sty @@ -0,0 +1,485 @@ +% fancyhdr.sty version 3.2
+% Fancy headers and footers for LaTeX.
+% Piet van Oostrum,
+% Dept of Computer and Information Sciences, University of Utrecht,
+% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
+% Telephone: +31 30 2532180. Email: piet@cs.uu.nl
+% ========================================================================
+% LICENCE:
+% This file may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1 or, at your option, any later version.
+% ========================================================================
+% MODIFICATION HISTORY:
+% Sep 16, 1994
+% version 1.4: Correction for use with \reversemargin
+% Sep 29, 1994:
+% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands
+% Oct 4, 1994:
+% version 1.6: Reset single spacing in headers/footers for use with
+% setspace.sty or doublespace.sty
+% Oct 4, 1994:
+% version 1.7: changed \let\@mkboth\markboth to
+% \def\@mkboth{\protect\markboth} to make it more robust
+% Dec 5, 1994:
+% version 1.8: corrections for amsbook/amsart: define \@chapapp and (more
+% importantly) use the \chapter/sectionmark definitions from ps@headings if
+% they exist (which should be true for all standard classes).
+% May 31, 1995:
+% version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage...
+% construction in the doc did not work properly with the fancyplain style.
+% June 1, 1995:
+% version 1.91: The definition of \@mkboth wasn't restored on subsequent
+% \pagestyle{fancy}'s.
+% June 1, 1995:
+% version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain}
+% \pagestyle{fancy} would erroneously select the plain version.
+% June 1, 1995:
+% version 1.93: \fancypagestyle command added.
+% Dec 11, 1995:
+% version 1.94: suggested by Conrad Hughes <chughes@maths.tcd.ie>
+% CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule
+% position (old hardcoded value of .3\normalbaselineskip is far too high
+% when used with very small footer fonts).
+% Jan 31, 1996:
+% version 1.95: call \@normalsize in the reset code if that is defined,
+% otherwise \normalsize.
+% this is to solve a problem with ucthesis.cls, as this doesn't
+% define \@currsize. Unfortunately for latex209 calling \normalsize doesn't
+% work as this is optimized to do very little, so there \@normalsize should
+% be called. Hopefully this code works for all versions of LaTeX known to
+% mankind.
+% April 25, 1996:
+% version 1.96: initialize \headwidth to a magic (negative) value to catch
+% most common cases that people change it before calling \pagestyle{fancy}.
+% Note it can't be initialized when reading in this file, because
+% \textwidth could be changed afterwards. This is quite probable.
+% We also switch to \MakeUppercase rather than \uppercase and introduce a
+% \nouppercase command for use in headers. and footers.
+% May 3, 1996:
+% version 1.97: Two changes:
+% 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults
+% for the chapter and section marks. The current version of amsbook and
+% amsart classes don't seem to need them anymore. Moreover the standard
+% latex classes don't use \markboth if twoside isn't selected, and this is
+% confusing as \leftmark doesn't work as expected.
+% 2. include a call to \ps@empty in ps@@fancy. This is to solve a problem
+% in the amsbook and amsart classes, that make global changes to \topskip,
+% which are reset in \ps@empty. Hopefully this doesn't break other things.
+% May 7, 1996:
+% version 1.98:
+% Added % after the line \def\nouppercase
+% May 7, 1996:
+% version 1.99: This is the alpha version of fancyhdr 2.0
+% Introduced the new commands \fancyhead, \fancyfoot, and \fancyhf.
+% Changed \headrulewidth, \footrulewidth, \footruleskip to
+% macros rather than length parameters, In this way they can be
+% conditionalized and they don't consume length registers. There is no need
+% to have them as length registers unless you want to do calculations with
+% them, which is unlikely. Note that this may make some uses of them
+% incompatible (i.e. if you have a file that uses \setlength or \xxxx=)
+% May 10, 1996:
+% version 1.99a:
+% Added a few more % signs
+% May 10, 1996:
+% version 1.99b:
+% Changed the syntax of \f@nfor to be resistent to catcode changes of :=
+% Removed the [1] from the defs of \lhead etc. because the parameter is
+% consumed by the \@[xy]lhead etc. macros.
+% June 24, 1997:
+% version 1.99c:
+% corrected \nouppercase to also include the protected form of \MakeUppercase
+% \global added to manipulation of \headwidth.
+% \iffootnote command added.
+% Some comments added about \@fancyhead and \@fancyfoot.
+% Aug 24, 1998
+% version 1.99d
+% Changed the default \ps@empty to \ps@@empty in order to allow
+% \fancypagestyle{empty} redefinition.
+% Oct 11, 2000
+% version 2.0
+% Added LPPL license clause.
+%
+% A check for \headheight is added. An errormessage is given (once) if the
+% header is too large. Empty headers don't generate the error even if
+% \headheight is very small or even 0pt.
+% Warning added for the use of 'E' option when twoside option is not used.
+% In this case the 'E' fields will never be used.
+%
+% Mar 10, 2002
+% version 2.1beta
+% New command: \fancyhfoffset[place]{length}
+% defines offsets to be applied to the header/footer to let it stick into
+% the margins (if length > 0).
+% place is like in fancyhead, except that only E,O,L,R can be used.
+% This replaces the old calculation based on \headwidth and the marginpar
+% area.
+% \headwidth will be dynamically calculated in the headers/footers when
+% this is used.
+%
+% Mar 26, 2002
+% version 2.1beta2
+% \fancyhfoffset now also takes h,f as possible letters in the argument to
+% allow the header and footer widths to be different.
+% New commands \fancyheadoffset and \fancyfootoffset added comparable to
+% \fancyhead and \fancyfoot.
+% Errormessages and warnings have been made more informative.
+%
+% Dec 9, 2002
+% version 2.1
+% The defaults for \footrulewidth, \plainheadrulewidth and
+% \plainfootrulewidth are changed from \z@skip to 0pt. In this way when
+% someone inadvertantly uses \setlength to change any of these, the value
+% of \z@skip will not be changed, rather an errormessage will be given.
+
+% March 3, 2004
+% Release of version 3.0
+
+% Oct 7, 2004
+% version 3.1
+% Added '\endlinechar=13' to \fancy@reset to prevent problems with
+% includegraphics in header when verbatiminput is active.
+
+% March 22, 2005
+% version 3.2
+% reset \everypar (the real one) in \fancy@reset because spanish.ldf does
+% strange things with \everypar between << and >>.
+
+\def\ifancy@mpty#1{\def\temp@a{#1}\ifx\temp@a\@empty}
+
+\def\fancy@def#1#2{\ifancy@mpty{#2}\fancy@gbl\def#1{\leavevmode}\else
+ \fancy@gbl\def#1{#2\strut}\fi}
+
+\let\fancy@gbl\global
+
+\def\@fancyerrmsg#1{%
+ \ifx\PackageError\undefined
+ \errmessage{#1}\else
+ \PackageError{Fancyhdr}{#1}{}\fi}
+\def\@fancywarning#1{%
+ \ifx\PackageWarning\undefined
+ \errmessage{#1}\else
+ \PackageWarning{Fancyhdr}{#1}{}\fi}
+
+% Usage: \@forc \var{charstring}{command to be executed for each char}
+% This is similar to LaTeX's \@tfor, but expands the charstring.
+
+\def\@forc#1#2#3{\expandafter\f@rc\expandafter#1\expandafter{#2}{#3}}
+\def\f@rc#1#2#3{\def\temp@ty{#2}\ifx\@empty\temp@ty\else
+ \f@@rc#1#2\f@@rc{#3}\fi}
+\def\f@@rc#1#2#3\f@@rc#4{\def#1{#2}#4\f@rc#1{#3}{#4}}
+
+% Usage: \f@nfor\name:=list\do{body}
+% Like LaTeX's \@for but an empty list is treated as a list with an empty
+% element
+
+\newcommand{\f@nfor}[3]{\edef\@fortmp{#2}%
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}}
+
+% Usage: \def@ult \cs{defaults}{argument}
+% sets \cs to the characters from defaults appearing in argument
+% or defaults if it would be empty. All characters are lowercased.
+
+\newcommand\def@ult[3]{%
+ \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a
+ \def#1{}%
+ \@forc\tmpf@ra{#2}%
+ {\expandafter\if@in\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}%
+ \ifx\@empty#1\def#1{#2}\fi}
+%
+% \if@in <char><set><truecase><falsecase>
+%
+\newcommand{\if@in}[4]{%
+ \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}%
+ \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi}
+
+\newcommand{\fancyhead}{\@ifnextchar[{\f@ncyhf\fancyhead h}%
+ {\f@ncyhf\fancyhead h[]}}
+\newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf\fancyfoot f}%
+ {\f@ncyhf\fancyfoot f[]}}
+\newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf\fancyhf{}}%
+ {\f@ncyhf\fancyhf{}[]}}
+
+% New commands for offsets added
+
+\newcommand{\fancyheadoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyheadoffset h}%
+ {\f@ncyhfoffs\fancyheadoffset h[]}}
+\newcommand{\fancyfootoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyfootoffset f}%
+ {\f@ncyhfoffs\fancyfootoffset f[]}}
+\newcommand{\fancyhfoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyhfoffset{}}%
+ {\f@ncyhfoffs\fancyhfoffset{}[]}}
+
+% The header and footer fields are stored in command sequences with
+% names of the form: \f@ncy<x><y><z> with <x> for [eo], <y> from [lcr]
+% and <z> from [hf].
+
+\def\f@ncyhf#1#2[#3]#4{%
+ \def\temp@c{}%
+ \@forc\tmpf@ra{#3}%
+ {\expandafter\if@in\tmpf@ra{eolcrhf,EOLCRHF}%
+ {}{\edef\temp@c{\temp@c\tmpf@ra}}}%
+ \ifx\@empty\temp@c\else
+ \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument:
+ [#3]}%
+ \fi
+ \f@nfor\temp@c{#3}%
+ {\def@ult\f@@@eo{eo}\temp@c
+ \if@twoside\else
+ \if\f@@@eo e\@fancywarning
+ {\string#1's `E' option without twoside option is useless}\fi\fi
+ \def@ult\f@@@lcr{lcr}\temp@c
+ \def@ult\f@@@hf{hf}{#2\temp@c}%
+ \@forc\f@@eo\f@@@eo
+ {\@forc\f@@lcr\f@@@lcr
+ {\@forc\f@@hf\f@@@hf
+ {\expandafter\fancy@def\csname
+ f@ncy\f@@eo\f@@lcr\f@@hf\endcsname
+ {#4}}}}}}
+
+\def\f@ncyhfoffs#1#2[#3]#4{%
+ \def\temp@c{}%
+ \@forc\tmpf@ra{#3}%
+ {\expandafter\if@in\tmpf@ra{eolrhf,EOLRHF}%
+ {}{\edef\temp@c{\temp@c\tmpf@ra}}}%
+ \ifx\@empty\temp@c\else
+ \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument:
+ [#3]}%
+ \fi
+ \f@nfor\temp@c{#3}%
+ {\def@ult\f@@@eo{eo}\temp@c
+ \if@twoside\else
+ \if\f@@@eo e\@fancywarning
+ {\string#1's `E' option without twoside option is useless}\fi\fi
+ \def@ult\f@@@lcr{lr}\temp@c
+ \def@ult\f@@@hf{hf}{#2\temp@c}%
+ \@forc\f@@eo\f@@@eo
+ {\@forc\f@@lcr\f@@@lcr
+ {\@forc\f@@hf\f@@@hf
+ {\expandafter\setlength\csname
+ f@ncyO@\f@@eo\f@@lcr\f@@hf\endcsname
+ {#4}}}}}%
+ \fancy@setoffs}
+
+% Fancyheadings version 1 commands. These are more or less deprecated,
+% but they continue to work.
+
+\newcommand{\lhead}{\@ifnextchar[{\@xlhead}{\@ylhead}}
+\def\@xlhead[#1]#2{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#2}}
+\def\@ylhead#1{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#1}}
+
+\newcommand{\chead}{\@ifnextchar[{\@xchead}{\@ychead}}
+\def\@xchead[#1]#2{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#2}}
+\def\@ychead#1{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#1}}
+
+\newcommand{\rhead}{\@ifnextchar[{\@xrhead}{\@yrhead}}
+\def\@xrhead[#1]#2{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#2}}
+\def\@yrhead#1{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#1}}
+
+\newcommand{\lfoot}{\@ifnextchar[{\@xlfoot}{\@ylfoot}}
+\def\@xlfoot[#1]#2{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#2}}
+\def\@ylfoot#1{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#1}}
+
+\newcommand{\cfoot}{\@ifnextchar[{\@xcfoot}{\@ycfoot}}
+\def\@xcfoot[#1]#2{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#2}}
+\def\@ycfoot#1{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#1}}
+
+\newcommand{\rfoot}{\@ifnextchar[{\@xrfoot}{\@yrfoot}}
+\def\@xrfoot[#1]#2{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#2}}
+\def\@yrfoot#1{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#1}}
+
+\newlength{\fancy@headwidth}
+\let\headwidth\fancy@headwidth
+\newlength{\f@ncyO@elh}
+\newlength{\f@ncyO@erh}
+\newlength{\f@ncyO@olh}
+\newlength{\f@ncyO@orh}
+\newlength{\f@ncyO@elf}
+\newlength{\f@ncyO@erf}
+\newlength{\f@ncyO@olf}
+\newlength{\f@ncyO@orf}
+\newcommand{\headrulewidth}{0.4pt}
+\newcommand{\footrulewidth}{0pt}
+\newcommand{\footruleskip}{.3\normalbaselineskip}
+
+% Fancyplain stuff shouldn't be used anymore (rather
+% \fancypagestyle{plain} should be used), but it must be present for
+% compatibility reasons.
+
+\newcommand{\plainheadrulewidth}{0pt}
+\newcommand{\plainfootrulewidth}{0pt}
+\newif\if@fancyplain \@fancyplainfalse
+\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi}
+
+\headwidth=-123456789sp %magic constant
+
+% Command to reset various things in the headers:
+% a.o. single spacing (taken from setspace.sty)
+% and the catcode of ^^M (so that epsf files in the header work if a
+% verbatim crosses a page boundary)
+% It also defines a \nouppercase command that disables \uppercase and
+% \Makeuppercase. It can only be used in the headers and footers.
+\let\fnch@everypar\everypar% save real \everypar because of spanish.ldf
+\def\fancy@reset{\fnch@everypar{}\restorecr\endlinechar=13
+ \def\baselinestretch{1}%
+ \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax
+ \expandafter\let\csname MakeUppercase \endcsname\relax##1}}%
+ \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
+ \ifx\@normalsize\undefined \normalsize % for ucthesis.cls
+ \else \@normalsize \fi
+ \else% NFSS (2.09) present
+ \@newbaseline%
+ \fi}
+
+% Initialization of the head and foot text.
+
+% The default values still contain \fancyplain for compatibility.
+\fancyhf{} % clear all
+% lefthead empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages
+% evenhead empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages
+\if@twoside
+ \fancyhead[el,or]{\fancyplain{}{\sl\rightmark}}
+ \fancyhead[er,ol]{\fancyplain{}{\sl\leftmark}}
+\else
+ \fancyhead[l]{\fancyplain{}{\sl\rightmark}}
+ \fancyhead[r]{\fancyplain{}{\sl\leftmark}}
+\fi
+\fancyfoot[c]{\rm\thepage} % page number
+
+% Use box 0 as a temp box and dimen 0 as temp dimen.
+% This can be done, because this code will always
+% be used inside another box, and therefore the changes are local.
+
+\def\@fancyvbox#1#2{\setbox0\vbox{#2}\ifdim\ht0>#1\@fancywarning
+ {\string#1 is too small (\the#1): ^^J Make it at least \the\ht0.^^J
+ We now make it that large for the rest of the document.^^J
+ This may cause the page layout to be inconsistent, however\@gobble}%
+ \dimen0=#1\global\setlength{#1}{\ht0}\ht0=\dimen0\fi
+ \box0}
+
+% Put together a header or footer given the left, center and
+% right text, fillers at left and right and a rule.
+% The \lap commands put the text into an hbox of zero size,
+% so overlapping text does not generate an errormessage.
+% These macros have 5 parameters:
+% 1. LEFTSIDE BEARING % This determines at which side the header will stick
+% out. When \fancyhfoffset is used this calculates \headwidth, otherwise
+% it is \hss or \relax (after expansion).
+% 2. \f@ncyolh, \f@ncyelh, \f@ncyolf or \f@ncyelf. This is the left component.
+% 3. \f@ncyoch, \f@ncyech, \f@ncyocf or \f@ncyecf. This is the middle comp.
+% 4. \f@ncyorh, \f@ncyerh, \f@ncyorf or \f@ncyerf. This is the right component.
+% 5. RIGHTSIDE BEARING. This is always \relax or \hss (after expansion).
+
+\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
+ \@fancyvbox\headheight{\hbox
+ {\rlap{\parbox[b]{\headwidth}{\raggedright#2}}\hfill
+ \parbox[b]{\headwidth}{\centering#3}\hfill
+ \llap{\parbox[b]{\headwidth}{\raggedleft#4}}}\headrule}}#5}
+
+\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
+ \@fancyvbox\footskip{\footrule
+ \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2}}\hfill
+ \parbox[t]{\headwidth}{\centering#3}\hfill
+ \llap{\parbox[t]{\headwidth}{\raggedleft#4}}}}}#5}
+
+\def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
+ \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
+
+\def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi
+ \vskip-\footruleskip\vskip-\footrulewidth
+ \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}}
+
+\def\ps@fancy{%
+\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook
+%
+% Define \MakeUppercase for old LaTeXen.
+% Note: we used \def rather than \let, so that \let\uppercase\relax (from
+% the version 1 documentation) will still work.
+%
+\@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}%
+\@ifundefined{chapter}{\def\sectionmark##1{\markboth
+{\MakeUppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}%
+\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}%
+{\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne
+ \@chapapp\ \thechapter. \ \fi ##1}}{}}%
+\def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi ##1}}}}%
+%\csname ps@headings\endcsname % use \ps@headings defaults if they exist
+\ps@@fancy
+\gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}%
+% Initialize \headwidth if the user didn't
+%
+\ifdim\headwidth<0sp
+%
+% This catches the case that \headwidth hasn't been initialized and the
+% case that the user added something to \headwidth in the expectation that
+% it was initialized to \textwidth. We compensate this now. This loses if
+% the user intended to multiply it by a factor. But that case is more
+% likely done by saying something like \headwidth=1.2\textwidth.
+% The doc says you have to change \headwidth after the first call to
+% \pagestyle{fancy}. This code is just to catch the most common cases were
+% that requirement is violated.
+%
+ \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth
+\fi}
+\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy}
+\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy}
+\let\ps@@empty\ps@empty
+\def\ps@@fancy{%
+\ps@@empty % This is for amsbook/amsart, which do strange things with \topskip
+\def\@mkboth{\protect\markboth}%
+\def\@oddhead{\@fancyhead\fancy@Oolh\f@ncyolh\f@ncyoch\f@ncyorh\fancy@Oorh}%
+\def\@oddfoot{\@fancyfoot\fancy@Oolf\f@ncyolf\f@ncyocf\f@ncyorf\fancy@Oorf}%
+\def\@evenhead{\@fancyhead\fancy@Oelh\f@ncyelh\f@ncyech\f@ncyerh\fancy@Oerh}%
+\def\@evenfoot{\@fancyfoot\fancy@Oelf\f@ncyelf\f@ncyecf\f@ncyerf\fancy@Oerf}%
+}
+% Default definitions for compatibility mode:
+% These cause the header/footer to take the defined \headwidth as width
+% And to shift in the direction of the marginpar area
+
+\def\fancy@Oolh{\if@reversemargin\hss\else\relax\fi}
+\def\fancy@Oorh{\if@reversemargin\relax\else\hss\fi}
+\let\fancy@Oelh\fancy@Oorh
+\let\fancy@Oerh\fancy@Oolh
+
+\let\fancy@Oolf\fancy@Oolh
+\let\fancy@Oorf\fancy@Oorh
+\let\fancy@Oelf\fancy@Oelh
+\let\fancy@Oerf\fancy@Oerh
+
+% New definitions for the use of \fancyhfoffset
+% These calculate the \headwidth from \textwidth and the specified offsets.
+
+\def\fancy@offsolh{\headwidth=\textwidth\advance\headwidth\f@ncyO@olh
+ \advance\headwidth\f@ncyO@orh\hskip-\f@ncyO@olh}
+\def\fancy@offselh{\headwidth=\textwidth\advance\headwidth\f@ncyO@elh
+ \advance\headwidth\f@ncyO@erh\hskip-\f@ncyO@elh}
+
+\def\fancy@offsolf{\headwidth=\textwidth\advance\headwidth\f@ncyO@olf
+ \advance\headwidth\f@ncyO@orf\hskip-\f@ncyO@olf}
+\def\fancy@offself{\headwidth=\textwidth\advance\headwidth\f@ncyO@elf
+ \advance\headwidth\f@ncyO@erf\hskip-\f@ncyO@elf}
+
+\def\fancy@setoffs{%
+% Just in case \let\headwidth\textwidth was used
+ \fancy@gbl\let\headwidth\fancy@headwidth
+ \fancy@gbl\let\fancy@Oolh\fancy@offsolh
+ \fancy@gbl\let\fancy@Oelh\fancy@offselh
+ \fancy@gbl\let\fancy@Oorh\hss
+ \fancy@gbl\let\fancy@Oerh\hss
+ \fancy@gbl\let\fancy@Oolf\fancy@offsolf
+ \fancy@gbl\let\fancy@Oelf\fancy@offself
+ \fancy@gbl\let\fancy@Oorf\hss
+ \fancy@gbl\let\fancy@Oerf\hss}
+
+\newif\iffootnote
+\let\latex@makecol\@makecol
+\def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi
+\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}
+\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi}
+\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi}
+\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi}
+
+\newcommand{\fancypagestyle}[2]{%
+ \@namedef{ps@#1}{\let\fancy@gbl\relax#2\relax\ps@fancy}}
diff --git a/notes/ICML/icml2015stylefiles/icml2015.bst b/notes/ICML/icml2015stylefiles/icml2015.bst new file mode 100644 index 0000000..7709ca8 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/icml2015.bst @@ -0,0 +1,1441 @@ +%% File: `icml2010.bst' +%% A modification of `plainnl.bst' for use with natbib package +%% +%% Copyright 2010 Hal Daum\'e III +%% Modified by J. Fürnkranz +%% - Changed labels from (X and Y, 2000) to (X & Y, 2000) +%% - Changed References to last name first and abbreviated first names. +%% +%% Copyright 1993-2007 Patrick W Daly +%% Max-Planck-Institut f\"ur Sonnensystemforschung +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@mps.mpg.de +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +%% + % Version and source file information: + % \ProvidesFile{icml2010.mbs}[2007/11/26 1.93 (PWD)] + % + % BibTeX `plainnat' family + % version 0.99b for BibTeX versions 0.99a or later, + % for LaTeX versions 2.09 and 2e. + % + % For use with the `natbib.sty' package; emulates the corresponding + % member of the `plain' family, but with author-year citations. + % + % With version 6.0 of `natbib.sty', it may also be used for numerical + % citations, while retaining the commands \citeauthor, \citefullauthor, + % and \citeyear to print the corresponding information. + % + % For version 7.0 of `natbib.sty', the KEY field replaces missing + % authors/editors, and the date is left blank in \bibitem. + % + % Includes field EID for the sequence/citation number of electronic journals + % which is used instead of page numbers. + % + % Includes fields ISBN and ISSN. + % + % Includes field URL for Internet addresses. + % + % Includes field DOI for Digital Object Idenfifiers. + % + % Works best with the url.sty package of Donald Arseneau. + % + % Works with identical authors and year are further sorted by + % citation key, to preserve any natural sequence. + % +ENTRY + { address + author + booktitle + chapter + doi + eid + edition + editor + howpublished + institution + isbn + issn + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " (eds.)" * } + { " (ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.isbn} +{ isbn empty$ + { "" } + { new.block "ISBN " isbn * } + if$ +} + +FUNCTION {format.issn} +{ issn empty$ + { "" } + { new.block "ISSN " issn * } + if$ +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { new.block "URL \url{" url * "}" * } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\doi{" doi * "}" * } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {format.full.names} +{'s := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.full} +{ author empty$ + { editor empty$ + { "" } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.full} +{ author empty$ + { "" } + { author format.full.names } + if$ +} + +FUNCTION {editor.full} +{ editor empty$ + { "" } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.full + { type$ "proceedings" = + 'editor.full + 'author.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { month + " " * swap$ * + } + if$ + extra.label * +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.\ " pages n.dashify tie.or.space.connect } + { "pp.\ " pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.eid} +{ eid empty$ + { "" } + { "art." eid tie.or.space.connect } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "\penalty0 (" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":\penalty0 " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.eid} +{ volume field.or.null + number empty$ + 'skip$ + { "\penalty0 (" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + eid empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.eid } + { ":\penalty0 " * eid * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In \emph{" journal * "}" * } + if$ + } + { "In " } + if$ + " \citet{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "\emph{" * series * "}" * } + if$ + } + 'skip$ + if$ + } + 'skip$ + if$ + " \citet{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In \emph{" booktitle * "}" * } + if$ + } + { "In " } + if$ + } + { "In " } + if$ + " \citet{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + eid empty$ + { format.vol.num.pages output } + { format.vol.num.eid output } + if$ + format.date "year" output.check + } + { format.article.crossref output.nonnull + eid empty$ + { format.pages output } + { format.eid output } + if$ + } + if$ + format.issn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + address output + format.edition output + format.date output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + format.issn output + format.url output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + format.date "year" output.check + new.sentence + organization output + publisher output + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + + + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * } + 'skip$ + if$ + t sortify * + } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + cite$ + * + #1 entry.max$ substring$ + 'sort.label := + sort.label * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label last.label next.extra } + +INTEGERS { longest.label.width last.extra.num number.label } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/notes/ICML/icml2015stylefiles/icml2015.sty b/notes/ICML/icml2015stylefiles/icml2015.sty new file mode 100644 index 0000000..3eabeaf --- /dev/null +++ b/notes/ICML/icml2015stylefiles/icml2015.sty @@ -0,0 +1,615 @@ +% File: icml2015.sty (LaTeX style file for ICML-2015) + +% This file contains the LaTeX formatting parameters for a two-column +% conference proceedings that is 8.5 inches wide by 11 inches high. +% +% Modified by Percy Liang 12/2/2013: changed the year, location from the previous template for ICML 2014 + +% Modified by Fei Sha 9/2/2013: changed the year, location form the previous template for ICML 2013 +% +% Modified by Fei Sha 4/24/2013: (1) remove the extra whitespace after the first author's email address (in %the camera-ready version) (2) change the Proceeding ... of ICML 2010 to 2014 so PDF's metadata will show up % correctly +% +% Modified by Sanjoy Dasgupta, 2013: changed years, location +% +% Modified by Francesco Figari, 2012: changed years, location +% +% Modified by Christoph Sawade and Tobias Scheffer, 2011: added line +% numbers, changed years +% +% Modified by Hal Daume III, 2010: changed years, added hyperlinks +% +% Modified by Kiri Wagstaff, 2009: changed years +% +% Modified by Sam Roweis, 2008: changed years +% +% Modified by Ricardo Silva, 2007: update of the ifpdf verification +% +% Modified by Prasad Tadepalli and Andrew Moore, merely changing years. +% +% Modified by Kristian Kersting, 2005, based on Jennifer Dy's 2004 version +% - running title. If the original title is to long or is breaking a line, +% use \icmltitlerunning{...} in the preamble to supply a shorter form. +% Added fancyhdr package to get a running head. +% - Updated to store the page size because pdflatex does compile the +% page size into the pdf. +% +% Hacked by Terran Lane, 2003: +% - Updated to use LaTeX2e style file conventions (ProvidesPackage, +% etc.) +% - Added an ``appearing in'' block at the base of the first column +% (thus keeping the ``appearing in'' note out of the bottom margin +% where the printer should strip in the page numbers). +% - Added a package option [accepted] that selects between the ``Under +% review'' notice (default, when no option is specified) and the +% ``Appearing in'' notice (for use when the paper has been accepted +% and will appear). +% +% Originally created as: ml2k.sty (LaTeX style file for ICML-2000) +% by P. Langley (12/23/99) + +%%%%%%%%%%%%%%%%%%%% +%% This version of the style file supports both a ``review'' version +%% and a ``final/accepted'' version. The difference is only in the +%% text that appears in the note at the bottom of the first column of +%% the first page. The default behavior is to print a note to the +%% effect that the paper is under review and don't distribute it. The +%% final/accepted version prints an ``Appearing in'' note. To get the +%% latter behavior, in the calling file change the ``usepackage'' line +%% from: +%% \usepackage{icml2015} +%% to +%% \usepackage[accepted]{icml2015} +%%%%%%%%%%%%%%%%%%%% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{icml2015}[2015/01/01 v2.0 ICML Conference Style File] + +% Use fancyhdr package +\RequirePackage{fancyhdr} +\RequirePackage{color} +\RequirePackage{algorithm} +\RequirePackage{algorithmic} +\RequirePackage{natbib} +\RequirePackage{eso-pic} % used by \AddToShipoutPicture + +%%%%%%%% Options +\DeclareOption{accepted}{% + \renewcommand{\Notice@String}{\ICML@appearing} + \gdef\isaccepted{1} +} +\DeclareOption{nohyperref}{% + \gdef\nohyperref{1} +} + +\ifdefined\nohyperref\else\ifdefined\hypersetup + \definecolor{mydarkblue}{rgb}{0,0.08,0.45} + \hypersetup{ % + pdftitle={}, + pdfauthor={}, + pdfsubject={Proceedings of the International Conference on Machine Learning 2015}, + pdfkeywords={}, + pdfborder=0 0 0, + pdfpagemode=UseNone, + colorlinks=true, + linkcolor=mydarkblue, + citecolor=mydarkblue, + filecolor=mydarkblue, + urlcolor=mydarkblue, + pdfview=FitH} + + \ifdefined\isaccepted \else + \hypersetup{pdfauthor={Anonymous Submission}} + \fi +\fi\fi + +%%%%%%%%%%%%%%%%%%%% +% This string is printed at the bottom of the page for the +% final/accepted version of the ``appearing in'' note. Modify it to +% change that text. +%%%%%%%%%%%%%%%%%%%% +\newcommand{\ICML@appearing}{\textit{Proceedings of the +$\mathit{31}^{st}$ International Conference on Machine Learning}, +Lille, France, 2015. JMLR: W\&CP volume 37. +Copyright 2015 by the author(s).} + +%%%%%%%%%%%%%%%%%%%% +% This string is printed at the bottom of the page for the draft/under +% review version of the ``appearing in'' note. Modify it to change +% that text. +%%%%%%%%%%%%%%%%%%%% +\newcommand{\Notice@String}{Preliminary work. Under review by the +International Conference on Machine Learning (ICML). Do not distribute.} + +% Cause the declared options to actually be parsed and activated +\ProcessOptions\relax + +% Uncomment the following for debugging. It will cause LaTeX to dump +% the version of the ``appearing in'' string that will actually appear +% in the document. +%\typeout{>> Notice string='\Notice@String'} + +% Change citation commands to be more like old ICML styles +\newcommand{\yrcite}[1]{\citeyearpar{#1}} +\renewcommand{\cite}[1]{\citep{#1}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% to ensure the letter format is used. pdflatex does compile the +% page size into the pdf. This is done using \pdfpagewidth and +% \pdfpageheight. As Latex does not know this directives, we first +% check whether pdflatex or latex is used. +% +% Kristian Kersting 2005 +% +% in order to account for the more recent use of pdfetex as the default +% compiler, I have changed the pdf verification. +% +% Ricardo Silva 2007 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\paperwidth=8.5in +\paperheight=11in + +% old PDFLaTex verification, circa 2005 +% +%\newif\ifpdf\ifx\pdfoutput\undefined +% \pdffalse % we are not running PDFLaTeX +%\else +% \pdfoutput=1 % we are running PDFLaTeX +% \pdftrue +%\fi + +\newif\ifpdf %adapted from ifpdf.sty +\ifx\pdfoutput\undefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \pdftrue + \fi + \fi +\fi + +\ifpdf +% \pdfpagewidth=\paperwidth +% \pdfpageheight=\paperheight + \setlength{\pdfpagewidth}{8.5in} + \setlength{\pdfpageheight}{11in} +\fi + +% Physical page layout + +\evensidemargin -0.23in +\oddsidemargin -0.23in +\setlength\textheight{9.0in} +\setlength\textwidth{6.75in} +\setlength\columnsep{0.25in} +\setlength\headheight{10pt} +\setlength\headsep{10pt} +\addtolength{\topmargin}{-20pt} + +%\setlength\headheight{1em} +%\setlength\headsep{1em} +\addtolength{\topmargin}{-0.29in} + +%\addtolength{\topmargin}{-2em} + +%% The following is adapted from code in the acmconf.sty conference +%% style file. The constants in it are somewhat magical, and appear +%% to work well with the two-column format on US letter paper that +%% ICML uses, but will break if you change that layout, or if you use +%% a longer block of text for the copyright notice string. Fiddle with +%% them if necessary to get the block to fit/look right. +%% +%% -- Terran Lane, 2003 +%% +%% The following comments are included verbatim from acmconf.sty: +%% +%%% This section (written by KBT) handles the 1" box in the lower left +%%% corner of the left column of the first page by creating a picture, +%%% and inserting the predefined string at the bottom (with a negative +%%% displacement to offset the space allocated for a non-existent +%%% caption). +%%% +\def\ftype@copyrightbox{8} +\def\@copyrightspace{ +% Create a float object positioned at the bottom of the column. Note +% that because of the mystical nature of floats, this has to be called +% before the first column is populated with text (e.g., from the title +% or abstract blocks). Otherwise, the text will force the float to +% the next column. -- TDRL. +\@float{copyrightbox}[b] +\begin{center} +\setlength{\unitlength}{1pc} +\begin{picture}(20,1.5) +% Create a line separating the main text from the note block. +% 4.818pc==0.8in. +\put(0,2.5){\line(1,0){4.818}} +% Insert the text string itself. Note that the string has to be +% enclosed in a parbox -- the \put call needs a box object to +% position. Without the parbox, the text gets splattered across the +% bottom of the page semi-randomly. The 19.75pc distance seems to be +% the width of the column, though I can't find an appropriate distance +% variable to substitute here. -- TDRL. +\put(0,0){\parbox[b]{19.75pc}{\small \Notice@String}} +\end{picture} +\end{center} +\end@float} + +% Note: A few Latex versions need the next line instead of the former. +% \addtolength{\topmargin}{0.3in} +% \setlength\footheight{0pt} +\setlength\footskip{0pt} +%\pagestyle{empty} +\flushbottom \twocolumn +\sloppy + +% Clear out the addcontentsline command +\def\addcontentsline#1#2#3{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% commands for formatting paper title, author names, and addresses. + +%%start%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%% title as running head -- Kristian Kersting 2005 %%%%%%%%%%%%% + + +%\makeatletter +%\newtoks\mytoksa +%\newtoks\mytoksb +%\newcommand\addtomylist[2]{% +% \mytoksa\expandafter{#1}% +% \mytoksb{#2}% +% \edef#1{\the\mytoksa\the\mytoksb}% +%} +%\makeatother + +% box to check the size of the running head +\newbox\titrun + +% general page style +\pagestyle{fancy} +\fancyhf{} +\fancyhead{} +\fancyfoot{} +% set the width of the head rule to 1 point +\renewcommand{\headrulewidth}{1pt} + +% definition to set the head as running head in the preamble +\def\icmltitlerunning#1{\gdef\@icmltitlerunning{#1}} + +% main definition adapting \icmltitle from 2004 +\long\def\icmltitle#1{% + + %check whether @icmltitlerunning exists + % if not \icmltitle is used as running head + \ifx\undefined\@icmltitlerunning% + \gdef\@icmltitlerunning{#1} + \fi + + %add it to pdf information + \ifdefined\nohyperref\else\ifdefined\hypersetup + \hypersetup{pdftitle={#1}} + \fi\fi + + %get the dimension of the running title + \global\setbox\titrun=\vbox{\small\bf\@icmltitlerunning} + + % error flag + \gdef\@runningtitleerror{0} + + % running title too long + \ifdim\wd\titrun>\textwidth% + {\gdef\@runningtitleerror{1}}% + % running title breaks a line + \else\ifdim\ht\titrun>6.25pt + {\gdef\@runningtitleerror{2}}% + \fi + \fi + + % if there is somthing wrong with the running title + \ifnum\@runningtitleerror>0 + \typeout{}% + \typeout{}% + \typeout{*******************************************************}% + \typeout{Title exceeds size limitations for running head.}% + \typeout{Please supply a shorter form for the running head} + \typeout{with \string\icmltitlerunning{...}\space prior to \string\begin{document}}% + \typeout{*******************************************************}% + \typeout{}% + \typeout{}% + % set default running title + \chead{\small\bf Title Suppressed Due to Excessive Size}% + \else + % 'everything' fine, set provided running title + \chead{\small\bf\@icmltitlerunning}% + \fi + + % no running title on the first page of the paper + \thispagestyle{empty} + +%%%%%%%%%%%%%%%%%%%% Kristian Kersting %%%%%%%%%%%%%%%%%%%%%%%%% +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + {\center\baselineskip 18pt + \toptitlebar{\Large\bf #1}\bottomtitlebar} +} + + +\gdef\icmlfullauthorlist{} +\newcommand\addstringtofullauthorlist{\g@addto@macro\icmlfullauthorlist} +\newcommand\addtofullauthorlist[1]{% + \ifdefined\icmlanyauthors + \addstringtofullauthorlist{, #1} + \else + \addstringtofullauthorlist{#1}% + \gdef\icmlanyauthors{1} + \fi + \ifdefined\nohyperref\else\ifdefined\hypersetup + \hypersetup{pdfauthor=\icmlfullauthorlist} + \fi\fi} + + +\def\toptitlebar{\hrule height1pt \vskip .25in} +\def\bottomtitlebar{\vskip .22in \hrule height1pt \vskip .3in} +\def\icmlauthor#1#2{% + \ifdefined\isaccepted + \par {\bf #1} \hfill {\sc #2}% + \addtofullauthorlist{#1} + \fi +} +\long\def\icmladdress#1{% + \ifdefined\isaccepted + \par\vskip 0.03in #1 \vskip 0.10in + \fi +} + +%% keywords as first class citizens +\def\icmlkeywords#1{% +% \ifdefined\isaccepted \else +% \par {\bf Keywords:} #1% +% \fi +% \ifdefined\nohyperref\else\ifdefined\hypersetup +% \hypersetup{pdfkeywords={#1}} +% \fi\fi +% \ifdefined\isaccepted \else +% \par {\bf Keywords:} #1% +% \fi + \ifdefined\nohyperref\else\ifdefined\hypersetup + \hypersetup{pdfkeywords={#1}} + \fi\fi +} + +% modification to natbib citations +\setcitestyle{authoryear,round,citesep={;},aysep={,},yysep={;}} + +% Redefinition of the abstract environment. +\renewenvironment{abstract} + {% +% Insert the ``appearing in'' copyright notice. +\@copyrightspace +\centerline{\large\bf Abstract} + \vspace{-0.12in}\begin{quote}} + {\par\end{quote}\vskip 0.12in} + +% numbered section headings with different treatment of numbers + +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue +% Altered the following line to indent a section's first paragraph. +% \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \fi + \if@nobreak \everypar{}\else + \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sict{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\def\@sict#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec.~}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 0.4em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +% section headings with less space above and below them +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\section{\@startsection{section}{1}{\z@}{-0.12in}{0.02in} + {\large\bf\raggedright}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-0.10in}{0.01in} + {\normalsize\bf\raggedright}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-0.08in}{0.01in} + {\normalsize\sc\raggedright}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\z@}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} + +% Footnotes +\footnotesep 6.65pt % +\skip\footins 9pt +\def\footnoterule{\kern-3pt \hrule width 0.8in \kern 2.6pt } +\setcounter{footnote}{0} + +% Lists and paragraphs +\parindent 0pt +\topsep 4pt plus 1pt minus 2pt +\partopsep 1pt plus 0.5pt minus 0.5pt +\itemsep 2pt plus 1pt minus 0.5pt +\parsep 2pt plus 1pt minus 0.5pt +\parskip 6pt + +\leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em +\leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em +\leftmarginvi .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt + +\def\@listi{\leftmargin\leftmargini} +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 0.5pt + \parsep 1pt plus 0.5pt minus 0.5pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1pt plus 0.5pt minus 0.5pt + \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\abovedisplayskip 7pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 4pt plus3pt minus3pt% + +% Less leading in most fonts (due to the narrow columns) +% The choices were between 1-pt and 1.5-pt leading +\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt} +\def\small{\@setsize\small{10pt}\ixpt\@ixpt} +\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{23pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} + +% Revised formatting for figure captions and table titles. +\newsavebox\captionbox\newdimen\captionboxwid + +\long\def\@makecaption#1#2{ + \vskip 10pt + \baselineskip 11pt + \setbox\@tempboxa\hbox{#1. #2} + \ifdim \wd\@tempboxa >\hsize + \sbox{\captionbox}{\small\sl #1.~} + \captionboxwid=\wd\captionbox + \usebox\captionbox {\footnotesize #2} +% \usebox\captionbox {\small #2} + \else + \centerline{{\small\sl #1.} {\small #2}} + \fi} + +\def\fnum@figure{Figure \thefigure} +\def\fnum@table{Table \thetable} + +% Strut macros for skipping spaces above and below text in tables. +\def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces} +\def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces} + +\def\abovespace{\abovestrut{0.20in}} +\def\aroundspace{\abovestrut{0.20in}\belowstrut{0.10in}} +\def\belowspace{\belowstrut{0.10in}} + +% Various personal itemization commands. +\def\texitem#1{\par\noindent\hangindent 12pt + \hbox to 12pt {\hss #1 ~}\ignorespaces} +\def\icmlitem{\texitem{$\bullet$}} + +% To comment out multiple lines of text. +\long\def\comment#1{} + + + + +%% Line counter (not in final version). Adapted from NIPS style file by Christoph Sawade + +% Vertical Ruler +% This code is, largely, from the CVPR 2010 conference style file +% ----- define vruler +\makeatletter +\newbox\icmlrulerbox +\newcount\icmlrulercount +\newdimen\icmlruleroffset +\newdimen\cv@lineheight +\newdimen\cv@boxheight +\newbox\cv@tmpbox +\newcount\cv@refno +\newcount\cv@tot +% NUMBER with left flushed zeros \fillzeros[<WIDTH>]<NUMBER> +\newcount\cv@tmpc@ \newcount\cv@tmpc +\def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi +\cv@tmpc=1 % +\loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi + \ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat +\ifnum#2<0\advance\cv@tmpc1\relax-\fi +\loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat +\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}% +% \makevruler[<SCALE>][<INITIAL_COUNT>][<STEP>][<DIGITS>][<HEIGHT>] +\def\makevruler[#1][#2][#3][#4][#5]{ + \begingroup\offinterlineskip + \textheight=#5\vbadness=10000\vfuzz=120ex\overfullrule=0pt% + \global\setbox\icmlrulerbox=\vbox to \textheight{% + { + \parskip=0pt\hfuzz=150em\cv@boxheight=\textheight + \cv@lineheight=#1\global\icmlrulercount=#2% + \cv@tot\cv@boxheight\divide\cv@tot\cv@lineheight\advance\cv@tot2% + \cv@refno1\vskip-\cv@lineheight\vskip1ex% + \loop\setbox\cv@tmpbox=\hbox to0cm{ % side margin + \hfil {\hfil\fillzeros[#4]\icmlrulercount} + }% + \ht\cv@tmpbox\cv@lineheight\dp\cv@tmpbox0pt\box\cv@tmpbox\break + \advance\cv@refno1\global\advance\icmlrulercount#3\relax + \ifnum\cv@refno<\cv@tot\repeat + } + } + \endgroup +}% +\makeatother +% ----- end of vruler + + +% \makevruler[<SCALE>][<INITIAL_COUNT>][<STEP>][<DIGITS>][<HEIGHT>] +\def\icmlruler#1{\makevruler[12pt][#1][1][3][\textheight]\usebox{\icmlrulerbox}} +\AddToShipoutPicture{% +\icmlruleroffset=\textheight +\advance\icmlruleroffset by 5.2pt % top margin + \color[rgb]{.7,.7,.7} + \ifdefined\isaccepted \else + \AtTextUpperLeft{% + \put(\LenToUnit{-35pt},\LenToUnit{-\icmlruleroffset}){%left ruler + \icmlruler{\icmlrulercount}} + \put(\LenToUnit{1.04\textwidth},\LenToUnit{-\icmlruleroffset}){%right ruler + \icmlruler{\icmlrulercount}} + } + \fi +} +\endinput diff --git a/notes/ICML/icml2015stylefiles/icml_numpapers.eps b/notes/ICML/icml2015stylefiles/icml_numpapers.eps new file mode 100644 index 0000000..aa5fb67 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/icml_numpapers.eps @@ -0,0 +1,517 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The Mathworks, Inc. Version 7.2.0.294 (R2006a). Operating System: Linux 2.6.15-25-686 #1 SMP PREEMPT Wed Jun 14 11:34:19 UTC 2006 i686. +%%Title: ./icml_numpapers.eps +%%CreationDate: 12/23/2007 13:45:31 +%%DocumentNeededFonts: Times-Roman +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Pages: 1 +%%BoundingBox: 46 193 543 608 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup string + currentfile exch readhexstring pop + /bmap xdef pop pop} bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + {bmap} image gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 46 193 543 608 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 12 def +portraitMode 0216 7344 csm + + 346 38 5959 4990 MR c np +84 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 6913 5186 PR +6 w +4 w +DO +SO +6 w +0 sg + 899 4615 mt 6255 4615 L + 899 389 mt 6255 389 L + 899 4615 mt 899 389 L +6255 4615 mt 6255 389 L + 899 4615 mt 6255 4615 L + 899 4615 mt 899 389 L +1142 4615 mt 1142 4561 L +1142 389 mt 1142 442 L +%%IncludeResource: font Times-Roman +/Times-Roman /ISOLatin1Encoding 168 FMSR + +1058 4799 mt +(88) s +1385 4615 mt 1385 4561 L +1385 389 mt 1385 442 L +1301 4799 mt +(89) s +1629 4615 mt 1629 4561 L +1629 389 mt 1629 442 L +1545 4799 mt +(90) s +1872 4615 mt 1872 4561 L +1872 389 mt 1872 442 L +1788 4799 mt +(91) s +2116 4615 mt 2116 4561 L +2116 389 mt 2116 442 L +2032 4799 mt +(92) s +2359 4615 mt 2359 4561 L +2359 389 mt 2359 442 L +2275 4799 mt +(93) s +2603 4615 mt 2603 4561 L +2603 389 mt 2603 442 L +2519 4799 mt +(94) s +2846 4615 mt 2846 4561 L +2846 389 mt 2846 442 L +2762 4799 mt +(95) s +3090 4615 mt 3090 4561 L +3090 389 mt 3090 442 L +3006 4799 mt +(96) s +3333 4615 mt 3333 4561 L +3333 389 mt 3333 442 L +3249 4799 mt +(97) s +3577 4615 mt 3577 4561 L +3577 389 mt 3577 442 L +3493 4799 mt +(98) s +3820 4615 mt 3820 4561 L +3820 389 mt 3820 442 L +3736 4799 mt +(99) s +4063 4615 mt 4063 4561 L +4063 389 mt 4063 442 L +3979 4799 mt +(00) s +4307 4615 mt 4307 4561 L +4307 389 mt 4307 442 L +4223 4799 mt +(01) s +4550 4615 mt 4550 4561 L +4550 389 mt 4550 442 L +4466 4799 mt +(02) s +4794 4615 mt 4794 4561 L +4794 389 mt 4794 442 L +4710 4799 mt +(03) s +5037 4615 mt 5037 4561 L +5037 389 mt 5037 442 L +4953 4799 mt +(04) s +5281 4615 mt 5281 4561 L +5281 389 mt 5281 442 L +5197 4799 mt +(05) s +5524 4615 mt 5524 4561 L +5524 389 mt 5524 442 L +5440 4799 mt +(06) s +5768 4615 mt 5768 4561 L +5768 389 mt 5768 442 L +5684 4799 mt +(07) s +6011 4615 mt 6011 4561 L +6011 389 mt 6011 442 L +5927 4799 mt +(08) s + 899 4615 mt 952 4615 L +6255 4615 mt 6201 4615 L + 780 4675 mt +(0) s + 899 4117 mt 952 4117 L +6255 4117 mt 6201 4117 L + 696 4177 mt +(20) s + 899 3620 mt 952 3620 L +6255 3620 mt 6201 3620 L + 696 3680 mt +(40) s + 899 3123 mt 952 3123 L +6255 3123 mt 6201 3123 L + 696 3183 mt +(60) s + 899 2626 mt 952 2626 L +6255 2626 mt 6201 2626 L + 696 2686 mt +(80) s + 899 2129 mt 952 2129 L +6255 2129 mt 6201 2129 L + 612 2189 mt +(100) s + 899 1631 mt 952 1631 L +6255 1631 mt 6201 1631 L + 612 1691 mt +(120) s + 899 1134 mt 952 1134 L +6255 1134 mt 6201 1134 L + 612 1194 mt +(140) s + 899 637 mt 952 637 L +6255 637 mt 6201 637 L + 612 697 mt +(160) s + 899 4615 mt 6255 4615 L + 899 389 mt 6255 389 L + 899 4615 mt 899 389 L +6255 4615 mt 6255 389 L +gs 899 389 5357 4227 MR c np +/c8 { 1.000000 0.000000 0.000000 sr} bdef +c8 +0 1219 194 0 0 -1219 1045 4615 4 MP +PP +0 sg +-194 0 0 1219 194 0 0 -1219 1045 4615 5 MP stroke +c8 +0 3182 195 0 0 -3182 1288 4615 4 MP +PP +0 sg +-195 0 0 3182 195 0 0 -3182 1288 4615 5 MP stroke +c8 +0 1243 195 0 0 -1243 1531 4615 4 MP +PP +0 sg +-195 0 0 1243 195 0 0 -1243 1531 4615 5 MP stroke +c8 +0 3182 195 0 0 -3182 1775 4615 4 MP +PP +0 sg +-195 0 0 3182 195 0 0 -3182 1775 4615 5 MP stroke +c8 +0 1492 195 0 0 -1492 2018 4615 4 MP +PP +0 sg +-195 0 0 1492 195 0 0 -1492 2018 4615 5 MP stroke +c8 +0 1094 195 0 0 -1094 2262 4615 4 MP +PP +0 sg +-195 0 0 1094 195 0 0 -1094 2262 4615 5 MP stroke +c8 +0 1119 195 0 0 -1119 2505 4615 4 MP +PP +0 sg +-195 0 0 1119 195 0 0 -1119 2505 4615 5 MP stroke +c8 +0 1765 195 0 0 -1765 2749 4615 4 MP +PP +0 sg +-195 0 0 1765 195 0 0 -1765 2749 4615 5 MP stroke +c8 +0 1616 195 0 0 -1616 2992 4615 4 MP +PP +0 sg +-195 0 0 1616 195 0 0 -1616 2992 4615 5 MP stroke +c8 +0 1194 194 0 0 -1194 3236 4615 4 MP +PP +0 sg +-194 0 0 1194 194 0 0 -1194 3236 4615 5 MP stroke +c8 +0 1641 195 0 0 -1641 3479 4615 4 MP +PP +0 sg +-195 0 0 1641 195 0 0 -1641 3479 4615 5 MP stroke +c8 +0 1343 194 0 0 -1343 3723 4615 4 MP +PP +0 sg +-194 0 0 1343 194 0 0 -1343 3723 4615 5 MP stroke +c8 +0 3754 195 0 0 -3754 3966 4615 4 MP +PP +0 sg +-195 0 0 3754 195 0 0 -3754 3966 4615 5 MP stroke +c8 +0 1989 195 0 0 -1989 4209 4615 4 MP +PP +0 sg +-195 0 0 1989 195 0 0 -1989 4209 4615 5 MP stroke +c8 +0 2163 195 0 0 -2163 4453 4615 4 MP +PP +0 sg +-195 0 0 2163 195 0 0 -2163 4453 4615 5 MP stroke +c8 +0 2884 195 0 0 -2884 4696 4615 4 MP +PP +0 sg +-195 0 0 2884 195 0 0 -2884 4696 4615 5 MP stroke +c8 +0 2909 195 0 0 -2909 4940 4615 4 MP +PP +0 sg +-195 0 0 2909 195 0 0 -2909 4940 4615 5 MP stroke +c8 +0 3332 195 0 0 -3332 5183 4615 4 MP +PP +0 sg +-195 0 0 3332 195 0 0 -3332 5183 4615 5 MP stroke +c8 +0 3481 195 0 0 -3481 5427 4615 4 MP +PP +0 sg +-195 0 0 3481 195 0 0 -3481 5427 4615 5 MP stroke +c8 +0 3729 195 0 0 -3729 5670 4615 4 MP +PP +0 sg +-195 0 0 3729 195 0 0 -3729 5670 4615 5 MP stroke +c8 +0 3978 194 0 0 -3978 5914 4615 4 MP +PP +0 sg +-194 0 0 3978 194 0 0 -3978 5914 4615 5 MP stroke +5356 0 899 4615 2 MP stroke +gr + +2654 4967 mt +(Conference/Workshop Year) s + 521 3446 mt -90 rotate +(Number of Accepted Papers) s +90 rotate +1559 261 mt +(Historial ICML Locations and Numbers of Accepted Papers) s +%%IncludeResource: font Times-Roman +/Times-Roman /ISOLatin1Encoding 132 FMSR + +1187 4540 mt -90 rotate +(Ann Arbor, MI) s +90 rotate +1430 4540 mt -90 rotate +(Itaca, NY) s +90 rotate +1674 4540 mt -90 rotate +(Austin, TX) s +90 rotate +1917 4540 mt -90 rotate +(Evanston, IL) s +90 rotate +2161 4540 mt -90 rotate +(Aberdeen, Scotland) s +90 rotate +2404 4540 mt -90 rotate +(Amherst, MA) s +90 rotate +2648 4565 mt -90 rotate +(New Brunswick, NJ) s +90 rotate +2891 4540 mt -90 rotate +(Tahoe, CA) s +90 rotate +3135 4540 mt -90 rotate +(Bari, Italy) s +90 rotate +3378 4540 mt -90 rotate +(Nashville, TN) s +90 rotate +3622 4540 mt -90 rotate +(Madison, WI) s +90 rotate +3865 4540 mt -90 rotate +(Bled, Slovenia) s +90 rotate +4108 4540 mt -90 rotate +(Stanford, CA) s +90 rotate +4352 4540 mt -90 rotate +(Williamstown, CA) s +90 rotate +4595 4540 mt -90 rotate +(Sydney, Australia) s +90 rotate +4839 4540 mt -90 rotate +(Washington, DC) s +90 rotate +5082 4540 mt -90 rotate +(Banff, Canada) s +90 rotate +5326 4540 mt -90 rotate +(Bonn, Germany) s +90 rotate +5569 4540 mt -90 rotate +(Pittsburgh, PA) s +90 rotate +5813 4540 mt -90 rotate +(Corvalis, OR) s +90 rotate +6056 4540 mt -90 rotate +(Helsinki, Finland \(estimated\)) s +90 rotate + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/notes/ICML/icml2015stylefiles/natbib.sty b/notes/ICML/icml2015stylefiles/natbib.sty new file mode 100644 index 0000000..ff0d0b9 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/natbib.sty @@ -0,0 +1,1246 @@ +%% +%% This is file `natbib.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% natbib.dtx (with options: `package,all') +%% ============================================= +%% IMPORTANT NOTICE: +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +%% +%% This is a generated file. +%% It may not be distributed without the original source file natbib.dtx. +%% +%% Full documentation can be obtained by LaTeXing that original file. +%% Only a few abbreviated comments remain here to describe the usage. +%% ============================================= +%% Copyright 1993-2009 Patrick W Daly +%% Max-Planck-Institut f\"ur Sonnensystemforschung +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@mps.mpg.de +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{natbib} + [2009/07/16 8.31 (PWD, AO)] + + % This package reimplements the LaTeX \cite command to be used for various + % citation styles, both author-year and numerical. It accepts BibTeX + % output intended for many other packages, and therefore acts as a + % general, all-purpose citation-style interface. + % + % With standard numerical .bst files, only numerical citations are + % possible. With an author-year .bst file, both numerical and + % author-year citations are possible. + % + % If author-year citations are selected, \bibitem must have one of the + % following forms: + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}... + % \bibitem[Jones et al., 1990]{key}... + % \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones + % et al.}{1990}]{key}... + % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... + % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... + % \bibitem[\protect\citename{Jones et al., }1990]{key}... + % \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}... + % + % This is either to be made up manually, or to be generated by an + % appropriate .bst file with BibTeX. + % Author-year mode || Numerical mode + % Then, \citet{key} ==>> Jones et al. (1990) || Jones et al. [21] + % \citep{key} ==>> (Jones et al., 1990) || [21] + % Multiple citations as normal: + % \citep{key1,key2} ==>> (Jones et al., 1990; Smith, 1989) || [21,24] + % or (Jones et al., 1990, 1991) || [21,24] + % or (Jones et al., 1990a,b) || [21,24] + % \cite{key} is the equivalent of \citet{key} in author-year mode + % and of \citep{key} in numerical mode + % Full author lists may be forced with \citet* or \citep*, e.g. + % \citep*{key} ==>> (Jones, Baker, and Williams, 1990) + % Optional notes as: + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.,][]{key} ==>> (e.g., Jones et al., 1990) + % \citep[see][pg. 34]{key}==>> (see Jones et al., 1990, pg. 34) + % (Note: in standard LaTeX, only one note is allowed, after the ref. + % Here, one note is like the standard, two make pre- and post-notes.) + % \citealt{key} ==>> Jones et al. 1990 + % \citealt*{key} ==>> Jones, Baker, and Williams 1990 + % \citealp{key} ==>> Jones et al., 1990 + % \citealp*{key} ==>> Jones, Baker, and Williams, 1990 + % Additional citation possibilities (both author-year and numerical modes) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Williams + % \citeyear{key} ==>> 1990 + % \citeyearpar{key} ==>> (1990) + % \citetext{priv. comm.} ==>> (priv. comm.) + % \citenum{key} ==>> 11 [non-superscripted] + % Note: full author lists depends on whether the bib style supports them; + % if not, the abbreviated list is printed even when full requested. + % + % For names like della Robbia at the start of a sentence, use + % \Citet{dRob98} ==>> Della Robbia (1998) + % \Citep{dRob98} ==>> (Della Robbia, 1998) + % \Citeauthor{dRob98} ==>> Della Robbia + % + % + % Citation aliasing is achieved with + % \defcitealias{key}{text} + % \citetalias{key} ==>> text + % \citepalias{key} ==>> (text) + % + % Defining the citation mode and punctual (citation style) + % \setcitestyle{<comma-separated list of keywords, same + % as the package options>} + % Example: \setcitestyle{square,semicolon} + % Alternatively: + % Use \bibpunct with 6 mandatory arguments: + % 1. opening bracket for citation + % 2. closing bracket + % 3. citation separator (for multiple citations in one \cite) + % 4. the letter n for numerical styles, s for superscripts + % else anything for author-year + % 5. punctuation between authors and date + % 6. punctuation between years (or numbers) when common authors missing + % One optional argument is the character coming before post-notes. It + % appears in square braces before all other arguments. May be left off. + % Example (and default) \bibpunct[, ]{(}{)}{;}{a}{,}{,} + % + % To make this automatic for a given bib style, named newbib, say, make + % a local configuration file, natbib.cfg, with the definition + % \newcommand{\bibstyle@newbib}{\bibpunct...} + % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to + % be called on THE NEXT LATEX RUN (via the aux file). + % + % Such preprogrammed definitions may be invoked anywhere in the text + % by calling \citestyle{newbib}. This is only useful if the style specified + % differs from that in \bibliographystyle. + % + % With \citeindextrue and \citeindexfalse, one can control whether the + % \cite commands make an automatic entry of the citation in the .idx + % indexing file. For this, \makeindex must also be given in the preamble. + % + % Package Options: (for selecting punctuation) + % round - round parentheses are used (default) + % square - square brackets are used [option] + % curly - curly braces are used {option} + % angle - angle brackets are used <option> + % semicolon - multiple citations separated by semi-colon (default) + % colon - same as semicolon, an earlier confusion + % comma - separated by comma + % authoryear - selects author-year citations (default) + % numbers- selects numerical citations + % super - numerical citations as superscripts + % sort - sorts multiple citations according to order in ref. list + % sort&compress - like sort, but also compresses numerical citations + % compress - compresses without sorting + % longnamesfirst - makes first citation full author list + % sectionbib - puts bibliography in a \section* instead of \chapter* + % merge - allows the citation key to have a * prefix, + % signifying to merge its reference with that of the previous citation. + % elide - if references are merged, repeated portions of later ones may be removed. + % mcite - recognizes and ignores the * prefix for merging. + % Punctuation so selected dominates over any predefined ones. + % Package options are called as, e.g. + % \usepackage[square,comma]{natbib} + % LaTeX the source file natbib.dtx to obtain more details + % or the file natnotes.tex for a brief reference sheet. + %----------------------------------------------------------- +\providecommand\@ifxundefined[1]{% + \ifx#1\@undefined\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +}% +\providecommand\@ifnum[1]{% + \ifnum#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +}% +\providecommand\@ifx[1]{% + \ifx#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +}% +\providecommand\appdef[2]{% + \toks@\expandafter{#1}\@temptokena{#2}% + \edef#1{\the\toks@\the\@temptokena}% +}% +\@ifclassloaded{agu2001}{\PackageError{natbib} + {The agu2001 class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} +\@ifclassloaded{agutex}{\PackageError{natbib} + {The AGUTeX class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} +\@ifclassloaded{aguplus}{\PackageError{natbib} + {The aguplus class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} +\@ifclassloaded{nlinproc}{\PackageError{natbib} + {The nlinproc class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} +\@ifclassloaded{egs}{\PackageError{natbib} + {The egs class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} +\@ifclassloaded{egu}{\PackageError{natbib} + {The egu class already includes natbib coding,\MessageBreak + so you should not add it explicitly} + {Type <Return> for now, but then later remove\MessageBreak + the command \protect\usepackage{natbib} from the document} + \endinput}{} + % Define citation punctuation for some author-year styles + % One may add and delete at this point + % Or put additions into local configuration file natbib.cfg +\newcommand\bibstyle@chicago{\bibpunct{(}{)}{;}{a}{,}{,}} +\newcommand\bibstyle@named{\bibpunct{[}{]}{;}{a}{,}{,}} +\newcommand\bibstyle@agu{\bibpunct{[}{]}{;}{a}{,}{,~}}%Amer. Geophys. Union +\newcommand\bibstyle@copernicus{\bibpunct{(}{)}{;}{a}{,}{,}}%Copernicus Publications +\let\bibstyle@egu=\bibstyle@copernicus +\let\bibstyle@egs=\bibstyle@copernicus +\newcommand\bibstyle@agsm{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}} +\newcommand\bibstyle@kluwer{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}} +\newcommand\bibstyle@dcu{\bibpunct{(}{)}{;}{a}{;}{,}\gdef\harvardand{and}} +\newcommand\bibstyle@aa{\bibpunct{(}{)}{;}{a}{}{,}} %Astronomy & Astrophysics +\newcommand\bibstyle@pass{\bibpunct{(}{)}{;}{a}{,}{,}}%Planet. & Space Sci +\newcommand\bibstyle@anngeo{\bibpunct{(}{)}{;}{a}{,}{,}}%Annales Geophysicae +\newcommand\bibstyle@nlinproc{\bibpunct{(}{)}{;}{a}{,}{,}}%Nonlin.Proc.Geophys. + % Define citation punctuation for some numerical styles +\newcommand\bibstyle@cospar{\bibpunct{/}{/}{,}{n}{}{}% + \gdef\bibnumfmt##1{##1.}} +\newcommand\bibstyle@esa{\bibpunct{(Ref.~}{)}{,}{n}{}{}% + \gdef\bibnumfmt##1{##1.\hspace{1em}}} +\newcommand\bibstyle@nature{\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}% + \gdef\bibnumfmt##1{##1.}} + % The standard LaTeX styles +\newcommand\bibstyle@plain{\bibpunct{[}{]}{,}{n}{}{,}} +\let\bibstyle@alpha=\bibstyle@plain +\let\bibstyle@abbrv=\bibstyle@plain +\let\bibstyle@unsrt=\bibstyle@plain + % The author-year modifications of the standard styles +\newcommand\bibstyle@plainnat{\bibpunct{[}{]}{,}{a}{,}{,}} +\let\bibstyle@abbrvnat=\bibstyle@plainnat +\let\bibstyle@unsrtnat=\bibstyle@plainnat +\newif\ifNAT@numbers \NAT@numbersfalse +\newif\ifNAT@super \NAT@superfalse +\let\NAT@merge\z@ +\DeclareOption{numbers}{\NAT@numberstrue + \ExecuteOptions{square,comma,nobibstyle}} +\DeclareOption{super}{\NAT@supertrue\NAT@numberstrue + \renewcommand\NAT@open{}\renewcommand\NAT@close{} + \ExecuteOptions{nobibstyle}} +\DeclareOption{authoryear}{\NAT@numbersfalse + \ExecuteOptions{round,semicolon,bibstyle}} +\DeclareOption{round}{% + \renewcommand\NAT@open{(} \renewcommand\NAT@close{)} + \ExecuteOptions{nobibstyle}} +\DeclareOption{square}{% + \renewcommand\NAT@open{[} \renewcommand\NAT@close{]} + \ExecuteOptions{nobibstyle}} +\DeclareOption{angle}{% + \renewcommand\NAT@open{$<$} \renewcommand\NAT@close{$>$} + \ExecuteOptions{nobibstyle}} +\DeclareOption{curly}{% + \renewcommand\NAT@open{\{} \renewcommand\NAT@close{\}} + \ExecuteOptions{nobibstyle}} +\DeclareOption{comma}{\renewcommand\NAT@sep{,} + \ExecuteOptions{nobibstyle}} +\DeclareOption{semicolon}{\renewcommand\NAT@sep{;} + \ExecuteOptions{nobibstyle}} +\DeclareOption{colon}{\ExecuteOptions{semicolon}} +\DeclareOption{nobibstyle}{\let\bibstyle=\@gobble} +\DeclareOption{bibstyle}{\let\bibstyle=\@citestyle} +\newif\ifNAT@openbib \NAT@openbibfalse +\DeclareOption{openbib}{\NAT@openbibtrue} +\DeclareOption{sectionbib}{\def\NAT@sectionbib{on}} +\def\NAT@sort{\z@} +\def\NAT@cmprs{\z@} +\DeclareOption{sort}{\def\NAT@sort{\@ne}} +\DeclareOption{compress}{\def\NAT@cmprs{\@ne}} +\DeclareOption{sort&compress}{\def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}} +\DeclareOption{mcite}{\let\NAT@merge\@ne} +\DeclareOption{merge}{\@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}} +\DeclareOption{elide}{\@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}} +\@ifpackageloaded{cite}{\PackageWarningNoLine{natbib} + {The `cite' package should not be used\MessageBreak + with natbib. Use option `sort' instead}\ExecuteOptions{sort}}{} +\@ifpackageloaded{mcite}{\PackageWarningNoLine{natbib} + {The `mcite' package should not be used\MessageBreak + with natbib. Use option `merge' instead}\ExecuteOptions{merge}}{} +\@ifpackageloaded{citeref}{\PackageError{natbib} + {The `citeref' package must be loaded after natbib}% + {Move \protect\usepackage{citeref} to after \string\usepackage{natbib}}}{} +\newif\ifNAT@longnames\NAT@longnamesfalse +\DeclareOption{longnamesfirst}{\NAT@longnamestrue} +\DeclareOption{nonamebreak}{\def\NAT@nmfmt#1{\mbox{\NAT@up#1}}} +\def\NAT@nmfmt#1{{\NAT@up#1}} +\renewcommand\bibstyle[1]{\csname bibstyle@#1\endcsname} +\AtBeginDocument{\global\let\bibstyle=\@gobble} +\let\@citestyle\bibstyle +\newcommand\citestyle[1]{\@citestyle{#1}\let\bibstyle\@gobble} +\newcommand\bibpunct[7][, ]% + {\gdef\NAT@open{#2}\gdef\NAT@close{#3}\gdef + \NAT@sep{#4}\global\NAT@numbersfalse + \ifx #5n\global\NAT@numberstrue\global\NAT@superfalse + \else + \ifx #5s\global\NAT@numberstrue\global\NAT@supertrue + \fi\fi + \gdef\NAT@aysep{#6}\gdef\NAT@yrsep{#7}% + \gdef\NAT@cmt{#1}% + \NAT@@setcites + } +\newcommand\setcitestyle[1]{ + \@for\@tempa:=#1\do + {\def\@tempb{round}\ifx\@tempa\@tempb + \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi + \def\@tempb{square}\ifx\@tempa\@tempb + \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi + \def\@tempb{angle}\ifx\@tempa\@tempb + \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi + \def\@tempb{curly}\ifx\@tempa\@tempb + \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi + \def\@tempb{semicolon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{colon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{comma}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{,}\fi + \def\@tempb{authoryear}\ifx\@tempa\@tempb + \NAT@numbersfalse\fi + \def\@tempb{numbers}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@superfalse\fi + \def\@tempb{super}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@supertrue\fi + \expandafter\NAT@find@eq\@tempa=\relax\@nil + \if\@tempc\relax\else + \expandafter\NAT@rem@eq\@tempc + \def\@tempb{open}\ifx\@tempa\@tempb + \xdef\NAT@open{\@tempc}\fi + \def\@tempb{close}\ifx\@tempa\@tempb + \xdef\NAT@close{\@tempc}\fi + \def\@tempb{aysep}\ifx\@tempa\@tempb + \xdef\NAT@aysep{\@tempc}\fi + \def\@tempb{yysep}\ifx\@tempa\@tempb + \xdef\NAT@yrsep{\@tempc}\fi + \def\@tempb{notesep}\ifx\@tempa\@tempb + \xdef\NAT@cmt{\@tempc}\fi + \def\@tempb{citesep}\ifx\@tempa\@tempb + \xdef\NAT@sep{\@tempc}\fi + \fi + }% + \NAT@@setcites +} + \def\NAT@find@eq#1=#2\@nil{\def\@tempa{#1}\def\@tempc{#2}} + \def\NAT@rem@eq#1={\def\@tempc{#1}} + \def\NAT@@setcites{\global\let\bibstyle\@gobble} +\AtBeginDocument{\let\NAT@@setcites\NAT@set@cites} +\newcommand\NAT@open{(} \newcommand\NAT@close{)} +\newcommand\NAT@sep{;} +\ProcessOptions +\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,} +\newcommand\NAT@cmt{, } +\newcommand\NAT@cite% + [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi + #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} +\newcommand\NAT@citenum% + [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi + #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} +\newcommand\NAT@citesuper[3]{\ifNAT@swa +\if*#2*\else#2\NAT@spacechar\fi +\unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% + \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup} +\providecommand\textsuperscript[1]{\mbox{$^{\mbox{\scriptsize#1}}$}} +\begingroup \catcode`\_=8 +\gdef\NAT@ifcat@num#1{% + \ifcat_\ifnum\z@<0#1_\else A\fi + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +}% +\endgroup +\providecommand\@firstofone[1]{#1} +\newcommand\NAT@citexnum{} +\def\NAT@citexnum[#1][#2]#3{% + \NAT@reset@parser + \NAT@sort@cites{#3}% + \NAT@reset@citea + \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty + \@for\@citeb:=\NAT@cite@list\do + {\@safe@activestrue + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \@safe@activesfalse + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + {\reset@font\bfseries?} + \NAT@citeundefined\PackageWarning{natbib}% + {Citation `\@citeb' on page \thepage \space undefined}}% + {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm + \NAT@parse{\@citeb}% + \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{% + \let\NAT@name=\NAT@all@names + \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}% + \fi + \ifNAT@full\let\NAT@nm\NAT@all@names\else + \let\NAT@nm\NAT@name\fi + \ifNAT@swa + \@ifnum{\NAT@ctype>\@ne}{% + \@citea + \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}% + }{% + \@ifnum{\NAT@cmprs>\z@}{% + \NAT@ifcat@num\NAT@num + {\let\NAT@nm=\NAT@num}% + {\def\NAT@nm{-2}}% + \NAT@ifcat@num\NAT@last@num + {\@tempcnta=\NAT@last@num\relax}% + {\@tempcnta\m@ne}% + \@ifnum{\NAT@nm=\@tempcnta}{% + \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}% + }{% + \advance\@tempcnta by\@ne + \@ifnum{\NAT@nm=\@tempcnta}{% + \ifx\NAT@last@yr\relax + \def@NAT@last@yr{\@citea}% + \else + \def@NAT@last@yr{--\NAT@penalty}% + \fi + }{% + \NAT@last@yr@mbox + }% + }% + }{% + \@tempswatrue + \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}% + \if@tempswa\NAT@citea@mbox\fi + }% + }% + \NAT@def@citea + \else + \ifcase\NAT@ctype + \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else + \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}% + \fi + \if*#1*\else#1\NAT@spacechar\fi + \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}% + \NAT@def@citea@box + \or + \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}% + \or + \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}% + \or + \NAT@hyper@citea@space\NAT@alias + \fi + \fi + }% + }% + \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}% + \ifNAT@swa\else + \@ifnum{\NAT@ctype=\z@}{% + \if*#2*\else\NAT@cmt#2\fi + }{}% + \NAT@mbox{\NAT@@close}% + \fi + }{#1}{#2}% +}% +\def\NAT@citea@mbox{% + \@citea\mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}% +}% +\def\NAT@hyper@#1{% + \hyper@natlinkstart{\@citeb\@extra@b@citeb}#1\hyper@natlinkend +}% +\def\NAT@hyper@citea#1{% + \@citea + \NAT@hyper@{#1}% + \NAT@def@citea +}% +\def\NAT@hyper@citea@space#1{% + \@citea + \NAT@hyper@{#1}% + \NAT@def@citea@space +}% +\def\def@NAT@last@yr#1{% + \protected@edef\NAT@last@yr{% + #1% + \noexpand\mbox{% + \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}% + {\noexpand\citenumfont{\NAT@num}}% + \noexpand\hyper@natlinkend + }% + }% +}% +\def\NAT@last@yr@mbox{% + \NAT@last@yr\let\NAT@last@yr\relax + \NAT@citea@mbox +}% +\newcommand\NAT@test[1]{% + \@ifnum{#1=\@ne}{% + \ifx\NAT@nm\NAT@noname + \begingroup\reset@font\bfseries(author?)\endgroup + \PackageWarning{natbib}{% + Author undefined for citation`\@citeb' \MessageBreak on page \thepage% + }% + \else \NAT@nm + \fi + }{% + \if\relax\NAT@date\relax + \begingroup\reset@font\bfseries(year?)\endgroup + \PackageWarning{natbib}{% + Year undefined for citation`\@citeb' \MessageBreak on page \thepage% + }% + \else \NAT@date + \fi + }% +}% +\let\citenumfont=\@empty +\newcommand\NAT@citex{} +\def\NAT@citex% + [#1][#2]#3{% + \NAT@reset@parser + \NAT@sort@cites{#3}% + \NAT@reset@citea + \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty + \@for\@citeb:=\NAT@cite@list\do + {\@safe@activestrue + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \@safe@activesfalse + \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea% + {\reset@font\bfseries ?}\NAT@citeundefined + \PackageWarning{natbib}% + {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}% + {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year + \NAT@parse{\@citeb}% + \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{% + \let\NAT@name=\NAT@all@names + \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}% + \fi + \ifNAT@full\let\NAT@nm\NAT@all@names\else + \let\NAT@nm\NAT@name\fi + \ifNAT@swa\ifcase\NAT@ctype + \if\relax\NAT@date\relax + \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}% + \else + \ifx\NAT@last@nm\NAT@nm\NAT@yrsep + \ifx\NAT@last@yr\NAT@year + \def\NAT@temp{{?}}% + \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}% + {Multiple citation on page \thepage: same authors and + year\MessageBreak without distinguishing extra + letter,\MessageBreak appears as question mark}\fi + \NAT@hyper@{\NAT@exlab}% + \else\unskip\NAT@spacechar + \NAT@hyper@{\NAT@date}% + \fi + \else + \@citea\NAT@hyper@{% + \NAT@nmfmt{\NAT@nm}% + \hyper@natlinkbreak{% + \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb + }% + \NAT@date + }% + \fi + \fi + \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}% + \or\@citea\NAT@hyper@{\NAT@date}% + \or\@citea\NAT@hyper@{\NAT@alias}% + \fi \NAT@def@citea + \else + \ifcase\NAT@ctype + \if\relax\NAT@date\relax + \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}% + \else + \ifx\NAT@last@nm\NAT@nm\NAT@yrsep + \ifx\NAT@last@yr\NAT@year + \def\NAT@temp{{?}}% + \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}% + {Multiple citation on page \thepage: same authors and + year\MessageBreak without distinguishing extra + letter,\MessageBreak appears as question mark}\fi + \NAT@hyper@{\NAT@exlab}% + \else + \unskip\NAT@spacechar + \NAT@hyper@{\NAT@date}% + \fi + \else + \@citea\NAT@hyper@{% + \NAT@nmfmt{\NAT@nm}% + \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}% + {\@citeb\@extra@b@citeb}% + \NAT@date + }% + \fi + \fi + \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}% + \or\@citea\NAT@hyper@{\NAT@date}% + \or\@citea\NAT@hyper@{\NAT@alias}% + \fi + \if\relax\NAT@date\relax + \NAT@def@citea + \else + \NAT@def@citea@close + \fi + \fi + }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi + \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}} +\def\NAT@spacechar{\ }% +\def\NAT@separator{\NAT@sep\NAT@penalty}% +\def\NAT@reset@citea{\c@NAT@ctr\@ne\let\@citea\@empty}% +\def\NAT@def@citea{\def\@citea{\NAT@separator\NAT@space}}% +\def\NAT@def@citea@space{\def\@citea{\NAT@separator\NAT@spacechar}}% +\def\NAT@def@citea@close{\def\@citea{\NAT@@close\NAT@separator\NAT@space}}% +\def\NAT@def@citea@box{\def\@citea{\NAT@mbox{\NAT@@close}\NAT@separator\NAT@spacechar}}% +\newif\ifNAT@par \NAT@partrue +\newcommand\NAT@@open{\ifNAT@par\NAT@open\fi} +\newcommand\NAT@@close{\ifNAT@par\NAT@close\fi} +\newcommand\NAT@alias{\@ifundefined{al@\@citeb\@extra@b@citeb}{% + {\reset@font\bfseries(alias?)}\PackageWarning{natbib} + {Alias undefined for citation `\@citeb' + \MessageBreak on page \thepage}}{\@nameuse{al@\@citeb\@extra@b@citeb}}} +\let\NAT@up\relax +\newcommand\NAT@Up[1]{{\let\protect\@unexpandable@protect\let~\relax + \expandafter\NAT@deftemp#1}\expandafter\NAT@UP\NAT@temp} +\newcommand\NAT@deftemp[1]{\xdef\NAT@temp{#1}} +\newcommand\NAT@UP[1]{\let\@tempa\NAT@UP\ifcat a#1\MakeUppercase{#1}% + \let\@tempa\relax\else#1\fi\@tempa} +\newcommand\shortcites[1]{% + \@bsphack\@for\@citeb:=#1\do + {\@safe@activestrue + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \@safe@activesfalse + \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}\@esphack} +\newcommand\NAT@biblabel[1]{\hfill} +\newcommand\NAT@biblabelnum[1]{\bibnumfmt{#1}} +\let\bibnumfmt\@empty +\providecommand\@biblabel[1]{[#1]} +\AtBeginDocument{\ifx\bibnumfmt\@empty\let\bibnumfmt\@biblabel\fi} +\newcommand\NAT@bibsetnum[1]{\settowidth\labelwidth{\@biblabel{#1}}% + \setlength{\leftmargin}{\labelwidth}\addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}% + \ifNAT@openbib + \addtolength{\leftmargin}{\bibindent}% + \setlength{\itemindent}{-\bibindent}% + \setlength{\listparindent}{\itemindent}% + \setlength{\parsep}{0pt}% + \fi +} +\newlength{\bibhang} +\setlength{\bibhang}{1em} +\newlength{\bibsep} + {\@listi \global\bibsep\itemsep \global\advance\bibsep by\parsep} + +\newcommand\NAT@bibsetup% + [1]{\setlength{\leftmargin}{\bibhang}\setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}} +\newcommand\NAT@set@cites{% + \ifNAT@numbers + \ifNAT@super \let\@cite\NAT@citesuper + \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}% + \let\citeyearpar=\citeyear + \let\NAT@space\relax + \def\NAT@super@kern{\kern\p@}% + \else + \let\NAT@mbox=\mbox + \let\@cite\NAT@citenum + \let\NAT@space\NAT@spacechar + \let\NAT@super@kern\relax + \fi + \let\@citex\NAT@citexnum + \let\@biblabel\NAT@biblabelnum + \let\@bibsetup\NAT@bibsetnum + \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}% + \def\natexlab##1{}% + \def\NAT@penalty{\penalty\@m}% + \else + \let\@cite\NAT@cite + \let\@citex\NAT@citex + \let\@biblabel\NAT@biblabel + \let\@bibsetup\NAT@bibsetup + \let\NAT@space\NAT@spacechar + \let\NAT@penalty\@empty + \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}% + \def\natexlab##1{##1}% + \fi} +\AtBeginDocument{\NAT@set@cites} +\AtBeginDocument{\ifx\SK@def\@undefined\else +\ifx\SK@cite\@empty\else + \SK@def\@citex[#1][#2]#3{\SK@\SK@@ref{#3}\SK@@citex[#1][#2]{#3}}\fi +\ifx\SK@citeauthor\@undefined\def\HAR@checkdef{}\else + \let\citeauthor\SK@citeauthor + \let\citefullauthor\SK@citefullauthor + \let\citeyear\SK@citeyear\fi +\fi} +\newif\ifNAT@full\NAT@fullfalse +\newif\ifNAT@swa +\DeclareRobustCommand\citet + {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}} +\newcommand\NAT@@citetp{} +\def\NAT@@citetp[#1]{\@ifnextchar[{\@citex[#1]}{\@citex[][#1]}} +\DeclareRobustCommand\citep + {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\cite + {\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue + \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}} +\newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{% + \ifNAT@numbers\else + \NAT@swafalse + \fi + \NAT@@citetp[]}} +\DeclareRobustCommand\citealt + {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\citealp + {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\citenum + {\begingroup + \NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse\let\textsuperscript\NAT@spacechar + \NAT@citexnum[][]} +\DeclareRobustCommand\citeauthor + {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citet + {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citep + {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citealt + {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citealp + {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citeauthor + {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\citeyear + {\begingroup\NAT@swafalse\let\NAT@ctype\tw@\NAT@parfalse\NAT@citetp} +\DeclareRobustCommand\citeyearpar + {\begingroup\NAT@swatrue\let\NAT@ctype\tw@\NAT@partrue\NAT@citetp} +\newcommand\citetext[1]{\NAT@open#1\NAT@close} +\DeclareRobustCommand\citefullauthor + {\citeauthor*} +\newcommand\defcitealias[2]{% + \@ifundefined{al@#1\@extra@b@citeb}{} + {\PackageWarning{natbib}{Overwriting existing alias for citation #1}} + \@namedef{al@#1\@extra@b@citeb}{#2}} +\DeclareRobustCommand\citetalias{\begingroup + \NAT@swafalse\let\NAT@ctype\thr@@\NAT@parfalse\NAT@citetp} +\DeclareRobustCommand\citepalias{\begingroup + \NAT@swatrue\let\NAT@ctype\thr@@\NAT@partrue\NAT@citetp} +\renewcommand\nocite[1]{\@bsphack + \@for\@citeb:=#1\do{% + \@safe@activestrue + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \@safe@activesfalse + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \if*\@citeb\else + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \NAT@citeundefined \PackageWarning{natbib}% + {Citation `\@citeb' undefined}}{}\fi}% + \@esphack} +\newcommand\NAT@parse[1]{% + \begingroup + \let\protect=\@unexpandable@protect + \let~\relax + \let\active@prefix=\@gobble + \edef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}% + \aftergroup\NAT@split + \expandafter + \endgroup + \NAT@temp{}{}{}{}{}@@% + \expandafter\NAT@parse@date\NAT@date??????@@% + \ifciteindex\NAT@index\fi +}% +\def\NAT@split#1#2#3#4#5@@{% + \gdef\NAT@num{#1}\gdef\NAT@name{#3}\gdef\NAT@date{#2}% + \gdef\NAT@all@names{#4}% + \ifx\NAT@num\@empty\gdef\NAT@num{0}\fi + \ifx\NAT@noname\NAT@all@names \gdef\NAT@all@names{#3}\fi +}% +\def\NAT@reset@parser{% + \global\let\NAT@num\@empty + \global\let\NAT@name\@empty + \global\let\NAT@date\@empty + \global\let\NAT@all@names\@empty +}% +\newcommand\NAT@parse@date{} +\def\NAT@parse@date#1#2#3#4#5#6@@{% + \ifnum\the\catcode`#1=11\def\NAT@year{}\def\NAT@exlab{#1}\else + \ifnum\the\catcode`#2=11\def\NAT@year{#1}\def\NAT@exlab{#2}\else + \ifnum\the\catcode`#3=11\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else + \ifnum\the\catcode`#4=11\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else + \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi} +\newcommand\NAT@index{} +\let\NAT@makeindex=\makeindex +\renewcommand\makeindex{\NAT@makeindex + \renewcommand\NAT@index{\@bsphack\begingroup + \def~{\string~}\@wrindex{\NAT@idxtxt}}} +\newcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close} +\@ifxundefined\@indexfile{}{\let\NAT@makeindex\relax\makeindex} +\newif\ifciteindex \citeindexfalse +\newcommand\citeindextype{default} +\newcommand\NAT@index@alt{{\let\protect=\noexpand\let~\relax + \xdef\NAT@temp{\NAT@idxtxt}}\expandafter\NAT@exp\NAT@temp\@nil} +\newcommand\NAT@exp{} +\def\NAT@exp#1\@nil{\index[\citeindextype]{#1}} + +\AtBeginDocument{% +\@ifpackageloaded{index}{\let\NAT@index=\NAT@index@alt}{}} +\newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd} +\newcommand\NAT@ifxcmd{\ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi} +\def\NAT@bare#1(#2)#3(@)#4\@nil#5{% + \if @#2 + \expandafter\NAT@apalk#1, , \@nil{#5}% + \else + \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{#3}{#5}% +\fi +} +\newcommand\NAT@wrout[5]{% +\if@filesw + {\let\protect\noexpand\let~\relax + \immediate + \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi +\ignorespaces} +\def\NAT@noname{{}} +\renewcommand\bibitem{\@ifnextchar[{\@lbibitem}{\@lbibitem[]}}% +\let\NAT@bibitem@first@sw\@secondoftwo +\def\@lbibitem[#1]#2{% + \if\relax\@extra@b@citeb\relax\else + \@ifundefined{br@#2\@extra@b@citeb}{}{% + \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}% + }% + \fi + \@ifundefined{b@#2\@extra@b@citeb}{% + \def\NAT@num{}% + }{% + \NAT@parse{#2}% + }% + \def\NAT@tmp{#1}% + \expandafter\let\expandafter\bibitemOpen\csname NAT@b@open@#2\endcsname + \expandafter\let\expandafter\bibitemShut\csname NAT@b@shut@#2\endcsname + \@ifnum{\NAT@merge>\@ne}{% + \NAT@bibitem@first@sw{% + \@firstoftwo + }{% + \@ifundefined{NAT@b*@#2}{% + \@firstoftwo + }{% + \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}% + \@secondoftwo + }% + }% + }{% + \@firstoftwo + }% + {% + \global\advance\c@NAT@ctr\@ne + \@ifx{\NAT@tmp\@empty}{\@firstoftwo}{% + \@secondoftwo + }% + {% + \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}% + \global\NAT@stdbsttrue + }{}% + \bibitem@fin + \item[\hfil\NAT@anchor{#2}{\NAT@num}]% + \global\let\NAT@bibitem@first@sw\@secondoftwo + \NAT@bibitem@init + }% + {% + \NAT@anchor{#2}{}% + \NAT@bibitem@cont + \bibitem@fin + }% + \@ifx{\NAT@tmp\@empty}{% + \NAT@wrout{\the\c@NAT@ctr}{}{}{}{#2}% + }{% + \expandafter\NAT@ifcmd\NAT@tmp(@)(@)\@nil{#2}% + }% +}% +\def\bibitem@fin{% + \@ifxundefined\@bibstop{}{\csname bibitem@\@bibstop\endcsname}% +}% +\def\NAT@bibitem@init{% + \let\@bibstop\@undefined +}% +\def\NAT@bibitem@cont{% + \let\bibitem@Stop\bibitemStop + \let\bibitem@NoStop\bibitemContinue +}% +\def\BibitemOpen{% + \bibitemOpen +}% +\def\BibitemShut#1{% + \bibitemShut + \def\@bibstop{#1}% + \let\bibitem@Stop\bibitemStop + \let\bibitem@NoStop\bibitemNoStop +}% +\def\bibitemStop{}% +\def\bibitemNoStop{.\spacefactor\@mmm\space}% +\def\bibitemContinue{\spacefactor\@mmm\space}% +\mathchardef\@mmm=3000 % +\providecommand{\bibAnnote}[3]{% + \BibitemShut{#1}% + \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{% + \begin{quotation}\noindent + \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa + \end{quotation}% + }% +}% +\providecommand{\bibAnnoteFile}[2]{% + \IfFileExists{#2}{% + \bibAnnote{#1}{#2}{\input{#2}}% + }{% + \bibAnnote{#1}{#2}{}% + }% +}% +\let\bibitemOpen\relax +\let\bibitemShut\relax +\def\bibfield{\@ifnum{\NAT@merge>\tw@}{\@bibfield}{\@secondoftwo}}% +\def\@bibfield#1#2{% + \begingroup + \let\Doi\@gobble + \let\bibinfo\relax + \let\restore@protect\@empty + \protected@edef\@tempa{#2}% + \aftergroup\def\aftergroup\@tempa + \expandafter\endgroup\expandafter{\@tempa}% + \expandafter\@ifx\expandafter{\csname @bib#1\endcsname\@tempa}{% + \expandafter\let\expandafter\@tempa\csname @bib@X#1\endcsname + }{% + \expandafter\let\csname @bib#1\endcsname\@tempa + \expandafter\let\expandafter\@tempa\csname @bib@Y#1\endcsname + }% + \@ifx{\@tempa\relax}{\let\@tempa\@firstofone}{}% + \@tempa{#2}% +}% +\def\bibinfo#1{% + \expandafter\let\expandafter\@tempa\csname bibinfo@X@#1\endcsname + \@ifx{\@tempa\relax}{\@firstofone}{\@tempa}% +}% +\def\@bib@Xauthor#1{\let\@bib@Xjournal\@gobble}% +\def\@bib@Xjournal#1{\begingroup\let\bibinfo@X@journal\@bib@Z@journal#1\endgroup}% +\def\@bibibid@#1{\textit{ibid}.}% +\appdef\NAT@bibitem@init{% + \let\@bibauthor \@empty + \let\@bibjournal \@empty + \let\@bib@Z@journal\@bibibid@ +}% +\ifx\SK@lbibitem\@undefined\else + \let\SK@lbibitem\@lbibitem + \def\@lbibitem[#1]#2{% + \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}\fi +\newif\ifNAT@stdbst \NAT@stdbstfalse + +\AtEndDocument{% + \ifNAT@stdbst\if@filesw + \immediate\write\@auxout{% + \string\providecommand\string\NAT@force@numbers{}% + \string\NAT@force@numbers + }% + \fi\fi + } +\newcommand\NAT@force@numbers{% + \ifNAT@numbers\else + \PackageError{natbib}{Bibliography not compatible with author-year + citations.\MessageBreak + Press <return> to continue in numerical citation style} + {Check the bibliography entries for non-compliant syntax,\MessageBreak + or select author-year BibTeX style, e.g. plainnat}% + \global\NAT@numberstrue\fi} + +\providecommand\bibcite{} +\renewcommand\bibcite[2]{% + \@ifundefined{b@#1\@extra@binfo}{\relax}{% + \NAT@citemultiple + \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}% + }% + \global\@namedef{b@#1\@extra@binfo}{#2}% +}% +\AtEndDocument{\NAT@swatrue\let\bibcite\NAT@testdef} +\newcommand\NAT@testdef[2]{% + \def\NAT@temp{#2}% + \expandafter \ifx \csname b@#1\@extra@binfo\endcsname\NAT@temp + \else + \ifNAT@swa \NAT@swafalse + \PackageWarningNoLine{natbib}{% + Citation(s) may have changed.\MessageBreak + Rerun to get citations correct% + }% + \fi + \fi +}% +\newcommand\NAT@apalk{} +\def\NAT@apalk#1, #2, #3\@nil#4{% + \if\relax#2\relax + \global\NAT@stdbsttrue + \NAT@wrout{#1}{}{}{}{#4}% + \else + \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}% + \fi +}% +\newcommand\citeauthoryear{} +\def\citeauthoryear#1#2#3(@)(@)\@nil#4{% + \if\relax#3\relax + \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}% + \else + \NAT@wrout{\the\c@NAT@ctr}{#3}{#2}{#1}{#4}% + \fi +}% +\newcommand\citestarts{\NAT@open}% +\newcommand\citeends{\NAT@close}% +\newcommand\betweenauthors{and}% +\newcommand\astroncite{} +\def\astroncite#1#2(@)(@)\@nil#3{% + \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#3}% +}% +\newcommand\citename{} +\def\citename#1#2(@)(@)\@nil#3{\expandafter\NAT@apalk#1#2, \@nil{#3}} +\newcommand\harvarditem[4][]{% + \if\relax#1\relax + \bibitem[#2(#3)]{#4}% + \else + \bibitem[#1(#3)#2]{#4}% + \fi +}% +\newcommand\harvardleft{\NAT@open} +\newcommand\harvardright{\NAT@close} +\newcommand\harvardyearleft{\NAT@open} +\newcommand\harvardyearright{\NAT@close} +\AtBeginDocument{\providecommand{\harvardand}{and}} +\newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}} +\providecommand\bibsection{} +\@ifundefined{chapter}{% + \renewcommand\bibsection{% + \section*{\refname\@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}% + }% +}{% + \@ifxundefined\NAT@sectionbib{% + \renewcommand\bibsection{% + \chapter*{\bibname\@mkboth{\MakeUppercase{\bibname}}{\MakeUppercase{\bibname}}}% + }% + }{% + \renewcommand\bibsection{% + \section*{\bibname\ifx\@mkboth\@gobbletwo\else\markright{\MakeUppercase{\bibname}}\fi}% + }% + }% +}% +\@ifclassloaded{amsart}{\renewcommand\bibsection{\section*{\refname}}}{}% +\@ifclassloaded{amsbook}{\renewcommand\bibsection{\chapter*{\bibname}}}{}% +\@ifxundefined\bib@heading{}{\let\bibsection\bib@heading}% +\newcounter{NAT@ctr} +\renewenvironment{thebibliography}[1]{% + \bibsection + \parindent\z@ + \bibpreamble + \bibfont + \list{\@biblabel{\the\c@NAT@ctr}}{\@bibsetup{#1}\global\c@NAT@ctr\z@}% + \ifNAT@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.\@m + \let\NAT@bibitem@first@sw\@firstoftwo + \let\citeN\cite \let\shortcite\cite + \let\citeasnoun\cite +}{% + \bibitem@fin + \bibpostamble + \def\@noitemerr{% + \PackageWarning{natbib}{Empty `thebibliography' environment}% + }% + \endlist + \bibcleanup +}% +\let\bibfont\@empty +\let\bibpreamble\@empty +\let\bibpostamble\@empty +\def\bibcleanup{\vskip-\lastskip}% +\providecommand\reset@font{\relax} +\providecommand\bibname{Bibliography} +\providecommand\refname{References} +\newcommand\NAT@citeundefined{\gdef \NAT@undefined {% + \PackageWarningNoLine{natbib}{There were undefined citations}}} +\let \NAT@undefined \relax +\newcommand\NAT@citemultiple{\gdef \NAT@multiple {% + \PackageWarningNoLine{natbib}{There were multiply defined citations}}} +\let \NAT@multiple \relax +\AtEndDocument{\NAT@undefined\NAT@multiple} +\providecommand\@mkboth[2]{} +\providecommand\MakeUppercase{\uppercase} +\providecommand{\@extra@b@citeb}{} +\gdef\@extra@binfo{} +\def\NAT@anchor#1#2{% + \hyper@natanchorstart{#1\@extra@b@citeb}% + \def\@tempa{#2}\@ifx{\@tempa\@empty}{}{\@biblabel{#2}}% + \hyper@natanchorend +}% +\providecommand\hyper@natanchorstart[1]{}% +\providecommand\hyper@natanchorend{}% +\providecommand\hyper@natlinkstart[1]{}% +\providecommand\hyper@natlinkend{}% +\providecommand\hyper@natlinkbreak[2]{#1}% +\AtBeginDocument{% + \@ifpackageloaded{babel}{% + \let\org@@citex\@citex}{}} +\providecommand\@safe@activestrue{}% +\providecommand\@safe@activesfalse{}% + +\newcommand\NAT@sort@cites[1]{% + \let\NAT@cite@list\@empty + \@for\@citeb:=#1\do{\expandafter\NAT@star@cite\@citeb\@@}% + \if@filesw + \expandafter\immediate\expandafter\write\expandafter\@auxout + \expandafter{\expandafter\string\expandafter\citation\expandafter{\NAT@cite@list}}% + \fi + \@ifnum{\NAT@sort>\z@}{% + \expandafter\NAT@sort@cites@\expandafter{\NAT@cite@list}% + }{}% +}% +\def\NAT@star@cite{% + \let\NAT@star@sw\@secondoftwo + \@ifnum{\NAT@merge>\z@}{% + \@ifnextchar*{% + \let\NAT@star@sw\@firstoftwo + \NAT@star@cite@star + }{% + \NAT@star@cite@nostar + }% + }{% + \NAT@star@cite@noextension + }% +}% +\def\NAT@star@cite@star*{% + \NAT@star@cite@nostar +}% +\def\NAT@star@cite@nostar{% + \let\nat@keyopt@open\@empty + \let\nat@keyopt@shut\@empty + \@ifnextchar[{\NAT@star@cite@pre}{\NAT@star@cite@pre[]}% +}% +\def\NAT@star@cite@pre[#1]{% + \def\nat@keyopt@open{#1}% + \@ifnextchar[{\NAT@star@cite@post}{\NAT@star@cite@post[]}% +}% +\def\NAT@star@cite@post[#1]#2\@@{% + \def\nat@keyopt@shut{#1}% + \NAT@star@sw{\expandafter\global\expandafter\let\csname NAT@b*@#2\endcsname\@empty}{}% + \NAT@cite@list@append{#2}% +}% +\def\NAT@star@cite@noextension#1\@@{% + \let\nat@keyopt@open\@empty + \let\nat@keyopt@shut\@empty + \NAT@cite@list@append{#1}% +}% +\def\NAT@cite@list@append#1{% + \edef\@citeb{\@firstofone#1\@empty}% + \if@filesw\@ifxundefined\@cprwrite{}{\expandafter\@cprwrite\@citeb=}\fi + \if\relax\nat@keyopt@open\relax\else + \global\expandafter\let\csname NAT@b@open@\@citeb\endcsname\nat@keyopt@open + \fi + \if\relax\nat@keyopt@shut\relax\else + \global\expandafter\let\csname NAT@b@shut@\@citeb\endcsname\nat@keyopt@shut + \fi + \toks@\expandafter{\NAT@cite@list}% + \ifx\NAT@cite@list\@empty + \@temptokena\expandafter{\@citeb}% + \else + \@temptokena\expandafter{\expandafter,\@citeb}% + \fi + \edef\NAT@cite@list{\the\toks@\the\@temptokena}% +}% +\newcommand\NAT@sort@cites@[1]{% + \count@\z@ + \@tempcntb\m@ne + \let\@celt\delimiter + \def\NAT@num@list{}% + \let\NAT@cite@list\@empty + \let\NAT@nonsort@list\@empty + \@for \@citeb:=#1\do{\NAT@make@cite@list}% + \ifx\NAT@nonsort@list\@empty\else + \protected@edef\NAT@cite@list{\NAT@cite@list\NAT@nonsort@list}% + \fi + \ifx\NAT@cite@list\@empty\else + \protected@edef\NAT@cite@list{\expandafter\NAT@xcom\NAT@cite@list @@}% + \fi +}% +\def\NAT@make@cite@list{% + \advance\count@\@ne + \@safe@activestrue + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \@safe@activesfalse + \@ifundefined{b@\@citeb\@extra@b@citeb}% + {\def\NAT@num{A}}% + {\NAT@parse{\@citeb}}% + \NAT@ifcat@num\NAT@num + {\@tempcnta\NAT@num \relax + \@ifnum{\@tempcnta<\@tempcntb}{% + \let\NAT@@cite@list=\NAT@cite@list + \let\NAT@cite@list\@empty + \begingroup\let\@celt=\NAT@celt\NAT@num@list\endgroup + \protected@edef\NAT@num@list{% + \expandafter\NAT@num@celt \NAT@num@list \@gobble @% + }% + }{% + \protected@edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}% + \protected@edef\NAT@cite@list{\NAT@cite@list\@citeb,}% + \@tempcntb\@tempcnta + }% + }% + {\protected@edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}}% +}% +\def\NAT@celt#1{% + \@ifnum{#1>\@tempcnta}{% + \xdef\NAT@cite@list{\NAT@cite@list\@citeb,\NAT@@cite@list}% + \let\@celt\@gobble + }{% + \expandafter\def@NAT@cite@lists\NAT@@cite@list\@@ + }% +}% +\def\NAT@num@celt#1#2{% + \ifx#1\@celt + \@ifnum{#2>\@tempcnta}{% + \@celt{\number\@tempcnta}% + \@celt{#2}% + }{% + \@celt{#2}% + \expandafter\NAT@num@celt + }% + \fi +}% +\def\def@NAT@cite@lists#1,#2\@@{% + \xdef\NAT@cite@list{\NAT@cite@list#1,}% + \xdef\NAT@@cite@list{#2}% +}% +\def\NAT@nextc#1,#2@@{#1,} +\def\NAT@restc#1,#2{#2} +\def\NAT@xcom#1,@@{#1} +\InputIfFileExists{natbib.cfg} + {\typeout{Local config file natbib.cfg used}}{} +%% +%% <<<<< End of generated file <<<<<< +%% +%% End of file `natbib.sty'. diff --git a/notes/ICML/icml2015stylefiles/paper_v1.tex b/notes/ICML/icml2015stylefiles/paper_v1.tex new file mode 100644 index 0000000..8865e51 --- /dev/null +++ b/notes/ICML/icml2015stylefiles/paper_v1.tex @@ -0,0 +1,105 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%% ICML 2015 EXAMPLE LATEX SUBMISSION FILE %%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Use the following line _only_ if you're still using LaTeX 2.09. +%\documentstyle[icml2015,epsf,natbib]{article} +% If you rely on Latex2e packages, like most moden people use this: +\documentclass{article} + +% use Times +\usepackage{times} +% For figures +\usepackage{graphicx} % more modern +%\usepackage{epsfig} % less modern +\usepackage{subfigure} + +% For citations +\usepackage{natbib} + +% For algorithms +\usepackage{algorithm} +\usepackage{algorithmic} + +% As of 2011, we use the hyperref package to produce hyperlinks in the +% resulting PDF. If this breaks your system, please commend out the +% following usepackage line and replace \usepackage{icml2015} with +% \usepackage[nohyperref]{icml2015} above. +\usepackage{hyperref} + +% Packages hyperref and algorithmic misbehave sometimes. We can fix +% this with the following command. +\newcommand{\theHalgorithm}{\arabic{algorithm}} + +% Employ the following version of the ``usepackage'' statement for +% submitting the draft version of the paper for review. This will set +% the note in the first column to ``Under review. Do not distribute.'' +\usepackage{icml2015} + +% Employ this version of the ``usepackage'' statement after the paper has +% been accepted, when creating the final version. This will set the +% note in the first column to ``Proceedings of the...'' +%\usepackage[accepted]{icml2015} + + +% The \icmltitle you define below is probably too long as a header. +% Therefore, a short form for the running title is supplied here: +\icmltitlerunning{Submission and Formatting Instructions for ICML 2015} + +\begin{document} + +\twocolumn[ +\icmltitle{Submission and Formatting Instructions for \\ + International Conference on Machine Learning (ICML 2015)} + +% It is OKAY to include author information, even for blind +% submissions: the style file will automatically remove it for you +% unless you've provided the [accepted] option to the icml2015 +% package. +\icmlauthor{Your Name}{email@yourdomain.edu} +\icmladdress{Your Fantastic Institute, + 314159 Pi St., Palo Alto, CA 94306 USA} +\icmlauthor{Your CoAuthor's Name}{email@coauthordomain.edu} +\icmladdress{Their Fantastic Institute, + 27182 Exp St., Toronto, ON M6H 2T1 CANADA} + +% You may provide any keywords that you +% find helpful for describing your paper; these are used to populate +% the "keywords" metadata in the PDF but will not be shown in the document +\icmlkeywords{boring formatting information, machine learning, ICML} + +\vskip 0.3in +] + +\begin{abstract} +blabla +\end{abstract} + +\section{Introduction} + +\section{Related Work} + +\subsection{Past work} + +\subsection{Our contribution} + +\section{Algorithm and Theoretical Guarantees} + +\subsection{Independent Cascade Model} + +\subsection{The Voter Model} + +\section{Matching the Lower Bound} + +\section{Practical Confidence Intervals} + +\section{Experiments} + +\section{Discussion} + + +\bibliography{example_paper} +\bibliographystyle{icml2015} + +\end{document} + diff --git a/notes/maximum_likelihood_approach.tex b/notes/maximum_likelihood_approach.tex index c145b0c..4a22158 100644 --- a/notes/maximum_likelihood_approach.tex +++ b/notes/maximum_likelihood_approach.tex @@ -110,15 +110,13 @@ We are going to explicitate a constant $\gamma$ such that: $\forall \Delta \in { Suppose that $\forall k$, $\mathbb{E}_{S(k)} \left[ \frac{1}{p_i} \right] \geq 1 + \alpha$, then with probability greater than $1 - 2 p e^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{\text{init}}^2 N}$, $$\forall k, \ Z_k > c \alpha p_{\text{init}} N$$ \end{lemma} -{\color{red} The following is not exactly correct!} Since the expectation must be taken conditioned on the probability that at least one parent is active such that $p_i$ is not 0! This does change things. - \begin{proof} -Let $S(k)$ denote the active set conditioned on the fact that node $k$ is active. +Let $S(k)$ denote the active set conditioned on the fact that node $k$ is active AND that one parent is active. We denote $p_{S(k)}$ the probability that the active set verifies the previous two conditions. \begin{align} \nonumber -\mathbb{E}[Z^i_k] & = \mathbb{P}(x^i_k = 1) \mathbb{E}_{S(k)} \left[ \mathbb{E}[b^i | S(k)] \frac{1 - p_i}{p_i^2} \right] \\ \nonumber -& = p_{\text{init}} \left( \mathbb{E}_{S(k)} \left[ \frac{1}{p_i} \right] - 1 \right) \\ \nonumber -& \geq \alpha p_{\text{init}} \quad \text{by assumption} +\mathbb{E}[Z^i_k] & = p_{S(k)} \mathbb{E}_{S(k)} \left[ \mathbb{E}[b^i | S(k)] \frac{1 - p_i}{p_i^2} \right] \\ \nonumber +& = p_{S(k)} \left( \mathbb{E}_{S(k)} \left[ \frac{1}{p_i} \right] - 1 \right) \\ \nonumber +& \geq \alpha p_{S(k)} \quad \text{by assumption} \end{align} Note that $|Z^i_k| < \frac{1}{p_{\text{min}}^2}$ {\it a.s.}. By Hoeffding's first inequality, for $0<c <1$, @@ -126,37 +124,44 @@ Note that $|Z^i_k| < \frac{1}{p_{\text{min}}^2}$ {\it a.s.}. By Hoeffding's firs \begin{align} \nonumber \mathbb{P}\left(Z_k < c \alpha p_{\text{init}} N \right) & < 2 e^{- \frac{2(1-c)^2}{Nb^2} \left( \mathbb{E}_{S(k)} \left[ \frac{1}{p_i} \right] - 1 \right)^2} \\ \nonumber -& < 2 e^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{\text{init}}^2 N} +& < 2 e^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{S(k)}^2 N} \end{align} We conclude by union bound. \end{proof} \begin{lemma} -Suppose that $\forall k,j$, $1 + \alpha \leq \mathbb{E}_{S(k, j)} \left[ \frac{1}{p_i} \right] \leq 1 + \beta$, then with probability greater than $1 - pe^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{\text{init}}^4 N}$, $$\forall k,j, \ Z_{k,j} < c \beta p_{\text{init}}^2 N$$ +Suppose that $\forall k,j$, $1 + \alpha \leq \mathbb{E}_{S(k, j)} \left[ \frac{1}{p_i} \right] \leq 1 + \beta$, then with probability greater than $1 - pe^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{S(k,j)}^2 N}$, $$\forall k,j, \ Z_{k,j} < c \beta p_{S(k,j))} N$$ \end{lemma} \begin{proof} We follow the same reasoning as Lemma~\ref{lem:first_term}: \begin{align} \nonumber -\mathbb{E}[Z^i_{k,j}] & = p_{\text{init}}^2 \left( \mathbb{E}_{S(k,j)} \left[ \frac{1}{p_i} \right] - 1 \right) \\ \nonumber -& \leq \beta p_{\text{init}}^2 \quad \text{by assumption} +\mathbb{E}[Z^i_{k,j}] & = p_{S(k,j)} \left( \mathbb{E}_{S(k,j)} \left[ \frac{1}{p_i} \right] - 1 \right) \\ \nonumber +& \leq \beta p_{S(k,j)} \quad \text{by assumption} \end{align} By Hoeffding's second inequality, for $0 < c < 1$, \begin{align} \nonumber -\mathbb{P}\left(Z_{k,j} > c \beta p_{\text{init}}^2 N \right) & \leq e^{- \frac{2(1-c)^2}{Nb^2} \left( \mathbb{E}_{S(k,j)} \left[ \frac{1}{p_i} \right] - 1 \right)^2} \\ \nonumber -& \leq e^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{\text{init}}^4 N} +\mathbb{P}\left(Z_{k,j} > c \beta p_{S(k,j)} N \right) & \leq e^{- \frac{2(1-c)^2}{Nb^2} \left( \mathbb{E}_{S(k,j)} \left[ \frac{1}{p_i} \right] - 1 \right)^2} \\ \nonumber +& \leq e^{-2 \alpha^2 (1-c)^2p_{\min}^2 p_{S(k,j)}^2 N} \end{align} We conclude by union bound. \end{proof} \begin{proposition} -Suppose that $\forall k,j$, $1 + \alpha \leq \mathbb{E}_{S(k, j)} \left[ \frac{1}{p_i} \right] \leq 1 + \beta$, then with probability greater than $1 - XXX$, condition~\ref{eq:RSC_condition} is met with $\gamma_n = \gamma n$ where $\gamma := p_{\text{init}}(\alpha - 16 \sqrt{s} \beta p_{\text{init}})$ +Suppose that $\forall k,j$, $1 + \alpha \leq \mathbb{E}_{S(k, j)} \left[ \frac{1}{p_i} \right] \leq 1 + \beta$, then with probability greater than $1 - XXX$, condition~\ref{eq:RSC_condition} is met with $\gamma_n = \gamma n$ where $\gamma := \alpha p_{S(k)} - 16 \sqrt{s} \beta p_{S(k,j)}$ \end{proposition} +\begin{proof} +(Sketch) By the triangle inequality followed by MacLaurin's inequality, +\begin{align} +\mid \frac{2}{\binom{n}{2}} \sum_{i<j} \Delta_k \Delta_j \mid & \leq \frac{1}{n^2} \sum_k \mid \Delta_k \mid \nonumber \\ +\mid 2 \sum_{i<j} \Delta_k \Delta_j \mid & \leq \|\Delta\|_1 \leq 4 \sqrt{s} \| \Delta \|_2 \quad \text{ since } \Delta \in {\cal C} \nonumber +\end{align} +\end{proof} \paragraph{Hoeffding's inequality} @@ -197,6 +202,7 @@ For $t \in \mathbb{R}$ and independent variables $Z_i$ such that $|Z_i|<b$ {\it % \subsection*{Second term} % We are now going to find an upper-bound on the term $\sum_i b^i x^i_k x^i_j \frac{1 - p_i}{p_i^2}$. + \section*{Conclusion} Suppose we show that Condition~\ref{eq:RSC_condition} is met for $\gamma_n = \gamma N$, then we have the following theorems: diff --git a/notes/reportYaron.tex b/notes/reportYaron.tex index f3189cb..f4878c7 100644 --- a/notes/reportYaron.tex +++ b/notes/reportYaron.tex @@ -5,7 +5,6 @@ \newtheorem{theorem}{Theorem} \title{Sparse Recovery for Graph Reconstruction} -\author{Eric Balkanski \and Jean Pouget-Abadie} \date{} |
