diff options
author | Karl Berry <karl@freefriends.org> | 2011-01-04 18:15:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-01-04 18:15:39 +0000 |
commit | 1eb1d9af3bab8ac49598e937021b51590465075e (patch) | |
tree | 57da05565266782a6172999b4c9e07ee4a46354b /Master/texmf-dist | |
parent | 2e9a288be91ea1e0ed18a091898c1e92251be9cb (diff) |
rm acmtrans, nonfree (nosell) license
git-svn-id: svn://tug.org/texlive/trunk@20930 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib | 116 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst | 1768 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf | bin | 180516 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/acmtrans/acmtr2e.tex | 1000 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/acmtrans/acmtrans2e.cls | 1243 |
5 files changed, 0 insertions, 4127 deletions
diff --git a/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib b/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib deleted file mode 100644 index 9d6d973579f..00000000000 --- a/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib +++ /dev/null @@ -1,116 +0,0 @@ -% acmtr.bib -% $Header: acmtr.bib,v 1.3 96/01/30 14:27:43 boyland Exp $ - -@mastersthesis{ko94, -author = "Jacob Kornerup", -title = "Mapping Powerlists onto Hypercubes", -school = "The University of Texas at Austin", -note = "(In preparation)", -year = "1994"} -%month = "dec",} - -@PhdThesis{gerndt:89, - author = "Michael Gerndt", - title = "Automatic Parallelization for Distributed-Memory - Multiprocessing Systems", - school = "University of Bonn", - year = 1989, - address = "Bonn, Germany", - month = dec -} - -@article{6:1:1, -author = "J. E. {Archer, Jr.} and R. Conway and F. B. Schneider", -title = "User recovery and reversal in interactive systems", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "6", -number = "1", -month = jan, -year = 1984, -pages = "1--19"} - -@article{7:1:137, -author = "D. D. Dunlop and V. R. Basili", -title = "Generalizing specifications for uniformly implemented loops", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "7", -number = "1", -month = jan, -year = 1985, -pages = "137--158"} - -@article{7:2:183, -author = "J. Heering and P. Klint", -title = "Towards monolingual programming environments", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "7", -number = "2", -month = apr, -year = 1985, -pages = "183--213"} - -@book{knuth:texbook, -author = "Donald E. Knuth", -title = "The {\TeX{}book}", -publisher = "Addison-Wesley", -address = "Reading, Mass.", -year = 1984} - -@article{6:3:380, -author = "E. Korach and D. Rotem and N. Santoro", -title = "Distributed algorithms for finding centers and medians in networks", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "6", -number = "3", -month = jul, -year = 1984, -pages = "380--401"} - -@book{lamport:latex, -author = "Leslie Lamport", -title = "\it {\LaTeX}: A Document Preparation System", -publisher = "Addison-Wesley", -address = "Reading, Mass.", -year = 1986} - -@article{7:3:359, -author = "F. Nielson", -title = "Program transformations in a denotational setting", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "7", -number = "3", -month = jul, -year = 1985, -pages = "359--379"} - -%testing -@article{test, -author = "F. Nielson", -title = "Program transformations in a denotational setting", -journal = "ACM Trans. Program. Lang. Syst.", -volume = "7", -number = "3", -month = jul, -year = 1986, -pages = "359--379"} - - -@inproceedings{reid:scribe, -author = "Brian K. Reid", -title = "A high-level approach to computer document formatting", -booktitle = "Proceedings of the Seventh Annual Symposium on Principles of - Programming Languages", -month = jan, -year = 1980, -publisher = "ACM", -address = "New York", -pages = "24--31"} - - - - - - - - - diff --git a/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst b/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst deleted file mode 100644 index f9720fd4a94..00000000000 --- a/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst +++ /dev/null @@ -1,1768 +0,0 @@ -% "ACM Transactions" BibTeX style, acmtrans.bst -% for BibTeX version 0.99c, LaTeX version 3.141 -% Revised 28-MARCH-1996 -% Revised 30-JUNE-1995 -% Revised 15-JAN-1996 -% $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. -% -% 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." * } % jtb: no parens 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." * } % jtb: no ()s 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 ", " * "vol." volume tie.or.space.connect *} - 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$ - 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$ - { "no author, editor, or organization in " cite$ * warning$ - "??" } - { 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 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 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 {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/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf b/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf Binary files differdeleted file mode 100644 index dc70cf0de85..00000000000 --- a/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.tex b/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.tex deleted file mode 100644 index f6dd45ba738..00000000000 --- a/Master/texmf-dist/doc/latex/acmtrans/acmtr2e.tex +++ /dev/null @@ -1,1000 +0,0 @@ -% acmtr.tex -% revised 1/20/97 -% $Header: acmtr.tex,v 1.5 2/14/96 11:07:57 boyland Exp $ - -\documentclass[hyperref]{acmtrans2e} -\usepackage[pdfmark]{hyperref} - -%&t&{\tt #}& -%&v&\verb|#|& - -\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em - T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} - -\firstfoot{ACM Transactions on Document Formatting, - Vol.\ 8, No.\ 1, January 1999, Pages \pages.} - -\runningfoot{ACM Transactions on Document Formatting, - Vol.\ 8, No.\ 1, January 1999.} - -\markboth{Leslie Lamport et al.}{Preparing Articles for the ACM Transactions} - -\title{Preparing Articles for the ACM Transactions -with \LaTeX} -\author{LESLIE LAMPORT\\Digital Equipment Corporation\\ -ANDREW W. APPEL\\Princeton University \and -JOHN TANG BOYLAND\\University of California, Berkeley} -\begin{abstract} -The \LaTeX\ {\tt acmtrans} document style formats articles in -the style of the ACM transactions. Users who have prepared their -document with \LaTeX\ can, with very little effort, produce -camera-ready copy for these journals. -%Then the ACM production department -%will re-typeset from scratch anyway, introducing typographical errors. -\end{abstract} - -\category{D.2.7}{Software Engineering}{Distribution and Main\-ten\-ance}% -[documentation] - -\category{H.4.0}{Information Systems Applications}{General} - -\category{I.7.2}{Text Processing}{Document Preparation}[languages \and - photocomposition] - -\terms{Documentation, Languages} - -\keywords{Document preparation, publications, typesetting} - -\begin{document} - -\setcounter{page}{111} - -\begin{bottomstuff} -Author's address: L. Lamport, System Research Center, -Digital Equipment Corporation, 130 Lytton Ave., Palo Alto, CA 94301.\newline -Start of a second footnote ... -\permission -\copyright\ 1999 ACM 0164-0925/99/0100-0111 \$00.75 -\end{bottomstuff} -\maketitle - -\section{Introduction} - -This article is a description of the \LaTeX\ {\tt acmtrans} document -style for typesetting articles in the format of the ACM -transactions---{\em Transactions on Programming Languages and -Systems}, {\em Transactions on Database Systems}, etc. It has, of -course, been typeset using this document style, so it is a -self-illustrating article. The reader is assumed to be familiar -with \LaTeX, as described by~\citeN{lamport:latex}. - -This document also describes the {\tt acmtrans} bibliography style. - -\LaTeX\ is a document preparation system -implemented as a macro package in Donald Knuth's -\TeX\ typesetting system~\cite{knuth:texbook}. It is based -upon the premise that the user should describe the logical structure of -his document and not how the document is to be formatted. Formatting -is under the direction of a {\em document style} chosen by the user. -The user can dramatically change the way the document is formatted by -simply choosing a different document style. The idea of separating the -logical structure from the formatting comes from Brian Reid's {\em -Scribe\/} system~\cite{reid:scribe}. - - -It is impossible to provide predefined logical structures to handle all -situations that may arise in a document, so users must sometimes make -their own formatting decisions. \LaTeX\ provides a number of features -to assist in this task and, if necessary, the user can call upon the -full power of \TeX, which is probably the most powerful typesetting -system currently available. However, very little user formatting is -necessary for the majority of documents that appear in journals such as -the ACM transactions. Consequently, it is quite easy to convert -an existing \LaTeX\ input file to the {\tt acmtrans} style. - -\section{The Title Page} - -\subsection{The Title, Author(s), and Abstract} - -Following order is mandatory to generate a correct title page: - -\begin{verbatim} - \documentstyle{acmtrans} - \markboth{}{} - \title{} - \author{} - \begin{abstract} ... \end{abstract} - \category{}{}{} - \terms{} - \keywords{} - \begin{document} - \begin{bottomstuff} ... \end{bottomstuff} - \maketitle -\end{verbatim} - -\subsubsection{Title and Author} -The \LaTeX\ \verb|\title| and \verb|\author| declarations and the -\verb|\maketitle| command are employed as usual. However, the user -must format the author a little differently to match the ACM standard. -The following example \cite{6:1:1} illustrates most features: -\begin{quote} -\begin{verbatim} -\author{JAMES E. ARCHER, JR.\\ Rational Machines - \and RICHARD CONWAY and FRED B. SCHNEIDER \\ - Cornell University} -\end{verbatim} -\end{quote} -Note that authors' names are in uppercase letters, authors are -separated from their affiliation by a \verb|\\| command, multiple -authors with the same affiliation are separated by ``and'' (or commas -and ``and'' if there are more than two), and authors with different -affiliations are separated by an \verb|\and| command. The following -example \cite{6:3:380} shows what to do if there are more than -two affiliations: -\begin{quote} -\begin{verbatim} -\author{E. KORACH \\ IBM Israel \\ - D. ROTEM \\ University of Waterloo - \and N. SANTORO \\ Carleton University} -\end{verbatim} -\end{quote} -In both the title and the author, you may have to insert \verb|\\| -commands if lines need to be broken. - -\subsubsection{Abstract} -The abstract is typed as usual with the {\tt abstract} environment. -However, this environment must come before the \verb|\maketitle| -command. - - -\subsection{Content Indicators and Keywords} - -The content indicators and keywords are entered with \LaTeX\ -declarations. The CR categories are indicated with \verb|\category| -declarations. The first CR category of this article, appearing -right below the abstract, was entered with the following command: -\begin{quote} -\begin{verbatim} -\category{D.2.7}{Software Engineering}{Distribution and - Maintenance}[Documentation] -\end{verbatim} -\end{quote} -Note that the last argument (which contains the subject descriptors) -is optional, since some categories have none. Multiple subject descriptors -are separated by \verb|\and| commands, as in the last category of -this article: -\begin{quote} -\begin{verbatim} -\category{I.7.2}{Text Processing}{Document Preparation} - [Languages \and Photocomposition] -\end{verbatim} -\end{quote} -Use a separate \verb|\category| declaration for each CR category; -they will be listed in the order that the commands appear. The -\verb|\category| commands must precede the \verb|\maketitle| -command. - -The General Terms are declared with a (single) \verb|\terms| -command as in the one for this article: -\begin{quote} -\begin{verbatim} -\terms{Documentation, Languages} -\end{verbatim} -\end{quote} -The \verb|\terms| declaration must come before the \verb|\maketitle| -command. The terms {\it must} be chosen from the following list: -\begin{quote} -Algorithms; -Design; -Documentation; -Economics; -Experimentation; -Human factors; -Languages; -Legal aspects; -Management; -Measurement; -Performance; -Reliability; -Security; -Standardization; -Theory; -Verification; -\end{quote} -The general terms are -orthogonal to the Categories, at least theoretically, and so -may be applied to any elements of the classification tree. - -Think of them as `perspectives' from which any topic may -be approached. Thus you could use {\em Theory} or {\em Performance} for an -article about {\em C.2.1 Distributed Networks}. However, -some of these general terms actually slide over into -content areas. Thus {\em Legal aspects} is a general term -applicable to any category, but also an entire node in the tree, -{\em K.5}, devoted to {\em Legal aspects of computing,} with many sub-topics. - -So, though perhaps not perfect, the General Terms are most useful -in online searches when used in combination with categories. - -The ``Additional Keywords and Phrases'' item on the title page -is provided by the \verb|\keywords| declaration, {\bf listed alphabetically\/}. -For this article, -they were produced by the following command: -\begin{quote} -\begin{verbatim} -\keywords{Document preparation, publications, typesetting} -\end{verbatim} -\end{quote} -There is no prescribed list of ``additional keywords;'' use any that -you want. - -\subsection{The Bottom of the Title Page} - -The bottom of the article's title page contains acknowledgment of -support, the author(s) address(es), a ``permission to copy'' statement, -and a line containing a copyright symbol (\copyright) and a mysterious -number. This is all entered with a {\tt bottomstuff} environment; -there must be no blank line after the \verb|\begin{bottomstuff}| -command. The permission to copy statement is produced by the -\verb|\permission| command. - -\subsection{The Page Headers} - -\verb|\markboth{}{}| generates the left- and right-page headers. The first -argument is the author's name(s): - -\begin{itemize} -\item If there is one author, then use author's full name (ex. Leslie Lamport); -\item If there are two authors, then abbreviate each author's first name - (L.~Lamport and A.~Appel); -\item If there are more than two authors, then the format is Leslie Lamport et al. -\end{itemize} - -The second argument of \verb|markboth| is the title; -if the title is too long, -contract it by omitting subtitles and phrases, not by abbreviating words. - - -\section{Ordinary Text} - -Most of the body of the text is typed just as in an ordinary -document. This section lists the differences. - -\subsection{Lists} - -\subsubsection{Enumeration and Itemization} - -Let's begin with enumeration. -\begin{longenum} -\item The ACM style has two different formats for -itemized lists, which I will call the {\em long\/} and {\em short\/} -formats. The long format is generally used when the individual items -are more than two or three lines long, but ACM has been inconsistent in -their choice of format, sometimes using the long format for lists whose -items are all one or two lines long and the short format for lists of -long items. This list is an example of the long format. - -\item The ordinary {\tt enumerate} environment -produces the short format. For the long format, use the -{\tt longenum} environment. -\begin{enumerate}\itemindent 10pt -\item This inner enumeration uses the short format. -\item It was produced using \LaTeX's ordinary {\tt enumerate} - environment. -\item ACM has no standard for enumerations nested more than - two levels deep, so the {\tt acmtrans} style does not - handle them well. -\end{enumerate} -\end{longenum} - -Itemized lists are similar to enumerated ones. -\begin{longitem} -\item As with enumerations, there is a long and a short -format for itemized lists. This list is in the long format. - -\item The long format is produced by the {\tt longitem} -environment. The ordinary {\tt itemize} environment -uses the short format. -\begin{itemize} -\item This is an itemized list using the short format. - -\item It was produced with the {\tt itemize} environment -that is used in ordinary \LaTeX\ input. -\end{itemize} -\end{longitem} - -It is interesting to observe that the style of tick mark used -for an itemization changed around 1985 from an en dash -(--) to an em dash (---). % jtb: changed! - -\subsubsection{Descriptions} - -A list is a sequence of displayed text elements, called items, each -composed of the following two elements: -\begin{describe}{{\em item body\/}:} -\item[{\em label\/}:] -A marker that identifies or sets off the item. It -is a number in an enumerated list and a tick mark in an itemized list. - -\item[{\em item body\/}:] The text of the item. It is usually ordinary prose, -but sometimes consists of an equation, a program statement, etc. - -Or another paragraph, which will be indented like normal paragraphs. -\end{describe} - -When the labels of a list are names rather than numbers or tick marks, -the list is called a {\em description\/} list. -The ACM style -has both long and short description lists. The above list is a short -description list; the bodies of all the items are indented enough to -accommodate the widest label. -The following list is a long description list. -The {\tt acmtrans} style provides both kinds of description lists: -\begin{description} -\item[short] -The {\tt describe} environment -%that works the -%same as the {\tt description} environment except that it -takes an argument, which should be the same as the argument of the \verb|\item| -command that produces the widest label. Thus, the above description -list was begun with the command -\begin{quote} -\begin{verbatim} -\begin{describe}{{\em item body\/}:} -\end{verbatim} -\end{quote} - -A description label is often emphasized in some way; in this example I -used the \LaTeX\ \verb|\em| command, italicized the label. The ACM -appears to have no standard convention for formatting the labels of a -description list, so the {\tt describe} environment leaves the label -formatting up to you. An \verb|\hfill| command can be used to produce -a label like ``{\em gnu \hfill --\/}'' where {\em gnu\/} is flush left -against the margin and the ``--'' is aligned flush right next to the -item body. - -\item[long] -The standard \LaTeX\ {\tt description} environment produces a long -description list. It italicizes the labels, and puts a period after -them, which seems to be what is done in the ACM transactions. -\end{description} - -\subsection{Theorems, Etc.} - -%\newtheorem{theorem}{Theorem}[subsection] -%\begin{theorem} -%testing section counter -%\end{theorem} - -\LaTeX\ provides a single class of theorem-like environments, which are -defined with the \verb|\newtheorem| command. The ACM transactions -style divides this class into two subclasses that are formatted -differently. The first class includes theorems, corollaries, lemmas, -and propositions. It is produced with the \verb|\newtheorem| command. -Such a theorem-like environment is often followed by a proof, for which -the {\tt acmtrans} style provides a {\tt proof} environment. - -\newtheorem{subtheorem}{Theorem}[subsection] -\begin{subtheorem} -Notice that theorems are numbered inside the nearest section\newline subsection. -\end{subtheorem} - -When listing within the theorem environment, this style will now produce -roman parantheses. Thank you David Sands. - -\begin{proof} -This theorem is an instance of {\tt subtheorem}, theorems nested in -subsections. -\end{proof} - - -The second subclass of theorem-like environments includes ones for -definitions, examples, and remarks. These environments are defined -with the \verb|\newdef| command, which works the same as -\verb|\newtheorem|. Here -is an example of such an environment. - -\newdef{subexample}[subtheorem]{Definition} - -\begin{subexample} -This is an example of a Definition, typed with an {\tt subexample} -environment defined with \verb|\newdef|. -As you can see theorems are italicized and definitions are not. -\end{subexample} - -\newtheorem{subproperty}[subtheorem]{Property} - -Sometimes theorem-like environments are numbered in unusual ways, or -are identified by a name. Consider the following example -from~\citeN{7:3:359}. -\begin{subproperty}[{\rm Ca}] -Let syn $\in$ Syn, occ $\in$ Occ be maximal and sta $\in$ Sta. Then -Tcol\/{\rm [[}syn\/{\rm ]]} occ sta\hspace{-2pt} $\downarrow\!1$ $=$ -Tsto\/{\rm [[}syn\/{\rm ]]} sta. -\end{subproperty} -\begin{proof}[of Property {\rm Ca}] -By straightforward structural induction, and is \linebreak -omitted. -\end{proof} -It was obtained by giving optional arguments to the -{\tt property} environment (defined with \verb|\newtheorem|) -and the {\tt proof} environment and was typed as follows. -\begin{quote} -\begin{verbatim} -\begin{subproperty}[{\rm Ca}] Let ... \end{subproperty} -\begin{proof}[of Property {\rm Ca}] By straightforward ... -\end{verbatim} -\end{quote} -Notice that the optional argument to the {\tt property} environment -suppresses the automatic numbering. If a null optional argument -were given to this environment by typing ``{\tt []}'', then -it would have produced the label ``{\sc Property.}'' This is -how unnumbered theorems, etc.\ are produced. - -Environments defined by \verb|\newdef| use the optional -argument the same way as those defined by \verb|\newtheorem|. - -\vskip10pt -With this definition - -\begin{verbatim} - \newtheorem{secthm}{Theorem}[section] -\end{verbatim} -\noindent -one can solve the counter problems and counter and label problems for -theorems, lemmas and definitions etc. - -With the above definition and with the following variations -\begin{verbatim} - \newdef{secdefn}[secthm]{Definition} or - \newdef{seclem}[secthm]{Lemma} or - \newdef{sectheo}{secthm]{Theorem} etc. -\end{verbatim} -\noindent -one can achieve -\begin{enumerate} -\item correct counters in definitions, theorems etc. in \verb|\section| environment. -For example, to generate ``Definition 4.1.''; without the above two definitions, it produces ``Definition 4.0.1.'' and -\item correct counter and label associated with definitions, theorems etc. in any environment (section or subsection). For example, -\begin{verbatim} - \begin{secdefn}[\thesecthm\ (label)] - text text text - \end{secdefn} -\end{verbatim} -produces the correct definition counter + correct placement of the period as in -``Definition 3.1 (label).''. -\end{enumerate} - -\subsection{Overfull hbox - Stretching/filling one horizontal line} - -To solve a line break due to ``Overfull \verb|\hbox|'', here is a plain \TeX\ -solution; here \verb|\hsize| is the default setting of acmtrans.sty: - -\begin{center} -\verb|\hbox to \hsize{line sentence to be stretched}| -\end{center} - -This can be used in a list environment as well but \verb|\hsize| declared to a reduce -dimension: - -\begin{verbatim} - \hbox{\vbox{\hsize = less than the default setting - \hbox to \hsize{line sentence to be stretched}}} -\end{verbatim} - -\subsection{Programs} - -Good formatting of programs requires a knowledge of their semantics, -and is beyond the scope of a document production system. While -``pretty printers'' are useful for handling the many pages of a real -program, the short examples that are published in articles should be -formatted by hand to improve their clarity. The \LaTeX\ {\tt tabbing} -environment makes the formatting of programs relatively easy, -especially if the user defines commands for his particular language -constructs. -One may also use the {\tt verbatim} environment. - -The ACM transactions style requires that programs be formatted with -different size fonts, depending upon whether they appear in the text or -in a figure, but that is handled by the figure macro which -automatically sets the correct font size. -%The {\tt acmtrans} style provides a {\tt program} -%environment that is exactly the same as the standard {\tt tabbing} -%environment except for the size of the fonts it uses. This environment -%should be used for formatting programs, whether they appear in the -%running text or in a figure. -Moreover, programs in running text should be indented two ems -on each side (as provided by the {\tt quote} environment), and -programs in regular figures should be centered. -(Programs in ``narrow figures'' (q.v.) are left or right justified -automatically). - -Here is an example of a program: -\begin{quote} -\begin{tabbing} -{\bf type} date =\\ -\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ - month: 1\,.\,.\,12;\\ - year: integer \-\\ - {\bf end} \-\\ -{\bf var} mybirth, today : date;\\ -{\bf var} myage : integer; -\end{tabbing} -\end{quote} -Figure~\ref{fig:prog} shows how the same program looks in a figure. -\begin{figure} -\centerline{\parbox{104pt}{% it's safe to overestimate the size here -\begin{tabbing} -{\bf type} date =\\ -\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ - month: 1\,.\,.\,12;\\ - year: integer \-\\ - {\bf end} \-\\ -{\bf var} mybirth, today : date;\\ -{\bf var} myage : integer; -\end{tabbing}}} -\caption{An example of a program centered in a figure} -\label{fig:prog} -\end{figure} - -%The ACM standard calls for the program to start flush at the left -%margin, with each new level of nesting indented by a distance of one -%em, and with the continuation of broken lines indented two ems. However, -%this standard is not applied consistently. - -In addition to formatting programs, the {\tt tabbing} environment may be -used for similar displayed material such as BNF syntax specifications -and rewrite rules. - -\subsection{User-specified Formatting} - -If \LaTeX\ does not provide a particular text structure, the user must -define it himself and specify how it is to be formatted. This is most -easily done by defining the new structure in terms of existing ones; -the \LaTeX\ {\tt list} and {\tt trivlist} environments are useful -tools. However, it is occasionally necessary for the user to provide -explicit formatting commands. - -The best guide to how something should be formatted is what has been -done in the ACM transactions. While horizontal spacing tends to depend -strongly upon the particular text, there is a standard amount of -vertical space used to set off text. The ordinary \LaTeX\ -\verb|\medskip| command produces a vertical space of the appropriate -size. - -\section{Figures and Tables} - -\subsection{Figures} - -The ordinary \LaTeX\ {\tt figure} environment works as usual. -Figure~\ref{fig:ordinary}, which is Figure~6 of \citeN{7:3:359}, a bogus reference, -\begin{figure} -\centering -\(\begin{array}{c|ccc} - & \bot & F & T \\ -\hline -\bot & \bot & \bot & T \\ -F & \bot & F & T \\ -T & \bot & T & T -\end{array}\) -\caption{The truth table for the parallel-or.} -\label{fig:ordinary} -\end{figure} -was produced in this way. -Note that figures should never appear in the text or at the bottom of -a page. (If you use the figure placement optional argument, use only -\verb"t" or \verb"p" or both; do not use \verb"h" or \verb"b"). - -Some figures (and tables) have no caption except for the figure number. -For such figures (and tables), one uses a \verb|\nocaption| command, -which has no argument, instead of the \verb|\caption| command. - -\begin{narrowfig}{3in} -\begin{tabbing} -{\bf type} date =\\ -\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ - month: 1\,.\,.\,12;\\ - year: integer \-\\ - {\bf end} \-\\ -{\bf var} mybirth, today : date;\\ -{\bf var} myage : integer; -\end{tabbing} -\caption{An example of a program displayed in a figure.} -\label{fig:narrow} -\end{narrowfig} - -In addition to this method of formatting figures, the ACM transactions -also uses figures with side captions, as in Figure~\ref{fig:narrow}. -Such a figure is produced with the {\tt narrowfig} environment. This -environment has a single mandatory argument, which is the width of the -figure. -Note that if the figure is generated by {\tt tabbing} or {\tt -tabular}, one can safely overestimate the size. -It works just like the ordinary {\tt figure} environment, -except it must contain only one \verb|\caption| or \verb|\nocaption| -command, which must come after the figure itself. - -The {\tt narrowfig} environment should obviously not be used unless the -figure is narrow enough to leave a reasonable amount of space beside it -for the caption. The ACM seems to have no consistent policy for choosing -which style of figure to employ. - -\subsection{Tables} - -The ordinary \LaTeX\ {\tt table} environment can be used, but it -requires the user to add formatting commands to match the ACM -transactions style. This formatting is performed automatically -if the {\tt acmtable} environment is used instead, producing -the result shown in Table~\ref{tab:table}, which shows the same -table displayed in Figure~\ref{fig:ordinary}. -\begin{acmtable}{100pt} -\centering -\(\begin{array}{c|ccc} - & \bot & F & T \\ -\hline -\bot & \bot & \bot & T \\ -F & \bot & F & T \\ -T & \bot & T & T -\end{array}\) -\caption{The truth table for the parallel-or.} -\label{tab:table} -\end{acmtable} -This environment has a mandatory argument that equals the width -of the table---more precisely, it specifies the width of the rules -above and below the table. There must be only one -\verb|\caption| or \verb|\nocaption| -command, which must come after the text of the table. -(Even though the table caption is printed above the table, the -\verb|\caption| command comes after the table in the input file.) - - -\section{The End of the Document} - -\subsection{Appendix} - -The appendix (if the article has one) should precede the -acknowledgments (if any) and bibliography. -If the appendix isn't broken into separate sections, -then you should add the following commands after the \verb|\appendix| -command: -\begin{quote} -\begin{verbatim} -\section*{APPENDIX} -\setcounter{section}{1} -\end{verbatim} -\end{quote} -Setting the counter is necessary so that numbered subsections and -theorems will have the names ``A.{\em N\/}'' in the text. - -For an article with multiple appendices, one begins -the appendix with an \verb|\appendix| followed by -\verb|\section*{APPENDIX}|, and then starts each -appendix with an ordinary \verb|\section| command. - -Information about electronic appendices is given in -Section~\ref{sec:elecappendix} and in the Appendix. - -\subsection{Acknowledgments} - -An optional acknowledgments section follows all the text of the -article, including any appendices. It is produced with the -{\tt acks} environment. (Since I can never remember how many -{\em e\/}'s there are in {\em acknowledgments}, it seemed -like an abbreviation was in order for the environment name. -One may also spell out the name as {\tt acknowledgments}). -Sometimes, there is just a single acknowledgment. -This may be given using the {\tt ack} or {\tt acknowledgment} -environment. - -\subsection{Bibliography} - -The bibliography follows the acknowledgments, and is the last -significant body of text in the article. It is produced by the usual -\LaTeX\ commands. - -In 1993 the ACM changed bibliography styles, from numerical citations [13] -to author's name and year \cite{7:3:359}. -The user is encouraged to let \LaTeX\ produce his bibliography -with the \verb|\bibliography| command, letting \BibTeX\ handle the -formatting of the entries. -The \verb|acmtrans.sty| -bibliography style file now generates citations in this format. -Put -\begin{quote} -\begin{verbatim} -\bibliographystyle{acmtrans} -\end{verbatim} -\end{quote} -between the \verb|\begin{document}| and the \verb|\end{document}|. - -The conventional \verb|\cite| command will generate citations as usual in -\LaTeX. -Note that the style file automatically omits repeating author -names~\cite{7:3:359,test}. -If you mention the work explicitly in your prose, you should use -\verb|\citeN| command. This command generates for example, \citeN{7:3:359} -discusses denotational program transformations. Or, you use -\verb|\citeyear| and say that Nielson \citeyear{7:3:359} discusses -them. -The command \verb|\shortcite| is an alias for \verb|\citeyear|. -Either command may be used in cases where one refers to multiple -works (of the same authors!). -For example, \verb|Nielson~\shortcite{7:3:359,test}| generates -Nielson~\shortcite{7:3:359,test}. -%To generate author~[year1; year2], give the author's name and then use -%the command \verb|\citeNN{year1,year2}|, -%which generates ``Nielson~\citeNN{7:3:359,test}.'' - -More variations of \verb|\cite| are discussed in comments in the -\verb|acmtrans.sty| file. Here are some {\bf examples} on how to get - -\begin{enumerate} -\item{Appel [1996]} $\rightarrow$ using either \verb|\citeN| or \verb|\citeyear| -\item{[Kempe 1879]} $\rightarrow$ \verb|\cite{kempe79}| -\item{Appel [1995; 1996]} $\rightarrow$ \verb|\shortcite{ref1-key,ref2-key}| -\item{Fil\'e [1981a; 1981b]} $\rightarrow$ \verb|Fil\'{e}~\shortcite{engelfriet/file:81sweep,|\\ -\hbox{}\kern.2in\verb|engelfriet/file:81passes}| or simply \verb|\shortcite{ref1-key, ref2-key}| -\item{[Appel and Shao 1992; Shao and Appel 1994]} $\rightarrow$ -\verb|\cite{appel-zhong-lsc92,|\\ -\hbox{}\kern3.5in\verb|shao94:clo}| -\item{Chow and Harrison [1992; 1994]} $\rightarrow$ - Chow~and~Harrison~[\verb|\citeyearNP{CH-popl92};| - \hbox{}\kern2in\verb|\citeyearNP{CH-iccl94}|] -\item{[Chow and Harrison 1992; 1994; Cousot and Cousot 1984]} $\rightarrow$ -\verb|[\citeNP{CH-popl92};|\\ - \hbox{}\kern1.7in \verb|\citeyearNP{CH-iccl94}; \citeNP{CC-apct77}]| -\item{[Cytron et al. 1991]} $\rightarrow$ \verb|\cite{cytron-et-al-toplas91}| -\item{Briggs et al. [1994]} $\rightarrow$ \verb|\citeN{briggs-cooper-torczon-toplas94}| or -\item{Duri et al. [1993]} $\rightarrow$ \verb|Duri~et~al.~\citeyear{DBDS-sigsoft93}| -\item{[Chaitin 1982; Chaitin et al. 1981]} $\rightarrow$ \verb|\cite{chaitin-pldi82,chaitin-et-al-cl81}| -\item{[Alblas 1991; Deransart et al. 1988; Knuth 1868]} $\rightarrow$ -\verb|\cite{alblas:91intro,| -\hbox{}\kern1in\verb|deransart/jourdan/lorho:88ag,knuth:68semantics}| -\item{[Gary and Johnson 1979]} $\rightarrow$ \verb|\cite{garey-johnson-bk79}| -\item{[Brand and Zafiropulo 1983; Gouda et al. 1984;1987]} $\rightarrow$ \newline -\verb|[\citeNP{brand83}; \citeNP{gouda84};\citeyearNP{gouda87}]| -\end{enumerate} -\noindent -The list will be updated as we find unique cases. - -\subsection{Received Date} - -An ACM transactions article ends with the dates that the article and its -revised versions were received and the date it was accepted for -publication. In the {\tt acmtrans} document style, this information is -produced with the {\tt received} environment. Type the body of the -environment just as it should appear in the printed version. -(Note that only \verb"Received" and the months should be capitalized, -the entries should be separated by semicolons, -and the whole ``sentence'' should {\em not} be terminated by a period.) -You can get these dates from the editor-in-chief. - -\section{Running Heads and Feet} - -The running foot of all but the title page of the article is declared -with the \linebreak -\verb|\runningfoot| command. It contains the name of the -journal, volume, number, and date. The foot for the title page -contains this information plus the page numbers. It is declared -with the \verb|\firstfoot| command. - -The \verb|\pages| command prints the page numbers of the article, -producing something like ``123--132''. It is implemented with the -\LaTeX\ \verb|\pageref| command, so it will not produce the correct -page numbers the first time the file is run through \LaTeX, or if the -number of the first or last page has changed since the last time. - -The default page style for the {\tt acmtrans} style is {\tt -myheadings}. Thus, a \verb|\markboth| command is used to set the -running heads. The left head contains the author's name (or authors' -names) and the right head contains the title. For long titles, -some contraction of the title is used. - -{\bf -At present, the ACM prefers to strip in their own running heads and -feet, so it is unnecessary to worry about them when producing -camera-ready copy. -} - -\section{Interacting with ACM's Production Staff} - -After your article is accepted, format your document and send -a Postscript file to the editor-in-chief. An ACM copy editor will -mark up a paper copy and send it back to you for corrections. -If there are just a few corrections, they may be sent to you by e-mail. -Iterate this process until the copy editor is satisfied (it may take -one or two iterations). - -Then print your final camera-ready copy on a 1200-dpi phototypesetter -(or a 600-dpi laser printer, if you must) and mail it to ACM. - -If you are using a laser printer for your final camera-ready copy, -you may enjoy using special paper designed for this purpose (it gives -a sharper image on a whiter background). One such paper -(manufactured by Hammermill Papers) is: -\begin{verse} - Hammermill Laser Plus (Featuring Wax Holdout)\\ - 8$\frac{1}{2}$x11--12M--S24/60\\ - 10450--5\\ - For Prepress Proofing and Camera-Ready Masters. -\end{verse} - -But the use of special paper is entirely optional; plain white laser-printer -paper is fine. - -\subsection{ACM Copy Editors' Preferences} - -We wish to thank the authors who have mailed to us copies of their page proofs. -From the page proofs (and explicit requests from ACM), here is a list of items most -frequently marked up by the copy editors. - -\begin{description}\itemindent\labelsep % that is, no indentation -\item[\bf Center] Displayed items like figures, pieces of program codes, and equations. Equation numbers to appear right flushed. Remember to add a period if the displayed equation ends in a sentence. -\item[\bf Fonts] Following items in regular Roman font: -\begin{itemize} -\item such words like et al., e.g., i.e., ad hoc, and bona fide, and -\item the body of the definition environment. -\end{itemize} -\item[\bf Etc] No double period when a sentence ends with ``etc.'' -\item[\bf Figure] Spell out the word ``figure'' when using in a sentence, as in Figure 1. -Use a period as in ``Fig. 1.'' and not a colon as in ``Fig. 1:'' -\item[\bf Contractions] Avoid the use of contractions; for example, use -{\em do not} instead of {\em don't}. -(If you prefer to use contractions to avoid -stuffiness, you'll have to tell the copy editor explicitly after you -get the marked-up proofs.) -\item[\bf Conference References] Please use {\it 4th International Conf. on -Document Formatting}, not {\it Fourth International Conference ...}; that -is, do not spell out the number. -\item[\bf Journal References] Figure~\ref{fig:abbrev} gives common journal abbreviations; there is a duplicate list in the acmtrans.bst file for your convenience. Using the {\it abbreviation} feature of \BibTeX\ for journal -names (and months!) makes it easy to follow the rules. -\end{description} - -\begin{figure}\noindent -\begin{tabular}{l|l||l|l} -\footnotesize -acmcs&ACM Comput. Surv.&jlp&J. Logic Program.\\ -acmlett&ACM Lett. Program. Lang. Syst.&jcss&J. Comput. Syst. Sci.\\ -acta&Acta Inf.&jsmrp&J. Softw. Maint. Res. Pract.\\ -al&Ada Lett.&jss&J. Syst. Softw.\\ -acr&Adv. Comput. Res.&jlsc&J. Lisp Symb. Comput.\\ -bit&Bit&lpls&Lett. Program. Lang. Syst.\\ -cacm&Commun. ACM&mscs&Math. Struct. Comput. Sci.\\ -cj&Comput. J.&mst&Math. Syst. Theor.\\ -cn&Comput. J.&ngc&New Gen. Comput.\\ -cl&Comput. Lang.&scp&Sci. Comput. Program.\\ -ict&Inf. Contr.&sicomp&SIAM J. Comput.\\ -ieebcs&IEE/BCS Softw. Eng. J.&spe&Softw. Pract. Exper.\\ -ieees&IEEE Softw.&tocs&ACM Trans. Comput. Syst.\\ -ieeese&IEEE Trans. Softw. Eng.&tods&ACM Trans. Database Syst.\\ -ieeetc&IEEE Trans. Comput.&tog&ACM Trans. Graphics\\ -ieeetpds&IEEE Trans. Parall. Distrib. Syst.&toms&ACM Trans. Math. Softw.\\ -ieeetit&IEEE Trans. Inf. Theory&toois&ACM Trans. Office Inf. Syst.\\ -ipl&Inf. Process. Lett.&toplas&ACM Trans. Program. Lang. Syst.\\ -icp&Inf. Comput.&tcs&Theor. Comput. Sci.\\ -ist&Inf. Softw. Tech.&tr&Tech. Rep.\\ -ijsa&Int. J. Supercomput. Appl.&jf&J. Funct. Program.\\ -ijpp&Int. J. Parallel Program.&jlc&J. Logic and Comput.\\ -\end{tabular} -\caption{Common journal abbreviations.} -\label{fig:abbrev} -\end{figure} - -The best method of -reducing the number of copy editorial markups is by using a recent ACM journal -as a guide to typesetting your article. - -\section{Electronic Appendices} -\label{sec:elecappendix} - -Because of severe constraints on how many pages it can print, -{\it ACM Transactions on Programming Languages and Systems} (TOPLAS) -accepts some articles with {\it electronic appendices:} appendices -in Postscript format that will not appear in the printed article but -will be available separately. If your article is accepted with an -electronic appendix, you should put an appendix header where the -appendix normally belongs (before the ``acknowledgments''). -The body of the electronic appendix should be given after the -references. -The \verb|appendixhead| command is given -\begin{quote} -{\tt \verb|\|appendixhead\{{\it journal}\}\{{\it article-id}\}} -\end{quote} -where {\it journal} is the name of the journal (e.g. {\tt toplas} or -{\tt todf}), and -{\it article-id} is a number given to you by the Editor. -The result of \verb|\appendixhead| looks like this:\footnote{% -See the end of this document for the remainder of the explanation of -electronic appendices} - -\appendix -\section*{ONLINE-ONLY APPENDICES} -\setcounter{secnumbookdepth}{-1} -% \begin{NoHyper} -\section{Splitting off the electronic appendix} -\section{Single appendix} -\section{Multiple appendices} -% \end{NoHyper} -\setcounter{secnumbookdepth}{3} - -\appendixhead{Appendix A is}{appendix}{http://www.acm.org/toplas} - -\begin{acks} -We wish to thank Howard Trickey for providing the now-obsolete -version of the {\tt acmtrans} -bibliography style, and for giving advice on creating the new one; -Rebecca Davies for helping to adapt -Glenn Paulley's ``Chicago'' bibliography -style to fit the new ACM style; -and Marilyn Salmansohn and George Criscione for providing information -on the official ACM transactions style. -\end{acks} - -\bibliographystyle{acmtrans} -\bibliography{acmtr} -\begin{received} -Received February 1986; -November 1993; -accepted January 1996 -\end{received} - -elecappendix{http://www.acm.org/toplas}{1998}{ACM Transactions on Document Formatting, - Vol.~8, No.~1, January 1999, Pages \pages.}{ -\copyright\ 1999 ACM 0164-0925/98/0100-0208A \$5.00} - -The contents of the electronic appendix is written after the references -and the ``received'' environment. -The electronic appendix is started -by an \verb|\elecappendix| command that takes two -required arguments: -\begin{quote} -{\tt \verb|\|elecappendix\{{\it year}\}\{{\it ref\/}\}} -\end{quote} -where -{\it year} is the year of appearance (or, if this not known, the year -of acceptance), necessary for the copyright notice, and -{\it ref\/} is a sentence provided by the Editor describing the -publication reference -information regarding your article. - -\section{Splitting off the electronic appendix} - -If you have an electronic appendix, only the main body of the -article, up through and including the description of how to obtain -the electronic appendix, will be printed in the journal. - -It will be necessary to split your dvi or Postscript file into -two parts: one to be printed, the other to be available by -FTP. Please split your Postscript into two separate postscript files -using {\tt dvipages} or {\tt pslpr} and -email them separately to the Editor. - -Note that the pages of the appendix are numbered A-1, A-2, etc. -so as not to interfere with the normal journal pagination. - -\section{Single Appendix} - -When an article has a single electronic appendix, then after -the \verb|\elecappendix| command, type the following. -\begin{quote} -\begin{verbatim} -\setcounter{section}{1} -\end{verbatim} -\end{quote} -If the text starts immediately, add a \verb|\medskip| to set off the -text from the horizontal rule created by \verb|\elecappendix|. - -\section{Multiple appendices} - -For an article with multiple electronic appendices, one begins -the appendix with an \verb|\elecappendix| -command, then starts each -appendix with an ordinary \verb|\section| command. Lower levels of -sectioning are produced by the ordinary sectioning commands. - -\end{document} - - - - - diff --git a/Master/texmf-dist/tex/latex/acmtrans/acmtrans2e.cls b/Master/texmf-dist/tex/latex/acmtrans/acmtrans2e.cls deleted file mode 100644 index 2a67feb3857..00000000000 --- a/Master/texmf-dist/tex/latex/acmtrans/acmtrans2e.cls +++ /dev/null @@ -1,1243 +0,0 @@ -% latex2e by nr 7/3/96 -% acmtrans.cls revised 4/19/96 -% revised again 31-JAN-1996 (see end of file) -% revised 5-14-1997 : -% Don't use sans-serif font in categories and descriptors -% include latexsym by default -% Define longpage and shortpage -% $Header: acmtrans.sty,v 1.3 96/01/31 13:12:53 boyland Exp $ -% Here is the basic framework that is needed to convert your paper -% into ACM TOPLAS format and bibliographic format. For a tutorial -% introduction, see ``acmtr.tex'' (compile it with LaTeX) that -% accompanies the distribution of this style file. -% -% -> \documentclass{acmtrans} -% -> \markboth{}{} -% takes 2 arguments and it is for the left- and right-page headers: -% the first set of braces is assigned for author's name(s) -% and -% the second set of braces is assigned for the title -% (if the title is too long, contraction may be needed -% -> \title{} -% if the title is too long, it can be separated by \\ -% -> \author{} -% author1 \\ author1 affiliation -% \and -% author2 \\ author2 affiliation -% -> \begin{abstract} -% -> \end{abstract} -% -% -> \category{}{}{} -% takes 3 arguments for the Computing Reviews Classification Scheme. -% ex: \category{D.3.3}{Programming Languages}{Language Constructs and -% Features}[data types and structures] -% the last argument, in square brackets, is optional. -% -> \terms{} (ex: \terms{Human Factors, Languages}) -% -> \keywords{} (in alphabetical order \keywords{document processing, sequences, -% string searching, subsequences, substrings}) -% -> \begin{document} -% -% -> \begin{bottomstuff} -% similar to \thanks -% for authors' addresses; research/grant statements -% -> \end{bottomstuff} -% -> \maketitle -% -% Now you can start the body of the paper; your figures, tables and -% use all the latex constructs. -% -% -> \begin{acks} -% acknowledgements -% -> \end{acks} -% -% -> \bibliographystyle{acmtrans} -% -> \bibliography{mybib_file} -% -% **** -% If your paper has been accepted with a separate (electronic only) -% appendix, you need to add the following control sequence: -% -% -> \appendixhead{}{}{}{} -% takes 4 arguments to identify your appendix section. -% first = journal name (e.g. toplas ) -% second = paper-id (a four-digit number) -% third = year of appearance, for copyright notice -% (approximation will suffice) -% fourth = journal, volume and year of publication if known -% -% body of appendix -%!!!!!! \appendixhead has be cut into two: \appendixhead and \elecappendix -%!!!!!! See end of file. (jtb) -% -% -> \end{document} -% -% Do not worry about the other definitions in this style file -% Remember to compile: latex, bibtex, latex latex -% -% 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{acmtrans2e} [1996/07/03 ACM Transactions class based on <23 April 96>] -\RequirePackage{latexsym} - - -\if@compatibility\else -\DeclareOption{a4paper} - {\setlength\paperheight {297mm}% - \setlength\paperwidth {210mm}% - \def\special@paper{210mm,297mm}} -\DeclareOption{a5paper} - {\setlength\paperheight {210mm}% - \setlength\paperwidth {148mm}% - \def\special@paper{148mm,210mm}} -\DeclareOption{b5paper} - {\setlength\paperheight {250mm}% - \setlength\paperwidth {176mm}% - \setlength\voffset {-15mm}% - \setlength\hoffset {-20mm}% - \def\special@paper{176mm,250mm}} -\DeclareOption{letterpaper} - {\setlength\paperheight {11in}% - \setlength\paperwidth {8.5in}% - \def\special@paper{8.5in,11in}} -\DeclareOption{legalpaper} - {\setlength\paperheight {14in}% - \setlength\paperwidth {8.5in}% - \def\special@paper{8.5in,14in}} -\DeclareOption{executivepaper} - {\setlength\paperheight {10.5in}% - \setlength\paperwidth {7.25in}% - \def\special@paper{7.25in,10.5in}} -\DeclareOption{landscape} - {\setlength\@tempdima {\paperheight}% - \setlength\paperheight {\paperwidth}% - \setlength\paperwidth {\@tempdima}} -\fi - -\DeclareOption{checkMargin}{\setlength\overfullrule{5pt}} -\DeclareOption{final}{\setlength\overfullrule{0pt}} - -\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} -\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} - -\DeclareOption{10pt}{\def\@ptsize{0}} %needed for amssymbols.sty -\DeclareOption{11pt}{\ClassError{acmtrans}{11pt style not supported} - {ACM transactions doecuments can be set in 10pt only}} -\DeclareOption{12pt}{\ClassError{acmtrans}{11pt style not supported} - {ACM transactions doecuments can be set in 10pt only}} - -\DeclareOption{hyperref}{% - \def\pages{\realpageref{@firstpg}--\realpageref{@lastpg}}% - \def\mypage{\thepage}% - \setlength{\bibitemindent}{-1em} - \def\@getpagenum#1#2#3#4{#2}% - \def\pdfinfo#1#2{\pdfmark{pdfmark=/DOCINFO,Title=#1,Author=#2}} - } -\DeclareOption{nohyperref}{ - \def\pages{\pageref{@firstpg}--\pageref{@lastpg}}% - \def\@getpagenum#1#2{#2}% - \def\mypage{\thepage}% - \def\pdfinfo#1#2{}% - \def\href#1#2{#2}% - \def\pdfbookmark#1#2{}% - } -\DeclareOption{notfinal}{ - \def\pages{TBD}% - \def\mypage{TBD}% - \def\@getpagenum#1#2{#2}% - \def\pdfinfo#1#2{}% - \def\pdfbookmark#1#2{}% - } -\DeclareOption{omitline}{\def\@abstractbottom{\relax}} -\DeclareOption{dontomitline}{\def\@abstractbottom{\hbox{\vrule height .2pt width 30pc}}} -\newlength{\bibitemindent} -\ExecuteOptions{twoside,final,10pt,dontomitline,nohyperref,letterpaper} % defaults - - - -\ProcessOptions - - - \widowpenalty=5000 - \clubpenalty=5000 - - -\lineskip 1pt \normallineskip 1pt -\def\baselinestretch{1} - -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xpt\@xiipt - \abovedisplayskip 6pt plus2pt minus1pt\belowdisplayskip \abovedisplayskip - \abovedisplayshortskip 6pt plus0pt minus 3pt - \belowdisplayshortskip 6pt plus0pt minus3pt\let\@listi\@listI} - -\newcommand\small{% - \@setfontsize\small\@ixpt{11pt}% - \abovedisplayskip 5pt plus 2pt minus 1pt\belowdisplayskip \abovedisplayskip - \abovedisplayshortskip 5pt plus0pt minus2pt\belowdisplayshortskip 5pt plus0pt - minus 2pt - \def\@listi{\leftmargin\leftmargini \topsep 5pt plus 2pt minus 1pt\parsep 0pt - plus .7pt - \itemsep 1.6pt plus .8pt}} -\newcommand\footnotesize{% -% \@setfontsize\footnotesize\@viiipt{10pt} - \@setsize\footnotesize{10pt}\viiipt\@viiipt - \abovedisplayskip 4pt plus 1pt minus 0pt\belowdisplayskip \abovedisplayskip - \abovedisplayshortskip 4pt plus 0pt minus 1pt\belowdisplayshortskip 4pt plus - 0pt minus 1pt - \def\@listi{\leftmargin\leftmargini \topsep 4pt plus 1pt minus - 0pt\parsep 0pt plus .5pt - \itemsep 1pt plus .7pt}} - -\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{20}} -\newcommand\huge{\@setfontsize\huge\@xxpt{25}} -\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} - -\normalsize - - \oddsidemargin .75in \evensidemargin .75in \marginparwidth .5in - \marginparsep .125in - \topmargin .25in \headheight 12pt\headsep 16pt - %% not in latex2e \footheight 10pt - \footskip 15pt - -\textheight 47pc \textwidth 30pc \columnsep 10pt \columnseprule 0pt - -\footnotesep 7pt -\skip\footins 15pt plus 4pt minus 3pt -\floatsep 12pt plus 2pt minus 2pt -\textfloatsep \floatsep -\intextsep 1pc plus 1pc -%%% not in 2e %% \@maxsep 1pc -%%% not in 2e %% \@dblmaxsep 20pt -\dblfloatsep 12pt plus 2pt minus 2pt -\dbltextfloatsep 20pt plus 2pt minus 4pt -\@fptop 0pt plus 1fil \@fpsep 1pc plus 2fil \@fpbot 0pt plus 1fil -\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil -\marginparpush 6pt - -\parskip 0pt plus .1pt \parindent 10pt \partopsep 0pt -\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 -\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty --\@lowpenalty - - -\def\part{\@ucheadtrue - \@startsection{part}{9}{\z@}{-10pt plus -4pt minus - -2pt}{4pt}{\reset@font\normalsize\sffamily}} -\def\section{\@ucheadtrue - \@startsection{section}{1}{\z@}{-10pt plus -4pt minus - -2pt}{4pt}{\reset@font\normalsize\sffamily}} -\def\subsection{\@ucheadfalse - \@startsection{subsection}{2}{\z@}{-8pt plus -2pt minus - -1pt}{4pt}{\reset@font\normalsize\sffamily}} -\def\subsubsection{\@ucheadfalse - \@startsection{subsubsection}{3}{\parindent}{6pt plus -1pt}{-5pt}{\reset@font\normalsize\itshape}} -\def\paragraph{\@ucheadfalse - \@startsection{paragraph}{3}{\parindent}{6pt plus -1pt}{-5pt}{\reset@font\normalsize\itshape}} - -\renewcommand{\@seccntformat}[1]{\textup{\csname the#1\endcsname}} - -\gdef\@period{.} -\def\@trivlist{\@topsepadd\topsep -\if@noskipsec \gdef\@period{}\leavevmode\gdef\@period{.}\fi - \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi - \if@inlabel \@noparitemtrue \@noparlisttrue - \else \@noparlistfalse \@topsep\@topsepadd \fi - \advance\@topsep \parskip - \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue - \@setpar{\if@newlist\else{\@@par}\fi} \global\@newlisttrue -\@outerparskip\parskip} - - -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \if@uchead% - \protected@edef\@svsec{\@seccntformat{#1}.\quad\relax}% - \else% - \protected@edef\@svsec{\@seccntformat{#1}\quad\relax}% - \fi% - \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 \if@uchead\Makeuppercase{#8}\else#8\fi}% - \csname #1mark\endcsname{#7}% - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} - -\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 - \hskip -#1 - \else \clubpenalty \@clubpenalty - \everypar{}\fi}\fi\ignorespaces} -\newif\if@uchead\@ucheadfalse - - -\setcounter{secnumdepth}{3} -\newcounter{secnumbookdepth} -\setcounter{secnumbookdepth}{3} - -\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}}} - - - -\labelsep 5pt -\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 0pt plus 1pt\topsep 6pt plus 2pt -minus 2pt\itemsep 2pt plus 1pt minus .5pt} -\let\@listi\@listI -\@listi -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep - \topsep 0pt plus 1pt - \parsep 0pt plus .5pt - \itemsep \parsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep - \topsep 0pt plus 1pt - \parsep 0pt plus .5pt - \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} - - - - -\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list - {\csname label\@enumctr\endcsname}{\usecounter - {\@enumctr}\def\makelabel##1{##1\hss}}\fi} -\def\longenum{\ifnum \@enumdepth >3 \@toodeep\else - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list - {\csname label\@enumctr\endcsname}{\usecounter - {\@enumctr}\labelwidth\z@}\fi} -%\leftmargin\z@ \itemindent\parindent}\fi} - this indents each item in enumerate -\let\endlongenum\endlist -%%--------------------CHANGED: always roman parentheses. dave ---------------%% -\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} - -\def\p@enumiv{\p@enumiii\theenumiii} - -\def\itemize{\list{---\hskip -\labelsep}{\settowidth - {\leftmargin}{---}\labelwidth\leftmargin - \addtolength{\labelwidth}{-\labelsep}}} -\let\enditemize\endlist -\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 0pt plus 1pt}\item[]} -\let\endquotation=\endlist -\def\quote{\list{}{\leftmargin 2pc \rightmargin\leftmargin}\item[]} -\let\endquote=\endlist - -\def\description{\list{}{\listparindent\parindent\labelwidth\z@ - \leftmargin\z@ \itemindent\parindent\advance\itemindent\labelsep - \def\makelabel##1{\it ##1.}}} -\let\enddescription\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 - \def\@begintheorem#1#2{\trivlist \item[\hskip 10pt\hskip - \labelsep{\sc #1\hskip 5pt\relax#2.}] \itshape} - \def\@opargbegintheorem#1#2#3{\trivlist - \item[\hskip 10pt \hskip \labelsep{\sc #1\savebox\@tempboxa{#3}\ifdim - \wd\@tempboxa>\z@ \hskip 5pt\relax \box\@tempboxa\fi.}] \itshape} - -\newif\if@qeded\global\@qededfalse -\def\proof{\global\@qededfalse\@ifnextchar[{\@xproof}{\@proof}} -\def\endproof{\if@qeded\else\qed\fi\endtrivlist} -\def\qed{\unskip\kern 10pt{\unitlength1pt\linethickness{.4pt}\framebox(6,6){}} -\global\@qededtrue} -\def\@proof{\trivlist \item[\hskip 10pt\hskip - \labelsep{\sc Proof.}]\ignorespaces} -\def\@xproof[#1]{\trivlist \item[\hskip 10pt\hskip - \labelsep{\sc Proof #1.}]\ignorespaces} - -\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 10pt\hskip - \labelsep{\it #2\savebox\@tempboxa{#3}\ifdim - \wd\@tempboxa>\z@ \ \box\@tempboxa\fi.}]\ignorespaces} -\def\@begindef#1#2{\trivlist \item[\hskip 10pt\hskip - \labelsep{\it #1\ \rm #2.}]} - -\def\theequation{\arabic{equation}} - -\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn - \else \newpage \fi \thispagestyle{empty}\c@page\z@} -\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} - -\arraycolsep 2.5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt -\tabbingsep \labelsep - -\skip\@mpfootins = \skip\footins -\fboxsep = 3pt \fboxrule = .4pt - -\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}} - -\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 1pt} \begingroup - \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip --\@pnumwidth - {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par - \nobreak \endgroup} -\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt} -\@tempdima 1.5em \begingroup - \parindent \z@ \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par - \endgroup} -\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} -\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} -\def\listoffigures{\section*{List of Figures\@mkboth - {LIST OF FIGURES}{LIST OF FIGURES}}\@starttoc{lof}} -\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} -\def\listoftables{\section*{List of Tables\@mkboth - {LIST OF TABLES}{LIST OF TABLES}}\@starttoc{lot}} -\let\l@table\l@figure - - -\def\thebibliography#1{\par\footnotesize -\@ucheadfalse -\@startsection{subsection}{2}{\z@}{16pt plus 2pt minus - 1pt}{2pt}{\sf}*{REFERENCES}% -\list{\arabic{enumi}.}{% - \settowidth{\labelwidth}{99.}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep \topsep \z@ \parsep 0pt plus .1pt - \itemsep \parsep - \usecounter{enumi}}% - \def\newblock{\hskip .11em plus .33em minus .07em} - \sloppy - \widowpenalty=10000 - \clubpenalty=10000 - \sfcode`\.=1000\relax} -\let\endthebibliography=\endlist - - -\newif\if@restonecol -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi -\columnseprule \z@ -\columnsep 35pt\twocolumn[\section*{Index}] - \@mkboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@ - \parskip\z@ plus .3pt\relax\let\item\@idxitem} -\def\@idxitem{\par\hangindent 40pt} -\def\subitem{\par\hangindent 40pt \hspace*{20pt}} -\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} -\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} -\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} - -\def\footnoterule{\kern-3\p@ - \hrule \@height 0.2\p@ \@width 47\p@ - \kern 2.6\p@ -} - -\long\def\@makefntext#1{\parindent 1em\noindent - $^{\@thefnmark}$#1} - - -\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} - -\long\def\@makecaption#1#2{\vskip 1pc \setbox\@tempboxa\hbox{#1.\hskip -1em\relax #2} - \ifdim \wd\@tempboxa >\hsize #1. #2\par \else \hbox -to\hsize{\hfil\box\@tempboxa\hfil} - \fi} - -\def\nocaption{\refstepcounter\@captype \par - \vskip 1pc \hbox to\hsize{\hfil \footnotesize Figure \thefigure - \hfil}} - - -\newcounter{figure} -\def\thefigure{\@arabic\c@figure} -\def\fps@figure{tbp} -\def\ftype@figure{1} -\def\ext@figure{lof} -\def\fnum@figure{Fig.\ \thefigure} -\def\figure{\let\normalsize\footnotesize \normalsize \@float{figure}} -\let\endfigure\end@float -\@namedef{figure*}{\@dblfloat{figure}} -\@namedef{endfigure*}{\end@dblfloat} - -\newcounter{table} -\def\thetable{\@Roman\c@table} -\def\fps@table{tbp} -\def\ftype@table{2} -\def\ext@table{lot} -\def\fnum@table{Table \thetable} -\def\table{\let\normalsize\footnotesize \normalsize\@float{table}} -\let\endtable\end@float -\@namedef{table*}{\@dblfloat{table}} -\@namedef{endtable*}{\end@dblfloat} -\def\acmtable#1{\@narrowfig #1\relax - \let\caption\@atcap \let\nocaption\@atnocap - \def\@tmpnf{}\@ifnextchar[{\@xntab}{\@ntab}} -\def\endacmtable{\hbox to \textwidth{\hfil -\vbox{\hsize \@narrowfig -\box\@nfcapbox -{\baselineskip 4pt \hbox{\vrule height .4pt width \hsize}} -\vskip -1pt -\box\@nfigbox\vskip -1pt -{\baselineskip 4pt \hbox{\vrule height .4pt width \hsize}}}\hfil} -\end@float} -\def\@xntab[#1]{\def\@tmpnf{[#1]}\@ntab} -\def\@ntab{\expandafter\table\@tmpnf - \setbox\@nfigbox\vbox\bgroup - \hsize \@narrowfig \@parboxrestore} -\def\@atmakecap #1#2{\setbox\@tempboxa\hbox{#1.\hskip 1em\relax #2} - \ifdim \wd\@tempboxa >\hsize \sloppy #1.\hskip 1em\relax #2 \par \else \hbox -to\hsize{\hfil\box\@tempboxa\hfil} - \fi} -\def\@atcap{\par\egroup\refstepcounter\@captype - \@dblarg{\@atcapx\@captype}} -\long\def\@atcapx#1[#2]#3{\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 - \hbox to\hsize{\hfil \footnotesize Table \thetable\hfil}}} - -% -%% Narrow figures -% -\def\narrowfig#1{\@narrowfig #1\relax - \let\caption\@nfcap \let\nocaption\@nfnocap - \def\@tmpnf{}\@ifnextchar[{\@xnfig}{\@nfig}} -\def\endnarrowfig{\hbox to \textwidth{\if@nfeven - \box\@nfcapbox\hfil\box\@nfigbox - \else \box\@nfigbox\hfil\box\@nfcapbox\fi}\end@float} -\def\@xnfig[#1]{\def\@tmpnf{[#1]}\@nfig} -\def\@nfig{\expandafter\figure\@tmpnf - \setbox\@nfigbox\vbox\bgroup - \hsize \@narrowfig \@parboxrestore} -\def\@nfmakecap #1#2{\setbox\@tempboxa\hbox{#1.\hskip 1em\relax #2} - \ifdim \wd\@tempboxa >\hsize \sloppy #1.\hskip 1em\relax #2 \par \else \hbox -to\hsize{\if@nfeven\else\hfil\fi\box\@tempboxa\if@nfeven\hfil\fi} - \fi} -\def\@nfcap{\par\egroup\refstepcounter\@captype - \@dblarg{\@nfcapx\@captype}} -\long\def\@nfcapx#1[#2]#3{\@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 - \hbox to\hsize{\if@nfeven\else\hfil\fi - \footnotesize Figure \thefigure - \if@nfeven\hfil\fi} - \vfil}} -\def\@seteven{\@nfeventrue - \@ifundefined{r@@nf\thefigure}{}{% - \edef\@tmpnf{\csname r@@nf\thefigure\endcsname}% - \edef\@tmpnf{\expandafter\@getpagenum\@tmpnf}% - \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} - -\newdimen\@narrowfig -\newbox\@nfigbox -\newbox\@nfcapbox -\newif\if@nfeven - -\def\and{\\ and\\} -\def\maketitle{\newpage \thispagestyle{titlepage}\par - \begingroup \lineskip = \z@\null \vskip -30pt\relax - \parindent\z@ \LARGE {\raggedright \hyphenpenalty\@M - \sf \@title \par} -\label{@firstpg} -{ \vskip 13.5pt\relax \normalsize \sf %vskip 13.5pt between title and author - \begingroup \addtolength{\baselineskip}{2pt} - \@author\par \vskip -2pt - \endgroup } - {\ifx \@categories\@empty - \else - \baselineskip 17pt\relax - \hbox{\vrule height .2pt width 30pc}} - \vskip 8.5pt \footnotesize \box\@abstract \vskip 4pt\relax %vskip8.5 space above abstract - {\def\and{\unskip\/{\rm ; }} - Categories and Subject Descriptors: \@categories \fi}\par\vskip 4pt\relax - \box\@terms \vskip 4pt\relax - \box\@keywords \par - {\baselineskip 14pt\relax - \@abstractbottom - } - \vskip 23pt\relax - \endgroup -\let\maketitle\relax - % \gdef\@author{}\gdef\@title{} - \gdef\@categories{}} - - -\newbox\@abstract -\newbox\@terms -\newbox\@keywords -\def\abstract{\global\setbox\@abstract=\vbox\bgroup \everypar{} - \footnotesize \hsize 30pc \parindent 10pt \noindent - \rule{0pt}{10pt}\ignorespaces} -\def\endabstract{\egroup} - -\def\terms#1{\setbox\@terms=\vbox{\everypar{} - \footnotesize \hsize 30pc \parindent 0pt \noindent - General Terms: \ignorespaces #1}} -\def\keywords#1{\setbox\@keywords=\vbox{\everypar{} - \footnotesize \hsize 30pc \parindent 0pt \noindent - Additional Key Words and Phrases: \ignorespaces #1} -} - -\def\category#1#2#3{\@ifnextchar - [{\@category{#1}{#2}{#3}}{\@xcategory{#1}{#2}{#3}}} -\def\@category#1#2#3[#4]{\edef\@tempa{\ifx \@categories\@empty - \else ; \fi}{\def\protect{\noexpand\protect - \noexpand}\def\and{\noexpand\and}\xdef\@categories{\@categories\@tempa #1 -[{\bf #2}]: - #3\kern\z@---\hskip\z@{\it #4}}}} -\def\@xcategory#1#2#3{\edef\@tempa{\ifx \@categories\@empty \else ; -\fi}{\def\protect{\noexpand\protect\noexpand}\def\and{\noexpand - \and}\xdef\@categories{\@categories\@tempa #1 [{\bf #2}]: #3}}} -\def\@categories{} -\def\bottomstuff{\global\@topnum\z@ \global\@botroom \textheight \begin{figure} -\parindent\z@ -\hbox{} -\vskip -\textfloatsep -\vskip 10pt -\hrule height .2pt width 30pc -\vskip 2pt\rule{0pt}{10pt}\ignorespaces} -\def\endbottomstuff{\end{figure}\gdef\permission{}} - -\newenvironment{ackslike}[1] - {\par \footnotesize - \@ucheadfalse - \@startsection{subsection}{2}{\z@}{-16pt plus -2pt minus -1pt}{2pt}{\sf}* - {\uppercase{#1}}\par\normalsize - \pdfbookmark{Acknowledgments}{Ack} - } - {\par} -\newenvironment{acks}{\begin{ackslike}{ACKNOWLEDGMENTS}}{\end{ackslike}} - -\def\received{\par\footnotesize\addvspace{18pt plus 0pt minus -4pt}\parindent\z@} -\def\endreceived{\label{@lastpg}\hskip-2pt\par} - -\mark{{}{}} - -\def\ps@myheadings{\let\@mkboth\@gobbletwo -\def\@oddhead{\hbox{}\hfill \small\sf \rightmark\hskip -19pt{\Large$\cdot$}\hskip 17pt\mypage} -\def\@oddfoot{\hbox{}\hfill\tiny\@runningfoot} -\def\@evenhead{\small\sf\mypage \hskip 17pt{\Large$\cdot$}\hskip 19pt\leftmark\hfill \hbox{}} -\def\@evenfoot{\tiny\@runningfoot\hfill\hbox{}} -\def\sectionmark##1{}\def\subsectionmark##1{}} -\def\@runningfoot{} -\def\runningfoot#1{\def\@runningfoot{#1}} -\def\@firstfoot{} -\def\firstfoot#1{\def\@firstfoot{#1}} -\def\ps@titlepage{\let\@mkboth\@gobbletwo -\def\@oddhead{}\def\@oddfoot{\hbox{}\hfill -\tiny\@firstfoot}\def\@evenhead{}\def\@evenfoot{\tiny\@firstfoot\hfill\hbox{}}} - -\def\today{\ifcase\month\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or December\fi - \space\number\day, \number\year} -\def\@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} - - -\ps@myheadings \pagenumbering{arabic} \onecolumn - -%-----------------------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. -% -\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\@citeseppen{-1000}% -% \def\@cite@label{#1} -% \def\@cite##1##2{\if@tempswa ##2\fi}% -% \def\citeauthoryear##1##2##3{##2 ##3}\@internalcite} -\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\shortciteN{\def\@citeseppen{-1000}% - \def\@cite##1##2{##1\if@tempswa , ##2]\else{]}\fi}% - \def\citeauthoryear##1##2##3{##2 [##3}\@citedata} -\def\citeS#1{[\citeANP{#1} \citeyearNP{#1}]} -\def\citeNS#1{\citeANP{#1} \citeyear{#1}} -\def\citeNPS#1{\citeANP{#1} \citeyearNP{#1}} -\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}}% - -% (from apalike.sty) -% No labels in the bibliography. -% -\def\@biblabel#1{} - -% (from apalike.sty) -% Set length of hanging indentation for bibliography entries. -% -\newlength{\bibhang} -\setlength{\bibhang}{2em} - -% Indent second and subsequent lines of bibliographic entries. Stolen -% from openbib.sty: \newblock is set to {}. - -\newdimen\bibindent -\bibindent=1em -\@ifundefined{refname}% - {\@ifundefined{chapter}% - {\newcommand{\refname}{\footnotesize REFERENCES}}% - {\newcommand{\refname}{\footnotesize BIBLIOGRAPHY}}% - }% - {}% -\@ifundefined{chapter}% - {\def\thebibliography#1{\footnotesize \section*{\refname\@mkboth - {\uppercase{\refname}}{\uppercase{\refname}}}\list - {[\arabic{enumi}]}{ - \settowidth\labelwidth{[#1]} - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \usecounter{enumi}} - \def\newblock{} - \sloppy - \sfcode`\.=1000\relax}} - {\def\thebibliography#1{\footnotesize \chapter*{\refname\@mkboth - {\uppercase{\refname}}{\uppercase{\refname}}}\list - {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]} - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \usecounter{enumi}} - \def\newblock{} - \sloppy - \sfcode`\.=1000\relax}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% fixes to acm trans macro package -% 31-JAN-1996 -% John Tang Boyland - -% 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}} -% and now fix up definition, to change body to use roman font: -\def\@newdef#1{\newenvironment{#1}{\@ifnextchar[{\@xstartdef{#1}}{\@ystartdef{#1}}}{\end{italic@#1}}} -\def\@xstartdef#1[#2]{\begin{italic@#1}[#2]\rm} -\def\@ystartdef#1{\begin{italic@#1}\rm} - -% footers produced too small (vpt), when ACM typsets them at 7.5pt (!). -% A better compromise is viipt. -\def\@oddfoot{\hbox{}\hfill\scriptsize\@runningfoot} -\def\@evenfoot{\scriptsize\@runningfoot\hfill\hbox{}} - -% first footer was set to (vpt), when ACM typesets them at 6.5pt (!). -% A better compromise is vipt. -\def\firstfootsize{\@setsize\firstfootsize{7pt}\vipt\@vipt} -\def\ps@titlepage{\let\@mkboth\@gobbletwo -\def\@oddhead{}\def\@oddfoot{\hbox{}\hfill\firstfootsize\@firstfoot}% -\def\@evenhead{}\def\@evenfoot{\firstfootsize\@firstfoot\hfill\hbox{}}} - -% new permission statement -\long\def\permission{\par -% linebreaks added to conform to the current style -Permission to make digital/hard copy of all or part of this material without -fee -for personal or classroom use -provided that the copies are not made or distributed for profit -or commercial advantage, the ACM copyright/server notice, the title of the -publication, and its date appear, and notice is given that copying is by -permission of the ACM, Inc. To copy -otherwise, to republish, to post on servers, or to redistribute to lists -requires prior specific -permission and/or a fee.\par} - -% make sure \permission doesn't get trashed -\def\endbottomstuff{\end{figure}} - -% alternate way of using citeyear -\def\shortcite#1{\citeyear{#1}} - -% enumerations and longenums are wrong -% 1. the second line in a paragraph of an enumerations in theorems -% (or other trivlists) doesn't line up under the first -% 1. the second line of a longenum doesn't properly wrap around -% back to the left margin. - -% the original definition of \@listI doesn't set labelwidth -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini\advance\labelwidth-\labelsep - \parsep 0pt plus 1pt - \topsep 6pt plus 2pt minus 2pt - \itemsep 2pt plus 1pt minus .5pt} -\let\@listi\@listI -\@listi - -% add set of \labelwidth and \itemindent -\def\longenum{\ifnum \@enumdepth >3 \@toodeep\else - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list - {\csname label\@enumctr\endcsname}{\usecounter - {\@enumctr}\labelwidth\z@\leftmargin\z@ - \itemindent\parindent \advance\itemindent\labelsep}\fi} - -% split electronic appendix into two parts: - -\def\appendixhead#1#2#3{ -{#1} available only online. -You should be able to get the online-only {#2} from the citation page -for this article: -\smallskip - -\quad \href{#3}{{\small #3}} -\smallskip - -Alternative instructions on how to obtain online-only appendices -are given on the back inside cover of current issues of ACM TOPLAS -or on the ACM TOPLAS web page: \nopagebreak \smallskip - - \quad \href{http://www.acm.org/toplas}{{\small http://www.acm.org/toplas} }} - -\long\def\elecappendix#1#2#3#4{ -\clearpage -\makeatletter -\pagenumbering{withappendix} -\makeatother -\appendix -\par\noindent{\sc This document is the online-only appendix to:}\hfill \vskip 1em -{\vbox{\Large\sf \parindent0pt\@title{}}}\vskip .5em -\vbox{\sf \parindent0pt\@author{}}\vskip .5em\noindent -\vskip 10pt\noindent -{\firstfootsize #3} -\vskip 11pt\noindent -\hrule height .2pt -\par -\bottomstuff -\permission -\par -#4 -\par -\endbottomstuff -} - -% provide for a single acknowledgment -\def\ack{ \par \footnotesize -\@ucheadfalse -\@startsection{subsection}{2}{\z@}{-16pt plus -2pt minus - -1pt}{2pt}{\sf}*{ACKNOWLEDGMENT}\par\normalsize -\pdfbookmark{Acknowledgment}{Ack} -} -\def\endack{\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}} - - -% Don't indent bibliography and -% override \refname (which sets fontsize): -\def\thebibliography#1{ - \footnotesize\section*{\footnotesize\sf{REFERENCES}\@mkboth - {\uppercase{\refname}}{\uppercase{\refname}}}\pdfbookmark{References}{Ref}\list - {\@biblabel{\arabic{enumiv}}}{% - %\settowidth\labelwidth{[#1]} - \labelwidth 0pt - \leftmargin \bibindent - \labelsep 0pt - \itemindent -\bibindent - \listparindent -\bibindent - \labelsep -\bibindent - \usecounter{enumiv}% - \let\p@enumiv\@empty - \def\theenumiv{\arabic{enumiv}}}% - \def\newblock{\hskip .11em plus.33em minus.07em}% - \sloppy - \clubpenalty=4500 - \widowpenalty=4500 - \frenchspacing} -\def\endthebibliography{% - \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% - \endlist} -\def\@lbibitem[#1]#2{\item[]\if@filesw - {\def\protect##1{\string ##1\space}\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\hspace{\bibitemindent}\ignorespaces} -% 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} - -\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} -\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} -\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} - - -\firstfoot{ACM Transactions on Programming Languages and Systems, - Vol.\ TBD, No.\ TDB, Month Year, -Pages \pages.} - -\runningfoot{ACM Transactions on Programming Languages and Systems, - Vol.\ TBD, No.\ TDB, Month Year.} |