· 7 years ago · Jan 29, 2019, 11:52 AM
1% File: icml2018.sty (LaTeX style file for ICML-2018, version of 2017-10-28)
2
3% This file contains the LaTeX formatting parameters for a two-column
4% conference proceedings that is 8.5 inches wide by 11 inches high.
5%
6% Modified by Iain Murray 2018: changed years, location. Remove affiliation notes when anonymous.
7% Move times dependency from .tex to .sty so fewer people delete it.
8%
9% Modified by Daniel Roy 2017: changed byline to use footnotes for affiliations, and removed emails
10%
11% Modified by Percy Liang 12/2/2013: changed the year, location from the previous template for ICML 2014
12
13% Modified by Fei Sha 9/2/2013: changed the year, location form the previous template for ICML 2013
14%
15% 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
16%
17% Modified by Sanjoy Dasgupta, 2013: changed years, location
18%
19% Modified by Francesco Figari, 2012: changed years, location
20%
21% Modified by Christoph Sawade and Tobias Scheffer, 2011: added line
22% numbers, changed years
23%
24% Modified by Hal Daume III, 2010: changed years, added hyperlinks
25%
26% Modified by Kiri Wagstaff, 2009: changed years
27%
28% Modified by Sam Roweis, 2008: changed years
29%
30% Modified by Ricardo Silva, 2007: update of the ifpdf verification
31%
32% Modified by Prasad Tadepalli and Andrew Moore, merely changing years.
33%
34% Modified by Kristian Kersting, 2005, based on Jennifer Dy's 2004 version
35% - running title. If the original title is to long or is breaking a line,
36% use \icmltitlerunning{...} in the preamble to supply a shorter form.
37% Added fancyhdr package to get a running head.
38% - Updated to store the page size because pdflatex does compile the
39% page size into the pdf.
40%
41% Hacked by Terran Lane, 2003:
42% - Updated to use LaTeX2e style file conventions (ProvidesPackage,
43% etc.)
44% - Added an ``appearing in'' block at the base of the first column
45% (thus keeping the ``appearing in'' note out of the bottom margin
46% where the printer should strip in the page numbers).
47% - Added a package option [accepted] that selects between the ``Under
48% review'' notice (default, when no option is specified) and the
49% ``Appearing in'' notice (for use when the paper has been accepted
50% and will appear).
51%
52% Originally created as: ml2k.sty (LaTeX style file for ICML-2000)
53% by P. Langley (12/23/99)
54
55%%%%%%%%%%%%%%%%%%%%
56%% This version of the style file supports both a ``review'' version
57%% and a ``final/accepted'' version. The difference is only in the
58%% text that appears in the note at the bottom of the first column of
59%% the first page. The default behavior is to print a note to the
60%% effect that the paper is under review and don't distribute it. The
61%% final/accepted version prints an ``Appearing in'' note. To get the
62%% latter behavior, in the calling file change the ``usepackage'' line
63%% from:
64%% \usepackage{icml2018}
65%% to
66%% \usepackage[accepted]{icml2018}
67%%%%%%%%%%%%%%%%%%%%
68
69\NeedsTeXFormat{LaTeX2e}
70\ProvidesPackage{icml2019}[2018/01/01 v2.0 ICML Conference Style File]
71
72% Before 2018, \usepackage{times} was in the example TeX, but inevitably
73% not everybody did it.
74\RequirePackage{times}
75
76% Use fancyhdr package
77\RequirePackage{fancyhdr}
78\RequirePackage{color}
79\RequirePackage{algorithm}
80\RequirePackage{algorithmic}
81\RequirePackage{natbib}
82\RequirePackage{eso-pic} % used by \AddToShipoutPicture
83\RequirePackage{forloop}
84
85%%%%%%%% Options
86\DeclareOption{accepted}{%
87% \renewcommand{\Notice@String}{\ICML@appearing}
88 \gdef\isaccepted{1}
89}
90\DeclareOption{nohyperref}{%
91 \gdef\nohyperref{1}
92}
93
94\ifdefined\nohyperref\else\ifdefined\hypersetup
95 \definecolor{mydarkblue}{rgb}{0,0.08,0.45}
96 \hypersetup{ %
97 pdftitle={},
98 pdfauthor={},
99 pdfsubject={Proceedings of the International Conference on Machine Learning 2018},
100 pdfkeywords={},
101 pdfborder=0 0 0,
102 pdfpagemode=UseNone,
103 colorlinks=true,
104 linkcolor=mydarkblue,
105 citecolor=mydarkblue,
106 filecolor=mydarkblue,
107 urlcolor=mydarkblue,
108 pdfview=FitH}
109
110 \ifdefined\isaccepted \else
111 \hypersetup{pdfauthor={Anonymous Submission}}
112 \fi
113\fi\fi
114
115%%%%%%%%%%%%%%%%%%%%
116% This string is printed at the bottom of the page for the
117% final/accepted version of the ``appearing in'' note. Modify it to
118% change that text.
119%%%%%%%%%%%%%%%%%%%%
120\newcommand{\ICML@appearing}{\textit{Proceedings of the
121$\mathit{35}^{th}$ International Conference on Machine Learning},
122Stockholm, Sweden, PMLR 80, 2018.
123Copyright 2018 by the author(s).}
124
125%%%%%%%%%%%%%%%%%%%%
126% This string is printed at the bottom of the page for the draft/under
127% review version of the ``appearing in'' note. Modify it to change
128% that text.
129%%%%%%%%%%%%%%%%%%%%
130\newcommand{\Notice@String}{Preliminary work. Under review by the
131International Conference on Machine Learning (ICML)\@. Do not distribute.}
132
133% Cause the declared options to actually be parsed and activated
134\ProcessOptions\relax
135
136% Uncomment the following for debugging. It will cause LaTeX to dump
137% the version of the ``appearing in'' string that will actually appear
138% in the document.
139%\typeout{>> Notice string='\Notice@String'}
140
141% Change citation commands to be more like old ICML styles
142\newcommand{\yrcite}[1]{\citeyearpar{#1}}
143\renewcommand{\cite}[1]{\citep{#1}}
144
145
146%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147% to ensure the letter format is used. pdflatex does compile the
148% page size into the pdf. This is done using \pdfpagewidth and
149% \pdfpageheight. As Latex does not know this directives, we first
150% check whether pdflatex or latex is used.
151%
152% Kristian Kersting 2005
153%
154% in order to account for the more recent use of pdfetex as the default
155% compiler, I have changed the pdf verification.
156%
157% Ricardo Silva 2007
158%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159
160\paperwidth=8.5in
161\paperheight=11in
162
163% old PDFLaTex verification, circa 2005
164%
165%\newif\ifpdf\ifx\pdfoutput\undefined
166% \pdffalse % we are not running PDFLaTeX
167%\else
168% \pdfoutput=1 % we are running PDFLaTeX
169% \pdftrue
170%\fi
171
172\newif\ifpdf %adapted from ifpdf.sty
173\ifx\pdfoutput\undefined
174\else
175 \ifx\pdfoutput\relax
176 \else
177 \ifcase\pdfoutput
178 \else
179 \pdftrue
180 \fi
181 \fi
182\fi
183
184\ifpdf
185% \pdfpagewidth=\paperwidth
186% \pdfpageheight=\paperheight
187 \setlength{\pdfpagewidth}{8.5in}
188 \setlength{\pdfpageheight}{11in}
189\fi
190
191% Physical page layout
192
193\evensidemargin -0.23in
194\oddsidemargin -0.23in
195\setlength\textheight{9.0in}
196\setlength\textwidth{6.75in}
197\setlength\columnsep{0.25in}
198\setlength\headheight{10pt}
199\setlength\headsep{10pt}
200\addtolength{\topmargin}{-20pt}
201\addtolength{\topmargin}{-0.29in}
202
203% Historically many authors tried to include packages like geometry or fullpage,
204% which change the page layout. It either makes the proceedings inconsistent, or
205% wastes organizers' time chasing authors. So let's nip these problems in the
206% bud here. -- Iain Murray 2018.
207%\RequirePackage{printlen}
208\AtBeginDocument{%
209% To get the numbers below, include printlen package above and see lengths like this:
210%\printlength\oddsidemargin\\
211%\printlength\headheight\\
212%\printlength\textheight\\
213%\printlength\marginparsep\\
214%\printlength\footskip\\
215%\printlength\hoffset\\
216%\printlength\paperwidth\\
217%\printlength\topmargin\\
218%\printlength\headsep\\
219%\printlength\textwidth\\
220%\printlength\marginparwidth\\
221%\printlength\marginparpush\\
222%\printlength\voffset\\
223%\printlength\paperheight\\
224%
225\newif\ifmarginsmessedwith
226\marginsmessedwithfalse
227\ifdim\oddsidemargin=-16.62178pt \else oddsidemargin has been altered.\\ \marginsmessedwithtrue\fi
228\ifdim\headheight=10.0pt \else headheight has been altered.\\ \marginsmessedwithtrue\fi
229\ifdim\textheight=650.43pt \else textheight has been altered.\\ \marginsmessedwithtrue\fi
230\ifdim\marginparsep=11.0pt \else marginparsep has been altered.\\ \marginsmessedwithtrue\fi
231\ifdim\footskip=0.0pt \else footskip has been altered.\\ \marginsmessedwithtrue\fi
232\ifdim\hoffset=0.0pt \else hoffset has been altered.\\ \marginsmessedwithtrue\fi
233\ifdim\paperwidth=614.295pt \else paperwidth has been altered.\\ \marginsmessedwithtrue\fi
234\ifdim\topmargin=-24.95781pt \else topmargin has been altered.\\ \marginsmessedwithtrue\fi
235\ifdim\headsep=10.0pt \else headsep has been altered.\\ \marginsmessedwithtrue\fi
236\ifdim\textwidth=487.8225pt \else textwidth has been altered.\\ \marginsmessedwithtrue\fi
237\ifdim\marginparwidth=65.0pt \else marginparwidth has been altered.\\ \marginsmessedwithtrue\fi
238\ifdim\marginparpush=5.0pt \else marginparpush has been altered.\\ \marginsmessedwithtrue\fi
239\ifdim\voffset=0.0pt \else voffset has been altered.\\ \marginsmessedwithtrue\fi
240\ifdim\paperheight=794.96999pt \else paperheight has been altered.\\ \marginsmessedwithtrue\fi
241\ifmarginsmessedwith
242
243\textbf{\large \em The page layout violates the ICML style.}
244
245Please do not change the page layout, or include packages like geometry,
246savetrees, or fullpage, which change it for you.
247
248We're not able to reliably undo arbitrary changes to the style. Please remove
249the offending package(s), or layout-changing commands and try again.
250
251\fi}
252
253
254%% The following is adapted from code in the acmconf.sty conference
255%% style file. The constants in it are somewhat magical, and appear
256%% to work well with the two-column format on US letter paper that
257%% ICML uses, but will break if you change that layout, or if you use
258%% a longer block of text for the copyright notice string. Fiddle with
259%% them if necessary to get the block to fit/look right.
260%%
261%% -- Terran Lane, 2003
262%%
263%% The following comments are included verbatim from acmconf.sty:
264%%
265%%% This section (written by KBT) handles the 1" box in the lower left
266%%% corner of the left column of the first page by creating a picture,
267%%% and inserting the predefined string at the bottom (with a negative
268%%% displacement to offset the space allocated for a non-existent
269%%% caption).
270%%%
271\def\ftype@copyrightbox{8}
272\def\@copyrightspace{
273% Create a float object positioned at the bottom of the column. Note
274% that because of the mystical nature of floats, this has to be called
275% before the first column is populated with text (e.g., from the title
276% or abstract blocks). Otherwise, the text will force the float to
277% the next column. -- TDRL.
278\@float{copyrightbox}[b]
279\begin{center}
280\setlength{\unitlength}{1pc}
281\begin{picture}(20,1.5)
282% Create a line separating the main text from the note block.
283% 4.818pc==0.8in.
284\put(0,2.5){\line(1,0){4.818}}
285% Insert the text string itself. Note that the string has to be
286% enclosed in a parbox -- the \put call needs a box object to
287% position. Without the parbox, the text gets splattered across the
288% bottom of the page semi-randomly. The 19.75pc distance seems to be
289% the width of the column, though I can't find an appropriate distance
290% variable to substitute here. -- TDRL.
291\put(0,0){\parbox[b]{19.75pc}{\small \Notice@String}}
292\end{picture}
293\end{center}
294\end@float}
295
296% Note: A few Latex versions need the next line instead of the former.
297% \addtolength{\topmargin}{0.3in}
298% \setlength\footheight{0pt}
299\setlength\footskip{0pt}
300%\pagestyle{empty}
301\flushbottom \twocolumn
302\sloppy
303
304% Clear out the addcontentsline command
305\def\addcontentsline#1#2#3{}
306
307%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308%%% commands for formatting paper title, author names, and addresses.
309
310%%start%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311%%%%%% title as running head -- Kristian Kersting 2005 %%%%%%%%%%%%%
312
313
314%\makeatletter
315%\newtoks\mytoksa
316%\newtoks\mytoksb
317%\newcommand\addtomylist[2]{%
318% \mytoksa\expandafter{#1}%
319% \mytoksb{#2}%
320% \edef#1{\the\mytoksa\the\mytoksb}%
321%}
322%\makeatother
323
324% box to check the size of the running head
325\newbox\titrun
326
327% general page style
328\pagestyle{fancy}
329\fancyhf{}
330\fancyhead{}
331\fancyfoot{}
332% set the width of the head rule to 1 point
333\renewcommand{\headrulewidth}{1pt}
334
335% definition to set the head as running head in the preamble
336\def\icmltitlerunning#1{\gdef\@icmltitlerunning{#1}}
337
338% main definition adapting \icmltitle from 2004
339\long\def\icmltitle#1{%
340
341 %check whether @icmltitlerunning exists
342 % if not \icmltitle is used as running head
343 \ifx\undefined\@icmltitlerunning%
344 \gdef\@icmltitlerunning{#1}
345 \fi
346
347 %add it to pdf information
348 \ifdefined\nohyperref\else\ifdefined\hypersetup
349 \hypersetup{pdftitle={#1}}
350 \fi\fi
351
352 %get the dimension of the running title
353 \global\setbox\titrun=\vbox{\small\bf\@icmltitlerunning}
354
355 % error flag
356 \gdef\@runningtitleerror{0}
357
358 % running title too long
359 \ifdim\wd\titrun>\textwidth%
360 {\gdef\@runningtitleerror{1}}%
361 % running title breaks a line
362 \else\ifdim\ht\titrun>6.25pt
363 {\gdef\@runningtitleerror{2}}%
364 \fi
365 \fi
366
367 % if there is somthing wrong with the running title
368 \ifnum\@runningtitleerror>0
369 \typeout{}%
370 \typeout{}%
371 \typeout{*******************************************************}%
372 \typeout{Title exceeds size limitations for running head.}%
373 \typeout{Please supply a shorter form for the running head}
374 \typeout{with \string\icmltitlerunning{...}\space prior to \string\begin{document}}%
375 \typeout{*******************************************************}%
376 \typeout{}%
377 \typeout{}%
378 % set default running title
379 \chead{\small\bf Title Suppressed Due to Excessive Size}%
380 \else
381 % 'everything' fine, set provided running title
382 \chead{\small\bf\@icmltitlerunning}%
383 \fi
384
385 % no running title on the first page of the paper
386 \thispagestyle{empty}
387
388%%%%%%%%%%%%%%%%%%%% Kristian Kersting %%%%%%%%%%%%%%%%%%%%%%%%%
389%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390
391 {\center\baselineskip 18pt
392 \toptitlebar{\Large\bf #1}\bottomtitlebar}
393}
394
395
396\gdef\icmlfullauthorlist{}
397\newcommand\addstringtofullauthorlist{\g@addto@macro\icmlfullauthorlist}
398\newcommand\addtofullauthorlist[1]{%
399 \ifdefined\icmlanyauthors%
400 \addstringtofullauthorlist{, #1}%
401 \else%
402 \addstringtofullauthorlist{#1}%
403 \gdef\icmlanyauthors{1}%
404 \fi%
405 \ifdefined\nohyperref\else\ifdefined\hypersetup%
406 \hypersetup{pdfauthor=\icmlfullauthorlist}%
407 \fi\fi}
408
409
410\def\toptitlebar{\hrule height1pt \vskip .25in}
411\def\bottomtitlebar{\vskip .22in \hrule height1pt \vskip .3in}
412
413\newenvironment{icmlauthorlist}{%
414 \setlength\topsep{0pt}
415 \setlength\parskip{0pt}
416 \begin{center}
417}{%
418 \end{center}
419}
420
421\newcounter{@affiliationcounter}
422\newcommand{\@pa}[1]{%
423% ``#1''
424\ifcsname the@affil#1\endcsname
425 % do nothing
426\else
427 \ifcsname @icmlsymbol#1\endcsname
428 % nothing
429 \else
430 \stepcounter{@affiliationcounter}%
431 \newcounter{@affil#1}%
432 \setcounter{@affil#1}{\value{@affiliationcounter}}%
433 \fi
434\fi%
435\ifcsname @icmlsymbol#1\endcsname
436 \textsuperscript{\csname @icmlsymbol#1\endcsname\,}%
437\else
438 %\expandafter\footnotemark[\arabic{@affil#1}\,]%
439 \textsuperscript{\arabic{@affil#1}\,}%
440\fi
441}
442
443%\newcommand{\icmlauthor}[2]{%
444%\addtofullauthorlist{#1}%
445%#1\@for\theaffil:=#2\do{\pa{\theaffil}}%
446%}
447\newcommand{\icmlauthor}[2]{%
448 \ifdefined\isaccepted
449 \mbox{\bf #1}\,\@for\theaffil:=#2\do{\@pa{\theaffil}} \addtofullauthorlist{#1}%
450 \else
451 \ifdefined\@icmlfirsttime
452 \else
453 \gdef\@icmlfirsttime{1}
454 \mbox{\bf Anonymous Authors}\@pa{@anon} \addtofullauthorlist{Anonymous Authors}
455 \fi
456 \fi
457}
458
459\newcommand{\icmlsetsymbol}[2]{%
460 \expandafter\gdef\csname @icmlsymbol#1\endcsname{#2}
461 }
462
463
464\newcommand{\icmlaffiliation}[2]{%
465\ifdefined\isaccepted
466\ifcsname the@affil#1\endcsname
467 \expandafter\gdef\csname @affilname\csname the@affil#1\endcsname\endcsname{#2}%
468\else
469 {\bf AUTHORERR: Error in use of \textbackslash{}icmlaffiliation command. Label ``#1'' not mentioned in some \textbackslash{}icmlauthor\{author name\}\{labels here\} command beforehand. }
470 \typeout{}%
471 \typeout{}%
472 \typeout{*******************************************************}%
473 \typeout{Affiliation label undefined. }%
474 \typeout{Make sure \string\icmlaffiliation\space follows }
475 \typeout{all of \string\icmlauthor\space commands}%
476 \typeout{*******************************************************}%
477 \typeout{}%
478 \typeout{}%
479\fi
480\else % \isaccepted
481 % can be called multiple times... it's idempotent
482 \expandafter\gdef\csname @affilname1\endcsname{Anonymous Institution, Anonymous City, Anonymous Region, Anonymous Country}
483\fi
484}
485
486\newcommand{\icmlcorrespondingauthor}[2]{
487\ifdefined\isaccepted
488 \ifdefined\icmlcorrespondingauthor@text
489 \g@addto@macro\icmlcorrespondingauthor@text{, #1 \textless{}#2\textgreater{}}
490 \else
491 \gdef\icmlcorrespondingauthor@text{#1 \textless{}#2\textgreater{}}
492 \fi
493\else
494\gdef\icmlcorrespondingauthor@text{Anonymous Author \textless{}anon.email@domain.com\textgreater{}}
495\fi
496}
497
498\newcommand{\icmlEqualContribution}{\textsuperscript{*}Equal contribution, names ordered alphabetically }
499
500\newcounter{@affilnum}
501\newcommand{\printAffiliationsAndNotice}[1]{%
502\stepcounter{@affiliationcounter}%
503{\let\thefootnote\relax\footnotetext{\hspace*{-\footnotesep}\ifdefined\isaccepted #1\fi%
504\forloop{@affilnum}{1}{\value{@affilnum} < \value{@affiliationcounter}}{
505\textsuperscript{\arabic{@affilnum}}\ifcsname @affilname\the@affilnum\endcsname%
506\csname @affilname\the@affilnum\endcsname%
507\else
508{\bf AUTHORERR: Missing \textbackslash{}icmlaffiliation.}
509\fi
510}.
511\ifdefined\icmlcorrespondingauthor@text
512Correspondence to: \icmlcorrespondingauthor@text.
513\else
514{\bf AUTHORERR: Missing \textbackslash{}icmlcorrespondingauthor.}
515\fi
516
517\ \\
518\Notice@String
519}
520}
521}
522
523%\makeatother
524
525\long\def\icmladdress#1{%
526 {\bf The \textbackslash{}icmladdress command is no longer used. See the example\_paper PDF .tex for usage of \textbackslash{}icmlauther and \textbackslash{}icmlaffiliation.}
527}
528
529%% keywords as first class citizens
530\def\icmlkeywords#1{%
531% \ifdefined\isaccepted \else
532% \par {\bf Keywords:} #1%
533% \fi
534% \ifdefined\nohyperref\else\ifdefined\hypersetup
535% \hypersetup{pdfkeywords={#1}}
536% \fi\fi
537% \ifdefined\isaccepted \else
538% \par {\bf Keywords:} #1%
539% \fi
540 \ifdefined\nohyperref\else\ifdefined\hypersetup
541 \hypersetup{pdfkeywords={#1}}
542 \fi\fi
543}
544
545% modification to natbib citations
546\setcitestyle{authoryear,round,citesep={;},aysep={,},yysep={;}}
547
548% Redefinition of the abstract environment.
549\renewenvironment{abstract}
550 {%
551% Insert the ``appearing in'' copyright notice.
552%\@copyrightspace
553\centerline{\large\bf Abstract}
554 \vspace{-0.12in}\begin{quote}}
555 {\par\end{quote}\vskip 0.12in}
556
557% numbered section headings with different treatment of numbers
558
559\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
560 \par \@tempskipa #4\relax
561 \@afterindenttrue
562% Altered the following line to indent a section's first paragraph.
563% \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
564 \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \fi
565 \if@nobreak \everypar{}\else
566 \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar
567 {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sict{#1}{#2}{#3}{#4}{#5}{#6}}}}
568
569\def\@sict#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
570 \def\@svsec{}\else
571 \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi
572 \@tempskipa #5\relax
573 \ifdim \@tempskipa>\z@
574 \begingroup #6\relax
575 \@hangfrom{\hskip #3\relax\@svsec.~}{\interlinepenalty \@M #8\par}
576 \endgroup
577 \csname #1mark\endcsname{#7}\addcontentsline
578 {toc}{#1}{\ifnum #2>\c@secnumdepth \else
579 \protect\numberline{\csname the#1\endcsname}\fi
580 #7}\else
581 \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
582 {#7}\addcontentsline
583 {toc}{#1}{\ifnum #2>\c@secnumdepth \else
584 \protect\numberline{\csname the#1\endcsname}\fi
585 #7}}\fi
586 \@xsect{#5}}
587
588\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
589 \def\@svsec{}\else
590 \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 0.4em }\fi
591 \@tempskipa #5\relax
592 \ifdim \@tempskipa>\z@
593 \begingroup #6\relax
594 \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
595 \endgroup
596 \csname #1mark\endcsname{#7}\addcontentsline
597 {toc}{#1}{\ifnum #2>\c@secnumdepth \else
598 \protect\numberline{\csname the#1\endcsname}\fi
599 #7}\else
600 \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
601 {#7}\addcontentsline
602 {toc}{#1}{\ifnum #2>\c@secnumdepth \else
603 \protect\numberline{\csname the#1\endcsname}\fi
604 #7}}\fi
605 \@xsect{#5}}
606
607% section headings with less space above and below them
608\def\thesection {\arabic{section}}
609\def\thesubsection {\thesection.\arabic{subsection}}
610\def\section{\@startsection{section}{1}{\z@}{-0.12in}{0.02in}
611 {\large\bf\raggedright}}
612\def\subsection{\@startsection{subsection}{2}{\z@}{-0.10in}{0.01in}
613 {\normalsize\bf\raggedright}}
614\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-0.08in}{0.01in}
615 {\normalsize\sc\raggedright}}
616\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus
617 0.5ex minus .2ex}{-1em}{\normalsize\bf}}
618\def\subparagraph{\@startsection{subparagraph}{5}{\z@}{1.5ex plus
619 0.5ex minus .2ex}{-1em}{\normalsize\bf}}
620
621% Footnotes
622\footnotesep 6.65pt %
623\skip\footins 9pt
624\def\footnoterule{\kern-3pt \hrule width 0.8in \kern 2.6pt }
625\setcounter{footnote}{0}
626
627% Lists and paragraphs
628\parindent 0pt
629\topsep 4pt plus 1pt minus 2pt
630\partopsep 1pt plus 0.5pt minus 0.5pt
631\itemsep 2pt plus 1pt minus 0.5pt
632\parsep 2pt plus 1pt minus 0.5pt
633\parskip 6pt
634
635\leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em
636\leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em
637\leftmarginvi .5em
638\labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt
639
640\def\@listi{\leftmargin\leftmargini}
641\def\@listii{\leftmargin\leftmarginii
642 \labelwidth\leftmarginii\advance\labelwidth-\labelsep
643 \topsep 2pt plus 1pt minus 0.5pt
644 \parsep 1pt plus 0.5pt minus 0.5pt
645 \itemsep \parsep}
646\def\@listiii{\leftmargin\leftmarginiii
647 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
648 \topsep 1pt plus 0.5pt minus 0.5pt
649 \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt
650 \itemsep \topsep}
651\def\@listiv{\leftmargin\leftmarginiv
652 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
653\def\@listv{\leftmargin\leftmarginv
654 \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
655\def\@listvi{\leftmargin\leftmarginvi
656 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
657
658\abovedisplayskip 7pt plus2pt minus5pt%
659\belowdisplayskip \abovedisplayskip
660\abovedisplayshortskip 0pt plus3pt%
661\belowdisplayshortskip 4pt plus3pt minus3pt%
662
663% Less leading in most fonts (due to the narrow columns)
664% The choices were between 1-pt and 1.5-pt leading
665\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt}
666\def\small{\@setsize\small{10pt}\ixpt\@ixpt}
667\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt}
668\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
669\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
670\def\large{\@setsize\large{14pt}\xiipt\@xiipt}
671\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt}
672\def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt}
673\def\huge{\@setsize\huge{23pt}\xxpt\@xxpt}
674\def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt}
675
676% Revised formatting for figure captions and table titles.
677\newsavebox\newcaptionbox\newdimen\newcaptionboxwid
678
679\long\def\@makecaption#1#2{
680 \vskip 10pt
681 \baselineskip 11pt
682 \setbox\@tempboxa\hbox{#1. #2}
683 \ifdim \wd\@tempboxa >\hsize
684 \sbox{\newcaptionbox}{\small\sl #1.~}
685 \newcaptionboxwid=\wd\newcaptionbox
686 \usebox\newcaptionbox {\footnotesize #2}
687% \usebox\newcaptionbox {\small #2}
688 \else
689 \centerline{{\small\sl #1.} {\small #2}}
690 \fi}
691
692\def\fnum@figure{Figure \thefigure}
693\def\fnum@table{Table \thetable}
694
695% Strut macros for skipping spaces above and below text in tables.
696\def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces}
697\def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces}
698
699\def\abovespace{\abovestrut{0.20in}}
700\def\aroundspace{\abovestrut{0.20in}\belowstrut{0.10in}}
701\def\belowspace{\belowstrut{0.10in}}
702
703% Various personal itemization commands.
704\def\texitem#1{\par\noindent\hangindent 12pt
705 \hbox to 12pt {\hss #1 ~}\ignorespaces}
706\def\icmlitem{\texitem{$\bullet$}}
707
708% To comment out multiple lines of text.
709\long\def\comment#1{}
710
711
712
713
714%% Line counter (not in final version). Adapted from NIPS style file by Christoph Sawade
715
716% Vertical Ruler
717% This code is, largely, from the CVPR 2010 conference style file
718% ----- define vruler
719\makeatletter
720\newbox\icmlrulerbox
721\newcount\icmlrulercount
722\newdimen\icmlruleroffset
723\newdimen\cv@lineheight
724\newdimen\cv@boxheight
725\newbox\cv@tmpbox
726\newcount\cv@refno
727\newcount\cv@tot
728% NUMBER with left flushed zeros \fillzeros[<WIDTH>]<NUMBER>
729\newcount\cv@tmpc@ \newcount\cv@tmpc
730\def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi
731\cv@tmpc=1 %
732\loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi
733 \ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat
734\ifnum#2<0\advance\cv@tmpc1\relax-\fi
735\loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat
736\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}%
737% \makevruler[<SCALE>][<INITIAL_COUNT>][<STEP>][<DIGITS>][<HEIGHT>]
738\def\makevruler[#1][#2][#3][#4][#5]{
739 \begingroup\offinterlineskip
740 \textheight=#5\vbadness=10000\vfuzz=120ex\overfullrule=0pt%
741 \global\setbox\icmlrulerbox=\vbox to \textheight{%
742 {
743 \parskip=0pt\hfuzz=150em\cv@boxheight=\textheight
744 \cv@lineheight=#1\global\icmlrulercount=#2%
745 \cv@tot\cv@boxheight\divide\cv@tot\cv@lineheight\advance\cv@tot2%
746 \cv@refno1\vskip-\cv@lineheight\vskip1ex%
747 \loop\setbox\cv@tmpbox=\hbox to0cm{ % side margin
748 \hfil {\hfil\fillzeros[#4]\icmlrulercount}
749 }%
750 \ht\cv@tmpbox\cv@lineheight\dp\cv@tmpbox0pt\box\cv@tmpbox\break
751 \advance\cv@refno1\global\advance\icmlrulercount#3\relax
752 \ifnum\cv@refno<\cv@tot\repeat
753 }
754 }
755 \endgroup
756}%
757\makeatother
758% ----- end of vruler
759
760
761% \makevruler[<SCALE>][<INITIAL_COUNT>][<STEP>][<DIGITS>][<HEIGHT>]
762\def\icmlruler#1{\makevruler[12pt][#1][1][3][\textheight]\usebox{\icmlrulerbox}}
763\AddToShipoutPicture{%
764\icmlruleroffset=\textheight
765\advance\icmlruleroffset by 5.2pt % top margin
766 \color[rgb]{.7,.7,.7}
767 \ifdefined\isaccepted \else
768 \AtTextUpperLeft{%
769 \put(\LenToUnit{-35pt},\LenToUnit{-\icmlruleroffset}){%left ruler
770 \icmlruler{\icmlrulercount}}
771% \put(\LenToUnit{1.04\textwidth},\LenToUnit{-\icmlruleroffset}){%right ruler
772% \icmlruler{\icmlrulercount}}
773 }
774 \fi
775}
776\endinput