summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2013-02-10 10:41:59 -0800
committerThibaut Horel <thibaut.horel@gmail.com>2013-02-10 10:41:59 -0800
commitb97de83531a0d2034b7b62cca7403b7955d038c7 (patch)
tree651886c09d403097c8c2c6573936f5b5363fed7b
parent08a282949ec22b77cb9477103e640b4f9954ba80 (diff)
downloadrecommendation-b97de83531a0d2034b7b62cca7403b7955d038c7.tar.gz
Forgot acmsmall files
-rw-r--r--acmsmall.bst1865
-rw-r--r--ec-acmsmall.cls3728
2 files changed, 5593 insertions, 0 deletions
diff --git a/acmsmall.bst b/acmsmall.bst
new file mode 100644
index 0000000..255895f
--- /dev/null
+++ b/acmsmall.bst
@@ -0,0 +1,1865 @@
+% "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/ec-acmsmall.cls b/ec-acmsmall.cls
new file mode 100644
index 0000000..d68e9ef
--- /dev/null
+++ b/ec-acmsmall.cls
@@ -0,0 +1,3728 @@
+%% 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
+
+