summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-31 23:22:45 +0000
committerKarl Berry <karl@freefriends.org>2017-03-31 23:22:45 +0000
commit49ec51835aa8913d04026b0b07cd1bbe1b379d0f (patch)
tree34649d1aef03af7634f7c467dc3ea18b7f859d5a
parent32d519d1c0351816024af5a8f7671f38981f5fa8 (diff)
acmart (31mar17)
git-svn-id: svn://tug.org/texlive/trunk@43660 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst281
-rw-r--r--Master/texmf-dist/doc/latex/acmart/Makefile3
-rw-r--r--Master/texmf-dist/doc/latex/acmart/README17
-rw-r--r--Master/texmf-dist/doc/latex/acmart/acmart.bib85
-rw-r--r--Master/texmf-dist/doc/latex/acmart/acmart.pdfbin700944 -> 752775 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/acmguide.pdfbin421150 -> 442739 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdfbin611083 -> 638201 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdfbin626655 -> 644304 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdfbin585821 -> 604659 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib2
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdfbin665157 -> 684657 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdfbin1292760 -> 1302800 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdfbin1077217 -> 1101700 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdfbin0 -> 652563 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.tex164
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdfbin608998 -> 631195 bytes
-rw-r--r--Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdfbin978385 -> 997417 bytes
-rw-r--r--Master/texmf-dist/source/latex/acmart/acmart.dtx630
-rw-r--r--Master/texmf-dist/tex/latex/acmart/acmart.cls271
19 files changed, 1049 insertions, 404 deletions
diff --git a/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst
index 0ba60480249..53f7ba58b16 100644
--- a/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst
+++ b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format.bst
@@ -6,7 +6,7 @@
%%% date = "10 July 2016",
%%% filename = "ACM-Reference-Format.bst",
%%% email = "beebe@math.utah.edu, beebe@acm.org,
-%%% beebe@computer.org, borisv@lk.net, murray@hq.acm.org",
+%%% beebe@computer.org, borisv@lk.net, murray@hq.acm.org",
%%% codetable = "ISO/ASCII",
%%% keywords = "ACM Transactions bibliography style; BibTeX",
%%% license = "public domain",
@@ -153,10 +153,10 @@
%
% Start of ACM-Reference-Format-Journals.bst
%
-% Note: Many of the new bibentry 'fields' will only work with the
+% Note: Many of the new bibentry 'fields' will only work with the
% 'ACM-Reference-Format-Journals.bst' file. Legacy .bib files (which will, in all probability,
% NOT contain these new fields) will _still_ work with the ACM-Reference-Format-Journals.bst.
-%
+%
%
ENTRY
{ address
@@ -187,9 +187,10 @@ ENTRY
type
volume
year
- % New keys recognized
+ % New keys recognized
issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra
articleno
+ eid
day % UTAH: needed for newspapers, weeklies, bi-weeklies
doi % UTAH
url % UTAH
@@ -223,6 +224,28 @@ STRINGS { last.label next.extra }
STRINGS { p1 p2 p3 page.count }
+FUNCTION { not }
+{
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION { and }
+{
+ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION { or }
+{
+ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
FUNCTION { dump.stack.1 }
{
duplicate$ "STACK[top] = [" swap$ * "]" * warning$
@@ -543,14 +566,22 @@ FUNCTION { output.coden } % UTAH
FUNCTION { format.articleno }
{
- articleno empty.or.unknown
+ articleno empty.or.unknown not eid empty.or.unknown not and
+ { "Both articleno and eid are defined for " cite$ * warning$ }
+ 'skip$
+ if$
+ articleno empty.or.unknown eid empty.or.unknown and
{ "" }
{
numpages empty.or.unknown
- { "articleno field, but no numpages field, in " cite$ * warning$ }
+ { "articleno or eid field, but no numpages field, in "
+ cite$ * warning$ }
{ }
if$
- "Article \bibinfo{articleno}{" articleno * "}" *
+ eid empty.or.unknown
+ { "Article \bibinfo{articleno}{" articleno * "}" * }
+ { "Article \bibinfo{articleno}{" eid * "}" * }
+ if$
}
if$
}
@@ -559,7 +590,7 @@ FUNCTION { format.year }
{ % push year string or "????" onto output stack
%% Because year is a mandatory field, we always force SOMETHING
%% to be output
- "\bibinfo{year}{"
+ "\bibinfo{year}{"
year empty.or.unknown
{ "????" }
{ year }
@@ -590,9 +621,13 @@ FUNCTION { format.day.month.year } % UTAH
% Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.)
% acm-*.bst addition: prefix parenthesized date string with
% ", Article nnn "
- articleno empty.or.unknown
+ articleno empty.or.unknown eid empty.or.unknown and
{ "" }
- { ", " format.articleno * }
+ { output.state after.block =
+ {", " format.articleno * }
+ { format.articleno }
+ if$
+ }
if$
" (" * format.day.month * format.year * ")" *
}
@@ -636,7 +671,7 @@ FUNCTION { strip.doi } % UTAH
t #1 #7 substring$ "http://" =
{
- t #8 t text.length$ #7 - substring$ 't :=
+ t #8 t text.length$ #7 - substring$ 't :=
"INTERNAL STYLE-FILE ERROR" 's :=
@@ -773,21 +808,21 @@ FUNCTION { output.note.check } % UTAH
if$
}
-FUNCTION { output.eprint } %
+FUNCTION { output.eprint } %
{ % return with stack empty
eprint empty.or.unknown
{ }
- { "\showeprint"
+ { "\showeprint"
archiveprefix empty.or.unknown
{ }
{ "[" archiveprefix "l" change.case$ "]" * * * }
if$
"{" *
- primaryclass empty.or.unknown
+ primaryclass empty.or.unknown
{ }
{ primaryclass "/" * *}
if$
- eprint "}" * *
+ eprint "}" * *
writeln
}
if$
@@ -862,33 +897,13 @@ FUNCTION { output.year.check }
year empty.or.unknown
{ "empty year in " cite$ * warning$ }
{ write$
- " \bibinfo{year}{" year * "}" *
- "\natexlab{" extra.label * "}" * *
+ " \bibinfo{year}{" year * "}" *
+ "\natexlab{" extra.label * "}" * *
mid.sentence 'output.state :=
}
if$
}
-FUNCTION { not }
-{
- { #0 }
- { #1 }
- if$
-}
-
-FUNCTION { and }
-{
- 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION { or }
-{
- { pop$ #1 }
- 'skip$
- if$
-}
FUNCTION { le }
{
@@ -1253,8 +1268,8 @@ FUNCTION { format.authors }
{
author empty.or.unknown
{ "" }
- {
- "\bibfield{author}{"
+ {
+ "\bibfield{author}{"
author format.names add.period$ * "}" *} % jtb: add period if none before
if$
}
@@ -1285,8 +1300,8 @@ FUNCTION { format.editors.fml }
editor empty.or.unknown
{ "" }
{
- "\bibfield{editor}{"
- editor format.names.fml
+ "\bibfield{editor}{"
+ editor format.names.fml
* "}" *
editor num.names$ #1 >
{ " (Eds.)" * }
@@ -1301,7 +1316,7 @@ FUNCTION { format.editors }
editor empty.or.unknown
{ "" }
{
- "\bibfield{editor}{"
+ "\bibfield{editor}{"
editor format.names
* "}" *
editor num.names$ #1 >
@@ -1552,7 +1567,7 @@ FUNCTION { format.pages.check.without.articleno }
{ }
if$
- articleno empty.or.unknown
+ articleno empty.or.unknown eid empty.or.unknown and
{
pages missing$
{ numpages }
@@ -1597,13 +1612,7 @@ FUNCTION { format.page.count }
{
page.count empty.or.unknown
{ "" }
- {
- articleno empty.or.unknown
- { "numpages field, but no articleno field, in " cite$ * warning$ }
- { }
- if$
- "\bibinfo{numpages}{" page.count * "}~pages" *
- }
+ { "\bibinfo{numpages}{" page.count * "}~pages" * }
if$
}
@@ -1625,11 +1634,12 @@ FUNCTION { format.articleno.numpages }
%% numpages -> "numpages-value"
%% pages -> "pages-value"
- articleno empty.or.unknown
+ articleno empty.or.unknown eid empty.or.unknown and
{
numpages empty.or.unknown
{ }
- { "require articleno with numpages field in " cite$ * warning$ }
+ { "numpages field, but no articleno or eid field, in "
+ cite$ * warning$ }
if$
""
}
@@ -1638,7 +1648,8 @@ FUNCTION { format.articleno.numpages }
{
pages empty.or.unknown
{
- "require pages or numpages fields with articleno field in " cite$ * warning$
+ "articleno or eid, but no pages or numpages field in "
+ cite$ * warning$
"" 'page.count :=
}
{ reduce.pages.to.page.count }
@@ -1656,6 +1667,24 @@ FUNCTION { format.articleno.numpages }
if$
}
+FUNCTION {calc.format.page.count}
+{
+ numpages empty.or.unknown
+ {
+ pages empty.or.unknown
+ {
+ "" 'page.count :=
+ }
+ { reduce.pages.to.page.count }
+ if$
+ }
+ { numpages 'page.count := }
+ if$
+ format.page.count
+}
+
+
+
FUNCTION { format.journal.volume.number.day.month.year }
{
% By Young (and Spencer)
@@ -2102,12 +2131,19 @@ FUNCTION { format.journal.volume.number.day.month.year }
" \bibinfo{number}{" * number * "}" *
}
{ " \bibinfo{volume}{" * volume * "}, \bibinfo{number}{" *
- number * "}" *}
+ number * "}" *}
if$
}
if$
+ after.block 'output.state :=
- format.day.month.year *
+ % Sometimes proceedings are published in journals
+ % In this case we do not want to put year, day and month here
+
+ type$ "inproceedings" =
+ { }
+ {format.day.month.year * }
+ if$
}
FUNCTION { format.chapter.pages }
@@ -2172,7 +2208,7 @@ FUNCTION { format.tr.number }
{
"\bibinfo{type}{"
type empty.or.unknown
- { "{T}echnical {R}eport" }
+ { "{T}echnical {R}eport" }
'type
if$
"}" * *
@@ -2303,23 +2339,6 @@ FUNCTION { author.key.label }
if$
}
-FUNCTION { author.key.organization.label }
-{ % added - gnp. Provide label formatting by organization if author is null.
- author empty.or.unknown
- { organization empty.or.unknown
- { key empty.or.unknown
- { "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.or.unknown
@@ -2354,30 +2373,58 @@ FUNCTION { author.editor.key.label }
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.
+FUNCTION { author.editor.key.organization.label }
+{ % added - gnp. Provide label formatting by organization if author is null.
+ author empty.or.unknown
+ { editor empty.or.unknown
+ { organization empty.or.unknown
+ { key empty.or.unknown
+ { "no key, author, editor or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION { calc.basic.label }
+{
type$ "book" =
type$ "inbook" =
or
- type$ "periodical" =
+ type$ "article" =
or
'author.editor.key.label
{ type$ "proceedings" =
+ type$ "periodical" =
+ or
'editor.key.organization.label
{ type$ "manual" =
- 'author.key.organization.label
+ 'author.editor.key.organization.label
'author.key.label
if$
}
if$
}
if$
+}
+
+FUNCTION { calc.label }
+{
+ % Changed - GNP. See also author.editor.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.
+
+ calc.basic.label
author empty.or.unknown % generate the full label citation information.
{
@@ -2460,7 +2507,7 @@ FUNCTION { output.issue.doi.coden.isxn.lccn.url.eprint }
output.lccn
output.doi % DOI is ALWAYS last according to CrossRef DOI documentation
output.eprint
- output.url % but ACM wants URL last
+ output.url % but ACM wants URL last
}
FUNCTION { output.issue.doi.coden.isxn.lccn.url.eprint.note }
@@ -2514,13 +2561,12 @@ FUNCTION { article }
if$
crossref missing$
- { format.journal.volume.number.day.month.year }
+ { format.journal.volume.number.day.month.year output}
{
"cross reference in @Article{...} is unusual" warning$
format.article.crossref output.nonnull
}
if$
- output
format.pages.check.without.articleno output
format.articleno.numpages output
@@ -2550,7 +2596,7 @@ FUNCTION { book }
new.block
format.number.series output
new.sentence
- publisher "publisher" bibinfo.output.check
+ publisher "publisher" bibinfo.output.check
address "address" bibinfo.output.check % jtb: require address
fin.sentence
pages empty.or.unknown
@@ -2743,7 +2789,7 @@ FUNCTION { mastersthesis }
format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title
new.block
"\bibinfo{thesistype}{Master's\ thesis}" format.thesis.type output
- new.sentence
+ new.sentence
school "school" bibinfo.output.check
address empty.or.unknown
{ }
@@ -2770,7 +2816,8 @@ FUNCTION { misc }
{ "\bibinfo{howpublished}{" howpublished "}" * * output }
if$
"" output.nonnull.dot.space
- output.day.month.year
+ output.day.month.year
+ calc.format.page.count output
fin.block
output.issue.doi.coden.isxn.lccn.url.eprint.note
fin.entry
@@ -2790,8 +2837,8 @@ FUNCTION { phdthesis }
new.block
format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title
new.block
- "\bibinfo{thesistype}{Ph.D. Dissertation}" format.thesis.type output
- new.sentence
+ "\bibinfo{thesistype}{Ph.D. Dissertation}" format.thesis.type output
+ new.sentence
school "school" bibinfo.output.check
address empty.or.unknown
{ }
@@ -2860,10 +2907,11 @@ FUNCTION { periodical }
{ format.editors output.nonnull }
if$
new.block
- output.year.check
+ output.year.check
new.sentence
format.articletitle "title" output.check
format.journal.volume.number.day.month.year output
+ calc.format.page.count output
fin.entry
}
@@ -2935,6 +2983,7 @@ FUNCTION { unpublished }
format.title "title" output.check
fin.sentence
output.day.month.year % UTAH
+ calc.format.page.count output
fin.block
output.issue.doi.coden.isxn.lccn.url.eprint.note.check
fin.entry
@@ -3184,15 +3233,15 @@ FUNCTION { author.editor.sort }
if$
}
-FUNCTION { author.organization.sort }
+FUNCTION { editor.organization.sort }
{
- % added - GNP. Stack author or organization for sorting (from alpha.bst).
+ % added - GNP. Stack editor or organization for sorting (from alpha.bst).
% Unlike alpha.bst, we need entire names, not abbreviations
- author empty.or.unknown
+ editor empty.or.unknown
{ organization empty.or.unknown
{ key empty.or.unknown
- { "to sort, need author, organization, or key in " cite$ * warning$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
""
}
{ key sortify }
@@ -3201,28 +3250,33 @@ FUNCTION { author.organization.sort }
{ organization sortify }
if$
}
- { author sort.format.names }
+ { editor sort.format.names }
if$
}
-FUNCTION { editor.organization.sort }
+FUNCTION { author.editor.organization.sort }
{
- % added - GNP. Stack editor or organization for sorting (from alpha.bst).
+ % added - GNP. Stack author or organization for sorting (from alpha.bst).
% Unlike alpha.bst, we need entire names, not abbreviations
- editor empty.or.unknown
- { organization empty.or.unknown
- { key empty.or.unknown
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
+ author empty.or.unknown
+ {
+ editor empty.or.unknown
+ { organization empty.or.unknown
+ { key empty.or.unknown
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
}
- { key sortify }
+ { organization sortify }
if$
}
- { organization sortify }
+ { editor sort.format.names }
if$
}
- { editor sort.format.names }
+ { author sort.format.names }
if$
}
@@ -3240,11 +3294,15 @@ FUNCTION { presort }
type$ "book" =
type$ "inbook" =
or
+ type$ "article" =
+ or
'author.editor.sort
{ type$ "proceedings" =
+ type$ "periodical" =
+ or
'editor.organization.sort
{ type$ "manual" =
- 'author.organization.sort
+ 'author.editor.organization.sort
'author.sort
if$
}
@@ -3283,7 +3341,7 @@ FUNCTION { forward.pass }
last.label
% OLD:calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
% NEW:
- author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ calc.basic.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 :=
@@ -3292,7 +3350,7 @@ FUNCTION { forward.pass }
"" 'extra.label :=
% OLD: calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
% NEW:
- author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ calc.basic.label year field.or.null purify$ #-1 #4 substring$ * % add year
#1 entry.max$ substring$ 'last.label := % assign to last.label
}
if$
@@ -3395,7 +3453,7 @@ FUNCTION { begin.bib }
"\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln
"\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above
"\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln
- "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln
+ "\ifx \showURL \undefined \def \showURL {\relax} \fi" writeln
"% The following commands are used for tagged output and should be " writeln
"% invisible to TeX" writeln
"\providecommand\bibfield[2]{#2}" writeln
@@ -3418,6 +3476,3 @@ FUNCTION { end.bib }
}
EXECUTE {end.bib}
-
-
-
diff --git a/Master/texmf-dist/doc/latex/acmart/Makefile b/Master/texmf-dist/doc/latex/acmart/Makefile
index 626bff6bade..7f5c1990c0d 100644
--- a/Master/texmf-dist/doc/latex/acmart/Makefile
+++ b/Master/texmf-dist/doc/latex/acmart/Makefile
@@ -14,6 +14,7 @@ SAMPLES = \
sample-acmlarge.tex \
sample-acmtog.tex \
sample-sigconf.tex \
+ sample-sigconf-authordraft.tex \
sample-sigplan.tex \
sample-sigchi.tex \
sample-sigchi-a.tex
@@ -59,7 +60,7 @@ sample-acmlarge.pdf \
sample-acmtog.pdf: samplebody-journals.tex
sample-sigconf.pdf \
-sample-siggraph.pdf \
+sample-sigconf-authordraft.pdf \
sample-sigplan.pdf \
sample-sigchi.pdf: samplebody-conf.tex
diff --git a/Master/texmf-dist/doc/latex/acmart/README b/Master/texmf-dist/doc/latex/acmart/README
index 9926b7f6308..ec9162742c4 100644
--- a/Master/texmf-dist/doc/latex/acmart/README
+++ b/Master/texmf-dist/doc/latex/acmart/README
@@ -1,6 +1,10 @@
This package provides a class for typesetting publications of
Association for Computing Machinery.
+Your TeX distribution probably includes the latest released version of
+this package. If you decide to install it yourself, please see
+Installation section of the User's Guide.
+
Changes
version 1.08 SIGPLAN reformatting (Matthew Fluet); bug fixes
@@ -78,3 +82,16 @@ version 1.32 New DOI formatting.
Format siggraph is now obsolete, and sigconf
is used instead.
New proceedings title: POMACS.
+
+version 1.33 New option `timestamp' (Michael D. Adams)
+ New option `authordraft'
+ Documentation updates
+ Bug fixes
+ We now use Type 1 versions of Libertine fonts even with XeTeX.
+ New hook acmart-preload-hook.tex (wizards only!)
+ Added new options `obeypunctuation' for \affiliation command
+ Added SubmissionID
+ Added right line count ruler for two-column formats
+ Added workaround for Adobe Acrobat bugs in selection
+ Added eid field to the bibliography
+
diff --git a/Master/texmf-dist/doc/latex/acmart/acmart.bib b/Master/texmf-dist/doc/latex/acmart/acmart.bib
index bb56301f3ee..a9fa7861af5 100644
--- a/Master/texmf-dist/doc/latex/acmart/acmart.bib
+++ b/Master/texmf-dist/doc/latex/acmart/acmart.bib
@@ -1,89 +1,80 @@
-@misc{TeXFAQ,
- author = {{UK \TeX{} Users Group}},
- howpublished = {\url{http://www.tex.ac.uk}},
- title = {{UK} List of {\TeX} Frequently Asked Questions},
- year = {2016},
+@Misc{TeXFAQ,
+ title = {{UK} List of {\TeX} Frequently Asked Questions},
+ author = {{UK \TeX{} Users Group}},
+ year = 2016,
+ howpublished = {\url{http://www.tex.ac.uk}}
}
@Manual{Downes04:amsart,
- title = {The \textsf{amsart}, \textsf{amsproc}, and
+ title = {The \textsf{amsart}, \textsf{amsproc}, and
\textsf{amsbook} document~classes},
author = {Michael Downes and Barbara Beeton},
organization = {American Mathematical Society},
year = 2004,
- month = {August},
- note = {\url{http://www.ctan.org/pkg/amslatex}}
-}
-
-@Manual{instr-l,
- title = {Instructions for Preparation of Papers and
- Monographs, {AMS\LaTeX}},
- organization = {American Mathematical Society},
- month = {August},
- year = 2004,
+ month = aug,
note = {\url{http://www.ctan.org/pkg/amslatex}}
}
@Manual{Fiorio15,
- title = {{a}lgorithm2e.sty---package for algorithms},
+ title = {{a}lgorithm2e.sty---package for algorithms},
author = {Cristophe Fiorio},
- month = {October},
year = 2015,
- annote = {\url{http://www.ctan.org/pkg/algorithm2e}}
+ month = oct,
+ note = {\url{http://www.ctan.org/pkg/algorithm2e}}
}
@Manual{Brito09,
- title = {The algorithms bundle},
+ title = {The algorithms bundle},
author = {Rog\'erio Brito},
- month = {August},
year = 2009,
- annote = {\url{http://www.ctan.org/pkg/algorithms}}
+ month = aug,
+ note = {\url{http://www.ctan.org/pkg/algorithms}}
}
-
@Manual{Heinz15,
- title = {The Listings Package},
+ title = {The Listings Package},
author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
- month = {June},
year = 2015,
+ month = jun,
note = {\url{http://www.ctan.org/pkg/listings}}
}
@Manual{Fear05,
- title = {Publication quality tables in {\LaTeX}},
+ title = {Publication quality tables in {\LaTeX}},
author = {Simon Fear},
- month = {April},
year = 2005,
+ month = apr,
note = {\url{http://www.ctan.org/pkg/booktabs}}
}
@Manual{ACMIdentityStandards,
- title = {{ACM} Visual Identity Standards},
+ title = {{ACM} Visual Identity Standards},
organization = {Association for Computing Machinery},
- year = 2007
+ year = 2007,
+ note = {\url{http://identitystandards.acm.org}}
}
@Manual{Sommerfeldt13:Subcaption,
- title = {The subcaption package},
- author = {Axel Sommerfeldt},
- month = {April},
- year = 2013,
- note = {\url{http://www.ctan.org/pkg/subcaption}},
+ title = {The subcaption package},
+ author = {Axel Sommerfeldt},
+ year = 2013,
+ month = apr,
+ note = {\url{http://www.ctan.org/pkg/subcaption}}
}
-
@Manual{Nomencl,
- title = {A package to create a nomenclature},
- author = {Boris Veytsman and Bern Schandl and Lee Netherton
- and CV Radhakrishnan},
- month = {September},
- note = {\url{http://www.ctan.org/pkg/nomencl}},
- year = 2005}
+ title = {A package to create a nomenclature},
+ author = {Boris Veytsman and Bern Schandl and Lee Netherton
+ and C. V. Radhakrishnan},
+ year = 2005,
+ month = sep,
+ note = {\url{http://www.ctan.org/pkg/nomencl}}
+}
@Manual{Talbot16:Glossaries,
- title = {User Manual for glossaries.sty v4.25},
- author = {Nicola L. C. Talbot},
- month = {June},
- year = 2016,
- note = {\url{http://www.ctan.org/pkg/subcaption}}}
-
+ title = {User Manual for glossaries.sty v4.25},
+ author = {Nicola L. C. Talbot},
+ year = 2016,
+ month = jun,
+ note = {\url{http://www.ctan.org/pkg/subcaption}}
+}
diff --git a/Master/texmf-dist/doc/latex/acmart/acmart.pdf b/Master/texmf-dist/doc/latex/acmart/acmart.pdf
index 3b791e6575e..50424b247e0 100644
--- a/Master/texmf-dist/doc/latex/acmart/acmart.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/acmart.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/acmguide.pdf b/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
index 1d2ae66f295..2313f4f64f3 100644
--- a/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf
index e198d583e8f..93d3e62ebc9 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf
index 8f45ae17da0..bed79309e6b 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf
index 976a46c6479..6ae236ed611 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib b/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib
index 7bc39956732..f87f308a170 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib
+++ b/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib
@@ -696,7 +696,7 @@ year = {2003},
year = "2005",
title = "Interview with Bill Kinder: January 13, 2005",
journal = "Comput. Entertain.",
- articleno = "4",
+ eid = "4",
volume = "3",
number = "1",
month = "Jan.-March",
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf
index 4c0c3f211c0..c0be7e1ab04 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf
index 6d38b3f4d9d..d8c67ef8e5b 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf
index 97ee6c88d07..276171c20a8 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf
new file mode 100644
index 00000000000..f7ba3f06a64
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.tex
new file mode 100644
index 00000000000..c54d024e4d0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigconf-authordraft.tex
@@ -0,0 +1,164 @@
+\documentclass[sigconf, authordraft]{acmart}
+
+\usepackage{booktabs} % For formal tables
+
+
+% Copyright
+%\setcopyright{none}
+%\setcopyright{acmcopyright}
+%\setcopyright{acmlicensed}
+\setcopyright{rightsretained}
+%\setcopyright{usgov}
+%\setcopyright{usgovmixed}
+%\setcopyright{cagov}
+%\setcopyright{cagovmixed}
+
+
+% DOI
+\acmDOI{10.475/123_4}
+
+% ISBN
+\acmISBN{123-4567-24-567/08/06}
+
+%Conference
+\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El
+ Paso, Texas USA}
+\acmYear{1997}
+\copyrightyear{2016}
+
+\acmPrice{15.00}
+
+\acmSubmissionID{123-A12-B3}
+
+\begin{document}
+\title{SIG Proceedings Paper in LaTeX Format}
+\titlenote{Produces the permission block, and
+ copyright information}
+\subtitle{Extended Abstract}
+\subtitlenote{The full version of the author's guide is available as
+ \texttt{acmart.pdf} document}
+
+
+\author{Ben Trovato}
+\authornote{Dr.~Trovato insisted his name be first.}
+\orcid{1234-5678-9012}
+\affiliation{%
+ \institution{Institute for Clarity in Documentation}
+ \streetaddress{P.O. Box 1212}
+ \city{Dublin}
+ \state{Ohio}
+ \postcode{43017-6221}
+}
+\email{trovato@corporation.com}
+
+\author{G.K.M. Tobin}
+\authornote{The secretary disavows any knowledge of this author's actions.}
+\affiliation{%
+ \institution{Institute for Clarity in Documentation}
+ \streetaddress{P.O. Box 1212}
+ \city{Dublin}
+ \state{Ohio}
+ \postcode{43017-6221}
+}
+\email{webmaster@marysville-ohio.com}
+
+\author{Lars Th{\o}rv{\"a}ld}
+\authornote{This author is the
+ one who did all the really hard work.}
+\affiliation{%
+ \institution{The Th{\o}rv{\"a}ld Group}
+ \streetaddress{1 Th{\o}rv{\"a}ld Circle}
+ \city{Hekla}
+ \country{Iceland}}
+\email{larst@affiliation.org}
+
+\author{Lawrence P. Leipuner}
+\affiliation{
+ \institution{Brookhaven Laboratories}
+ \streetaddress{P.O. Box 5000}}
+\email{lleipuner@researchlabs.org}
+
+\author{Sean Fogarty}
+\affiliation{%
+ \institution{NASA Ames Research Center}
+ \city{Moffett Field}
+ \state{California}
+ \postcode{94035}}
+\email{fogartys@amesres.org}
+
+\author{Charles Palmer}
+\affiliation{%
+ \institution{Palmer Research Laboratories}
+ \streetaddress{8600 Datapoint Drive}
+ \city{San Antonio}
+ \state{Texas}
+ \postcode{78229}}
+\email{cpalmer@prl.com}
+
+\author{John Smith}
+\affiliation{\institution{The Th{\o}rv{\"a}ld Group}}
+\email{jsmith@affiliation.org}
+
+\author{Julius P.~Kumquat}
+\affiliation{\institution{The Kumquat Consortium}}
+\email{jpkumquat@consortium.net}
+
+% The default list of authors is too long for headers}
+\renewcommand{\shortauthors}{B. Trovato et al.}
+
+
+\begin{abstract}
+This paper provides a sample of a \LaTeX\ document which conforms,
+somewhat loosely, to the formatting guidelines for
+ACM SIG Proceedings.\footnote{This is an abstract footnote}
+\end{abstract}
+
+%
+% The code below should be generated by the tool at
+% http://dl.acm.org/ccs.cfm
+% Please copy and paste the code instead of the example below.
+%
+\begin{CCSXML}
+<ccs2012>
+ <concept>
+ <concept_id>10010520.10010553.10010562</concept_id>
+ <concept_desc>Computer systems organization~Embedded systems</concept_desc>
+ <concept_significance>500</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>10010520.10010575.10010755</concept_id>
+ <concept_desc>Computer systems organization~Redundancy</concept_desc>
+ <concept_significance>300</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>10010520.10010553.10010554</concept_id>
+ <concept_desc>Computer systems organization~Robotics</concept_desc>
+ <concept_significance>100</concept_significance>
+ </concept>
+ <concept>
+ <concept_id>10003033.10003083.10003095</concept_id>
+ <concept_desc>Networks~Network reliability</concept_desc>
+ <concept_significance>100</concept_significance>
+ </concept>
+</ccs2012>
+\end{CCSXML}
+
+\ccsdesc[500]{Computer systems organization~Embedded systems}
+\ccsdesc[300]{Computer systems organization~Redundancy}
+\ccsdesc{Computer systems organization~Robotics}
+\ccsdesc[100]{Networks~Network reliability}
+
+% We no longer use \terms command
+%\terms{Theory}
+
+\keywords{ACM proceedings, \LaTeX, text tagging}
+
+
+\maketitle
+
+\input{samplebody-conf}
+
+\bibliographystyle{ACM-Reference-Format}
+\bibliography{sigproc}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf
index 3c27201b76e..90925bf7ca0 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf
index 9d003d30e99..07895d1d45c 100644
--- a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf
+++ b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx
index a28ef814ea9..bbac104e45b 100644
--- a/Master/texmf-dist/source/latex/acmart/acmart.dtx
+++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx
@@ -123,12 +123,14 @@
% At this address you can file a bug report---or even contribute your
% own enhancement making a pull request.
%
-% If you decide to install the package yourself, follow the standard
-% rules:
+%
+% Most users should not attempt to install this package themselves,
+% and rather rely on their \TeX\ distributions to provide it. If you
+% decide to install the package yourself, follow the standard rules:
% \begin{enumerate}
% \item Run \progname{latex} on |acmart.ins|. This will produce the file
% |acmart.cls|.
-% \item Put the file |acmart.cls| and the bibligoraphy files |*.bst|
+% \item Put the file |acmart.cls| and the bibliography files |*.bst|
% to the places where \LaTeX{} can find them (see \cite{TeXFAQ} or
% the documentation for your \TeX{} system).\label{item:install}
% \item Update the database of file names. Again, see \cite{TeXFAQ}
@@ -153,6 +155,9 @@
% \item \textsl{binhex}, \url{http://www.ctan.org/pkg/binhex}
% \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption}
% \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment}
+% \item \textsl{cm-super}, \url{http://www.ctan.org/pkg/cm-super}
+% \item \textsl{cmap}, \url{http://www.ctan.org/pkg/cmap}
+% \item \textsl{draftwatermark}, \url{http://www.ctan.org/pkg/draftwatermark}
% \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ}
% \item \textsl{fancyhdr}, \url{http://www.ctan.org/pkg/fancyhdr}
% \item \textsl{float}, \url{http://www.ctan.org/pkg/float}
@@ -167,6 +172,7 @@
% \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine}
% \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot}
% \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype}
+% \item \textsl{mmap}, \url{http://www.ctan.org/pkg/mmap}
% \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms}
% \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights}
% \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib}
@@ -213,6 +219,11 @@
% are intended for journals and transactions, while formats starting
% with |sig| are intended for proceedings published as books.
%
+% Note that sometimes conference proceedings are published as a
+% special issue (or issues) of an ACM journal. In this case you
+% should use the journal format for a conference paper. Please
+% contact your conference committee if in doubt.
+%
% \begin{table}
% \centering
% \caption{The possible values for the \texttt{format} option}
@@ -228,19 +239,19 @@
% TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly
% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS,
% TOS, TOSEM, TOSN, TRETS,
-% TSAS, TSC, TSLP, TWEB\@. \\
+% TSAS, TSC, TSLP, TWEB, including special issues. \\
% acmlarge & Large single column format, used for
-% IMWUT, JOCCH, PACMPL, POMACS, TAP \\
+% IMWUT, JOCCH, PACMPL, POMACS, TAP, including special issues. \\
% acmtog & Large double column format, used for
-% TOG\\
+% TOG, including special issues.\\
% sigconf & Proceedings format for most of ACM
% conferences (with the exceptions listed below) and all ICPS
-% volumes\\
+% volumes.\\
% siggraph & As of March 2017, this format is no longer
% used. Please use sigconf for SIGGRAPH conferences. \\
-% sigplan & Proceedings format for SIGPLAN conferences\\
-% sigchi & Proceedings format for SIGCHI conferences\\
-% sigchi-a & Format for SIGCHI extended abstract\\
+% sigplan & Proceedings format for SIGPLAN conferences.\\
+% sigchi & Proceedings format for SIGCHI conferences.\\
+% sigchi-a & Format for SIGCHI extended abstract.\\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -268,7 +279,21 @@
%
% The option |anonymous| is used
% for anonymous review process: all author information becomes
-% obscured.
+% obscured.
+%
+% The option |timestamp| is used to include a time stamp in the
+% footer of each page. When preparing a document, this can help avoid
+% confusing different revisions. The footer also include the page range of
+% the document. This helps detect missing pages in hard copies.
+%
+% The option |authordraft| is intended for the authors' drafts, not
+% intended for distribution. It typesets copyright block to give the
+% authors the idea of its size and overall size of the paper, but
+% overprints it with the phrase ``Unpublished working draft. Not for
+% distribution'', which also is used as a watermark. This option sets
+% |timestamp| and |review| to |true|, but these decisions can be
+% overriden by setting these options to |false| \emph{after}
+% |authordraft|.
%
% \begin{table}
% \centering
@@ -286,7 +311,10 @@
% anonymous & false & Whether to make author(s) anonymous\\
% authorversion & false & Whether to generate a special
% version for authors' personal use or posting (see
-% Section~\ref{sec:ug_topmatter})\\
+% Section~\ref{sec:ug_topmatter})\\
+% timestamp & false & Whether to put a time stamp in the
+% footer of each page\\
+% authordraft & false & Whether author's draft mode is enabled\\
% \bottomrule
% \end{tabularx}
% \end{table}
@@ -471,7 +499,7 @@
% \end{verbatim}
% Similarly you can repeat \cs{email} command.
%
-% You may have several authors with the same afifliation, different
+% You may have several authors with the same affiliation, different
% affiliations or overlapping affiliations (author~$A_1$ is affiliated
% with institutions $I_1$ and $I_2$, while author $A_2$ is affiliated
% with $I_2$ only, and author $A_3$ is affiliated with
@@ -613,6 +641,51 @@
% \end{verbatim}
%
%
+% The command \cs{affiliation} formats the output according to
+% American conventions. This might be wrong for some cases.
+% Consider, for example, a German address. In Germany postcode is put
+% before city and is not separated by a comma. We can handle this
+% order using
+% \begin{verbatim}
+% \affiliation{%
+% \institution{Fluginstitut}
+% \streetaddress{Sonnenallee 17}
+% \postcode{123456}
+% \city{Helm}
+% \country{Germany}
+% }
+% \end{verbatim}
+% However, the comma after postcode is unfortunate: the address will
+% be typeset (with a SIG format) as
+% \begin{verbatim}
+% Fluginstitut
+% Sonenallee 17
+% 123456, Helm, Germany
+% \end{verbatim}
+%
+%
+% To overcome this problem, the command \cs{affiliation} has an
+% optional parameter |obeypunctuation|, which can be |false| (the
+% default) or |true|. If this parameter is |true|, \cs{afffiliation}
+% obeys the author's command. Thus
+% \begin{verbatim}
+% \affiliation[obeypuctuation=true]{%
+% \institution{Fluginstitut}\\
+% \streetaddress{Sonnenallee 17}\\
+% \postcode{123456}
+% \city{Helm},
+% \country{Germany}
+% }
+% \end{verbatim}
+% will be typeset as
+% \begin{verbatim}
+% Fluginstitut
+% Sonenallee 17
+% 123456 Helm, Germany
+% \end{verbatim}
+%
+% Note that you should \emph{not} use this option for journals.
+%
% It is expected that these commands are inserted by the author of the
% manuscript.
%
@@ -682,7 +755,13 @@
% \acmArticleSeq{5} % We redefine it to 5
% \end{verbatim}
%
-%
+% \DescribeMacro{\acmSubmissionID}%
+% If you paper got a Submission~ID from the Conference Management
+% System, put it here:
+% \begin{verbatim}
+% \acmSubmissionID{123-A56-BU3}
+% \end{verbatim}
+%
%
% \DescribeMacro{\acmPrice}%
% The macro \cs{acmPrice}\marg{price} sets the price for the article
@@ -1046,13 +1125,14 @@
% theorem environments:
% \begin{description}
% \item[acmplain:] this is the style used for
-% |theorem|,
-% |conjecture|,
-% |proposition|,
-% |lemma|,
-% |corollary|, and
-% \item[acmdefinition:] this is the style used for |example| and
-% |definition|.
+% |theorem|,
+% |conjecture|,
+% |proposition|,
+% |lemma|, and
+% |corollary|, and
+% \item[acmdefinition:] this is the style used for
+% |example| and
+% |definition|.
% \end{description}
%
%
@@ -1125,8 +1205,7 @@
%
% As for |printonly| and |screenonly| environments,
% |\begin{acks}| and |\end{acls}| should start the
-% line of their own (no leading or trailing spaces).
-
+% line of their own (no leading or trailing spaces).
%
% \DescribeMacro{\grantsponsor}%
% \DescribeMacro{\grantnum}%
@@ -1207,14 +1286,14 @@
%
% The style supports fields \path{doi} and \path{url}, for example,
% \begin{verbatim}
-% doi = "10.1145/1188913.1188915",
-% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.pdf",
+% doi = "10.1145/1188913.1188915",
+% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.pdf",
% \end{verbatim}
%
% The style supports arXiv recommended fields \path{eprint} and
% (optionally) \path{primaryclass}, for example,
% \begin{verbatim}
-% eprint = "960935712",
+% eprint = "960935712",
% primaryclass = "cs",
% \end{verbatim}
% See the examples at \url{http://arxiv.org/hypertex/bibstyles/}.
@@ -1223,11 +1302,11 @@
% \path{game} for Web pages and games, for example,
% \begin{verbatim}
% @online{Thornburg01,
-% author = "Harry Thornburg",
-% year = "2001",
-% title = "Introduction to Bayesian Statistics",
-% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.html",
-% month = mar,
+% author = "Harry Thornburg",
+% year = "2001",
+% title = "Introduction to Bayesian Statistics",
+% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.html",
+% month = mar,
% lastaccessed = "March 2, 2005",
% }
% \end{verbatim}
@@ -1240,13 +1319,13 @@
% entry, setting there \path{howpublished} field, for example,
% \begin{verbatim}
% @online{Obama08,
-% author = "Barack Obama",
-% year = "2008",
-% title = "A more perfect union",
-% howpublished = "Video",
-% day = "5",
-% url = "http://video.google.com/videoplay?docid=6528042696351994555",
-% month = mar,
+% author = "Barack Obama",
+% year = "2008",
+% title = "A more perfect union",
+% howpublished = "Video",
+% day = "5",
+% url = "http://video.google.com/videoplay?docid=6528042696351994555",
+% month = mar,
% lastaccessed = "March 21, 2008",
% }
% \end{verbatim}
@@ -1258,15 +1337,14 @@
% @Inproceedings{Novak03,
% author = "Dave Novak",
% title = "Solder man",
-% booktitle = {ACM SIGGRAPH 2003 Video Review on Animation theater
-% Program},
+% booktitle = "ACM SIGGRAPH 2003 Video Review on Animation theater Program",
% year = "2003",
-% publisher = "ACM Press",
-% address = "New York, NY",
+% publisher = "ACM Press",
+% address = "New York, NY",
% pages = "4",
-% month = "March 21, 2008",
-% doi = "99.9999/woot07-S422",
-% howpublished = "Video"
+% month = "March 21, 2008",
+% doi = "10.9999/woot07-S422",
+% howpublished = "Video",
% }
% \end{verbatim}
%
@@ -1274,17 +1352,17 @@
% \path{periodical} is intended for this:
% \begin{verbatim}
% @periodical{JCohen96,
-% key = "Cohen",
+% key = "Cohen",
% editor = "Jacques Cohen",
% title = "Special issue: Digital Libraries",
-% journal = CACM,
+% journal = "Communications of the {ACM}",
% volume = "39",
-% number = "11",
-% month = nov,
-% year = "1996",
+% number = "11",
+% month = nov,
+% year = "1996",
% }
-%
% \end{verbatim}
+%
%
%
%\subsection{Colors}
@@ -1363,6 +1441,48 @@
%
%
%
+%\subsection{A note for wizards: \texttt{acmart-preload-hook.tex}}
+%\label{sec:ug_preload}
+%
+% Sometimes you need to change the behavior of |acmart|. The
+% usual way to do this is to redefine commands in the preamble.
+% However, these definitions are executed \emph{after} |acmart| is
+% loaded, and certain decisions are made. This presents a number of
+% problems.
+%
+% For example, one may want to use |titletoc| package with |acmart|.
+% This package should be loaded before |hyperref|. However, since
+% |acmart| loads |hyperref| itself, the line |\usepackage{titletoc}|
+% in the preamble will lead to grief (see
+% \url{http://tex.stackexchange.com/questions/357265/using-titletoc-with-acm-acmart-style}).
+%
+% Another example is passing options to package. Suppose you want to
+% use |dvipsnames| option of |xcolor| package. Normally you cannot do
+% this because |acmart| loads this package itself without options.
+%
+% The file |acmart-preload-hook.tex| may be used to solve these
+% problems. If this file exists, it will be processed before any other
+% package. You can use this file to load packages or pass options to
+% them. For example, if you put in this file
+% \begin{verbatim}
+% \let\LoadClassOrig\LoadClass
+% \renewcommand\LoadClass[2][]{\LoadClassOrig[#1]{#2}%
+% \usepackage{titletoc}}
+% \end{verbatim}
+% then |titletoc| will be loaded before |hyperref|. If you put in
+% this file
+% \begin{verbatim}
+% \PassOptionsToPackage{dvipsnames}{xcolor}
+% \end{verbatim}
+% you will pass |dvipsnames| to |xcolor|.
+%
+% \textbf{Important note.} This hook makes it too easy to create a
+% manuscript which is not acceptable by ACM. Even easier it is to
+% create a file which cannot be compiled. So please do not use it
+% \emph{unless you know what you are doing.} And if you use it,
+% \emph{do not ask for support.} If you decided to use this hook, you
+% are on your own.
+%
% \StopEventually{
% \clearpage
% \bibliography{acmart}
@@ -1386,7 +1506,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2017/03/07 v1.32 Typesetting articles for Association of
+[2017/03/30 v1.33 Typesetting articles for Association of
Computing Machinery]
% \end{macrocode}
%
@@ -1432,6 +1552,12 @@ Computing Machinery]
% \changes{v1.31}{2017/03/04}{Documentation changes}
% \changes{v1.32}{2017/03/07}{Format siggraph is now obsolete}
% \changes{v1.32}{2017/03/07}{Added POMACS journal option}
+% \changes{v1.33}{2017/03/12}{BibTeX crossref bug corrected}
+% \changes{v1.33}{2017/03/18}{BibTeX comma before articleno bug
+% corrected}
+% \changes{v1.33}{2017/03/18}{BibTeX numpages bug corrected}
+% \changes{v1.33}{2017/03/28}{Added acmart-preload-hook}
+% \changes{v1.33}{2017/03/33}{Documentation updates}
%
%
% And the driver code:
@@ -1439,7 +1565,7 @@ Computing Machinery]
%<*gobble>
\documentclass{ltxdoc}
\usepackage{array,booktabs,amsmath,graphicx,fancyvrb,tabularx}
-\usepackage[tt=false]{libertine}
+\usepackage[tt=false, type1=true]{libertine}
\usepackage[varqu]{zi4}
\usepackage[libertine]{newtxmath}
\usepackage[tableposition=top]{caption}
@@ -1456,6 +1582,19 @@ Computing Machinery]
\def\@classname{acmart}
% \end{macrocode}
%
+%
+%
+%\subsection{Preload}
+%\label{sec:preload}
+%
+% We preload |acmart-preload-hook|:
+% \begin{macrocode}
+\InputIfFileExists{acmart-preload-hook.tex}{%
+ \ClassWarning{\@classname}{%
+ I am loading acmart-preload-hook.tex. You are fully responsible
+ for any problems from now on.}}{}
+% \end{macrocode}
+%
% \subsection{Options}
% \label{sec:options}
%
@@ -1464,6 +1603,8 @@ Computing Machinery]
\RequirePackage{xkeyval}
% \end{macrocode}
%
+%
+%
% \begin{macro}{format}
% The possible formats
% \begin{macrocode}
@@ -1538,25 +1679,20 @@ Computing Machinery]
%
% \begin{macro}{\if@ACM@natbib@override}
% \changes{v1.12}{2016/05/30}{Added macro}
-% Whether to override the format decision about \textsl{natbib}
-% \begin{macrocode}
-\newif\if@ACM@natbib@override
-\@ACM@natbib@overridefalse
-% \end{macrocode}
-%
+% \changes{v1.33}{2017/03/28}{Deleted macro}
% \end{macro}
%
% \begin{macro}{\if@ACM@natbib}
% Whether we use natbib mode
% \begin{macrocode}
\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
- \@ACM@natbib@overridetrue
\if@ACM@natbib
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
\else
\PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
\fi}{\PackageError{\@classname}{Option natbib can be either true or
false}}
+\ExecuteOptionsX{natbib=true}
% \end{macrocode}
%
% \end{macro}
@@ -1577,6 +1713,43 @@ Computing Machinery]
%
% \end{macro}
%
+%
+% \begin{macro}{\if@ACM@timestamp}
+% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
+% Whether we use timestamp mode
+% \begin{macrocode}
+\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+ \if@ACM@timestamp
+ \PackageInfo{\@classname}{Using timestamp mode}%
+ \else
+ \PackageInfo{\@classname}{Not using timestamp mode}%
+ \fi}{\PackageError{\@classname}{Option timestamp can be either true or
+ false}}
+\ExecuteOptionsX{timestamp=false}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{\if@ACM@authordraft}
+% \changes{v1.33}{2017/03/28}{Added macro}
+% Whether we use authordraft mode
+% \begin{macrocode}
+\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+ \if@ACM@authordraft
+ \PackageInfo{\@classname}{Using authordraft mode}%
+ \@ACM@timestamptrue
+ \@ACM@reviewtrue
+ \else
+ \PackageInfo{\@classname}{Not using authordraft mode}%
+ \fi}{\PackageError{\@classname}{Option authordraft can be either true or
+ false}}
+\ExecuteOptionsX{timestamp=false}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\ACM@fontsize}
% The font size to pass to the base class
% \begin{macrocode}
@@ -1667,14 +1840,6 @@ Computing Machinery]
\fi
% \end{macrocode}
%
-% A format sets up \cs{if@ACM@natbib} only if
-% \cs{@ACM@natbib@override} is false (i.e. user did \emph{not}
-% overrode format's selection):
-% \begin{macrocode}
-\if@ACM@natbib@override\else
- \@ACM@natbibtrue
-\fi
-% \end{macrocode}
%
%
%\subsection{Loading base class and package}
@@ -2040,6 +2205,8 @@ Computing Machinery]
% \end{macrocode}
%
% Bibliography mangling.
+% \changes{v1.33}{2017/03/23}{Moved \cs{citename} definition for
+% non-natbib bibliography, so a package may redefine it}
% \begin{macrocode}
\if@ACM@natbib
\let\citeN\cite
@@ -2054,9 +2221,12 @@ Computing Machinery]
\let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
\providecommand\newblock{}%
\else
- \providecommand\citename[1]{#1}
+ \AtBeginDocument{%
+ \let\shortcite\cite%
+ \providecommand\citename[1]{#1}}
\fi
-\def\shortcite#1{\ifNAT@numbers\cite{#1}\else\citeyear{#1}\fi}
+\newcommand\shortcite[2][]{%
+ \ifNAT@numbers\cite[#1]{#2}\else\citeyear[#1]{#2}\fi}
% \end{macrocode}
%
%
@@ -2095,6 +2265,19 @@ Computing Machinery]
% \end{macrocode}
%
%
+% Author draft mode
+% \begin{macrocode}
+\if@ACM@authordraft
+ \RequirePackage{draftwatermark}
+ \SetWatermarkFontSize{0.5in}
+ \SetWatermarkColor[gray]{.9}
+ \SetWatermarkText{\parbox{12em}{\centering
+ Unpublished working draft\\
+ Not for distribution}}
+\fi
+% \end{macrocode}
+%
+%
%\subsection{Paper size and paragraphing}
%\label{sec:paper}
%
@@ -2321,7 +2504,20 @@ Computing Machinery]
%\label{sec:fonts}
%
% \changes{v1.12}{2016/05/30}{Added graceful behavior when libertine
-% fonts are absent}%
+% fonts are absent}
+% \changes{v1.33}{2017/03/29}{Added cmap and glyphtounicode}
+%
+% Somehow PDFTeX and XeTeX require different incantations to make PDF
+% compliant with the current Acrobat bugs. Xpdf is much better.
+% \begin{macrocode}
+\RequirePackage{iftex}
+\ifPDFTeX
+\input{glyphtounicode}
+\pdfgentounicode=1
+\fi
+\RequirePackage{cmap}
+% \end{macrocode}
+%
%
% \begin{macro}{\if@ACM@newfonts}
% \changes{v1.12}{2016/05/30}{Added macro}%
@@ -2343,10 +2539,12 @@ Computing Machinery]
%
% \changes{v1.30}{2017/02/15}{Switched to T1: looks like libertine has
% problems with \cs{l} in OT1}%
+% \changes{v1.33}{2017/03/12}{Switched to Type~1 fonts for libertine
+% even if OTF-capable engine is used (Kai Mindermann)}
% We use Libertine throughout.
% \begin{macrocode}
\if@ACM@newfonts
-\RequirePackage[tt=false]{libertine}
+\RequirePackage[tt=false, type1=true]{libertine}
\RequirePackage[varqu]{zi4}
\RequirePackage[libertine]{newtxmath}
\RequirePackage[T1]{fontenc}
@@ -2934,8 +3132,8 @@ Computing Machinery]
% \begin{macro}{\affiliation}
% \changes{v1.15}{2016/06/25}{Added code for author groups}
% The macro \cs{affiliation} mimics \cs{address} from |amsart|.
-% Note that it has an optional argument we do not currently need,
-% but keep for the possible future use.
+% Note that it has an optional argument, which we use differently
+% from |amsart|.
% \begin{macrocode}
\newcommand{\affiliation}[2][]{%
\global\@insideauthorgroupfalse
@@ -2946,6 +3144,19 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\if@ACM@affiliation@obeypunctuation}
+% \changes{v1.33}{2017/03/28}{Added macro}
+% Whether to use author's punctuation (by default false = add
+% American punctuation)
+% \begin{macrocode}
+\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
+[true]{}{\ClassError{\@classname}{obeypunctuation must be true or false}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
% \begin{macro}{\additionalaffiliation}
% \changes{v1.31}{2017/03/04}{Added macro}
% Additional affiliations go to footnotes
@@ -3146,6 +3357,18 @@ Computing Machinery]
%
% \end{macro}
%
+%
+% \begin{macro}{\acmSubmissionID}
+% \changes{v1.33}{2017/03/29}{Added macro}
+% The submission id
+% \begin{macrocode}
+\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
+\acmSubmissionID{}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\acmISBN}
% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet}
% The book isbn
@@ -3422,7 +3645,7 @@ Computing Machinery]
% \changes{v1.29}{2017/01/22}{Add spacing after bullet and around
% rightarrow; semicolon separators no longer in bold/italic (John Wickerson)}
% The parser of the expression |Significance~General~Specific| (we need
-% |textcomp| for |\\textrightarrow|:
+% |textcomp| for |\\textrightarrow|):
% \begin{macrocode}
\RequirePackage{textcomp}
\def\ccsdesc@parse#1~#2~#3~{%
@@ -3754,6 +3977,8 @@ Computing Machinery]
% and author vertsion,
% \url{https://github.com/borisveytsman/acmart/issues/36}}
% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box}
+% \changes{v1.33}{2017/03/27}{Fixed the bug with figures on top and
+% bottom of the title page, thanks to David Epstein}
% The (in)famous \cs{maketitle}. Note that in sigchi-a mode authors
% are \emph{not} in the title box.
%
@@ -3771,8 +3996,9 @@ Computing Machinery]
\let\@footnotemark\@footnotemark@nolink
\let\@footnotetext\@footnotetext@nolink
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
- \@topnum\z@ % this prevents figures from falling at the top of page
- % 1
+ \global\@topnum\z@ % this prevents floats from falling
+ % at the top of page 1
+ \global\@botnum\z@ % we do not want them to be on bottom either
\hsize=\textwidth
\def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
\@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
@@ -3789,49 +4015,56 @@ Computing Machinery]
\footnotetextcopyrightpermission{%
\def\par{\let\par\@par}\parindent\z@\@setthanks}%
\fi
- \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip
- \if@ACM@authorversion\else
- \if@printpermission\@copyrightpermission\par\fi
- \fi
- \if@ACM@manuscript\else
- \if@ACM@journal\else % Print the conference short name
- {\itshape \acmConference@shortname, \acmConference@venue}\par
+ \footnotetextcopyrightpermission{%
+ \if@ACM@authordraft
+ \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
+ Unpublished
+ working draft. Not for distribution}}%
+ \color[gray]{0.9}%
\fi
- \fi
- \if@printcopyright
- \copyright\ \@copyrightyear\ \@copyrightowner\
- \else
- \@copyrightyear.\
- \fi
- \if@ACM@manuscript
- Manuscript submitted to ACM\\
- \else
- \if@ACM@authorversion
- This is the author's version of the work. It is posted here for
- your personal use. Not for redistribution. The definitive Version
- of Record was published in
- \if@ACM@journal
- \emph{\@journalName}%
- \else
- \emph{Proceedings of \acmConference@name, \acmConference@date}%
- \fi
- \ifx\@acmDOI\@empty
- .
+ \parindent\z@\parskip0.1\baselineskip
+ \if@ACM@authorversion\else
+ \if@printpermission\@copyrightpermission\par\fi
+ \fi
+ \if@ACM@manuscript\else
+ \if@ACM@journal\else % Print the conference short name
+ {\itshape \acmConference@shortname, \acmConference@venue}\par
+ \fi
+ \fi
+ \if@printcopyright
+ \copyright\ \@copyrightyear\ \@copyrightowner\
+ \else
+ \@copyrightyear.\
+ \fi
+ \if@ACM@manuscript
+ Manuscript submitted to ACM\\
+ \else
+ \if@ACM@authorversion
+ This is the author's version of the work. It is posted here for
+ your personal use. Not for redistribution. The definitive Version
+ of Record was published in
+ \if@ACM@journal
+ \emph{\@journalName}%
+ \else
+ \emph{Proceedings of \acmConference@name, \acmConference@date}%
+ \fi
+ \ifx\@acmDOI\@empty
+ .
+ \else
+ , \@formatdoi{\@acmDOI}.
+ \fi\\
\else
- , \@formatdoi{\@acmDOI}.
- \fi\\
- \else
- \if@ACM@journal
- \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
- \$\@acmPrice\\
- DOI: \nolinkurl{\@acmDOI}%
- \else % Conference
- \@acmISBN
- \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
- DOI: \nolinkurl{\@acmDOI}%
+ \if@ACM@journal
+ \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
+ \$\@acmPrice\\
+ DOI: \nolinkurl{\@acmDOI}%
+ \else % Conference
+ \@acmISBN
+ \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
+ DOI: \nolinkurl{\@acmDOI}%
+ \fi
\fi
- \fi
- \fi}%
+ \fi}
\endgroup
\setcounter{footnote}{0}%
\@mkabstract
@@ -4013,9 +4246,10 @@ Computing Machinery]
%
% \begin{macro}{\@subtitlefont}
% \changes{v1.06}{2016/05/01}{Added macro}
+% \changes{v1.33}{2017/03/12}{Added \cs{normalsize}}
% The font to typeset title
% \begin{macrocode}
-\def\@subtitlefont{%
+\def\@subtitlefont{\normalsize
\ifcase\ACM@format@nr
\relax % manuscript
\mdseries
@@ -4142,6 +4376,7 @@ Computing Machinery]
%
% \begin{macro}{\@ACM@addtoaddress}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% The macro adds an item to address using the following rules:
% \begin{enumerate}
% \item If we start a paragraph, add the item
@@ -4153,30 +4388,39 @@ Computing Machinery]
\newbox\@ACM@commabox
\def\@ACM@addtoaddress#1{%
\ifvmode\else
+ \if@ACM@affiliation@obeypunctuation\else
\setbox\@ACM@commabox=\hbox{, }%
\unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
- \fi
+ \fi\fi
#1}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\institution}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\position}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\department}
% \changes{v1.15}{2016/07/03}{Added macro}
% \changes{v1.30}{2017/02/10}{Added optional parameter}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\streetaddress}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\city}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\state}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\postcode}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% \begin{macro}{\country}
% \changes{v1.15}{2016/07/03}{Added macro}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% Theoretically we can define the macros for \cs{affiliation} inside
% the \cs{@mkauthors}-style commands. However, this would lead to a
% strange error if an author uses them outside \cs{affiliation}. Of
@@ -4195,13 +4439,14 @@ Computing Machinery]
\let\postcode\@gobble
\let\country\@gobble
\else
- \def\position#1{#1\par}%
- \def\institution#1{#1\par}%
- \newcommand\department[2][0]{#2\par}%
- \def\streetaddress#1{#1\par}%
+ \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+ \def\institution#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+ \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
+ #2\else#2\par\fi}%
+ \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
\let\city\@ACM@addtoaddress
\let\state\@ACM@addtoaddress
- \def\postcode#1{\unskip\space#1}%
+ \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}%
\let\country\@ACM@addtoaddress
\fi
% \end{macrocode}
@@ -4314,7 +4559,8 @@ Computing Machinery]
%
% \begin{macro}{\@mkauthors@i}
% \changes{v1.18}{2016/07/12}{Now we andify affiliations}
-% This is version used in most formats. Note that \cs{and} between
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
+% This is version used in most journal formats. Note that \cs{and} between
% authors with the same affiliation becomes \verb*| and |:
% \begin{macrocode}
\def\@mkauthors@i{%
@@ -4332,9 +4578,14 @@ Computing Machinery]
\def\affiliation##1##2{%
\def\@tempa{##2}\ifx\@tempa\@empty\else
\ifx\@currentaffiliations\@empty
- \gdef\@currentaffiliations{\@affiliationfont##2}%
+ \gdef\@currentaffiliations{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}%
+ \@affiliationfont##2}%
\else
- \g@addto@macro{\@currentaffiliations}{\and##2}%
+ \g@addto@macro{\@currentaffiliations}{\and
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\fi
\global\let\and\@typeset@author@line}%
@@ -4396,6 +4647,7 @@ Computing Machinery]
%
% \begin{macro}{\@mkauthors@iii}
% \changes{v1.15}{2016/07/04}{New authors system}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% The |sigconf| version. Here we use centered design with each
% author in a separate box.
% \begin{macrocode}
@@ -4439,9 +4691,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
- \gdef\@currentaffiliation{##2}%
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\else
- \g@addto@macro\@currentaffiliation{\par##2}%
+ \g@addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx
}%
@@ -4459,6 +4715,7 @@ Computing Machinery]
%
%
% \begin{macro}{\@mkauthors@iv}
+% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
% The |sigchia| version. Now we put
% authors in the main text, and no more than 2 authors per line.
% \begin{macrocode}
@@ -4496,9 +4753,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
- \gdef\@currentaffiliation{##2}%
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\else
- \g@addto@macro\@currentaffiliation{\par##2}%
+ \g@addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx}%
%
@@ -4658,10 +4919,11 @@ Computing Machinery]
%
% \end{macro}
%
-% \begin{macro}{\ACM@linecount}
-% How to display the box
+% \begin{macro}{\ACM@linecountL}
+% \changes{v1.33}{2017/03/29}{Renamed macro}
+% How to display the box on the left
% \begin{macrocode}
-\def\ACM@linecount{%
+\def\ACM@linecountL{%
\if@ACM@review
\begin{picture}(0,0)%
\put(-26,-22){\usebox{\ACM@linecount@bx}}%
@@ -4671,6 +4933,46 @@ Computing Machinery]
%
% \end{macro}
%
+% \begin{macro}{\ACM@linecountR}
+% \changes{v1.33}{2017/03/29}{Added macro}
+% How to display the box on the right
+% \begin{macrocode}
+\def\ACM@linecountR{%
+ \if@ACM@review
+ \begin{picture}(0,0)%
+ \put(20,-22){\usebox{\ACM@linecount@bx}}%
+ \end{picture}%
+ \fi}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\ACM@timestamp}
+% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
+% \changes{v1.33}{2017/03/28}{Added current page number}
+% \changes{v1.33}{2017/03/29}{Added submission id}
+% The timestamp system
+% \begin{macrocode}
+\if@ACM@timestamp
+ % Subtracting 30 from \time gives us the effect of rounding-down despite
+ % \numexpr rounding to nearest
+ \newcounter{ACM@time@hours}
+ \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
+ \newcounter{ACM@time@minutes}
+ \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
+ \newcommand\ACM@timestamp{%
+ \footnotesize%
+ \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
+ \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{ }%
+ page~\thepage\ (pp. \@startPage-\pageref*{TotPages})%
+ \ifx\@acmSubmissionID\@empty\relax\else
+ ~Submission~ID: \@acmSubmissionID
+ \fi
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@shortauthors}
% \changes{v1.15}{2016/07/04}{Introduced macro}
% Even if the author redefined \cs{shortauthors}, we do not print
@@ -4719,6 +5021,8 @@ Computing Machinery]
% \changes{v1.16}{2016/07/07}{Customize header/footer text font}
% \changes{v1.17}{2016/07/10}{Added paper title to sigs}
% \changes{v1.29}{2017/01/22}{Corrected printfolios (Matthew Fluet)}
+% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)}
+% \changes{v1.33}{2017/03/29}{Added right linecount for two column formats}
% The pagestyle for all pages but the first one
% \begin{macrocode}
\fancypagestyle{standardpagestyle}{%
@@ -4727,46 +5031,50 @@ Computing Machinery]
\renewcommand{\footrulewidth}{\z@}%
\ifcase\ACM@format@nr
\relax % manuscript
- \fancyhead[LE]{\ACM@linecount\if@ACM@printfolios\thepage\fi}%
+ \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
\fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
\fancyhead[RE]{\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount\shorttitle}%
+ \fancyhead[LO]{\ACM@linecountL\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
- \fancyhead[LE]{\ACM@linecount\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyhead[RE]{\@headfootfont\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
+ \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmlarge
- \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont
\@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@headfootfont
\shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmtog
- \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont
\@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LO]{\ACM@linecountL}%
+ \fancyhead[RE]{\ACM@linecountR}%
\fancyhead[RO]{\@headfootfont
- \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\else % Proceedings
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
- \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
- \fancyhead[RE]{\@headfootfont\@shortauthors}%
- \fancyhead[LE]{\ACM@linecount\@headfootfont\acmConference@shortname,
+ \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont\acmConference@shortname,
- \acmConference@date, \acmConference@venue}%
+ \acmConference@date, \acmConference@venue\ACM@linecountR}%
\fi
\if@ACM@sigchiamode
\fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
\fi
+ \if@ACM@timestamp
+ \fancyfoot[LO,RE]{\ACM@timestamp}
+ \fi
}
\pagestyle{standardpagestyle}
% \end{macrocode}
@@ -4840,6 +5148,8 @@ Computing Machinery]
% \end{macro}
%
% \begin{macro}{firstpagestyle}
+% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)}
+% \changes{v1.33}{2017/03/29}{Added right linecount for two column formats}
% The pagestyle for the first page only.
% \begin{macrocode}
\fancypagestyle{firstpagestyle}{%
@@ -4848,15 +5158,15 @@ Computing Machinery]
\renewcommand{\footrulewidth}{\z@}%
\ifcase\ACM@format@nr
\relax % manuscript
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
\fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
\fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
- \fancyhead[LE]{\ACM@linecount\@folioblob}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@folioblob}%
\fancyheadoffset[RO,LE]{0.6\@folio@wd}%
\or % acmlarge
@@ -4864,18 +5174,28 @@ Computing Machinery]
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
\fancyhead[RO]{\@folioblob}%
- \fancyhead[LE]{\ACM@linecount\@folioblob}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyheadoffset[RO,LE]{1.4\@folio@wd}%
\or % acmtog
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
+ \fancyhead[R]{\ACM@linecountR}%
\else % Conference proceedings
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
+ \fancyhead[R]{\ACM@linecountR}%
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
\fi
+ \if@ACM@timestamp
+ \ifnum\ACM@format@nr=0\relax % Manuscript
+ \fancyfoot[LO,RE]{\ACM@timestamp\quad
+ \footnotesize Manuscript submitted to ACM}
+ \else
+ \fancyfoot[LO,RE]{\ACM@timestamp}
+ \fi
+ \fi
}
% \end{macrocode}
%
@@ -5295,7 +5615,7 @@ Computing Machinery]
% The command \cs{showeprint} has two arguments: the (optional) prefix
% and the eprint number. Right now the only prefix we understand is
% the (lowercase) word `arxiv' (see
-% \url{http://arxiv.org/hypertex/bibstyles/}.
+% \url{http://arxiv.org/hypertex/bibstyles/}).
% \begin{macrocode}
\newcommand\showeprint[2][arxiv]{%
\def\@tempa{#1}%
diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls
index 20e80c6609f..4c9d138690e 100644
--- a/Master/texmf-dist/tex/latex/acmart/acmart.cls
+++ b/Master/texmf-dist/tex/latex/acmart/acmart.cls
@@ -35,12 +35,15 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmart}
-[2017/03/07 v1.32 Typesetting articles for Association of
+[2017/03/30 v1.33 Typesetting articles for Association of
Computing Machinery]
\def\@classname{acmart}
+\InputIfFileExists{acmart-preload-hook.tex}{%
+ \ClassWarning{\@classname}{%
+ I am loading acmart-preload-hook.tex. You are fully responsible
+ for any problems from now on.}}{}
\RequirePackage{xkeyval}
\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
@@ -83,16 +86,14 @@ Computing Machinery]
\fi}{\PackageError{\@classname}{Option authorversion can be either true or
false}}
\ExecuteOptionsX{authorversion=false}
-\newif\if@ACM@natbib@override
-\@ACM@natbib@overridefalse
\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
- \@ACM@natbib@overridetrue
\if@ACM@natbib
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
\else
\PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
\fi}{\PackageError{\@classname}{Option natbib can be either true or
false}}
+\ExecuteOptionsX{natbib=true}
\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
\if@ACM@anonymous
\PackageInfo{\@classname}{Using anonymous mode}%
@@ -101,6 +102,24 @@ Computing Machinery]
\fi}{\PackageError{\@classname}{Option anonymous can be either true or
false}}
\ExecuteOptionsX{anonymous=false}
+\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+ \if@ACM@timestamp
+ \PackageInfo{\@classname}{Using timestamp mode}%
+ \else
+ \PackageInfo{\@classname}{Not using timestamp mode}%
+ \fi}{\PackageError{\@classname}{Option timestamp can be either true or
+ false}}
+\ExecuteOptionsX{timestamp=false}
+\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+ \if@ACM@authordraft
+ \PackageInfo{\@classname}{Using authordraft mode}%
+ \@ACM@timestamptrue
+ \@ACM@reviewtrue
+ \else
+ \PackageInfo{\@classname}{Not using authordraft mode}%
+ \fi}{\PackageError{\@classname}{Option authordraft can be either true or
+ false}}
+\ExecuteOptionsX{timestamp=false}
\def\ACM@fontsize{}
\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
@@ -145,9 +164,6 @@ Computing Machinery]
\@ACM@journalfalse
\@ACM@sigchiamodetrue
\fi
-\if@ACM@natbib@override\else
- \@ACM@natbibtrue
-\fi
\ifx\ACM@fontsize\@empty
\ifcase\ACM@format@nr
\relax % manuscript
@@ -425,9 +441,12 @@ Computing Machinery]
\let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
\providecommand\newblock{}%
\else
- \providecommand\citename[1]{#1}
+ \AtBeginDocument{%
+ \let\shortcite\cite%
+ \providecommand\citename[1]{#1}}
\fi
-\def\shortcite#1{\ifNAT@numbers\cite{#1}\else\citeyear{#1}\fi}
+\newcommand\shortcite[2][]{%
+ \ifNAT@numbers\cite[#1]{#2}\else\citeyear[#1]{#2}\fi}
\def\bibliographystyle#1{%
\ifx\@begindocumenthook\@undefined\else
\expandafter\AtBeginDocument
@@ -444,6 +463,14 @@ Computing Machinery]
\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
+\if@ACM@authordraft
+ \RequirePackage{draftwatermark}
+ \SetWatermarkFontSize{0.5in}
+ \SetWatermarkColor[gray]{.9}
+ \SetWatermarkText{\parbox{12em}{\centering
+ Unpublished working draft\\
+ Not for distribution}}
+\fi
\RequirePackage{geometry}
\ifcase\ACM@format@nr
\relax % manuscript
@@ -569,6 +596,12 @@ Computing Machinery]
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
\def\@textbottom{\vskip \z@ \@plus 1pt}
\let\@texttop\relax
+\RequirePackage{iftex}
+\ifPDFTeX
+\input{glyphtounicode}
+\pdfgentounicode=1
+\fi
+\RequirePackage{cmap}
\newif\if@ACM@newfonts
\@ACM@newfontstrue
\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
@@ -580,7 +613,7 @@ Computing Machinery]
have newtxmath package installed. Please upgrade your
TeX}\@ACM@newfontsfalse}
\if@ACM@newfonts
-\RequirePackage[tt=false]{libertine}
+\RequirePackage[tt=false, type1=true]{libertine}
\RequirePackage[varqu]{zi4}
\RequirePackage[libertine]{newtxmath}
\RequirePackage[T1]{fontenc}
@@ -989,6 +1022,8 @@ Computing Machinery]
\if@ACM@anonymous\else
\g@addto@macro\addresses{\affiliation{#1}{#2}}%
\fi}
+\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
+[true]{}{\ClassError{\@classname}{obeypunctuation must be true or false}}
\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
\def\@additionalaffiliation#1{\bgroup
\def\position##1{\ignorespaces}%
@@ -1050,6 +1085,8 @@ Computing Machinery]
December\fi~\@acmYear}
\def\acmPrice#1{\def\@acmPrice{#1}}
\acmPrice{15.00}
+\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
+\acmSubmissionID{}
\def\acmISBN#1{\def\@acmISBN{#1}}
\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
\def\acmDOI#1{\def\@acmDOI{#1}}
@@ -1344,8 +1381,9 @@ Computing Machinery]
\let\@footnotemark\@footnotemark@nolink
\let\@footnotetext\@footnotetext@nolink
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
- \@topnum\z@ % this prevents figures from falling at the top of page
- % 1
+ \global\@topnum\z@ % this prevents floats from falling
+ % at the top of page 1
+ \global\@botnum\z@ % we do not want them to be on bottom either
\hsize=\textwidth
\def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
\@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
@@ -1362,49 +1400,56 @@ Computing Machinery]
\footnotetextcopyrightpermission{%
\def\par{\let\par\@par}\parindent\z@\@setthanks}%
\fi
- \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip
- \if@ACM@authorversion\else
- \if@printpermission\@copyrightpermission\par\fi
- \fi
- \if@ACM@manuscript\else
- \if@ACM@journal\else % Print the conference short name
- {\itshape \acmConference@shortname, \acmConference@venue}\par
+ \footnotetextcopyrightpermission{%
+ \if@ACM@authordraft
+ \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
+ Unpublished
+ working draft. Not for distribution}}%
+ \color[gray]{0.9}%
\fi
- \fi
- \if@printcopyright
- \copyright\ \@copyrightyear\ \@copyrightowner\
- \else
- \@copyrightyear.\
- \fi
- \if@ACM@manuscript
- Manuscript submitted to ACM\\
- \else
- \if@ACM@authorversion
- This is the author's version of the work. It is posted here for
- your personal use. Not for redistribution. The definitive Version
- of Record was published in
- \if@ACM@journal
- \emph{\@journalName}%
- \else
- \emph{Proceedings of \acmConference@name, \acmConference@date}%
- \fi
- \ifx\@acmDOI\@empty
- .
+ \parindent\z@\parskip0.1\baselineskip
+ \if@ACM@authorversion\else
+ \if@printpermission\@copyrightpermission\par\fi
+ \fi
+ \if@ACM@manuscript\else
+ \if@ACM@journal\else % Print the conference short name
+ {\itshape \acmConference@shortname, \acmConference@venue}\par
+ \fi
+ \fi
+ \if@printcopyright
+ \copyright\ \@copyrightyear\ \@copyrightowner\
+ \else
+ \@copyrightyear.\
+ \fi
+ \if@ACM@manuscript
+ Manuscript submitted to ACM\\
+ \else
+ \if@ACM@authorversion
+ This is the author's version of the work. It is posted here for
+ your personal use. Not for redistribution. The definitive Version
+ of Record was published in
+ \if@ACM@journal
+ \emph{\@journalName}%
+ \else
+ \emph{Proceedings of \acmConference@name, \acmConference@date}%
+ \fi
+ \ifx\@acmDOI\@empty
+ .
+ \else
+ , \@formatdoi{\@acmDOI}.
+ \fi\\
\else
- , \@formatdoi{\@acmDOI}.
- \fi\\
- \else
- \if@ACM@journal
- \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
- \$\@acmPrice\\
- DOI: \nolinkurl{\@acmDOI}%
- \else % Conference
- \@acmISBN
- \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
- DOI: \nolinkurl{\@acmDOI}%
+ \if@ACM@journal
+ \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\
+ \$\@acmPrice\\
+ DOI: \nolinkurl{\@acmDOI}%
+ \else % Conference
+ \@acmISBN
+ \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\
+ DOI: \nolinkurl{\@acmDOI}%
+ \fi
\fi
- \fi
- \fi}%
+ \fi}
\endgroup
\setcounter{footnote}{0}%
\@mkabstract
@@ -1547,7 +1592,7 @@ Computing Machinery]
\or % sigchi-a
\Huge\bfseries
\fi}
-\def\@subtitlefont{%
+\def\@subtitlefont{\normalsize
\ifcase\ACM@format@nr
\relax % manuscript
\mdseries
@@ -1635,9 +1680,10 @@ Computing Machinery]
\newbox\@ACM@commabox
\def\@ACM@addtoaddress#1{%
\ifvmode\else
+ \if@ACM@affiliation@obeypunctuation\else
\setbox\@ACM@commabox=\hbox{, }%
\unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
- \fi
+ \fi\fi
#1}
\if@ACM@journal
\let\position\@gobble
@@ -1649,13 +1695,14 @@ Computing Machinery]
\let\postcode\@gobble
\let\country\@gobble
\else
- \def\position#1{#1\par}%
- \def\institution#1{#1\par}%
- \newcommand\department[2][0]{#2\par}%
- \def\streetaddress#1{#1\par}%
+ \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+ \def\institution#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+ \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
+ #2\else#2\par\fi}%
+ \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
\let\city\@ACM@addtoaddress
\let\state\@ACM@addtoaddress
- \def\postcode#1{\unskip\space#1}%
+ \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}%
\let\country\@ACM@addtoaddress
\fi
\def\@mkauthors{\begingroup
@@ -1732,9 +1779,14 @@ Computing Machinery]
\def\affiliation##1##2{%
\def\@tempa{##2}\ifx\@tempa\@empty\else
\ifx\@currentaffiliations\@empty
- \gdef\@currentaffiliations{\@affiliationfont##2}%
+ \gdef\@currentaffiliations{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}%
+ \@affiliationfont##2}%
\else
- \g@addto@macro{\@currentaffiliations}{\and##2}%
+ \g@addto@macro{\@currentaffiliations}{\and
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\fi
\global\let\and\@typeset@author@line}%
@@ -1783,9 +1835,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
- \gdef\@currentaffiliation{##2}%
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\else
- \g@addto@macro\@currentaffiliation{\par##2}%
+ \g@addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx
}%
@@ -1818,9 +1874,13 @@ Computing Machinery]
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
\fi}%
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
- \gdef\@currentaffiliation{##2}%
+ \gdef\@currentaffiliation{%
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\else
- \g@addto@macro\@currentaffiliation{\par##2}%
+ \g@addto@macro\@currentaffiliation{\par
+ \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+ \setkeys{@ACM@affiliation@}{##1}##2}%
\fi
\global\let\and\@typeset@author@bx}%
\bgroup\hsize=\columnwidth
@@ -1900,12 +1960,35 @@ Computing Machinery]
\addtolength{\ACM@linecount@bxht}{\baselineskip}
\ifdim\ACM@linecount@bxht<\textheight\repeat}}
\fi
-\def\ACM@linecount{%
+\def\ACM@linecountL{%
\if@ACM@review
\begin{picture}(0,0)%
\put(-26,-22){\usebox{\ACM@linecount@bx}}%
\end{picture}%
\fi}
+\def\ACM@linecountR{%
+ \if@ACM@review
+ \begin{picture}(0,0)%
+ \put(20,-22){\usebox{\ACM@linecount@bx}}%
+ \end{picture}%
+ \fi}
+\if@ACM@timestamp
+ % Subtracting 30 from \time gives us the effect of rounding-down despite
+ % \numexpr rounding to nearest
+ \newcounter{ACM@time@hours}
+ \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
+ \newcounter{ACM@time@minutes}
+ \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
+ \newcommand\ACM@timestamp{%
+ \footnotesize%
+ \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
+ \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{ }%
+ page~\thepage\ (pp. \@startPage-\pageref*{TotPages})%
+ \ifx\@acmSubmissionID\@empty\relax\else
+ ~Submission~ID: \@acmSubmissionID
+ \fi
+ }
+\fi
\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi}
\def\@headfootfont{%
\ifcase\ACM@format@nr
@@ -1934,46 +2017,50 @@ Computing Machinery]
\renewcommand{\footrulewidth}{\z@}%
\ifcase\ACM@format@nr
\relax % manuscript
- \fancyhead[LE]{\ACM@linecount\if@ACM@printfolios\thepage\fi}%
+ \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
\fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
\fancyhead[RE]{\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount\shorttitle}%
+ \fancyhead[LO]{\ACM@linecountL\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
- \fancyhead[LE]{\ACM@linecount\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyhead[RE]{\@headfootfont\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
+ \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmlarge
- \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont
\@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@headfootfont
\shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\or % acmtog
- \fancyhead[LE]{\ACM@linecount\@headfootfont
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont
\@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LO]{\ACM@linecountL}%
+ \fancyhead[RE]{\ACM@linecountR}%
\fancyhead[RO]{\@headfootfont
- \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+ \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}%
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
\else % Proceedings
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
- \fancyhead[LO]{\ACM@linecount\@headfootfont\shorttitle}%
- \fancyhead[RE]{\@headfootfont\@shortauthors}%
- \fancyhead[LE]{\ACM@linecount\@headfootfont\acmConference@shortname,
+ \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
+ \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
+ \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname,
\acmConference@date, \acmConference@venue}%
\fancyhead[RO]{\@headfootfont\acmConference@shortname,
- \acmConference@date, \acmConference@venue}%
+ \acmConference@date, \acmConference@venue\ACM@linecountR}%
\fi
\if@ACM@sigchiamode
\fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
\fi
+ \if@ACM@timestamp
+ \fancyfoot[LO,RE]{\ACM@timestamp}
+ \fi
}
\pagestyle{standardpagestyle}
\newdimen\@folio@wd
@@ -2021,15 +2108,15 @@ Computing Machinery]
\renewcommand{\footrulewidth}{\z@}%
\ifcase\ACM@format@nr
\relax % manuscript
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
\fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
\fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
\or % acmsmall
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
- \fancyhead[LE]{\ACM@linecount\@folioblob}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyhead[RO]{\@folioblob}%
\fancyheadoffset[RO,LE]{0.6\@folio@wd}%
\or % acmlarge
@@ -2037,18 +2124,28 @@ Computing Machinery]
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
\fancyhead[RO]{\@folioblob}%
- \fancyhead[LE]{\ACM@linecount\@folioblob}%
- \fancyhead[LO]{\ACM@linecount}%
+ \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+ \fancyhead[LO]{\ACM@linecountL}%
\fancyheadoffset[RO,LE]{1.4\@folio@wd}%
\or % acmtog
\fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
\@acmNumber, Article \@acmArticle. Publication date:
\@acmPubDate.}%
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
+ \fancyhead[R]{\ACM@linecountR}%
\else % Conference proceedings
- \fancyhead[L]{\ACM@linecount}%
+ \fancyhead[L]{\ACM@linecountL}%
+ \fancyhead[R]{\ACM@linecountR}%
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
\fi
+ \if@ACM@timestamp
+ \ifnum\ACM@format@nr=0\relax % Manuscript
+ \fancyfoot[LO,RE]{\ACM@timestamp\quad
+ \footnotesize Manuscript submitted to ACM}
+ \else
+ \fancyfoot[LO,RE]{\ACM@timestamp}
+ \fi
+ \fi
}
\renewcommand\section{\@startsection{section}{1}{\z@}%
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%