From cccd6417481dd62e5b48ac5f18454110135daa08 Mon Sep 17 00:00:00 2001 From: John Wickerson Date: Tue, 10 Nov 2020 11:06:38 +0000 Subject: Update on Overleaf. --- ACM-Reference-Format.bst | 2900 --------------------- IEEEtran.cls | 6347 ++++++++++++++++++++++++++++++++++++++++++++++ acmart.cls | 2876 --------------------- bare_conf.tex | 576 +++++ conclusion.tex | 2 +- conference.bib | 12 +- eval.tex | 45 +- intro.tex | 44 +- main.tex | 155 +- method.tex | 4 +- tool-figure.tex | 2 +- 11 files changed, 7010 insertions(+), 5953 deletions(-) delete mode 100644 ACM-Reference-Format.bst create mode 100644 IEEEtran.cls delete mode 100644 acmart.cls create mode 100644 bare_conf.tex diff --git a/ACM-Reference-Format.bst b/ACM-Reference-Format.bst deleted file mode 100644 index 78bf792..0000000 --- a/ACM-Reference-Format.bst +++ /dev/null @@ -1,2900 +0,0 @@ -%%% -*-BibTeX-*- -%%% ==================================================================== -%%% @BibTeX-style-file{ -%%% author = "Nelson H. F. Beebe, Boris Veytsman and Gerald Murray", -%%% version = "2.1", -%%% date = "14 June 2017", -%%% filename = "ACM-Reference-Format.bst", -%%% email = "borisv@lk.net, boris@varphi.com", -%%% codetable = "ISO/ASCII", -%%% keywords = "ACM Transactions bibliography style; BibTeX", -%%% license = "public domain", -%%% supported = "yes", -%%% abstract = "", -%%% } -%%% ==================================================================== - -%%% Revision history: see source in git - -ENTRY - { address - advisor - archiveprefix - author - booktitle - chapter - city - date - edition - editor - eprint - eprinttype - eprintclass - howpublished - institution - journal - key - month - note - number - organization - pages - primaryclass - publisher - school - series - title - type - volume - year - % New keys recognized - issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra - articleno - eid - day % UTAH: needed for newspapers, weeklies, bi-weeklies - doi % UTAH - url % UTAH - bookpages % UTAH - numpages - lastaccessed % UTAH: used only for @Misc{...} - coden % UTAH - isbn % UTAH - isbn-13 % UTAH - issn % UTAH - lccn % UTAH - } - {} - { label.year extra.label sort.year sort.label basic.label.year} - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib - -INTEGERS { nameptr namesleft numnames } - -INTEGERS { multiresult } - -INTEGERS { len } - -INTEGERS { last.extra.num } - -STRINGS { s t t.org u } - -STRINGS { last.label next.extra } - -STRINGS { p1 p2 p3 page.count } - - -FUNCTION { not } -{ - { #0 } - { #1 } - if$ -} - -FUNCTION { and } -{ - 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION { or } -{ - { pop$ #1 } - 'skip$ - if$ -} - - -FUNCTION { dump.stack.1 } -{ - duplicate$ "STACK[top] = [" swap$ * "]" * warning$ -} - -FUNCTION { dump.stack.2 } -{ - duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ - swap$ - duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ - swap$ -} - -FUNCTION { empty.or.unknown } -{ - %% Examine the top stack entry, and push 1 if it is empty, or - %% consists only of whitespace, or is a string beginning with two - %% queries (??), and otherwise, push 0. - %% - %% This function provides a replacement for empty$, with the - %% convenient feature that unknown values marked by two leading - %% queries are treated the same as missing values, and thus, do not - %% appear in the output .bbl file, and yet, their presence in .bib - %% file(s) serves to mark values which are temporarily missing, but - %% are expected to be filled in eventually once more data is - %% obtained. The TeX User Group and BibNet bibliography archives - %% make extensive use of this practice. - %% - %% An empty string cannot serve the same purpose, because just as in - %% statistics data processing, an unknown value is not the same as an - %% empty value. - %% - %% At entry: stack = ... top:[string] - %% At exit: stack = ... top:[0 or 1] - - duplicate$ empty$ - { pop$ #1 } - { #1 #2 substring$ "??" = } - if$ -} - -FUNCTION { writeln } -{ - %% In BibTeX style files, the sequences - %% - %% ... "one" "two" output - %% ... "one" "two" output.xxx - %% - %% ship "one" to the output file, possibly following by punctuation, - %% leaving the stack with - %% - %% ... "two" - %% - %% There is thus a one-string lag in output processing that must be - %% carefully handled to avoid duplicating a string in the output - %% file. Unless otherwise noted, all output.xxx functions leave - %% just one new string on the stack, and that model should be born - %% in mind when reading or writing function code. - %% - %% BibTeX's asynchronous buffering of output from strings from the - %% stack is confusing because newline$ bypasses the buffer. It - %% would have been so much easier for newline to be a character - %% rather than a state of the output-in-progress. - %% - %% The documentation in btxhak.dvi is WRONG: it says - %% - %% newline$ Writes onto the bbl file what's accumulated in the - %% output buffer. It writes a blank line if and only - %% if the output buffer is empty. Since write$ does - %% reasonable line breaking, you should use this - %% function only when you want a blank line or an - %% explicit line break. - %% - %% write$ Pops the top (string) literal and writes it on the - %% output buffer (which will result in stuff being - %% written onto the bbl file when the buffer fills - %% up). - %% - %% Examination of the BibTeX source code shows that write$ does - %% indeed behave as claimed, but newline$ sends a newline character - %% directly to the output file, leaving the stack unchanged. The - %% first line "Writes onto ... buffer." is therefore wrong. - %% - %% The original BibTeX style files almost always use "write$ newline$" - %% in that order, so it makes sense to hide that pair in a private - %% function like this one, named after a statement in Pascal, - %% the programming language embedded in the BibTeX Web program. - - write$ % output top-of-stack string - newline$ % immediate write of newline (not via stack) -} - -FUNCTION { init.state.consts } -{ - #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -FUNCTION { output.nonnull } -{ % Stack in: ... R S T Stack out: ... R T File out: S - 's := - output.state mid.sentence = - { - ", " * write$ - } - { - output.state after.block = - { - add.period$ writeln - "\newblock " write$ - } - { - output.state before.all = - { - write$ - } - { - add.period$ " " * write$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION { output.nonnull.dot.space } -{ % Stack in: ... R S T Stack out: ... R T File out: S - 's := - output.state mid.sentence = % { ". " * write$ } - { - ". " * write$ - } - { - output.state after.block = - { - add.period$ writeln "\newblock " write$ - } - { - output.state before.all = - { - write$ - } - { - add.period$ " " * write$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION { output.nonnull.remove } -{ % Stack in: ... R S T Stack out: ... R T File out: S - 's := - output.state mid.sentence = - { - " " * write$ - } - { - output.state after.block = - { - add.period$ writeln "\newblock " write$ - } - { - output.state before.all = - { - write$ - } - { - add.period$ " " * write$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION { output.nonnull.removenospace } -{ % Stack in: ... R S T Stack out: ... R T File out: S - 's := - output.state mid.sentence = - { - "" * write$ - } - { - output.state after.block = - { - add.period$ writeln "\newblock " write$ - } - { - output.state before.all = - { - write$ - } - { - add.period$ " " * write$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION { output } -{ % discard top token if empty, else like output.nonnull - duplicate$ empty.or.unknown - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION { output.dot.space } -{ % discard top token if empty, else like output.nonnull.dot.space - duplicate$ empty.or.unknown - 'pop$ - 'output.nonnull.dot.space - if$ -} - -FUNCTION { output.removenospace } -{ % discard top token if empty, else like output.nonnull.removenospace - duplicate$ empty.or.unknown - 'pop$ - 'output.nonnull.removenospace - if$ -} - -FUNCTION { output.check } -{ % like output, but warn if key name on top-of-stack is not set - 't := - duplicate$ empty.or.unknown - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION { bibinfo.output.check } -{ % like output.check, adding bibinfo field - 't := - duplicate$ empty.or.unknown - { pop$ "empty " t * " in " * cite$ * warning$ } - { "\bibinfo{" t "}{" * * swap$ * "}" * - output.nonnull } - if$ -} - -FUNCTION { output.check.dot.space } -{ % like output.dot.space, but warn if key name on top-of-stack is not set - 't := - duplicate$ empty.or.unknown - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull.dot.space - if$ -} - -FUNCTION { fin.block } -{ % functionally, but not logically, identical to fin.entry - add.period$ - writeln -} - -FUNCTION { fin.entry } -{ - add.period$ - writeln -} - -FUNCTION { new.sentence } -{ % update sentence state, with neither output nor stack change - output.state after.block = - 'skip$ - { - output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION { fin.sentence } -{ - add.period$ - write$ - new.sentence - "" -} - -FUNCTION { new.block } -{ - output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION { output.coden } % UTAH -{ % output non-empty CODEN as one-line sentence (stack untouched) - coden empty.or.unknown - { } - { "\showCODEN{" coden * "}" * writeln } - if$ -} - -FUNCTION { format.articleno } -{ - articleno empty.or.unknown not eid empty.or.unknown not and - { "Both articleno and eid are defined for " cite$ * warning$ } - 'skip$ - if$ - articleno empty.or.unknown eid empty.or.unknown and - { "" } - { - numpages empty.or.unknown - { "articleno or eid field, but no numpages field, in " - cite$ * warning$ } - { } - if$ - eid empty.or.unknown - { "Article \bibinfo{articleno}{" articleno * "}" * } - { "Article \bibinfo{articleno}{" eid * "}" * } - if$ - } - if$ -} - -FUNCTION { format.year } -{ % push year string or "[n.\,d.]" onto output stack - %% Because year is a mandatory field, we always force SOMETHING - %% to be output - "\bibinfo{year}{" - year empty.or.unknown - { "[n.\,d.]" } - { year } - if$ - * "}" * -} - -FUNCTION { format.day.month } -{ % push "day month " or "month " or "" onto output stack - day empty.or.unknown - { - month empty.or.unknown - { "" } - { "\bibinfo{date}{" month * "} " *} - if$ - } - { - month empty.or.unknown - { "" } - { "\bibinfo{date}{" day * " " * month * "} " *} - if$ - } - if$ -} - -FUNCTION { format.day.month.year } % UTAH -{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" - % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) - % acm-*.bst addition: prefix parenthesized date string with - % ", Article nnn " - articleno empty.or.unknown eid empty.or.unknown and - { "" } - { output.state after.block = - {", " format.articleno * } - { format.articleno } - if$ - } - if$ - " (" * format.day.month * format.year * ")" * -} - -FUNCTION { output.day.month.year } % UTAH -{ % if month is empty value, do nothing; else output stack top and - % leave with new top string "(MON.)" or "(DD MON.)" - % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) - format.day.month.year - output.nonnull.remove -} - -FUNCTION { strip.doi } % UTAH -{ % Strip any Web address prefix to recover the bare DOI, leaving the - % result on the output stack, as recommended by CrossRef DOI - % documentation. - % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to - % "10.1145/1534530.1534545". A suitable URL is later typeset and - % displayed as the LAST item in the reference list entry. Publisher Web - % sites wrap this with a suitable link to a real URL to resolve the DOI, - % and the master https://doi.org/ address is preferred, since publisher- - % specific URLs can disappear in response to economic events. All - % journals are encouraged by the DOI authorities to use that typeset - % format and link procedures for uniformity across all publications that - % include DOIs in reference lists. - % The numeric prefix is guaranteed to start with "10.", so we use - % that as a test. - % 2017-02-04 Added stripping of https:// (Boris) - doi #1 #3 substring$ "10." = - { doi } - { - doi 't := % get modifiable copy of DOI - - % Change https:// to http:// to strip both prefixes (BV) - - t #1 #8 substring$ "https://" = - { "http://" t #9 t text.length$ #8 - substring$ * 't := } - { } - if$ - - t #1 #7 substring$ "http://" = - { - t #8 t text.length$ #7 - substring$ 't := - - "INTERNAL STYLE-FILE ERROR" 's := - - % search for next "/" and assign its suffix to s - - { t text.length$ } - { - t #1 #1 substring$ "/" = - { - % save rest of string as true DOI (should be 10.xxxx/yyyy) - t #2 t text.length$ #1 - substring$ 's := - "" 't := % empty string t terminates the loop - } - { - % discard first character and continue loop: t <= substring(t,2,last) - t #2 t text.length$ #1 - substring$ 't := - } - if$ - } - while$ - - % check for valid DOI (should be 10.xxxx/yyyy) - s #1 #3 substring$ "10." = - { } - { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } - if$ - - s % push the stripped DOI on the output stack - - } - { - "unrecognized DOI value [" doi * "]" * warning$ - doi % push the unrecognized original DOI on the output stack - } - if$ - } - if$ -} - -% -% Change by BV: added standard prefix to URL -% -FUNCTION { output.doi } % UTAH -{ % output non-empty DOI as one-line sentence (stack untouched) - doi empty.or.unknown - { } - { - %% Use \urldef here for the same reason it is used in output.url, - %% see output.url for further discussion. - "\urldef\tempurl%" writeln - "\url{https://doi.org/" strip.doi * "}" * writeln - "\showDOI{\tempurl}" writeln - } - if$ -} - -FUNCTION { output.isbn } % UTAH -{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) - show-isbn-10-and-13 - { - %% show both 10- and 13-digit ISBNs - isbn empty.or.unknown - { } - { - "\showISBNx{" isbn * "}" * writeln - } - if$ - isbn-13 empty.or.unknown - { } - { - "\showISBNxiii{" isbn-13 * "}" * writeln - } - if$ - } - { - %% show 10-digit ISBNs only if 13-digit ISBNs not available - isbn-13 empty.or.unknown - { - isbn empty.or.unknown - { } - { - "\showISBNx{" isbn * "}" * writeln - } - if$ - } - { - "\showISBNxiii{" isbn-13 * "}" * writeln - } - if$ - } - if$ -} - -FUNCTION { output.issn } % UTAH -{ % output non-empty ISSN as one-line sentence (stack untouched) - issn empty.or.unknown - { } - { "\showISSN{" issn * "}" * writeln } - if$ -} - -FUNCTION { output.issue } -{ % output non-empty issue number as a one-line sentence (stack untouched) - issue empty.or.unknown - { } - { "Issue " issue * "." * writeln } - if$ -} - -FUNCTION { output.lccn } % UTAH -{ % return with stack untouched - lccn empty.or.unknown - { } - { "\showLCCN{" lccn * "}" * writeln } - if$ -} - -FUNCTION { output.note } % UTAH -{ % return with stack empty - note empty.or.unknown - { } - { "\shownote{" note add.period$ * "}" * writeln } - if$ -} - -FUNCTION { output.note.check } % UTAH -{ % return with stack empty - note empty.or.unknown - { "empty note in " cite$ * warning$ } - { "\shownote{" note add.period$ * "}" * writeln } - if$ -} - -FUNCTION { output.eprint } % -{ % return with stack empty - eprint empty.or.unknown - { } - { "\showeprint" - archiveprefix empty.or.unknown - { eprinttype empty.or.unknown - { } - { "[" eprinttype "]" * * * } - if$ - } - { "[" archiveprefix "l" change.case$ "]" * * * } - if$ - "{" * - primaryclass empty.or.unknown - { eprintclass empty.or.unknown - { } - { eprintclass "/" * * } - if$ - } - { primaryclass "/" * * } - if$ - eprint "}" * * - writeln - } - if$ -} - - -% -% Changes by BV 2011/04/15. Do not output -% url if doi is defined -% -FUNCTION { output.url } % UTAH -{ % return with stack untouched - % output URL and associated lastaccessed fields - doi empty.or.unknown - { - url empty.or.unknown - { } - { - %% Use \urldef, outside \showURL, so that %nn, #, etc in URLs work - %% correctly. Put the actual URL on its own line to reduce the - %% likelihood of BibTeX's nasty line wrapping after column 79. - %% \url{} can undo this, but if that doesn't work for some reason - %% the .bbl file would have to be repaired manually. - "\urldef\tempurl%" writeln - "\url{" url * "}" * writeln - - "\showURL{%" writeln - lastaccessed empty.or.unknown - { "" } - { "Retrieved " lastaccessed * " from " * } - if$ - "\tempurl}" * writeln - } - if$ - } - { } - if$ -} - -FUNCTION { output.year.check } -{ % warn if year empty, output top string and leave " YEAR