diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | acm_proc_article-sp.cls | 1670 | ||||
| -rw-r--r-- | acmsmall.bst | 1865 | ||||
| -rw-r--r-- | approximation.tex | 1 | ||||
| -rw-r--r-- | ec-acmsmall.cls | 3728 | ||||
| -rw-r--r-- | ec/ec.pdf | bin | 0 -> 327505 bytes | |||
| -rw-r--r-- | ec/rebuttal.txt | 31 | ||||
| -rw-r--r-- | ec/reviews.txt | 161 | ||||
| -rw-r--r-- | old_notes.tex | 377 | ||||
| -rw-r--r-- | stoc/reviews.txt | 47 | ||||
| -rw-r--r-- | stoc/stoc.pdf (renamed from stoc_paper.pdf) | bin | 307619 -> 307619 bytes | |||
| -rw-r--r-- | stoc_paper.tex | 49 |
12 files changed, 241 insertions, 7689 deletions
@@ -3,3 +3,4 @@ *.aux *.bbl *.blg +/*.pdf diff --git a/acm_proc_article-sp.cls b/acm_proc_article-sp.cls deleted file mode 100644 index 9ec6f3c..0000000 --- a/acm_proc_article-sp.cls +++ /dev/null @@ -1,1670 +0,0 @@ -% ACM_PROC_ARTICLE-SP.CLS - VERSION 3.2SP
-% COMPATIBLE WITH THE "SIG-ALTERNATE" V2.4
-% Gerald Murray - April 22nd. 2009
-%
-% ---- Start of 'updates' ----
-%
-% April 22nd. 2009 - Fixed 'Natbib' incompatibility problem - Gerry
-% April 22nd. 2009 - Fixed 'Babel' incompatibility problem - Gerry
-% April 22nd. 2009 - Inserted various bug-fixes and improvements - Gerry
-%
-% To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas;
-% title, author block, section-heads, etc. etc.
-% i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'.
-% After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve,
-% in particular, the accenting problem(s). We _could_ ask authors (via instructions/sample file) to 'include' these in
-% the source .tex file - in the preamble - but if everything is already provided ('behind the scenes' - embedded IN the .cls)
-% then this is less work for authors and also makes everything appear 'vanilla'.
-% NOTE: all 'patchwork accenting" has been commented out (here) and is no longer 'used' in the sample .tex file (either).
-% Gerry June 2007
-%
-% Rule widths changed to .5, author count (>6) fixed, roll-back for Type 3 problem. Gerry March 20th. 2007
-% Changes made to 'modernize' the fontnames but esp. for MikTeX users V2.4/2.5 - Nov. 30th. 2006
-% Updated the \email definition to allow for its use inside of 'shared affiliations' - Nov. 30th. 2006
-% Fixed the 'section number depth value' - Nov. 30th. 2006
-%
-% Footnotes inside table cells using \minipage (Oct. 2002)
-% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002)
-% JS/GM fix to vertical spacing before Proofs (July 30th. 2002)
-%
-% Allowance made to switch default fonts between those systems using
-% normal/modern font names and those using 'Type 1' or 'Truetype' fonts.
-% See LINE NUMBER 269 for details.
-% Also provided for enumerated/annotated Corollaries 'surrounded' by
-% enumerated Theorems (line 844).
-% Gerry November 11th. 1999
-%
-% This 'sp' version does NOT produce the permission block.
-%
-% Major change in January 2000 was to include a "blank line" in between
-% new paragraphs. This involved major changes to the, then, acmproc-sp.cls 1.0SP
-% file, precipitating a 'new' name: "acm_proc_article-sp.cls" V2.01SP.
-%
-% ---- End of 'updates' ----
-%
-\def\fileversion{V3.2SP} % for ACM's tracking purposes
-\def\filedate{April 22, 2009} % Gerry Murray's tracking data
-\def\docdate {Wednesday 22nd. April 2009} % Gerry Murray (with deltas to doc}
-\usepackage{epsfig}
-\usepackage{amssymb}
-\usepackage{amsmath}
-\usepackage{amsfonts}
-% Need this for accents in Arial/Helvetica
-%\usepackage[T1]{fontenc} % Gerry March 12, 2007 - causes Type 3 problems (body text)
-%\usepackage{textcomp}
-%
-% ACM_PROC_ARTICLE-SP DOCUMENT STYLE
-% G.K.M. Tobin August-October 1999
-% adapted from ARTICLE document style by Ken Traub, Olin Shivers
-% also using elements of esub2acm.cls
-% LATEST REVISION V3.2SP - APRIL 2009
-% ARTICLE DOCUMENT STYLE -- Released 16 March 1988
-% for LaTeX version 2.09
-% Copyright (C) 1988 by Leslie Lamport
-%
-%
-%%% ACM_PROC_ARTICLE-SP is a document style for producing two-column camera-ready pages for
-%%% ACM conferences, according to ACM specifications. The main features of
-%%% this style are:
-%%%
-%%% 1) Two columns.
-%%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of
-%%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc =3D 1in, approx)
-%%% 3) First page has title information, and an extra 6pc of space at the
-%%% bottom of the first column for the ACM copyright notice.
-%%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold.
-%%%
-%%%
-%%% There are a few restrictions you must observe:
-%%%
-%%% 1) You cannot change the font size; ACM wants you to use 9pt.
-%%% 3) You must start your paper with the \maketitle command. Prior to the
-%%% \maketitle you must have \title and \author commands. If you have a
-%%% \date command it will be ignored; no date appears on the paper, since
-%%% the proceedings will have a date on the front cover.
-%%% 4) Marginal paragraphs, tables of contents, lists of figures and tables,
-%%% and page headings are all forbidden.
-%%% 5) The `figure' environment will produce a figure one column wide; if you
-%%% want one that is two columns wide, use `figure*'.
-%%%
-%
-%%% Copyright Space:
-%%% This style automatically leaves 1" blank space at the bottom of page 1/
-%%% column 1. This space can optionally be filled with some text using the
-%%% \toappear{...} command. If used, this command must be BEFORE the \maketitle
-%%% command. If this command is defined AND [preprint] is on, then the
-%%% space is filled with the {...} text (at the bottom); otherwise, it is
-%%% blank. If you use \toappearbox{...} instead of \toappear{...} then a
-%%% box will be drawn around the text (if [preprint] is on).
-%%%
-%%% A typical usage looks like this:
-%%% \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian
-%%% Embalming Technique, June 1991, Alfaretta, Georgia.}
-%%% This will be included in the preprint, and left out of the conference
-%%% version.
-%%%
-%%% WARNING:
-%%% Some dvi-ps converters heuristically allow chars to drift from their
-%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif
-%%% bold font used for section headers.
-%%% You may turn this hackery off via the -e option:
-%%% dvips -e 0 foo.dvi >foo.ps
-%%%
-\typeout{Document Class 'acm_proc_article-sp' <22nd. April '09>. Modified by G.K.M. Tobin}
-\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by}
-\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca}
-\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.}
-\typeout{****** Bugs/comments/suggestions to Gerry Murray -- murray@hq.acm.org ******}
-
-\oddsidemargin 4.5pc
-\evensidemargin 4.5pc
-\advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness
-\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness
-\marginparwidth 0pt % Margin pars are not allowed.
-\marginparsep 11pt % Horizontal space between outer margin and
- % marginal note
-
- % Top of page:
-\topmargin 4.5pc % Nominal distance from top of page to top of
- % box containing running head.
-\advance\topmargin by -1in % Correct for LaTeX gratuitousness
-\headheight 0pt % Height of box containing running head.
-\headsep 0pt % Space between running head and text.
- % Bottom of page:
-\footskip 30pt % Distance from baseline of box containing foot
- % to baseline of last line of text.
-\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e
-\footheight 12pt % Height of box containing running foot.
-
-
-%% Must redefine the top margin so there's room for headers and
-%% page numbers if you are using the preprint option. Footers
-%% are OK as is. Olin.
-\advance\topmargin by -37pt % Leave 37pt above text for headers
-\headheight 12pt % Height of box containing running head.
-\headsep 25pt % Space between running head and text.
-
-\textheight 666pt % 9 1/4 column height
-\textwidth 42pc % Width of text line.
- % For two-column mode:
-\columnsep 2pc % Space between columns
-\columnseprule 0pt % Width of rule between columns.
-\hfuzz 1pt % Allow some variation in column width, otherwise it's
- % too hard to typeset in narrow columns.
-
-\footnotesep 5.6pt % Height of strut placed at the beginning of every
- % footnote =3D height of normal \footnotesize strut,
- % so no extra space between footnotes.
-
-\skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and
- % top of first footnote.
-\floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved
- % to top or bottom of text page.
-\textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats
- % at top or bottom of page.
-\intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and
- % text.
-\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e
-\@maxsep 18pt % The maximum of \floatsep,
- % \textfloatsep and \intextsep (minus
- % the stretch and shrink).
-\dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column
- % figures in two-column mode.
-\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column
- % floats.
-\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e
-\@dblmaxsep 18pt % The maximum of \dblfloatsep and
- % \dbltexfloatsep.
-\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be
- % 0pt plus ...)
-\@fpsep 8pt plus 2fil % Space between floats on float page/column.
-\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be
- % 0pt plus ... )
-\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
-\@dblfpsep 8pt plus 2fil % Space between floats on float page.
-\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
- % 0pt plus ... )
-\marginparpush 5pt % Minimum vertical separation between two marginal
- % notes.
-
-\parskip 0pt % Extra vertical space between paragraphs.
- % Set to 0pt outside sections, to keep section heads
- % uniformly spaced. The value of parskip is set
- % to leading value _within_ sections.
- % 12 Jan 2000 gkmt
-\parindent 0pt % Width of paragraph indentation.
-\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to
- % \parskip and \topsep, added when user
- % leaves blank line before environment.
-
-\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1]
-\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2]
-\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3]
-
-\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
-\@endparpenalty -\@lowpenalty % After a list or paragraph environment.
-\@itempenalty -\@lowpenalty % Between list items.
-
-%\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
-\@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf' % January 2008
- document style.}\@eha}
-%\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
-\@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf' % January 2008
- document style.}\@eha}
-%\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
-\@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf' % January 2008
- document style.}\@eha}
-
-\@options
-
-\lineskip 2pt % \lineskip is 1pt for all font sizes.
-\normallineskip 2pt
-\def\baselinestretch{1}
-
-\abovedisplayskip 9pt plus2pt minus4.5pt%
-\belowdisplayskip \abovedisplayskip
-\abovedisplayshortskip \z@ plus3pt%
-\belowdisplayshortskip 5.4pt plus3pt minus3pt%
-\let\@listi\@listI % Setting of \@listi added 9 Jun 87
-
-\def\small{\@setsize\small{9pt}\viiipt\@viiipt
-\abovedisplayskip 7.6pt plus 3pt minus 4pt%
-\belowdisplayskip \abovedisplayskip
-\abovedisplayshortskip \z@ plus2pt%
-\belowdisplayshortskip 3.6pt plus2pt minus 2pt
-\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
-\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
-\itemsep \parsep}}
-
-\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt
-\abovedisplayskip 6.4pt plus 2pt minus 4pt%
-\belowdisplayskip \abovedisplayskip
-\abovedisplayshortskip \z@ plus 1pt%
-\belowdisplayshortskip 2.7pt plus 1pt minus 2pt
-\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
-\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
-\itemsep \parsep}}
-
-\newcount\aucount
-\newcount\originalaucount
-\newdimen\auwidth
-\auwidth=\textwidth
-\newdimen\auskip
-\newcount\auskipcount
-\newdimen\auskip
-\global\auskip=1pc
-\newdimen\allauboxes
-\allauboxes=\auwidth
-\newtoks\addauthors
-\newcount\addauflag
-\global\addauflag=0 %Haven't shown additional authors yet
-
-\newtoks\subtitletext
-\gdef\subtitle#1{\subtitletext={#1}}
-
-\gdef\additionalauthors#1{\addauthors={#1}}
-
-\gdef\numberofauthors#1{\global\aucount=#1
-\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} % 3 OK - Gerry March 2007
-\global\auskipcount=\aucount\global\advance\auskipcount by 1
-\global\multiply\auskipcount by 2
-\global\multiply\auskip by \auskipcount
-\global\advance\auwidth by -\auskip
-\global\divide\auwidth by \aucount}
-
-% \and was modified to count the number of authors. GKMT 12 Aug 1999
-\def\alignauthor{% % \begin{tabular}
-\end{tabular}%
- \begin{tabular}[t]{p{\auwidth}}\centering}%
-
-
-% *** NOTE *** NOTE *** NOTE *** NOTE ***
-% If you have 'font problems' then you may need
-% to change these, e.g. 'arialb' instead of "arialbd".
-% Gerry Murray 11/11/1999
-% *** OR ** comment out block A and activate block B or vice versa.
-% **********************************************
-%
-% -- Start of block A -- (Type 1 or Truetype fonts)
-%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd
-%\newfont{\secit}{timesbi at 12pt} %13 Jan 00 gkmt
-%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi
-%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000
-% % because "normal" is italic, "italic" is Roman
-%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd
-%\newfont{\ttlit}{arialbi at 18pt} % 13 Jan 00 gkmt
-%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial
-%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt
-%\newfont{\subttlbf}{arialbd at 14pt} % 13 Jan 00 gkmt
-%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial
-%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt
-%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial
-%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt
-%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial
-%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times
-%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi
-%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times
-%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times
-% *********************************************
-% -- End of block A --
-%
-%
-% -- Start of block B -- UPDATED FONT NAMES
-% *********************************************
-% Gerry Murray 11/30/2006
-% *********************************************
-\newfont{\secfnt}{ptmb8t at 12pt}
-\newfont{\secit}{ptmbi8t at 12pt} %13 Jan 00 gkmt
-\newfont{\subsecfnt}{ptmri8t at 11pt}
-\newfont{\subsecit}{ptmbi8t at 11pt} %
-\newfont{\ttlfnt}{phvb8t at 18pt}
-\newfont{\ttlit}{phvbo8t at 18pt} % GM 2/4/2000
-\newfont{\subttlfnt}{phvr8t at 14pt}
-\newfont{\subttlit}{phvro8t at 14pt} % GM 2/4/2000
-\newfont{\subttlbf}{phvb8t at 14pt} % 13 Jan 00 gkmt
-\newfont{\aufnt}{phvr8t at 12pt}
-\newfont{\auit}{phvro8t at 12pt} % GM 2/4/2000
-\newfont{\affaddr}{phvr8t at 10pt}
-\newfont{\affaddrit}{phvro8t at 10pt} % GM 2/4/2000
-\newfont{\eaddfnt}{phvr8t at 12pt}
-\newfont{\ixpt}{ptmr8t at 9pt}
-\newfont{\confname}{ptmri8t at 8pt}
-\newfont{\crnotice}{ptmr8t at 8pt}
-\newfont{\ninept}{ptmr8t at 9pt}
-% +++++++++++++++++++++++++++++++++++++++++++++
-% -- End of block B --
-
-%\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}}
-% If we have an email, inside a "shared affiliation" then we need the following instead
-\def\email#1{{{\eaddfnt{\par #1}}}} % revised - GM - 11/30/2006
-
-\def\addauthorsection{\ifnum\originalaucount>6 % was 3 - Gerry March 2007
- \section{Additional Authors}\the\addauthors
- \fi}
-
-\newcount\savesection
-\newcount\sectioncntr
-\global\sectioncntr=1
-
-\setcounter{secnumdepth}{3}
-
-\def\appendix{\par
-\section*{APPENDIX}
-\setcounter{section}{0}
- \setcounter{subsection}{0}
- \def\thesection{\Alph{section}} }
-
-
-\leftmargini 22.5pt
-\leftmarginii 19.8pt % > \labelsep + width of '(m)'
-\leftmarginiii 16.8pt % > \labelsep + width of 'vii.'
-\leftmarginiv 15.3pt % > \labelsep + width of 'M.'
-\leftmarginv 9pt
-\leftmarginvi 9pt
-
-\leftmargin\leftmargini
-\labelsep 4.5pt
-\labelwidth\leftmargini\advance\labelwidth-\labelsep
-
-\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt%
-\topsep 7.2pt plus 2pt minus 4pt%
-\itemsep 3.6pt plus 2pt minus 1pt}
-
-\let\@listi\@listI
-\@listi
-
-\def\@listii{\leftmargin\leftmarginii
- \labelwidth\leftmarginii\advance\labelwidth-\labelsep
- \topsep 3.6pt plus 2pt minus 1pt
- \parsep 1.8pt plus 0.9pt minus 0.9pt
- \itemsep \parsep}
-
-\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
- \topsep 1.8pt plus 0.9pt minus 0.9pt
- \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
- \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}
-
-\def\labelenumi{\theenumi.}
-\def\theenumi{\arabic{enumi}}
-
-\def\labelenumii{(\theenumii)}
-\def\theenumii{\alph{enumii}}
-\def\p@enumii{\theenumi}
-
-\def\labelenumiii{\theenumiii.}
-\def\theenumiii{\roman{enumiii}}
-\def\p@enumiii{\theenumi(\theenumii)}
-
-\def\labelenumiv{\theenumiv.}
-\def\theenumiv{\Alph{enumiv}}
-\def\p@enumiv{\p@enumiii\theenumiii}
-
-\def\labelitemi{$\bullet$}
-\def\labelitemii{\bf --}
-\def\labelitemiii{$\ast$}
-\def\labelitemiv{$\cdot$}
-
-\def\verse{\let\\=\@centercr
- \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
- \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
-\let\endverse\endlist
-
-\def\quotation{\list{}{\listparindent 1.5em
- \itemindent\listparindent
- \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
-\let\endquotation=\endlist
-
-\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
-\let\endquote=\endlist
-
-\def\descriptionlabel#1{\hspace\labelsep \bf #1}
-\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\descriptionlabel}}
-
-\let\enddescription\endlist
-
-\def\theequation{\arabic{equation}}
-
-\arraycolsep 4.5pt % Half the space between columns in an array environment.
-\tabcolsep 5.4pt % Half the space between columns in a tabular environment.
-\arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007
-\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env.
-
-\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.)
-
-\skip\@mpfootins =\skip\footins
-
-\fboxsep =2.7pt % Space left between box and text by \fbox and \framebox.
-\fboxrule =.5pt % Width of rules in box made by \fbox and \framebox. % (was .4) updated Gerry March 20 2007
-
-\def\thepart{\Roman{part}} % Roman numeral part numbers.
-\def\thesection {\arabic{section}}
-\def\thesubsection {\thesection.\arabic{subsection}}
-%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002
-%\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002
-\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
-
-\def\@pnumwidth{1.55em}
-\def\@tocrmarg {2.55em}
-\def\@dotsep{4.5}
-\setcounter{tocdepth}{3}
-
-%\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
-% allowed in the `acmconf' document style.}\@eha}
-
-\def\tableofcontents{\ClassError{%
- \string\tableofcontents\space is not allowed in the `acmconf' document % January 2008
- style}\@eha}
-
-\def\l@part#1#2{\addpenalty{\@secpenalty}
- \addvspace{2.25em plus 1pt} % space above part line
- \begingroup
- \@tempdima 3em % width of box holding part number, used by
- \parindent \z@ \rightskip \@pnumwidth %% \numberline
- \parfillskip -\@pnumwidth
- {\large \bf % set line in \large boldface
- \leavevmode % TeX command to enter horizontal mode.
- #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
- \nobreak % Never break after part entry
- \endgroup}
-
-\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break
- \addvspace{1.0em plus 1pt} % space above toc entry
- \@tempdima 1.5em % width of box holding section number
- \begingroup
- \parindent \z@ \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- \bf % Boldface.
- \leavevmode % TeX command to enter horizontal mode.
- \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
- \hskip -\leftskip %% 25 Jan 88 change to \numberline
- #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
- \endgroup}
-
-
-\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
-\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
-\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
-\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
-
-%\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not
-% allowed in the `acmconf' document style.}\@eha}
-
-\def\listoffigures{\ClassError{%
- \string\listoffigures\space is not allowed in the `acmconf' document % January 2008
- style}\@eha}
-
-\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
-
-%\def\listoftables{\@latexerr{\listoftables: Lists of tables are not
-% allowed in the `acmconf' document style.}\@eha}
-%\let\l@table\l@figure
-
-\def\listoftables{\ClassError{%
- \string\listoftables\space is not allowed in the `acmconf' document % January 2008
- style}\@eha}
- \let\l@table\l@figure
-
-\def\footnoterule{\kern-3\p@
- \hrule width .5\columnwidth % (was .4) updated Gerry March 20 2007
- \kern 2.6\p@} % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007
-% ------
-\long\def\@makefntext#1{\noindent
-%\hbox to .5em{\hss$^{\@thefnmark}$}#1} % original
-\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002
-% -------
-
-\long\def\@maketntext#1{\noindent
-#1}
-
-\long\def\@maketitlenotetext#1#2{\noindent
- \hbox to 1.8em{\hss$^{#1}$}#2}
-
-\setcounter{topnumber}{2}
-\def\topfraction{.7}
-\setcounter{bottomnumber}{1}
-\def\bottomfraction{.3}
-\setcounter{totalnumber}{3}
-\def\textfraction{.2}
-\def\floatpagefraction{.5}
-\setcounter{dbltopnumber}{2}
-\def\dbltopfraction{.7}
-\def\dblfloatpagefraction{.5}
-
-\long\def\@makecaption#1#2{
- \vskip \baselineskip
- \setbox\@tempboxa\hbox{\textbf{#1: #2}}
- \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
- \textbf{#1: #2}\par % THEN set as ordinary paragraph.
- \else % ELSE center.
- \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
- \fi}
-
-\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e
-
-\def\fps@figure{tbp}
-\def\ftype@figure{1}
-\def\ext@figure{lof}
-\def\fnum@figure{Figure \thefigure}
-\def\figure{\@float{figure}}
-%\let\endfigure\end@float
-\def\endfigure{\end@float} % Gerry January 2008
-\@namedef{figure*}{\@dblfloat{figure}}
-\@namedef{endfigure*}{\end@dblfloat}
-
-\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e
-
-\def\fps@table{tbp}
-\def\ftype@table{2}
-\def\ext@table{lot}
-\def\fnum@table{Table \thetable}
-\def\table{\@float{table}}
-%\let\endtable\end@float
-\def\endtable{\end@float} % Gerry January 2008
-\@namedef{table*}{\@dblfloat{table}}
-\@namedef{endtable*}{\end@dblfloat}
-
-\newtoks\titleboxnotes
-\newcount\titleboxnoteflag
-
-\def\maketitle{\par
- \begingroup
- \def\thefootnote{\fnsymbol{footnote}}
- \def\@makefnmark{\hbox
- to 0pt{$^{\@thefnmark}$\hss}}
- \twocolumn[\@maketitle]
-\@thanks
- \endgroup
- \setcounter{footnote}{0}
- \let\maketitle\relax
- \let\@maketitle\relax
- \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
- \@copyrightspace}
-
-%% CHANGES ON NEXT LINES
-\newif\if@ll % to record which version of LaTeX is in use
-
-\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used
-\else% LaTeX2e is used, so set ll to true
-\global\@lltrue
-\fi
-
-\if@ll
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesClass{acm_proc_article-sp} [2009/04/22 - V3.2SP - based on esub2acm.sty <23 April 96>]
- \RequirePackage{latexsym}% QUERY: are these two really needed?
- \let\dooptions\ProcessOptions
-\else
- \let\dooptions\@options
-\fi
-%% END CHANGES
-
-\def\@height{height}
-\def\@width{width}
-\def\@minus{minus}
-\def\@plus{plus}
-\def\hb@xt@{\hbox to}
-\newif\if@faircopy
-\@faircopyfalse
-\def\ds@faircopy{\@faircopytrue}
-
-\def\ds@preprint{\@faircopyfalse}
-
-\@twosidetrue
-\@mparswitchtrue
-\def\ds@draft{\overfullrule 5\p@}
-%% CHANGE ON NEXT LINE
-\dooptions
-
-\lineskip \p@
-\normallineskip \p@
-\def\baselinestretch{1}
-\def\@ptsize{0} %needed for amssymbols.sty
-
-%% CHANGES ON NEXT LINES
-\if@ll% allow use of old-style font change commands in LaTeX2e
-\@maxdepth\maxdepth
-%
-\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
-\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
-\fi
-%
-\if@ll
- \renewcommand{\rmdefault}{cmr} % was 'ttm'
-% Note! I have also found 'mvr' to work ESPECIALLY well.
-% Gerry - October 1999
-% You may need to change your LV1times.fd file so that sc is
-% mapped to cmcsc - -for smallcaps -- that is if you decide
-% to change {cmr} to {times} above. (Not recommended)
- \renewcommand{\@ptsize}{}
- \renewcommand{\normalsize}{%
- \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept%
- \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip 6\p@ \@minus 3\p@
- \belowdisplayshortskip 6\p@ \@minus 3\p@
- \let\@listi\@listI
- }
-\else
- \def\@normalsize{%changed next to 9 from 10
- \@setsize\normalsize{9\p@}\ixpt\@ixpt
- \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip 6\p@ \@minus 3\p@
- \belowdisplayshortskip 6\p@ \@minus 3\p@
- \let\@listi\@listI
- }%
-\fi
-\if@ll
- \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
- \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
- \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
- \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
- \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
- \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}}
- \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
-\else
- \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt}
- \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt}
- \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
- \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt}
- \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt}
- \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt}
- \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt}
-\fi
-\normalsize
-
-% make aubox hsize/number of authors up to 3, less gutter
-% then showbox gutter showbox gutter showbox -- GKMT Aug 99
-\newbox\@acmtitlebox
-\def\@maketitle{\newpage
- \null
- \setbox\@acmtitlebox\vbox{%
-\baselineskip 20pt
-\vskip 2em % Vertical space above title.
- \begin{center}
- {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size.
- \vskip 1.5em % Vertical space after title.
-%This should be the subtitle.
-{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi
- {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a
- \lineskip .5em % tabular environment
- \begin{tabular}[t]{c}\@author
- \end{tabular}\par}
- \vskip 1.5em % Vertical space after author.
- \end{center}}
- \dimen0=\ht\@acmtitlebox
- \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
- \unvbox\@acmtitlebox
- \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
-
-
-\newcount\titlenotecount
-\global\titlenotecount=0
-\newtoks\tntoks
-\newtoks\tntokstwo
-\newtoks\tntoksthree
-\newtoks\tntoksfour
-\newtoks\tntoksfive
-
-\def\abstract{
-\ifnum\titlenotecount>0 % was =1
- \insert\footins{%
- \reset@font\footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- }%
- \color@begingroup
-\ifnum\titlenotecount=1
- \@maketntext{%
- \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
-\fi
-\ifnum\titlenotecount=2
- \@maketntext{%
- \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
-\fi
-\ifnum\titlenotecount=3
- \@maketntext{%
- \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
-\fi
-\ifnum\titlenotecount=4
- \@maketntext{%
- \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
-\fi
-\ifnum\titlenotecount=5
- \@maketntext{%
- \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
-\@maketntext{%
- \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
-\fi
- \color@endgroup} %g}
-\fi
-\setcounter{footnote}{0}
-\section*{ABSTRACT}\normalsize %\the\parskip \the\baselineskip%\ninept
-}
-
-\def\endabstract{\if@twocolumn\else\endquotation\fi}
-
-\def\keywords{\if@twocolumn
-\section*{Keywords}
-\else \small
-\quotation
-\fi}
-
-% I've pulled the check for 2 cols, since proceedings are _always_
-% two-column 11 Jan 2000 gkmt
-\def\terms{%\if@twocolumn
-\section*{General Terms}
-%\else \small
-%\quotation\the\parskip
-%\fi}
-}
-
-% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999
-\newcount\catcount
-\global\catcount=1
-
-\def\category#1#2#3{%
-\ifnum\catcount=1
-\section*{Categories and Subject Descriptors}
-\advance\catcount by 1\else{\unskip; }\fi
- \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
-}
-
-\def\@category#1#2#3[#4]{%
- \begingroup
- \let\and\relax
- #1 [\textbf{#2}]%
- \if!#4!%
- \if!#3!\else : #3\fi
- \else
- :\space
- \if!#3!\else #3\kern\z@---\hskip\z@\fi
- \textit{#4}%
- \fi
- \endgroup
-}
-%
-
-%%% 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).
-%%%
-\newtoks\copyrightnotice
-\def\ftype@copyrightbox{8}
-\def\@copyrightspace{
-\@float{copyrightbox}[b]
-\begin{center}
-\setlength{\unitlength}{1pc}
-\begin{picture}(20,6) %Space for copyright notice
-\put(0,-0.95){\crnotice{\@toappear}}
-\end{picture}
-\end{center}
-\end@float}
-
-\def\@toappear{} % Default setting blank - commands below change this.
-\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
-\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
-
-\newtoks\conf
-\newtoks\confinfo
-\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}}
-
-
-%\def\marginpar{\@latexerr{The \marginpar command is not allowed in the
-% `acmconf' document style.}\@eha}
-
-\def\marginpar{\ClassError{%
- \string\marginpar\space is not allowed in the `acmconf' document % January 2008
- style}\@eha}
-
-\mark{{}{}} % Initializes TeX's marks
-
-\def\today{\ifcase\month\or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi
- \space\number\day, \number\year}
-
-\def\@begintheorem#1#2{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {{\sc #1}\hskip 5\p@\relax#2.}%
- ]
- \it
-}
-\def\@opargbegintheorem#1#2#3{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries
- \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title'
- \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
- \hskip 5\p@\relax % if they occur 'around' said corollaries.
- \box\@tempboxa % Gerry - Nov. 1999.
- \fi.}%
- ]
- \it
-}
-\newif\if@qeded
-\global\@qededfalse
-
-% -- original
-%\def\proof{%
-% \vspace{-\parskip} % GM July 2000 (for tighter spacing)
-% \global\@qededfalse
-% \@ifnextchar[{\@xproof}{\@proof}%
-%}
-% -- end of original
-
-% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002
-\def\proof{%
-\vspace{-\lastskip}\vspace{-\parsep}\penalty-51%
-\global\@qededfalse
-\@ifnextchar[{\@xproof}{\@proof}%
-}
-
-\def\endproof{%
- \if@qeded\else\qed\fi
- \endtrivlist
-}
-\def\@proof{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\sc Proof.}%
- ]
- \ignorespaces
-}
-\def\@xproof[#1]{%
- \trivlist
- \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]%
- \ignorespaces
-}
-\def\qed{%
- \unskip
- \kern 10\p@
- \begingroup
- \unitlength\p@
- \linethickness{.4\p@}%
- \framebox(6,6){}%
- \endgroup
- \global\@qededtrue
-}
-
-\def\newdef#1#2{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}%
- \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
- \global\@namedef{#1}{\@defthm{#1}{#2}}%
- \global\@namedef{end#1}{\@endtheorem}%
- }%
-}
-\def\@defthm#1#2{%
- \refstepcounter{#1}%
- \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
-}
-\def\@xdefthm#1#2{%
- \@begindef{#2}{\csname the#1\endcsname}%
- \ignorespaces
-}
-\def\@ydefthm#1#2[#3]{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\it #2%
-% \savebox\@tempboxa{#3}%
- \saveb@x\@tempboxa{#3}% % January 2008
- \ifdim \wd\@tempboxa>\z@
- \ \box\@tempboxa
- \fi.%
- }]%
- \ignorespaces
-}
-\def\@begindef#1#2{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\it #1\ \rm #2.}%
- ]%
-}
-\def\theequation{\arabic{equation}}
-
-\newcounter{part}
-\newcounter{section}
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\newcounter{paragraph}[subsubsection]
-\def\thepart{\Roman{part}}
-\def\thesection{\arabic{section}}
-\def\thesubsection{\thesection.\arabic{subsection}}
-\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt
-\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt
-
-\newif\if@uchead
-\@ucheadfalse
-
-%% CHANGES: NEW NOTE
-%% NOTE: OK to use old-style font commands below, since they were
-%% suitably redefined for LaTeX2e
-%% END CHANGES
-\setcounter{secnumdepth}{3}
-\def\part{%
- \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
- {4\p@}{\normalsize\@ucheadtrue}%
-}
-
-% Rationale for changes made in next four definitions:
-% "Before skip" is made elastic to provide some give in setting columns (vs.
-% parskip, which is non-elastic to keep section headers "anchored" to their
-% subsequent text.
-%
-% "After skip" is minimized -- BUT setting it to 0pt resulted in run-in heads, despite
-% the documentation asserted only after-skip < 0pt would have result.
-%
-% Baselineskip added to style to ensure multi-line section titles, and section heads
-% followed by another section head rather than text, are decently spaced vertically.
-% 12 Jan 2000 gkmt
-\def\section{%
- \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}%
- {0.5pt}{\baselineskip=14pt\secfnt\@ucheadtrue}%
-}
-
-\def\subsection{%
- \@startsection{subsection}{2}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
- {0.5pt}{\baselineskip=14pt\secfnt}%
-}
-\def\subsubsection{%
- \@startsection{subsubsection}{3}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}%
- {0.5pt}{\baselineskip=14pt\subsecfnt}%
-}
-
-%\def\paragraph{%
-% \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% original
-% {-5\p@}{\subsecfnt}%
-%}
-% If one wants sections, subsections and subsubsections numbered,
-% but not paragraphs, one usually sets secnumepth to 3.
-% For that, the "depth" of paragraphs must be given correctly
-% in the definition (``4'' instead of ``3'' as second argument
-% of @startsection):
-\def\paragraph{%
- \vskip 12pt\@startsection{paragraph}{4}{\z@}{6\p@ \@plus \p@}% % GM and Wolfgang May - 11/30/06
- {-5\p@}{\subsecfnt}%
-}
-
-\let\@period=.
-\def\@startsection#1#2#3#4#5#6{%
- \if@noskipsec %gkmt, 11 aug 99
- \global\let\@period\@empty
- \leavevmode
- \global\let\@period.%
- \fi
- \par
- \@tempskipa #4\relax
- \@afterindenttrue
- \ifdim \@tempskipa <\z@
- \@tempskipa -\@tempskipa
- \@afterindentfalse
- \fi
- %\if@nobreak 11 Jan 00 gkmt
- %\everypar{}
- %\else
- \addpenalty\@secpenalty
- \addvspace\@tempskipa
- %\fi
- \parskip=0pt
- \@ifstar
- {\@ssect{#3}{#4}{#5}{#6}}
- {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
-}
-
-
-\def\@ssect#1#2#3#4#5{%
- \@tempskipa #3\relax
- \ifdim \@tempskipa>\z@
- \begingroup
- #4{%
- \@hangfrom{\hskip #1}%
- \interlinepenalty \@M #5\@@par}%
- \endgroup
- \else
- \def\@svsechd{#4{\hskip #1\relax #5}}%
- \fi
- \vskip -10.5pt %gkmt, 7 jan 00 -- had been -14pt, now set to parskip
- \@xsect{#3}\parskip=10.5pt} % within the starred section, parskip = leading 12 Jan 2000 gkmt
-
-
-\def\@sect#1#2#3#4#5#6[#7]#8{%
- \ifnum #2>\c@secnumdepth
- \let\@svsec\@empty
- \else
- \refstepcounter{#1}%
- \edef\@svsec{%
- \begingroup
- %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt
- \ifnum#2>2 \noexpand#6 \fi
- \csname the#1\endcsname
- \endgroup
- \ifnum #2=1\relax .\fi
- \hskip 1em
- }%
- \fi
- \@tempskipa #5\relax
- \ifdim \@tempskipa>\z@
- \begingroup
- #6\relax
- \@hangfrom{\hskip #3\relax\@svsec}%
- \begingroup
- \interlinepenalty \@M
- \if@uchead
- \uppercase{#8}%
- \else
- #8%
- \fi
- \par
- \endgroup
- \endgroup
- \csname #1mark\endcsname{#7}%
- \vskip -10.5pt % -14pt gkmt, 11 aug 99 -- changed to -\parskip 11 Jan 2000
- \addcontentsline{toc}{#1}{%
- \ifnum #2>\c@secnumdepth \else
- \protect\numberline{\csname the#1\endcsname}%
- \fi
- #7%
- }%
- \else
- \def\@svsechd{%
- #6%
- \hskip #3\relax
- \@svsec
- \if@uchead
- \uppercase{#8}%
- \else
- #8%
- \fi
- \csname #1mark\endcsname{#7}%
- \addcontentsline{toc}{#1}{%
- \ifnum #2>\c@secnumdepth \else
- \protect\numberline{\csname the#1\endcsname}%
- \fi
- #7%
- }%
- }%
- \fi
- \@xsect{#5}\parskip=10.5pt% within the section, parskip = leading 12 Jan 2000 gkmt
-}
-\def\@xsect#1{%
- \@tempskipa #1\relax
- \ifdim \@tempskipa>\z@
- \par
- \nobreak
- \vskip \@tempskipa
- \@afterheading
- \else
- \global\@nobreakfalse
- \global\@noskipsectrue
- \everypar{%
- \if@noskipsec
- \global\@noskipsecfalse
- \clubpenalty\@M
- \hskip -\parindent
- \begingroup
- \@svsechd
- \@period
- \endgroup
- \unskip
- \@tempskipa #1\relax
- \hskip -\@tempskipa
- \else
- \clubpenalty \@clubpenalty
- \everypar{}%
- \fi
- }%
- \fi
- \ignorespaces
-}
-
-\def\@trivlist{%
- \@topsepadd\topsep
- \if@noskipsec
- \global\let\@period\@empty
- \leavevmode
- \global\let\@period.%
- \fi
- \ifvmode
- \advance\@topsepadd\partopsep
- \else
- \unskip
- \par
- \fi
- \if@inlabel
- \@noparitemtrue
- \@noparlisttrue
- \else
- \@noparlistfalse
- \@topsep\@topsepadd
- \fi
- \advance\@topsep \parskip
- \leftskip\z@skip
- \rightskip\@rightskip
- \parfillskip\@flushglue
- \@setpar{\if@newlist\else{\@@par}\fi}
- \global\@newlisttrue
- \@outerparskip\parskip
-}
-
-%%% Actually, 'abbrev' works just fine as the default - Gerry Feb. 2000
-%%% Bibliography style.
-
-\parindent 0pt
-\typeout{Using 'Abbrev' bibliography style}
-\newcommand\bibyear[2]{%
- \unskip\quad\ignorespaces#1\unskip
- \if#2..\quad \else \quad#2 \fi
-}
-\newcommand{\bibemph}[1]{{\em#1}}
-\newcommand{\bibemphic}[1]{{\em#1\/}}
-\newcommand{\bibsc}[1]{{\sc#1}}
-\def\@normalcite{%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
-}
-\def\@citeNB{%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
-}
-\def\@citeRB{%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi]}%
-}
-\def\start@cite#1#2{%
- \edef\citeauthoryear##1##2##3{%
- ###1%
- \ifnum#2=\z@ \else\ ###2\fi
- }%
- \ifnum#1=\thr@@
- \let\@@cite\@citeyear
- \else
- \let\@@cite\@citenormal
- \fi
- \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}%
-}
-%\def\cite{\start@cite23}
-\DeclareRobustCommand\cite{\start@cite23} % January 2008
-\def\citeNP{\cite*} % No Parentheses e.g. 5
-%\def\citeA{\start@cite10}
-\DeclareRobustCommand\citeA{\start@cite10} % January 2008
-\def\citeANP{\citeA*}
-%\def\shortcite{\start@cite23}
-\DeclareRobustCommand\shortcite{\start@cite23} % January 2008
-\def\shortciteNP{\shortcite*}
-%\def\shortciteA{\start@cite20}
-\DeclareRobustCommand\shortciteA{\start@cite20} % January 2008
-\def\shortciteANP{\shortciteA*}
-%\def\citeyear{\start@cite30}
-\DeclareRobustCommand\citeyear{\start@cite30} % January 2008
-\def\citeyearNP{\citeyear*}
-%\def\citeN{%
-\DeclareRobustCommand\citeN{% % January 2008
- \@citeRB
- \def\citeauthoryear##1##2##3{##1\ [##3%
- \def\reserved@a{##1}%
- \def\citeauthoryear####1####2####3{%
- \def\reserved@b{####1}%
- \ifx\reserved@a\reserved@b
- ####3%
- \else
- \errmessage{Package acmart Error: author mismatch
- in \string\citeN^^J^^J%
- See the acmart package documentation for explanation}%
- \fi
- }%
- }%
- \@ifstar\@citeyear\@citeyear
-}
-%\def\shortciteN{%
-\DeclareRobustCommand\shortciteN{% % January 2008
- \@citeRB
- \def\citeauthoryear##1##2##3{##2\ [##3%
- \def\reserved@a{##2}%
- \def\citeauthoryear####1####2####3{%
- \def\reserved@b{####2}%
- \ifx\reserved@a\reserved@b
- ####3%
- \else
- \errmessage{Package acmart Error: author mismatch
- in \string\shortciteN^^J^^J%
- See the acmart package documentation for explanation}%
- \fi
- }%
- }%
- \@ifstar\@citeyear\@citeyear % changed from "\@ifstart" 12 Jan 2000 gkmt
-}
-
-\def\@citenormal{%
- \@ifnextchar [{\@tempswatrue\@citex;}%
-% original {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00
-{\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009
-}
-
-\def\@citeyear{%
- \@ifnextchar [{\@tempswatrue\@citex,}%
-% original {\@tempswafalse\@citex,[]}%
-{\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009
-}
-
-\def\@citex#1[#2]#3{%
- \let\@citea\@empty
- \@cite{%
- \@for\@citeb:=#3\do{%
- \@citea
-% original \def\@citea{#1 }%
- \def\@citea{#1, }% % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
- \edef\@citeb{\expandafter\@iden\@citeb}%
- \if@filesw
- \immediate\write\@auxout{\string\citation{\@citeb}}%
- \fi
- \@ifundefined{b@\@citeb}{%
- {\bf ?}%
- \@warning{%
- Citation `\@citeb' on page \thepage\space undefined%
- }%
- }%
- {\csname b@\@citeb\endcsname}%
- }%
- }{#2}%
-}
-%\let\@biblabel\@gobble % Dec. 2008 - Gerry
-% ----
-\def\@biblabelnum#1{[#1]} % Gerry's solution #1 - for Natbib
-\let\@biblabel=\@biblabelnum % Gerry's solution #1 - for Natbib
-\def\newblock{\relax} % Gerry Dec. 2008
-% ---
-\newdimen\bibindent
-\setcounter{enumi}{1}
-\bibindent=0em
-\def\thebibliography#1{%
-\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
- \section[References]{% <=== OPTIONAL ARGUMENT ADDED HERE
- {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004)
- \@mkboth{{\refname}}{{\refname}}%
- }%
- \list{[\arabic{enumi}]}{%
- \settowidth\labelwidth{[#1]}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \advance\leftmargin\bibindent
- \parsep=0pt\itemsep=1pt % GM July 2000
- \itemindent -\bibindent
- \listparindent \itemindent
- \usecounter{enumi}
- }%
- \let\newblock\@empty
- \raggedright % GM July 2000
- \sloppy
- \sfcode`\.=1000\relax
-}
-
-
-\gdef\balancecolumns
-{\vfill\eject
-\global\@colht=\textheight
-\global\ht\@cclv=\textheight
-}
-
-\newcount\colcntr
-\global\colcntr=0
-%\newbox\savebox
-\newbox\saveb@x % January 2008
-
-\gdef \@makecol {%
-\global\advance\colcntr by 1
-\ifnum\colcntr>2 \global\colcntr=1\fi
- \ifvoid\footins
- \setbox\@outputbox \box\@cclv
- \else
- \setbox\@outputbox \vbox{%
-\boxmaxdepth \@maxdepth
- \@tempdima\dp\@cclv
- \unvbox \@cclv
- \vskip-\@tempdima
- \vskip \skip\footins
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup
- }%
- \fi
- \xdef\@freelist{\@freelist\@midlist}%
- \global \let \@midlist \@empty
- \@combinefloats
- \ifvbox\@kludgeins
- \@makespecialcolbox
- \else
- \setbox\@outputbox \vbox to\@colht {%
-\@texttop
- \dimen@ \dp\@outputbox
- \unvbox \@outputbox
- \vskip -\dimen@
- \@textbottom
- }%
- \fi
- \global \maxdepth \@maxdepth
-}
-\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
-\global\advance\titlenotecount by 1
-\ifnum\titlenotecount=1
- \raisebox{9pt}{$\ast$}
-\fi
-\ifnum\titlenotecount=2
- \raisebox{9pt}{$\dagger$}
-\fi
-\ifnum\titlenotecount=3
- \raisebox{9pt}{$\ddagger$}
-\fi
-\ifnum\titlenotecount=4
-\raisebox{9pt}{$\S$}
-\fi
-\ifnum\titlenotecount=5
-\raisebox{9pt}{$\P$}
-\fi
- \@titlenotetext
-}}
-
-\long\def\@titlenotetext#1{\insert\footins{%
-\ifnum\titlenotecount=1\global\tntoks={#1}\fi
-\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
-\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
-\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
-\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
- \reset@font\footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- }%
- \color@begingroup
- \color@endgroup}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%
-\ps@plain
-\baselineskip=11pt
-\let\thepage\relax % For NO page numbers - Gerry Nov. 30th. 1999
-\def\setpagenumber#1{\global\setcounter{page}{#1}}
-%\pagenumbering{arabic} % Arabic page numbers but commented out for NO page numbes - Gerry Nov. 30th. 1999
-\twocolumn % Double column.
-\flushbottom % Even bottom -- alas, does not balance columns at end of document
-\pagestyle{plain}
-
-% Need Copyright Year and Copyright Data to be user definable (in .tex file).
-% Gerry Nov. 30th. 1999
-\newtoks\copyrtyr
-\newtoks\acmcopyr
-\newtoks\boilerplate
-\def\CopyrightYear#1{\global\copyrtyr{#1}}
-\def\crdata#1{\global\acmcopyr{#1}}
-\def\permission#1{\global\boilerplate{#1}}
-%
-\newtoks\copyrightetc
-\global\copyrightetc{\ } % Need to have 'something' so that adequate space is left for pasting in a line if "confinfo" is supplied.
-
-\toappear{\the\boilerplate\par
-{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc}
-% End of ACM_PROC_ARTICLE-SP.CLS -- V3.2SP - 04/22/2009 --
-% Gerry Murray -- Wednesday April 22nd. 2009
-%
-% The following section (i.e. 3 .sty inclusions) was added in May 2007 so as to fix the problems that many
-% authors were having with accents. Sometimes accents would occur, but the letter-character would be of a different
-% font. Conversely the letter-character font would be correct but, e.g. a 'bar' would appear superimposed on the
-% character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all.
-% Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped)
-% PDF file - useless for production.
-%
-% For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil'
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%% This is file `ae.sty'
-\def\fileversion{1.3}
-\def\filedate{2001/02/12}
-\NeedsTeXFormat{LaTeX2e}
-%\ProvidesPackage{ae}[\filedate\space\fileversion\space % GM
-% Almost European Computer Modern] % GM - keeping the log file clean(er)
-\newif\if@ae@slides \@ae@slidesfalse
-\DeclareOption{slides}{\@ae@slidestrue}
-\ProcessOptions
-\fontfamily{aer}
-\RequirePackage[T1]{fontenc}
-\if@ae@slides
- \renewcommand{\sfdefault}{laess}
- \renewcommand{\rmdefault}{laess} % no roman
- \renewcommand{\ttdefault}{laett}
-\else
- \renewcommand{\sfdefault}{aess}
- \renewcommand{\rmdefault}{aer}
- \renewcommand{\ttdefault}{aett}
-\fi
-\endinput
-%%
-%% End of file `ae.sty'.
-%
-%
-\def\fileversion{0.9}
-\def\filedate{1998/07/23}
-\NeedsTeXFormat{LaTeX2e}
-%\ProvidesPackage{aecompl}[\filedate\space\fileversion\space % GM
-%T1 Complements for AE fonts (D. Roegel)] % GM -- keeping the log file clean(er)
-
-\def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}}
-\def\guillemotleft{\@ae@compl{19}}
-\def\guillemotright{\@ae@compl{20}}
-\def\guilsinglleft{\@ae@compl{14}}
-\def\guilsinglright{\@ae@compl{15}}
-\def\TH{\@ae@compl{222}}
-\def\NG{\@ae@compl{141}}
-\def\ng{\@ae@compl{173}}
-\def\th{\@ae@compl{254}}
-\def\DJ{\@ae@compl{208}}
-\def\dj{\@ae@compl{158}}
-\def\DH{\@ae@compl{208}}
-\def\dh{\@ae@compl{240}}
-\def\@perthousandzero{\@ae@compl{24}}
-\def\textperthousand{\%\@perthousandzero}
-\def\textpertenthousand{\%\@perthousandzero\@perthousandzero}
-\endinput
-%
-%
-%% This is file `aeguill.sty'
-% This file gives french guillemets (and not guillemots!)
-% built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts
-% or with the EC fonts.
-% This is useful in conjunction with the ae package
-% (this package loads the ae package in case it has not been loaded)
-% and with or without the french(le) package.
-%
-% In order to get the guillemets, it is necessary to either type
-% \guillemotleft and \guillemotright, or to use an 8 bit encoding
-% (such as ISO-Latin1) which selects these two commands,
-% or, if you use the french package (but not the frenchle package),
-% to type << or >>.
-%
-% By default, you get the Polish CMR guillemets; if this package is loaded
-% with the `cm' option, you get the LASY guillemets; with `ec,' you
-% get the EC guillemets, and with `cyr,' you get the cyrillic guillemets.
-%
-% In verbatim mode, you always get the EC/TT guillemets.
-%
-% The default option is interesting in conjunction with PDF,
-% because there is a Type 1 version of the Polish CMR fonts
-% and these guillemets are very close in shape to the EC guillemets.
-% There are no free Type 1 versions of the EC fonts.
-%
-% Support for Polish CMR guillemets was kindly provided by
-% Rolf Niepraschk <niepraschk@ptb.de> in version 0.99 (2000/05/22).
-% Bernd Raichle provided extensive simplifications to the code
-% for version 1.00.
-%
-% This package is released under the LPPL.
-%
-% Changes:
-% Date version
-% 2001/04/12 1.01 the frenchle and french package are now distinguished.
-%
-\def\fileversion{1.01}
-\def\filedate{2001/04/12}
-\NeedsTeXFormat{LaTeX2e}
-%\ProvidesPackage{aeguill}[2001/04/12 1.01 % % GM
-%AE fonts with french guillemets (D. Roegel)] % GM - keeping the log file clean(er)
-%\RequirePackage{ae} % GM May 2007 - already embedded here
-
-\newcommand{\@ae@switch}[4]{#4}
-\DeclareOption{ec}{\renewcommand\@ae@switch[4]{#1}}
-\DeclareOption{cm}{\renewcommand\@ae@switch[4]{#2}}
-\DeclareOption{cyr}{\renewcommand\@ae@switch[4]{#3}}
-\DeclareOption{pl}{\renewcommand\@ae@switch[4]{#4}}
-\ExecuteOptions{pl}
-\ProcessOptions
-
-%
-% Load necessary packages
-%
-\@ae@switch{% ec
- % do nothing
-}{% cm
- \RequirePackage{latexsym}% GM - May 2007 - already 'mentioned as required' up above
-}{% cyr
- \RequirePackage[OT2,T1]{fontenc}%
-}{% pl
- \RequirePackage[OT4,T1]{fontenc}%
-}
-
-% The following command will be compared to \frenchname,
-% as defined in french.sty and frenchle.sty.
-\def\aeguillfrenchdefault{french}%
-
-\let\guill@verbatim@font\verbatim@font
-\def\verbatim@font{\guill@verbatim@font\ecguills{cmtt}%
- \let\guillemotleft\@oguills\let\guillemotright\@fguills}
-
-\begingroup \catcode`\<=13 \catcode`\>=13
-\def\x{\endgroup
- \def\ae@lfguill{<<}%
- \def\ae@rfguill{>>}%
-}\x
-
-\newcommand{\ecguills}[1]{%
- \def\selectguillfont{\fontencoding{T1}\fontfamily{#1}\selectfont}%
- \def\@oguills{{\selectguillfont\symbol{19}}}%
- \def\@fguills{{\selectguillfont\symbol{20}}}%
- }
-
-\newcommand{\aeguills}{%
- \ae@guills
- % We redefine \guillemotleft and \guillemotright
- % in order to catch them when they are used
- % with \DeclareInputText (in latin1.def for instance)
- % We use \auxWARNINGi as a safe indicator that french.sty is used.
- \gdef\guillemotleft{\ifx\auxWARNINGi\undefined
- \@oguills % neither french.sty nor frenchle.sty
- \else
- \ifx\aeguillfrenchdefault\frenchname
- \ae@lfguill % french.sty
- \else
- \@oguills % frenchle.sty
- \fi
- \fi}%
- \gdef\guillemotright{\ifx\auxWARNINGi\undefined
- \@fguills % neither french.sty nor frenchle.sty
- \else
- \ifx\aeguillfrenchdefault\frenchname
- \ae@rfguill % french.sty
- \else
- \@fguills % frenchle.sty
- \fi
- \fi}%
- }
-
-%
-% Depending on the class option
-% define the internal command \ae@guills
-\@ae@switch{% ec
- \newcommand{\ae@guills}{%
- \ecguills{cmr}}%
-}{% cm
- \newcommand{\ae@guills}{%
- \def\selectguillfont{\fontencoding{U}\fontfamily{lasy}%
- \fontseries{m}\fontshape{n}\selectfont}%
- \def\@oguills{\leavevmode\nobreak
- \hbox{\selectguillfont (\kern-.20em(\kern.20em}\nobreak}%
- \def\@fguills{\leavevmode\nobreak
- \hbox{\selectguillfont \kern.20em)\kern-.2em)}%
- \ifdim\fontdimen\@ne\font>\z@\/\fi}}%
-}{% cyr
- \newcommand{\ae@guills}{%
- \def\selectguillfont{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}%
- \def\@oguills{{\selectguillfont\symbol{60}}}%
- \def\@fguills{{\selectguillfont\symbol{62}}}}
-}{% pl
- \newcommand{\ae@guills}{%
- \def\selectguillfont{\fontencoding{OT4}\fontfamily{cmr}\selectfont}%
- \def\@oguills{{\selectguillfont\symbol{174}}}%
- \def\@fguills{{\selectguillfont\symbol{175}}}}
-}
-
-
-\AtBeginDocument{%
- \ifx\GOfrench\undefined
- \aeguills
- \else
- \let\aeguill@GOfrench\GOfrench
- \gdef\GOfrench{\aeguill@GOfrench \aeguills}%
- \fi
- }
-
-\endinput
-%
-
-
diff --git a/acmsmall.bst b/acmsmall.bst deleted file mode 100644 index 255895f..0000000 --- a/acmsmall.bst +++ /dev/null @@ -1,1865 +0,0 @@ -% "ACM Transactions" BibTeX style, acmsmall.bst => created from acmtrans.bst -% for BibTeX version 0.99c, LaTeX version 3.141 -% Revised 28-MARCH-1996 -% Revised 30-JUNE-1995 -% Revised 15-JAN-1996 -% Revised 28-JUNE-2010 -% Revised 12-DECEMBER-2010 -% $Header: acmtrans.bst,v 1.2 96/01/17 09:05:38 boyland Exp $ -% -% Hacked by John T. Boyland at University of California, Berkeley -% (with assistance by John R. Hauser) -% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University, -% based on a "chicago.bst" by Glenn Paulley at U. Waterloo, -% which was based on "newapa.bst" found at ymir.claremont.edu. -% -% Citation format: [author-last-name year] -% [author-last-name and author-last-name year] -% [author-last-name, author-last-name, and author-last-name year] -% [author-last-name et al. year] -% [author-last-name] -% author-last-name [year] -% [author-last-name and author-last-name] -% [author-last-name et al.] -% [year] or [year,year] -% year or year,year -% -% Reference list ordering: alphabetical by author or whatever passes -% for author in the absence of one. -% -% This BibTeX style has support for abbreviated author lists and for -% year-only citations. This is done by having the citations -% actually look like -% -% \citeauthoryear{full-author-info}{abbrev-author-info}{year} -% -% The LaTeX style has to have the following (or similar) -% -% \let\@internalcite\cite -% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} -% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} -% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} -% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} -% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} -% -% These TeX macro definitions are found in acmtrans.sty. Additional -% commands to manipulate different components of a citation can be defined -% so that, for example, you can list author's names without parentheses -% if using a citation as a noun or object in a sentence. -% -% Features of acmtrans.bst: -% ======================== -% -% - all authors appear last name first. -% - all pages are listed xx-xx, (no pp.) and are at the end of the reference -% - publishers are identified as publisher, address -% - conferences papers (inproceedings) may give city of conference, -% date of conference, and journal that the proceedings appear in. -% - months abbreviated to max four letters (eg. Mar.) -% - volume of a series indicated after the title of the series -% - editors appear after edited title and are identified by a trailing "Eds." -% not in parentheses. Editor names are not given in small caps. -% (unless there is no author line) -% - names terminated with a period even if there is no first name. -% - editions are indicated trailing after the work, not in parentheses. -% - "et al." citations have a protected period to avoid bad spacing (jrh) -% - "address" required when publisher given -% - series (roman) and volume are in a sentence separate from (book-)title -% -% -% Features of chicago.bst: -% ======================= -% -% - full names used in citations, but abbreviated citations are available -% (see above) -% - if an entry has a "month", then the month and year are also printed -% as part of that bibitem. -% - all conjunctions use "and" instead of "\&" -% - major modification from Chicago Manual of Style (13th ed.) is that -% only the first author in a reference appears last name first- -% additional authors appear as J. Q. Public. -% - pages are listed as "pp. xx-xx" in all entry types except -% article entries. -% - book, inbook, and manual use "location: publisher" (or organization) -% for address and publisher. All other types list publishers separately. -% - "pp." are used to identify page numbers for all entry types except -% articles. -% - organization is used as a citation label if neither author nor editor -% is present (for manuals). -% - "et al." is used for long author and editor lists, or when "others" -% is used. -% -% Modifications and bug fixes from newapa.bst: -% =========================================== -% -% - added month, year to bib entries if month is present -% - fixed bug with In proceedings, added necessary comma after title -% - all conjunctions changed to "and" from "\&" -% - fixed bug with author labels in my.full.label: "et al." now is -% generated when "others" is an author name -% - major modification from Chicago Manual of Style (13th ed.) is that -% only the first author in a reference appears last name first- -% additional authors appear as J. Q. Public. -% - pages are listed as "pp. xx-xx" in all entry types except -% article entries. Unnecessary (IMHO) "()" around page numbers -% were removed, and page numbers now don't end with a period. -% - created chicago.sty for use with this bibstyle (required). -% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, -% number, and /or pages. Renamed to format.jour.vol. -% - fixed bug in formatting booktitles: additional period an error if -% book has a volume. -% - fixed bug: editors usually given redundant period before next clause -% (format.editors.dot) removed. -% - added label support for organizations, if both author and editor -% are missing (from alpha.bst). If organization is too long, then -% the key field is used for abbreviated citations. -% - In proceedings or books of several volumes, no comma was written -% between the "Volume x" and the page numbers (this was intentional -% in newapa.bst). Fixed. -% - Some journals may not have volumes/numbers, only month/year (eg. -% IEEE Computer). Fixed bug in article style that assumed volume/number -% was always present. -% - Modified calc.label function to generate proper labels with years in -% case of three and more authors (for et al. cases), when the first author -% is same. Renamed the old function of calc.label to calc.label.new to -% retain proper writing: (acmtexsupport@aptaracorp.com, dated 30/12/2010) -% -% Original documentation for newapa.sty: -% ===================================== -% -% This version was made by modifying the master file made by -% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX -% style of Peter F. Patel-Schneider. -% -% Copyright (C) 1985, all rights reserved. -% Copying of this file is authorized only if either -% (1) you make absolutely no changes to your copy, including name, or -% (2) if you do make changes, you name it something other than 'newapa.bst'. -% There are undoubtably bugs in this style. If you make bug fixes, -% improvements, etc. please let me know. My e-mail address is: -% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com -% -% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', -% with lots of tweaking to make it look like APA style, along with tips -% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. - -ENTRY - { address - author - booktitle - chapter - city % jtb: added - date % jtb: added - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label.year extra.label sort.year sort.label } - -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 u } - -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 -} - -% Use a colon to separate output. Used only for address/publisher -% combination in book/inbook types, address/institution for manuals, -% and organization:publisher for proceedings (inproceedings). -% -FUNCTION {output.nonnull.colon} -{ '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.colon} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull.colon - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.check.colon} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull.colon - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { write$ - " " year * extra.label * - mid.sentence 'output.state := - } - 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$ -} - -% -% Emphasize the top string on the stack. -% -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -% -% Emphasize the top string on the stack, but add a trailing space. -% -FUNCTION {emphasize.space} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "\/}" * } - if$ -} - -% -% Emphasize the top string on stack, add a trailing comma and space. -% -FUNCTION {emphasize.comma} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * ",\/}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } -% -% Format bibliographical entries with the first author last name first, -% and subsequent authors with initials followed by last name. -% All names are formatted in this routine. -% - -FUNCTION {format.names} -{ 's := - #1 'nameptr := % nameptr = 1; - s num.names$ 'numnames := % numnames = num.name$(s); - numnames 'namesleft := - { namesleft #0 > } - - { nameptr #1 = - {"{\sc " s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ * "}" * 't := } - {"{\sc " s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ * "}" * 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "{\sc others}" = - { " {\sc et~al\mbox{.}}" * } % jrh: avoid spacing problems - { " {\sc and} " * t * } % from Chicago Manual of Style - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := % nameptr += 1; - namesleft #1 - 'namesleft := % namesleft =- 1; - } - while$ -} - -FUNCTION {my.full.label} -{ 's := - #1 'nameptr := % nameptr = 1; - s num.names$ 'numnames := % numnames = num.name$(s); - numnames 'namesleft := - { namesleft #0 > } - - { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al\mbox{.}" * } % jrh: avoid spacing problems - { " and " * t * } % from Chicago Manual of Style - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := % nameptr += 1; - namesleft #1 - 'namesleft := % namesleft =- 1; - } - while$ - -} - -FUNCTION {format.names.fml} -% -% Format names in "familiar" format, with first initial followed by -% last name. Like format.names, ALL names are formatted. -% jtb: The names are NOT put in small caps -% -{ 's := - #1 'nameptr := % nameptr = 1; - s num.names$ 'numnames := % numnames = num.name$(s); - numnames 'namesleft := - { namesleft #0 > } - - { "{" s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := - - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "{others}" = - { " {et~al\mbox{.}}" * } - { " {and} " * t * } -% { " {\&} " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := % nameptr += 1; - namesleft #1 - 'namesleft := % namesleft =- 1; - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names add.period$} % jtb: add period if none before - if$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -% -% Format editor names for use in the "in" types: inbook, incollection, -% inproceedings: first initial, then last names. When editors are the -% LABEL for an entry, then format.editor is used which lists editors -% by last name first. -% -FUNCTION {format.editors.fml} -{ editor empty$ - { "" } - { editor format.names.fml - editor num.names$ #1 > - { ", Eds." * } % jtb: removed parentheses - { ", Ed." * } % jtb: removed parentheses - if$ - } - if$ -} - -% -% Format editor names for use in labels, last names first. -% -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ", Eds." * } % jtb: removed parentheses - { ", Ed." * } % jtb: removed parentheses - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -% Note that the APA style requres case changes -% in article titles. The following does not -% change cases. If you perfer it, uncomment the -% following and comment out the above. - -%FUNCTION {format.title} -%{ title empty$ -% { "" } -% { title } -% if$ -%} - -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.btitle} -{ edition empty$ - { title emphasize } - { title empty$ - { title emphasize } % jtb: what is this supposed to do ?!? - { "{\em " title * "\/} " * edition * " Ed." * } % aptara: no comma and capial case for ed. - if$ - } - if$ -} - -FUNCTION {format.emphasize.booktitle} -{ edition empty$ - { booktitle emphasize } - { booktitle empty$ - { booktitle emphasize } % jtb: what is this supposed to do ?!? - { "{\em " booktitle * "\/} " * edition * " Ed." * } % aptara: no comma and capial case for ed. - if$ - } - if$ - } - -% jtb: if the preceding string (the title of the conference) is non-empty, -% jtb: append the location, otherwise leave empty (so as to trigger the -% jtb: error message in output.check -FUNCTION {format.city} -{ duplicate$ empty$ - { } - { city empty$ - { date empty$ - { } - { " (" * date * ")" * } - if$ - } - { date empty$ - { " (" * city * ")" * } - { " (" * city * ", " * date * ")" * } - if$ - } - if$ - } - if$ -} - -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$ -} - -% jtb: If there is a series, this is added and the volume trails after it. -% jtb: Otherwise, "Vol" is Capitalized. -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { series empty$ - { "Vol." volume tie.or.space.connect} - { series " Series, " * "vol." volume tie.or.space.connect *} % aptara: added "Series" term - 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" } % gnp - changed to mixed case always - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - 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 - { pages n.dashify } % gnp - removed () % jtb: removed pp. - { pages } - if$ - } - if$ -} - -% By Young (and Spencer) -% GNP - fixed bugs with missing volume, number, and/or pages -% -% Format journal, volume, number, pages for article types. -% -FUNCTION {format.jour.vol} -{ journal empty$ - { "no journal in " cite$ * warning$ - "" } - { journal emphasize.space } - if$ - number empty$ - { volume empty$ - { "no number and no volume in " cite$ * warning$ - "" * } - { "~{\em " * Volume * "}" * } - if$ - } - { volume empty$ - {"no volume for " cite$ * warning$ - "~" * number * } - { "~" * - volume emphasize.comma - "~" * number * * } - if$ - } - if$ - pages empty$ - {"page numbers missing in " cite$ * warning$ - "" * } % gnp - place a null string on the stack for output - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } % gnp - removed pp. for articles - if$ - } - if$ -} - -FUNCTION {format.jour.vol.mon} -{ journal empty$ - { "no journal in " cite$ * warning$ - "" } - { journal emphasize.space } - if$ - number empty$ - { volume empty$ - { "no number and no volume in " cite$ * warning$ - "" * } - { "~{\em " * Volume * "}" * } - if$ - } - { volume empty$ - {"no volume for " cite$ * warning$ - "~" * number * } - { "~" * - volume emphasize.comma - "~" * number * * } - if$ - month empty$ - {} - {" (" * month * ")" *} - if$ - } - if$ - pages empty$ - {"page numbers missing in " cite$ * warning$ - "" * } % gnp - place a null string on the stack for output - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } % gnp - removed pp. for articles - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "Chapter" } % gnp - changed to mixed case - { type "t" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - {"page numbers missing in " cite$ * warning$} % gnp - added check - { ", " * format.pages * } - if$ - } - if$ -} - -% jtb: format for collections or proceedings not appearing in a journal -FUNCTION {format.in.emphasize.booktitle} -{ booktitle empty$ - { "" } - { "In " format.emphasize.booktitle * } - if$ -} - -% jtb: format for proceedings appearing in a journal -FUNCTION {format.in.booktitle} -{ booktitle empty$ - { "" } - { "In " booktitle * } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In " format.emphasize.booktitle * } - % jtb: swapped editor location - { "In " format.emphasize.booktitle * ", " * format.editors.fml * } - if$ - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ -% {pop$ - {{ "" } - type "t" change.case$} - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. Rep." } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ "See" - "\citeN{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al\mbox{.}" * } % jrh: avoid spacing problems - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect % gnp - changed to mixed case - " 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$ - "" * - } - { "{\em " * series * "\/}" * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ - " \citeN{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "See" - " \citeN{" * crossref * "}" * -} - -% format.lab.names: -% -% determines "short" names for the abbreviated author information. -% "Long" labels are created in calc.label, using the routine my.full.label -% to format author and editor fields. -% -% There are 4 cases for labels. (n=3 in the example) -% a) one author Foo -% b) one to n Foo, Bar and Baz -% c) use of "and others" Foo, Bar et al. -% d) more than n Foo et al. -% -FUNCTION {format.lab.names} -{ 's := - s num.names$ 'numnames := - numnames #2 > % change number to number of others allowed before - % forcing "et al". - { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added - { - numnames #1 - 'namesleft := - #2 'nameptr := - s #1 "{vv~}{ll}" format.name$ - { namesleft #0 > } - { nameptr numnames = - { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al\mbox{.}" * } % jrh: avoid spacing problems - { " and " * s nameptr "{vv~}{ll}" format.name$ * } - if$ - } - { ", " * s nameptr "{vv~}{ll}" format.name$ * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { "no key, author in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { "no key, editor in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {author.key.organization.label} -% -% added - gnp. Provide label formatting by organization if author is null. -% -{ author empty$ - { organization empty$ - { key empty$ - { "no key, author or organization in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { organization } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.organization.label} -% -% added - gnp. Provide label formatting by organization if editor is null. -% -{ editor empty$ - { organization empty$ - { key empty$ - { "no key, editor or organization in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { organization } - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { "no key, author, or editor in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {calc.label} -% -% Changed - GNP. See also author.organization.sort, editor.organization.sort -% Form label for BibTeX entry. The classification of which fields are used -% for which type of entry (book, inbook, etc.) are taken from alpha.bst. -% The change here from newapa is to also include organization as a -% citation label if author or editor is missing. -% -{ 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$ - author empty$ % generate the full label citation information. - { editor empty$ - { organization empty$ - { type$ "misc" = - { "" } - { "no author, editor, or organization in " cite$ * warning$ - "??" - } - if$ - } - { organization } - if$ - } - { editor my.full.label } - if$ - } - { author.key.label } - if$ - -% leave label on the stack, to be popped when required. - - "}{" * swap$ * "}{" * -% year field.or.null purify$ #-1 #4 substring$ * -% -% save the year for sort processing afterwards (adding a, b, c, etc.) -% - year field.or.null purify$ #-1 #4 substring$ - 'label.year := -} - -FUNCTION {calc.label.new} -% -% Changed - GNP. See also author.organization.sort, editor.organization.sort -% Form label for BibTeX entry. The classification of which fields are used -% for which type of entry (book, inbook, etc.) are taken from alpha.bst. -% The change here from newapa is to also include organization as a -% citation label if author or editor is missing. -% -{ 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$ - author empty$ % generate the full label citation information. - { editor empty$ - { organization empty$ - { type$ "misc" = - { "" } - { "no author, editor, or organization in " cite$ * warning$ - "??" - } - if$ - } - { organization } - if$ - } - { editor my.full.label } - if$ - } - { author my.full.label } - if$ - -% leave label on the stack, to be popped when required. - - "}{" * swap$ * "}{" * -% year field.or.null purify$ #-1 #4 substring$ * -% -% save the year for sort processing afterwards (adding a, b, c, etc.) -% - year field.or.null purify$ #-1 #4 substring$ - 'label.year := -} - -FUNCTION {output.bibitem} -{ newline$ - - "\bibitem[\protect\citeauthoryear{" write$ - calc.label.new write$ - sort.year write$ - "}]{" write$ - - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {article} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - crossref missing$ - { format.jour.vol output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors - "author and editor" output.check } - { format.authors - output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check % added - new.block - format.btitle - "title" output.check - crossref missing$ - { new.sentence % jtb: start a new sentence for series/volume - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address "address" output.check % jtb: require address - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - howpublished output - address output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors - "author and editor" output.check - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - output.year.check % added - new.block - format.btitle - "title" output.check - crossref missing$ - { new.sentence % jtb: start a new sentence for series/volume - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address "address" output.check % jtb: require address - format.chapter.pages - "chapter and pages" output.check % jtb: moved from before publisher - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle - "booktitle" output.check - new.sentence % jtb: start a new sentence for series/volume - format.bvolume output - format.number.series output - new.sentence - publisher "publisher" output.check - address "address" output.check % jtb: require address - format.chapter.pages output % gnp - was special.output.nonnull -% left out comma before page numbers - % jtb: moved from before publisher - } - { format.incoll.inproc.crossref - output.nonnull - format.chapter.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - crossref missing$ - { journal missing$ % jtb: proceedings appearing in journals - { format.in.emphasize.booktitle format.city "booktitle" output.check - format.editors.fml output - new.sentence % jtb: start a new sentence for series/volume - format.bvolume output - format.number.series output - new.sentence - organization output - publisher "publisher" output.check % jtb: require publisher (?) - address "address" output.check % jtb: require address - format.pages output % jtb: moved from before publisher - } - % jtb: new: - { format.in.booktitle format.city "booktitle" output.check - format.editors.fml output - new.sentence - format.jour.vol.mon output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { editor empty$ - { organization "organization" output.check - organization format.key output } % if all else fails, use key - { format.editors "author and editor" output.check } - if$ - } - { format.authors output.nonnull } - if$ - output.year.check % added - new.block - format.btitle - "title" output.check - organization address new.block.checkb - % jtb: back to normal style: organization, address - organization "organization" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - "M.S.\ thesis" format.thesis.type output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output % added - output.year.check % added - title howpublished new.block.checkb - format.title output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - format.thesis.type "Ph.D. thesis" output.nonnull - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization output - organization format.key output } % gnp - changed from author format.key - { format.editors output.nonnull } - if$ -% author format.key output % gnp - removed (should be either -% editor or organization - output.year.check % added (newapa) - new.block - format.btitle format.city "title" output.check % jtb: added city - new.sentence - format.bvolume output - format.number.series output - new.sentence - organization output - % jtb: normal order: publisher, address - publisher output - address output - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - format.tr.number output % jtb: moved month ... - institution "institution" output.check - address output - new.sentence - month output % jtb: ... to here (no parens) - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors - "author" output.check - author format.key output % added - output.year.check % added - new.block - format.title - "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} % jtb: corrected: was "March" - -MACRO {apr} {"Apr."} % jtb: corrected: was "April" - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -MACRO {acmcs} {"ACM Comput. Surv."} - -MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} - -MACRO {acta} {"Acta Inf."} - -MACRO {ai} {"Artificial Intelligence"} - -MACRO {al} {"Ada Lett."} - -MACRO {acr} {"Adv. Comput. Res."} - -MACRO {bit} {"Bit"} - -MACRO {cacm} {"Commun. ACM"} - -MACRO {cj} {"Comput. J."} - -MACRO {cn} {"Comput. Netw."} - -MACRO {cl} {"Comput. Lang."} - -MACRO {ibmjrd} {"IBM J. Res. and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ict} {"Inf. Contr."} - -MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} - -MACRO {ieees} {"IEEE Softw."} - -MACRO {ieeese} {"IEEE Trans. Softw. Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} - -MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {icp} {"Inf. Comput."} - -MACRO {ist} {"Inf. Softw. Tech."} - -MACRO {ijsa} {"Int. J. Supercomput. Appl."} - -MACRO {ijpp} {"Int. J. Parallel Program."} - -MACRO {jlp} {"J. Logic Program."} - -MACRO {jfp} {"J. Funct. Program."} - -MACRO {jcss} {"J. Comput. Syst. Sci."} - -MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} - -MACRO {jss} {"J. Syst. Softw."} - -MACRO {jlc} {"J. Logic and Comput."} - -MACRO {jlsc} {"J. Lisp Symb. Comput."} - -MACRO {lpls} {"Lett. Program. Lang. Syst."} - -MACRO {mor} {"Math. Oper. Res."} - -MACRO {mscs} {"Math. Struct. Comput. Sci."} - -MACRO {mst} {"Math. Syst. Theor."} % jtb: was Math. Syst. Theory - % jtb: (if you ask me, I prefer the old way) -MACRO {ngc} {"New Gen. Comput."} - -MACRO {scp} {"Sci. Comput. Program."} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {spe} {"Softw. Pract. Exper."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Graphics"} - -MACRO {toms} {"ACM Trans. Math. Softw."} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} - -MACRO {tocl} {"ACM Trans. On Comp. Logic"} - -MACRO {tcs} {"Theor. Comput. Sci."} % jtb: was Theor. Comp. Sci. - -MACRO {tr} {"Tech. Rep."} - -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 {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { " et~al" * } - { 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 {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { "missing author in " cite$ * warning$ - 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} -% -% added - GNP. Stack author or organization for sorting (from alpha.bst). -% Unlike alpha.bst, we need entire names, not abbreviations -% -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { organization sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.organization.sort} -% -% added - GNP. Stack editor or organization for sorting (from alpha.bst). -% Unlike alpha.bst, we need entire names, not abbreviations -% -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { organization sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} -% -% Presort creates the bibentry's label via a call to calc.label, and then -% sorts the entries based on entry type. Chicago.bst adds support for -% including organizations as the sort key; the following is stolen from -% alpha.bst. -% -{ calc.label sortify % recalculate bibitem label - year field.or.null purify$ #-1 #4 substring$ * % add year - " " - * - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } - if$ - } - if$ - #1 entry.max$ substring$ % added for newapa - 'sort.label := % added for newapa - sort.label % added for newapa - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT % by label, year, author/editor, title - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -FUNCTION {forward.pass} -% -% Pass through all entries, comparing current entry to last one. -% Need to concatenate year to the stack (done by calc.label) to determine -% if two entries are the same (see presort) -% -{ last.label - calc.label year field.or.null purify$ #-1 #4 substring$ * % add year - #1 entry.max$ substring$ = % are they equal? - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - calc.label year field.or.null purify$ #-1 #4 substring$ * % add year - #1 entry.max$ substring$ 'last.label := % assign to last.label - } - if$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - label.year extra.label * 'sort.year := - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT % by sort.label, year, title --- giving final bib. order. - -FUNCTION {begin.bib} - -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" 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/approximation.tex b/approximation.tex new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/approximation.tex @@ -0,0 +1 @@ + diff --git a/ec-acmsmall.cls b/ec-acmsmall.cls deleted file mode 100644 index d68e9ef..0000000 --- a/ec-acmsmall.cls +++ /dev/null @@ -1,3728 +0,0 @@ -%% acmsmall.cls - version 1.4 (with ACM Reference Format)
-%% Aptara Inc., dated 9 July 2012
-%% (c) 2011 Association for Computing Machinery (ACM)
-%% For small trim journals
-%%
-%% Based on ESUB2ACM.CLS V1.2 - November 10th. 1999
-%%
-%% If you face any problem while working with this class file or have any feedback/suggestion,
-%% please contact ACM Support helpline at: "acmtexsupport@aptaracorp.com".
-%% Users can also go through the FAQs available on the journal's submission webpage.
-%%
-%% Version 1.4 (History)
-%% ---------------------
-%% 1) All citation formats are also redefined after
-%% checking the loading condition of natbib.sty
-%% 2) Added an option called 'prodmode', which uses New Century School Book
-%% and Helvetica as base and second font respectively after
-%% feedback from Joanne (Dated 28/06/2010) to simulate print output.
-%% 3) Changed running head style (Joanne 02/07/2010)
-%% 4) Added three new transactions (Jono 14/07/2010)
-%% 5) Added four new transactions/journals (Joanne 04/11/2011)
-%% 6) Added newtheorem definition for 'conjecture'
-%% 7) Trimmed the 'double outputting' of the DOI/URL beneath ACM Reference Format (before 1. INTRODUCTION)
-%% and also beneath the Permission Statement/copyright line. Also inserted the "http://dx.doi.org" stem. (Gerry Murray, March 2012)
-%% 8) Changed the price charged/article information from $10.00 to $15.00 (Gerry 24/05/2012)
-%% 9) Added 'TEAC' - July 9th. 2012
-%%
-%% Steps to compile: latex, bibtex, latex latex
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% Bibliographic cite forms needed:
-%%
-%% \cite{key}
-%% which produces citations with author list and year.
-%% eg. [Brown 1978; Jarke, et al. 1985]
-%% \citeA{key}
-%% which produces citations with only the author list.
-%% eg. [Brown; Jarke, et al.]
-%% \citeN{key}
-%% which produces citations with the author list and year, but
-%% can be used as nouns in a sentence; no brackets appear around
-%% the author names, but only around the year.
-%% eg. Shneiderman [1978] states that......
-%% \citeN should only be used for a single citation.
-%% \citeNN{refkey1,refkey2} for author [ref1year; ref2year]
-%% \citeyear{key}
-%% which produces the year information only, within brackets.
-%%
-%% Abbreviated author lists use the ``et al.'' construct.
-%%
-%% The above are examples of required ACM bibliographic cite formats needed.
-%% *******************
-%% Here is the complete list of cite forms from the chicago bibliographic style
-%%
-%% \cite{key}
-%% which produces citations with abbreviated author list and year.
-%% \citeNP{key}
-%% which produces citations with abbreviated author list and year.
-%% \citeA{key}
-%% which produces only the abbreviated author list.
-%% \citeANP{key}
-%% which produces only the abbreviated author list.
-%% \citeN{key}
-%% which produces the abbreviated author list and year, with only the
-%% year in parentheses. Use with only one citation.
-%% \citeyear{key}
-%% which produces the year information only, within parentheses.
-%% \citeyearNP{key}
-%% which produces the year information only.
-%%
-%% Abbreviated author lists use the ``et al.'' construct.
-%%
-%% `NP' means `no parentheses'
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{ec-acmsmall}[2012/03/05, fonts included on 28 June 2010]
-
-\def\fileversion{v1.4}
-\def\filedate{July 09, 2012}
-
-% Metadata Information
-\def\@acmVolume{V} %the volume
-\def\@acmNumber{N} %the number
-\def\@acmArticle{A} %article number
-\def\@articleSeq{1} %article Sequence
-\def\@acmPrice{15.00} %article price % Changed to 15 - June 2012 - Gerry
-\def\@acmYear{YYYY} %the last two digits of the year,
-\def\@acmMonth{1} %the month
-\def\@journalName{ACM Journal Name} %the name of the ACM journal
-\def\@journalNameShort{ACM} %the acronym of the ACM journal
-\def\@journalCode{jn} %the code of the ACM journal
-\def\@permissionCodeOne{0000-0000} %the permission code of the ACM journal
-\def\@doi{0000000.0000000} % These 'default' '0' values are over-ridden, during production, with 'correct' numbers entered via source .tex file - Gerry March 2012
-
-% ----------------
-% Gerry - April 2011 - To assist in the formatting of the NEW ACM Reference format - 'DOI' in tt font, and url string in default
-\usepackage{url}
-\def\UrlFont{}
-\newcommand{\BIBand}{\&}
-\def\showDOI#1{\mbox{{\tt DOI:}{#1}}} % Gerry April 2011 - forces the DOI: to 'stay' with the 'url-(string)link' (no need for space at end either)
-% ----------------
-
-\if@compatibility\else
-\DeclareOption{letterpaper}
- {\setlength\paperheight {11in}%
- \setlength\paperwidth {8.5in}%
- \setlength\voffset {-38.2pt}%
- \setlength\hoffset {-8.25pt}%
- \def\special@paper{8.5in,11in}
- % Needed to set PDF page size
- \special{papersize=8.5in,11in}}
-\DeclareOption{landscape}
- {\setlength\@tempdima {\paperheight}%
- \setlength\paperheight {\paperwidth}%
- \setlength\paperwidth {\@tempdima}}
-\fi
-
-\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
-\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
-
-\DeclareOption{final}{\setlength\overfullrule{0pt}}
-
-\DeclareOption{10pt}{\def\@ptsize{0}} %needed for amssymbols.sty
-\DeclareOption{11pt}{\ClassError{acmsmall}{11pt style not supported}
- {ACM transactions/journals documents can be set in 10pt only}}
-\DeclareOption{12pt}{\ClassError{acmtrans}{12pt style not supported}
- {ACM transactions/journals documents can be set in 10pt only}}
-
-\newif\ifprod@mode\prod@modefalse
-\DeclareOption{prodmode}{\global\prod@modetrue
-\typeout{ACM, Production Font style: 2010/06/28 by Aptara}}
-
-\newif\if@acmec -\newif\if@acmjacm
-\newif\if@acmtissec
-\newif\if@acmtocl
-\newif\if@acmtocs
-\newif\if@acmtochi
-\newif\if@acmtodaes
-\newif\if@acmtods
-\newif\if@acmtois
-\newif\if@acmtomacs
-\newif\if@acmtoms
-\newif\if@acmtoplas
-\newif\if@acmtosem
-\newif\if@acmtoit
-\newif\if@acmtecs
-\newif\if@acmtalip
-\newif\if@acmjeric
-\newif\if@acmtaco
-\newif\if@acmjea
-\newif\if@acmtslp
-\newif\if@acmcie
-\newif\if@acmtos
-\newif\if@acmcsur
-\newif\if@acmjetc
-\newif\if@acmtosn
-\newif\if@acmtalg
-\newif\if@acmtaas
-\newif\if@acmtweb
-\newif\if@acmtkdd
-\newif\if@acmtrets
-\newif\if@acmtmis
-\newif\if@acmtiis
-\newif\if@acmtist
-\newif\if@acmtoct
-\newif\if@acmjdiq
-\newif\if@acmtaccess
-\newif\if@acmtoce
-\newif\if@acmteac
-
- - - -% ACM EC Option -\DeclareOption{acmec}{ - \typeout{} - \typeout{Using ACM EC option: 2013/01/05 by David Parkes} - \typeout{} - \global\@acmectrue - \global\@acmjacmfalse - \global\@acmtissecfalse - \global\@acmtoclfalse - \global\@acmtocsfalse - \global\@acmtochifalse - \global\@acmtodaesfalse - \global\@acmtodsfalse - \global\@acmtoisfalse - \global\@acmtomacsfalse - \global\@acmtomsfalse - \global\@acmtoplasfalse - \global\@acmtosemfalse - \global\@acmtoitfalse - \global\@acmtecsfalse - \global\@acmtalipfalse - \global\@acmjericfalse - \global\@acmtacofalse - \global\@acmjeafalse - \global\@acmtslpfalse - \global\@acmciefalse - \global\@acmtosfalse - \global\@acmcsurfalse - \global\@acmjetcfalse - \global\@acmtosnfalse - \global\@acmtalgfalse - \global\@acmtaasfalse - \global\@acmtwebfalse - \global\@acmtkddfalse - \global\@acmtretsfalse - \global\@acmtmisfalse - \global\@acmtiisfalse - \global\@acmtistfalse - \global\@acmtoctfalse - \global\@acmjdiqfalse - \global\@acmtaccessfalse - \global\@acmtocefalse -\def\@journalName{{\em EC'13}, June 16--20, 2013, Philadelphia, PA} -} - - -% Journal Options
-\DeclareOption{acmjacm}{
- \typeout{}
- \typeout{Using ACM, JACM's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmtrue
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{Journal of the ACM}
- \def\@journalNameShort{J. ACM}
- \def\@journalCode{jacm}
- \def\@permissionCodeOne{0004-5411}
-}
-
-\DeclareOption{acmtissec}{
- \typeout{}
- \typeout{Using ACM, TISSEC's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissectrue
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Information and System Security}
- \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}
- \def\@journalCode{tissec}
- \def\@permissionCodeOne{1094-9224}
-}
-
-\DeclareOption{acmtocl}{
- \typeout{}
- \typeout{Using ACM, TOCL's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtocltrue
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Computational Logic}
- \def\@journalNameShort{ACM Trans. Comput. Logic}
- \def\@journalCode{tocl}
- \def\@permissionCodeOne{1529-3785}
-}
-
-\DeclareOption{acmtocs}{
- \typeout{}
- \typeout{Using ACM, TOCS's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocstrue
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Computer Systems}
- \def\@journalNameShort{ACM Trans. Comput. Syst.}
- \def\@journalCode{tocs}
- \def\@permissionCodeOne{0734-2071}
-}
-
-\DeclareOption{acmtochi}{
- \typeout{}
- \typeout{Using ACM, TOCHI's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochitrue
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Computer-Human Interaction}
- \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}
- \def\@journalCode{tochi}
- \def\@permissionCodeOne{1073-0516}
-}
-
-\DeclareOption{acmtodaes}{
- \typeout{}
- \typeout{Using ACM, TODAES option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaestrue
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}
- \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}
- \def\@journalCode{todaes}
- \def\@permissionCodeOne{1084-4309}
-}
-
-\DeclareOption{acmtods}{
- \typeout{}
- \typeout{Using ACM, TODS's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodstrue
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Database Systems}
- \def\@journalNameShort{ACM Trans. Datab. Syst.}
- \def\@journalCode{tods}
- \def\@permissionCodeOne{0362-5915}
-}
-
-\DeclareOption{acmtois}{
- \typeout{}
- \typeout{Using ACM, TOIS's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoistrue
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Information Systems}
- \def\@journalNameShort{ACM Trans. Inf. Syst.}
- \def\@journalCode{tois}
- \def\@permissionCodeOne{1046-8188}
-}
-
-\DeclareOption{acmtomacs}{
- \typeout{}
- \typeout{Using ACM, TOMACS's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacstrue
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Modeling and Computer Simulation}
- \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}
- \def\@journalCode{tomacs}
- \def\@permissionCodeOne{1049-3301}
-}
-
-\DeclareOption{acmtoms}{
- \typeout{}
- \typeout{Using ACM, TOMS's option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomstrue
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Mathematical Software}
- \def\@journalNameShort{ACM Trans. Math. Softw.}
- \def\@journalCode{toms}
- \def\@permissionCodeOne{0098-3500}
-}
-
-\DeclareOption{acmtoplas}{
- \typeout{}
- \typeout{Using ACM, TOPLAS option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplastrue
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Programming Languages and Systems}
- \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}
- \def\@journalCode{toplas}
- \def\@permissionCodeOne{0164-0925}
-}
-
-\DeclareOption{acmtosem}{
- \typeout{}
- \typeout{Using ACM, TOSEM option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemtrue
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Software Engineering and Methodology}
- \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}
- \def\@journalCode{tosem}
- \def\@permissionCodeOne{1049-331X}
-}
-
-\DeclareOption{acmtoit}{
- \typeout{}
- \typeout{Using ACM, TOIT option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoittrue
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Internet Technology}
- \def\@journalNameShort{ACM Trans. Internet Technol.}
- \def\@journalCode{toit}
- \def\@permissionCodeOne{1533-5399}
-}
-
-\DeclareOption{acmtecs}{
- \typeout{}
- \typeout{Using ACM, TECS option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecstrue
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Embedded Computing Systems}
- \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}
- \def\@journalCode{tecs}
- \def\@permissionCodeOne{1539-9087}
-}
-
-\DeclareOption{acmtalip}{
- \typeout{}
- \typeout{Using ACM, TALIP option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtaliptrue
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Asian Language Information Processing}
- \def\@journalNameShort{ACM Trans. Asian Lang. Inform. Process.}
- \def\@journalCode{talip}
- \def\@permissionCodeOne{1530-0226}
-}
-
-\DeclareOption{acmjeric}{
- \typeout{}
- \typeout{Using ACM, JERIC option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjerictrue
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Journal of Educational Resources in Computing}
- \def\@journalNameShort{ACM J. Edu. Resources in Comput.}
- \def\@journalCode{jeric}
- \def\@permissionCodeOne{1073-0516}
-}
-
-\DeclareOption{acmtaco}{
- \typeout{}
- \typeout{Using ACM, TACO option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacotrue
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Architecture and Code Optimization}
- \def\@journalNameShort{ACM Trans. Architec. Code Optim.}
- \def\@journalCode{taco}
- \def\@permissionCodeOne{1544-3566}
-}
-
-\DeclareOption{acmjea}{
- \typeout{}
- \typeout{Using ACM, JEA option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeatrue
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Journal of Experimental Algorithmics}
- \def\@journalNameShort{ACM J. Exp. Algor.}
- \def\@journalCode{jea}
- \def\@permissionCodeOne{1084-6654}
-}
-
-\DeclareOption{acmtslp}{
- \typeout{}
- \typeout{Using ACM, TSLP option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslptrue
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Speech and Language Processing}
- \def\@journalNameShort{ACM Trans. Speech Lang. Process.}
- \def\@journalCode{tslp}
- \def\@permissionCodeOne{1550-4875}
-}
-
-\DeclareOption{acmcie}{
- \typeout{}
- \typeout{Using ACM, CIE option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmcietrue
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Computers in Entertainment}
- \def\@journalNameShort{ACM Comput. Entertain.}
- \def\@journalCode{cie}
- \def\@permissionCodeOne{1544-3574}
-}
-
-\DeclareOption{acmtos}{
- \typeout{}
- \typeout{Using ACM, TOS option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtostrue
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Storage}
- \def\@journalNameShort{ACM Trans. Storage}
- \def\@journalCode{tos}
- \def\@permissionCodeOne{1553-3077}
-}
-
-\DeclareOption{acmcsur}{
- \typeout{}
- \typeout{Using ACM, CSUR option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurtrue
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Computing Surveys}
- \def\@journalNameShort{ACM Comput. Surv.}
- \def\@journalCode{csur}
- \def\@permissionCodeOne{0360-0300}
-}
-
-\DeclareOption{acmjetc}{
- \typeout{}
- \typeout{Using ACM, JETC option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetctrue
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}
- \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}
- \def\@journalCode{jetc}
- \def\@permissionCodeOne{1550-4832}
-}
-
-\DeclareOption{acmtosn}{
- \typeout{}
- \typeout{Using ACM, TOSN option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosntrue
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Sensor Networks}
- \def\@journalNameShort{ACM Trans. Sensor Netw.}
- \def\@journalCode{tosn}
- \def\@permissionCodeOne{1550-4859}
-}
-
-\DeclareOption{acmtalg}{
- \typeout{}
- \typeout{Using ACM, TALG option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgtrue
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Algorithms}
- \def\@journalNameShort{ACM Trans. Algor.}
- \def\@journalCode{talg}
- \def\@permissionCodeOne{1549-6325}
-}
-
-\DeclareOption{acmtaas}{
- \typeout{}
- \typeout{Using ACM, TAAS option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaastrue
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}
- \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}
- \def\@journalCode{taas}
- \def\@permissionCodeOne{1556-4665}
-}
-
-\DeclareOption{acmtweb}{
- \typeout{}
- \typeout{Using ACM, TWEB option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebtrue
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on the Web}
- \def\@journalNameShort{ACM Trans. Web}
- \def\@journalCode{tweb}
- \def\@permissionCodeOne{1559-1131}
-}
-
-\DeclareOption{acmtkdd}{
- \typeout{}
- \typeout{Using ACM, TKDD option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddtrue
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Knowledge Discovery from Data}
- \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}
- \def\@journalCode{tkdd}
- \def\@permissionCodeOne{1556-4681}
-}
-
-\DeclareOption{acmtrets}{
- \typeout{}
- \typeout{Using ACM, TRETS option: 2010/05/04 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretstrue
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}
- \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}
- \def\@journalCode{trets}
- \def\@permissionCodeOne{1936-7406}
-}
-
-\DeclareOption{acmtmis}{
- \typeout{}
- \typeout{Using ACM, TMIS option: 2010/07/14 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmistrue
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Management Information Systems}
- \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}
- \def\@journalCode{tmis}
- \def\@permissionCodeOne{2158-656X}
-}
-
-\DeclareOption{acmtiis}{
- \typeout{}
- \typeout{Using ACM, TIIS option: 2010/07/14 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiistrue
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Interactive Intelligent Systems}
- \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}
- \def\@journalCode{tiis}
- \def\@permissionCodeOne{2160-6455}
-}
-
-\DeclareOption{acmtist}{
- \typeout{}
- \typeout{Using ACM, TIST option: 2010/07/14 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtisttrue
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Intelligent Systems and Technology}
- \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}
- \def\@journalCode{tist}
- \def\@permissionCodeOne{2157-6904}
-}
-
-\DeclareOption{acmtoct}{
- \typeout{}
- \typeout{Using ACM, TOCT option: 2011/10/31 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtocttrue
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Computation Theory}
- \def\@journalNameShort{ACM Trans. Comput. Theory}
- \def\@journalCode{toct}
- \def\@permissionCodeOne{1942-3454}
-}
-
-\DeclareOption{acmjdiq}{
- \typeout{}
- \typeout{Using ACM, JDIQ option: 2011/10/31 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqtrue
- \global\@acmtaccessfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Journal of Data and Information quality}
- \def\@journalNameShort{ACM J. Data Inform. Quality}
- \def\@journalCode{jdiq}
- \def\@permissionCodeOne{1936-1955}
-}
-
-\DeclareOption{acmtaccess}{
- \typeout{}
- \typeout{Using ACM, TACCESS option: 2011/10/31 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccesstrue
- \global\@acmtalipfalse
- \global\@acmtiisfalse
- \global\@acmtocefalse
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Accessible Computing}
- \def\@journalNameShort{ACM Trans. Access. Comput.}
- \def\@journalCode{taccess}
- \def\@permissionCodeOne{1936-7228}
-}
-
-\DeclareOption{acmtoce}{
- \typeout{}
- \typeout{Using ACM, TOCE option: 2011/10/31 by Aptara}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtalipfalse
- \global\@acmtiisfalse
- \global\@acmtocetrue
- \global\@acmteacfalse
- \def\@journalName{ACM Transactions on Computing Education}
- \def\@journalNameShort{ACM Trans. Comput. Educ.}
- \def\@journalCode{toce}
- \def\@permissionCodeOne{1946-6226}
-}
-
-\DeclareOption{acmteac}{
- \typeout{}
- \typeout{Using ACM, TEAC option: 2012/07/04 by Orna Agmon Ben-Yehuda}
- \typeout{}
- \global\@acmjacmfalse
- \global\@acmtissecfalse
- \global\@acmtoclfalse
- \global\@acmtocsfalse
- \global\@acmtochifalse
- \global\@acmtodaesfalse
- \global\@acmtodsfalse
- \global\@acmtoisfalse
- \global\@acmtomacsfalse
- \global\@acmtomsfalse
- \global\@acmtoplasfalse
- \global\@acmtosemfalse
- \global\@acmtoitfalse
- \global\@acmtecsfalse
- \global\@acmtalipfalse
- \global\@acmjericfalse
- \global\@acmtacofalse
- \global\@acmjeafalse
- \global\@acmtslpfalse
- \global\@acmciefalse
- \global\@acmtosfalse
- \global\@acmcsurfalse
- \global\@acmjetcfalse
- \global\@acmtosnfalse
- \global\@acmtalgfalse
- \global\@acmtaasfalse
- \global\@acmtwebfalse
- \global\@acmtkddfalse
- \global\@acmtretsfalse
- \global\@acmtmisfalse
- \global\@acmtiisfalse
- \global\@acmtistfalse
- \global\@acmtoctfalse
- \global\@acmjdiqfalse
- \global\@acmtaccessfalse
- \global\@acmtalipfalse
- \global\@acmtiisfalse
- \global\@acmtocefalse
- \global\@acmteactrue
- \def\@journalName{ACM Transactions on Economics and Computation}
- \def\@journalNameShort{ACM Trans. Econ. Comp.}
- \def\@journalCode{teac}
- \def\@permissionCodeOne{1946-6227}
-}
-
-\ExecuteOptions{twoside,final,10pt,letterpaper}
-\ProcessOptions
-
-% Including fonts for Production Mode
-\ifprod@mode
-% New Century Schoolbook as base font
-\renewcommand\rmdefault{pnc}
-% Helvetica as second font
-\renewcommand\sfdefault{phv}
-\fi
-
-% Packages required
-\RequirePackage{latexsym}
-\RequirePackage{color}
-\usepackage{graphicx}
-
-
-\typeout{Document Class `acmsmall' Electronic Submissions
-\fileversion\space <\filedate> (ACM).}
-
-\def\acmVolume#1{\def\@acmVolume{#1}}
-\def\acmNumber#1{\def\@acmNumber{#1}}
-\def\acmArticle#1{\def\@acmArticle{#1}}
-\def\articleSeq#1{\def\@articleSeq{#1}}
-\def\acmPrice#1{\def\@acmPrice{#1}}
-\def\acmYear#1{\def\@acmYear{#1}}
-\def\acmMonth#1{\def\@acmMonth{#1}}
-\def\doi#1{\def\@doi{#1}}
-
-
-%To transform the month number in its name in English
-\newcommand{\monthWord}[1]{\ifcase#1\or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\else Month\fi}
-
-\newcommand{\monthInf}[1]{\ifcase#1\or
- 01\or 02\or 03\or 04\or 05\or 06\or
- 07\or 08\or 09\or 10\or 11\or 12\else 00\fi}
-
-% First and Last page
-\newcount\@firstpg
-\newcount\@lastpg
-\def\lastpage#1{\global\advance\@lastpg#1\relax}
-\AtEndDocument{\ifelec@app\else\immediate\write\@mainaux{\string\lastpage{\the\c@page}}\fi}
-
-\newdimen\trimheight
-\newdimen\trimwidth
-\newdimen\normaltextheight
-\newdimen\tempdimen
-\newbox\tempbox
-\newbox\tbbox
-\newdimen\tabledim
-
-% Extra symbol
-\DeclareSymbolFont{newlargesymbols}{OMX}{cmex}{m}{n}
-\DeclareMathSymbol{\bigsqcup}{\mathop}{newlargesymbols}{"46}
-
-% Bold Math
-\def\boldmath{\mathversion{bold}}
-\def\bm#1{\mathchoice
- {\mbox{\boldmath$\displaystyle#1$}}%
- {\mbox{\boldmath$#1$}}%
- {\mbox{\boldmath$\scriptstyle#1$}}%
- {\mbox{\boldmath$\scriptscriptstyle#1$}}}
-
-% Font information
-\lineskip1\p@
-\normallineskip1\p@
-\def\baselinestretch{1}
-\def\@ptsize{0} % needed for amssymbols.sty
-
-\@maxdepth\maxdepth
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}}
-\newcommand{\mit}{\protect\pmit}
-\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}}
-\def\cal{\mathcal}
-
-\renewcommand{\@ptsize}{}
-\renewcommand{\normalsize}{%
- \@setfontsize\normalsize\@xpt{11\p@}%
- \abovedisplayskip .5\baselineskip \@plus2\p@ \@minus\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip 6\p@ \@minus 3\p@
- \belowdisplayshortskip 6\p@ \@minus 3\p@
- \let\@listi\@listI
-}
-\newcommand{\small}{%
- \@setfontsize\small\@ixpt{10\p@}%
- \abovedisplayskip 5\p@ \@plus 2\p@ \@minus \p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip 5\p@ \@minus 2\p@
- \belowdisplayshortskip 5\p@ \@minus 2\p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 5\p@ \@plus 2\p@ \@minus .2\p@
- \parsep \z@ \@plus .7\p@
- \itemsep 1.6\p@ \@plus .8\p@}%
-}%
-
-\newcommand{\footnotesize}{%
- \@setfontsize\footnotesize\@viiipt{9\p@}%
- \abovedisplayskip 4\p@ \@plus \p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip 4\p@ \@minus \p@
- \belowdisplayshortskip 4\p@ \@minus \p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 4\p@ \@plus \p@
- \parsep \z@ \@plus .5\p@
- \itemsep \p@ \@plus .7\p@}
-}%
-\normalsize
-
-\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
-\newcommand\large{\@setfontsize\large\@xiipt{14}}
-\newcommand\Large{\@setfontsize\Large\@xivpt{18}}
-\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
-\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
-
-\def\rhfont{\fontfamily{\sfdefault}\fontsize{9}{10}\selectfont}
-\def\rfootfont{\fontsize{7}{8}\selectfont}
-\def\foliofont{\fontfamily{\sfdefault}\fontsize{9}{10}\selectfont}
-
-\def\sectionfont{\fontfamily{\sfdefault}\fontsize{9}{11}\selectfont\bfseries\raggedright}
-\def\refsectionfont{\fontfamily{\sfdefault}\fontsize{9}{11}\selectfont\bfseries}
-\def\subsectionfont{\fontfamily{\sfdefault}\fontsize{9}{11}\selectfont\bfseries\raggedright}
-\def\subsubsectionfont{\fontfamily{\sfdefault}\fontsize{9}{11}\selectfont\itshape\raggedright}
-\def\paragraphfont{\fontsize{10}{11}\selectfont\itshape}
-
-\def\figcaptionfont{\fontsize{8}{9}\selectfont}%
-\def\figcaptionnumfont{\fontfamily{\sfdefault}\fontsize{8}{9}\selectfont}%
-\def\subcaptionfont{\fontsize{8}{10}\selectfont}%
-\def\subcaption#1{{\centering\subcaptionfont#1\par}}
-
-\def\tablefont{\fontsize{8}{9}\selectfont}%
-\def\intexttablefont{\fontsize{8}{9}\selectfont\centering}%
-\def\tablecaptionfont{\fontfamily{\sfdefault}\fontsize{8}{9}\selectfont}%
-\def\tablenumfont{\fontfamily{\sfdefault}\fontsize{8}{9}\selectfont}%
-\def\tabnotefont{\fontsize{8}{9}\selectfont}
-\def\ackfont{\fontsize{8}{10}\selectfont}
-
-\setlength\trimheight {10in}
-\setlength\trimwidth {6.75in}
-
-\textheight 48pc
-\advance\textheight-7.3pt
-\setlength\normaltextheight{\textheight}
-
-\textwidth 33pc
-\oddsidemargin .625in
-\evensidemargin\trimwidth
-\advance\evensidemargin-\oddsidemargin
-\advance\evensidemargin-\textwidth
-
-\marginparwidth .5in
-\marginparsep .125in
-\topmargin 36pt
-\headheight 6.5\p@
-\topskip6.2pt
-\headsep 17.5pt
-\parindent10\p@
-\newdimen\normalparindent
-\normalparindent\parindent
-
-\newlength{\footheight}%
-\footheight 10\p@
-\footskip 28\p@
-
-\columnsep 12\p@
-\columnseprule 0\p@
-
-\footnotesep 7\p@
-\skip\footins 15\p@ plus 4\p@ minus 3\p@
-\floatsep 1\baselineskip plus 2\p@ minus 2\p@
-\textfloatsep \floatsep
-\intextsep 1pc plus 1pc
-
-\newlength{\@maxsep}%
-\@maxsep 1pc
-
-\dblfloatsep 1\baselineskip plus 2\p@ minus 2\p@
-\dbltextfloatsep 20\p@ plus 2\p@ minus 4\p@
-
-\newlength{\@dblmaxsep}%
-\@dblmaxsep 20\p@
-
-\@fptop 0\p@ plus 1fil
-\@fpsep 1pc plus 2fil
-\@fpbot 0\p@ plus 1fil
-\@dblfptop 0\p@ plus 1fil
-\@dblfpsep 8\p@ plus 2fil
-\@dblfpbot 0\p@ plus 1fil
-
-\marginparpush 6\p@
-
-\parskip0\p@
-\partopsep 0\p@
-\@lowpenalty 51
-\@medpenalty 151
-\@highpenalty 301
-
-\@beginparpenalty -\@lowpenalty
-\@endparpenalty -\@lowpenalty
-\@itempenalty -\@lowpenalty
-
-\setcounter{topnumber}{3}
-\def\topfraction{.99}
-\setcounter{bottomnumber}{1}
-\def\bottomfraction{.5}
-\setcounter{totalnumber}{3}
-\def\textfraction{.01}
-\def\floatpagefraction{.85}
-\setcounter{dbltopnumber}{2}
-\def\dbltopfraction{.7}
-\def\dblfloatpagefraction{.5}
-
-% Copyright Information
-\def\cpyright#1{\gdef\@cpyright{#1}}
-\cpyright{ACM\ \@permissionCodeOne/\@acmYear/\monthInf{\@acmMonth}-ART\@acmArticle}
-
-% Calculating total pages
-\newcount\@totalpg
-\def\acmPages#1{\def\@acmPages{#1}}
-\acmPages{\@totalpg\@lastpg\global\advance\@totalpg-\@firstpg\global\advance\@totalpg\@ne\ifnum\the\@totalpg<\z@0\else\the\@totalpg\fi\ pages}
-
-% Reference Format
-\gdef\formatline{{\em{\@journalNameShort\ }}\@acmVolume, \@acmNumber, Article~\@acmArticle\ (\monthWord{\@acmMonth}\ \@acmYear), \@acmPages.\\ % Need Journal Name in italics - in 'ACM Reference Format' before 1. INTRODUCTION - Gerry - March 2012
-{\tt DOI:}http://dx.doi.org/10.1145/\@doi} % Gerry March 2012 - on first page in 'ACM Reference Format'
-\gdef\copyrightline{\copyright\ \@acmYear\ \@cpyright\ \$\@acmPrice}
-\gdef\doiline{{\tt DOI:}http://dx.doi.org/10.1145/\@doi} % Gerry - March 2012 - beneath copyright line
-
-% Page Style
-\mark{{}{}}
-
-\def\ps@headings{%
- \let\@mkboth\@gobbletwo
- \def\@oddhead{{\rhfont\rightmark}\hfill{\foliofont \@acmArticle:\thepage}}%
- \def\@evenhead{{\foliofont \@acmArticle:\thepage}\hfill{\rhfont\leftmark}}%
- \def\@evenfoot{\null\hfill{\rfootfont\@runningfoot}}
- \def\@oddfoot{{\rfootfont\@runningfoot} \hfill\null}%
- \let\partmark\@gobble
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
-}
-
-\def\ps@appheadings{%
- \let\@mkboth\@gobbletwo
- \def\@oddhead{{\rhfont\rightmark}\hfill{\foliofont \thepage}}%
- \def\@evenhead{{\foliofont \thepage}\hfill{\rhfont\leftmark}}%
- \def\@evenfoot{\null\hfill{\rfootfont\@runningfoot}}
- \def\@oddfoot{{\rfootfont\@runningfoot} \hfill\null}%
- \let\partmark\@gobble
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
-}
-
-\def\@runningfoot{}
-\def\runningfoot#1{\gdef\@runningfoot{#1}}
-
-\if@acmtodaes
- \def\pubphrase{Pub. date}
-\else
-\if@acmtosem
- \def\pubphrase{Pub. date}
-\else
-\if@acmjetc
- \def\pubphrase{Pub. date}
-\else
-\if@acmtiis
- \def\pubphrase{Pub. date}
-\else
- \def\pubphrase{Publication date}
-\fi\fi\fi\fi
-
-\runningfoot{\@journalName, Vol.~\@acmVolume, No.~\@acmNumber, Article~\@acmArticle,\ \pubphrase:\ \monthWord{\@acmMonth}\ \@acmYear.}
-
-\def\@firstfoot{}
-\gdef\firstfoot{\@journalName, Vol.~\@acmVolume,\ No.~\@acmNumber,\ Article\ \@acmArticle,\ \pubphrase:\ \monthWord{\@acmMonth}\ \@acmYear.}
-
-\def\ps@titlepage{%
- \let\@mkboth\@gobbletwo
- \let\@oddhead\@empty
- \def\@oddfoot{\null\hfill\fontsize{7}{8}\selectfont\firstfoot}
- \let\@evenhead\@empty
- \def\@evenfoot{\fontsize{7}{8}\selectfont\firstfoot\hfill\null}%
-}
-
-\def\titlepage{%
- \@restonecolfalse
- \if@twocolumn
- \@restonecoltrue
- \onecolumn
- \else
- \newpage
- \fi
- \thispagestyle{empty}%
- \c@page\z@
-}
-
-\def\endtitlepage{%
- \if@restonecol
- \twocolumn
- \else
- \newpage
- \fi
-}
-
-% Author and Affiliation
-\def\author#1{\gdef\@author{#1}}%
-\def\and{{\upshape and }}
-\def\affil#1{\gdef\@affil{#1}\ifx\@affil\@empty\else{\reset@font\affilfont\unskip,\ #1\vphantom{gy}\endgraf}\fi}\affil{}
-
-\def\titlefont{\fontfamily{\sfdefault}\fontsize{12}{12}\selectfont\bfseries}
-\def\authorfont{\fontfamily{\sfdefault}\fontsize{10}{11}\rightskip0pt plus1fill\selectfont}
-\def\affilfont{\fontfamily{\rmdefault}\fontsize{8}{11}\rightskip0pt plus1fill\selectfont}
-\def\abstractfont{\fontsize{8}{10}\selectfont}
-
-% Article Title page
-\def\maketitle{%
- \newpage
- \thispagestyle{titlepage}%
- \global\@topnum\z@
- \begingroup
- \lineskip \z@
- \null
- \vskip -15.4\p@\relax
- \parindent\z@
- \begingroup
- \raggedright
- \hyphenpenalty\@M
- {\titlefont\@title\par}
- \global\@firstpg\the\c@page
- \endgroup
- \vskip 12\p@
- \begingroup
-
- {\addtolength{\baselineskip}{2\p@}%
- {\authorfont\@author\par}
- \vskip7pt
- \ifx \@sponsors\@empty
- \else
- \hbox{\vrule height .2\p@ width \textwidth}
- \@sponsors \par
- \fi
- }
-\endgroup
- \par\vskip 22\p@\box\@abstract
- \par%
- \ifx\@categories\@empty
- \else
- \abstractfont
- \vskip 4\p@\relax
- \def\and{\unskip{\rm;} }%
- \noindent Categories and Subject Descriptors: \@categories\par
- \fi
- \ifx\@terms\@empty\else
- \abstractfont
- \vskip 4\p@
- \noindent General Terms: \ignorespaces
- \@terms
- \par
- \fi
- \ifx\@keywords\@empty\else
- \abstractfont
- \vskip 4\p@
- \noindent Additional Key Words and Phrases: \ignorespaces
- \@keywords
- \par
- \fi
- \ifx\@acmformat\@empty\else
- \abstractfont
- \vskip 4\p@
- \noindent {\bf ACM Reference Format:}\\
- \@acmformat\vskip 0.5\p@
- \par
- \fi
- \par
- \endgroup
- \let\maketitle\relax
- \global\let\@sponsors\@empty
- \global\let\@categories\@empty
- \global\let\@terms\@empty
- \global\let\@keywords\@empty
- }
-
-% Sponsor
-\def\sponsor#1{\@ifnextchar
- [{\@sponsor{#1}}{\@xsponsor{#1}}}
-\def\@sponsor#1[#2]{\edef\@tempa{\ifx \@sponsors\@empty
- \else ; \fi}{\def\protect{\noexpand\protect
- \noexpand}\def\and{\noexpand\and}\xdef\@sponsors{\@sponsors\@tempa #1 }}}
-\def\@xsponsor#1{\edef\@tempa{\ifx \@sponsors\@empty \else ;
-\fi}{\def\protect{\noexpand\protect\noexpand}\def\and{\noexpand
- \and}\xdef\@sponsors{\@sponsors\@tempa #1}}}
-\def\@sponsors{}
-
-% Abstract
-\newbox\@abstract
-\def\abstract{
-\global\setbox\@abstract=\vbox\bgroup\everypar{}%
-\abstractfont\noindent\ignorespaces}
-\def\endabstract{\egroup}
-
-% Terms
-\def\terms#1{\gdef\@terms{#1}}
-\let\@terms\@empty
-
-% Keywords
-\def\keywords#1{\gdef\@keywords{#1}}
-\let\@keywords\@empty
-
-% Reference Format
-\def\acmformat#1{\gdef\@acmformat{#1 \formatline\vphantom{y}}}
-\let\@acmformat\@empty
-
-% Category
-\def\category#1#2#3{%
- \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}}
-\def\@category#1#2#3[#4]{%
- \edef\@tempa{\ifx \@categories\@empty \else ; \fi}%
- \begingroup
- \def\protect{\noexpand\protect\noexpand}%
- \let\and\relax
- \xdef\@categories{%
- \@categories
- \@tempa
- #1 [{\bf #2}]%
- \if!#4!%
- \if!#3!\else : #3\fi
- \else
- :\space
- \if!#3!\else #3\kern\z@---\hskip\z@\fi
- {\it #4}%
- \fi
- }%
- \endgroup
-}
-
-% Permission Information
-\newbox\@permissionbox
-\newenvironment{permission}{%
- \footnotesize
- \global\setbox\@permissionbox\vbox\bgroup\par\addvspace{3.1pt}\noindent\ignorespaces
- }{%
- \par\egroup}
-%
-\let\@categories\@empty
-\def\bottomstuff{%
- \global\@topnum\z@
- \global\@botroom \textheight
- \@float{figure}[b]
- \footnotesize
- \parindent\z@
- \null
- \vskip -\textfloatsep
- \vskip 6\p@ plus2pt minus2pt
- \hrule \@height .5\p@ \@width \textwidth
- \vskip 6\p@ %7.5
- \ignorespaces
-}
-\def\endbottomstuff{\par%
-Permission to make digital or hard copies of part or all of this work
-for personal or classroom use is
-granted without fee provided that copies are not made or distributed for profit or commercial
-advantage and that copies show this notice on the first page or initial screen of a display
-along with the full citation. Copyrights for components of this work owned by others than ACM
-must be honored. Abstracting with credit is permitted. To copy otherwise, to republish,
-to post on servers, to redistribute to lists, or to use any component of this work in other
-works requires prior specific permission and\hspace*{.5pt}/or a fee.
-Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701,
-New York, NY 10121-0701 USA, fax $+$1 (212) 869-0481,
-or permissions@acm.org.\par\box\@permissionbox
-\copyrightline\par
-\doiline
-\vskip-13pt
-\strut
-\end@float
-}
-
-% Heads
-\newcounter{part}
-\newcounter{section}
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\newcounter{paragraph}[subsubsection]
-\def\thepart{\Roman{part}}
-\def\thesection{\arabic{section}}
-\def\thesubsection{\thesection.\arabic{subsection}}
-\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
-\def\theparagraph{\thesubsubsection.\arabic{paragraph}}
-
-% for checking Uppercase heads
-\newif\if@uchead\@ucheadfalse
-
-\setcounter{secnumdepth}{3}
-\def\part{\@startsection{part}{9}{\z@}%
- {-10\p@ \@plus -4\p@ \@minus -2\p@}%
- {4\p@}%
- {\normalsize\itshape\@ucheadtrue}}
-\def\section{\@startsection{section}{1}{\z@}%
- {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {.25\baselineskip}%
- {\sectionfont\@ucheadtrue}}
-\def\refsection{\@startsection{section}{1}{\z@}%
- {-1\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {.5\baselineskip}%
- {\refsectionfont\@ucheadtrue}}
-\def\subsection{\@startsection{subsection}{2}{\z@}%
- {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {.25\baselineskip}%
- {\subsectionfont}}
-\def\subsubsection{\@startsection{subsubsection}{3}{10pt}%
- {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {-3.5\p@}{\subsubsectionfont}}
-\def\paragraph{\@startsection{paragraph}{4}{\parindent}%
- {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
- {-3.5\p@}%
- {\paragraphfont}}
-
-\def\@seccntformat#1{\csname the#1\endcsname.\hskip .4em}
-\let\@period=.
-\def\@sect#1#2#3#4#5#6[#7]#8{%
- \ifnum #2>\c@secnumdepth
- \let\@svsec\@empty
- \else
- \refstepcounter{#1}%
- \edef\@svsec{\begingroup\csname the#1\endcsname\endgroup\relax .\hskip .4em}%
- \protected@edef\@svsec{\@seccntformat{#1}\relax}%
- \fi
- \@tempskipa #5\relax
- \ifdim \@tempskipa>\z@
- \begingroup
- #6{%
- \@hangfrom{\hskip #3\relax\@svsec}%
- \interlinepenalty \@M \if@uchead\MakeUppercase{#8}\else#8\fi\@@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\relax
- \@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\@xsect#1{%
- \@tempskipa #1\relax
- \ifdim \@tempskipa>\z@
- \par
- \nobreak
- \vskip \@tempskipa
- \@afterheading
- \else
- \global\@nobreakfalse
- \global\@noskipsectrue
- \everypar{%
- \if@noskipsec
- \global\@noskipsecfalse
- \clubpenalty\@M
- \hskip -\parindent
- \begingroup
- \@svsechd
- \@period
- \endgroup
- \unskip
- \@tempskipa #1\relax
- \hskip -\@tempskipa
- \else
- \clubpenalty \@clubpenalty
- \everypar{}%
- \fi
- }%
- \fi
- \ignorespaces
-}
-
-% Lists
-\def\@trivlist{%
- \@topsepadd\topsep
- \if@noskipsec
- \global\let\@period\@empty
- \leavevmode
- \global\let\@period.%
- \fi
- \ifvmode
- \advance\@topsepadd\partopsep
- \else
- \unskip
- \par
- \fi
- \if@inlabel
- \@noparitemtrue
- \@noparlisttrue
- \else
- \@noparlistfalse
- \@topsep\@topsepadd
- \fi
- \advance\@topsep \parskip
- \leftskip\z@skip
- \rightskip\@rightskip
- \parfillskip\@flushglue
- \@setpar{\if@newlist\else{\@@par}\fi}
- \global\@newlisttrue
- \@outerparskip\parskip
-}
-\labelsep 5\p@
-
-\settowidth{\leftmargini}{9.}
-\addtolength\leftmargini\labelsep
-
-\settowidth{\leftmarginii}{(b)}
-\addtolength\leftmarginii\labelsep
-
-\leftmarginiii \leftmarginii
-\leftmarginiv \leftmarginii
-\leftmarginv \leftmarginii
-\leftmarginvi \leftmarginii
-\leftmargin \leftmargini
-
-\labelwidth\leftmargini
-\advance\labelwidth-\labelsep
-\def\@listI{%
- \leftmargin\leftmargini
- \parsep \z@
- \topsep .5\baselineskip \@plus 2\p@%
- \itemsep\z@%
-}
-
-\let\@listi\@listI
-
-\@listi
-\def\@listii{%
- \leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep \z@
- \parsep \z@
- \itemsep \parsep
-}
-\def\@listiii{%
- \leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep \z@ \@plus \p@
- \parsep \z@
- \itemsep \parsep
-}
-\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
-}
-\newdimen\enumdim
-\def\enummax#1{%
- \setbox\tempbox\hbox{#1\hskip\labelsep}%
- \enumdim\wd\tempbox
- \expandafter\global\csname leftmargin\romannumeral\the\@enumdepth\endcsname
- \enumdim}
-
-\enummax{1.}
-\def\enumerate{\@ifnextchar[{\@enumerate}{\@enumerate[\csname label\@enumctr\endcsname]}}%%
-\def\@enumerate[#1]{\par\abovedisplayskip .25\baselineskip \@plus2\p@
- \belowdisplayskip .25\baselineskip \@plus2\p@
- \ifnum \@enumdepth >3 \@toodeep\else
- \advance\@enumdepth\@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \setcounter{\@enumctr}{1}\enummax{#1}%
- \list
- {\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}%
- \def\makelabel##1{\hss\llap{##1}}}\fi}
-\def\endenumerate{\endlist}%%
-\def\longenum{%
- \leftmargin0pt
- \ifnum \@enumdepth >3
- \@toodeep
- \else
- \advance\@enumdepth \@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \list{\csname label\@enumctr\endcsname}{%
- \usecounter{\@enumctr}%
- \labelwidth\z@\leftmargin0pt
- \itemindent\parindent\advance\itemindent\labelsep
- }%
- \fi
-}
-\let\endlongenum\endlist
-
-\def\labelenumi{{\rm (}\arabic{enumi}\/{\rm )}}
-\def\theenumi{\arabic{enumi}}
-\def\labelenumii{{\rm (}\alph{enumii}\rm{)}}
-\def\theenumii{\alph{enumii}}
-\def\p@enumii{\theenumi}
-\def\labelenumiii{\roman{enumiii}.}
-\def\theenumiii{\roman{enumiii}}
-\def\p@enumiii{\theenumi{\rm (}\theenumii{\rm )}}
-\def\labelenumiv{\Alph{enumiv}.}
-\def\theenumiv{\Alph{enumiv}}
-\def\p@enumiv{\p@enumiii\theenumiii}
-\newcommand\labelitemi{\texthyphen}%
-\newcommand\labelitemii{\texthyphen}%
-\newcommand\labelitemiii{\texthyphen}%
-\newcommand\labelitemiv{\texthyphen}%
-\font\lcir = lcircle10 at 8pt
-\newcommand\bulls{\raise1.5pt\hbox{\lcir\char'162}}
-\def\textbullet{\leavevmode\raise2pt\hbox{\bulls}}
-\def\texthyphen{---}
-\newif\ifhyphen\hyphenfalse
-
-\def\itemize{%
- \ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \list{\csname\@itemitem\endcsname}%
- {\advance\leftmargin-5.7pt\labelsep2pt
- \def\makelabel##1{\hss\llap{##1}}}\fi}%
-\let\enditemize =\endlist
-
-\newenvironment{hyphenlist}{%
- \hyphentrue
- \renewcommand\labelitemi{\texthyphen}%
- \renewcommand\labelitemii{\texthyphen}%
- \renewcommand\labelitemiii{\texthyphen}%
- \renewcommand\labelitemiv{\texthyphen}%
- \begin{itemize}
-}{%
- \end{itemize}
- \hyphenfalse}
-%
-\newenvironment{bulletlist}{%
-\leftmargini20pt
- \renewcommand\labelitemi{\textbullet}%
- \renewcommand\labelitemii{\textbullet}%
- \renewcommand\labelitemiii{\textbullet}%
- \renewcommand\labelitemiv{\textbullet}%
- \begin{itemize}
-}{%
- \end{itemize}}
-
-\def\longitem{%
- \list{---}{%
- \labelwidth\z@
- \leftmargin\z@
- \itemindent\parindent
- \advance\itemindent\labelsep
- }%
-}
-\let\endlongitem\endlist
-\def\verse{%
- \let\\=\@centercr
- \list{}{%
- \leftmargin 2pc
- \itemindent -1.5em
- \listparindent \itemindent
- \rightmargin\leftmargin
- \advance\leftmargin 1.5em
- }%
- \item[]
-}
-
-\let\endverse\endlist
-\def\quotation{%
- \list{}{%
- \leftmargin 2pc
- \listparindent .5em
- \itemindent\listparindent
- \rightmargin\leftmargin
- \parsep \z@ \@plus \p@
- }%
- \item[]
-}
-
-\let\endquotation=\endlist
-\def\quote{%
- \list{}{%
- \leftmargin 2pc
- \rightmargin\leftmargin
- }%
- \item[]
-}
-
-\let\endquote=\endlist
-%
-\def\extractfont{\fontsize{8}{10}\selectfont\leftskip8pt\rightskip8pt}
-\newenvironment{extract}{\par\addvspace{7pt plus2pt}
-\parindent8pt
-\extractfont
-\noindent\ignorespaces
-}{%
-\par\addvspace{6pt plus2pt}}
-
-\def\descriptionlabel#1{%
- \hspace\labelsep \normalfont\itshape #1.%
-}%
-\newenvironment{description}{%
- \list{}{%
- \labelwidth\z@
- \let\makelabel\descriptionlabel
- }
-}{\endlist}%
-
-\def\describe#1{%
- \list{}{%
- \listparindent\parindent
- \settowidth{\labelwidth}{#1}%
- \leftmargin\labelwidth
- \addtolength\leftmargin\labelsep
- \def\makelabel##1{##1\hfil}%
- }%
-}
-\let\enddescribe\endlist
-
-\def\program{%
- \ifx\@currsize\normalsize
- \small
- \else
- \rm
- \fi
- \tabbing
-}
-\let\endprogram\endtabbing
-
-% Enunciations
-\newif\ifitalicenv\italicenvtrue
-
-\newtheorem{theorem}{Theorem}[section]
-\newtheorem{conjecture}[theorem]{Conjecture}
-\newtheorem{proposition}[theorem]{Proposition}
-\newtheorem{lemma}[theorem]{Lemma}
-\newtheorem{corollary}[theorem]{Corollary}
-%
-\newtheorem{exam}[theorem]{Example}
-\newenvironment{example}{%
-\italicenvfalse
-\begin{exam}}{\end{exam}\italicenvtrue}
-%
-\newtheorem{defi}[theorem]{Definition}
-\newenvironment{definition}{%
-\italicenvfalse
-\begin{defi}}{\end{defi}\italicenvtrue}
-
-\def\@begintheorem#1#2{%
- \trivlist
- \item[%
- \hskip 12\p@
- \hskip \labelsep
- {\ifitalicenv\sc\else\itshape\fi #1\hskip 5\p@\relax{\rm #2}.\enspace}]%
- \ifitalicenv\itshape\else\upshape\fi\hskip-\labelsep%
-}
-\def\@opargbegintheorem#1#2#3{%
- \trivlist
- \item[\hskip 12pt
- \hskip \labelsep
- {\ifitalicenv{\sc{#1}}\else{\itshape#1}\fi%
- \savebox\@tempboxa{\ifitalicenv{\scshape#3}\else{\itshape#3}\fi}%
- \ifdim\wd\@tempboxa>\z@%
- \ {\rm #2}\unskip\hskip5pt\relax$($\box\@tempboxa$)$%
- \fi.\unskip\hskip5pt}]
-\ifitalicenv\itshape\else\upshape\fi\hskip-\labelsep}
-
-\newif\if@qeded
-\global\@qededfalse
-\def\proof{%
- \global\@qededfalse
- \@ifnextchar[{\@xproof}{\@proof}}
-
-\def\endproof{%
- \if@qeded\else\qed\fi
- \endtrivlist
-}
-\def\@proof{%
- \trivlist
- \item[%
- \hskip 12\p@
- \hskip \labelsep
- {\sc Proof.\enspace}]\hskip-\labelsep%
- \ignorespaces
-}
-\def\@xproof[#1]{%
- \trivlist
- \item[\hskip 12\p@\hskip \labelsep{\sc Proof #1.}]%
- \ignorespaces
-}
-\def\qed{\unskip\kern 10pt{\unitlength1pt\linethickness{.4pt}\framebox(5,5){}}
- \global\@qededtrue
- }%
-\def\newdef#1#2{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}%
- \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
- \global\@namedef{#1}{\@defthm{#1}{#2}}%
- \global\@namedef{end#1}{\@endtheorem}%
- }%
-}
-\def\@defthm#1#2{%
- \refstepcounter{#1}%
- \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
-}
-\def\@xdefthm#1#2{%
- \@begindef{#2}{\csname the#1\endcsname}%
- \ignorespaces
-}
-\def\@ydefthm#1#2[#3]{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\it #2%
- \savebox\@tempboxa{#3}%
- \ifdim \wd\@tempboxa>\z@
- \ \box\@tempboxa
- \fi.%
- }]%
- \ignorespaces
-}
-\def\@begindef#1#2{%
- \trivlist
- \item[%
- \hskip 10\p@
- \hskip \labelsep
- {\it #1\ \rm #2.}%
- ]%
-}
-
-% Maths
-\def\theequation{\arabic{equation}}
-
-\def\@marrayclassiv{\@addtopreamble{$\displaystyle \@nextchar$}}
-\def\@marrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
- \or \or \@addamp \or
- \@acolampacol \or \@firstampfalse \@acol \fi
-\edef\@preamble{\@preamble
- \ifcase \@chnum
- \hfil$\relax\displaystyle\@sharp$\hfil \or $\relax\displaystyle\@sharp$\hfil
- \or \hfil$\relax\displaystyle\@sharp$\fi}}
-\def\marray{\arraycolsep 2.5pt\let\@acol\@arrayacol \let\@classz\@marrayclassz
- \let\@classiv\@marrayclassiv \let\\\@arraycr\def\@halignto{}\@tabarray}
-\def\endmarray{\crcr\egroup\egroup}
-
-\arraycolsep 2.5\p@
-\tabcolsep 6\p@
-\arrayrulewidth .25\p@
-\doublerulesep 2\p@
-\tabbingsep \labelsep
-
-\skip\@mpfootins = \skip\footins
-\fboxsep = 3pt \fboxrule = .4\p@
-
-% Table of Contents
-\def\@pnumwidth{1.55em}
-\def\@tocrmarg {2.55em}
-\def\@dotsep{4.5}
-\setcounter{tocdepth}{3}
-\def\tableofcontents{%
- \section*{Contents\@mkboth{CONTENTS}{CONTENTS}}
- \@starttoc{toc}%
-}
-\def\l@part#1#2{%
- \addpenalty\@secpenalty
- \addvspace{2.25em \@plus \p@}%
- \begingroup
- \@tempdima 3em
- \parindent \z@
- \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- {\large \bf \leavevmode #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
- \nobreak
- \endgroup
-}
-\def\l@section#1#2{%
- \addpenalty\@secpenalty
- \addvspace{1.0em \@plus \p@}%
- \@tempdima 1.5em
- \begingroup
- \parindent \z@
- \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- \bf \leavevmode #1\hfil \hb@xt@\@pnumwidth{\hss #2}\par
- \endgroup
-}
-\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
-\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
-
-% List of figures
-\def\listoffigures{%
- \section*{List of Figures\@mkboth{LIST OF FIGURES}{LIST OF FIGURES}}
- \@starttoc{lof}}
-\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
-
-% List of tables
-\def\listoftables{%
- \section*{List of Tables\@mkboth{LIST OF TABLES}{LIST OF TABLES}}
- \@starttoc{lot}}
-\let\l@table\l@figure
-
-% Index
-\newif\if@restonecol
-\def\theindex{%
- \@restonecoltrue
- \if@twocolumn \@restonecolfalse \fi
- \columnseprule \z@
- \columnsep 35\p@
- \twocolumn[\section*{Index}]
- \@mkboth{INDEX}{INDEX}%
- \thispagestyle{plain}%
- \parindent\z@
- \parskip\z@ \@plus .3\p@\relax
- \let\item\@idxitem
-}
-
-\def\endtheindex{%
- \if@restonecol
- \onecolumn
- \else
- \clearpage
- \fi
-}
-\def\@idxitem{\par\hangindent 40\p@}
-\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}
-\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
-\def\indexspace{\par \vskip 10\p@ \@plus 5\p@ \@minus 3\p@\relax}
-
-% Footnote
-\def\footnoterule{%
- \kern-3\p@
- \hrule \@width 36\p@ \@height 0.25\p@
- \kern 3\p@
-}
-\long\def\@makefntext#1{%
- \parindent 1em
- \noindent $^{\@thefnmark}$#1%
-}
-
-% Figures and Tables
-\newlength\belowcaptionskip
-\newlength\abovecaptionskip
-\setlength\belowcaptionskip{3.5\p@}
-\setlength\abovecaptionskip{6\p@}
-
-\def\nocaption{\refstepcounter\@captype \par
- \vskip 1pc \hbox to\hsize{\hfil \figcaptionnumfont Figure \thefigure
- \hfil}}
-
-\def\FigName{figure}%
-\long\def\@caption#1[#2]#3{\par\begingroup
- \@parboxrestore
- \normalsize
- \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
- \endgroup}
-
-\long\def\@makecaption#1#2{%
- \ifx\FigName\@captype\baselineskip10pt
- \vskip\abovecaptionskip
- \setbox\@tempboxa\hbox{\figcaptionfont{\figcaptionnumfont#1}.\hskip7.3pt\relax #2\par}%
- \ifdim \wd\@tempboxa >\hsize
- \figcaptionfont{\figcaptionnumfont#1}.\hskip7.3pt\relax #2\par
- \else
- \centerline{\box\@tempboxa}%
- \fi
- \else%
- \setbox\tbbox=\vbox{\hsize\tempdimen\tablecaptionfont{\tablenumfont #1.\ }{#2\par}}%
- \setbox\@tempboxa\hbox{\hsize\tempdimen\tablecaptionfont{\tablenumfont #1.}\ {#2\par}}%
- \ifdim \wd\@tempboxa >\tempdimen
- \centerline{\box\tbbox}%
- \else
- \centerline{\box\@tempboxa}%
- \fi
- \vskip\belowcaptionskip
- \fi
-}
-%
-\newcounter{figure}
-\def\thefigure{\@arabic\c@figure}
-\def\fps@figure{tbp}
-\def\ftype@figure{1}
-\def\ext@figure{lof}
-%
-\newif\ifcontinued
-\global\continuedfalse
-%
-\def\continued{\global\continuedtrue}
-%
-\def\fnum@figure{\ifcontinued\global\continuedfalse\addtocounter{figure}{-1} Fig.~\thefigure---{\it Continued}\else Fig.~\thefigure\fi}%
-\newenvironment{figure}
- {\@float{figure}}
- {\end@float}
-\newenvironment{figure*}
- {\@dblfloat{figure}}
- {\end@dblfloat}
-%
-\newcounter{table}
-\renewcommand\thetable{\Roman{table}}
-\def\fps@table{tbp}
-\def\ftype@table{2}
-\def\ext@table{lot}
-\def\tablename{Table}
-\def\fnum@table{\ifcontinued\addtocounter{table}{-1} Table~\thetable---{\it Continued} \else Table~\thetable\fi}
-\newenvironment{table}
- {\@float{table}}
- {\end@float}
-\newenvironment{table*}
- {\@dblfloat{table}}
- {\end@dblfloat}
-
-\long\def\tbl#1#2{%
-\setbox\tempbox\hbox{\tablefont #2}%
-\tabledim\hsize\advance\tabledim by -\wd\tempbox
-\tempdimen\wd\tempbox
-\global\divide\tabledim\tw@
-\caption{#1\protect\vphantom{yp}}
-\centerline{\box\tempbox}}%
-
-\newenvironment{intexttable}{\par\addvspace{1.2pt plus2pt}
-\intexttablefont
-}{%
-\par\addvspace{7pt plus2pt}}
-
-\newenvironment{tabnote}{%
-\par\vskip5pt
-\tabnotefont
-\@ifnextchar[{\@tabnote}{\@tabnote[]}}{%
-\par}
-\def\@tabnote[#1]{\def\@Tempa{#1}\leftskip\tabledim\rightskip\leftskip\ifx\@Tempa\@empty\else{\it #1:}\ \fi\ignorespaces}
-
-\def\tabnoteentry#1#2{\parindent0pt\par{#1}{#2}}
-\def\Note#1#2{\parindent0pt\par{\it #1}\ #2}
-
-\newdimen\@narrowfig
-\newbox\@nfigbox
-\newbox\@nfcapbox
-\newif\if@nfeven
-\def\acmtable#1{%
- \@narrowfig #1\relax
- \let\caption\@atcap
- \let\nocaption\@atnocap
- \@ifnextchar[{\@ntab}{\@ntab[\fps@table]}%
-}
-
-\def\@ntab[#1]{%
- \expandafter\table\expandafter[#1]%
- \setbox\@nfigbox\vbox\bgroup
- \hsize \@narrowfig
- \@parboxrestore
-}
-
-\def\endacmtable{%
- \hb@xt@\textwidth{%
- \hfil
- \vbox{%
- \hsize \@narrowfig
- \box\@nfcapbox{%
- \baselineskip 4\p@
- \hbox{\vrule \@height .4\p@ \@width \hsize}%
-
- }%
- \vskip -\p@
- \box\@nfigbox
- \vskip -\p@
- \begingroup
- \baselineskip 4\p@
- \hbox{\vrule \@height .4\p@ \@width \hsize}%
- \endgroup
- }%
- \hfil
- }%
- \end@float
-}
-\def\@atmakecap#1#2{%
- \setbox\@tempboxa\hbox{#1.\hskip 1em\relax #2}%
- \ifdim \wd\@tempboxa >\hsize
- \sloppy #1.\hskip 1em\relax #2 \par
- \else
- \centerline{\box\@tempboxa}%
- \fi
-}
-\def\@atcap{%
- \par
- \egroup
- \refstepcounter\@captype
- \@dblarg{\@atcapx\@captype}%
-}
-\long\def\@atcapx#1[#2]#3{%
- \addcontentsline{\csname ext@#1\endcsname}{#1}{%
- \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
- }%
- \setbox\@nfcapbox\vbox{%
- \hsize \wd\@nfigbox
- \@parboxrestore
- \@atmakecap{\csname fnum@#1\endcsname}{\ignorespaces #3}%
- \par
- }%
-}
-\def\@atnocap{%
- \egroup
- \refstepcounter\@captype
- \setbox\@nfcapbox\vbox{%
- \hsize \wd\@nfigbox
- \centerline{\footnotesize \fnum@table}
- }%
-}
-\def\narrowfig#1{%
- \@narrowfig #1\relax
- \let\caption\@nfcap
- \let\nocaption\@nfnocap
- \@ifnextchar[{\@nfig}{\@nfig[\fps@figure]}%
-}
-
-\def\@nfig[#1]{%
- \expandafter\figure\expandafter[#1]%
- \setbox\@nfigbox\vbox\bgroup
- \hsize\@narrowfig
- \@parboxrestore
-}
-
-\def\endnarrowfig{%
- \hb@xt@\textwidth{%
- \if@nfeven
- \box\@nfcapbox \hfil \box\@nfigbox
- \else
- \box\@nfigbox \hfil \box\@nfcapbox
- \fi
- }%
- \endfigure
-}
-\def\@nfcap{%
- \par
- \egroup
- \refstepcounter\@captype
- \@dblarg{\@nfcapx\@captype}%
-}
-\def\@nfmakecap #1#2{%
- \setbox\@tempboxa\hbox{#1.\hskip 1em\relax #2}%
- \ifdim \wd\@tempboxa >\hsize
- \sloppy #1.\hskip 1em\relax #2 \par
- \else
- \@@line{%
- \if@nfeven\else\hfil\fi
- \box\@tempboxa
- \if@nfeven\hfil\fi
- }%
- \fi
-}
-\long\def\@nfcapx#1[#2]#3{%
- \addcontentsline{\csname ext@#1\endcsname}{#1}{%
- \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
- }%
- \@seteven
- \setbox\@nfcapbox\vbox to \ht\@nfigbox{%
- \hsize \textwidth
- \advance\hsize -2pc
- \advance\hsize -\wd\@nfigbox
- \@parboxrestore
- \vfil
- \@nfmakecap{\csname fnum@#1\endcsname}{\ignorespaces #3}%
- \par
- \vfil
- }%
-}
-\def\@nfnocap{%
- \egroup
- \refstepcounter\@captype
- \@seteven
- \setbox\@nfcapbox\vbox to \ht\@nfigbox{%
- \hsize \textwidth
- \advance\hsize -2pc
- \advance\hsize -\wd\@nfigbox
- \@parboxrestore
- \vfil
- \@@line{%
- \if@nfeven\else\hfil\fi
- \footnotesize \fnum@figure
- \if@nfeven\hfil\fi
- }%
- \vfil
- }%
-}
-
-\def\@seteven{%
- \@nfeventrue
- \@ifundefined{r@@nf\thefigure}{}{%
- \edef\@tmpnf{\csname r@@nf\thefigure\endcsname}%
- \edef\@tmpnf{\expandafter\@cdr\@tmpnf\@nil}%
- \ifodd\@tmpnf\relax
- \@nfevenfalse
- \fi
- }%
- \label{@nf\thefigure}%
- \edef\@tmpnfx{\if@nfeven e\else o\fi}%
- \edef\@tmpnf{%
- \write\@unused{%
- \noexpand\ifodd \noexpand\c@page
- \noexpand\if \@tmpnfx e%
- \noexpand\@nfmsg{\thefigure}
- \noexpand\fi
- \noexpand\else
- \noexpand\if \@tmpnfx o%
- \noexpand\@nfmsg{\thefigure}%
- \noexpand\fi
- \noexpand\fi
- }%
- }%
- \@tmpnf
-}
-
-\def\@nfmsg#1{Bad narrowfig: Figure #1 on page \thepage}
-\newbox\@nfigbox
-\newbox\@nfcapbox
-\newif\if@nfeven
-
-% Acknowledgments
-\newenvironment{ack}{%
-\refsection*{ACKNOWLEDGMENT}
-\ackfont
-}{\par}
-
-\newenvironment{acks}{%
-\refsection*{ACKNOWLEDGMENTS}
-\ackfont
-}{\par}
-
-% History Dates
-\def\received#1#2#3{\par\addvspace{14\p@}%
-{\noindent\fontfamily{\sfdefault}\fontsize{8}{9}\selectfont{Received\ #1;\ revised\ #2;\ accepted\ #3}%
-\par}}
-
-% provide both spellings of Acknowledgment(s)
-\let\acknowledgments\acks
-\let\endacknowledgments\endacks
-\let\acknowledgment\ack
-\let\endacknowledgment\endack
-
-\newcommand{\longpage}{\enlargethispage{\baselineskip}}
-\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
-
-% Appendices
-\newfont{\apbf}{cmbx9}
-\def\@withappendix#1{App--\number #1}
-\newcommand{\elecappendix}{
-}
-
-\def\appenheader{\global\@topnum\z@ \global\@botroom \textheight \begin{figure}
-\newfont{\sc}{cmcsc10}
-\parindent\z@
-\hbox{}
-\vskip -\textfloatsep
-\vskip 11pt
-\hrule height .2pt width 30pc
-\vskip 2pt\rule{0pt}{10pt}\ignorespaces}
-\def\endappenheader{\end{figure}\gdef\appendixhead{}}
-
-\def\@appsec{}
-
-\def\appendix{\par
- \setcounter{section}{0}
- \setcounter{subsection}{0}
- \def\@appsec{APPENDIX }
- \def\thesection{\Alph{section}}
- \def\theHsection{\Alph{section}}}
-
-% split electronic appendix into two parts:
-
-\def\appendixhead#1{\appendix
-\section*{ELECTRONIC APPENDIX}
-The electronic appendix for this article can be accessed in the ACM Digital Library.}
-
-\newif\ifelec@app\global\elec@appfalse
-\long\def\elecappendix{\immediate\write\@mainaux{\string\lastpage{\the\c@page}}%
-\clearpage
-\makeatletter
-\elec@apptrue
-\pagenumbering{withappendix}
-\pagestyle{appheadings}
-\thispagestyle{titlepage}%
-\makeatother
-\appendix
-{\vbox{\titlefont\parindent0pt\raggedright%
-Online Appendix to:\par\@title\par{}}}\vskip 12\p@
-\vbox{\authorfont\parindent0pt\@author{}}\vskip .5em\noindent
-\vskip 11pt\noindent
-\hrule height .2pt
-\par
-\def\endbottomstuff{%
-\copyrightline\par
-\doiline
-\vskip-13pt
-\strut
-\end@float
-}
-\bottomstuff
-\endbottomstuff
-}
-
-%-----------------------BIBLIOGRAPHY STUFF-------------------------
-% this is adapted (November 1993) by Andrew Appel and Rebecca Davies from
-%
-%%% filename = "chicago.sty",
-%%% version = "4", % MODIFIED!
-%%% date = "31 August 1992",
-%%% time = "09:42:44 199",
-%%% author = "Glenn Paulley",
-%%% address = "Data Structuring Group
-%%% Department of Computer Science
-%%% University of Waterloo
-%%% Waterloo, Ontario, Canada
-%%% N2L 3G1",
-%%% telephone = "(519) 885-1211",
-%%% FAX = "(519) 885-1208",
-%%% email = "gnpaulle@bluebox.uwaterloo.ca",
-
-%%% ====================================================================
-%
-% this file: Modification of chicago.sty for new ACM bibliography
-% style, which is similar (but not identical) to the ``Chicago'' style.
-%
-% chicago.sty: Style file for use with bibtex style chicago.bst, for
-% bibliographies formatted according to the 13th Edition of the Chicago
-% Manual of Style.
-%
-% 'newapa.bst' was made from 'plain.bst', 'named.bst', and 'apalike.bst',
-% with lots of tweaking to make it look like APA style, along with tips
-% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
-% newapa.sty formed the basis of this style, chicago.sty. Author-date
-% references in newapa.bst formed the basis for chicago.bst. Chicagoa.bst
-% supports annotations.
-%
-% Version 4 (August, 1992):
-% - fixed chicago.bst and chicagoa.bst to handle long author lists in
-% sorting
-% - fixed chicago.bst and chicagoa.bst so that missing page numbers in
-% ``article'' entries are handled correctly
-% - modified chicago.sty to format entries with 2nd and subsequent lines
-% indented.
-%
-% Citation format: (author-last-name year)
-% (author-last-name and author-last-name year)
-% (author-last-name et al. year)
-% (author-last-name)
-% author-last-name
-% author-last-name (year)
-% (author-last-name and author-last-name)
-% (author-last-name et al.)
-% (year) or (year,year)
-% year or year,year
-%
-% Reference list ordering: alphabetical by author or whatever passes
-% for author in the absence of one.
-%
-% This BibTeX style has support for abbreviated author lists and for
-% year-only citations. This is done by having the citations
-% actually look like
-%
-% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
-%
-% The LaTeX style has to have the following (or similar)
-%
-% \let\@internalcite\cite
-% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
-% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
-% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
-% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
-% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
-%
-%
-% -------------------------------------------------------------------------
-%
-% Citation macros (compatible with natbib package).
-%
-\AtBeginDocument{%
-\@ifpackageloaded{natbib}{% Natbib loaded
-\renewcommand\bibsection{%
- \refsection*{{\refname}%
- \@mkboth{\uppercase{\refname}}{\uppercase{\refname}}%
-}}%
-\bibpunct[, ]{[}{]}{;}{a}{}{,}
-\let\citeN\cite
-\let\cite\citep
-\let\citeANP\citeauthor
-\let\citeNN\citeyearpar
-\let\citeyearNP\citeyear
-\let\citeyear\citeyearpar
-\let\citeNP\citealt
-\def\shortcite#1{\citeyear{#1}}
-\DeclareRobustCommand\citeA
- {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}
-\newcommand\newblock{}
-}{% Natbib not loaded
-\let\@internalcite\cite
-\def\cite{\def\@citeseppen{-1000}%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
- \def\citeauthoryear##1##2##3{##2 ##3}\@internalcite}
-\def\citeXNP#1#2{%
- \def\@cite@label{#2}%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
- \def\citeauthoryear##1##2##3{\@cite@label}\@internalcite{#1}}
-\def\citeNP{\def\@citeseppen{-1000}%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
- \def\citeauthoryear##1##2##3{##2 ##3}\@internalcite}
-\def\citeN{\def\@citeseppen{-1000}%
- \def\@cite##1##2{##1\if@tempswa , ##2]\else{]}\fi}%
- \def\citeauthoryear##1##2##3{##2 [##3}\@citedata}
-\def\shortcite#1{\citeyear{#1}}
-\def\citeS#1{[\citeANP{#1} \citeyearNP{#1}]}
-\def\citeNS#1{\citeANP{#1} \citeyear{#1}}
-\def\citeNPS#1{\citeANP{#1} \citeyearNP{#1}}
-%testing year,year
-\def\citeNN{\def\@citeseppen{-1000}%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
- \def\citeauthoryear##1##2##3{##3}\@citedata}
-
-\def\citeA{\def\@citeseppen{-1000}%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
- \def\citeauthoryear##1##2##3{##2}\@internalcite}
-\def\citeANP{\def\@citeseppen{-1000}%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
- \def\citeauthoryear##1##2##3{##2}\@internalcite}
-
-\def\citeyear{\def\@citeseppen{-1000}%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
- \def\citeauthoryear##1##2##3{##3}\@citedata}
-\def\citeyearNP{\def\@citeseppen{-1000}%
- \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
- \def\citeauthoryear##1##2##3{##3}\@citedata}
-
-%
-% \@citedata and \@citedatax:
-%
-% Place commas in-between citations in the same \citeyear, \citeyearNP,
-% or \citeN command.
-% Use something like \citeN{ref1,ref2,ref3} and \citeN{ref4} for a list.
-%
-\def\@citedata{%
- \@ifnextchar [{\@tempswatrue\@citedatax}%
- {\@tempswafalse\@citedatax[]}%
-}
-
-\def\@citedatax[#1]#2{%
-\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi%
- \def\@citea{}\@cite{\@for\@citeb:=#2\do%
- {\@citea\def\@citea{; }\@ifundefined% by Young
- {b@\@citeb}{{\bf ?}%
- \@warning{Citation `\@citeb' on page \thepage \space undefined}}%
-{\csname b@\@citeb\endcsname}}}{#1}}%
-
-% don't box citations, separate with ; and a space
-% also, make the penalty between citations negative: a good place to break.
-%
-\def\@citex[#1]#2{%
-\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi%
- \def\@citea{}\@cite{\@for\@citeb:=#2\do%
- {\@citea\def\@citea{; }\@ifundefined% by Young
- {b@\@citeb}{{\bf ?}%
- \@warning{Citation `\@citeb' on page \thepage \space undefined}}%
-{\csname b@\@citeb\endcsname}}}{#1}}%
-
-% Fix cite so it doesn't repeat author lists in citations:
-
-\def\cite{\def\@citeseppen{-1000}%
- \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
- \let\@lastauthor=\@noauthor
- \let\citeauthoryear=\citeauthoryear@no@repeats\@internalcite}
- %\def\citeauthoryear##1##2##3{##2 ##3}\@internalcite
-
-\def\@noauthor={\relax}
-\let\@lastauthor=\@noauthor
-\let\@currauthor=\@noauthor
-
-\def\citeauthoryear@no@repeats#1#2#3{%
- \def\@currauthor{\csname @author #1\endcsname}%
- \ifx\@lastauthor\@currauthor{#3}\else{#2 #3}\fi%
- \let\@lastauthor=\@currauthor}
-}}
-
-% Bibliography
-\let\@biblabel\@gobble
-\newdimen\bibindent
-\bibindent=16pt
-\newcommand\refname{REFERENCES}
-\def\thebibliography#1{%
- \footnotesize
- \refsection*{{\refname}
- \@mkboth{\uppercase{\refname}}{\uppercase{\refname}}%
- }
- \list{}{
- \settowidth\labelwidth{}
- \leftmargin0pt
- \advance\leftmargin\bibindent
- \itemindent -\bibindent
- \itemsep2pt
- \parsep \z@
- \usecounter{enumi}%
- }%
- \let\newblock\@empty
- \sloppy
- \sfcode`\.=1000\relax
-}
-\let\endthebibliography=\endlist
-
-% Blackboard font
-\DeclareFontFamily{OT1}{ams}{}
-\DeclareFontShape{OT1}{ams}{m}{n}{ <-> msam10 }{}
-\DeclareFontShape{OT1}{ams}{m}{it}{ <-> msam10 }{}
-\DeclareFontShape{OT1}{ams}{bx}{n}{ <-> msbm10 }{}
-\DeclareFontShape{OT1}{ams}{bx}{it}{ <-> msbm10 }{}
-
-\def\bb#1{\mathchoice
- {\mbox{\fontfamily{ams}\fontsize{\tf@size}{\tf@size}\selectfont\bf#1}}%
- {\mbox{\fontfamily{ams}\fontsize{\tf@size}{\tf@size}\selectfont\bf#1}}%
- {\mbox{\fontfamily{ams}\fontsize{\sf@size}{\sf@size}\selectfont\bf#1}}%
- {\mbox{\fontfamily{ams}\fontsize{\ssf@size}{\ssf@size}\selectfont\bf#1}}}
-
-\DeclareMathAlphabet{\mathbb}{OT1}{ams}{bx}{n}
-\SetMathAlphabet\mathbb{normal}{OT1}{ams}{bx}{n}
-\SetMathAlphabet\mathbb{bold}{OT1}{ams}{bx}{n}
-\def\bb{\mathbb}
-
-\def\text#1{\ifmmode
- \mathchoice
- {\hbox{\fontsize{\tf@size}{\tf@size}\selectfont#1}}%
- {\hbox{\fontsize{\tf@size}{\tf@size}\selectfont#1}}%
- {\hbox{\fontsize{\sf@size}{\sf@size}\selectfont#1}}%
- {\hbox{\fontsize{\ssf@size}{\ssf@size}\selectfont#1}}%
- \else\hbox{\rm#1}\fi}
-%
-% newdef need to take the optional parameters of newtheorem
-\def\newdef#1{\@ifnextchar[{\@xnewdef{#1}}{\@ynewdef{#1}}}
-\def\@xnewdef#1[#2]#3{\newtheorem{italic@#1}[#2]{{\em #3}}\@newdef{#1}}
-\def\@ynewdef#1#2{\@ifnextchar[{\@xynewdef{#1}{#2}}{\@yynewdef{#1}{#2}}}
-\def\@xynewdef#1#2[#3]{\newtheorem{italic@#1}{{\em #2}}[#3]\@newdef{#1}}
-\def\@yynewdef#1#2{\newtheorem{italic@#1}{{\em #2}}\@newdef{#1}}
-%
-\def\@newdef#1{\newenvironment{#1}{\@ifnextchar[{\@xstartdef{#1}}{\@ystartdef{#1}}}{\end{italic@#1}}}
-%
-\def\@xstartdef#1[#2]{\begin{italic@#1}[{\em #2}]\rm}
-\def\@ystartdef#1{\begin{italic@#1}\rm}
-%
-\newdef{remark}[theorem]{Remark}
-
-% Page number Panel
-\def\openartnum{\vbox to 1.125in{\vskip.125in\vfill\hbox to 26pt{\textcolor{white}{\fontfamily{\sfdefault}\fontsize{12}{7}\selectfont\bfseries\@acmArticle}\hfill}\vfill}}
-\def\closeartnum{\vbox to 1.125in{\vskip-.125in\vfill\hbox to 26pt{\textcolor{white}{\fontfamily{\sfdefault}\fontsize{12}{7}\selectfont\bfseries\@acmArticle}\hfill}\vfill}}
-\def\artnum{\vbox to 1in{\vfill\hbox to 26pt{\textcolor{white}{\fontfamily{\sfdefault}\fontsize{12}{7}\selectfont\bfseries\@acmArticle}\hfill}\vfill}}
-%
-\def\opentab{\hbox{\vrule width45.75pt depth0pt height1.125in\hspace*{-35.5pt}\openartnum}}
-\def\normtab{\hbox{\vrule width45.75pt depth0pt height1in\hspace*{-35.5pt}\artnum}}
-\def\closetab{\hbox{\vrule width45.75pt depth0pt height1.125in\hspace*{-35.5pt}\closeartnum}}
-%
-\newcommand\tab{\ifcase\@articleSeq\or
-\vbox{\vskip-.125in\opentab}\or \vbox{\vskip1in\normtab}\or \vbox{\vskip2in\normtab}\or \vbox{\vskip3in\normtab}\or \vbox{\vskip4in\normtab}\or \vbox{\vskip5in\normtab}\or \vbox{\vskip6in\normtab}\or \vbox{\vskip7in\normtab}\or \vbox{\vskip8in\normtab}\or \vbox{\vskip9in\closetab}\or
-\vbox{\vskip-.125in\opentab}\or \vbox{\vskip1in\normtab}\or \vbox{\vskip2in\normtab}\or \vbox{\vskip3in\normtab}\or \vbox{\vskip4in\normtab}\or \vbox{\vskip5in\normtab}\or \vbox{\vskip6in\normtab}\or \vbox{\vskip7in\normtab}\or \vbox{\vskip8in\normtab}\or \vbox{\vskip9in\closetab}\or
-\vbox{\vskip-.125in\opentab}\or \vbox{\vskip1in\normtab}\or \vbox{\vskip2in\normtab}\or \vbox{\vskip3in\normtab}\or \vbox{\vskip4in\normtab}\or \vbox{\vskip5in\normtab}\or \vbox{\vskip6in\normtab}\or \vbox{\vskip7in\normtab}\or \vbox{\vskip8in\normtab}\or \vbox{\vskip9in\closetab}\fi}
-
-% Output Routine
-\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
- \let \protect \noexpand
- \@resetactivechars
- \@parboxrestore
- \shipout \vbox{%
- \set@typeset@protect
- \aftergroup \endgroup
- \aftergroup \set@typeset@protect
- % correct? or just restore by ending
- % the group?
- \if@specialpage
- \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
- \fi
- \if@twoside
- \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
- \let\@themargin\oddsidemargin
- \else \let\@thehead\@evenhead
- \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
- \fi
- \fi
- \reset@font
- \normalsize
- \normalsfcodes
- \let\label\@gobble
- \let\index\@gobble
- \let\glossary\@gobble
- \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
- \@begindvi
- \ifelec@app\else\ifnum\c@page=1\vbox to 0pt{\hbox to \trimwidth{\hfill\tab}}\fi\fi
- \vskip \topmargin
- \moveright\@themargin \vbox {%
- \setbox\@tempboxa \vbox to\headheight{%
- \vfil
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth{\@thehead}%
- \color@endbox
- }% %% 22 Feb 87
- \dp\@tempboxa \z@
- \box\@tempboxa
- \vskip \headsep
- \box\@outputbox
- \baselineskip \footskip
- \color@hbox
- \normalcolor
- \hb@xt@\textwidth{\@thefoot}%
- \color@endbox
- }%
- }%
- \global \@colht \textheight
- \stepcounter{page}%
- \let\firstmark\botmark
-}
-%
-\ps@headings
-\pagenumbering{arabic}
-\onecolumn
-
-\frenchspacing
-\sloppy
-\widowpenalty10000
-\clubpenalty10000
-
-\endinput
-
-% End of file `acmsmall.cls' Version 1.4
-
-
diff --git a/ec/ec.pdf b/ec/ec.pdf Binary files differnew file mode 100644 index 0000000..651b845 --- /dev/null +++ b/ec/ec.pdf diff --git a/ec/rebuttal.txt b/ec/rebuttal.txt new file mode 100644 index 0000000..2118a0b --- /dev/null +++ b/ec/rebuttal.txt @@ -0,0 +1,31 @@ +Answer to reviewer 133 point 1 and reviewer 134: Randomization is indeed +inherent to experimental design. The problem of using a universally truthful +mechanism is not that it is randomized per se, it is that the bound we have on +its approximation ratio only holds in expectation: for a specific instance of +the problem, it can be arbitrarily large. + +For example, it is known that for the problem of maximizing a submodular +function under a budget constraint, the greedy solution has an unbounded +approximation ratio (see Khuller et al. 1999). So, if for a specific instance +of the problem, the randomized mechanism outputs the greedy solution, whereas +it should have outputted the element of highest value, the approximation ratio +of the mechanism will be equal to the ratio between the greedy solution and the +optimal solution, which can be arbitrarily big. + +Answer to reviewer 135 point 1: a counter-example can be constructed for our +value function based on the fact that the marginal contribution of a user to +a set depends on the set (contrarily to an additive function where the marginal +contribution is constant). The counter-example uses the following intuition: if +a user is part of the greedy solution and reduces her cost so as to be added +earlier to the solution set by the greedy algorithm, she changes the marginal +contributions of the users coming after her, reducing them so much that she +changes the set of allocated users and overall reducing the value of the +allocated set. This contradicts the monotonicity of the greedy algorithm. + +Answer to reviewer 135 point 2: Even though the problem of maximizing an +additive function can be reduced to the experimental design problem in +dimension 1, our value function in these cases is the logarithm of an additive +function. Unfortunately, a lower bound for the approximation ratio of an +additive function does not translate to a lower bound for the logarithm of this +function, which is why a specific proof is needed in our setting. + diff --git a/ec/reviews.txt b/ec/reviews.txt new file mode 100644 index 0000000..081da89 --- /dev/null +++ b/ec/reviews.txt @@ -0,0 +1,161 @@ +eview from Reviewer 1 ------------- +Evaluation of work and contribution : 5 +Significance : 5 +Originality and novelty : 5 +Relevance to the call of papers : 5 +Readability and organization : 5 +Technical quality : 5 +Overall recommendation : 5 +Confidence : 5 +A talk on this paper would be of interest to a broad cross-section of the EC community : 5 + +-- Comments to the author(s): +SPC META-REVIEW: Please disregard scores. +-- Summary: +The discussion of the paper centered on two issues. + + + +1. It's not clear that the mechanism presented is truthful. It's clear that it's epsilon-truthful for arbitrarily small epsilon, but the paper does not explain how to make it truthful "on the nose." The issue is that the algorithm for finding OPT_{-i*} needs to solve a convex program. The value of OPT_{-i^*} is not necessarily a multiple of the increments between different bids. Even worse, it is easy to construct convex programs where the optimal value is irrational even when all the parameters of the program are rational. It is therefore incumbent on the authors to state that the solution concept is epsilon-truthfulness for some value of epsilon that appears in the algorithm's running time, or to explain whether there is a way to modify the algorithm to restore exact truthfulness. + + + +2. Some of the PC members found the significance of the results to be underwhelming, since a universally truthful mechanism using only one bit of randomness was already known for (a generalization of) this problem. + + + +That having been said, the PC also valued the conceptual contribution this paper made in providing a nice model for information procurement, as well as the technical innovations used in designing the deterministic mechanism. + + +---------- End of Review from Reviewer 1 ---------- + +------------- Review from Reviewer 2 ------------- +Evaluation of work and contribution : 6 +Significance : 5 +Originality and novelty : 6 +Relevance to the call of papers : 8 +Readability and organization : 6 +Technical quality : 6 +Overall recommendation : 3 +Confidence : 10 +A talk on this paper would be of interest to a broad cross-section of the EC community : 5 + +-- Comments to the author(s): +The paper considers designing truthful mechanisms for conducting experiments. Specifically, the designer would like to select subjects to test some hypothesis. Each subject has a (private) cost, but the designer has some limited budget B. The goal is therefore to truthfully select a set of subjects that will minimize the uncertainty of the tested hypothesis while paying no more than the total budget. + + + +This problem belongs to the set of problems known as budget-constrained mechanism design. If the objective function is submodular, then there is a poly time randomized algorithm that gives a constant approximation, and a deterministic exponential time algorithm that gives a constant approximation. The objective function considered in the current paper is indeed submodular, and the only goal of the paper is to provide a deterministic poly time mechanism. + + + +The standard randomized algorithm uses only one random bit. This bit is used to guess whether there is a single subject that contributes most of the value to the optimal solution or not. A well-known observation that was applied many times before in this context is that if one can estimate "in a monotone way" the optimal solution without one player, then one can derandomize the randomized algorithm. The technical contribution of the paper is to provide this estimation. + + + +In general, the setting of the paper might make sense. However, I don't really buy the claim that derandomization is important in experimental design: + + + +1) Randomization is inherent in the experimental design, e.g., randomly selecting a control group, repeating the experiment several times. And if we can use randomization anyways, we can just use the existing truthful algorithms for maximizing submodular functions subject to a budget constraint. + + + +2) The subjects should be selected randomly from the population, but the paper makes no assumption about their costs (worst case analysis). This is not just a strange assumption; it might also introduce a selection bias - maybe there is something special about subjects with, e.g., small costs? + + + +Also, what is the meaning of giving a constant approximation for the objective function? I can understand what does a 2-approximation to traditional goals such as revenue of welfare means, but what does it mean for this strange function? Is the degradation in quality linear in the approximation ratio? This is not discussed at all in the paper. + + + +I'm also worried about the truthfulness of the mechanism. Truthfulness is proved for Algorithm 1, but in the proofs it seems that Algorithm 1 is not the real algorithm, since later some approximate solution is used (Lemma 5.1). It is well known that using such approximations might not preserve truthfulness. This might not be an issue in the current setting, but a proof should be provided if this is indeed the case. +-- Summary: +. +---------- End of Review from Reviewer 2 ---------- + +------------- Review from Reviewer 3 ------------- +Evaluation of work and contribution : 5 +Significance : 5 +Originality and novelty : 5 +Relevance to the call of papers : 10 +Readability and organization : 7 +Technical quality : 6 +Overall recommendation : 5 +Confidence : 5 +A talk on this paper would be of interest to a broad cross-section of the EC community : 8 + +-- Comments to the author(s): +The authors consider a special case of the submodular budgeted procurement problem introduced by Singer [2010]. In the problem considered in this paper, an experimenter seeks to procure the participation of "subjects", the data points, for an experiment, with the goal of reconstructing a linear model through regression. The experimenter has a budget, and the subjects have a private cost for participating in the experiment. The authors' model assumes that data procured from the subjects is subject to Gaussian noise, and moreover the experimenter's prior over the linear model is also Gaussian. Under these assumptions, the relative entropy, aka the information gain, as a function of the participants in the experiment is a submodular function. Therefore, the budgeted variant of the problem in the strategic setting fits in the framework of Singer [2010]. + + + +As the authors point out, there already exists a randomized, polynomial time, universally truthful, constant approximation for the general submodular budgeted procurement problem. The authors' result strengthens this to a deterministic mechanism, albeit with a slightly worse constant factor approximation. The approach of the authors has been used by Singer and Chen et al for different special cases of the submodular procurement problem, and requires the ability to estimate the full-information optimum value to within a constant factor. As in those prior works, the authors do so by constructing a specialized relaxation of their problem satisfying certain properties. The main technical contribution is the formulation of this relaxation, and proving its integrality gap via a connection to the multilinear relaxation of the submodular relative entropy function. The proof of this Lemma is nontrivial and interesting. + + + +However, there are several factors that leave me unexcited about the contributions of this paper. First and foremost, the result is fairly incremental: there already exists a constant factor, _universally_ truthful, mechanism for this problem from prior work due to Singer. Making it deterministic is somehow underwhelming, especially since Singer's result is _barely_ randomized, in the sense that it randomizes over two outcomes, one of which is the unlikely outcome that a single participant in the experiment dominates the optimum value. Second, the model makes several strong assumptions: the noise is Gaussian, and the prior is Gaussian. Relaxing these assumptions would be nice. Last and least, the authors' exposition of their model in Section 3 leaves too much to the reader -- I found myself doing too much matrix algebra to verify the expressions derived by the authors, and to gain some intuition as to their meaning. I'm sure this would be elementary to a statistician, but for + an EC a + udience the presentation should be much more self contained. + + + -- Summary: + To summarize, whereas the technical work in this paper is interesting, the conceptual contribution is not particularly exciting. I would say this is a marginal accept. + ---------- End of Review from Reviewer 3 ---------- + + ------------- Review from Reviewer 4 ------------- + Evaluation of work and contribution : 8 + Significance : 8 + Originality and novelty : 8 + Relevance to the call of papers : 10 + Readability and organization : 9 + Technical quality : 8 + Overall recommendation : 8 + Confidence : 10 + A talk on this paper would be of interest to a broad cross-section of the EC community : 10 + + -- Comments to the author(s): + This paper studies the problem of how to design incentive compatible mechanisms for experimental design in the budget feasibility model. In this model there are multiple strategic agents, each selling some service and a buyer with a budget and a combinatorial utility function defined over the agents' services. The objective is to design an incentive compatible mechanism that maximizes the buyer's utility function s.t. the sum of payments made to agents does not exceed the budget. The paper considers the buyer's objective to be a standard model of D-optimal design where the objective is to select a subset of experiments that minimize the error covariance matrix. The main result in the paper is a deterministic budget feasible mechanism for the experiment design problem which is guaranteed to be within a factor of 12.68 of the optimal omniscient solution (i.e. the solution that can be obtained without computational limitation and when knowing all agents' costs apriori). + + + + The paper addresses the problem of procuring information efficiently in strategic setting. The model suggested in the paper is novel and interesting. It captures settings in which the objective is to efficiently buy information from strategic agents, and could have many applications in data markets, crowdsourcing, and recommendation systems. + + + + From a technical perspective, the main result in this paper introduces new techniques that could be of general interest. The main result in the paper is a deterministic budget feasible mechanism for the experiment design problem. The main technical component in this result is a construction of a maximum operator that is used by the mechanism which is necessary to obtain a constant factor approximation guarantee without breaking truthfulness. This operator is constructed using a framework that was previously introduced in this context, though the techniques are novel. + + + + The main idea is to construct a concave relaxation L so that its optimal solution could be obtained in polynomial time and is approximately close to the proportional share solution (the main workhorse of the budget feasibility framework). Showing that L is approximately close to the proportional share solution is done by showing an integrality gap of 2 via a sophisticated technique. By using pipage rounding, the authors show that the multilinear relaxation F can round any solution -- and in particular the optimal solution to the concave relaxation -- without decreasing its value in F. The authors then show that the multilinear relaxation F approximates the concave relaxation L by bounding the partial derivatives of the ratio between L and F. This is an interesting and new approach that can be applied in other settings as well. + + + + + + + + Comments to the authors: + + + + 1. The paper needs to provide a concrete example showing that the maximum operator breaks incentive compatibility. The main technical content of the paper shows a nice way to approximate the maximum operator between two solutions, though there is no example for why taking the maximum of the two solutions breaks incentive compatibility. + + + + It is known that for additive functions, one can use the maximum operator directly without loosing incentive compatibility; The example in which using the maximum operator breaks incentive compatibility is when the buyer has a coverage function (and hence a special case of submodular). In the problem the paper studies the buyer's valuation function is more general than additive and is a special case of submodular. Hence, without an example for why applying the maximum directly breaks incentive compatibility, there is no justification for using an approximate operator. This issue can be easily resolved as well by providing such an example. + + + + 2. Since additive functions is a special case of the Experiment Design objective, the lower bound in 5.3 seems redundant due to Singer 2010. Also, for additive functions a better lower bound can be obtained of 2 + sqrt{2} due to Chen et. al 2011. + + + + + + + + + -- Summary: + In summary, this is an interesting paper that does a very nice job in modeling information procurement. It seems likely it will have many applications in domains that are relevant to the EC community. From a technical perspective it is also quite interesting and introduces a nice rounding technique that can be further used in other areas. + ---------- End of Review from Reviewer 4 ---------- diff --git a/old_notes.tex b/old_notes.tex deleted file mode 100644 index 8dc2c7b..0000000 --- a/old_notes.tex +++ /dev/null @@ -1,377 +0,0 @@ -\documentclass{article} -\usepackage[utf8]{inputenc} -\usepackage{amsmath,amsthm,amsfonts} -\usepackage{comment} -\newtheorem{lemma}{Lemma} -\newtheorem{prop}{Proposition} -\newcommand{\var}{\mathop{\mathrm{Var}}} -\newcommand{\condexp}[2]{\mathop{\mathbb{E}}\left[#1|#2\right]} -\newcommand{\expt}[1]{\mathop{\mathbb{E}}\left[#1\right]} -\newcommand{\norm}[1]{\lVert#1\rVert} -\newcommand{\tr}[1]{#1^*} -\newcommand{\ip}[2]{\langle #1, #2 \rangle} -\newcommand{\mse}{\mathop{\mathrm{MSE}}} -\newcommand{\trace}{\mathop{\mathrm{tr}}} -\begin{document} - - -\section{pomme} - -In this section, we will consider that we are given a \emph{universe} -set $U$ such that all the sets we consider are subsets or $U$ and all -functions defined on sets are defined on the power set of $U$, -$\mathfrak{P}(U)$. - -A function $f$ defined on $\mathfrak{P}(U)$ will be said -\emph{increasing} if it is increasing with regards to inclusion, that -is: -\begin{displaymath} - \forall\,S\subseteq T,\quad f(S)\leq f(T) -\end{displaymath} -A \emph{decreasing} function on $\mathfrak{P}(U)$ is defined similarly. - -\begin{prop} - Let $R:\mathbf{R}\rightarrow \mathbf{R}$ be a decreasing concave - function and $f:\mathfrak{P}(U)\rightarrow\mathbf{R}$ be a - decreasing submodular function, then the composed function $R\circ - f$ is increasing and supermodular. -\end{prop} - -\begin{proof} - The increasingness of $R\circ f$ follows immediately from the - decreasingness of $R$ and $f$. - - For the supermodularity, let $S$ and $T$ be two sets such that - $S\subseteq T$. By decreasingness of $f$, we have: - \begin{displaymath} - \forall\,V,\quad f(T)\leq f(S)\quad\mathrm{and}\quad f(T\cup V)\leq f(S\cup V) - \end{displaymath} - - Thus, by concavity of $R$: - \begin{displaymath}\label{eq:base} - \forall\,V,\quad\frac{R\big(f(S)\big)-R\big(f(S\cup V)\big)}{f(S)-f(S\cup V)} - \leq\frac{R\big(f(T)\big)-R\big(f(T\cup V)\big)}{f(T)-f(T\cup V)} - \end{displaymath} - - $f$ is decreasing, so multiplying this last inequality by - $f(S)-f(S\cup V)$ and $f(T)-f(T\cup V)$ yields: - \begin{multline} - \forall V,\quad\Big(R\big(f(S)\big)-R\big(f(S\cup V)\big)\Big)\big(f(T)-f(T\cup V)\big)\\ - \leq \Big(R\big(f(T)\big)-R\big(f(T\cup V)\big)\Big)\big(f(S)-f(S\cup V)\big) - \end{multline} - - $f$ is submodular, so: - \begin{displaymath} - f(T\cup V)-f(T)\leq f(S\cup V) - f(S) - \end{displaymath} - - $R\circ f$ is increasing, so: - \begin{displaymath} - R\big(f(S)\big)-R\big(f(S\cup V)\big)\leq 0 - \end{displaymath} - - By combining the two previous inequalities, we get: - \begin{multline*} - \forall V,\quad\Big(R\big(f(S)\big)-R\big(f(S\cup V)\big)\Big)\big(f(S)-f(S\cup V)\big)\\ - \leq \Big(R\big(f(S)\big)-R\big(f(S\cup V)\big)\Big)\big(f(T)-f(T\cup V)\big) - \end{multline*} - - Injecting this last inequality into \eqref{eq:base} gives: - \begin{multline*} - \forall V,\quad\Big(R\big(f(S)\big)-R\big(f(S\cup V)\big)\Big)\big(f(S)-f(S\cup V)\big)\\ - \leq \Big(R\big(f(T)\big)-R\big(f(T\cup V)\big)\Big)\big(f(S)-f(S\cup V)\big) - \end{multline*} - - Dividing left and right by $f(S)-f(S\cup V)$ yields: - \begin{displaymath} - \forall V,\quad R\big(f(S)\big)-R\big(f(S\cup V)\big) - \leq R\big(f(T)\big)-R\big(f(T\cup V)\big) - \end{displaymath} - which is exactly the supermodularity of $R\circ f$. -\end{proof} - - - -\section{Understanding the recommender system} - -\subsection{General problem} - -We already have a database $D_n$ of $n$ users. For each user $i$ we -have a set of $k$ explanatory variables (features), this is a vector -$x_i$. - -The problem is the following: we are about to start an experiment where for -some of the users in the database, a variable of interest $y_i$ will -be revealed (it could be for example a medical survey, a website which -buys some data from another website). From the pairs $(x_i, y_i)$ that -we will acquire through the experiment, we are going to compute a -regression function $f_n$ which will allow us to predict for a new $x$ -its associated $y$. The accuracy of this prediction will be measured -by the Mean Squared Error : -\begin{displaymath} - \mse(f_n) = \expt{\big(f_n(x)-y\big)^2} -\end{displaymath} - -We would like to understand the impact of the number of users who take -part in the experiment. Especially, how much does adding a user to the -experiment impacts the MSE. - -\subsection{From the bivariate normal case to linear regression} -If $(X,Y)$ is drawn from a bivariate normal distribution with mean -vector $\mu$ and covariance matrix $\Sigma$. Then, one can -write: -\begin{displaymath} - Y = \condexp{Y}{X} + \big(Y-\condexp{Y}{X}\big) -\end{displaymath} -In this particular case, $\condexp{Y}{X}$ is a linear function of $X$: -\begin{displaymath} -\condexp{Y}{X} = \alpha X + \beta -\end{displaymath} -where $\alpha$ and $\beta$ can be expressed as a function of $\mu$ and -$\Sigma$. Writing $\varepsilon = Y-\condexp{Y}{X}$, it is easy to see -that $\expt{X\varepsilon}=0$. Furthermore $\varepsilon$ is also normally -distributed. Under these assumptions, it can be proven that the least -square estimator for $(\alpha,\beta)$ is optimal (it reaches the -Cramér-Rao bound). - -\subsection{Linear regression} - -We assume a linear model: -\begin{displaymath} - y_i = \beta\cdot x_i + \varepsilon_i -\end{displaymath} - -Where $\varepsilon_i$ is a normal random variable uncorrelated to -$x_i$. We also assume that $\var(\varepsilon_i)$ is constant -(homoscedasticity), $\sigma^2$ will denote the common value. - -From the database we compute the least-squared estimator of $\beta$: -\begin{displaymath} - \hat{\beta}_n = (\tr XX)^{-1}\tr XY -\end{displaymath} -where $X$ is a $n\times k$ matrix ($k$ is the number of explanatory -variables) whose $i$-th row $\tr x_i$ and $Y$ is $(y_1,\ldots,y_n)$. - -The regression function is simply the inner product of $\hat{\beta}_n$ -and the new vector of explanatory variables $x$. - -From there we can compute the MSE: -\begin{displaymath} - \mse(D_n) - =\expt{\left(\beta\cdot x + \varepsilon - \hat\beta_n\cdot x\right)^2} - = \tr x\expt{(\hat\beta_n-\beta)\cdot (\hat\beta_n-\beta)} x + \expt{\varepsilon^2} -\end{displaymath} -where we used that -$\expt{x\varepsilon}=0$. The variance-covariance matrix of -$\hat\beta_n$ is equal to $\sigma^2(\tr XX)^{-1}$. Finally we get: -\begin{displaymath} - \mse(D_n) - = \sigma^2\tr x(\tr XX)^{-1}x + \sigma^2 -\end{displaymath} - -\subsubsection*{Monotonicity} - -We first want to study the impact of adding one observation to the -database. First, notice that: -\begin{displaymath} - \tr XX = \sum_{i=1}^n x_i \tr x_i -\end{displaymath} -Let write $A= \tr X X$. Then, adding $x_0$ to the database will change -$A$ to $A+x_0\tr x_0$. - -The following derivation will make an extensive use of the -Sherman-Morrisson formula \cite{sm} (which can be proven by direct -verification). For any invertible matrix $A$: -\begin{equation}\label{eq:inverse} -(A+x\tr y)^{-1} = A^{-1} - \frac{A^{-1}x\tr yA^{-1}}{1+\tr x A^{-1}y} -\end{equation} - -$A^{-1}$ is the inverse of a positive semidefinite matrix. Hence it is -also positive semidefinite. We will denote by $\ip{x}{y}$ the scalar product defined by $A^{-1}$, -that is: -\begin{displaymath} - \ip{x}{y} = \tr x A^{-1} y = \tr y A^{-1} x -\end{displaymath} - -Using \eqref{eq:inverse} we get: -\begin{displaymath} -\begin{split} - \tr x (A + x_0\tr x_0)^{-1} x & = \tr x A^{-1} x - \frac{\tr x - A^{-1}x_0\tr x_0A^{-1} x}{1+\tr x_0 A^{-1}x_0 }\\ -& = \tr x A^{-1} x - \frac{\ip{x}{x_0}^2}{1+\norm{x_0}^2} -\end{split} -\end{displaymath} - -Thus: -\begin{equation}\label{eq:decrease} -\mse(D_n\cup\{x_0\}) = \mse(D_n) - \frac{\sigma^2\ip{x}{x_0}^2}{1+\norm{x_0}^2} -\end{equation} - -\emph{Adding one observation to the database decreases the MSE.} - -\subsubsection*{Submodularity} - -Let $D_m$ a database of size $m$ containing $D_n$: $D_m$ is obtained -from $D_n$ by adding some observations. We would like to show that -adding one observation to $D_m$ yields a smaller decrease in MSE than -adding the same observation to $D_n$: -\begin{displaymath} - \mse(D_m)-\mse(D_m\cup\{x_0\})\leq \mse(D_n)-\mse(D_n\cup\{x_0\}) -\end{displaymath} - -First, remark that it is necessary and sufficient to prove this property when $D_n$ and -$D_m$ differ by only one observation. Indeed, if the property is true -in general, then it will also be true when the two databases differ by -only one observation. Conversely, if the property is true when the two -databases differ by only one observation, then applying the property -repeatedly yields the general property. - -Using \eqref{eq:decrease}, the decrease of MSE when adding $x_0$ to -the database is: -\begin{displaymath} - \frac{\sigma^2(\tr x A^{-1} x_0)^2}{1+\tr x_0 A^{-1} x_0} -\end{displaymath} - -If we denote by $z$ the additional observation present in $D_m$ and -not in $D_n$, then we would like to prove that: -\begin{displaymath} - \frac{\sigma^2(\tr x A^{-1} x_0)^2}{1+\tr x_0 A^{-1} x_0} -\geq \frac{\sigma^2\left(\tr x (A+z\tr z)^{-1} x_0\right)^2}{1+\tr x_0 (A+z\tr z)^{-1} x_0} -\end{displaymath} - -Using the same notations as before, this is equivalent -to: -\begin{displaymath} - \frac{\ip{x}{x_0}^2}{1+\norm{x_0}^2} -\geq \frac{\left(\left(1+\norm{z}^2\right)\ip{x}{x_0}-\ip{x}{z}\ip{z}{x_0}\right)^2} -{\left(1+\norm{z}^2\right)\big((1+\norm{z}^2)(1+\norm{x_0}^2)-\ip{x_0}{z}^2\big)} -\end{displaymath} - -By the Cauchy-Schwarz inequality: -\begin{displaymath} - (1+\norm{z}^2)(1+\norm{x_0}^2)-\ip{x_0}{z}^2 > 0 -\end{displaymath} - -Thus the previous inequality is consequently equivalent to: -\begin{multline*} - \left(1+\norm{z}^2\right)^2\left(1+\norm{x_0}^2\right)\ip{x}{x_0}^2 --\left(1+\norm{z}^2\right)\ip{x_0}{z}^2\ip{x}{x_0}^2\\ -\geq \left(1+\norm{x_0}^2\right)\left(1+\norm{z}^2\right)^2\ip{x}{x_0}^2 -+ \left(1+\norm{x_0}^2\right)\ip{x}{z}^2\ip{z}{x_0}^2\\ --2\left(1+\norm{x_0}^2\right)\left(1+\norm{z}^2\right)\ip{x}{x_0}\ip{x}{z}\ip{z}{x_0} -\end{multline*} - -\begin{multline*} -2\left(1+\norm{x_0}^2\right)\left(1+\norm{z}^2\right)\ip{x}{x_0}\ip{x}{z}\ip{z}{x_0}\\ -\geq \left(1+\norm{x_0}^2\right)\ip{x}{z}^2\ip{z}{x_0}^2 -+ \left(1+\norm{z}^2\right)\ip{x_0}{z}^2\ip{x}{x_0}^2 -\end{multline*} - -This last inequality is not true in general. As soon as $x$, $x_0$ and -$z$ span a 2-dimensional space, it is possible that for example -$\ip{x}{x_0}$ and $\ip{x}{z}$ are positive and $\ip{z}{x_0}$ -negative. Then the left term of the inequality will be negative and -cannot be greater than the right term which is always positive. - -In the one-dimensional case, the inner product $\ip{x}{z}$ can be -written as $\lambda xz$ for some positive $\lambda$. Then the last -inequality becomes: -\begin{displaymath} - 2\geq \frac{\lambda z^2}{1+\lambda z^2} -+ \frac{\lambda x_0^2}{1+\lambda x_0^2} -\end{displaymath} -which is trivially true (a more direct proof for the one-dimensional -case is of course possible). - -In order to understand more precisely under which assumptions the -above inequality could become true, it is convenient to look at it -from the quadratic form perspective. Indeed this inequality can be -rewritten as: - -\begin{equation}\label{eq-inequality} -\tr x B x \geq 0 -\end{equation} - -with: -\begin{align*} - B = &\, \left(1+\norm{x_0}^2\right)\left(1+\norm{z}^2\right)\ip{x_0}{z} - (x_0\tr z+z\tr x_0)\\ -& -\ip{x_0}{z}^2\Big( \left(1+\norm{x_0}^2\right)z\tr z + \left(1+\norm{z}^2\right)x_0\tr z\big) -\end{align*} - -This quadratic form is degenerate, its kernel is $x_0^{\bot}\cap -z^\bot$ which is of dimension $k-2$. - -\paragraph{Case when $\norm{x_0}=\norm{z}=1$} In this case, it suffices to study the quadratic form given by matrix -$B'$ with: -\begin{displaymath} - B' = 2\ip{x_0}{z}(x_0\tr z+z\tr x_0) -\ip{x_0}{z}^2(z\tr z + x_0\tr x_0) -\end{displaymath} - -Writing $a = \ip{x_0}{z}$, the two non-zero eigenvalues are: -\begin{align*} - \lambda_1 & = -2a^3 + 2a^2 + 4a = -2a(a+1)(a-2)\\ - \lambda_2 & = 2a^3 + 2a^2 - 4a = 2a(a-1)(a+2) -\end{align*} - -which are respectively associated with the eigenvectors: -\begin{align*} - x_1 & = x_0+z\\ - x_2 & = x_0 - z -\end{align*} - -By the Cauchy-Schwarz inequality, $a\in]-1,1[$, and the two -eigenvalues are of opposite sign on this interval. Thus inequality -\eqref{eq-inequality} does not hold for all $x$. - -\paragraph{In expectation?} If we assume a prior knowledge on the -distribution of $x$, writing $\Sigma$ the variance-covariance matrix -of $x$ and $\mu$ its mean vector, then taking the expectation of -\eqref{eq-inequality} we get: -\begin{displaymath} - \expt{\tr x B' x} = \trace(B'\Sigma) + \tr\mu B'\mu -\end{displaymath} - -\nocite{shapley,inverse,recommendation,cook,shapleyor,subsetselection11,lse} -\bibliographystyle{plain} -\bibliography{notes.bib} - -\section*{Appendix} - -\paragraph{Previous attempt at taming the submodularity} - -The inequality only depends on the projection of $x$ on the plane -spanned by $x_0$ and $z$. Writing -\begin{displaymath} - x = \lambda x_0 + \mu z + v,\quad\mathrm{with}\quad v \,\bot\, - \mathrm{span}\{x_0, v\} -\end{displaymath} -the previous inequality becomes: -\begin{multline*} -2\left(1+\norm{x_0}^2\right)\left(1+\norm{z}^2\right)\ip{x_0}{z} -\left(\lambda\norm{x_0}^2+\mu\ip{x_0}{z}\right) -\left(\lambda\ip{x_0}{z}+\mu\norm{z}^2\right)\\ -- \left(1+\norm{x_0}^2\right)\ip{x_0}{z}^2\left(\lambda\ip{x_0}{z}+\mu\norm{z}^2\right)^2\\ -- -\left(1+\norm{z}^2\right)\ip{x_0}{z}^2\left(\lambda\norm{x_0}^2+\mu\ip{x_0}{z}\right)^2\geq 0 -\end{multline*} - -By expanding and reordering the terms, we obtain a quadratic function -of $\lambda$ and $\mu$: -\begin{multline*} - \lambda^2\ip{x_0}{z}^2\left[2\norm{x_0}^2+\norm{x_0}^4+\norm{x_0}^2\norm{z}^2 - +(1+\norm{x_0})^2\big(\norm{x_0}^2\norm{z}^2-\ip{x_0}{z}^2\big)\right]\\ -+\mu^2\ip{x_0}{z}^2\left[2\norm{z}^2+\norm{z}^4+\norm{x_0}^2\norm{z}^2 - +(1+\norm{z})^2\big(\norm{x_0}^2\norm{z}^2-\ip{x_0}{z}^2\big)\right]\\ -+2\lambda\mu\ip{x_0}{z}\Big[\norm{x_0}^2\norm{z}^2 -\big(\norm{x_0}^2\norm{z}^2-\ip{x_0}{z}^2\big)\\ -+\ip{x_0}{z}^2+\norm{x_0}^2\norm{z}^2 -\big(1+\norm{x_0}^2+\norm{z}^2\big)\Big]\geq 0 -\end{multline*} - -This inequality will be true for all $\lambda$ and $\mu$ if and only -if the quadratic form is positive semidefinite. As its trace is -positive, this is equivalent to the positiveness of its determinant. - - -\end{document}
\ No newline at end of file diff --git a/stoc/reviews.txt b/stoc/reviews.txt new file mode 100644 index 0000000..409e1f5 --- /dev/null +++ b/stoc/reviews.txt @@ -0,0 +1,47 @@ +=========================================================================== +STOC 2013 Review #88A +Updated Friday 7 Dec 2012 6:09:37pm EST +--------------------------------------------------------------------------- +Paper #88: Budget Feasible Mechanisms for Experimental Design +--------------------------------------------------------------------------- + + +===== Paper summary ===== + +The authors study budget feasible mechanism design for experimental design. In this problem, an experimenter is trying to learn a multi-linear form. Agents own vectors of characteristics and the experimenter must buy these vectors from the agents. Costs are private; everything else is public. The goal is to learn by buying samples while staying within a budget constraint. The authors show how to solve this problem by casting a fractional relaxation of the objective as a convex optimization problem. The difficulty lies in showing this new problem is approximately optimal. + +===== Submission's strengths ===== + +The problem area seems quite interesting -- experimental design is an important field and has a long history cited by the authors. The technique is also interesting. While the idea of converting a problem to a convex one is not new, in this case it requires significant analysis. Furthermore it is nice to see that the "intuitive" approach actually does work out as you would have hoped. + +===== Submission's weaknesses ===== + +The major weakness here, and maybe I'm missing something, is that the result is almost subsumed by prior work for general submodular functions. As the authors mention, for that general case (of which their problem is a specific case), there is a constant-approximate budget feasible mechanism which is randomized and universally truthful. Their mechanism is truthful, but this comes at a (constant) cost in the approximation factor. The authors did not discuss why the randomized universally truthful mechanism was not satisfactory. + +=========================================================================== +STOC 2013 Review #88B +Updated Saturday 8 Dec 2012 3:07:07pm EST +--------------------------------------------------------------------------- +Paper #88: Budget Feasible Mechanisms for Experimental Design +--------------------------------------------------------------------------- + + +===== Paper summary ===== + +Summary of their result: This paper proposes an interesting family of mechanism design problems for experiment design. They consider the setting where each experiment subject has a private cost, and might lie about it. The experimenter has a budget, and wants to design a truthful, budget feasible mechanism that selects an optimal set of subjects to do the experiment with, with respect to some optimality criterion for the accuracy of the experiment. The paper focuses on linear regression, so the goal of the designer is to get as good a linear regression as possible given the existing subjects and the budget constraint. They provide the first deterministic, poly-time, truthful, budget feasible mechanism for this problem that achieves a constant factor approximation to the optimum, and showed a lower bound of 2. + +Strength: The model proposed in this paper is nice and more realistic than the traditional model for experiment design. It is also interesting that their model can be applied to many learning problems, and using existing results, they get approximately optimal mechanisms for these problems. + +Weakness: The problem considered in this paper is a special case of the budget feasible reversed auction design problem [Singer, Chen et.al.]. For the more general problem, existing results [Chen et.al.] achieve better constant factor approximation with randomized mechanisms. These mechanisms are randomized but universally truthful, so from a bidder's point of view it should not be that different from a deterministic truthful one. + +Also, a deterministic truthful mechanism is proposed in [Chen et.al.], which also achieves a better constant factor than this result, but it is not computationally efficient as it requires solving an NP-hard problem exactly. In this paper, the mechanism is basically the same, except they solved a relaxation of the NP-hard problem instead of the exact one. It is a natural and interesting technique, but might only be useful for the special case studied in this paper. + +===== Submission's strengths ===== + +The model proposed in this paper is nice and more realistic than the traditional model for experiment design. It is also interesting that their model can be applied to many learning problems, and using existing results, they get approximately optimal mechanisms for these problems. + +===== Submission's weaknesses ===== + +The problem considered in this paper is a special case of the budget feasible reversed auction design problem [Singer, Chen et.al.]. For the more general problem, existing results [Chen et.al.] achieve better constant factor approximations with randomized mechanisms. These mechanisms are randomized but universally truthful, so from a bidder's point of view it should not be that different from a deterministic truthful one. + + diff --git a/stoc_paper.pdf b/stoc/stoc.pdf Binary files differindex 7b322ef..7b322ef 100644 --- a/stoc_paper.pdf +++ b/stoc/stoc.pdf diff --git a/stoc_paper.tex b/stoc_paper.tex deleted file mode 100644 index cbb13af..0000000 --- a/stoc_paper.tex +++ /dev/null @@ -1,49 +0,0 @@ -\documentclass{acm_proc_article-sp} -\usepackage[utf8]{inputenc} -\usepackage{amsmath,amsfonts} -\usepackage{algorithm} -\usepackage{algpseudocode,bbm,color,verbatim} -\input{definitions} -\title{Budget Feasible Mechanisms for Experimental Design} - -%Remove permission block empty space -\makeatletter -\let\@copyrightspace\relax -\makeatother - -\numberofauthors{3} -\author{ -\alignauthor Thibaut Horel\\ %\titlenote{\texttt{thibaut.horel@ens.fr}}\\ - \affaddr{Technicolor}\\ - \email{thibaut.horel@ens.fr} -\alignauthor Stratis Ioannidis\\ % \titlenote{\texttt{stratis.ioannidis@technicolor.com}}\\ - \affaddr{Technicolor}\\ - \email{stratis.ioannidis\\@technicolor.com} -\alignauthor S. Muthukrishnan\\% \titlenote{\texttt{muthu@cs.rutgers.edu}}\\ - \affaddr{Rutgers University, Microsoft Research}\\ - \email{muthu@cs.rutgers.edu} -} -\begin{document} - -\maketitle -\begin{abstract} -\input{abstract} -\end{abstract} -\section{Introduction} -\input{intro} - -\section{Preliminaries}\label{sec:peel} -\input{problem} -\section{Mechanism for \EDP{}} -\input{main} -\section{Extension to Other Problems}\label{sec:ext} -\input{general} -%\section{Conclusion} -%\input{conclusion} -\begin{small} -\bibliographystyle{abbrv} -\bibliography{notes} -\end{small} -\appendix -\input{appendix} -\end{document} |
