Initial commit

master
Oliver Kennedy 2021-08-02 11:03:25 -04:00
commit 5e503e1253
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
14 changed files with 12979 additions and 0 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
*.aux
*.bbl
*.blg
*.fdb_latexmk
*.fls
*.log
*.out
*.synctex.gz
/main.pdf
/pdfa.xmpi

819
ACM-Reference-Format.bbx Normal file
View File

@ -0,0 +1,819 @@
\ProvidesFile{ACM-Reference-Format.bbx}[2017-09-27 v0.1 biblatex bibliography style]
% Inherit a default style
\RequireBibliographyStyle{trad-plain}
%%% Localisation strings for ACM
\DefineBibliographyStrings{american}{%
mathesis = {Master's thesis},
phdthesis = {Ph\adddot{}D\adddotspace Dissertation},
editor = {(Ed\adddot)},
editors = {(Eds\adddot)},
edition = {ed\adddot},
}
%%% Formatting for fields
%\DeclareFieldFormat
% [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
% {title}{#1}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{numpages}{#1 pages}
\DeclareFieldFormat{number}{#1}
\DeclareFieldFormat{articleno}{Article #1}
\DeclareFieldFormat{key}{#1}
\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from}
\DeclareFieldAlias{lastaccessed}{urldate}
\DeclareFieldFormat{url}{\url{#1}}
\DeclareFieldFormat{edition}{%
\printtext[parens]{\ifinteger{#1}
{\mkbibordedition{#1}~\bibstring{edition}}
{#1\isdot~\bibstring{edition}}}}
% Handle urls field containing 'and' separated list of URLs
% https://github.com/plk/biblatex/issues/229
\DeclareListFormat{urls}{%
\url{#1}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}}
\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}}
%%% Bibmacro definitions
\renewbibmacro*{translator+others}{%
\ifboolexpr{
test \ifusetranslator
and
not test {\ifnameundef{translator}}
}
{\printnames{translator}%
\setunit{\addcomma\space}%
\usebibmacro{translator+othersstrg}%
\clearname{translator}}
{\printfield{key}}}
\newbibmacro*{year}{%
\iffieldundef{year}%
{\printtext{[n.\ d.]}}%
{\printfield{year}}%
}
\renewbibmacro*{date}{\printtext[parens]{\printdate}}
\renewbibmacro*{url+urldate}{\iffieldundef{urlyear}
{}
{\usebibmacro{urldate}%
\setunit*{\addspace}}%
\usebibmacro{url}%
}
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addcomma\space}%
\iffieldundef{series}
{}
{\newunit%
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+date+pages+eid}%
\newcommaunit%
% \setunit{\addspace}%
\usebibmacro{issue-issue}%
\setunit*{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
\newbibmacro*{volume+number+date+pages+eid}{%
\printfield{volume}%
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit*{\addcomma\space}%
\printfield{articleno}
\setunit{\addcomma\space}
\usebibmacro{date-ifmonth}
\setunit{\addcomma\space}%
\iffieldundef{pages}%
{\printfield{numpages}}%
{\printfield{pages}}%
\newcommaunit%
\printfield{eid}}%
\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit{\bibpagespunct}%
\iffieldundef{pages}%
{\printfield{numpages}}%
{\printfield{pages}}%
\newunit}
\renewbibmacro*{editor+others}{%
\ifboolexpr{
test \ifuseeditor
and
not test {\ifnameundef{editor}}
}
{\printnames{editor}%
\setunit{\addcomma\space}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}}
{\iflistundef{organization}{}{\printlist{organization}}}}
\newbibmacro*{issue-issue}{%
\iffieldundef{issue}%
{}%
{\printfield{issue}%
\setunit*{\addcomma\space}%
\usebibmacro{date-ifmonth}%
}%
\newunit}
\newbibmacro*{maintitle+booktitle+series+number}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}%
\usebibmacro{booktitle}%
\setunit*{\addspace}
\printfield[parens]{series}%
\setunit*{\addspace}%
\printfield{number}%
\setunit*{\addcomma\space}%
\printfield{articleno}
\newunit
}
\renewbibmacro*{booktitle}{%
\ifboolexpr{
test {\iffieldundef{booktitle}}
and
test {\iffieldundef{booksubtitle}}
}
{}
{\printtext[booktitle]{%
\printfield[titlecase]{booktitle}%
\iffieldundef{booksubtitle}{}{
\setunit{\subtitlepunct}%
\printfield[titlecase]{booksubtitle}}%
}%
}%
\printfield{booktitleaddon}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit*{\addcomma\space}%
\printfield{articleno}
\setunit{\addcomma\space}%
\printfield{eid}}
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date-ifmonth}%
\newunit}
\newbibmacro{date-ifmonth}{%
\iffieldundef{month}{}{%
\usebibmacro{date}
}%
}
\renewbibmacro*{institution+location+date}{%
\printlist{school}%
\setunit*{\addcomma\space}%
\printlist{institution}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date-ifmonth}%
\newunit}
\renewbibmacro*{periodical}{%
\iffieldundef{title}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}}%
\newunit%
\usebibmacro{journal}}
\renewbibmacro*{issue+date}{%
\iffieldundef{issue}
{\usebibmacro{date}}
{\printfield{issue}%
\setunit*{\addspace}%
\usebibmacro{date}}%
\newunit}
\renewbibmacro*{title+issuetitle}{%
\usebibmacro{periodical}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\printfield{volume}%
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit*{\addcomma\space}%
\printfield{articleno}
\setunit{\addcomma\space}%
\printfield{eid}%
\setunit{\addspace}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
%%% Definitions for drivers (alphabetical)
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock%
\usebibmacro{year}%
\newunit%
\usebibmacro{title}%
\newunit%
\printlist{language}%
\newunit\newblock%
\usebibmacro{byauthor}%
\newunit\newblock%
\usebibmacro{bytranslator+others}%
\newunit\newblock%
\printfield{version}%
\newunit\newblock%
\usebibmacro{journal+issuetitle}%
\newunit%
\usebibmacro{byeditor+others}%
\newunit%
\printfield{note}%
\newunit\newblock%
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock%
\usebibmacro{doi+eprint+url}%
\newunit\newblock%
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock%
\usebibmacro{related}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}%
\newunit%
\usebibmacro{maintitle+title}%
\newunit%
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\usebibmacro{series+number}%
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\newunit\newblock
\printfield{volumes}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\iffieldundef{author}%
{\usebibmacro{byeditor+others}}%
{\usebibmacro{author/translator+others}}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
% \usebibmacro{in:}%
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\iffieldundef{author}{}%if undef then we already printed editor
{\usebibmacro{byeditor+others}}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{maintitle+booktitle+series+number}%
\newunit\newblock
\usebibmacro{event+venue+date}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{manual}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor}%
\newunit\newblock
\printfield{edition}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{type}%
\newunit
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{misc}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{howpublished}%
\newunit\newblock
\printfield{type}%
\newunit
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\usebibmacro{organization+location+date}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit\newblock
\usebibmacro{date-ifmonth}%
\newunit\newblock
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}}
{}%
\newunit\newblock
\usebibmacro{url+urldate}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareFieldFormat[patent]{number}{Patent No.~#1}
\DeclareBibliographyDriver{patent}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}%
\newunit
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\printfield{type}%
\setunit*{\addspace}%
\printfield{number}%
\iflistundef{location}
{}
{\setunit*{\addspace}%
\printtext[parens]{%
\printlist[][-\value{listtotal}]{location}}}%
\newunit\newblock
\usebibmacro{byholder}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{periodical}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{editor}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit
\usebibmacro{title+issuetitle}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byeditor}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{report}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\printfield{type}%
\setunit*{\addspace}%
\printfield{number}%
\newunit\newblock
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\usebibmacro{institution+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isrn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{thesis}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{year}
\newunit
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\printfield{type}%
\newunit
\usebibmacro{institution+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}

2893
ACM-Reference-Format.bst Normal file

File diff suppressed because it is too large Load Diff

5
ACM-Reference-Format.cbx Normal file
View File

@ -0,0 +1,5 @@
\ProvidesFile{ACM-Reference-Format.cbx}[2017-09-27 v0.1]
\RequireCitationStyle{numeric}
\endinput

18
ACM-Reference-Format.dbx Normal file
View File

@ -0,0 +1,18 @@
% Teach biblatex about numpages field
\DeclareDatamodelFields[type=field, datatype=literal]{numpages}
\DeclareDatamodelEntryfields{numpages}
% Teach biblatex about articleno field
\DeclareDatamodelFields[type=field, datatype=literal]{articleno}
\DeclareDatamodelEntryfields{articleno}
% Teach biblatex about urls field
\DeclareDatamodelFields[type=list, datatype=uri]{urls}
\DeclareDatamodelEntryfields{urls}
% Teach biblatex about school field
\DeclareDatamodelFields[type=list, datatype=literal]{school}
\DeclareDatamodelEntryfields[thesis]{school}
\DeclareDatamodelFields[type=field, datatype=literal]{key}
\DeclareDatamodelEntryfields{key}

2561
acmart.cls Normal file

File diff suppressed because it is too large Load Diff

6328
acmart.dtx Normal file

File diff suppressed because it is too large Load Diff

30
acmart.ins Normal file
View File

@ -0,0 +1,30 @@
%
% Doctrip file for acmart
% This file is in public domain
% $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $
%
\def\batchfile{acmart.ins}
\input docstrip
\keepsilent
\showprogress
\askforoverwritefalse
\generate{%
\file{acmart.cls}{\from{acmart.dtx}{class}}
}
\obeyspaces
\Msg{*****************************************************}%
\Msg{* Congratulations! You successfully generated the *}%
\Msg{* acmart package. *}%
\Msg{* *}%
\Msg{* Please move the file acmart.cls to where LaTeX *}%
\Msg{* files are stored in your system. The manual is *}%
\Msg{* acmart.pdf. *}%
\Msg{* *}%
\Msg{* The package is released under LPPL *}%
\Msg{* *}%
\Msg{* Happy TeXing! *}%
\Msg{*****************************************************}%

0
main.bib Normal file
View File

107
main.tex Normal file
View File

@ -0,0 +1,107 @@
\documentclass[sigconf]{acmart}
%\documentclass{vldb}
\usepackage[a-1b]{pdfx}
\usepackage{booktabs} % For formal tables
\usepackage{xspace}
\usepackage[utf8]{inputenc}
\usepackage{stmaryrd}
\usepackage{balance} % for \balance command ON LAST PAGE (only there!)
\usepackage{cleveref}
\usepackage{pifont}
\usepackage{todonotes}
\usepackage{setspace}
\usepackage{balance}
\usepackage[noend]{algpseudocode}
\usepackage{multirow}
\usepackage{colortbl}
\newcommand{\trimfigurespacing}{\vspace*{-5mm}}
\newcommand{\OK}[1]{\todo[backgroundcolor=blue!25]{\tiny \textbf{Oliver says:} #1}}
\newcommand{\BG}[1]{\todo[backgroundcolor=red!25]{\tiny \textbf{Boris says:} #1}}
\newcommand{\ND}[1]{\todo[backgroundcolor=green!25]{\tiny \textbf{Nachiket says:} #1}}
\definecolor{PineGreen}{HTML}{007B62}
\definecolor{Purple} {HTML}{99479B}
\definecolor{NavyBlue} {HTML}{006EB8}
\definecolor{BrickRed} {HTML}{B6321C}
\definecolor{Black} {HTML}{000000}
% \newcommand{\reva}[1]{\textcolor{Black}{#1}}
% \newcommand{\revb}[1]{\textcolor{Black}{#1}}
% \newcommand{\revc}[1]{\textcolor{Black}{#1}}
% \newcommand{\revm}[1]{\textcolor{Black}{#1}}
\input{preamble}
\newtheorem{example}{Example}
\newtheorem{definition}{Definition}
\newcommand{\systemname}{DAGBook\xspace}
\newcommand{\TheTitle}{\systemname: Parallel Execution with Partial Provenance}
\pagestyle{plain}
\AtBeginDocument{%
\providecommand\BibTeX{{%
\normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}}
\begin{document}
\fancyhead{}
\title{\TheTitle}
\author{Nachiket Deo}
\affiliation{%
\institution{University of Connecticut}
nachideo.em@gmail.com
}
\author{Boris Glavic}
\affiliation{%
\institution{Illinois Institute of Technology}
bglavic@iit.edu
}
\author{Oliver Kennedy}
\affiliation{%
\institution{University at Buffalo}
okennedy@buffalo.edu
}
% The default list of authors is too long for headers.
% \renewcommand{\shortauthors}{Spoth, Xie et al.}
%
% The code below should be generated by the tool at
% http://dl.acm.org/ccs.cfm
% Please copy and paste the code instead of the example below.
%
% \keywords{JSON Schemas, Independence, Markov Models}
\begin{abstract}
\input{sections/abstract.tex}
\end{abstract}
\maketitle
\section{Introduction}
\label{sec:introduction}
\input{sections/introduction.tex}
\vspace*{-2mm}
\section{Acknowledgements}
\label{sec:acknowledgements}
\input{sections/acknowledgements.tex}
\bibliographystyle{abbrv}
\balance
\bibliography{main}
\end{document}

205
preamble.tex Normal file
View File

@ -0,0 +1,205 @@
%%%%% paper-specific deets %%%%%%
%%%%%%%%%%%%%% Notation
\newcommand{\schemaof}[1]{\textbf{sch}(#1)}
\newcommand{\groundtruth}{\mathcal G}
\newcommand{\recordset}{\mathcal R}
\newcommand{\JValue}{v}
\newcommand{\JType}{\tau}
\newcommand{\JObject}{\mathcal O}
\newcommand{\JArray}{\mathcal A}
\newcommand{\TNull}{\textbf{null}}
\newcommand{\TBool}{\mathbb B}
\newcommand{\TNum}{\mathbb R}
\newcommand{\TString}{\mathbb S}
\newcommand{\JNull}{\texttt{null}}
\newcommand{\JKey}{k}
\newcommand{\JPath}{\vec p}
\newcommand{\JSch}{\mathcal S}
\newcommand{\JSchDefn}{\mathcal J}
\newcommand{\JEmptyObject}{\setof{\cdot}}
\newcommand{\JEmptyArray}{\arrayof{\cdot}}
\newcommand{\keysof}[1]{\texttt{keys}(#1)}
\newcommand{\keysofall}[1]{\texttt{keys}_{\forall}(#1)}
\newcommand{\keysofany}[1]{\texttt{keys}_{\exists}(#1)}
\newcommand{\setof}[1]{\left\{\;#1\;\right\}}
\newcommand{\arrayof}[1]{\left[\;#1\;\right]}
\newcommand{\sizeof}[1]{\left|#1\right|}
\newcommand{\booltype}{\textbf{bool}}
\newcommand{\numtype}{\textbf{num}}
\newcommand{\strtype}{\textbf{str}}
\newcommand{\CASESEP}{\;|\;}
\newcommand{\JEval}[1]{\left\llbracket \; #1 \; \right\rrbracket}
\newcommand{\kindof}[1]{\texttt{kind}(#1)}
\newcommand{\extract}[2]{\texttt{merge}_{#1}\left(#2\right)}
\newcommand{\extractNaive}[1]{\extract{\text{naive}}{#1}}
\newcommand{\Entropy}{\mathcal E}
\newcommand{\KeySpaceEntropy}{\Entropy_{\mathcal K}}
\newcommand{\TypeEntropy}{\Entropy_{\mathcal T}}
\newcommand{\isDefinedAs}{\overset{\triangle}{=}}
% \renewcommand{\theenumi}{(\roman{enumi})}
\newcommand{\bfcaption}[1]{\caption{\textbf{#1}}}
%%%%%% Standard Packages %%%%%%
\usepackage{graphicx}
% \usepackage{amssymb}
%\usepackage[noend]{algorithmic}
\usepackage{algorithm}
\usepackage{stackrel}
\usepackage{algpseudocode}
\usepackage{textcomp}
\PassOptionsToPackage{table}{xcolor}
\usepackage[table]{xcolor}
\usepackage{listings}
\usepackage{subcaption}
% \usepackage{caption}
\usepackage{amsmath}
\usepackage{mathtools,xparse}
\usepackage{dsfont}
\usepackage{stmaryrd}
% \usepackage[inline]{enumitem}
%\usepackage{cite}
\usepackage{paralist}
% \usepackage[colorlinks=false,citecolor=white]{hyperref}
\usepackage{cleveref}
\usepackage{lipsum}
\usepackage[normalem]{ulem}
\usepackage{array}
\usepackage{multicol}
\usepackage{enumitem}
% \usepackage[shortlabels]{enumitem}
\usepackage{etoolbox}
\usepackage{varwidth}
\usepackage{xspace}
\usepackage{url}
\usepackage{multirow}
%%%%%% Package Configuration %%%%%%
%%% Listings
\lstset{language=sql,morekeywords={LENS,SCHEMA_MATCHING,string},basicstyle=\small\upshape\ttfamily,keywordstyle=\color{blue}}
%%% Listings - JSON language definition
\colorlet{jsonpunct}{red!60!black}
\definecolor{jsonbackground}{HTML}{EEEEEE}
\definecolor{jsondelim}{RGB}{20,105,176}
\colorlet{jsonnumb}{magenta!60!black}
\definecolor{jsonkey}{RGB}{10,70,50}
% \colorlet{jsonkey}{magenta!60!black}
\lstdefinelanguage{json}{
basicstyle=\normalfont\ttfamily\small,
% numbers=left,
numberstyle=\scriptsize,
stepnumber=1,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frame=lines,
backgroundcolor=\color{jsonbackground},
morestring=[b]",
literate=
*{0}{{{\color{jsonnumb}0}}}{1}
{1}{{{\color{jsonnumb}1}}}{1}
{2}{{{\color{jsonnumb}2}}}{1}
{3}{{{\color{jsonnumb}3}}}{1}
{4}{{{\color{jsonnumb}4}}}{1}
{5}{{{\color{jsonnumb}5}}}{1}
{6}{{{\color{jsonnumb}6}}}{1}
{7}{{{\color{jsonnumb}7}}}{1}
{8}{{{\color{jsonnumb}8}}}{1}
{9}{{{\color{jsonnumb}9}}}{1}
{:}{{{\color{jsonpunct}{:}}}}{1}
{,}{{{\color{jsonpunct}{,}}}}{1}
{\{}{{{\color{jsondelim}{\{}}}}{1}
{\}}{{{\color{jsondelim}{\}}}}}{1}
{[}{{{\color{jsondelim}{[}}}}{1}
{]}{{{\color{jsondelim}{]}}}}{1}
{}{{\normalfont \ldots}}{1},
morestring=[d]',
stringstyle=\color{jsonkey}
}
\newcommand{\inlinejson}[1]{\lstinline{#1}}
\newcommand{\mathjson}[1]{\text{\lstinline{#1}}}
%%% verbatim
\makeatletter
\preto{\@verbatim}{\topsep=5pt \parsep=0pt }
\makeatother
%%% Algorithmic
\renewcommand{\algorithmicrequire}{\textbf{In:}}
\renewcommand{\algorithmicensure}{\textbf{Out:}}
%% Multicol
\setlength\multicolsep{\topsep}
%%%%%% Standard Theorem Environments %%%%%%
%\newtheorem{example}{Example}
\newtheorem{scenario}{Scenario}
%\newtheorem{definition}{Definition}
\newtheorem{property}{Property}
\newtheorem{transformation}{Transformation}
%%%%%%% Table styling %%%%%%
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
%%%%%% Common Math-Mode Aliases %%%%%%
\newcommand{\comprehension}[2]{\left\{\left.\;{#1}\;\right|\;{#2}\;\right\}}
%\newcommand{\bagcomprehension}[2]{\llbrace\left.\;{#1}\;\right|\;{#2}\;\rrbrace}
\newcommand{\bagcomprehension}[2]{\left\{\!\left|\left.\;{#1}\;\right|\;{#2}\;\right|\!\right\}}
\newcommand{\setsize}[1]{\left|#1\right|}
\newcommand{\tuple}[1]{\left<\;{#1}\;\right>}
\newcommand{\ordefn}{\;|\;}
\newcommand{\sch}[1]{\texttt{schema}({#1})}
\newcommand{\projection}{\pi}
\newcommand{\selection}{\sigma}
\newcommand{\logicalAnd}{\wedge}
\newcommand{\logicalOr}{\vee}
\newcommand{\Union}{\bigcup}
\newcommand*{\Unionl}{\Union\limits}
\newcommand{\Intersection}{\bigcap}
\newcommand{\E}{\mathrm{E}}
\newcommand{\expect}{\mathbb{E}}
\newcommand{\defineeq}{\overset{def}{=}}
\newcommand{\entropy}{\mathcal{H}}
\newcommand{\distinct}[1]{\lfloor{#1}\rfloor}
\DeclareMathOperator*{\argmin}{arg\,min}
\newcommand*{\argminl}{\argmin\limits}
\DeclareMathOperator*{\argmax}{arg\,max}
\newcommand*{\argmaxl}{\argmax\limits}
\DeclareMathOperator*{\mysum}{\sum}
\newcommand*{\mysuml}{\mysum\limits}
\DeclareMathOperator*{\myPi}{\Pi}
\newcommand*{\myPil}{\myPi\limits}
\DeclareMathOperator*{\mymin}{\min}
\newcommand*{\myminl}{\mymin\limits}
\DeclareMathOperator*{\mymax}{\max}
\newcommand*{\mymaxl}{\mymax\limits}
\DeclareMathOperator*{\myunion}{\bigcup}
\newcommand*{\myunionl}{\myunion\limits}
\renewcommand{\vec}[1]{\mathbf{#1}}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
%%%%%% Other Aliases %%%%%%
\newcommand{\ccomment}[1]{{\small\texttt{/*} #1 \texttt{*/}}}
\newcommand{\tinysection}[1]{\smallskip \noindent \textbf{#1.}~}
%\newcommand{\keyword}[1]{\textcolor{blue}{\texttt{#1}}}

1
sections/abstract.tex Normal file
View File

@ -0,0 +1 @@
ABSTRACT

View File

@ -0,0 +1 @@
ACKS

View File

@ -0,0 +1 @@
INTRO