Rehashing the Intro for arxiv upload.
parent
e2ff978944
commit
d8ac368a1a
|
@ -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}}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
\ProvidesFile{ACM-Reference-Format.cbx}[2017-09-27 v0.1]
|
||||
|
||||
\RequireCitationStyle{numeric}
|
||||
|
||||
\endinput
|
|
@ -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}
|
|
@ -0,0 +1,300 @@
|
|||
This package provides a class for typesetting publications of the
|
||||
Association for Computing Machinery.
|
||||
|
||||
Your TeX distribution probably includes the latest released version of
|
||||
this package. If you decide to install it yourself, please see the
|
||||
Installation section of the User's Guide.
|
||||
|
||||
Please note that the version on Github is a development (or
|
||||
experimental) version: please download it for testing new features.
|
||||
The production version is the one on CTAN and ACM sites.
|
||||
|
||||
|
||||
Changes
|
||||
|
||||
version 1.08 SIGPLAN reformatting (Matthew Fluet); bug fixes
|
||||
|
||||
version 1.09 SIGPLAN: revert caption rules (Matthew Fluet)
|
||||
|
||||
version 1.10 Bug fixes
|
||||
|
||||
version 1.11 Customization of ACM theorem styles and proof
|
||||
environment (Matthew Fluet).
|
||||
|
||||
version 1.12 Bug fixes and documentation updates.
|
||||
Footnotes rearranged.
|
||||
Option natbib is now mostly superfluous: the class
|
||||
makes a guess based on the format chosen.
|
||||
|
||||
version 1.13 Formatting changes: headers, folios etc.
|
||||
Bibliography changes.
|
||||
|
||||
version 1.14 Warn about undefined citation styles; move definitions
|
||||
of acmauthoryear and acmnumeric citation styles before
|
||||
use.
|
||||
|
||||
version 1.15 New structured affiliation command.
|
||||
New commands for acknowledgements.
|
||||
|
||||
version 1.16 Formatting changes for headers and footers.
|
||||
|
||||
version 1.17 Formatting changes for margins and lists. Bug fixes.
|
||||
|
||||
version 1.18 Natbib is now the default for all versions. A unified bib
|
||||
file is used for all styles. Better treatment
|
||||
of multiple affiliations.
|
||||
|
||||
version 1.19 Include 'Abstract', 'Acknowledgements', and 'References'
|
||||
in PDF bookmarks.
|
||||
|
||||
version 1.20 Bug fixes, documentation updates
|
||||
|
||||
version 1.21 Bibliography changes: added arXiv, some cleanup
|
||||
|
||||
version 1.22 Bibliography changes for Aptara backend; should be
|
||||
invisible for the users.
|
||||
|
||||
version 1.23 Added PACM PL journal option.
|
||||
|
||||
version 1.24 Added IMWUT journal option.
|
||||
|
||||
version 1.25 Updated PACMPL journal option.
|
||||
|
||||
version 1.26 Bug fixes
|
||||
|
||||
version 1.27 Bug fixes
|
||||
|
||||
version 1.28 Bug fixes: natbib=false now behaves correctly.
|
||||
|
||||
version 1.29 Documentation changes. Head height increased from 12pt to 13pt.
|
||||
Removed spurious indent at start of abstract.
|
||||
Improved kerning in CCS description list.
|
||||
|
||||
version 1.30 Bibtex style now recognizes https:// in doi.
|
||||
Added \frenchspacing.
|
||||
\department now has an optional hierarchy level.
|
||||
Switched to T1 encoding
|
||||
Updated IMWUT and PACMPL
|
||||
|
||||
version 1.31 Changed default year and month to the current ones
|
||||
(thanks to Matteo Riondato)
|
||||
Table of contents now works
|
||||
Marginalia now work in all formats
|
||||
New command \additionalaffiliation
|
||||
Documentation changes
|
||||
|
||||
version 1.32 New DOI formatting.
|
||||
Format siggraph is now obsolete, and sigconf
|
||||
is used instead.
|
||||
New proceedings title: POMACS.
|
||||
|
||||
version 1.33 New option `timestamp' (Michael D. Adams)
|
||||
New option `authordraft'
|
||||
Documentation updates
|
||||
Bug fixes
|
||||
We now use Type 1 versions of Libertine fonts even with XeTeX.
|
||||
New hook acmart-preload-hook.tex (wizards only!)
|
||||
Added new options `obeypunctuation' for \affiliation command
|
||||
Added SubmissionID
|
||||
Added right line count ruler for two-column formats
|
||||
Added workaround for Adobe Acrobat bugs in selection
|
||||
Added eid field to the bibliography
|
||||
|
||||
version 1.34 Deleted DOI from doi numbers
|
||||
Changed bibstrip formatting
|
||||
The command \terms is now obsolete
|
||||
The rulers in review mode now have continuous numbering
|
||||
|
||||
version 1.35 Author-year bib style now uses square brackets.
|
||||
Changed defaults for TOG sample
|
||||
Price is suppressed for usgov and rightsretained modes.
|
||||
Bugs fixed
|
||||
|
||||
Version 1.36 Bug fixes
|
||||
Moved PACMPL to acmlarge format
|
||||
New journal: PACMHCI
|
||||
Added the possibility to adjust number of author
|
||||
boxes per row in conference formats
|
||||
|
||||
Version 1.37 Reduce list indentation (Matthew Fluet)
|
||||
|
||||
Version 1.38 Increase default font size for SIGPLAN
|
||||
|
||||
Version 1.39 Added \authornotemark commmand
|
||||
|
||||
Version 1.40 Bibliography changes
|
||||
Added processing of one-compoment ccsdesc nodes
|
||||
Bug fixes.
|
||||
Made the height a multiple of \baselineskip + \topskip
|
||||
Added cleveref
|
||||
We no longer print street address in SIGs
|
||||
|
||||
Version 1.41 Rearranged bib files
|
||||
Added new badges
|
||||
|
||||
Version 1.42 Deleted ACM badges
|
||||
Bug fixes
|
||||
|
||||
Version 1.43 Bug fixes
|
||||
|
||||
Version 1.44 Bug fixes.
|
||||
Empty DOI and ISBN suppress printing DOI or ISBN lines
|
||||
Separated theorem code into acmthm.sty, loaded by default.
|
||||
Article number can be set for proceedings.
|
||||
New commands: \acmBooktile, \editor.
|
||||
Reference citation format updated.
|
||||
|
||||
Version 1.45 Workaround for a Libertine bug. Thanks to LianTze Lim
|
||||
from Overleaf
|
||||
|
||||
Version 1.46 Bug fixes for bibliography: label width is now calculated
|
||||
correctly.
|
||||
All PACM now use screen option. This requires etoolbox.
|
||||
Added subtitle to ACM reference format.
|
||||
Now acmart is compatible with fontspec.
|
||||
\thanks is now obsolete. The addresses are automatically
|
||||
added to the journal version; this can be overriden with
|
||||
\authorsaddresses command.
|
||||
Deleted the rule at the end of frontmatter for all formats.
|
||||
Deleted new line before doi in the reference format.
|
||||
Reintegrated theorem code into acmart.dtx (Matthew Fluet)
|
||||
|
||||
Version 1.47 New journal: THRI
|
||||
|
||||
Version 1.48 Bug fixes
|
||||
Review mode now switches on folios
|
||||
Code prettying (Michael D. Adams)
|
||||
Bibliography changes: @MISC entries no longer have a
|
||||
separate date
|
||||
Sigch-a sample bibliography renamed
|
||||
Bib code cleanup (Zack Weinberg)
|
||||
Acmart and version info are added to pdfcreator tag
|
||||
\citeyear no longer produces parenthetical year
|
||||
Added initial support for Biblatex (Daniel Thomas)
|
||||
Added support for IW3C2 conferences
|
||||
|
||||
Version 1.49 New jorunal: DTRAP
|
||||
|
||||
Version 1.50 Changes in iw3c2w3 and iw3c2w3g
|
||||
|
||||
Version 1.51 Journal footers now use abbreviated journal titles.
|
||||
Corrected the bug with acmPrice.
|
||||
Do not show price when copyright is set to iw3c2w3 and iw3c2w3g.
|
||||
The package now is compatible with polyglossia (Joachim Breitner).
|
||||
Slightly reworded copyright statements.
|
||||
|
||||
Version 1.52 Another rewording of licenses
|
||||
|
||||
Version 1.53 New journals: PACMCGIT, TIOT, TDSCI
|
||||
|
||||
Version 1.54 New option: 'nonacm' (Gabriel Scherer)
|
||||
Deleted indent for subsubsection (suggested by Ross Moore)
|
||||
Suppressed some obscurious warning in BibTeX processing
|
||||
Suppressed hyperrerf warnings (Paolo G. Giarrusso)
|
||||
New code for sections to help with accessibility patches
|
||||
(Ross Moore)
|
||||
Submission id, if present, is printed in anon mode
|
||||
Bug fixes
|
||||
|
||||
Version 1.55 Bug fixes
|
||||
Font changes for SIGCHI table captions
|
||||
|
||||
Version 1.56 Bug fixes
|
||||
Added \flushbottom to two column formats (Philip Quinn)
|
||||
The final punctuation for the list of concepts
|
||||
is now a period instead of a semicolon (Philip Quinn)
|
||||
New command \Description to describe images for visually
|
||||
impaired users.
|
||||
|
||||
Version 1.57 Change of \baselinestretch now produces an error
|
||||
Booktabs is now always loaded
|
||||
Added option `balance' to balance last page in two-column mode
|
||||
E-mail is no longer split in addresses
|
||||
New samples (Stephen Spencer)
|
||||
|
||||
Version 1.58 Suppressed spurious warnings.
|
||||
New journal: HEALTH.
|
||||
TDSCI is renamed to TDS.
|
||||
|
||||
Version 1.59 Now a journal format can be used for conference proceedings
|
||||
All samples are now generated from the same .dtx file
|
||||
Bug fixes
|
||||
|
||||
version 1.60 New option: urlbreakonhyphens (thanks to Peter Kemp)
|
||||
Smaller header size for acmsmall
|
||||
|
||||
Version 1.61 Bug fixes
|
||||
New bibtex types for artifacts
|
||||
|
||||
Version 1.62 Documentation update
|
||||
New journal: TELO
|
||||
Bug fixes
|
||||
|
||||
Version 1.63 New journals: TQUANT, FACMP
|
||||
|
||||
Version 1.63a Moved TQUANT to TQC
|
||||
|
||||
Version 1.64 Produce error if abstract is entered after maketitle
|
||||
(previously abstract was silently dropped)
|
||||
Bug fixes for line numbering
|
||||
|
||||
Version 1.65 Bug fixes
|
||||
New journal: DGOV
|
||||
DTRAP and HEALTH are now using acmlarge format
|
||||
|
||||
Version 1.66 Bug fixes
|
||||
BibTeX change: location is now a synonym for city (Feras Saad)
|
||||
ACM reference format is now mandatory for papers over one page.
|
||||
CCS concepts and keywords are now mandatory for
|
||||
papers over two pages.
|
||||
Authors' addresses are mandatory for journal articles.
|
||||
|
||||
Version 1.67 Urgent bug fixes:
|
||||
BibTeX style bug fixed (Michael D. Adams)
|
||||
Sigplan special section bugfix
|
||||
|
||||
Version 1.68 Bug fixes
|
||||
BST now recognizes words `Paper' or 'Article' in
|
||||
eid or articleno
|
||||
|
||||
Version 1.69 Bug fixes
|
||||
Compatibility with LaTeX 2020-02-02 release
|
||||
|
||||
Version 1.70 Title change for ACM/IMS Transactions on Data Science
|
||||
Bug fixes for bibliography
|
||||
|
||||
|
||||
Version 1.71 Bug fixes
|
||||
Formats sigchi and sigchi-a are retired
|
||||
Bibliography formatting changes for @inproceedings entries
|
||||
having both series and volume
|
||||
LuaLaTeX now uses the same OTF fonts as XeLaTeX
|
||||
|
||||
Version 1.72 Bug fixes. Better handling of metadata.
|
||||
|
||||
Version 1.73 Bug fixes
|
||||
The elements institution, city and country are now obligatory
|
||||
for affiliations
|
||||
|
||||
Version 1.74 Bug fixes. A regression introduced in the font changes
|
||||
is reverted.
|
||||
|
||||
Version 1.75. \country is now obligatory for addresses.
|
||||
Added \AtBeginMaketitle
|
||||
|
||||
Version 1.76. Added many journal abbreviations to the bst.
|
||||
New experimental option: pbalance
|
||||
ORCID linking code
|
||||
|
||||
Version 1.77. Changed the way to typeset multiple affiliations (Christoph Sommer)
|
||||
|
||||
Version 1.78. Documentation update.
|
||||
Magic texcount comments for samples.
|
||||
Title page now is split if there are too many authors
|
||||
Bug fixes.
|
||||
|
||||
Version 1.79. Fixed pages with index
|
||||
(https://github.com/borisveytsman/acmart/issues/440)
|
||||
Updated information for TAP, TCPS, TEAC
|
||||
|
||||
Version 1.80. New journals: DLT, FAC
|
|
@ -21,7 +21,7 @@
|
|||
%all input tuples have a fixed probability $\prob$ (s.t. $\prob \in (0,1)$).\BG{Replace with this because notion of hardness unclear: This is the case even if \ldots}
|
||||
%Atri: Fair enough: droppped.
|
||||
%We proceed to study how approximate multiplicities using lineage polynomials of result tuples of positive relational algebra queries ($\raPlus$) over TIDBs and for a non-trivial subclass of block-independent databases (BIDBs).
|
||||
We proceed to study approximation of expected multiplicities of result tuples of positive relational algebra queries ($\raPlus$) over TIDBs and for a non-trivial subclass of block-independent databases (BIDBs).
|
||||
We proceed to study approximation of expected multiplicities of result tuples of positive relational algebra queries ($\raPlus$) over \AHchange{\abbrCTIDB\xplural} and for a non-trivial subclass of block-independent databases (\abbrBIDB\xplural).
|
||||
We develop a sampling algorithm that computes a $(1 \pm \epsilon)$-approximation of the expected multiplicity of an output tuple in time linear in the runtime of a comparable deterministic query for any $\raPlus$ query.
|
||||
% By removing Bag-PDB's reliance on the sum-of-products representation of polynomials, this result paves the way for future work on PDBs that are competitive with deterministic databases.
|
||||
\end{abstract}
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
@Misc{TeXFAQ,
|
||||
title = {{UK} List of {\TeX} Frequently Asked Questions},
|
||||
author = {{UK \TeX{} Users Group}},
|
||||
year = 2019,
|
||||
howpublished = {\url{https://texfaq.org}}
|
||||
}
|
||||
|
||||
@Manual{Downes04:amsart,
|
||||
title = {The \textsf{amsart}, \textsf{amsproc}, and
|
||||
\textsf{amsbook} document~classes},
|
||||
author = {Michael Downes and Barbara Beeton},
|
||||
organization = {American Mathematical Society},
|
||||
year = 2004,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/amslatex}}
|
||||
}
|
||||
|
||||
@Manual{Fiorio15,
|
||||
title = {{a}lgorithm2e.sty---package for algorithms},
|
||||
author = {Cristophe Fiorio},
|
||||
year = 2015,
|
||||
month = oct,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithm2e}}
|
||||
}
|
||||
|
||||
@Manual{Brito09,
|
||||
title = {The algorithms bundle},
|
||||
author = {Rog\'erio Brito},
|
||||
year = 2009,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithms}}
|
||||
}
|
||||
|
||||
@Manual{Heinz15,
|
||||
title = {The Listings Package},
|
||||
author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
|
||||
year = 2015,
|
||||
month = jun,
|
||||
note = {\url{http://www.ctan.org/pkg/listings}}
|
||||
}
|
||||
|
||||
@Manual{Fear05,
|
||||
title = {Publication quality tables in {\LaTeX}},
|
||||
author = {Simon Fear},
|
||||
year = 2005,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/booktabs}}
|
||||
}
|
||||
|
||||
@Manual{ACMIdentityStandards,
|
||||
title = {{ACM} Visual Identity Standards},
|
||||
organization = {Association for Computing Machinery},
|
||||
year = 2007,
|
||||
note = {\url{http://identitystandards.acm.org}}
|
||||
}
|
||||
|
||||
@Manual{Sommerfeldt13:Subcaption,
|
||||
title = {The subcaption package},
|
||||
author = {Axel Sommerfeldt},
|
||||
year = 2013,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/subcaption}}
|
||||
}
|
||||
|
||||
@Manual{Nomencl,
|
||||
title = {A package to create a nomenclature},
|
||||
author = {Boris Veytsman and Bern Schandl and Lee Netherton
|
||||
and C. V. Radhakrishnan},
|
||||
year = 2005,
|
||||
month = sep,
|
||||
note = {\url{http://www.ctan.org/pkg/nomencl}}
|
||||
}
|
||||
|
||||
@Manual{Talbot16:Glossaries,
|
||||
title = {User Manual for glossaries.sty v4.44},
|
||||
author = {Nicola L. C. Talbot},
|
||||
year = 2019,
|
||||
month = dec,
|
||||
note = {\url{http://www.ctan.org/pkg/glossaries}}
|
||||
}
|
||||
|
||||
@Manual{Carlisle04:Textcase,
|
||||
title = {The \textsl{textcase} package},
|
||||
author = {David Carlisle},
|
||||
month = oct,
|
||||
year = 2004,
|
||||
note = {\url{http://www.ctan.org/pkg/textcase}}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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,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}}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
\ProvidesFile{ACM-Reference-Format.cbx}[2017-09-27 v0.1]
|
||||
|
||||
\RequireCitationStyle{numeric}
|
||||
|
||||
\endinput
|
|
@ -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}
|
|
@ -0,0 +1,112 @@
|
|||
#
|
||||
# Makefile for acmart package
|
||||
#
|
||||
# This file is in public domain
|
||||
#
|
||||
# $Id: Makefile,v 1.10 2016/04/14 21:55:57 boris Exp $
|
||||
#
|
||||
|
||||
PACKAGE=acmart
|
||||
|
||||
|
||||
PDF = $(PACKAGE).pdf acmguide.pdf
|
||||
|
||||
all: ${PDF} ALLSAMPLES
|
||||
|
||||
|
||||
%.pdf: %.dtx $(PACKAGE).cls
|
||||
pdflatex $<
|
||||
- bibtex $*
|
||||
pdflatex $<
|
||||
- makeindex -s gind.ist -o $*.ind $*.idx
|
||||
- makeindex -s gglo.ist -o $*.gls $*.glo
|
||||
pdflatex $<
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
|
||||
do pdflatex $<; done
|
||||
|
||||
|
||||
acmguide.pdf: $(PACKAGE).dtx $(PACKAGE).cls
|
||||
pdflatex -jobname acmguide $(PACKAGE).dtx
|
||||
- bibtex acmguide
|
||||
pdflatex -jobname acmguide $(PACKAGE).dtx
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' acmguide.log) \
|
||||
do pdflatex -jobname acmguide $(PACKAGE).dtx; done
|
||||
|
||||
%.cls: %.ins %.dtx
|
||||
pdflatex $<
|
||||
|
||||
|
||||
ALLSAMPLES:
|
||||
cd samples; pdflatex samples.ins; cd ..
|
||||
for texfile in samples/*.tex; do \
|
||||
pdffile=$${texfile%.tex}.pdf; \
|
||||
${MAKE} $$pdffile; \
|
||||
done
|
||||
|
||||
samples/%: %
|
||||
cp $^ samples
|
||||
|
||||
|
||||
samples/$(PACKAGE).cls: $(PACKAGE).cls
|
||||
samples/ACM-Reference-Format.bst: ACM-Reference-Format.bst
|
||||
|
||||
samples/%.pdf: samples/%.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
cd $(dir $@) && pdflatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && pdflatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
cd $(dir $@) && xelatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && xelatex-dev $(notdir $<); done
|
||||
|
||||
samples/sample-lualatex.pdf: samples/sample-lualatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
- cd $(dir $@) && bibtex $(notdir $(basename $<))
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
cd $(dir $@) && lualatex-dev $(notdir $<)
|
||||
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
|
||||
do cd $(dir $@) && lualatex-dev $(notdir $<); done
|
||||
|
||||
|
||||
|
||||
.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls
|
||||
|
||||
docclean:
|
||||
$(RM) *.log *.aux \
|
||||
*.cfg *.glo *.idx *.toc \
|
||||
*.ilg *.ind *.out *.lof \
|
||||
*.lot *.bbl *.blg *.gls *.cut *.hd \
|
||||
*.dvi *.ps *.thm *.tgz *.zip *.rpi \
|
||||
samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst \
|
||||
samples/*.log samples/*.aux samples/*.out \
|
||||
samples/*.bbl samples/*.blg samples/*.cut
|
||||
|
||||
|
||||
|
||||
clean: docclean
|
||||
$(RM) $(PACKAGE).cls \
|
||||
samples/*.tex
|
||||
|
||||
distclean: clean
|
||||
$(RM) *.pdf samples/sample-*.pdf
|
||||
|
||||
#
|
||||
# Archive for the distribution. Includes typeset documentation
|
||||
#
|
||||
archive: all clean
|
||||
COPYFILE_DISABLE=1 tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS --exclude '.git*' $(PACKAGE); mv ../$(PACKAGE).tgz .
|
||||
|
||||
zip: all clean
|
||||
zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*'
|
||||
|
||||
documents.zip: all docclean
|
||||
zip -r $@ acmart.pdf acmguide.pdf samples *.cls ACM-Reference-Format.*
|
||||
|
||||
.PHONY: all ALLSAMPLES docclean clean distclean archive zip
|
|
@ -0,0 +1,300 @@
|
|||
This package provides a class for typesetting publications of the
|
||||
Association for Computing Machinery.
|
||||
|
||||
Your TeX distribution probably includes the latest released version of
|
||||
this package. If you decide to install it yourself, please see the
|
||||
Installation section of the User's Guide.
|
||||
|
||||
Please note that the version on Github is a development (or
|
||||
experimental) version: please download it for testing new features.
|
||||
The production version is the one on CTAN and ACM sites.
|
||||
|
||||
|
||||
Changes
|
||||
|
||||
version 1.08 SIGPLAN reformatting (Matthew Fluet); bug fixes
|
||||
|
||||
version 1.09 SIGPLAN: revert caption rules (Matthew Fluet)
|
||||
|
||||
version 1.10 Bug fixes
|
||||
|
||||
version 1.11 Customization of ACM theorem styles and proof
|
||||
environment (Matthew Fluet).
|
||||
|
||||
version 1.12 Bug fixes and documentation updates.
|
||||
Footnotes rearranged.
|
||||
Option natbib is now mostly superfluous: the class
|
||||
makes a guess based on the format chosen.
|
||||
|
||||
version 1.13 Formatting changes: headers, folios etc.
|
||||
Bibliography changes.
|
||||
|
||||
version 1.14 Warn about undefined citation styles; move definitions
|
||||
of acmauthoryear and acmnumeric citation styles before
|
||||
use.
|
||||
|
||||
version 1.15 New structured affiliation command.
|
||||
New commands for acknowledgements.
|
||||
|
||||
version 1.16 Formatting changes for headers and footers.
|
||||
|
||||
version 1.17 Formatting changes for margins and lists. Bug fixes.
|
||||
|
||||
version 1.18 Natbib is now the default for all versions. A unified bib
|
||||
file is used for all styles. Better treatment
|
||||
of multiple affiliations.
|
||||
|
||||
version 1.19 Include 'Abstract', 'Acknowledgements', and 'References'
|
||||
in PDF bookmarks.
|
||||
|
||||
version 1.20 Bug fixes, documentation updates
|
||||
|
||||
version 1.21 Bibliography changes: added arXiv, some cleanup
|
||||
|
||||
version 1.22 Bibliography changes for Aptara backend; should be
|
||||
invisible for the users.
|
||||
|
||||
version 1.23 Added PACM PL journal option.
|
||||
|
||||
version 1.24 Added IMWUT journal option.
|
||||
|
||||
version 1.25 Updated PACMPL journal option.
|
||||
|
||||
version 1.26 Bug fixes
|
||||
|
||||
version 1.27 Bug fixes
|
||||
|
||||
version 1.28 Bug fixes: natbib=false now behaves correctly.
|
||||
|
||||
version 1.29 Documentation changes. Head height increased from 12pt to 13pt.
|
||||
Removed spurious indent at start of abstract.
|
||||
Improved kerning in CCS description list.
|
||||
|
||||
version 1.30 Bibtex style now recognizes https:// in doi.
|
||||
Added \frenchspacing.
|
||||
\department now has an optional hierarchy level.
|
||||
Switched to T1 encoding
|
||||
Updated IMWUT and PACMPL
|
||||
|
||||
version 1.31 Changed default year and month to the current ones
|
||||
(thanks to Matteo Riondato)
|
||||
Table of contents now works
|
||||
Marginalia now work in all formats
|
||||
New command \additionalaffiliation
|
||||
Documentation changes
|
||||
|
||||
version 1.32 New DOI formatting.
|
||||
Format siggraph is now obsolete, and sigconf
|
||||
is used instead.
|
||||
New proceedings title: POMACS.
|
||||
|
||||
version 1.33 New option `timestamp' (Michael D. Adams)
|
||||
New option `authordraft'
|
||||
Documentation updates
|
||||
Bug fixes
|
||||
We now use Type 1 versions of Libertine fonts even with XeTeX.
|
||||
New hook acmart-preload-hook.tex (wizards only!)
|
||||
Added new options `obeypunctuation' for \affiliation command
|
||||
Added SubmissionID
|
||||
Added right line count ruler for two-column formats
|
||||
Added workaround for Adobe Acrobat bugs in selection
|
||||
Added eid field to the bibliography
|
||||
|
||||
version 1.34 Deleted DOI from doi numbers
|
||||
Changed bibstrip formatting
|
||||
The command \terms is now obsolete
|
||||
The rulers in review mode now have continuous numbering
|
||||
|
||||
version 1.35 Author-year bib style now uses square brackets.
|
||||
Changed defaults for TOG sample
|
||||
Price is suppressed for usgov and rightsretained modes.
|
||||
Bugs fixed
|
||||
|
||||
Version 1.36 Bug fixes
|
||||
Moved PACMPL to acmlarge format
|
||||
New journal: PACMHCI
|
||||
Added the possibility to adjust number of author
|
||||
boxes per row in conference formats
|
||||
|
||||
Version 1.37 Reduce list indentation (Matthew Fluet)
|
||||
|
||||
Version 1.38 Increase default font size for SIGPLAN
|
||||
|
||||
Version 1.39 Added \authornotemark commmand
|
||||
|
||||
Version 1.40 Bibliography changes
|
||||
Added processing of one-compoment ccsdesc nodes
|
||||
Bug fixes.
|
||||
Made the height a multiple of \baselineskip + \topskip
|
||||
Added cleveref
|
||||
We no longer print street address in SIGs
|
||||
|
||||
Version 1.41 Rearranged bib files
|
||||
Added new badges
|
||||
|
||||
Version 1.42 Deleted ACM badges
|
||||
Bug fixes
|
||||
|
||||
Version 1.43 Bug fixes
|
||||
|
||||
Version 1.44 Bug fixes.
|
||||
Empty DOI and ISBN suppress printing DOI or ISBN lines
|
||||
Separated theorem code into acmthm.sty, loaded by default.
|
||||
Article number can be set for proceedings.
|
||||
New commands: \acmBooktile, \editor.
|
||||
Reference citation format updated.
|
||||
|
||||
Version 1.45 Workaround for a Libertine bug. Thanks to LianTze Lim
|
||||
from Overleaf
|
||||
|
||||
Version 1.46 Bug fixes for bibliography: label width is now calculated
|
||||
correctly.
|
||||
All PACM now use screen option. This requires etoolbox.
|
||||
Added subtitle to ACM reference format.
|
||||
Now acmart is compatible with fontspec.
|
||||
\thanks is now obsolete. The addresses are automatically
|
||||
added to the journal version; this can be overriden with
|
||||
\authorsaddresses command.
|
||||
Deleted the rule at the end of frontmatter for all formats.
|
||||
Deleted new line before doi in the reference format.
|
||||
Reintegrated theorem code into acmart.dtx (Matthew Fluet)
|
||||
|
||||
Version 1.47 New journal: THRI
|
||||
|
||||
Version 1.48 Bug fixes
|
||||
Review mode now switches on folios
|
||||
Code prettying (Michael D. Adams)
|
||||
Bibliography changes: @MISC entries no longer have a
|
||||
separate date
|
||||
Sigch-a sample bibliography renamed
|
||||
Bib code cleanup (Zack Weinberg)
|
||||
Acmart and version info are added to pdfcreator tag
|
||||
\citeyear no longer produces parenthetical year
|
||||
Added initial support for Biblatex (Daniel Thomas)
|
||||
Added support for IW3C2 conferences
|
||||
|
||||
Version 1.49 New jorunal: DTRAP
|
||||
|
||||
Version 1.50 Changes in iw3c2w3 and iw3c2w3g
|
||||
|
||||
Version 1.51 Journal footers now use abbreviated journal titles.
|
||||
Corrected the bug with acmPrice.
|
||||
Do not show price when copyright is set to iw3c2w3 and iw3c2w3g.
|
||||
The package now is compatible with polyglossia (Joachim Breitner).
|
||||
Slightly reworded copyright statements.
|
||||
|
||||
Version 1.52 Another rewording of licenses
|
||||
|
||||
Version 1.53 New journals: PACMCGIT, TIOT, TDSCI
|
||||
|
||||
Version 1.54 New option: 'nonacm' (Gabriel Scherer)
|
||||
Deleted indent for subsubsection (suggested by Ross Moore)
|
||||
Suppressed some obscurious warning in BibTeX processing
|
||||
Suppressed hyperrerf warnings (Paolo G. Giarrusso)
|
||||
New code for sections to help with accessibility patches
|
||||
(Ross Moore)
|
||||
Submission id, if present, is printed in anon mode
|
||||
Bug fixes
|
||||
|
||||
Version 1.55 Bug fixes
|
||||
Font changes for SIGCHI table captions
|
||||
|
||||
Version 1.56 Bug fixes
|
||||
Added \flushbottom to two column formats (Philip Quinn)
|
||||
The final punctuation for the list of concepts
|
||||
is now a period instead of a semicolon (Philip Quinn)
|
||||
New command \Description to describe images for visually
|
||||
impaired users.
|
||||
|
||||
Version 1.57 Change of \baselinestretch now produces an error
|
||||
Booktabs is now always loaded
|
||||
Added option `balance' to balance last page in two-column mode
|
||||
E-mail is no longer split in addresses
|
||||
New samples (Stephen Spencer)
|
||||
|
||||
Version 1.58 Suppressed spurious warnings.
|
||||
New journal: HEALTH.
|
||||
TDSCI is renamed to TDS.
|
||||
|
||||
Version 1.59 Now a journal format can be used for conference proceedings
|
||||
All samples are now generated from the same .dtx file
|
||||
Bug fixes
|
||||
|
||||
version 1.60 New option: urlbreakonhyphens (thanks to Peter Kemp)
|
||||
Smaller header size for acmsmall
|
||||
|
||||
Version 1.61 Bug fixes
|
||||
New bibtex types for artifacts
|
||||
|
||||
Version 1.62 Documentation update
|
||||
New journal: TELO
|
||||
Bug fixes
|
||||
|
||||
Version 1.63 New journals: TQUANT, FACMP
|
||||
|
||||
Version 1.63a Moved TQUANT to TQC
|
||||
|
||||
Version 1.64 Produce error if abstract is entered after maketitle
|
||||
(previously abstract was silently dropped)
|
||||
Bug fixes for line numbering
|
||||
|
||||
Version 1.65 Bug fixes
|
||||
New journal: DGOV
|
||||
DTRAP and HEALTH are now using acmlarge format
|
||||
|
||||
Version 1.66 Bug fixes
|
||||
BibTeX change: location is now a synonym for city (Feras Saad)
|
||||
ACM reference format is now mandatory for papers over one page.
|
||||
CCS concepts and keywords are now mandatory for
|
||||
papers over two pages.
|
||||
Authors' addresses are mandatory for journal articles.
|
||||
|
||||
Version 1.67 Urgent bug fixes:
|
||||
BibTeX style bug fixed (Michael D. Adams)
|
||||
Sigplan special section bugfix
|
||||
|
||||
Version 1.68 Bug fixes
|
||||
BST now recognizes words `Paper' or 'Article' in
|
||||
eid or articleno
|
||||
|
||||
Version 1.69 Bug fixes
|
||||
Compatibility with LaTeX 2020-02-02 release
|
||||
|
||||
Version 1.70 Title change for ACM/IMS Transactions on Data Science
|
||||
Bug fixes for bibliography
|
||||
|
||||
|
||||
Version 1.71 Bug fixes
|
||||
Formats sigchi and sigchi-a are retired
|
||||
Bibliography formatting changes for @inproceedings entries
|
||||
having both series and volume
|
||||
LuaLaTeX now uses the same OTF fonts as XeLaTeX
|
||||
|
||||
Version 1.72 Bug fixes. Better handling of metadata.
|
||||
|
||||
Version 1.73 Bug fixes
|
||||
The elements institution, city and country are now obligatory
|
||||
for affiliations
|
||||
|
||||
Version 1.74 Bug fixes. A regression introduced in the font changes
|
||||
is reverted.
|
||||
|
||||
Version 1.75. \country is now obligatory for addresses.
|
||||
Added \AtBeginMaketitle
|
||||
|
||||
Version 1.76. Added many journal abbreviations to the bst.
|
||||
New experimental option: pbalance
|
||||
ORCID linking code
|
||||
|
||||
Version 1.77. Changed the way to typeset multiple affiliations (Christoph Sommer)
|
||||
|
||||
Version 1.78. Documentation update.
|
||||
Magic texcount comments for samples.
|
||||
Title page now is split if there are too many authors
|
||||
Bug fixes.
|
||||
|
||||
Version 1.79. Fixed pages with index
|
||||
(https://github.com/borisveytsman/acmart/issues/440)
|
||||
Updated information for TAP, TCPS, TEAC
|
||||
|
||||
Version 1.80. New journals: DLT, FAC
|
|
@ -0,0 +1,89 @@
|
|||
@Misc{TeXFAQ,
|
||||
title = {{UK} List of {\TeX} Frequently Asked Questions},
|
||||
author = {{UK \TeX{} Users Group}},
|
||||
year = 2019,
|
||||
howpublished = {\url{https://texfaq.org}}
|
||||
}
|
||||
|
||||
@Manual{Downes04:amsart,
|
||||
title = {The \textsf{amsart}, \textsf{amsproc}, and
|
||||
\textsf{amsbook} document~classes},
|
||||
author = {Michael Downes and Barbara Beeton},
|
||||
organization = {American Mathematical Society},
|
||||
year = 2004,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/amslatex}}
|
||||
}
|
||||
|
||||
@Manual{Fiorio15,
|
||||
title = {{a}lgorithm2e.sty---package for algorithms},
|
||||
author = {Cristophe Fiorio},
|
||||
year = 2015,
|
||||
month = oct,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithm2e}}
|
||||
}
|
||||
|
||||
@Manual{Brito09,
|
||||
title = {The algorithms bundle},
|
||||
author = {Rog\'erio Brito},
|
||||
year = 2009,
|
||||
month = aug,
|
||||
note = {\url{http://www.ctan.org/pkg/algorithms}}
|
||||
}
|
||||
|
||||
@Manual{Heinz15,
|
||||
title = {The Listings Package},
|
||||
author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
|
||||
year = 2015,
|
||||
month = jun,
|
||||
note = {\url{http://www.ctan.org/pkg/listings}}
|
||||
}
|
||||
|
||||
@Manual{Fear05,
|
||||
title = {Publication quality tables in {\LaTeX}},
|
||||
author = {Simon Fear},
|
||||
year = 2005,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/booktabs}}
|
||||
}
|
||||
|
||||
@Manual{ACMIdentityStandards,
|
||||
title = {{ACM} Visual Identity Standards},
|
||||
organization = {Association for Computing Machinery},
|
||||
year = 2007,
|
||||
note = {\url{http://identitystandards.acm.org}}
|
||||
}
|
||||
|
||||
@Manual{Sommerfeldt13:Subcaption,
|
||||
title = {The subcaption package},
|
||||
author = {Axel Sommerfeldt},
|
||||
year = 2013,
|
||||
month = apr,
|
||||
note = {\url{http://www.ctan.org/pkg/subcaption}}
|
||||
}
|
||||
|
||||
@Manual{Nomencl,
|
||||
title = {A package to create a nomenclature},
|
||||
author = {Boris Veytsman and Bern Schandl and Lee Netherton
|
||||
and C. V. Radhakrishnan},
|
||||
year = 2005,
|
||||
month = sep,
|
||||
note = {\url{http://www.ctan.org/pkg/nomencl}}
|
||||
}
|
||||
|
||||
@Manual{Talbot16:Glossaries,
|
||||
title = {User Manual for glossaries.sty v4.44},
|
||||
author = {Nicola L. C. Talbot},
|
||||
year = 2019,
|
||||
month = dec,
|
||||
note = {\url{http://www.ctan.org/pkg/glossaries}}
|
||||
}
|
||||
|
||||
@Manual{Carlisle04:Textcase,
|
||||
title = {The \textsl{textcase} package},
|
||||
author = {David Carlisle},
|
||||
month = oct,
|
||||
year = 2004,
|
||||
note = {\url{http://www.ctan.org/pkg/textcase}}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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{*****************************************************}%
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
|
@ -0,0 +1,804 @@
|
|||
%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
%%
|
||||
%%
|
||||
%% Commands for TeXCount
|
||||
%<<TCMACROS
|
||||
%TC:macro \cite [option:text,text]
|
||||
%TC:macro \citep [option:text,text]
|
||||
%TC:macro \citet [option:text,text]
|
||||
%TC:envir table 0 1
|
||||
%TC:envir table* 0 1
|
||||
%TC:envir tabular [ignore] word
|
||||
%TC:envir displaymath 0 word
|
||||
%TC:envir math 0 word
|
||||
%TC:envir comment 0 0
|
||||
%TCMACROS
|
||||
%%
|
||||
%%
|
||||
%% The first command in your LaTeX source must be the \documentclass command.
|
||||
%<manuscript>\documentclass[manuscript,screen,review]{acmart}
|
||||
%<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart}
|
||||
%<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
|
||||
%<acmlarge>\documentclass[acmlarge]{acmart}
|
||||
%<acmtog>\documentclass[acmtog]{acmart}
|
||||
%<sigconf>\documentclass[sigconf]{acmart}
|
||||
%<authordraft>\documentclass[sigconf,authordraft]{acmart}
|
||||
%<sigplan>\documentclass[sigplan,screen]{acmart}
|
||||
%<sigchi>\documentclass[sigchi]{acmart}
|
||||
%<sigchi-a>\documentclass[sigchi-a, nonacm]{acmart}
|
||||
|
||||
%%
|
||||
%% \BibTeX command to typeset BibTeX logo in the docs
|
||||
\AtBeginDocument{%
|
||||
\providecommand\BibTeX{{%
|
||||
\normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}}
|
||||
|
||||
%% Rights management information. This information is sent to you
|
||||
%% when you complete the rights form. These commands have SAMPLE
|
||||
%% values in them; it is your responsibility as an author to replace
|
||||
%% the commands and values with those provided to you when you
|
||||
%% complete the rights form.
|
||||
%
|
||||
\setcopyright{acmcopyright}
|
||||
\copyrightyear{2018}
|
||||
\acmYear{2018}
|
||||
\acmDOI{10.1145/1122445.1122456}
|
||||
|
||||
%</manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
%<*manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
%% These commands are for a PROCEEDINGS abstract or paper.
|
||||
\acmConference[Woodstock '18]{Woodstock '18: ACM Symposium on Neural
|
||||
Gaze Detection}{June 03--05, 2018}{Woodstock, NY}
|
||||
\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection,
|
||||
June 03--05, 2018, Woodstock, NY}
|
||||
\acmPrice{15.00}
|
||||
\acmISBN{978-1-4503-XXXX-X/18/06}
|
||||
%</manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
|
||||
%<*acmsmall|acmsmall-submission|acmlarge|acmtog>
|
||||
%%
|
||||
%% These commands are for a JOURNAL article.
|
||||
%<acmsmall|acmsmall-submission>\acmJournal{JACM}
|
||||
%<acmlarge>\acmJournal{POMACS}
|
||||
%<acmtog>\acmJournal{TOG}
|
||||
\acmVolume{37}
|
||||
\acmNumber{4}
|
||||
\acmArticle{111}
|
||||
\acmMonth{8}
|
||||
%</acmsmall|acmsmall-submission|acmlarge|acmtog>
|
||||
%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
|
||||
|
||||
%%
|
||||
%% Submission ID.
|
||||
%% Use this when submitting an article to a sponsored event. You'll
|
||||
%% receive a unique submission ID from the organizers
|
||||
%% of the event, and this ID should be used as the parameter to this command.
|
||||
%%\acmSubmissionID{123-A56-BU3}
|
||||
|
||||
|
||||
%%
|
||||
%% The majority of ACM publications use numbered citations and
|
||||
%% references. The command \citestyle{authoryear} switches to the
|
||||
%% "author year" style.
|
||||
%%
|
||||
%% If you are preparing content for an event
|
||||
%% sponsored by ACM SIGGRAPH, you must use the "author year" style of
|
||||
%% citations and references.
|
||||
%<!acmtog>%% Uncommenting
|
||||
%<!acmtog>%% the next command will enable that style.
|
||||
%<!acmtog>%%\citestyle{acmauthoryear}
|
||||
%<acmtog>\citestyle{acmauthoryear}
|
||||
|
||||
%%
|
||||
%% end of the preamble, start of the body of the document source.
|
||||
\begin{document}
|
||||
|
||||
%%
|
||||
%% The "title" command has an optional parameter,
|
||||
%% allowing the author to define a "short title" to be used in page headers.
|
||||
\title{The Name of the Title is Hope}
|
||||
|
||||
%%
|
||||
%% The "author" command and its associated commands are used to define
|
||||
%% the authors and their affiliations.
|
||||
%% Of note is the shared affiliation of the first two authors, and the
|
||||
%% "authornote" and "authornotemark" commands
|
||||
%% used to denote shared contribution to the research.
|
||||
\author{Ben Trovato}
|
||||
\authornote{Both authors contributed equally to this research.}
|
||||
\email{trovato@corporation.com}
|
||||
\orcid{1234-5678-9012}
|
||||
\author{G.K.M. Tobin}
|
||||
\authornotemark[1]
|
||||
\email{webmaster@marysville-ohio.com}
|
||||
\affiliation{%
|
||||
\institution{Institute for Clarity in Documentation}
|
||||
\streetaddress{P.O. Box 1212}
|
||||
\city{Dublin}
|
||||
\state{Ohio}
|
||||
\country{USA}
|
||||
\postcode{43017-6221}
|
||||
}
|
||||
|
||||
\author{Lars Th{\o}rv{\"a}ld}
|
||||
\affiliation{%
|
||||
\institution{The Th{\o}rv{\"a}ld Group}
|
||||
\streetaddress{1 Th{\o}rv{\"a}ld Circle}
|
||||
\city{Hekla}
|
||||
\country{Iceland}}
|
||||
\email{larst@affiliation.org}
|
||||
|
||||
\author{Valerie B\'eranger}
|
||||
\affiliation{%
|
||||
\institution{Inria Paris-Rocquencourt}
|
||||
\city{Rocquencourt}
|
||||
\country{France}
|
||||
}
|
||||
|
||||
\author{Aparna Patel}
|
||||
\affiliation{%
|
||||
\institution{Rajiv Gandhi University}
|
||||
\streetaddress{Rono-Hills}
|
||||
\city{Doimukh}
|
||||
\state{Arunachal Pradesh}
|
||||
\country{India}}
|
||||
|
||||
\author{Huifen Chan}
|
||||
\affiliation{%
|
||||
\institution{Tsinghua University}
|
||||
\streetaddress{30 Shuangqing Rd}
|
||||
\city{Haidian Qu}
|
||||
\state{Beijing Shi}
|
||||
\country{China}}
|
||||
|
||||
\author{Charles Palmer}
|
||||
\affiliation{%
|
||||
\institution{Palmer Research Laboratories}
|
||||
\streetaddress{8600 Datapoint Drive}
|
||||
\city{San Antonio}
|
||||
\state{Texas}
|
||||
\country{USA}
|
||||
\postcode{78229}}
|
||||
\email{cpalmer@prl.com}
|
||||
|
||||
\author{John Smith}
|
||||
\affiliation{%
|
||||
\institution{The Th{\o}rv{\"a}ld Group}
|
||||
\streetaddress{1 Th{\o}rv{\"a}ld Circle}
|
||||
\city{Hekla}
|
||||
\country{Iceland}}
|
||||
\email{jsmith@affiliation.org}
|
||||
|
||||
\author{Julius P. Kumquat}
|
||||
\affiliation{%
|
||||
\institution{The Kumquat Consortium}
|
||||
\city{New York}
|
||||
\country{USA}}
|
||||
\email{jpkumquat@consortium.net}
|
||||
|
||||
%%
|
||||
%% By default, the full list of authors will be used in the page
|
||||
%% headers. Often, this list is too long, and will overlap
|
||||
%% other information printed in the page headers. This command allows
|
||||
%% the author to define a more concise list
|
||||
%% of authors' names for this purpose.
|
||||
\renewcommand{\shortauthors}{Trovato and Tobin, et al.}
|
||||
|
||||
%%
|
||||
%% The abstract is a short summary of the work to be presented in the
|
||||
%% article.
|
||||
\begin{abstract}
|
||||
A clear and well-documented \LaTeX\ document is presented as an
|
||||
article formatted for publication by ACM in a conference proceedings
|
||||
or journal publication. Based on the ``acmart'' document class, this
|
||||
article presents and explains many of the common variations, as well
|
||||
as many of the formatting elements an author may use in the
|
||||
preparation of the documentation of their work.
|
||||
\end{abstract}
|
||||
|
||||
%%
|
||||
%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm.
|
||||
%% Please copy and paste the code instead of the example below.
|
||||
%%
|
||||
\begin{CCSXML}
|
||||
<ccs2012>
|
||||
<concept>
|
||||
<concept_id>10010520.10010553.10010562</concept_id>
|
||||
<concept_desc>Computer systems organization~Embedded systems</concept_desc>
|
||||
<concept_significance>500</concept_significance>
|
||||
</concept>
|
||||
<concept>
|
||||
<concept_id>10010520.10010575.10010755</concept_id>
|
||||
<concept_desc>Computer systems organization~Redundancy</concept_desc>
|
||||
<concept_significance>300</concept_significance>
|
||||
</concept>
|
||||
<concept>
|
||||
<concept_id>10010520.10010553.10010554</concept_id>
|
||||
<concept_desc>Computer systems organization~Robotics</concept_desc>
|
||||
<concept_significance>100</concept_significance>
|
||||
</concept>
|
||||
<concept>
|
||||
<concept_id>10003033.10003083.10003095</concept_id>
|
||||
<concept_desc>Networks~Network reliability</concept_desc>
|
||||
<concept_significance>100</concept_significance>
|
||||
</concept>
|
||||
</ccs2012>
|
||||
\end{CCSXML}
|
||||
|
||||
\ccsdesc[500]{Computer systems organization~Embedded systems}
|
||||
\ccsdesc[300]{Computer systems organization~Redundancy}
|
||||
\ccsdesc{Computer systems organization~Robotics}
|
||||
\ccsdesc[100]{Networks~Network reliability}
|
||||
|
||||
%%
|
||||
%% Keywords. The author(s) should pick words that accurately describe
|
||||
%% the work being presented. Separate the keywords with commas.
|
||||
\keywords{datasets, neural networks, gaze detection, text tagging}
|
||||
|
||||
%</manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
%<*sigconf|authordraft|sigplan|acmsmall-conf>
|
||||
%% A "teaser" image appears between the author and affiliation
|
||||
%% information and the body of the document, and typically spans the
|
||||
%% page.
|
||||
\begin{teaserfigure}
|
||||
\includegraphics[width=\textwidth]{sampleteaser}
|
||||
\caption{Seattle Mariners at Spring Training, 2010.}
|
||||
\Description{Enjoying the baseball game from the third-base
|
||||
seats. Ichiro Suzuki preparing to bat.}
|
||||
\label{fig:teaser}
|
||||
\end{teaserfigure}
|
||||
%</sigconf|authordraft|sigplan|acmsmall-conf>
|
||||
%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
||||
|
||||
%%
|
||||
%% This command processes the author and affiliation and title
|
||||
%% information and builds the first part of the formatted document.
|
||||
\maketitle
|
||||
|
||||
\section{Introduction}
|
||||
ACM's consolidated article template, introduced in 2017, provides a
|
||||
consistent \LaTeX\ style for use across ACM publications, and
|
||||
incorporates accessibility and metadata-extraction functionality
|
||||
necessary for future Digital Library endeavors. Numerous ACM and
|
||||
SIG-specific \LaTeX\ templates have been examined, and their unique
|
||||
features incorporated into this single new template.
|
||||
|
||||
If you are new to publishing with ACM, this document is a valuable
|
||||
guide to the process of preparing your work for publication. If you
|
||||
have published with ACM before, this document provides insight and
|
||||
instruction into more recent changes to the article template.
|
||||
|
||||
The ``\verb|acmart|'' document class can be used to prepare articles
|
||||
for any ACM publication --- conference or journal, and for any stage
|
||||
of publication, from review to final ``camera-ready'' copy, to the
|
||||
author's own version, with {\itshape very} few changes to the source.
|
||||
|
||||
\section{Template Overview}
|
||||
As noted in the introduction, the ``\verb|acmart|'' document class can
|
||||
be used to prepare many different kinds of documentation --- a
|
||||
double-blind initial submission of a full-length technical paper, a
|
||||
two-page SIGGRAPH Emerging Technologies abstract, a ``camera-ready''
|
||||
journal article, a SIGCHI Extended Abstract, and more --- all by
|
||||
selecting the appropriate {\itshape template style} and {\itshape
|
||||
template parameters}.
|
||||
|
||||
This document will explain the major features of the document
|
||||
class. For further information, the {\itshape \LaTeX\ User's Guide} is
|
||||
available from
|
||||
\url{https://www.acm.org/publications/proceedings-template}.
|
||||
|
||||
\subsection{Template Styles}
|
||||
|
||||
The primary parameter given to the ``\verb|acmart|'' document class is
|
||||
the {\itshape template style} which corresponds to the kind of publication
|
||||
or SIG publishing the work. This parameter is enclosed in square
|
||||
brackets and is a part of the {\verb|documentclass|} command:
|
||||
\begin{verbatim}
|
||||
\documentclass[STYLE]{acmart}
|
||||
\end{verbatim}
|
||||
|
||||
Journals use one of three template styles. All but three ACM journals
|
||||
use the {\verb|acmsmall|} template style:
|
||||
\begin{itemize}
|
||||
\item {\verb|acmsmall|}: The default journal template style.
|
||||
\item {\verb|acmlarge|}: Used by JOCCH and TAP.
|
||||
\item {\verb|acmtog|}: Used by TOG.
|
||||
\end{itemize}
|
||||
|
||||
The majority of conference proceedings documentation will use the {\verb|acmconf|} template style.
|
||||
\begin{itemize}
|
||||
\item {\verb|acmconf|}: The default proceedings template style.
|
||||
\item{\verb|sigchi|}: Used for SIGCHI conference articles.
|
||||
\item{\verb|sigchi-a|}: Used for SIGCHI ``Extended Abstract'' articles.
|
||||
\item{\verb|sigplan|}: Used for SIGPLAN conference articles.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Template Parameters}
|
||||
|
||||
In addition to specifying the {\itshape template style} to be used in
|
||||
formatting your work, there are a number of {\itshape template parameters}
|
||||
which modify some part of the applied template style. A complete list
|
||||
of these parameters can be found in the {\itshape \LaTeX\ User's Guide.}
|
||||
|
||||
Frequently-used parameters, or combinations of parameters, include:
|
||||
\begin{itemize}
|
||||
\item {\verb|anonymous,review|}: Suitable for a ``double-blind''
|
||||
conference submission. Anonymizes the work and includes line
|
||||
numbers. Use with the \verb|\acmSubmissionID| command to print the
|
||||
submission's unique ID on each page of the work.
|
||||
\item{\verb|authorversion|}: Produces a version of the work suitable
|
||||
for posting by the author.
|
||||
\item{\verb|screen|}: Produces colored hyperlinks.
|
||||
\end{itemize}
|
||||
|
||||
This document uses the following string as the first command in the
|
||||
source file:
|
||||
\begin{verbatim}
|
||||
%<manuscript>\documentclass[manuscript,screen,review]{acmart}
|
||||
%<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart}
|
||||
%<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
|
||||
%<acmlarge>\documentclass[acmlarge]{acmart}
|
||||
%<acmtog>\documentclass[acmtog]{acmart}
|
||||
%<sigconf>\documentclass[sigconf]{acmart}
|
||||
%<authordraft>\documentclass[sigconf,authordraft]{acmart}
|
||||
%<sigplan>\documentclass[sigplan,screen]{acmart}
|
||||
%<sigchi>\documentclass[sigchi]{acmart}
|
||||
%<sigchi-a>\documentclass[sigchi-a]{acmart}
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\section{Modifications}
|
||||
|
||||
Modifying the template --- including but not limited to: adjusting
|
||||
margins, typeface sizes, line spacing, paragraph and list definitions,
|
||||
and the use of the \verb|\vspace| command to manually adjust the
|
||||
vertical spacing between elements of your work --- is not allowed.
|
||||
|
||||
{\bfseries Your document will be returned to you for revision if
|
||||
modifications are discovered.}
|
||||
|
||||
\section{Typefaces}
|
||||
|
||||
The ``\verb|acmart|'' document class requires the use of the
|
||||
``Libertine'' typeface family. Your \TeX\ installation should include
|
||||
this set of packages. Please do not substitute other typefaces. The
|
||||
``\verb|lmodern|'' and ``\verb|ltimes|'' packages should not be used,
|
||||
as they will override the built-in typeface families.
|
||||
|
||||
\section{Title Information}
|
||||
|
||||
The title of your work should use capital letters appropriately -
|
||||
\url{https://capitalizemytitle.com/} has useful rules for
|
||||
capitalization. Use the {\verb|title|} command to define the title of
|
||||
your work. If your work has a subtitle, define it with the
|
||||
{\verb|subtitle|} command. Do not insert line breaks in your title.
|
||||
|
||||
If your title is lengthy, you must define a short version to be used
|
||||
in the page headers, to prevent overlapping text. The \verb|title|
|
||||
command has a ``short title'' parameter:
|
||||
\begin{verbatim}
|
||||
\title[short title]{full title}
|
||||
\end{verbatim}
|
||||
|
||||
\section{Authors and Affiliations}
|
||||
|
||||
Each author must be defined separately for accurate metadata
|
||||
identification. Multiple authors may share one affiliation. Authors'
|
||||
names should not be abbreviated; use full first names wherever
|
||||
possible. Include authors' e-mail addresses whenever possible.
|
||||
|
||||
Grouping authors' names or e-mail addresses, or providing an ``e-mail
|
||||
alias,'' as shown below, is not acceptable:
|
||||
\begin{verbatim}
|
||||
\author{Brooke Aster, David Mehldau}
|
||||
\email{dave,judy,steve@university.edu}
|
||||
\email{firstname.lastname@phillips.org}
|
||||
\end{verbatim}
|
||||
|
||||
The \verb|authornote| and \verb|authornotemark| commands allow a note
|
||||
to apply to multiple authors --- for example, if the first two authors
|
||||
of an article contributed equally to the work.
|
||||
|
||||
If your author list is lengthy, you must define a shortened version of
|
||||
the list of authors to be used in the page headers, to prevent
|
||||
overlapping text. The following command should be placed just after
|
||||
the last \verb|\author{}| definition:
|
||||
\begin{verbatim}
|
||||
\renewcommand{\shortauthors}{McCartney, et al.}
|
||||
\end{verbatim}
|
||||
Omitting this command will force the use of a concatenated list of all
|
||||
of the authors' names, which may result in overlapping text in the
|
||||
page headers.
|
||||
|
||||
The article template's documentation, available at
|
||||
\url{https://www.acm.org/publications/proceedings-template}, has a
|
||||
complete explanation of these commands and tips for their effective
|
||||
use.
|
||||
|
||||
Note that authors' addresses are mandatory for journal articles.
|
||||
|
||||
\section{Rights Information}
|
||||
|
||||
Authors of any work published by ACM will need to complete a rights
|
||||
form. Depending on the kind of work, and the rights management choice
|
||||
made by the author, this may be copyright transfer, permission,
|
||||
license, or an OA (open access) agreement.
|
||||
|
||||
Regardless of the rights management choice, the author will receive a
|
||||
copy of the completed rights form once it has been submitted. This
|
||||
form contains \LaTeX\ commands that must be copied into the source
|
||||
document. When the document source is compiled, these commands and
|
||||
their parameters add formatted text to several areas of the final
|
||||
document:
|
||||
\begin{itemize}
|
||||
\item the ``ACM Reference Format'' text on the first page.
|
||||
\item the ``rights management'' text on the first page.
|
||||
\item the conference information in the page header(s).
|
||||
\end{itemize}
|
||||
|
||||
Rights information is unique to the work; if you are preparing several
|
||||
works for an event, make sure to use the correct set of commands with
|
||||
each of the works.
|
||||
|
||||
The ACM Reference Format text is required for all articles over one
|
||||
page in length, and is optional for one-page articles (abstracts).
|
||||
|
||||
\section{CCS Concepts and User-Defined Keywords}
|
||||
|
||||
Two elements of the ``acmart'' document class provide powerful
|
||||
taxonomic tools for you to help readers find your work in an online
|
||||
search.
|
||||
|
||||
The ACM Computing Classification System ---
|
||||
\url{https://www.acm.org/publications/class-2012} --- is a set of
|
||||
classifiers and concepts that describe the computing
|
||||
discipline. Authors can select entries from this classification
|
||||
system, via \url{https://dl.acm.org/ccs/ccs.cfm}, and generate the
|
||||
commands to be included in the \LaTeX\ source.
|
||||
|
||||
User-defined keywords are a comma-separated list of words and phrases
|
||||
of the authors' choosing, providing a more flexible way of describing
|
||||
the research being presented.
|
||||
|
||||
CCS concepts and user-defined keywords are required for for all
|
||||
articles over two pages in length, and are optional for one- and
|
||||
two-page articles (or abstracts).
|
||||
|
||||
\section{Sectioning Commands}
|
||||
|
||||
Your work should use standard \LaTeX\ sectioning commands:
|
||||
\verb|section|, \verb|subsection|, \verb|subsubsection|, and
|
||||
\verb|paragraph|. They should be numbered; do not remove the numbering
|
||||
from the commands.
|
||||
|
||||
Simulating a sectioning command by setting the first word or words of
|
||||
a paragraph in boldface or italicized text is {\bfseries not allowed.}
|
||||
|
||||
\section{Tables}
|
||||
|
||||
The ``\verb|acmart|'' document class includes the ``\verb|booktabs|''
|
||||
package --- \url{https://ctan.org/pkg/booktabs} --- for preparing
|
||||
high-quality tables.
|
||||
|
||||
Table captions are placed {\itshape above} the table.
|
||||
|
||||
Because tables cannot be split across pages, the best placement for
|
||||
them is typically the top of the page nearest their initial cite. To
|
||||
ensure this proper ``floating'' placement of tables, use the
|
||||
environment \textbf{table} to enclose the table's contents and the
|
||||
table caption. The contents of the table itself must go in the
|
||||
\textbf{tabular} environment, to be aligned properly in rows and
|
||||
columns, with the desired horizontal and vertical rules. Again,
|
||||
detailed instructions on \textbf{tabular} material are found in the
|
||||
\textit{\LaTeX\ User's Guide}.
|
||||
|
||||
Immediately following this sentence is the point at which
|
||||
Table~\ref{tab:freq} is included in the input file; compare the
|
||||
placement of the table here with the table in the printed output of
|
||||
this document.
|
||||
|
||||
%<!sigchi-a>\begin{table}
|
||||
%<sigchi-a>\begin{margintable}
|
||||
\caption{Frequency of Special Characters}
|
||||
\label{tab:freq}
|
||||
\begin{tabular}{ccl}
|
||||
\toprule
|
||||
Non-English or Math&Frequency&Comments\\
|
||||
\midrule
|
||||
\O & 1 in 1,000& For Swedish names\\
|
||||
$\pi$ & 1 in 5& Common in math\\
|
||||
\$ & 4 in 5 & Used in business\\
|
||||
$\Psi^2_1$ & 1 in 40,000& Unexplained usage\\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
%<!sigchi-a>\end{table}
|
||||
%<sigchi-a>\end{margintable}
|
||||
|
||||
To set a wider table, which takes up the whole width of the page's
|
||||
live area, use the environment \textbf{table*} to enclose the table's
|
||||
contents and the table caption. As with a single-column table, this
|
||||
wide table will ``float'' to a location deemed more
|
||||
desirable. Immediately following this sentence is the point at which
|
||||
Table~\ref{tab:commands} is included in the input file; again, it is
|
||||
instructive to compare the placement of the table here with the table
|
||||
in the printed output of this document.
|
||||
|
||||
\begin{table*}
|
||||
\caption{Some Typical Commands}
|
||||
\label{tab:commands}
|
||||
\begin{tabular}{ccl}
|
||||
\toprule
|
||||
Command &A Number & Comments\\
|
||||
\midrule
|
||||
\texttt{{\char'134}author} & 100& Author \\
|
||||
\texttt{{\char'134}table}& 300 & For tables\\
|
||||
\texttt{{\char'134}table*}& 400& For wider tables\\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table*}
|
||||
|
||||
Always use midrule to separate table header rows from data rows, and
|
||||
use it only for this purpose. This enables assistive technologies to
|
||||
recognise table headers and support their users in navigating tables
|
||||
more easily.
|
||||
|
||||
|
||||
\section{Math Equations}
|
||||
You may want to display math equations in three distinct styles:
|
||||
inline, numbered or non-numbered display. Each of the three are
|
||||
discussed in the next sections.
|
||||
|
||||
\subsection{Inline (In-text) Equations}
|
||||
A formula that appears in the running text is called an inline or
|
||||
in-text formula. It is produced by the \textbf{math} environment,
|
||||
which can be invoked with the usual
|
||||
\texttt{{\char'134}begin\,\ldots{\char'134}end} construction or with
|
||||
the short form \texttt{\$\,\ldots\$}. You can use any of the symbols
|
||||
and structures, from $\alpha$ to $\omega$, available in
|
||||
\LaTeX~\cite{Lamport:LaTeX}; this section will simply show a few
|
||||
examples of in-text equations in context. Notice how this equation:
|
||||
\begin{math}
|
||||
\lim_{n\rightarrow \infty}x=0
|
||||
\end{math},
|
||||
set here in in-line math style, looks slightly different when
|
||||
set in display style. (See next section).
|
||||
|
||||
\subsection{Display Equations}
|
||||
A numbered display equation---one set off by vertical space from the
|
||||
text and centered horizontally---is produced by the \textbf{equation}
|
||||
environment. An unnumbered display equation is produced by the
|
||||
\textbf{displaymath} environment.
|
||||
|
||||
Again, in either environment, you can use any of the symbols and
|
||||
structures available in \LaTeX\@; this section will just give a couple
|
||||
of examples of display equations in context. First, consider the
|
||||
equation, shown as an inline equation above:
|
||||
\begin{equation}
|
||||
\lim_{n\rightarrow \infty}x=0
|
||||
\end{equation}
|
||||
Notice how it is formatted somewhat differently in
|
||||
the \textbf{displaymath}
|
||||
environment. Now, we'll enter an unnumbered equation:
|
||||
\begin{displaymath}
|
||||
\sum_{i=0}^{\infty} x + 1
|
||||
\end{displaymath}
|
||||
and follow it with another numbered equation:
|
||||
\begin{equation}
|
||||
\sum_{i=0}^{\infty}x_i=\int_{0}^{\pi+2} f
|
||||
\end{equation}
|
||||
just to demonstrate \LaTeX's able handling of numbering.
|
||||
|
||||
\section{Figures}
|
||||
|
||||
The ``\verb|figure|'' environment should be used for figures. One or
|
||||
more images can be placed within a figure. If your figure contains
|
||||
third-party material, you must clearly identify it as such, as shown
|
||||
in the example below.
|
||||
%<!sigchi-a>\begin{figure}[h]
|
||||
%<sigchi-a>\begin{marginfigure}
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{sample-franklin}
|
||||
\caption{1907 Franklin Model D roadster. Photograph by Harris \&
|
||||
Ewing, Inc. [Public domain], via Wikimedia
|
||||
Commons. (\url{https://goo.gl/VLCRBB}).}
|
||||
\Description{A woman and a girl in white dresses sit in an open car.}
|
||||
%<!sigchi-a>\end{figure}
|
||||
%<sigchi-a>\end{marginfigure}
|
||||
|
||||
Your figures should contain a caption which describes the figure to
|
||||
the reader.
|
||||
|
||||
Figure captions are placed {\itshape below} the figure.
|
||||
|
||||
Every figure should also have a figure description unless it is purely
|
||||
decorative. These descriptions convey what’s in the image to someone
|
||||
who cannot see it. They are also used by search engine crawlers for
|
||||
indexing images, and when images cannot be loaded.
|
||||
|
||||
A figure description must be unformatted plain text less than 2000
|
||||
characters long (including spaces). {\bfseries Figure descriptions
|
||||
should not repeat the figure caption – their purpose is to capture
|
||||
important information that is not already provided in the caption or
|
||||
the main text of the paper.} For figures that convey important and
|
||||
complex new information, a short text description may not be
|
||||
adequate. More complex alternative descriptions can be placed in an
|
||||
appendix and referenced in a short figure description. For example,
|
||||
provide a data table capturing the information in a bar chart, or a
|
||||
structured list representing a graph. For additional information
|
||||
regarding how best to write figure descriptions and why doing this is
|
||||
so important, please see
|
||||
\url{https://www.acm.org/publications/taps/describing-figures/}.
|
||||
|
||||
|
||||
\subsection{The ``Teaser Figure''}
|
||||
|
||||
A ``teaser figure'' is an image, or set of images in one figure, that
|
||||
are placed after all author and affiliation information, and before
|
||||
the body of the article, spanning the page. If you wish to have such a
|
||||
figure in your article, place the command immediately before the
|
||||
\verb|\maketitle| command:
|
||||
\begin{verbatim}
|
||||
\begin{teaserfigure}
|
||||
\includegraphics[width=\textwidth]{sampleteaser}
|
||||
\caption{figure caption}
|
||||
\Description{figure description}
|
||||
\end{teaserfigure}
|
||||
\end{verbatim}
|
||||
|
||||
\section{Citations and Bibliographies}
|
||||
|
||||
The use of \BibTeX\ for the preparation and formatting of one's
|
||||
references is strongly recommended. Authors' names should be complete
|
||||
--- use full first names (``Donald E. Knuth'') not initials
|
||||
(``D. E. Knuth'') --- and the salient identifying features of a
|
||||
reference should be included: title, year, volume, number, pages,
|
||||
article DOI, etc.
|
||||
|
||||
The bibliography is included in your source document with these two
|
||||
commands, placed just before the \verb|\end{document}| command:
|
||||
\begin{verbatim}
|
||||
\bibliographystyle{ACM-Reference-Format}
|
||||
\bibliography{bibfile}
|
||||
\end{verbatim}
|
||||
where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|''
|
||||
suffix, of the \BibTeX\ file.
|
||||
|
||||
Citations and references are numbered by default. A small number of
|
||||
ACM publications have citations and references formatted in the
|
||||
``author year'' style; for these exceptions, please include this
|
||||
command in the {\bfseries preamble} (before the command
|
||||
``\verb|\begin{document}|'') of your \LaTeX\ source:
|
||||
\begin{verbatim}
|
||||
\citestyle{acmauthoryear}
|
||||
\end{verbatim}
|
||||
|
||||
Some examples. A paginated journal article \cite{Abril07}, an
|
||||
enumerated journal article \cite{Cohen07}, a reference to an entire
|
||||
issue \cite{JCohen96}, a monograph (whole book) \cite{Kosiur01}, a
|
||||
monograph/whole book in a series (see 2a in spec. document)
|
||||
\cite{Harel79}, a divisible-book such as an anthology or compilation
|
||||
\cite{Editor00} followed by the same example, however we only output
|
||||
the series if the volume number is given \cite{Editor00a} (so
|
||||
Editor00a's series should NOT be present since it has no vol. no.),
|
||||
a chapter in a divisible book \cite{Spector90}, a chapter in a
|
||||
divisible book in a series \cite{Douglass98}, a multi-volume work as
|
||||
book \cite{Knuth97}, a couple of articles in a proceedings (of a
|
||||
conference, symposium, workshop for example) (paginated proceedings
|
||||
article) \cite{Andler79, Hagerup1993}, a proceedings article with
|
||||
all possible elements \cite{Smith10}, an example of an enumerated
|
||||
proceedings article \cite{VanGundy07}, an informally published work
|
||||
\cite{Harel78}, a couple of preprints \cite{Bornmann2019,
|
||||
AnzarootPBM14}, a doctoral dissertation \cite{Clarkson85}, a
|
||||
master's thesis: \cite{anisi03}, an online document / world wide web
|
||||
resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game
|
||||
(Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} and \cite{Lee05}
|
||||
and (Case 3) a patent \cite{JoeScientist001}, work accepted for
|
||||
publication \cite{rous08}, 'YYYYb'-test for prolific author
|
||||
\cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might
|
||||
contain 'duplicate' DOI and URLs (some SIAM articles)
|
||||
\cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton:
|
||||
multi-volume works as books \cite{MR781536} and \cite{MR781537}. A
|
||||
couple of citations with DOIs:
|
||||
\cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online
|
||||
citations: \cite{TUGInstmem, Thornburg01, CTANacmart}. Artifacts:
|
||||
\cite{R} and \cite{UMassCitations}.
|
||||
|
||||
\section{Acknowledgments}
|
||||
|
||||
Identification of funding sources and other support, and thanks to
|
||||
individuals and groups that assisted in the research and the
|
||||
preparation of the work should be included in an acknowledgment
|
||||
section, which is placed just before the reference section in your
|
||||
document.
|
||||
|
||||
This section has a special environment:
|
||||
\begin{verbatim}
|
||||
\begin{acks}
|
||||
...
|
||||
\end{acks}
|
||||
\end{verbatim}
|
||||
so that the information contained therein can be more easily collected
|
||||
during the article metadata extraction phase, and to ensure
|
||||
consistency in the spelling of the section heading.
|
||||
|
||||
Authors should not prepare this section as a numbered or unnumbered {\verb|\section|}; please use the ``{\verb|acks|}'' environment.
|
||||
|
||||
\section{Appendices}
|
||||
|
||||
If your work needs an appendix, add it before the
|
||||
``\verb|\end{document}|'' command at the conclusion of your source
|
||||
document.
|
||||
|
||||
Start the appendix with the ``\verb|appendix|'' command:
|
||||
\begin{verbatim}
|
||||
\appendix
|
||||
\end{verbatim}
|
||||
and note that in the appendix, sections are lettered, not
|
||||
numbered. This document has two appendices, demonstrating the section
|
||||
and subsection identification method.
|
||||
|
||||
\section{SIGCHI Extended Abstracts}
|
||||
|
||||
The ``\verb|sigchi-a|'' template style (available only in \LaTeX\ and
|
||||
not in Word) produces a landscape-orientation formatted article, with
|
||||
a wide left margin. Three environments are available for use with the
|
||||
``\verb|sigchi-a|'' template style, and produce formatted output in
|
||||
the margin:
|
||||
\begin{itemize}
|
||||
\item {\verb|sidebar|}: Place formatted text in the margin.
|
||||
\item {\verb|marginfigure|}: Place a figure in the margin.
|
||||
\item {\verb|margintable|}: Place a table in the margin.
|
||||
\end{itemize}
|
||||
|
||||
%%
|
||||
%% The acknowledgments section is defined using the "acks" environment
|
||||
%% (and NOT an unnumbered section). This ensures the proper
|
||||
%% identification of the section in the article metadata, and the
|
||||
%% consistent spelling of the heading.
|
||||
\begin{acks}
|
||||
To Robert, for the bagels and explaining CMYK and color spaces.
|
||||
\end{acks}
|
||||
|
||||
%%
|
||||
%% The next two lines define the bibliography style to be used, and
|
||||
%% the bibliography file.
|
||||
\bibliographystyle{ACM-Reference-Format}
|
||||
\bibliography{sample-base}
|
||||
|
||||
%%
|
||||
%% If your work has an appendix, this is the place to put it.
|
||||
\appendix
|
||||
|
||||
\section{Research Methods}
|
||||
|
||||
\subsection{Part One}
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
||||
malesuada, quam in pulvinar varius, metus nunc fermentum urna, id
|
||||
sollicitudin purus odio sit amet enim. Aliquam ullamcorper eu ipsum
|
||||
vel mollis. Curabitur quis dictum nisl. Phasellus vel semper risus, et
|
||||
lacinia dolor. Integer ultricies commodo sem nec semper.
|
||||
|
||||
\subsection{Part Two}
|
||||
|
||||
Etiam commodo feugiat nisl pulvinar pellentesque. Etiam auctor sodales
|
||||
ligula, non varius nibh pulvinar semper. Suspendisse nec lectus non
|
||||
ipsum convallis congue hendrerit vitae sapien. Donec at laoreet
|
||||
eros. Vivamus non purus placerat, scelerisque diam eu, cursus
|
||||
ante. Etiam aliquam tortor auctor efficitur mattis.
|
||||
|
||||
\section{Online Resources}
|
||||
|
||||
Nam id fermentum dui. Suspendisse sagittis tortor a nulla mollis, in
|
||||
pulvinar ex pretium. Sed interdum orci quis metus euismod, et sagittis
|
||||
enim maximus. Vestibulum gravida massa ut felis suscipit
|
||||
congue. Quisque mattis elit a risus ultrices commodo venenatis eget
|
||||
dui. Etiam sagittis eleifend elementum.
|
||||
|
||||
Nam interdum magna at lectus dignissim, ac dignissim lorem
|
||||
rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar
|
||||
massa et mattis lacinia.
|
||||
|
||||
\end{document}
|
||||
%</manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
|
|
@ -0,0 +1,22 @@
|
|||
\def\batchfile{samples.ins}
|
||||
\input docstrip
|
||||
\keepsilent
|
||||
\showprogress
|
||||
|
||||
|
||||
\askforoverwritefalse
|
||||
|
||||
\generate{%
|
||||
\file{sample-manuscript.tex}{\from{samples.dtx}{manuscript}}
|
||||
\file{sample-acmsmall.tex}{\from{samples.dtx}{acmsmall}}
|
||||
\file{sample-acmsmall-submission.tex}{\from{samples.dtx}{acmsmall-submission}}
|
||||
\file{sample-acmlarge.tex}{\from{samples.dtx}{acmlarge}}
|
||||
\file{sample-acmtog.tex}{\from{samples.dtx}{acmtog}}
|
||||
\file{sample-sigconf.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-authordraft.tex}{\from{samples.dtx}{authordraft}}
|
||||
\file{sample-xelatex.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-lualatex.tex}{\from{samples.dtx}{sigconf}}
|
||||
\file{sample-sigplan.tex}{\from{samples.dtx}{sigplan}}
|
||||
\file{sample-acmsmall-conf.tex}{\from{samples.dtx}{acmsmall-conf}}
|
||||
}
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
%!TEX root=./main.tex
|
||||
|
||||
\section{$1 \pm \epsilon$ Approximation Algorithm}\label{sec:algo}
|
||||
|
||||
\AH{If we get rid of the problem statements, then we need to remember to get rid of references to particular problem statements, as in below.}
|
||||
In \Cref{sec:hard}, we showed that the answer to \Cref{prob:intro-stmt} is no.
|
||||
With this result, we now design an approximation algorithm for our problem that runs in $\bigO{\abs{\circuit}}$ for a very broad class of circuits (see the discussion after \Cref{lem:val-ub} for more).
|
||||
The following approximation algorithm applies to \abbrBIDB lineage polynomials (over $\raPlus$ queries), though our bounds are more meaningful for a non-trivial subclass of queries over \bis that contains all queries on \tis, as well as the queries of the PDBench benchmark~\cite{pdbench}. All proofs and pseudocode can be found in \Cref{sec:proofs-approx-alg}.
|
||||
%it is then desirable to have an algorithm to approximate the multiplicity in linear time, which is what we describe next.
|
||||
|
||||
\AH{We are going to have to rework $\gamma$ in this section, as well as the proof for our result.}
|
||||
\subsection{Preliminaries and some more notation}
|
||||
|
||||
We now introduce definitions and notation related to circuits and polynomials that we will need to state our upper bound results. First we introduce the expansion $\expansion{\circuit}$ of circuit $\circuit$ which % encodes the reduced polynomial for $\polyf\inparen{\circuit}$ and is the basis
|
||||
|
|
|
@ -1,12 +1,21 @@
|
|||
%!TEX root=./main.tex
|
||||
%root: main.tex
|
||||
\section{Introduction}\label{sec:intro}
|
||||
|
||||
A probabilistic database (PDB) $\pdb$ is a pair $\inparen{\idb, \pd}$, where $\idb$ is a set of deterministic database instances called possible worlds and $\pd$ is a probability distribution over $\idb$.
|
||||
\AHchange{
|
||||
A tuple independent database (\abbrTIDB) (to which we will refer to later) is a \abbrPDB such that each tuple is an independent random event.
|
||||
}
|
||||
A commonly studied problem in probabilistic databases is, given a query $\query$, PDB $\pdb$, and possible query result tuple $\tup$, to compute the tuple's \textit{marginal probability} of being in the query's result, i.e., computing the expectation of a Boolean random variable over $\pd$ that is $1$ for every $\db \in \idb$ for which $\tup \in \query(\db)$ and $0$ otherwise.
|
||||
In this work, we are interested in bag semantics, where each tuple is associated with a multiplicity.
|
||||
Following~\cite{DBLP:conf/pods/GreenKT07}, we model bag databases (resp., relations) as functions from each $\tup$ to the tuple's multiplicity $\db(\tup) \in \semN$ in a possible world $\db$.
|
||||
\sout{
|
||||
We refer to such a probabilistic database as a bag-probabilistic database or \abbrBPDB for short.
|
||||
The natural generalization of the problem of computing marginal probabilities of query result tuples to bag semantics is to compute the expectation of a random variable over $\pd$ that is assigned value $\query(\db)(\tup) \in \semN$ in world $\db \in \idb$:
|
||||
}
|
||||
The natural generalization of the \AHchange{(set)} problem of computing marginal probabilities of query result tuples to bag semantics is to compute the expectation of a random variable over $\pd$ that is assigned value $\query(\db)(\tup) \in \semN$ in world $\db \in \idb$
|
||||
\AHchange{
|
||||
, formally $\expct_{\randDB\sim\pd}\pbox{\query\inparen{\randDB}\inparen{\tup}}$.
|
||||
}
|
||||
%OK: done
|
||||
%\AH{I think I understand what is being stated in this last sentence, but I wonder if phrasing the end something like, ``for world $\db \in \idb$ would be easier to digest for the average reviewer...maybe it was just me.}
|
||||
|
||||
|
@ -14,15 +23,42 @@ The natural generalization of the problem of computing marginal probabilities of
|
|||
%In addition to traditional deterministic query evaluation requirements (for a given query class), the query evaluation problem in bag-\abbrPDB semantics can be formally stated as:
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{Problem}[Expected Multiplicity]\label{prob:bag-pdb-query-eval}
|
||||
Given an \raPlus query\footnote{The class of positive relational algebra (\raPlus) queries consists of all queries that can be composed of the positive (monotonic) relational algebra operators: selection, projection, join, and union (SPJU).\label{footnote:ra-def}} $\query$, \abbrBPDB $\pdb$, and result tuple $\tup$, compute the expected
|
||||
multiplicity ($\expct_{\randDB\sim\pd}\pbox{\query\inparen{\randDB}\inparen{\tup}}$)
|
||||
of tuple $\tup$.
|
||||
\end{Problem}
|
||||
%\begin{Problem}[Expected Multiplicity]\label{prob:bag-pdb-query-eval}
|
||||
%Given an \raPlus query\footnote{The class of positive relational algebra (\raPlus) queries consists of all queries that can be composed of the positive (monotonic) relational algebra operators: selection, projection, join, and union (SPJU).\label{footnote:ra-def}} $\query$, \abbrBPDB $\pdb$, and result tuple $\tup$, compute the expected
|
||||
%multiplicity ($\expct_{\randDB\sim\pd}\pbox{\query\inparen{\randDB}\inparen{\tup}}$)
|
||||
%of tuple $\tup$.
|
||||
%\end{Problem}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
For \lstinline{COUNT(*)} queries, expected multiplicities can model the expected count; The equivalent set-\abbrPDB operation, simply computes the probability that this count is non-zero.
|
||||
Further, we are interested in the parameterized complexity of \Cref{prob:bag-pdb-query-eval} (i.e. we think of $Q$ as being parameterized by some parameter $k$ with the of the database going to infinity relative to $k$). Unless stated otherwise, we implicitly assume the probability distribution $\pd$, and for notational convenience use $\expct\pbox{\cdot}$ instead of $\expct_\pd\pbox{\cdot}$. Further, define $\dbbase=\bigcup_{\db\in\idb} \db$.
|
||||
For \lstinline{COUNT(*)} queries, expected multiplicities can model the expected count. \sout{
|
||||
The equivalent set-\abbrPDB operation, simply computes the probability that this count is non-zero.
|
||||
Further,
|
||||
} We are interested in the parameterized complexity of
|
||||
\AHchange{
|
||||
computing the expectation,
|
||||
}%\Cref{prob:bag-pdb-query-eval}
|
||||
(i.e. we think of $\query$ as being parameterized by some parameter $k$ with the size of the database going to infinity relative to $k$). Unless stated otherwise, we implicitly assume the probability distribution $\pd$, and for notational convenience use $\expct\pbox{\cdot}$ instead of $\expct_\pd\pbox{\cdot}$.
|
||||
|
||||
\AHchange{
|
||||
While the parameterized and fine-grained results of this paper apply to general \abbrPDB\xplural, we start by focusing on a restricted form of \abbrTIDB which we refer to as \abbrCTIDB.
|
||||
As alluded to, a \abbrTIDB is a compressed encoding of probabilistic databases where the presence of each individual tuple (out of a total of $\numvar$ input tuples) in a possible world is modeled as an independent probabilistic event.\footnote{
|
||||
This model is exactly the definition of \abbrTIDB{}s \cite{VS17} under set semantics. Note that this is only one possible definition of \abbrTIDB{}s under bag semantics. In \Cref{sec:gener-results-beyond} we discuss alternatives and to what degree our results extend to these alternatives.\label{footnote:set-not-limit}
|
||||
}
|
||||
We will denote $\dbbase=(t_1,\dots,t_\numvar)$. Each of the $2^n$ possible worlds in $\Omega$ can be encoded as a string in $\{0,1\}^\numvar$. In particular, any vector $\vct{W}=\inparen{W_1,\dots,W_n}\in \{0,1\}^\numvar$ represents a world $\db\in\idb$ in the natural way: i.e. $\tup_i\in\db$
|
||||
iff $W_i=1$. Furthermore, $\pd$ is compactly described by a tuple $\vct{p}=\inparen{p_1,\dots,p_n}$, which induces the Bernoulli distribution over vectors $\vct{W}\in\{0,1\}^\numvar$ where each $i\in [n]$, $\probOf(W_i=1)=p_i$.
|
||||
We then define a \abbrCTIDB be a bag \abbrTIDB with the further restriction that each tuple $\tup$ has a multiplicity of at most some constant $c$, formally: $\forall \db \in \pdb, ~\forall \tup \in \db, ~\db\inparen{\tup}\leq c$. That is, any tuple in a \abbrCTIDB has a multiplicity of at most $c$.
|
||||
}
|
||||
|
||||
\noindent\AHchange{
|
||||
For notational convenience we make use of the following definitions.
|
||||
\begin{Definition}[$\dbbase$]
|
||||
Let $\dbbase$ be the relation composed of all possible tuples in $\pdb$, i.e. $\dbbase = \bigcup_{\db \in \idb}\db$.
|
||||
\end{Definition}
|
||||
\begin{Definition}[$\pdassign$]
|
||||
Given a \abbrCTIDB $\pdb = \inparen{\idb, \pd}$ and the set of all $2^\numvar$ worlds $W$, denote the probability distribution induced from $\pd$ over each world $\wElem \in W$ as $\pdassign$.
|
||||
\end{Definition}
|
||||
}
|
||||
\sout{Further, define $\dbbase=\bigcup_{\db\in\idb} \db$.}
|
||||
|
||||
A common encoding of probabilistic databases (e.g., in \cite{IL84a,Imielinski1989IncompleteII,Antova_fastand,DBLP:conf/vldb/AgrawalBSHNSW06} and many others) relies on annotating tuples with lineages, propositional formulas that describe the set of possible worlds that the tuple appears in.
|
||||
%\AR{Removed couple of sentence on lineage formula since we explicitly define $\poly$ now.}
|
||||
|
@ -72,30 +108,46 @@ The bag semantics analog is a provenance/lineage polynomial $\apolyqdt$~\cite{DB
|
|||
|
||||
|
||||
%Analog to set-semantics, computing the expected multiplicity of a tuple reduces to computing the expectation of this polynomial.
|
||||
We drop $\query$, $\dbbase$, and $\tup$ from $\apolyqdt$ when they are clear from the context or irrelevant to the discussion. We now re-state~\Cref
|
||||
{prob:bag-pdb-query-eval} in the language of lineage polynomials:
|
||||
We drop $\query$, $\dbbase$, and $\tup$ from $\apolyqdt$ when they are clear from the context or irrelevant to the discussion. We now
|
||||
\sout{
|
||||
re-state
|
||||
} %~\Cref{prob:bag-pdb-query-eval}
|
||||
\AHchange{
|
||||
specify the problem of computing the expectation of tuple multiplicity
|
||||
}
|
||||
in the language of lineage polynomials:
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{Problem}[Expected Multiplicity of Lineage Polynomials]\label{prob:bag-pdb-poly-expected}
|
||||
Given an $\raPlus$ query $\query$, \abbrBPDB $\pdb$, and result tuple $\tup$, compute the expected
|
||||
multiplicity of the polynomial $\apolyqdt$ (i.e., $\expct_{\vct{W}\sim \pdassign}\pd\pbox{\apolyqdt(\vct{W})}$),
|
||||
Given an $\raPlus$ query $\query$,
|
||||
\AHchange{
|
||||
\abbrCTIDB $\pdb$
|
||||
}
|
||||
and result tuple $\tup$, compute the expected
|
||||
multiplicity of the polynomial $\apolyqdt$ (i.e., $\expct_{\vct{W}\sim \pdassign}\pbox{\apolyqdt(\vct{W})}$).
|
||||
\sout{,
|
||||
where $\pdassign$ is the distribution induced by $\pd$ on the relevant assignments $\vct{W}$ to variables of $\apolyqdt$.
|
||||
}
|
||||
\end{Problem}
|
||||
We note that \Cref{prob:bag-pdb-query-eval} is equivalent to \Cref{prob:bag-pdb-poly-expected} (see \Cref{prop:expection-of-polynom}).
|
||||
We note that %\Cref{prob:bag-pdb-query-eval}
|
||||
\AHchange{
|
||||
computing $\expct_{\randDB\sim\pd}\pbox{\query\inparen{\randDB}\inparen{\tup}}$
|
||||
}
|
||||
is equivalent to \Cref{prob:bag-pdb-poly-expected} (see \Cref{prop:expection-of-polynom}).
|
||||
In this work, we study the complexity of \Cref{prob:bag-pdb-poly-expected} for several models of probabilistic databases and various encodings of such polynomials.
|
||||
|
||||
\mypar{\abbrTIDB\xplural}
|
||||
We initially focus on tuple-independent probabilistic bag-databases\footnote{See \cite{DBLP:series/synthesis/2011Suciu} for a survey of set-\abbrTIDBs; the bag encoding is analogous~\cite{DBLP:conf/pods/GreenKT07}.} (\abbrTIDB\xplural), a compressed encoding of probabilistic databases where the presence of each individual tuple (out of a total of $\numvar$ input tuples) in a possible world is modeled as an independent probabilistic event.\footnote{
|
||||
This model is exactly the definition of \abbrTIDB{}s \cite{VS17} under set semantics. Note that this is only one possible definition of \abbrTIDB{}s under bag semantics. In \Cref{sec:gener-results-beyond} we discuss alternatives and to what degree our results extend to these alternatives.\label{footnote:set-not-limit}
|
||||
% Mirroring the implementation of bag relations in production database systems (e.g., Postgresql, DB2), tuple multiplicities are modeled by retaining copies of each tuple (up to its largest possible multiplicity).
|
||||
% % To make each duplicate tuple unique in a set-\abbrTIDB we can assign unique keys across all duplicates.
|
||||
% When the multiplicity of input tuple is bound by some constant,
|
||||
% the increased input size is negligible.\label{footnote:set-not-limit}
|
||||
}
|
||||
% OK: I tidied things up a touch.
|
||||
%\BG{The footnote is still a bit hard to follow I think, but I do not have a great suggestion on how to improve it.}
|
||||
We will denote $\dbbase=(t_1,\dots,t_\numvar)$. Each of the $2^n$ possible worlds in $\Omega$ can be encoded as a string in $\{0,1\}^\numvar$. In particular, any vector $\vct{W}=\inparen{W_1,\dots,W_n}\in \{0,1\}^\numvar$ represents a world $\db\in\idb$ in the natural way: i.e. $\tup_i\in\db$
|
||||
iff $W_i=1$. Furthermore, $\pd$ is compactly described by a tuple $\vct{p}=\inparen{p_1,\dots,p_n}$, which induces the Bernoulli distribution over vectors $\vct{W}\in\{0,1\}^\numvar$ where each $i\in [n]$, $\probOf(W_i=1)=p_i$.
|
||||
%\mypar{\abbrTIDB\xplural}
|
||||
%We initially focus on tuple-independent probabilistic bag-databases\footnote{See \cite{DBLP:series/synthesis/2011Suciu} for a survey of set-\abbrTIDBs; the bag encoding is analogous~\cite{DBLP:conf/pods/GreenKT07}.} (\abbrTIDB\xplural), a compressed encoding of probabilistic databases where the presence of each individual tuple (out of a total of $\numvar$ input tuples) in a possible world is modeled as an independent probabilistic event.\footnote{
|
||||
% This model is exactly the definition of \abbrTIDB{}s \cite{VS17} under set semantics. Note that this is only one possible definition of \abbrTIDB{}s under bag semantics. In \Cref{sec:gener-results-beyond} we discuss alternatives and to what degree our results extend to these alternatives.\label{footnote:set-not-limit}
|
||||
% % Mirroring the implementation of bag relations in production database systems (e.g., Postgresql, DB2), tuple multiplicities are modeled by retaining copies of each tuple (up to its largest possible multiplicity).
|
||||
% % % To make each duplicate tuple unique in a set-\abbrTIDB we can assign unique keys across all duplicates.
|
||||
% % When the multiplicity of input tuple is bound by some constant,
|
||||
% % the increased input size is negligible.\label{footnote:set-not-limit}
|
||||
%}
|
||||
%% OK: I tidied things up a touch.
|
||||
%%\BG{The footnote is still a bit hard to follow I think, but I do not have a great suggestion on how to improve it.}
|
||||
%We will denote $\dbbase=(t_1,\dots,t_\numvar)$. Each of the $2^n$ possible worlds in $\Omega$ can be encoded as a string in $\{0,1\}^\numvar$. In particular, any vector $\vct{W}=\inparen{W_1,\dots,W_n}\in \{0,1\}^\numvar$ represents a world $\db\in\idb$ in the natural way: i.e. $\tup_i\in\db$
|
||||
%iff $W_i=1$. Furthermore, $\pd$ is compactly described by a tuple $\vct{p}=\inparen{p_1,\dots,p_n}$, which induces the Bernoulli distribution over vectors $\vct{W}\in\{0,1\}^\numvar$ where each $i\in [n]$, $\probOf(W_i=1)=p_i$.
|
||||
|
||||
%Finally for each $\vct{W}\in\{0,1\}^\numvar$, we define $\pdb_{\vct{W}}$
|
||||
%\AH{Where do we use this notation? If we use this somewhere, should we maybe use $\db_{\vct{\randWorld}}$ instead?}
|
||||
|
@ -114,7 +166,7 @@ iff $W_i=1$. Furthermore, $\pd$ is compactly described by a tuple $\vct{p}=\inpa
|
|||
%Green, Karvounarakis, and Tannen established (\cite{DBLP:conf/pods/GreenKT07}; see \Cref{fig:nxDBSemantics}) that for any $\raPlus$ query $\query$ and \abbrTIDB $\pdb$, there exists a polynomial $\poly_\tup\inparen{\vct{X}}$ following the standard addition and multiplication operators over Natural numbers (i.e., $\semN$-semiring semantics), such that $\query\inparen{\pdb_{\vct{W}}}\inparen{\tup} = \poly_\tup\inparen{\vct{W}}$.
|
||||
%This in turn implies that $\expct\pbox{\query\inparen{\pdb}\inparen{\tup}} = \expct_{\vct{W}\sim\pd}\pbox{\poly_\tup\inparen{\vct{\randWorld}}}$.}
|
||||
|
||||
Thanks to linearity of expectation, simple polynomial-time algorithms (for fixed query $Q$) exist for computing the expectation of a lineage polynomial $\apolyqdt$ when $\pdb$ is a \abbrTIDB and $\query$ is an $\raPlus$ query.
|
||||
Thanks to linearity of expectation, simple polynomial-time algorithms (for fixed query $\query$) exist for computing the expectation of a lineage polynomial $\apolyqdt$ when $\pdb$ is a \abbrTIDB and $\query$ is an $\raPlus$ query.
|
||||
% The algo is trivial so I think putting in a 2010 cite seems like bit too much
|
||||
%\cite{kennedy:2010:icde:pip})
|
||||
% for computing exact results for bag-probabilistic count queries $Q$ over \abbrTIDB{}s.
|
||||
|
@ -123,18 +175,23 @@ If our notion of efficiency were simply achieving a polynomial time algorithm, t
|
|||
However, in practice (and in theory), we care about the {\em fine-grained}/parameterized complexity of deterministic query processing (i.e. we care about the exact exponent in our polynomial runtime).
|
||||
|
||||
|
||||
For \abbrBPDB $\pdb$ and query $Q$, let $\timeOf{}^*(Q,\pdb)$ denote the (optimal) runtime complexity of \Cref{prob:bag-pdb-query-eval} (over all result tuples $\tup$). %\AR{Am changing these runtime definitions to include the runtime for all result tuples $\tup$.}
|
||||
Given \abbrCTIDB $\pdb$ and query $\query$, let $\timeOf{}^*(Q,\pdb)$ denote the (optimal) runtime complexity of computing expected multiplicity (over all result tuples $\tup$). %\AR{Am changing these runtime definitions to include the runtime for all result tuples $\tup$.}
|
||||
Denote by $\qruntime{Q, \db}$ the `runtime' of query $Q$ on deterministic database $\db$ under a cost model that is satisfied by a wide range of query processing algorithms, including those based on the recent work on worst-case optimal join algorithms (we make this runtime concrete in \Cref{sec:gen}). %\AR{We need to move the definition of $\qruntime{}$ to \Cref{sec:background} because among others we now need it in our lower bound arguments as well.}).
|
||||
%Denoting by $\dbbase = \bigcup_{\db \in \idb} \db$ the set of all possible tuples in \abbrPDB $\pdb = \inparen{\idb, \pd}$,
|
||||
\sout{
|
||||
We finally have all the pieces to state a formal specification of our problem:
|
||||
}
|
||||
\AHchange{
|
||||
Given the above, the natural question to ask is whether or not it is always the case that $\timeOf{}^*\inparen{\query, \pdb}\leq\qruntime{\query, \dbbase}$?
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{Problem}\label{prob:informal}
|
||||
Given an $\raPlus$ query $\query$ and \abbrTIDB
|
||||
% OK: added motivation
|
||||
%\AR{Changed this to \abbrTIDB: we should motivate why we are restricting ourselves to this special case here.}
|
||||
\abbrBPDB $\pdb$, is it the case that $\timeOf{}^*(Q,\pdb) \le O(\qruntime{Q, \dbbase})$?
|
||||
\end{Problem}
|
||||
%\begin{Problem}\label{prob:informal}
|
||||
%Given an $\raPlus$ query $\query$ and \abbrTIDB
|
||||
%% OK: added motivation
|
||||
%%\AR{Changed this to \abbrTIDB: we should motivate why we are restricting ourselves to this special case here.}
|
||||
%\abbrBPDB $\pdb$, is it the case that $\timeOf{}^*(Q,\pdb) \le O(\qruntime{Q, \dbbase})$?
|
||||
%\end{Problem}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% However the question remains: \emph{can bag-probabilistic databases be as fast as deterministic queries}.
|
||||
%In this paper, we explore the \emph{fine-grained complexity} of bag-probabilistic database query evaluation.
|
||||
|
@ -143,11 +200,14 @@ Given an $\raPlus$ query $\query$ and \abbrTIDB
|
|||
%The problem of deterministic query evaluation is known to be \sharpwonehard\footnote{A problem is in \sharpwone if the runtime of the most efficient known algorithm to solve it is lower bounded by some function $f$ of a parameter $k$, where the growth in runtime is polynomially dependent on $f(k)$, i.e. $\Omega\inparen{\numvar^{f(k)}}$.} in data complexity for general $\query$. For example, the counting $k$-cliques query problem (where the parameter $k$ is the size of the clique) is \sharpwonehard since (under standard complexity assumptions) it cannot run in time faster than $n^{f(k)}$ for some strictly increasing $f(k)$.
|
||||
|
||||
%In this paper, we begin to explore whether the problem of bag-probabilistic query evaluation (which we relate to deterministic query processing more precisely below) falls into this same complexity class.
|
||||
We note that the above is a special case of \Cref{prob:bag-pdb-query-eval} since we are asking whether the query evaluation over a \abbrBPDB is {\em linear} in the runtime of deterministic query processing.
|
||||
We stress that this question is very well motivated, even for one of the simplest models of probabilistic databases (i.e., \abbrTIDBs): An answer in the affirmative for~\Cref{prob:informal} indicates that bag-probabilistic databases can be competitive with deterministic databases, opening the door for deployment in practice.
|
||||
\AHchange{
|
||||
This question
|
||||
}
|
||||
is a special case of computing the expected multiplicity of $\tup$ since we are asking whether the query evaluation over a \abbrCTIDB is {\em linear} in the runtime of deterministic query processing.
|
||||
We stress that this question is very well motivated, even for \abbrTIDBs: An answer \AHchange{to the above question} in the affirmative \AH{not sure that this is the best way of putting it} indicates that bag-probabilistic databases can be competitive with deterministic databases, opening the door for deployment in practice.
|
||||
|
||||
\mypar{Our lower bound results} Unfortunately, we prove that this is not the case. In fact in Table~\ref{tab:lbs} %\AR{Cref was not formatting Table correct so added Table in explicitly.}
|
||||
we show that depending on what hardness result/conjecture we assume, we get various emphatic versions of {\em no} as an answer to \Cref{prob:informal}.
|
||||
we show that depending on what hardness result/conjecture we assume, we get various emphatic versions of {\em no} as an answer to \AHchange{the above question}.%\Cref{prob:informal}.
|
||||
\begin{table}
|
||||
\begin{tabular}{|p{0.43\textwidth}|p{0.12\textwidth}|p{0.35\textwidth}|}
|
||||
\hline
|
||||
|
@ -163,39 +223,42 @@ $\Omega\inparen{\inparen{\qruntime{\query, \dbbase}}^{c_0\cdot k}}$ for {\em som
|
|||
\caption{Our lower bounds for a specific hard query $Q$ parameterized by $k$. The $\pdb$ is over the same (family of) $\dbbase$ and those with `Multiple' in the second column need the algorithm to be able to handle multiple $\pd$ (for a given $\dbbase$). The last column states the hardness assumptions that imply the lower bounds in the first column ($\eps_o,C_0,c_0$ are constants that are independent of $k$).}
|
||||
\label{tab:lbs}
|
||||
\end{table}
|
||||
Note that the lower bound in the first row by itself is enough to refute \Cref{prob:informal}.
|
||||
To make some sense of the other lower bounds in Table~\ref{tab:lbs}, we note that it is not too hard to show that $\timeOf{}^*(Q,\pdb) \le O\inparen{\inparen{\qruntime{Q, \dbbase}}^k}$, where $k$ is the largest degree of the polynomial $\apolyqdt$ over all result tuples $\tup$ (and the parameter that defines our family of hard queries). What our lower bound in the third row says is that one cannot get more than a polynomial improvement over essentially the trivial algorithm for \Cref{prob:informal}.
|
||||
Note that the lower bound in the first row by itself is enough to refute \AHchange{the above question}. %\Cref{prob:informal}.
|
||||
To make some sense of the other lower bounds in Table~\ref{tab:lbs}, we note that it is not too hard to show that $\timeOf{}^*(Q,\pdb) \le O\inparen{\inparen{\qruntime{Q, \dbbase}}^k}$, where $k$ is the largest degree of the polynomial $\apolyqdt$ over all result tuples $\tup$ (and the parameter that defines our family of hard queries). What our lower bound in the third row says is that one cannot get more than a polynomial improvement over essentially the trivial algorithm for \Cref{prob:informal}.\AH{Not sure what is meant by `the trivial algorithm for (what was originally called) Problem 1.4'}
|
||||
%\footnote{
|
||||
% We note similar hardness results for determinsitic query processing that apply lower bounds in terms of $\abs{\dbbase}$. Our lower bounds are in terms of $\qruntime{Q,\dbbase}$, which in general can be super-linear in $\abs{\dbbase}$.
|
||||
%}
|
||||
However, this result assumes a hardness conjecture that is not as well studied as those in the first two rows of the table (see \Cref{sec:hard} for more discussion on the hardness assumptions). Further, we note that existing results already imply the claimed lower bounds if we were to replace the $\qruntime{\query, \dbbase}$ by just $\abs{\dbbase}$ (indeed these results follow from known lower bound for deterministic query processing). Our contribution is to then identify a family of hard query where deterministic query procedding is `easy' but computing the expected multiplicities is hard. To put these hardness results in context, we will next take a short detour to review the existing hardness results for \abbrPDB\xplural under set semantics.
|
||||
However, this result assumes a hardness conjecture that is not as well studied as those in the first two rows of the table (see \Cref{sec:hard} for more discussion on the hardness assumptions). Further, we note that existing results already imply the claimed lower bounds if we were to replace the $\qruntime{\query, \dbbase}$ by just $\abs{\dbbase}$ (indeed these results follow from known lower bound for deterministic query processing). Our contribution is to then identify a family of hard query where deterministic query procedding is `easy' but computing the expected multiplicities is hard. To put these hardness results in context, we will next take a short detour
|
||||
\AH{Is this detour still necessary?}
|
||||
to review the existing hardness results for \abbrPDB\xplural under set semantics.
|
||||
|
||||
|
||||
% Atri: Converting sub-section to para since it saves space
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\mypar{Relationship to Set-Probabilistic Query Evaluation}
|
||||
%\mypar{Relationship to Set-Probabilistic Query Evaluation}
|
||||
%%
|
||||
%\Cref{prob:bag-pdb-query-eval} has been extensively studied in the context of \emph{set}-\abbrPDB\xplural. % , where each output tuple appears at most once.
|
||||
%As mentioned before, under set semantics, $\apolyqdt\inparen{\vct{X}}$ is a propositional formula
|
||||
%%Atri: If we get a reviewer who does not know what a propositional formula is then we are in trouble-- I did move some of the footnote text to the main part though
|
||||
%%\footnote{To be precise, $\poly_\tup\inparen{\vct{X}}$ is a propositional formula composed of boolean variables and the logical disjunction and conjunction connectives. Evaluating such a formula follows the standard semantics of the said operators on boolean variables ($\semB$-semiring semantics).}
|
||||
%% whose evaluation follows the standard Boolean semi-ring semantics (i.e. addition is logical OR and multiplication is logical AND), denoting the presence or absence of $\tup$.
|
||||
%and $\expct\pbox{\apolyqdt\inparen{\vct{\randWorld}}}$ is the marginal probability of $\tup$ appearing in the output. We note that the answer to \Cref{prob:informal} for set-sematics is also no. Dalvi and Suicu \cite{10.1145/1265530.1265571} showed that the (data) complexity of the query evaluation problem over set-\abbrTIDB\xplural is \sharpphard
|
||||
%%OK: The former ---v
|
||||
%%\AR{This is result for TIDBs for general set-PDBs?}
|
||||
%%Atri: Again if we have a reviewer who does not know what \sharpp is then we are in trouble
|
||||
%%\footnote{\sharpp is the counting version for problems residing in the NP complexity class.}
|
||||
%in general.
|
||||
%%, and proved that a dichotomy exists for this problem for the class of union of conjunctive queries (with the same expressive power as $\raPlus$), where the runtime of $\query(\pdb)$ is either polynomial or \sharpphard in data complexity. %for any polynomial-time deterministic query.
|
||||
%%Thus, for the hard queries, the answer to~\Cref{prob:informal} is {\em no} for set-PDBs (under the standard complexity assumption that $\sharpp\ne \polytime$).
|
||||
%We note that the \sharpphard lower bound is much stronger than what one can hope for in \abbrBPDB since, as mentioned earlier, for a fixed query one can always solve \Cref{prob:bag-pdb-query-eval} in polynomial time (for \abbrTIDB).
|
||||
%
|
||||
\Cref{prob:bag-pdb-query-eval} has been extensively studied in the context of \emph{set}-\abbrPDB\xplural. % , where each output tuple appears at most once.
|
||||
As mentioned before, under set semantics, $\apolyqdt\inparen{\vct{X}}$ is a propositional formula
|
||||
%Atri: If we get a reviewer who does not know what a propositional formula is then we are in trouble-- I did move some of the footnote text to the main part though
|
||||
%\footnote{To be precise, $\poly_\tup\inparen{\vct{X}}$ is a propositional formula composed of boolean variables and the logical disjunction and conjunction connectives. Evaluating such a formula follows the standard semantics of the said operators on boolean variables ($\semB$-semiring semantics).}
|
||||
% whose evaluation follows the standard Boolean semi-ring semantics (i.e. addition is logical OR and multiplication is logical AND), denoting the presence or absence of $\tup$.
|
||||
and $\expct\pbox{\apolyqdt\inparen{\vct{\randWorld}}}$ is the marginal probability of $\tup$ appearing in the output. We note that the answer to \Cref{prob:informal} for set-sematics is also no. Dalvi and Suicu \cite{10.1145/1265530.1265571} showed that the (data) complexity of the query evaluation problem over set-\abbrTIDB\xplural is \sharpphard
|
||||
%OK: The former ---v
|
||||
%\AR{This is result for TIDBs for general set-PDBs?}
|
||||
%Atri: Again if we have a reviewer who does not know what \sharpp is then we are in trouble
|
||||
%\footnote{\sharpp is the counting version for problems residing in the NP complexity class.}
|
||||
in general.
|
||||
%, and proved that a dichotomy exists for this problem for the class of union of conjunctive queries (with the same expressive power as $\raPlus$), where the runtime of $\query(\pdb)$ is either polynomial or \sharpphard in data complexity. %for any polynomial-time deterministic query.
|
||||
%Thus, for the hard queries, the answer to~\Cref{prob:informal} is {\em no} for set-PDBs (under the standard complexity assumption that $\sharpp\ne \polytime$).
|
||||
We note that the \sharpphard lower bound is much stronger than what one can hope for in \abbrBPDB since, as mentioned earlier, for a fixed query one can always solve \Cref{prob:bag-pdb-query-eval} in polynomial time (for \abbrTIDB).
|
||||
|
||||
%Concretely, easy queries in this dichotomy can be answered through so-called \emph{extensional} query evaluation, where probability computation is inlined into normal deterministic query processing.
|
||||
%This is possible, because queries on the easy side of the dichotomy can always be rewritten into a form that guarantees that, for every relational operator in the query, the presence of every tuple in the operator's output is governed by either a conjunction or disjunction of \emph{independent} events.
|
||||
%Atri: Removed the para above since the above does not seem to add much to the current intro flow.
|
||||
|
||||
%Such a guarantee is not possible
|
||||
For queries on set-PDBs, the best known algorithmic approach is the \emph{intensional} query evaluation~\cite{DBLP:series/synthesis/2011Suciu}, where one explicitly computes the lineage formula and then its expectation --- we will come back this framework shortly. % as in \Cref{prob:bag-pdb-poly-expected}. % , a two step process that first computes the lineage of the query result --- a representation of $\Phi_\tup$ --- which it then uses to compute the desired probability.
|
||||
%%Concretely, easy queries in this dichotomy can be answered through so-called \emph{extensional} query evaluation, where probability computation is inlined into normal deterministic query processing.
|
||||
%%This is possible, because queries on the easy side of the dichotomy can always be rewritten into a form that guarantees that, for every relational operator in the query, the presence of every tuple in the operator's output is governed by either a conjunction or disjunction of \emph{independent} events.
|
||||
%%Atri: Removed the para above since the above does not seem to add much to the current intro flow.
|
||||
%
|
||||
%%Such a guarantee is not possible
|
||||
%\AH{Do we need the two step model?}
|
||||
%For queries on set-PDBs, the best known algorithmic approach is the \emph{intensional} query evaluation~\cite{DBLP:series/synthesis/2011Suciu}, where one explicitly computes the lineage formula and then its expectation --- we will come back this framework shortly. % as in \Cref{prob:bag-pdb-poly-expected}. % , a two step process that first computes the lineage of the query result --- a representation of $\Phi_\tup$ --- which it then uses to compute the desired probability.
|
||||
%The complexity of this approach is, in general, dominated by computing the expectation $\expct\pbox{\apolyqdt(\vct{\randWorld})}$, a problem known to be \sharpphard~\cite{DS07}.
|
||||
|
||||
|
||||
|
@ -229,15 +292,19 @@ We adopt the two-step intensional model of query evaluation used in set-\abbrPDB
|
|||
(i) \termStepOne (\abbrStepOne): Given input $\dbbase$ and $\query$, output every tuple $\tup$ that possibly satisfies $\query$, annotated with its lineage polynomial ($\poly(\vct{X})=\apolyqdt\inparen{\vct{X}}$);
|
||||
(ii) \termStepTwo (\abbrStepTwo): Given $\poly(\vct{X})$ for each tuple, compute $\expct\pbox{\poly(\vct{\randWorld})}$.
|
||||
Let $\timeOf{\abbrStepOne}(Q,\dbbase,\circuit)$ denote the runtime of \abbrStepOne when it outputs $\circuit$ (which is a representation of $\poly$ as an arithmetic circuit --- more on this representation shortly).
|
||||
Denote by $\timeOf{\abbrStepTwo}(\circuit)$ (recall $\circuit$ is the output of \abbrStepOne) the runtime of \abbrStepTwo, allowing us to formally define our objective:
|
||||
Denote by $\timeOf{\abbrStepTwo}(\circuit)$ (recall $\circuit$ is the output of \abbrStepOne) the runtime of \abbrStepTwo, allowing us to formally define our objective:\AH{What if there are more efficient representations than circuits?}
|
||||
\AHchange{
|
||||
Our next question is whether or not there exists a $\inparen{1\pm\epsilon}$-approximation algorithm that is linear to the deterministic query? If so, we have shown that approximation of bag \abbrPDB\xplural is comparable to deterministic query processing.
|
||||
}
|
||||
|
||||
|
||||
\begin{Problem}\label{prob:big-o-joint-steps}
|
||||
Given \abbrBPDB $\pdb$, $\raPlus$ query $\query$,
|
||||
is there a $(1\pm\epsilon)$-approximation of $\expct_{\db\sim\pd}\pbox{\query\inparen{\db}\inparen{\tup}}$ for all result tuples $\tup$ where
|
||||
$\exists \circuit : \timeOf{\abbrStepOne}(Q,\dbbase,\circuit) + \timeOf{\abbrStepTwo}(\circuit) \le O_\epsilon(\qruntime{Q, \dbbase})$?
|
||||
\end{Problem}
|
||||
Note that if the answer to the above problem is yes, then we have shown that the answer to \Cref{prob:informal} is yes (when we are interested in approximating the expected multiplicities).
|
||||
%\sout{
|
||||
%\begin{Problem}\label{prob:big-o-joint-steps}
|
||||
%Given \abbrBPDB $\pdb$, $\raPlus$ query $\query$,
|
||||
%is there a $(1\pm\epsilon)$-approximation of $\expct_{\db\sim\pd}\pbox{\query\inparen{\db}\inparen{\tup}}$ for all result tuples $\tup$ where
|
||||
%$\exists \circuit : \timeOf{\abbrStepOne}(Q,\dbbase,\circuit) + \timeOf{\abbrStepTwo}(\circuit) \le O_\epsilon(\qruntime{Q, \dbbase})$?
|
||||
%\end{Problem}
|
||||
%Note that if the answer to the above problem is yes, then we have shown that the answer to \Cref{prob:informal} is yes (when we are interested in approximating the expected multiplicities).
|
||||
%}
|
||||
|
||||
We show in \Cref{sec:circuit-depth} %{sec:gen}\AR{Refs needs to be updated}
|
||||
%\OK{confirm this ref}
|
||||
|
@ -277,7 +344,8 @@ We can represent the factorized lineage polynomial by its correspoding arithmeti
|
|||
%\BG{This sentence didn't parse for me. What do we mean by representing a polynomial by a size?}
|
||||
%Atri: fixed
|
||||
As we also show in \Cref{sec:circuit-runtime}, this size is also bounded by $\qruntime{Q, \dbbase}$ (i.e., $|\circuit^*| \le O(\qruntime{Q, \dbbase})$).
|
||||
Thus, \Cref{prob:big-o-joint-steps} can be reframed as:
|
||||
Thus, \AHchange{the question of approximation} %\Cref{prob:big-o-joint-steps}
|
||||
can be reframed as:
|
||||
|
||||
%Atri: Replaced the text below by the above. I know I had talked about $|\circuit|^k$ but I think the stuff below breaks the flow a bit
|
||||
%Re-stating our earlier observation, given a circuit \circuit, if \circuit is in \abbrSMB (i.e. every sink to source path has a prefix of addition nodes and the rest of the internal nodes are multiplication nodes), then we have that $\timeOf{\abbrStepTwo}(Q,\pdb)$ is indeed $\bigO{\timeOf{\abbrStepOne}(Q,\pdb)}$. We note that \abbrSMB representations are produced by queries with a projection operation on top of a join operation.
|
||||
|
@ -427,7 +495,10 @@ Our results show that bag-\abbrPDB\xplural can be competitive, laying the ground
|
|||
%and also discuss extensions from computing expectations of polynomials to the expected result multiplicity problem
|
||||
%\AH{I don't think I understand what the sentence (about extensions) is saying.}
|
||||
% (\Cref{def:the-expected-multipl}).
|
||||
Finally, we discuss related work in \Cref{sec:related-work} and conclude in \Cref{sec:concl-future-work}. All proofs are in the appendix. Our responses to ICDT first cycle reviewer comments are in \Cref{sec:rebuttal}. % the appendix.\AR{Would be good to have a specific app ref to rebuttal}
|
||||
Finally, we discuss related work in \Cref{sec:related-work} and conclude in \Cref{sec:concl-future-work}. All proofs are in the appendix.
|
||||
|
||||
%No reviewer comments in arxiv submission.
|
||||
%Our responses to ICDT first cycle reviewer comments are in \Cref{sec:rebuttal}. % the appendix.\AR{Would be good to have a specific app ref to rebuttal}
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
|
|
|
@ -10,13 +10,14 @@
|
|||
% COMMENTS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%editing/highlighting sections
|
||||
\newcommand{\AHchange}[1]{\textcolor{blue}{#1}}
|
||||
\newcommand{\draft}{0} %%% Change this to non-zero to remove comments
|
||||
\ifnum\draft=0
|
||||
\newcommand{\currentWork}[1]{\textcolor{red}{#1}}
|
||||
\newcommand{\BG}[1]{\todo{\textbf{Boris says:$\,$} #1}}
|
||||
\newcommand{\SF}[1]{\todo{\textbf{Su says:$\,$} #1}}
|
||||
\newcommand{\OK}[1]{\todo[color=gray]{\textbf{Oliver says:$\,$} #1}}
|
||||
\newcommand{\AH}[1]{\todo[backgroundcolor=cyan]{\textbf{Aaron says:$\,$} #1}}
|
||||
\newcommand{\AH}[1]{\todo[backgroundcolor=cyan, caption={}]{\textbf{Aaron says:$\,$} #1}}
|
||||
\newcommand{\AR}[1]{\todo[color=green]{\textbf{Atri says:$\,$} #1}}
|
||||
\else
|
||||
\newcommand{\BG}[1]{}
|
||||
|
@ -138,6 +139,7 @@
|
|||
\newcommand{\abbrPDB}{\textnormal{PDB}\xspace}
|
||||
\newcommand{\abbrBPDB}{\textnormal{bag-PDB}\xspace}
|
||||
\newcommand{\abbrTIDB}{\textnormal{TIDB}\xspace}%replace \ti with this
|
||||
\newcommand{\abbrCTIDB}{\textnormal{C-TIDB}\xspace}
|
||||
\newcommand{\abbrTIDBs}{\textnormal{TIDBs}\xspace}%replace \ti with this
|
||||
\newcommand{\abbrBIDB}{\textnormal{BIDB}\xspace}
|
||||
\newcommand{\ti}{TIDB\xspace}
|
||||
|
|
2
main.tex
2
main.tex
|
@ -29,7 +29,7 @@
|
|||
\usepackage[normalem]{ulem}
|
||||
\usepackage{subcaption}
|
||||
\usepackage{booktabs}
|
||||
\usepackage[disable]{todonotes}
|
||||
\usepackage{todonotes}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{listings}
|
||||
%%%%%%%%%% SQL + proveannce listing settings
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
%!TEX root=./main.tex
|
||||
\section{Hardness of Exact Computation}
|
||||
\label{sec:hard}
|
||||
|
||||
\AH{If anything need be changed in~\Cref{sec:hard}, it would only be in the following (opening) paragraph.}
|
||||
In this section, we will prove the hardness results claimed in Table~\ref{tab:lbs} for a specific (family) of hard instance $(\query,\pdb)$ for \Cref{prob:bag-pdb-poly-expected} where $\pdb$ is a \abbrTIDB.
|
||||
Note that this implies hardness for \bis and general \abbrBPDB, showing \Cref{prob:bag-pdb-poly-expected} cannot be done in $O\inparen{\qruntime{\query,\dbbase}}$ runtime.
|
||||
%(and hence the equivalent \Cref{prob:bag-pdb-query-eval})
|
||||
|
|
|
@ -59,11 +59,11 @@ Consider $\poly(X, Y) = (X + Y)(X + Y)$ where $X$ and $Y$ are from different blo
|
|||
Let $\pdb$ be a \abbrBIDB over $\numvar$ input tuples such that the probability distribution $\pdassign$ over $\{0,1\}^\numvar$ (the all worlds set) is induced by the probability vector $\probAllTup = (\prob_1, \ldots, \prob_\numvar)$. As in \Cref{lem:tidb-reduce-poly} for \abbrTIDB, any \abbrBIDB-lineage polynomial $\poly(\vct{X})$ based on $\pdb$ and query $\query$ we have:
|
||||
% The expectation over possible worlds in $\poly(\vct{X})$ is equal to $\rpoly(\prob_1,\ldots, \prob_\numvar)$.
|
||||
\begin{equation*}
|
||||
\expct_{\vct{W}\sim \pd}\pbox{\poly(\vct{W})} = \rpoly(\probAllTup).
|
||||
\expct_{\vct{W}\sim \pdassign}\pbox{\poly(\vct{W})} = \rpoly(\probAllTup).
|
||||
\end{equation*}
|
||||
\end{Lemma}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
Let $\abs{\poly}$ be the number of operators in $\phi$.
|
||||
Let $\abs{\poly}$ be the number of operators in $\poly$.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{Corollary}\label{cor:expct-sop}
|
||||
|
|
|
@ -15,6 +15,7 @@ A circuit $\circuit$ is a Directed Acyclic Graph (DAG) whose source gates (in de
|
|||
%
|
||||
Each gate has the following members: \type, \vpartial, \vari{input}, \degval, \vari{Lweight}, and \vari{Rweight}, where \type is the value type $\{\circplus, \circmult, \var, \tnum\}$ and \vari{input} the list of inputs. Source gates have an extra member \val storing the value. $\circuit_\linput$ ($\circuit_\rinput$) denotes the left (right) input of \circuit.
|
||||
\end{Definition}
|
||||
\AH{Does the following matter, i.e., does it point anything out special for our research?}
|
||||
When the underlying DAG is a tree (with edges pointing towards the root), the structure is an expression tree \etree. In such a case, the root of \etree is analogous to the sink of \circuit. The fields \vari{partial}, \degval, \vari{Lweight}, and \vari{Rweight} are used in the proofs of \Cref{sec:proofs-approx-alg}.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -83,9 +84,10 @@ The circuit of \Cref{fig:circuit} is an element of $\circuitset{2X^2+3XY-2Y^2}$.
|
|||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\medskip
|
||||
|
||||
\AH{We do not have a formal definition (other than the short sentence in the intro) stating or reminding the reader of what $\dbbase$ is.}
|
||||
\noindent We are now ready to formally state the final version of \Cref{prob:intro-stmt}.%our \textbf{main problem}.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\AH{It might be useful/instructive to formally define $\pdassign$.}
|
||||
\begin{Definition}[The Expected Result Multiplicity Problem]\label{def:the-expected-multipl}
|
||||
Let $\pdb$ be an arbitrary \abbrBIDB-PDB and $\vct{X}$ be the set of variables annotating tuples in $\dbbase$. Fix an $\raPlus$ query $\query$ and a result tuple $\tup$.
|
||||
The \expectProblem is defined as follows:\\[-7mm]
|
||||
|
|
|
@ -25,6 +25,7 @@ We focus on the problem of computing $\expct_\pdassign\pbox{\apolyqdt\inparen{\v
|
|||
|
||||
\subsubsection{\tis and \bis}
|
||||
\label{subsec:tidbs-and-bidbs}
|
||||
\AH{This seems necessary for background purposes.}
|
||||
In this paper, we focus on two popular forms of \abbrPDB\xplural: Block-Independent (\bi) and Tuple-Independent (\ti) \abbrPDB\xplural.
|
||||
%
|
||||
A \bi $\pdb$ is a \abbrPDB with the constraint that
|
||||
|
|
Loading…
Reference in New Issue