diff --git a/Publications/PAZ_FAccT/ukuhl_PAZ_FAccT22_submitted.pdf b/Publication/PAZ_arXiv_ukuhl.pdf similarity index 84% rename from Publications/PAZ_FAccT/ukuhl_PAZ_FAccT22_submitted.pdf rename to Publication/PAZ_arXiv_ukuhl.pdf index d6d2328..5623b6d 100644 Binary files a/Publications/PAZ_FAccT/ukuhl_PAZ_FAccT22_submitted.pdf and b/Publication/PAZ_arXiv_ukuhl.pdf differ diff --git a/Publication/citation.bib b/Publication/citation.bib new file mode 100644 index 0000000..5bba152 --- /dev/null +++ b/Publication/citation.bib @@ -0,0 +1,7 @@ +@inproceedings{kuhl2022keep, + title={Keep Your Friends Close and Your Counterfactuals Closer: Improved Learning From Closest Rather Than Plausible Counterfactual Explanations in an Abstract Setting}, + author={Kuhl, Ulrike and Artelt, Andr{\'e} and Hammer, Barbara}, + booktitle={2022 ACM Conference on Fairness, Accountability, and Transparency (FAccT '22), June 21--24, 2022, Seoul, Republic of Korea}, + doi = {10.1145/3531146.3534630}, + year={2022} +} \ No newline at end of file diff --git a/Publications/PAZ_FAccT/AlienZooPAZ_paper.bib b/Publications/PAZ_FAccT/AlienZooPAZ_paper.bib deleted file mode 100644 index e3a35f6..0000000 --- a/Publications/PAZ_FAccT/AlienZooPAZ_paper.bib +++ /dev/null @@ -1,1056 +0,0 @@ - -@article{smyth_few_2021, - title = {A {Few} {Good} {Counterfactuals}: {Generating} {Interpretable}, {Plausible} and {Diverse} {Counterfactual} {Explanations}}, - shorttitle = {A {Few} {Good} {Counterfactuals}}, - url = {http://arxiv.org/abs/2101.09056}, - abstract = {Counterfactual explanations provide a potentially significant solution to the Explainable AI (XAI) problem, but good, native counterfactuals have been shown to rarely occur in most datasets. Hence, the most popular methods generate synthetic counterfactuals using blind perturbation. However, such methods have several shortcomings: the resulting counterfactuals (i) may not be valid data-points (they often use features that do not naturally occur), (ii) may lack the sparsity of good counterfactuals (if they modify too many features), and (iii) may lack diversity (if the generated counterfactuals are minimal variants of one another). We describe a method designed to overcome these problems, one that adapts native counterfactuals in the original dataset, to generate sparse, diverse synthetic counterfactuals from naturally occurring features. A series of experiments are reported that systematically explore parametric variations of this novel method on common datasets to establish the conditions for optimal performance.}, - urldate = {2021-11-30}, - journal = {arXiv:2101.09056 [cs]}, - author = {Smyth, Barry and Keane, Mark T.}, - month = jan, - year = {2021}, - note = {arXiv: 2101.09056}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/QLAC5A29/Smyth und Keane - 2021 - A Few Good Counterfactuals Generating Interpretab.pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/5RZB3Z9C/2101.html:text/html}, -} - -@article{pedregosa_scikit-learn_2011, - title = {Scikit-learn: {Machine} {Learning} in {Python}}, - volume = {12}, - journal = {Journal of Machine Learning Research}, - author = {Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V. and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P. and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.}, - year = {2011}, - pages = {2825--2830}, -} - -@misc{artelt_ceml_2019, - title = {{CEML}: {Counterfactuals} for {Explaining} {Machine} {Learning} models - {A} {Python} toolbox}, - url = {https://www.github.com/andreArtelt/ceml}, - publisher = {GitHub}, - author = {Artelt, Andr{\'e}}, - year = {2019}, - note = {Publication Title: GitHub repository}, -} - -@article{wachter_counterfactual_2017, - title = {Counterfactual explanations without opening the black box: {Automated} decisions and the {GDPR}}, - volume = {31}, - journal = {Harv. JL \& Tech.}, - author = {Wachter, Sandra and Mittelstadt, Brent and Russell, Chris}, - year = {2017}, - note = {Publisher: HeinOnline}, - pages = {841}, -} - -@article{poyiadzi_face_2019, - title = {{FACE}: {Feasible} and {Actionable} {Counterfactual} {Explanations}}, - volume = {abs/1909.09369}, - url = {http://arxiv.org/abs/1909.09369}, - journal = {CoRR}, - author = {Poyiadzi, Rafael and Sokol, Kacper and Santos-Rodriguez, Ra{\'u}l and Bie, Tijl De and Flach, Peter A.}, - year = {2019}, - note = {\_eprint: 1909.09369}, -} - -@article{looveren_interpretable_2019, - title = {Interpretable {Counterfactual} {Explanations} {Guided} by {Prototypes}}, - volume = {abs/1907.02584}, - url = {http://arxiv.org/abs/1907.02584}, - journal = {CoRR}, - author = {Looveren, Arnaud Van and Klaise, Janis}, - year = {2019}, - note = {\_eprint: 1907.02584}, -} - -@article{artelt_computation_2019, - title = {On the computation of counterfactual explanations - {A} survey}, - volume = {abs/1911.07749}, - url = {http://arxiv.org/abs/1911.07749}, - journal = {CoRR}, - author = {Artelt, Andr{\'e} and Hammer, Barbara}, - year = {2019}, - note = {\_eprint: 1911.07749}, -} - -@article{karimi_survey_2020, - title = {A survey of algorithmic recourse: definitions, formulations, solutions, and prospects}, - journal = {arXiv preprint arXiv:2010.04050}, - author = {Karimi, Amir-Hossein and Barthe, Gilles and Sch{\"o}lkopf, Bernhard and Valera, Isabel}, - year = {2020}, -} - -@article{laugel_issues_2019, - title = {Issues with post-hoc counterfactual explanations: a discussion}, - volume = {abs/1906.04774}, - url = {http://arxiv.org/abs/1906.04774}, - journal = {CoRR}, - author = {Laugel, Thibault and Lesot, Marie-Jeanne and Marsala, Christophe and Detyniecki, Marcin}, - year = {2019}, - note = {\_eprint: 1906.04774}, -} - -@article{byrne_counterfactual_2016, - title = {Counterfactual {Thought}}, - volume = {67}, - issn = {0066-4308, 1545-2085}, - url = {http://www.annualreviews.org/doi/10.1146/annurev-psych-122414-033249}, - doi = {10.1146/annurev-psych-122414-033249}, - abstract = {People spontaneously create counterfactual alternatives to reality when they think {\textquotedblleft}if only{\textquotedblright} or {\textquotedblleft}what if{\textquotedblright} and imagine how the past could have been different. The mind computes counterfactuals for many reasons. Counterfactuals explain the past and prepare for the future, they implicate various relations including causal ones, and they affect intentions and decisions. They modulate emotions such as regret and relief, and they support moral judgments such as blame. The loss of the ability to imagine alternatives as a result of injuries to the prefrontal cortex is devastating. The basic cognitive processes that compute counterfactuals mutate aspects of the mental representation of reality to create an imagined alternative, and they compare alternative representations. The ability to create counterfactuals develops throughout childhood and contributes to reasoning about other people{\textquoteright}s beliefs, including their false beliefs. Knowledge affects the plausibility of a counterfactual through the semantic and pragmatic modulation of the mental representation of alternative possibilities.}, - language = {en}, - number = {1}, - urldate = {2019-08-02}, - journal = {Annual Review of Psychology}, - author = {Byrne, Ruth M.J.}, - month = jan, - year = {2016}, - pages = {135--157}, - file = {Byrne - 2016 - Counterfactual Thought.pdf:/Users/ukuhl/Zotero/storage/4Z9UMBH7/Byrne - 2016 - Counterfactual Thought.pdf:application/pdf}, -} - -@article{doshi-velez_towards_2017, - title = {Towards {A} {Rigorous} {Science} of {Interpretable} {Machine} {Learning}}, - url = {http://arxiv.org/abs/1702.08608}, - abstract = {As machine learning systems become ubiquitous, there has been a surge of interest in interpretable machine learning: systems that provide explanation for their outputs. These explanations are often used to qualitatively assess other criteria such as safety or non-discrimination. However, despite the interest in interpretability, there is very little consensus on what interpretable machine learning is and how it should be measured. In this position paper, we first define interpretability and describe when interpretability is needed (and when it is not). Next, we suggest a taxonomy for rigorous evaluation and expose open questions towards a more rigorous science of interpretable machine learning.}, - language = {en}, - journal = {arXiv:1702.08608}, - author = {Doshi-Velez, Finale and Kim, Been}, - month = feb, - year = {2017}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Machine Learning, Statistics - Machine Learning}, - file = {Doshi-Velez and Kim - 2017 - Towards A Rigorous Science of Interpretable Machin.pdf:/Users/ukuhl/Zotero/storage/CLGYTP36/Doshi-Velez and Kim - 2017 - Towards A Rigorous Science of Interpretable Machin.pdf:application/pdf}, -} - -@inproceedings{stepin_paving_2019, - address = {Tokyo, Japan}, - title = {Paving the way towards counterfactual generation in argumentative conversational agents}, - url = {https://www.aclweb.org/anthology/W19-8405}, - doi = {10.18653/v1/W19-8405}, - abstract = {Counterfactual explanations present an effective way to interpret predictions of black-box machine learning algorithms. Whereas there is a significant body of research on counterfactual reasoning in philosophy and theoretical computer science, little attention has been paid to counterfactuals in regard to their explanatory capacity. In this paper, we review methods of argumentation theory and natural language generation that counterfactual explanation generation could benefit from most and discuss prospective directions for further research on counterfactual generation in explainable Artificial Intelligence.}, - language = {en}, - urldate = {2020-01-21}, - booktitle = {Proceedings of the 1st {Workshop} on {Interactive} {Natural} {Language} {Technology} for {Explainable} {Artificial} {Intelligence} ({NL4XAI} 2019)}, - publisher = {Association for Computational Linguistics}, - author = {Stepin, Ilia and Catala, Alejandro and Pereira-Fari{\~n}a, Martin and Alonso, Jose M.}, - year = {2019}, - pages = {20--25}, - file = {Stepin et al. - 2019 - Paving the way towards counterfactual generation i.pdf:/Users/ukuhl/Zotero/storage/PQKQZ2W7/Stepin et al. - 2019 - Paving the way towards counterfactual generation i.pdf:application/pdf}, -} - -@article{adadi_peeking_2018, - title = {Peeking {Inside} the {Black}-{Box}: {A} {Survey} on {Explainable} {Artificial} {Intelligence} ({XAI})}, - volume = {6}, - issn = {2169-3536}, - shorttitle = {Peeking {Inside} the {Black}-{Box}}, - doi = {10.1109/ACCESS.2018.2870052}, - abstract = {At the dawn of the fourth industrial revolution, we are witnessing a fast and widespread adoption of artificial intelligence (AI) in our daily life, which contributes to accelerating the shift towards a more algorithmic society. However, even with such unprecedented advancements, a key impediment to the use of AI-based systems is that they often lack transparency. Indeed, the black-box nature of these systems allows powerful predictions, but it cannot be directly explained. This issue has triggered a new debate on explainable AI (XAI). A research field holds substantial promise for improving trust and transparency of AI-based systems. It is recognized as the sine qua non for AI to continue making steady progress without disruption. This survey provides an entry point for interested researchers and practitioners to learn key aspects of the young and rapidly growing body of research related to XAI. Through the lens of the literature, we review the existing approaches regarding the topic, discuss trends surrounding its sphere, and present major research trajectories.}, - journal = {IEEE Access}, - author = {Adadi, Amina and Berrada, Mohammed}, - year = {2018}, - keywords = {AI-based systems, artificial intelligence, Biological system modeling, black-box models, black-box nature, Conferences, explainable AI, explainable artificial intelligence, Explainable artificial intelligence, fourth industrial revolution, interpretable machine learning, Machine learning, Machine learning algorithms, Market research, Prediction algorithms, XAI}, - pages = {52138--52160}, - file = {IEEE Xplore Abstract Record:/Users/ukuhl/Zotero/storage/W67P7I9I/8466590.html:text/html;IEEE Xplore Full Text PDF:/Users/ukuhl/Zotero/storage/3E4VHELQ/Adadi und Berrada - 2018 - Peeking Inside the Black-Box A Survey on Explaina.pdf:application/pdf}, -} - -@article{epstude_functional_2008, - title = {The {Functional} {Theory} of {Counterfactual} {Thinking}}, - volume = {12}, - issn = {1088-8683}, - url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2408534/}, - doi = {10.1177/1088868308316091}, - abstract = {Counterfactuals are thoughts about alternatives to past events, that is, thoughts of what might have been. This article provides an updated account of the functional theory of counterfactual thinking, suggesting that such thoughts are best explained in terms of their role in behavior regulation and performance improvement. The article reviews a wide range of cognitive experiments indicating that counterfactual thoughts may influence behavior by either of two routes: a content-specific pathway (which involves specific informational effects on behavioral intentions, which then influence behavior) and a content-neutral pathway (which involves indirect effects via affect, mind-sets, or motivation). The functional theory is particularly useful in organizing recent findings regarding counterfactual thinking and mental health. The article concludes by considering the connections to other theoretical conceptions, especially recent advances in goal cognition.}, - number = {2}, - journal = {Personality and social psychology review : an official journal of the Society for Personality and Social Psychology, Inc}, - author = {Epstude, Kai and Roese, Neal J.}, - month = may, - year = {2008}, - pmid = {18453477}, - pmcid = {PMC2408534}, - pages = {168--192}, - file = {PubMed Central Full Text PDF:/Users/ukuhl/Zotero/storage/AUCJ2GQV/Epstude und Roese - 2008 - The Functional Theory of Counterfactual Thinking.pdf:application/pdf}, -} - -@article{offert_i_2017, - title = {"{I} know it when {I} see it". {Visualization} and {Intuitive} {Interpretability}}, - url = {http://arxiv.org/abs/1711.08042}, - abstract = {Most research on the interpretability of machine learning systems focuses on the development of a more rigorous notion of interpretability. I suggest that a better understanding of the deficiencies of the intuitive notion of interpretability is needed as well. I show that visualization enables but also impedes intuitive interpretability, as it presupposes two levels of technical pre-interpretation: dimensionality reduction and regularization. Furthermore, I argue that the use of positive concepts to emulate the distributed semantic structure of machine learning models introduces a significant human bias into the model. As a consequence, I suggest that, if intuitive interpretability is needed, singular representations of internal model states should be avoided.}, - journal = {arXiv:1711.08042 [stat]}, - author = {Offert, Fabian}, - month = dec, - year = {2017}, - keywords = {Statistics - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/ANUIAQX5/Offert - 2017 - I know it when I see it. Visualization and Intui.pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/KZHL5SK7/1711.html:text/html}, -} - -@article{goldinger_blaming_2003, - title = {"{Blaming} {The} {Victim}" {Under} {Memory} {Load}}, - volume = {14}, - issn = {0956-7976, 1467-9280}, - url = {http://journals.sagepub.com/doi/10.1111/1467-9280.01423}, - doi = {10.1111/1467-9280.01423}, - abstract = {When presented with negative outcomes, people often engage in counterfactual thinking, imagining various ways that events might have been different. This appears to be a spontaneous behavior, with considerable adaptive value. Nevertheless, counterfactual thinking may also engender systematic biases in various judgment tasks, such as allocating blame for a mishap, or deciding on the appropriate compensation to a victim. Thus, counterfactuals sometimes require thought suppression or discounting, potentially resource-demanding tasks. In this study, participants made mock-jury decisions about control and counterfactual versions of simple stories. The judgments of two groups of participants, differing in their respective levels of working memory capacity, were compared. In addition, all participants held memory loads during various stages of the primary task. Lower-span individuals were especially susceptible to bias associated with the counterfactual manipulation, but only when holding memory loads during judgment. The results suggest that counterfactual thoughts arise automatically, and may later require effortful, capacity-demanding suppression.}, - language = {en}, - number = {1}, - urldate = {2020-02-24}, - journal = {Psychological Science}, - author = {Goldinger, Stephen D. and Kleider, Heather M. and Azuma, Tamiko and Beike, Denise R.}, - month = jan, - year = {2003}, - pages = {81--85}, -} - -@article{sanna_antecedents_1996, - title = {Antecedents to {Spontaneous} {Counterfactual} {Thinking}: {Effects} of {Expectancy} {Violation} and {Outcome} {Valence}}, - volume = {22}, - issn = {0146-1672}, - shorttitle = {Antecedents to {Spontaneous} {Counterfactual} {Thinking}}, - url = {https://doi.org/10.1177/0146167296229005}, - doi = {10.1177/0146167296229005}, - abstract = {Three studies examined the effects of expectancy violation and outcome valence on spontaneous counterfactual thinking. In Study 1, prior expectations and outcome valence were varied orthogonally in a vignette. More counterfactuals were generated after failures and unexpected outcomes. Also, more additive than subtractive counterfatuals were found after failure, particularly unexpected failure, and more subtractive than additive counterfactuals were found after unexpected success. Evidence for the generality of these results was obtained in Study 2, in which counterfactuals were assessed after students' real-life exam performances. In Study 3, the authors further assessed nonspontaneous counterfactuals, which were shown to differ in number and structure from spontaneous counterfactuals. Discussion centers around antecedents to spontaneous counterfactual thinking and comparisons to research on spontaneous causal attributions.}, - number = {9}, - urldate = {2020-02-24}, - journal = {Personality and Social Psychology Bulletin}, - author = {Sanna, Lawrence J. and Turley, Kandi Jo}, - month = sep, - year = {1996}, - pages = {906--919}, - file = {SAGE PDF Full Text:/Users/ukuhl/Zotero/storage/C7SWFBXA/Sanna und Turley - 1996 - Antecedents to Spontaneous Counterfactual Thinking.pdf:application/pdf}, -} - -@incollection{kahneman_simulation_1982, - address = {Cambridge, UK}, - edition = {1}, - title = {The simulation heuristic}, - isbn = {978-0-521-28414-1 978-0-521-24064-2 978-0-511-80947-7}, - url = {https://www.cambridge.org/core/product/identifier/CBO9780511809477A026/type/book_part}, - urldate = {2020-02-25}, - booktitle = {Judgment under {Uncertainty}}, - publisher = {Cambridge University Press}, - author = {Kahneman, Daniel and Tversky, Amos}, - editor = {Kahneman, Daniel and Slovic, Paul and Tversky, Amos}, - month = apr, - year = {1982}, - doi = {10.1017/CBO9780511809477.015}, - pages = {201--208}, - file = {Kahneman und Tversky - 1982 - The simulation heuristic.pdf:/Users/ukuhl/Zotero/storage/33KLDJ4B/Kahneman und Tversky - 1982 - The simulation heuristic.pdf:application/pdf}, -} - -@book{heider_psychology_1958, - address = {New York, NY, US}, - title = {The psychology of interpersonal relations}, - publisher = {John Wiley \& Sons Ltd.}, - author = {Heider, Fritz}, - year = {1958}, -} - -@article{de_brigard_coming_2013, - title = {Coming to {Grips} {With} the {Past}: {Effect} of {Repeated} {Simulation} on the {Perceived} {Plausibility} of {Episodic} {Counterfactual} {Thoughts}}, - volume = {24}, - issn = {0956-7976}, - shorttitle = {Coming to {Grips} {With} the {Past}}, - url = {https://doi.org/10.1177/0956797612468163}, - doi = {10.1177/0956797612468163}, - abstract = {When people revisit previous experiences, they often engage in episodic counterfactual thinking: mental simulations of alternative ways in which personal past events could have occurred. The present study employed a novel experimental paradigm to examine the influence of repeated simulation on the perceived plausibility of upward, downward, and neutral episodic counterfactual thoughts. Participants were asked to remember negative, positive, and neutral autobiographical memories. One week later, they self-generated upward, downward, and neutral counterfactual alternatives to those memories. The following day, they resimulated each of those counterfactuals either once or four times. The results indicate that repeated simulation of upward, downward, and neutral episodic counterfactual events decreases their perceived plausibility while increasing ratings of the ease, detail, and valence of the simulations. This finding suggests a difference between episodic counterfactual thoughts and other kinds of self-referential simulations. Possible implications of this finding for pathological and nonpathological anxiety are discussed.}, - number = {7}, - urldate = {2020-03-02}, - journal = {Psychological Science}, - author = {De Brigard, Felipe and Szpunar, Karl K. and Schacter, Daniel L.}, - month = jul, - year = {2013}, - pages = {1329--1334}, - file = {SAGE PDF Full Text:/Users/ukuhl/Zotero/storage/K585BVLD/De Brigard et al. - 2013 - Coming to Grips With the Past Effect of Repeated .pdf:application/pdf}, -} - -@article{holzinger_measuring_2020, - title = {Measuring the {Quality} of {Explanations}: {The} {System} {Causability} {Scale} ({SCS}): {Comparing} {Human} and {Machine} {Explanations}}, - volume = {34}, - issn = {0933-1875, 1610-1987}, - shorttitle = {Measuring the {Quality} of {Explanations}}, - url = {http://link.springer.com/10.1007/s13218-020-00636-z}, - doi = {10.1007/s13218-020-00636-z}, - abstract = {Recent success in Artificial Intelligence (AI) and Machine Learning (ML) allow problem solving automatically without any human intervention. Autonomous approaches can be very convenient. However, in certain domains, e.g., in the medical domain, it is necessary to enable a domain expert to understand, why an algorithm came up with a certain result. Consequently, the field of Explainable AI (xAI) rapidly gained interest worldwide in various domains, particularly in medicine. Explainable AI studies transparency and traceability of opaque AI/ML and there are already a huge variety of methods. For example with layer-wise relevance propagation relevant parts of inputs to, and representations in, a neural network which caused a result, can be highlighted. This is a first important step to ensure that end users, e.g., medical professionals, assume responsibility for decision making with AI/ML and of interest to professionals and regulators. Interactive ML adds the component of human expertise to AI/ML processes by enabling them to re-enact and retrace AI/ML results, e.g. let them check it for plausibility. This requires new human{\textendash}AI interfaces for explainable AI. In order to build effective and efficient interactive human{\textendash}AI interfaces we have to deal with the question of how to evaluate the quality of explanations given by an explainable AI system. In this paper we introduce our System Causability Scale to measure the quality of explanations. It is based on our notion of Causability (Holzinger et al. in Wiley Interdiscip Rev Data Min Knowl Discov 9(4), 2019) combined with concepts adapted from a widely-accepted usability scale.}, - language = {en}, - number = {2}, - urldate = {2020-05-25}, - journal = {KI - K{\"u}nstliche Intelligenz}, - author = {Holzinger, Andreas and Carrington, Andr{\'e} and M{\"u}ller, Heimo}, - month = jan, - year = {2020}, - pages = {193--198}, - file = {Holzinger et al. - 2020 - Measuring the Quality of Explanations The System .pdf:/Users/ukuhl/Zotero/storage/EMUDKVCC/Holzinger et al. - 2020 - Measuring the Quality of Explanations The System .pdf:application/pdf}, -} - -@article{keane_if_2021, - title = {If {Only} {We} {Had} {Better} {Counterfactual} {Explanations}: {Five} {Key} {Deficits} to {Rectify} in the {Evaluation} of {Counterfactual} {XAI} {Techniques}}, - shorttitle = {If {Only} {We} {Had} {Better} {Counterfactual} {Explanations}}, - url = {http://arxiv.org/abs/2103.01035}, - abstract = {In recent years, there has been an explosion of AI research on counterfactual explanations as a solution to the problem of eXplainable AI (XAI). These explanations seem to offer technical, psychological and legal benefits over other explanation techniques. We survey 100 distinct counterfactual explanation methods reported in the literature. This survey addresses the extent to which these methods have been adequately evaluated, both psychologically and computationally, and quantifies the shortfalls occurring. For instance, only 21\% of these methods have been user tested. Five key deficits in the evaluation of these methods are detailed and a roadmap, with standardised benchmark evaluations, is proposed to resolve the issues arising; issues, that currently effectively block scientific progress in this field.}, - journal = {arXiv:2103.01035 [cs]}, - author = {Keane, Mark T. and Kenny, Eoin M. and Delaney, Eoin and Smyth, Barry}, - month = feb, - year = {2021}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/7S2HMAX4/Keane et al. - 2021 - If Only We Had Better Counterfactual Explanations.pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/6TASU892/2103.html:text/html}, -} - -@inproceedings{lim_why_2009, - address = {Boston MA USA}, - title = {\textit{{Why}} and why not explanations improve the intelligibility of context-aware intelligent systems}, - isbn = {978-1-60558-246-7}, - url = {https://dl.acm.org/doi/10.1145/1518701.1519023}, - doi = {10.1145/1518701.1519023}, - abstract = {Context-aware intelligent systems employ implicit inputs, and make decisions based on complex rules and machine learning models that are rarely clear to users. Such lack of system intelligibility can lead to loss of user trust, satisfaction and acceptance of these systems. However, automatically providing explanations about a system{\quotedblbase}s decision process can help mitigate this problem. In this paper we present results from a controlled study with over 200 participants in which the effectiveness of different types of explanations was examined. Participants were shown examples of a system{\quotedblbase}s operation along with various automatically generated explanations, and then tested on their understanding of the system. We show, for example, that explanations describing why the system behaved a certain way resulted in better understanding and stronger feelings of trust. Explanations describing why the system did not behave a certain way, resulted in lower understanding yet adequate performance. We discuss implications for the use of our findings in real-world context-aware applications.}, - language = {en}, - booktitle = {Proceedings of the {SIGCHI} {Conference} on {Human} {Factors} in {Computing} {Systems}}, - publisher = {ACM}, - author = {Lim, Brian Y. and Dey, Anind K. and Avrahami, Daniel}, - month = apr, - year = {2009}, - pages = {2119--2128}, - file = {Lim et al. - 2009 - Why and why not explanations improve the in.pdf:/Users/ukuhl/Zotero/storage/3EDWH2TP/Lim et al. - 2009 - Why and why not explanations improve the in.pdf:application/pdf}, -} - -@article{verma_counterfactual_2020, - title = {Counterfactual {Explanations} for {Machine} {Learning}: {A} {Review}}, - shorttitle = {Counterfactual {Explanations} for {Machine} {Learning}}, - url = {http://arxiv.org/abs/2010.10596}, - abstract = {Machine learning plays a role in many deployed decision systems, often in ways that are difficult or impossible to understand by human stakeholders. Explaining, in a human-understandable way, the relationship between the input and output of machine learning models is essential to the development of trustworthy machine-learning-based systems. A burgeoning body of research seeks to define the goals and methods of explainability in machine learning. In this paper, we seek to review and categorize research on counterfactual explanations, a specific class of explanation that provides a link between what could have happened had input to a model been changed in a particular way. Modern approaches to counterfactual explainability in machine learning draw connections to the established legal doctrine in many countries, making them appealing to fielded systems in high-impact areas such as finance and healthcare. Thus, we design a rubric with desirable properties of counterfactual explanation algorithms and comprehensively evaluate all currently-proposed algorithms against that rubric. Our rubric provides easy comparison and comprehension of the advantages and disadvantages of different approaches and serves as an introduction to major research themes in this field. We also identify gaps and discuss promising research directions in the space of counterfactual explainability.}, - journal = {arXiv:2010.10596 [cs, stat]}, - author = {Verma, Sahil and Dickerson, John and Hines, Keegan}, - month = oct, - year = {2020}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Machine Learning, Statistics - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/N4TY4P8D/Verma et al. - 2020 - Counterfactual Explanations for Machine Learning .pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/KPZJFDGC/2010.html:text/html}, -} - -@article{van_der_waa_evaluating_2021, - title = {Evaluating {XAI}: {A} comparison of rule-based and example-based explanations}, - volume = {291}, - issn = {00043702}, - shorttitle = {Evaluating {XAI}}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0004370220301533}, - doi = {10.1016/j.artint.2020.103404}, - language = {en}, - urldate = {2021-08-10}, - journal = {Artificial Intelligence}, - author = {van der Waa, Jasper and Nieuwburg, Elisabeth and Cremers, Anita and Neerincx, Mark}, - month = feb, - year = {2021}, - pages = {103404}, - file = {Volltext:/Users/ukuhl/Zotero/storage/XBZC9WIA/van der Waa et al. - 2021 - Evaluating XAI A comparison of rule-based and exa.pdf:application/pdf}, -} - -@article{guidotti_survey_2019, - title = {A {Survey} of {Methods} for {Explaining} {Black} {Box} {Models}}, - volume = {51}, - issn = {0360-0300, 1557-7341}, - url = {https://dl.acm.org/doi/10.1145/3236009}, - doi = {10.1145/3236009}, - abstract = {In recent years, many accurate decision support systems have been constructed as black boxes, that is as systems that hide their internal logic to the user. This lack of explanation constitutes both a practical and an ethical issue. The literature reports many approaches aimed at overcoming this crucial weakness, sometimes at the cost of sacrificing accuracy for interpretability. The applications in which black box decision systems can be used are various, and each approach is typically developed to provide a solution for a specific problem and, as a consequence, it explicitly or implicitly delineates its own definition of interpretability and explanation. The aim of this article is to provide a classification of the main problems addressed in the literature with respect to the notion of explanation and the type of black box system. Given a problem definition, a black box type, and a desired explanation, this survey should help the researcher to find the proposals more useful for his own work. The proposed classification of approaches to open black box models should also be useful for putting the many research open questions in perspective.}, - language = {en}, - number = {5}, - journal = {ACM Computing Surveys}, - author = {Guidotti, Riccardo and Monreale, Anna and Ruggieri, Salvatore and Turini, Franco and Giannotti, Fosca and Pedreschi, Dino}, - month = jan, - year = {2019}, - pages = {1--42}, - file = {Eingereichte Version:/Users/ukuhl/Zotero/storage/I26LGY5T/Guidotti et al. - 2019 - A Survey of Methods for Explaining Black Box Model.pdf:application/pdf}, -} - -@article{lipton_contrastive_1990, - title = {Contrastive {Explanation}}, - volume = {27}, - issn = {1358-2461, 1755-3555}, - url = {https://www.cambridge.org/core/product/identifier/S1358246100005130/type/journal_article}, - doi = {10.1017/S1358246100005130}, - abstract = {According to a causal model of explanation, we explain phenomena by giving their causes or, where the phenomena are themselves causal regularities, we explain them by giving a mechanism linking cause and effect. If we explain why smoking causes cancer, we do not give the cause of this causal connection, but we do give the causal mechanism that makes it. The claim that to explain is to give a cause is not only natural and plausible, but it also avoids many of the objections to other accounts of explanation, such as the views that to explain is to give a reason to believe the phenomenon occurred, to somehow make the phenomenon familiar, or to give a Deductive-Nomological argument. Unlike the reason for belief account, a causal model makes a clear distinction between understanding why a phenomenon occurs and merely knowing that it does, and the model does so in a way that makes understanding unmysterious and objective. Understanding is not some sort of super-knowledge, but simply more knowledge: knowledge of the phenomenon and knowledge of its causal history. A causal model makes it clear how something can explain without itself being explained, and so avoids the regress of whys, since we can know a phenomenon's cause without knowing the cause of the cause. It also accounts for legitimate self-evidencing explanations, explanations where the phenomenon is an essential part of the evidence that the explanation is correct, so the explanation can not supply a non-circular reason for believing the phenomenon occurred. There is no barrier to knowing a cause through its effects and also knowing that it is their cause. The speed of recession of a star explains its observed red-shift, even though the shift is an essential part of the evidence for its speed of recession. The model also avoids the most serious objection to the familiarity view, which is that some phenomena are familiar yet not understood, since a phenomenon can be perfectly familiar, such as the blueness of the sky or the fact that the same side of the moon always faces the earth, even if we do not know its cause. Finally, a causal model avoids many of the objections to the Deductive-Nomological model. Ordinary explanations do not have to meet the requirements of the Deductive-Nomological model, because one does not need to give a law to give a cause, and one does not need to know a law to have good reason to believe that a cause is a cause. As for the notorious over-permissiveness of the Deductive-Nomological model, the reason recession explains red-shift but not conversely, is simply that causes explain effects but not conversely, and the reason a conjunction of laws does not explain its conjuncts is that conjunctions do not cause their conjuncts.}, - language = {en}, - urldate = {2021-08-13}, - journal = {Royal Institute of Philosophy Supplement}, - author = {Lipton, Peter}, - month = mar, - year = {1990}, - pages = {247--266}, - file = {Lipton - 1990 - Contrastive Explanation.pdf:/Users/ukuhl/Zotero/storage/Z963NVIX/Lipton - 1990 - Contrastive Explanation.pdf:application/pdf}, -} - -@incollection{lombrozo_explanation_2012, - address = {Oxford, UK}, - title = {Explanation and {Abductive} {Inference}}, - url = {http://oxfordhandbooks.com/view/10.1093/oxfordhb/9780199734689.001.0001/oxfordhb-9780199734689-e-14}, - urldate = {2021-08-13}, - booktitle = {The {Oxford} {Handbook} of {Thinking} and {Reasoning}}, - publisher = {Oxford University Press}, - author = {Lombrozo, Tania}, - editor = {Holyoak, Keith J. and Morrison, Robert G.}, - month = mar, - year = {2012}, - doi = {10.1093/oxfordhb/9780199734689.013.0014}, - pages = {260--276}, - file = {Lombrozo - 2012 - Explanation and Abductive Inference.pdf:/Users/ukuhl/Zotero/storage/UBDU978U/Lombrozo - 2012 - Explanation and Abductive Inference.pdf:application/pdf}, -} - -@article{hilton_knowledge-based_1986, - title = {Knowledge-based causal attribution: {The} abnormal conditions focus model.}, - volume = {93}, - issn = {1939-1471, 0033-295X}, - shorttitle = {Knowledge-based causal attribution}, - url = {http://doi.apa.org/getdoi.cfm?doi=10.1037/0033-295X.93.1.75}, - doi = {10.1037/0033-295X.93.1.75}, - language = {en}, - number = {1}, - urldate = {2021-08-13}, - journal = {Psychological Review}, - author = {Hilton, Denis J. and Slugoski, Ben R.}, - year = {1986}, - pages = {75--88}, - file = {Hilton und Slugoski - 1986 - Knowledge-based causal attribution The abnormal c.pdf:/Users/ukuhl/Zotero/storage/FXT2TYJS/Hilton und Slugoski - 1986 - Knowledge-based causal attribution The abnormal c.pdf:application/pdf}, -} - -@article{roese_counterfactual_1997, - title = {Counterfactual thinking}, - volume = {121}, - issn = {1939-1455, 0033-2909}, - url = {http://doi.apa.org/getdoi.cfm?doi=10.1037/0033-2909.121.1.133}, - doi = {10.1037/0033-2909.121.1.133}, - language = {en}, - number = {1}, - urldate = {2021-08-13}, - journal = {Psychological Bulletin}, - author = {Roese, Neal J.}, - year = {1997}, - pages = {133--148}, - file = {Roese - 1997 - Counterfactual thinking..pdf:/Users/ukuhl/Zotero/storage/XHVGPZ2R/Roese - 1997 - Counterfactual thinking..pdf:application/pdf}, -} - -@incollection{roese_functional_2017, - address = {Amsterdam, Netherlands}, - title = {The {Functional} {Theory} of {Counterfactual} {Thinking}: {New} {Evidence}, {New} {Challenges}, {New} {Insights}}, - volume = {56}, - isbn = {978-0-12-812120-7}, - shorttitle = {The {Functional} {Theory} of {Counterfactual} {Thinking}}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0065260117300187}, - language = {en}, - urldate = {2021-08-16}, - booktitle = {Advances in {Experimental} {Social} {Psychology}}, - publisher = {Elsevier}, - author = {Roese, Neal J. and Epstude, Kai}, - year = {2017}, - doi = {10.1016/bs.aesp.2017.02.001}, - pages = {1--79}, - file = {Volltext:/Users/ukuhl/Zotero/storage/FXRVS769/Roese und Epstude - 2017 - The Functional Theory of Counterfactual Thinking .pdf:application/pdf}, -} - -@article{markman_reflection_2003, - title = {A {Reflection} and {Evaluation} {Model} of {Comparative} {Thinking}}, - volume = {7}, - issn = {1088-8683, 1532-7957}, - url = {http://journals.sagepub.com/doi/10.1207/S15327957PSPR0703_04}, - doi = {10.1207/S15327957PSPR0703_04}, - abstract = {This article reviews research on counterfactual, social, and temporal comparisons and proposes a Reflection and Evaluation Model (REM) as an organizing framework. At the heart of the model is the assertion that 2 psychologically distinct modes of mental simulation operate during comparative thinking: reflection, an experiential ({\textquotedblleft}as if{\textquotedblright}) mode of thinking characterized by vividly simulating that information about the comparison standard is true of, or part of, the self; and evaluation, an evaluative mode of thinking characterized by the use of information about the standard as a reference point against which to evaluate one's present standing. Reflection occurs when information about the standard is included in one's self-construal, and evaluation occurs when such information is excluded. The result of reflection is that standard-consistent cognitions about the self become highly accessible, thereby yielding affective assimilation; whereas the result of evaluation is that comparison information is used as a standard against which one's present standing is evaluated, thereby yielding affective contrast. The resulting affect leads to either an increase or decrease in behavioral persistence as a function of the type of task with which one is engaged, and a combination of comparison-derived causal inferences and regulatory focus strategies direct one toward adopting specific future action plans.}, - language = {en}, - number = {3}, - urldate = {2021-08-16}, - journal = {Personality and Social Psychology Review}, - author = {Markman, Keith D. and McMullen, Matthew N.}, - month = aug, - year = {2003}, - pages = {244--267}, -} - -@inproceedings{dandl_multi-objective_2020, - address = {Cham}, - title = {Multi-{Objective} {Counterfactual} {Explanations}}, - volume = {12269}, - isbn = {978-3-030-58111-4 978-3-030-58112-1}, - url = {http://link.springer.com/10.1007/978-3-030-58112-1_31}, - doi = {10.1007/978-3-030-58112-1_31}, - language = {en}, - urldate = {2021-08-16}, - booktitle = {International {Conference} on {Parallel} {Problem} {Solving} from {Nature}}, - publisher = {Springer International Publishing}, - author = {Dandl, Susanne and Molnar, Christoph and Binder, Martin and Bischl, Bernd}, - year = {2020}, - pages = {448--469}, - file = {Volltext:/Users/ukuhl/Zotero/storage/4NPKM7WQ/Dandl et al. - 2020 - Multi-Objective Counterfactual Explanations.pdf:application/pdf}, -} - -@article{guidotti_local_2018, - title = {Local {Rule}-{Based} {Explanations} of {Black} {Box} {Decision} {Systems}}, - url = {http://arxiv.org/abs/1805.10820}, - abstract = {The recent years have witnessed the rise of accurate but obscure decision systems which hide the logic of their internal decision processes to the users. The lack of explanations for the decisions of black box systems is a key ethical issue, and a limitation to the adoption of machine learning components in socially sensitive and safety-critical contexts. \%Therefore, we need explanations that reveals the reasons why a predictor takes a certain decision. In this paper we focus on the problem of black box outcome explanation, i.e., explaining the reasons of the decision taken on a specific instance. We propose LORE, an agnostic method able to provide interpretable and faithful explanations. LORE first leans a local interpretable predictor on a synthetic neighborhood generated by a genetic algorithm. Then it derives from the logic of the local interpretable predictor a meaningful explanation consisting of: a decision rule, which explains the reasons of the decision; and a set of counterfactual rules, suggesting the changes in the instance's features that lead to a different outcome. Wide experiments show that LORE outperforms existing methods and baselines both in the quality of explanations and in the accuracy in mimicking the black box.}, - urldate = {2021-08-16}, - journal = {arXiv:1805.10820 [cs]}, - author = {Guidotti, Riccardo and Monreale, Anna and Ruggieri, Salvatore and Pedreschi, Dino and Turini, Franco and Giannotti, Fosca}, - month = may, - year = {2018}, - keywords = {Computer Science - Artificial Intelligence}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/WCLUSE53/Guidotti et al. - 2018 - Local Rule-Based Explanations of Black Box Decisio.pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/TALKXILN/1805.html:text/html}, -} - -@incollection{artelt_convex_2020, - address = {Cham}, - title = {Convex {Density} {Constraints} for {Computing} {Plausible} {Counterfactual} {Explanations}}, - volume = {12396}, - isbn = {978-3-030-61608-3}, - url = {https://link.springer.com/10.1007/978-3-030-61609-0_28}, - language = {en}, - booktitle = {Artificial {Neural} {Networks} and {Machine} {Learning} {\textendash} {ICANN} 2020}, - publisher = {Springer International Publishing}, - author = {Artelt, Andr{\'e} and Hammer, Barbara}, - editor = {Farka{\v s}, Igor and Masulli, Paolo and Wermter, Stefan}, - year = {2020}, - doi = {10.1007/978-3-030-61609-0_28}, - pages = {353--365}, - file = {Eingereichte Version:/Users/ukuhl/Zotero/storage/5JNBEAJS/Artelt und Hammer - 2020 - Convex Density Constraints for Computing Plausible.pdf:application/pdf}, -} - -@article{chi_icap_2014, - title = {The {ICAP} {Framework}: {Linking} {Cognitive} {Engagement} to {Active} {Learning} {Outcomes}}, - volume = {49}, - issn = {0046-1520, 1532-6985}, - shorttitle = {The {ICAP} {Framework}}, - url = {http://www.tandfonline.com/doi/abs/10.1080/00461520.2014.965823}, - doi = {10.1080/00461520.2014.965823}, - language = {en}, - number = {4}, - urldate = {2021-08-25}, - journal = {Educational Psychologist}, - author = {Chi, Michelene T. H. and Wylie, Ruth}, - month = oct, - year = {2014}, - pages = {219--243}, -} - -@article{detry_analyzing_2016, - title = {Analyzing {Repeated} {Measurements} {Using} {Mixed} {Models}}, - volume = {315}, - issn = {0098-7484}, - url = {http://jama.jamanetwork.com/article.aspx?doi=10.1001/jama.2015.19394}, - doi = {10.1001/jama.2015.19394}, - language = {en}, - number = {4}, - urldate = {2021-10-14}, - journal = {JAMA}, - author = {Detry, Michelle A. and Ma, Yan}, - month = jan, - year = {2016}, - pages = {407}, - file = {Detry und Ma - 2016 - Analyzing Repeated Measurements Using Mixed Models.pdf:/Users/ukuhl/Zotero/storage/GEMAWZUT/Detry und Ma - 2016 - Analyzing Repeated Measurements Using Mixed Models.pdf:application/pdf}, -} - -@book{r_core_team_r_2021, - address = {Vienna, Austria}, - title = {R: {A} {Language} and {Environment} for {Statistical} {Computing}}, - url = {https://www.R-project.org/}, - publisher = {R Foundation for Statistical Computing}, - author = {{R Core Team}}, - year = {2021}, -} - -@article{bates_fitting_2015, - title = {Fitting {Linear} {Mixed}-{Effects} {Models} {Using} \textbf{lme4}}, - volume = {67}, - issn = {1548-7660}, - url = {http://www.jstatsoft.org/v67/i01/}, - doi = {10.18637/jss.v067.i01}, - language = {en}, - number = {1}, - urldate = {2021-11-16}, - journal = {Journal of Statistical Software}, - author = {Bates, Douglas and M{\"a}chler, Martin and Bolker, Ben and Walker, Steve}, - year = {2015}, - file = {Volltext:/Users/ukuhl/Zotero/storage/JZH5UMYC/Bates et al. - 2015 - Fitting Linear Mixed-Effects Models Using lme4.pdf:application/pdf}, -} - -@article{ben-shachar_effectsize_2020, - title = {effectsize: {Estimation} of {Effect} {Size} {Indices} and {Standardized} {Parameters}}, - volume = {5}, - issn = {2475-9066}, - shorttitle = {effectsize}, - url = {https://joss.theoj.org/papers/10.21105/joss.02815}, - doi = {10.21105/joss.02815}, - number = {56}, - urldate = {2021-11-16}, - journal = {Journal of Open Source Software}, - author = {Ben-Shachar, Mattan and L{\"u}decke, Daniel and Makowski, Dominique}, - month = dec, - year = {2020}, - pages = {2815}, - file = {Volltext:/Users/ukuhl/Zotero/storage/7QM6H6R7/Ben-Shachar et al. - 2020 - effectsize Estimation of Effect Size Indices and .pdf:application/pdf}, -} - -@article{bansal_updates_2019, - title = {Updates in {Human}-{AI} {Teams}: {Understanding} and {Addressing} the {Performance}/{Compatibility} {Tradeoff}}, - volume = {33}, - issn = {2374-3468, 2159-5399}, - shorttitle = {Updates in {Human}-{AI} {Teams}}, - url = {https://www.aaai.org/ojs/index.php/AAAI/article/view/4087}, - doi = {10.1609/aaai.v33i01.33012429}, - abstract = {AI systems are being deployed to support human decision making in high-stakes domains such as healthcare and criminal justice. In many cases, the human and AI form a team, in which the human makes decisions after reviewing the AI{\textquoteright}s inferences. A successful partnership requires that the human develops insights into the performance of the AI system, including its failures. We study the influence of updates to an AI system in this setting. While updates can increase the AI{\textquoteright}s predictive performance, they may also lead to behavioral changes that are at odds with the user{\textquoteright}s prior experiences and confidence in the AI{\textquoteright}s inferences. We show that updates that increase AI performance may actually hurt team performance. We introduce the notion of the compatibility of an AI update with prior user experience and present methods for studying the role of compatibility in human-AI teams. Empirical results on three high-stakes classification tasks show that current machine learning algorithms do not produce compatible updates. We propose a re-training objective to improve the compatibility of an update by penalizing new errors. The objective offers full leverage of the performance/compatibility tradeoff across different datasets, enabling more compatible yet accurate updates.}, - urldate = {2021-11-16}, - journal = {Proceedings of the AAAI Conference on Artificial Intelligence}, - author = {Bansal, Gagan and Nushi, Besmira and Kamar, Ece and Weld, Daniel S. and Lasecki, Walter S. and Horvitz, Eric}, - month = jul, - year = {2019}, - pages = {2429--2437}, - file = {Volltext:/Users/ukuhl/Zotero/storage/GDKIPZAA/Bansal et al. - 2019 - Updates in Human-AI Teams Understanding and Addre.pdf:application/pdf}, -} - -@article{muth_alternative_2016, - title = {Alternative {Models} for {Small} {Samples} in {Psychological} {Research}: {Applying} {Linear} {Mixed} {Effects} {Models} and {Generalized} {Estimating} {Equations} to {Repeated} {Measures} {Data}}, - volume = {76}, - issn = {0013-1644, 1552-3888}, - shorttitle = {Alternative {Models} for {Small} {Samples} in {Psychological} {Research}}, - url = {http://journals.sagepub.com/doi/10.1177/0013164415580432}, - doi = {10.1177/0013164415580432}, - abstract = {Unavoidable sample size issues beset psychological research that involves scarce populations or costly laboratory procedures. When incorporating longitudinal designs these samples are further reduced by traditional modeling techniques, which perform listwise deletion for any instance of missing data. Moreover, these techniques are limited in their capacity to accommodate alternative correlation structures that are common in repeated measures studies. Researchers require sound quantitative methods to work with limited but valuable measures without degrading their data sets. This article provides a brief tutorial and exploration of two alternative longitudinal modeling techniques, linear mixed effects models and generalized estimating equations, as applied to a repeated measures study ( n = 12) of pairmate attachment and social stress in primates. Both techniques provide comparable results, but each model offers unique information that can be helpful when deciding the right analytic tool.}, - language = {en}, - number = {1}, - urldate = {2021-11-18}, - journal = {Educational and Psychological Measurement}, - author = {Muth, Chelsea and Bales, Karen L. and Hinde, Katie and Maninger, Nicole and Mendoza, Sally P. and Ferrer, Emilio}, - month = feb, - year = {2016}, - pages = {64--87}, - file = {Volltext:/Users/ukuhl/Zotero/storage/6YL7S6G2/Muth et al. - 2016 - Alternative Models for Small Samples in Psychologi.pdf:application/pdf}, -} - -@article{artelt_evaluating_2021, - author={Artelt, Andr\'e and Vaquet, Valerie and Velioglu, Riza and Hinder, Fabian and Brinkrolf, Johannes and Schilling, Malte and Hammer, Barbara}, - - booktitle={2021 IEEE Symposium Series on Computational Intelligence (SSCI)}, - - title={Evaluating Robustness of Counterfactual Explanations}, - - year={2021}, - - volume={}, - - number={}, - - pages={01-09}, - - doi={10.1109/SSCI50451.2021.9660058} -} - -@article{logan_shapes_1992, - title = {Shapes of {Reaction}-{Time} {Distributions} and {Shapes} of {Learning} {Curves}: {A} {Test} of the {Instance} {Theory} of {Automaticity}}, - volume = {18}, - language = {en}, - number = {5}, - journal = {Journal of Experimental Psychology: Learning, Memory, and Cognition}, - author = {Logan, Gordon D}, - year = {1992}, - pages = {883--914}, - file = {Logan - Shapes of Reaction-Time Distributions and Shapes o.pdf:/Users/ukuhl/Zotero/storage/GI8AD66Y/Logan - Shapes of Reaction-Time Distributions and Shapes o.pdf:application/pdf}, -} - -@article{artelt_efficient_2022, - title = {Efficient computation of counterfactual explanations and counterfactual metrics of prototype-based classifiers}, - volume = {470}, - issn = {09252312}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0925231221011024}, - doi = {10.1016/j.neucom.2021.04.129}, - language = {en}, - urldate = {2021-11-30}, - journal = {Neurocomputing}, - author = {Artelt, Andr{\'e} and Hammer, Barbara}, - month = jan, - year = {2022}, - pages = {304--317}, -} - -@article{kumle_estimating_2021, - title = {Estimating power in (generalized) linear mixed models: {An} open introduction and tutorial in {R}}, - volume = {53}, - issn = {1554-3528}, - shorttitle = {Estimating power in (generalized) linear mixed models}, - url = {https://link.springer.com/10.3758/s13428-021-01546-0}, - doi = {10.3758/s13428-021-01546-0}, - abstract = {Abstract Mixed-effects models are a powerful tool for modeling fixed and random effects simultaneously, but do not offer a feasible analytic solution for estimating the probability that a test correctly rejects the null hypothesis. Being able to estimate this probability, however, is critical for sample size planning, as power is closely linked to the reliability and replicability of empirical findings. A flexible and very intuitive alternative to analytic power solutions are simulation-based power analyses. Although various tools for conducting simulation-based power analyses for mixed-effects models are available, there is lack of guidance on how to appropriately use them. In this tutorial, we discuss how to estimate power for mixed-effects models in different use cases: first, how to use models that were fit on available (e.g. published) data to determine sample size; second, how to determine the number of stimuli required for sufficient power; and finally, how to conduct sample size planning without available data. Our examples cover both linear and generalized linear models and we provide code and resources for performing simulation-based power analyses on openly accessible data sets. The present work therefore helps researchers to navigate sound research design when using mixed-effects models, by summarizing resources, collating available knowledge, providing solutions and tools, and applying them to real-world problems in sample sizing planning when sophisticated analysis procedures like mixed-effects models are outlined as inferential procedures.}, - language = {en}, - number = {6}, - urldate = {2021-11-30}, - journal = {Behavior Research Methods}, - author = {Kumle, Leah and V{\~o}, Melissa L.-H. and Draschkow, Dejan}, - month = may, - year = {2021}, - pages = {2528--2543}, - file = {Volltext:/Users/ukuhl/Zotero/storage/I7A576AN/Kumle et al. - 2021 - Estimating power in (generalized) linear mixed mod.pdf:application/pdf}, -} - -@article{miller_explanation_2019, - title = {Explanation in artificial intelligence: {Insights} from the social sciences}, - volume = {267}, - issn = {00043702}, - shorttitle = {Explanation in artificial intelligence}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0004370218305988}, - doi = {10.1016/j.artint.2018.07.007}, - language = {en}, - urldate = {2021-11-30}, - journal = {Artificial Intelligence}, - author = {Miller, Tim}, - month = feb, - year = {2019}, - pages = {1--38}, - file = {Eingereichte Version:/Users/ukuhl/Zotero/storage/8H3HEHQ5/Miller - 2019 - Explanation in artificial intelligence Insights f.pdf:application/pdf}, -} - -@article{gleaves_role_2020, - title = {The {Role} of {Individual} {User} {Differences} in {Interpretable} and {Explainable} {Machine} {Learning} {Systems}}, - url = {http://arxiv.org/abs/2009.06675}, - abstract = {There is increased interest in assisting non-expert audiences to effectively interact with machine learning (ML) tools and understand the complex output such systems produce. Here, we describe user experiments designed to study how individual skills and personality traits predict interpretability, explainability, and knowledge discovery from ML generated model output. Our work relies on Fuzzy Trace Theory, a leading theory of how humans process numerical stimuli, to examine how different end users will interpret the output they receive while interacting with the ML system. While our sample was small, we found that interpretability {\textendash} being able to make sense of system output {\textendash} and explainability {\textendash} understanding how that output was generated {\textendash} were distinct aspects of user experience. Additionally, subjects were more able to interpret model output if they possessed individual traits that promote metacognitive monitoring and editing, associated with more detailed, verbatim, processing of ML output. Finally, subjects who are more familiar with ML systems felt better supported by them and more able to discover new patterns in data; however, this did not necessarily translate to meaningful insights. Our work motivates the design of systems that explicitly take users' mental representations into account during the design process to more effectively support end user requirements.}, - urldate = {2021-11-30}, - journal = {arXiv:2009.06675 [cs]}, - author = {Gleaves, Lydia P. and Schwartz, Reva and Broniatowski, David A.}, - month = sep, - year = {2020}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Computers and Society, Computer Science - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/9KAPHRW2/Gleaves et al. - 2020 - The Role of Individual User Differences in Interpr.pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/U4W37DQU/2009.html:text/html}, -} - -@article{schleich_geco_2021, - title = {{GeCo}: {Quality} {Counterfactual} {Explanations} in {Real} {Time}}, - shorttitle = {{GeCo}}, - url = {http://arxiv.org/abs/2101.01292}, - abstract = {Machine learning is increasingly applied in high-stakes decision making that directly affect people's lives, and this leads to an increased demand for systems to explain their decisions. Explanations often take the form of counterfactuals, which consists of conveying to the end user what she/he needs to change in order to improve the outcome. Computing counterfactual explanations is challenging, because of the inherent tension between a rich semantics of the domain, and the need for real time response. In this paper we present GeCo, the first system that can compute plausible and feasible counterfactual explanations in real time. At its core, GeCo relies on a genetic algorithm, which is customized to favor searching counterfactual explanations with the smallest number of changes. To achieve real-time performance, we introduce two novel optimizations: \${\textbackslash}textbackslashDelta\$-representation of candidate counterfactuals, and partial evaluation of the classifier. We compare empirically GeCo against five other systems described in the literature, and show that it is the only system that can achieve both high quality explanations and real time answers.}, - urldate = {2021-11-30}, - journal = {arXiv:2101.01292 [cs]}, - author = {Schleich, Maximilian and Geng, Zixuan and Zhang, Yihong and Suciu, Dan}, - month = may, - year = {2021}, - keywords = {Computer Science - Databases, Computer Science - Machine Learning}, - file = {arXiv Fulltext PDF:/Users/ukuhl/Zotero/storage/44E4TKRS/Schleich et al. - 2021 - GeCo Quality Counterfactual Explanations in Real .pdf:application/pdf;arXiv.org Snapshot:/Users/ukuhl/Zotero/storage/J9SAN7F5/2101.html:text/html}, -} - -@article{johnson-laird_conditionals_2002, - title = {Conditionals: {A} theory of meaning, pragmatics, and inference.}, - volume = {109}, - issn = {1939-1471, 0033-295X}, - shorttitle = {Conditionals}, - url = {http://doi.apa.org/getdoi.cfm?doi=10.1037/0033-295X.109.4.646}, - doi = {10.1037/0033-295X.109.4.646}, - language = {en}, - number = {4}, - urldate = {2021-12-01}, - journal = {Psychological Review}, - author = {Johnson-Laird, P. N. and Byrne, Ruth M. J.}, - year = {2002}, - pages = {646--678}, - file = {Volltext:/Users/ukuhl/Zotero/storage/B63B39CT/Johnson-Laird und Byrne - 2002 - Conditionals A theory of meaning, pragmatics, and.pdf:application/pdf}, -} - -@article{byrne_mental_2002, - title = {Mental models and counterfactual thoughts about what might have been}, - volume = {6}, - issn = {13646613}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S1364661302019745}, - doi = {10.1016/S1364-6613(02)01974-5}, - language = {en}, - number = {10}, - urldate = {2021-12-01}, - journal = {Trends in Cognitive Sciences}, - author = {Byrne, Ruth M.J.}, - month = oct, - year = {2002}, - pages = {426--431}, - file = {Byrne - 2002 - Mental models and counterfactual thoughts about wh.pdf:/Users/ukuhl/Zotero/storage/8H3S89H7/Byrne - 2002 - Mental models and counterfactual thoughts about wh.pdf:application/pdf}, -} - -@article{byrne_precis_2007, - title = {Pr{\'e}cis of \textit{{The}} {Rational} {Imagination}: {How} {People} {Create} {Alternatives} to {Reality}}, - volume = {30}, - issn = {0140-525X, 1469-1825}, - shorttitle = {Pr{\'e}cis of {\textbackslash}textlessi{\textbackslash}{textgreaterThe} {Rational} {Imagination}}, - url = {https://www.cambridge.org/core/product/identifier/S0140525X07002579/type/journal_article}, - doi = {10.1017/S0140525X07002579}, - abstract = {Abstract The human imagination remains one of the last uncharted terrains of the mind. People often imagine how events might have turned out {\textquotedblleft}if only{\textquotedblright} something had been different. The {\textquotedblleft}fault lines{\textquotedblright} of reality, those aspects more readily changed, indicate that counterfactual thoughts are guided by the same principles as rational thoughts. In the past, rationality and imagination have been viewed as opposites. But research has shown that rational thought is more imaginative than cognitive scientists had supposed. In The Rational Imagination, I argue that imaginative thought is more rational than scientists have imagined. People exhibit remarkable similarities in the sorts of things they change in their mental representation of reality when they imagine how the facts could have turned out differently. For example, they tend to imagine alternatives to actions rather than inactions, events within their control rather than those beyond their control, and socially unacceptable events rather than acceptable ones. Their thoughts about how an event might have turned out differently lead them to judge that a strong causal relation exists between an antecedent event and the outcome, and their thoughts about how an event might have turned out the same lead them to judge that a weaker causal relation exists. In a simple temporal sequence, people tend to imagine alternatives to the most recent event. The central claim in the book is that counterfactual thoughts are organised along the same principles as rational thought. The idea that the counterfactual imagination is rational depends on three steps: (1) humans are capable of rational thought; (2) they make inferences by thinking about possibilities; and (3) their counterfactual thoughts rely on thinking about possibilities, just as rational thoughts do. The sorts of possibilities that people envisage explain the mutability of certain aspects of mental representations and the immutability of other aspects.}, - language = {en}, - number = {5-6}, - urldate = {2021-12-01}, - journal = {Behavioral and Brain Sciences}, - author = {Byrne, Ruth M. J.}, - month = dec, - year = {2007}, - pages = {439--453}, -} - -@incollection{walsh_mental_2005, - address = {London}, - series = {Routledge {Research} {International} {Series} in {Social} {Psychology}}, - title = {The mental representation of what might have been}, - booktitle = {The psychology of counterfactual thinking}, - publisher = {Routledge}, - author = {Walsh, C.R. and Byrne, Ruth M.J.}, - editor = {Mandel, D.R. and Hilton, Denis J. and Catellani, P.}, - year = {2005}, - pages = {61--73}, -} - -@incollection{lewis_counterfactuals_1973, - address = {Dordrecht}, - title = {Counterfactuals and {Comparative} {Possibility}}, - isbn = {978-90-277-1220-2 978-94-009-9117-0}, - url = {http://link.springer.com/10.1007/978-94-009-9117-0_3}, - urldate = {2021-12-01}, - booktitle = {{IFS}}, - publisher = {Springer Netherlands}, - author = {Lewis, David}, - editor = {Harper, William L. and Stalnaker, Robert and Pearce, Glenn}, - year = {1973}, - doi = {10.1007/978-94-009-9117-0_3}, - pages = {57--85}, - file = {Lewis - 1973 - Counterfactuals and Comparative Possibility.pdf:/Users/ukuhl/Zotero/storage/M3VPHK8U/Lewis - 1973 - Counterfactuals and Comparative Possibility.pdf:application/pdf}, -} - -@article{stanley_counterfactual_2017, - title = {Counterfactual {Plausibility} and {Comparative} {Similarity}}, - volume = {41}, - issn = {03640213}, - url = {https://onlinelibrary.wiley.com/doi/10.1111/cogs.12451}, - doi = {10.1111/cogs.12451}, - language = {en}, - urldate = {2021-12-01}, - journal = {Cognitive Science}, - author = {Stanley, Matthew L. and Stewart, Gregory W. and Brigard, Felipe De}, - month = may, - year = {2017}, - pages = {1216--1228}, - file = {Volltext:/Users/ukuhl/Zotero/storage/TJBSXIPX/Stanley et al. - 2017 - Counterfactual Plausibility and Comparative Simila.pdf:application/pdf}, -} - -@article{kulakova_processing_2013, - title = {Processing counterfactual and hypothetical conditionals: {An} {fMRI} investigation}, - volume = {72}, - issn = {10538119}, - shorttitle = {Processing counterfactual and hypothetical conditionals}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S1053811913001079}, - doi = {10.1016/j.neuroimage.2013.01.060}, - language = {en}, - urldate = {2021-12-01}, - journal = {NeuroImage}, - author = {Kulakova, Eugenia and Aichhorn, Markus and Schurz, Matthias and Kronbichler, Martin and Perner, Josef}, - month = may, - year = {2013}, - pages = {265--271}, - file = {Volltext:/Users/ukuhl/Zotero/storage/WBTSJWR2/Kulakova et al. - 2013 - Processing counterfactual and hypothetical conditi.pdf:application/pdf}, -} - -@article{de_brigard_perceived_2021, - title = {Perceived similarity of imagined possible worlds affects judgments of counterfactual plausibility}, - volume = {209}, - issn = {00100277}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0010027720303930}, - doi = {10.1016/j.cognition.2020.104574}, - language = {en}, - urldate = {2021-12-01}, - journal = {Cognition}, - author = {De Brigard, Felipe and Henne, Paul and Stanley, Matthew L.}, - month = apr, - year = {2021}, - pages = {104574}, -} - -@article{connell_model_2006, - title = {A {Model} of {Plausibility}}, - volume = {30}, - issn = {03640213}, - url = {http://doi.wiley.com/10.1207/s15516709cog0000_53}, - doi = {10.1207/s15516709cog0000_53}, - language = {en}, - number = {1}, - urldate = {2021-12-01}, - journal = {Cognitive Science}, - author = {Connell, Louise and Keane, Mark T.}, - month = jan, - year = {2006}, - pages = {95--120}, - file = {Connell und Keane - 2006 - A Model of Plausibility.pdf:/Users/ukuhl/Zotero/storage/NUB9C5BE/Connell und Keane - 2006 - A Model of Plausibility.pdf:application/pdf}, -} - -@article{byrne_temporality_2000, - title = {The temporality effect in counterfactual thinking about what might have been}, - volume = {28}, - issn = {0090-502X, 1532-5946}, - url = {http://link.springer.com/10.3758/BF03213805}, - doi = {10.3758/BF03213805}, - language = {en}, - number = {2}, - urldate = {2021-12-02}, - journal = {Memory \& Cognition}, - author = {Byrne, Ruth M. J. and Segura, Susana and Culhane, Ronan and Tasso, Alessandra and Berrocal, Pablo}, - month = mar, - year = {2000}, - pages = {264--281}, - file = {Volltext:/Users/ukuhl/Zotero/storage/2BVSZ82R/Byrne et al. - 2000 - The temporality effect in counterfactual thinking .pdf:application/pdf}, -} - -@article{miller_temporal_1990, - title = {Temporal order and the perceived mutability of events: {Implications} for blame assignment.}, - volume = {59}, - issn = {1939-1315, 0022-3514}, - shorttitle = {Temporal order and the perceived mutability of events}, - url = {http://doi.apa.org/getdoi.cfm?doi=10.1037/0022-3514.59.6.1111}, - doi = {10.1037/0022-3514.59.6.1111}, - language = {en}, - number = {6}, - urldate = {2021-12-02}, - journal = {Journal of Personality and Social Psychology}, - author = {Miller, Dale T. and Gunasegaram, Saku}, - year = {1990}, - pages = {1111--1118}, -} - -@article{dixon_if_2011, - title = {{\textquotedblleft}{If} only{\textquotedblright} counterfactual thoughts about exceptional actions}, - volume = {39}, - issn = {0090-502X, 1532-5946}, - url = {http://link.springer.com/10.3758/s13421-011-0101-4}, - doi = {10.3758/s13421-011-0101-4}, - language = {en}, - number = {7}, - urldate = {2021-12-02}, - journal = {Memory \& Cognition}, - author = {Dixon, James E. and Byrne, Ruth M. J.}, - month = oct, - year = {2011}, - pages = {1317--1331}, -} - -@article{girotto_event_1991, - title = {Event controllability in counterfactual thinking}, - volume = {78}, - issn = {00016918}, - url = {https://linkinghub.elsevier.com/retrieve/pii/000169189190007M}, - doi = {10.1016/0001-6918(91)90007-M}, - language = {en}, - number = {1-3}, - urldate = {2021-12-02}, - journal = {Acta Psychologica}, - author = {Girotto, Vittorio and Legrenzi, Paolo and Rizzo, Antonio}, - month = dec, - year = {1991}, - pages = {111--133}, -} - -@article{pezdek_is_2006, - title = {Is knowing believing? {The} role of event plausibility and background knowledge in planting false beliefs about the personal past}, - volume = {34}, - issn = {0090-502X, 1532-5946}, - shorttitle = {Is knowing believing?}, - url = {http://link.springer.com/10.3758/BF03195925}, - doi = {10.3758/BF03195925}, - language = {en}, - number = {8}, - urldate = {2021-12-02}, - journal = {Memory \& Cognition}, - author = {Pezdek, Kathy and Blandon-Gitlin, Iris and Lam, Shirley and Hart, Rhiannon Ellis and Schooler, Jonathan W.}, - month = dec, - year = {2006}, - pages = {1628--1635}, -} - -@article{de_brigard_remembering_2013, - title = {Remembering what could have happened: {Neural} correlates of episodic counterfactual thinking}, - volume = {51}, - issn = {00283932}, - shorttitle = {Remembering what could have happened}, - url = {https://linkinghub.elsevier.com/retrieve/pii/S0028393213000298}, - doi = {10.1016/j.neuropsychologia.2013.01.015}, - language = {en}, - number = {12}, - urldate = {2021-12-02}, - journal = {Neuropsychologia}, - author = {De Brigard, F. and Addis, D.R. and Ford, J.H. and Schacter, D.L. and Giovanello, K.S.}, - month = oct, - year = {2013}, - pages = {2401--2414}, - file = {Akzeptierte Version:/Users/ukuhl/Zotero/storage/PRZSCFDZ/De Brigard et al. - 2013 - Remembering what could have happened Neural corre.pdf:application/pdf}, -} - -@article{medvec_when_1997, - title = {When doing better means feeling worse: {The} effects of categorical cutoff points on counterfactual thinking and satisfaction.}, - volume = {72}, - issn = {1939-1315, 0022-3514}, - shorttitle = {When doing better means feeling worse}, - url = {http://doi.apa.org/getdoi.cfm?doi=10.1037/0022-3514.72.6.1284}, - doi = {10.1037/0022-3514.72.6.1284}, - language = {en}, - number = {6}, - urldate = {2021-12-03}, - journal = {Journal of Personality and Social Psychology}, - author = {Medvec, Victoria Husted and Savitsky, Kenneth}, - year = {1997}, - pages = {1284--1296}, -} - -@article{de_oliveira_framework_2021, - title = {A {Framework} and {Benchmarking} {Study} for {Counterfactual} {Generating} {Methods} on {Tabular} {Data}}, - volume = {11}, - issn = {2076-3417}, - url = {https://www.mdpi.com/2076-3417/11/16/7274}, - doi = {10.3390/app11167274}, - abstract = {Counterfactual explanations are viewed as an effective way to explain machine learning predictions. This interest is reflected by a relatively young literature with already dozens of algorithms aiming to generate such explanations. These algorithms are focused on finding how features can be modified to change the output classification. However, this rather general objective can be achieved in different ways, which brings about the need for a methodology to test and benchmark these algorithms. The contributions of this work are manifold: First, a large benchmarking study of 10 algorithmic approaches on 22 tabular datasets is performed, using nine relevant evaluation metrics; second, the introduction of a novel, first of its kind, framework to test counterfactual generation algorithms; third, a set of objective metrics to evaluate and compare counterfactual results; and, finally, insight from the benchmarking results that indicate which approaches obtain the best performance on what type of dataset. This benchmarking study and framework can help practitioners in determining which technique and building blocks most suit their context, and can help researchers in the design and evaluation of current and future counterfactual generation algorithms. Our findings show that, overall, there{\textquoteright}s no single best algorithm to generate counterfactual explanations as the performance highly depends on properties related to the dataset, model, score, and factual point specificities.}, - language = {en}, - number = {16}, - urldate = {2022-01-05}, - journal = {Applied Sciences}, - author = {de Oliveira, Raphael Mazzine Barbosa and Martens, David}, - month = aug, - year = {2021}, - pages = {7274}, -} - -@inproceedings{white_measurable_2020, - address = {Santiago de Compostela, Spain}, - title = {Measurable {Counterfactual} {Local} {Explanations} for {Any} {Classifier}}, - abstract = {We propose a novel method for explaining the predictions of any classifier. In our approach, local explanations are expected to explain both the outcome of a prediction and how that prediction would change if {\textquoteright}things had been different{\textquoteright}. Furthermore, we argue that satisfactory explanations cannot be dissociated from a notion and measure of fidelity, as advocated in the early days of neural networks{\textquoteright} knowledge extraction. We introduce a definition of fidelity to the underlying classifier for local explanation models which is based on distances to a target decision boundary. A system called CLEAR: Counterfactual Local Explanations via Regression, is introduced and evaluated. CLEAR generates b-counterfactual explanations that state minimum changes necessary to flip a prediction{\textquoteright}s classification. CLEAR then builds local regression models, using the b-counterfactuals to measure and improve the fidelity of its regressions. By contrast, the popular LIME method [17], which also uses regression to generate local explanations, neither measures its own fidelity nor generates counterfactuals. CLEAR{\textquoteright}s regressions are found to have significantly higher fidelity than LIME{\textquoteright}s, averaging over 40\% higher in this paper{\textquoteright}s five case studies.}, - language = {en}, - booktitle = {{ECAI}}, - author = {White, Adam and d{\textquoteright}Avila Garcez, Artur}, - year = {2020}, - pages = {7}, -} - -@book{breiman_classification_1984, - address = {London, UK}, - edition = {1}, - title = {Classification {And} {Regression} {Trees}}, - isbn = {978-1-315-13947-0}, - url = {https://www.taylorfrancis.com/books/9781351460491}, - language = {en}, - urldate = {2022-01-05}, - publisher = {Routledge}, - author = {Breiman, Leo and Friedman, Jerome H. and Olshen, Richard A. and Stone, Charles J.}, - year = {1984}, - doi = {10.1201/9781315139470}, -} - -@book{shalev-shwartz_understanding_2014, - address = {New York, NY, USA}, - title = {Understanding machine learning: from theory to algorithms}, - isbn = {978-1-107-05713-5}, - shorttitle = {Understanding machine learning}, - abstract = {"Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides an extensive theoretical account of the fundamental ideas underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics of the field, the book covers a wide array of central topics that have not been addressed by previous textbooks. These include a discussion of the computational complexity of learning and the concepts of convexity and stability; important algorithmic paradigms including stochastic gradient descent, neural networks, and structured output learning; and emerging theoretical concepts such as the PAC-Bayes approach and compression-based bounds. Designed for an advanced undergraduate or beginning graduate course, the text makes the fundamentals and algorithms of machine learning accessible to students and non-expert readers in statistics, computer science, mathematics, and engineering"--}, - publisher = {Cambridge University Press}, - author = {Shalev-Shwartz, Shai and Ben-David, Shai}, - year = {2014}, - keywords = {Algorithms, COMPUTERS / Computer Vision \& Pattern Recognition, Machine learning}, -} - -@inproceedings{papernot_practical_2017, - address = {Abu Dhabi United Arab Emirates}, - title = {Practical {Black}-{Box} {Attacks} against {Machine} {Learning}}, - isbn = {978-1-4503-4944-4}, - url = {https://dl.acm.org/doi/10.1145/3052973.3053009}, - doi = {10.1145/3052973.3053009}, - language = {en}, - urldate = {2022-01-05}, - booktitle = {Proceedings of the 2017 {ACM} on {Asia} {Conference} on {Computer} and {Communications} {Security}}, - publisher = {ACM}, - author = {Papernot, Nicolas and McDaniel, Patrick and Goodfellow, Ian and Jha, Somesh and Celik, Z. Berkay and Swami, Ananthram}, - month = apr, - year = {2017}, - pages = {506--519}, - file = {Eingereichte Version:/Users/ukuhl/Zotero/storage/TKJUNYPC/Papernot et al. - 2017 - Practical Black-Box Attacks against Machine Learni.pdf:application/pdf}, -} diff --git a/Publications/PAZ_FAccT/README.md b/Publications/PAZ_FAccT/README.md deleted file mode 100644 index 78449f8..0000000 --- a/Publications/PAZ_FAccT/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# The plausible AlienZoo study -These are the sources for our paper summarizing the plausible AlienZoo study, prepared for the ACM Conference on Fairness, Accountability, and Transparency 2022 (ACM FAccT 2022). - -## Style -We currently use the [Primary Article Template](https://www.acm.org/binaries/content/assets/publications/consolidated-tex-template/acmart-primary.zip) for LaTeX (1.80; published October 6, 2021). - -Note: Sections marked in blue are not done yet (may range between rough notes to fully written sections that just need some final polish). - -## Submission Format and Guidelines (summary) - -* pre-registration until December 15, 2021 (tentative title, abstract, submission area(s)) -* final submissions due on January 14, 2022 -* 12-15 pages (including all figures and tables), single column format (about 7,500 words main content) -* unlimited pages for references -* review is mutually anonymous; omit names and affiliations from submissions, and avoid obvious identifying statements \ No newline at end of file diff --git a/Publications/PAZ_FAccT/abstract.tex b/Publications/PAZ_FAccT/abstract.tex deleted file mode 100644 index da6d46a..0000000 --- a/Publications/PAZ_FAccT/abstract.tex +++ /dev/null @@ -1,9 +0,0 @@ -\Glspl{CFE} highlight what changes to a model's input would have changed its prediction in a particular way. \Glspl{CFE} have gained considerable traction as a psychologically grounded solution for \gls{XAI}. -Recent innovations introduce the notion of computational plausibility for automatically generated \glspl{CFE}, enhancing their robustness by exclusively creating plausible explanations. %, limiting the set of possible counterfactuals to the training data. -However, practical benefits of such a constraint on user experience and behavior is yet unclear. -In this study, we evaluate objective and subjective usability of computationally plausible \glspl{CFE} in an iterative learning design targeting novice users. -We rely on a novel, game-like experimental design, revolving around an abstract scenario. -Our results show that novice users actually benefit less from receiving computationally plausible rather than closest \glspl{CFE} that produce minimal changes leading to the desired outcome. -Responses in a post-game survey reveal no differences in terms of subjective user experience between both groups. -Following the view of psychological plausibility as comparative similarity, this may be explained by the fact that users in the closest condition experience their \glspl{CFE} as more psychologically plausible than the computationally plausible counterpart. -In sum, our work highlights a little-considered divergence of definitions of computational plausibility and psychological plausibility, critically confirming the need to incorporate human behavior, preferences and mental models already at the design stages of \gls{XAI} approaches. \ No newline at end of file diff --git a/Publications/PAZ_FAccT/acmart.cls b/Publications/PAZ_FAccT/acmart.cls deleted file mode 100644 index ec3dcd3..0000000 --- a/Publications/PAZ_FAccT/acmart.cls +++ /dev/null @@ -1,3106 +0,0 @@ -%% -%% This is file `acmart.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% acmart.dtx (with options: `class') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from acmart.cls. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file acmart.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{acmart} -[2021/09/24 v1.80 Typesetting articles for the Association for Computing Machinery] -\def\@classname{acmart} -\InputIfFileExists{acmart-preload-hook.tex}{% - \ClassWarning{\@classname}{% - I am loading acmart-preload-hook.tex. You are fully responsible - for any problems from now on.}}{} -\RequirePackage{xkeyval} -\RequirePackage{xstring} -\RequirePackage{iftex} -\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% - manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi, sigchi-a}[manuscript]{}{% - \ClassError{\@classname}{The option format must be manuscript, - acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi or sigchi-a}} -\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} -\@DeclareACMFormat{manuscript} -\@DeclareACMFormat{acmsmall} -\@DeclareACMFormat{acmlarge} -\@DeclareACMFormat{acmtog} -\@DeclareACMFormat{sigconf} -\@DeclareACMFormat{siggraph} -\@DeclareACMFormat{sigplan} -\@DeclareACMFormat{sigchi} -\@DeclareACMFormat{sigchi-a} -\ExecuteOptionsX{format} -\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% - \if@ACM@screen - \PackageInfo{\@classname}{Using screen mode}% - \else - \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{The option screen can be either true or - false}} -\ExecuteOptionsX{screen=false} -\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{% - \if@ACM@urlbreakonhyphens - \PackageInfo{\@classname}{Using breaking urls on hyphens}% - \else - \PackageInfo{\@classname}{Not breaking urls on hyphens}% - \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or - false}} -\ExecuteOptionsX{urlbreakonhyphens=true} -\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% - \if@ACM@acmthm - \PackageInfo{\@classname}{Requiring acmthm}% - \else - \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{The option acmthm can be either true or - false}} -\ExecuteOptionsX{acmthm=true} -\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% - \if@ACM@review - \PackageInfo{\@classname}{Using review mode}% - \AtBeginDocument{\@ACM@printfoliostrue}% - \else - \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{The option review can be either true or - false}} -\ExecuteOptionsX{review=false} -\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% - \if@ACM@authorversion - \PackageInfo{\@classname}{Using authorversion mode}% - \else - \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{The option authorversion can be either true or - false}} -\ExecuteOptionsX{authorversion=false} -\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% - \if@ACM@nonacm - \PackageInfo{\@classname}{Using nonacm mode}% - \AtBeginDocument{\@ACM@printacmreffalse}% - % in 'nonacm' mode we disable the "ACM Reference Format" - % printing by default, but this can be re-enabled by the - % user using \settopmatter{printacmref=true} - \else - \PackageInfo{\@classname}{Not using nonacm mode}% - \fi}{\PackageError{\@classname}{The option nonacm can be either true or - false}} -\ExecuteOptionsX{nonacm=false} -\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{% - \PackageError{\@classname}{The option balance can be either true or - false}} -\ExecuteOptionsX{balance} -\define@boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{% - \PackageError{\@classname}{The option pbalance can be either true or - false}} -\ExecuteOptionsX{pbalance=false} -\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% - \if@ACM@natbib - \PackageInfo{\@classname}{Explicitly selecting natbib mode}% - \else - \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{The option natbib can be either true or - false}} -\ExecuteOptionsX{natbib=true} -\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% - \if@ACM@anonymous - \PackageInfo{\@classname}{Using anonymous mode}% - \else - \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{The option anonymous can be either true or - false}} -\ExecuteOptionsX{anonymous=false} -\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% - \if@ACM@timestamp - \PackageInfo{\@classname}{Using timestamp mode}% - \else - \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{The option timestamp can be either true or - false}} -\ExecuteOptionsX{timestamp=false} -\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% - \if@ACM@authordraft - \PackageInfo{\@classname}{Using authordraft mode}% - \@ACM@timestamptrue - \@ACM@reviewtrue - \else - \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{The option authordraft can be either true or - false}} -\ExecuteOptionsX{authordraft=false} -\def\ACM@fontsize{} -\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} -\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} -\ProcessOptionsX -\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} -\newif\if@ACM@manuscript -\newif\if@ACM@journal -\newif\if@ACM@journal@bibstrip -\newif\if@ACM@sigchiamode -\ifnum\ACM@format@nr=5\relax % siggraph -\ClassWarning{\@classname}{% - The format siggraph is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=7\relax % sigchi -\ClassWarning{\@classname}{% - The format sigchi is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=8\relax % sigchi -\ClassWarning{\@classname}{% - ACM SIGCHI has retired the SIGCHI-A template\MessageBreak - effective immediately. ACM is keeping this template\MessageBreak - option available to authors who are working on legacy\MessageBreak - documents only. ACM will not, under any circumstances,\MessageBreak - accept documents in this format for publication and\MessageBreak - will not offer technical support to the authors who use\MessageBreak - this template.\MessageBreak - ACM SIGCHI is directing Conference leaders and\MessageBreak - authors to publish their articles using the SIGCONF\MessageBreak - template call.} -\fi -\ifnum\ACM@format@nr=0\relax - \@ACM@manuscripttrue -\else - \@ACM@manuscriptfalse -\fi -\@ACM@sigchiamodefalse -\ifcase\ACM@format@nr -\relax % manuscript - \@ACM@journaltrue -\or % acmsmall - \@ACM@journaltrue -\or % acmlarge - \@ACM@journaltrue -\or % acmtog - \@ACM@journaltrue -\or % sigconf - \@ACM@journalfalse -\or % siggraph - \@ACM@journalfalse - \or % sigplan - \@ACM@journalfalse - \or % sigchi - \@ACM@journalfalse -\or % sigchi-a - \@ACM@journalfalse - \@ACM@sigchiamodetrue -\fi -\if@ACM@journal - \@ACM@journal@bibstriptrue -\else - \@ACM@journal@bibstripfalse -\fi -\ifx\ACM@fontsize\@empty - \ifcase\ACM@format@nr - \relax % manuscript - \def\ACM@fontsize{9pt}% - \or % acmsmall - \def\ACM@fontsize{10pt}% - \or % acmlarge - \def\ACM@fontsize{10pt}% - \or % acmtog - \def\ACM@fontsize{9pt}% - \or % sigconf - \def\ACM@fontsize{9pt}% - \or % siggraph - \def\ACM@fontsize{9pt}% - \or % sigplan - \def\ACM@fontsize{10pt}% - \or % sigchi - \def\ACM@fontsize{9pt}% - \or % sigchi-a - \def\ACM@fontsize{10pt}% - \fi -\fi -\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} -\LoadClass[\ACM@fontsize, reqno]{amsart} -\RequirePackage{microtype} -\RequirePackage{etoolbox} -\RequirePackage{booktabs} -\RequirePackage{refcount} -\RequirePackage{totpages} -\RequirePackage{environ} -\if@ACM@manuscript -\RequirePackage{setspace} -\onehalfspacing -\fi -\RequirePackage{textcase} -\if@ACM@natbib - \RequirePackage{natbib} - \renewcommand{\bibsection}{% - \section*{\refname}% - \phantomsection\addcontentsline{toc}{section}{\refname}% - } - \renewcommand{\bibfont}{\bibliofont} - \renewcommand\setcitestyle[1]{ - \@for\@tempa:=#1\do - {\def\@tempb{round}\ifx\@tempa\@tempb - \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi - \def\@tempb{square}\ifx\@tempa\@tempb - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi - \def\@tempb{angle}\ifx\@tempa\@tempb - \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi - \def\@tempb{curly}\ifx\@tempa\@tempb - \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi - \def\@tempb{semicolon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{colon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{comma}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{,}\fi - \def\@tempb{authoryear}\ifx\@tempa\@tempb - \NAT@numbersfalse\fi - \def\@tempb{numbers}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@superfalse\fi - \def\@tempb{super}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@supertrue\fi - \def\@tempb{nobibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@gobble\fi - \def\@tempb{bibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@citestyle\fi - \def\@tempb{sort}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\fi - \def\@tempb{nosort}\ifx\@tempa\@tempb - \def\NAT@sort{\z@}\fi - \def\@tempb{compress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\@ne}\fi - \def\@tempb{nocompress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\z@}\fi - \def\@tempb{sort&compress}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi - \def\@tempb{mcite}\ifx\@tempa\@tempb - \let\NAT@merge\@ne\fi - \def\@tempb{merge}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi - \def\@tempb{elide}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi - \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb - \NAT@longnamestrue\fi - \def\@tempb{nonamebreak}\ifx\@tempa\@tempb - \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi - \expandafter\NAT@find@eq\@tempa=\relax\@nil - \if\@tempc\relax\else - \expandafter\NAT@rem@eq\@tempc - \def\@tempb{open}\ifx\@tempa\@tempb - \xdef\NAT@open{\@tempc}\fi - \def\@tempb{close}\ifx\@tempa\@tempb - \xdef\NAT@close{\@tempc}\fi - \def\@tempb{aysep}\ifx\@tempa\@tempb - \xdef\NAT@aysep{\@tempc}\fi - \def\@tempb{yysep}\ifx\@tempa\@tempb - \xdef\NAT@yrsep{\@tempc}\fi - \def\@tempb{notesep}\ifx\@tempa\@tempb - \xdef\NAT@cmt{\@tempc}\fi - \def\@tempb{citesep}\ifx\@tempa\@tempb - \xdef\NAT@sep{\@tempc}\fi - \fi - }% - \NAT@@setcites - } - \renewcommand\citestyle[1]{% - \ifcsname bibstyle@#1\endcsname% - \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% - \else% - \@latex@error{Undefined `#1' citestyle}% - \fi - }% -\fi -\newcommand{\bibstyle@acmauthoryear}{% - \setcitestyle{% - authoryear,% - open={[},close={]},citesep={;},% - aysep={},yysep={,},% - notesep={, }}} -\newcommand{\bibstyle@acmnumeric}{% - \setcitestyle{% - numbers,sort&compress,% - open={[},close={]},citesep={,},% - notesep={, }}} -\if@ACM@natbib -\citestyle{acmnumeric} -\fi -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6{% - \@hangfrom{\hskip #3\relax\@svsec}% - \interlinepenalty \@M #8\@@par}% - \endgroup - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}% - \else - \def\@svsechd{% - #6{\hskip #3\relax - \@svsec #8}% - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname\space}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par \nobreak - \vskip \@tempskipa - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\def\@seccntformat#1{\csname the#1\endcsname\quad} -\def\@ssect#1#2#3#4#5{% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ - \begingroup - #4{% - \@hangfrom{\hskip #1}% - \interlinepenalty \@M #5\@@par}% - \endgroup - \else - \def\@svsechd{#4{\hskip #1\relax #5}}% - \fi - \@xsect{#3}} -\def\@starttoc#1#2{\begingroup\makeatletter - \setTrue{#1}% - \par\removelastskip\vskip\z@skip - \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% - {.5\linespacing}{\centering\contentsnamefont}{#2}% - \@input{\jobname.#1}% - \if@filesw - \@xp\newwrite\csname tf@#1\endcsname - \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax - \fi - \global\@nobreakfalse \endgroup - \addvspace{32\p@\@plus14\p@}% -} -\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} -\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} -\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}} -\def\@makefntext{\noindent\@makefnmark} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -\RequirePackage{hyperxmp} -\let\@footnotemark@nolink\@footnotemark -\let\@footnotetext@nolink\@footnotetext -\RequirePackage[bookmarksnumbered,unicode]{hyperref} -\pdfstringdefDisableCommands{% - \def\addtocounter#1#2{}% - \def\unskip{}% - \def\textbullet{- }% - \def\textrightarrow{ -> }% - \def\footnotemark{}% -} -\urlstyle{rm} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \urlstyle{sf} -\or % sigchi -\or % sigchi-a - \urlstyle{sf} -\fi -\AtEndPreamble{% - \if@ACM@urlbreakonhyphens - \def\do@url@hyp{\do\-}% - \fi - \if@ACM@screen - \hypersetup{colorlinks, - linkcolor=ACMPurple, - citecolor=ACMPurple, - urlcolor=ACMDarkBlue, - filecolor=ACMDarkBlue} - \else - \hypersetup{hidelinks} - \fi - \hypersetup{pdflang={en}, - pdfdisplaydoctitle}} -\if@ACM@natbib - \let\citeN\cite - \let\cite\citep - \let\citeANP\citeauthor - \let\citeNN\citeyearpar - \let\citeyearNP\citeyear - \let\citeNP\citealt - \DeclareRobustCommand\citeA - {\begingroup\NAT@swafalse - \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% - \providecommand\newblock{}% -\else - \AtBeginDocument{% - \let\shortcite\cite% - \providecommand\citename[1]{#1}} -\fi -\newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} -\def\bibliographystyle#1{% - \ifx\@begindocumenthook\@undefined\else - \expandafter\AtBeginDocument - \fi - {\if@filesw - \immediate\write\@auxout{\string\bibstyle{#1}}% - \fi}} -\RequirePackage{graphicx} -\RequirePackage[prologue]{xcolor} -\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} -\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} -\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} -\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} -\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} -\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} -\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} -\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} -\if@ACM@authordraft - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft.\\ - Not for distribution.}} -\else - \if@ACM@sigchiamode - \if@ACM@nonacm\else - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Legacy document. \\ - Not for publication in an ACM venue}} - \fi - \fi -\fi -\RequirePackage{geometry} -\ifcase\ACM@format@nr -\relax % manuscript - \geometry{letterpaper,head=13pt, - marginparwidth=6pc,heightrounded}% -\or % acmsmall - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\or % acmlarge - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, - top=78pt, bottom=114pt, inner=81pt, outer=81pt, - marginparwidth=4pc,heightrounded - }% -\or % acmtog - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=24pt, - top=52pt, bottom=75pt, inner=52pt, outer=52pt, - marginparwidth=2pc,heightrounded - }% -\or % sigconf - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % siggraph - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigplan - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot=false, columnsep=2pc, - top=1in, bottom=1in, inner=0.75in, outer=0.75in, - marginparwidth=2pc,heightrounded - }% -\or % sigchi - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=66pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigchi-a - \geometry{twoside=false, head=13pt, - paperwidth=11in, paperheight=8.5in, - includeheadfoot, marginparsep=72pt, - marginparwidth=170pt, columnsep=20pt, - top=72pt, bottom=72pt, left=314pt, right=72pt - }% - \@mparswitchfalse - \reversemarginpar -\fi -\setlength\parindent{10\p@} -\setlength\parskip{\z@} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \setlength\parindent{9\p@}% -\or % sigconf -\or % siggraph -\or % sigplan -\or % sigchi -\or % sigchi-a -\fi -\setlength\normalparindent{\parindent} -\def\copyrightpermissionfootnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} -\RequirePackage{manyfoot} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{authorsaddresses} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{copyrightpermission} -\def\footnoterule{\kern-3\p@ - \hrule \@width 4pc \kern 2.6\p@} -\def\endminipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \unvbox\@mpfootins - \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -\def\@textbottom{\vskip \z@ \@plus 1pt} -\let\@texttop\relax -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \flushbottom -\or % sigconf - \flushbottom -\or % siggraph - \flushbottom -\or % sigplan - \flushbottom -\or % sigchi - \flushbottom -\or % sigchi-a -\fi -\ifPDFTeX -\input{glyphtounicode} -\pdfglyphtounicode{f_f}{FB00} -\pdfglyphtounicode{f_f_i}{FB03} -\pdfglyphtounicode{f_f_l}{FB04} -\pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{0074 0074} -\pdfglyphtounicode{f_t}{0066 0074} -\pdfglyphtounicode{T_h}{0054 0068} -\pdfgentounicode=1 -\RequirePackage{cmap} -\fi -\newif\if@ACM@newfonts -\@ACM@newfontstrue -\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have the libertine package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not - have the inconsolata (zi4.sty) package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have the newtxmath package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\if@ACM@newfonts - \RequirePackage[T1]{fontenc} - % Note that the order in which packages are loaded matters, - % and the correct order depends on the LaTeX engine used. - % See https://github.com/borisveytsman/acmart/issues/402 - % and https://github.com/borisveytsman/acmart/issues/410 - \ifxetex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \ifluatex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \RequirePackage[tt=false, type1=true]{libertine} - \RequirePackage[varqu]{zi4} - \RequirePackage[libertine]{newtxmath} - \fi - \fi -\fi -\let\liningnums\@undefined -\AtEndPreamble{% - \DeclareTextFontCommand{\liningnums}{\libertineLF}} -\if@ACM@sigchiamode - \renewcommand{\familydefault}{\sfdefault} -\fi -\newif\if@Description@present -\@Description@presenttrue -\newif\if@undescribed@images -\@undescribed@imagesfalse -\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces} -\AtEndDocument{\if@undescribed@images - \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi} -\AtBeginEnvironment{figure}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{figure*}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtEndEnvironment{figure}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtEndEnvironment{figure*}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} - -\RequirePackage{caption, float} -\captionsetup[table]{position=top} -\if@ACM@journal - \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} - \captionsetup[figure]{name={Fig.}} -\else - \captionsetup{labelfont={bf}, - textfont={bf}, labelsep=colon, margin=\z@} - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \or % sigconf - \or % siggraph - \captionsetup{textfont={it}} - \or % sigplan - \captionsetup{labelfont={bf}, - textfont={normalfont}, labelsep=period, margin=\z@} - \or % sigchi - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % sigchi-a - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \fi -\fi -\newfloat{sidebar}{}{sbar} -\floatname{sidebar}{Sidebar} -\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} -\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}% - \marginpar{\small#1}\egroup} -\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} -\long\def\@marginfigure#1{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \captionsetup{type=figure}% - \marginpar{\@Description@presentfalse\centering - \small#1\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description} - \fi}% - \egroup} -\newenvironment{margintable}{\Collect@Body\@margintable}{} -\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=table}% - \marginpar{\centering\small#1}\egroup} -\newdimen\fulltextwidth -\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) -\if@ACM@sigchiamode -\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth - \let\@endfloatbox\@endwidefloatbox - \def\@fpsadddefault{\def\@fps{tp}}% - \@float} -\fi -\if@ACM@sigchiamode -\def\end@dblfloat{% - \end@float\egroup} -\fi -\def\@endwidefloatbox{% - \par\vskip\z@skip - \@minipagefalse - \outer@nobreak - \egroup - \color@endbox - \global\setbox\@currbox=\vbox{\moveleft - \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% - \wd\@currbox=\textwidth -} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii.} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\or % sigchi -\or % sigchi-a -\fi -\newdimen\@ACM@labelwidth -\AtBeginDocument{% - \setlength\labelsep{4pt} - \setlength{\@ACM@labelwidth}{6.5pt} - - %% First-level list: when beginning after the first line of an - %% indented paragraph or ending before an indented paragraph, labels - %% should not hang to the left of the preceding/following text. - \setlength\leftmargini{\z@} - \addtolength\leftmargini{\parindent} - \addtolength\leftmargini{2\labelsep} - \addtolength\leftmargini{\@ACM@labelwidth} - - %% Second-level and higher lists. - \setlength\leftmarginii{\z@} - \addtolength\leftmarginii{0.5\labelsep} - \addtolength\leftmarginii{\@ACM@labelwidth} - \setlength\leftmarginiii{\leftmarginii} - \setlength\leftmarginiv{\leftmarginiii} - \setlength\leftmarginv{\leftmarginiv} - \setlength\leftmarginvi{\leftmarginv} - \@listi} -\newskip\listisep -\listisep\smallskipamount -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini \advance\labelwidth-\labelsep - \listparindent\z@ - \topsep\listisep} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii \advance\labelwidth-\labelsep - \topsep\z@skip} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv \advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} -\renewenvironment{description}{\list{}{% - \labelwidth\@ACM@labelwidth - \let\makelabel\descriptionlabel}% -}{ - \endlist -} -\let\enddescription=\endlist % for efficiency -\newif\if@ACM@maketitle@typeset -\@ACM@maketitle@typesetfalse -\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% - CIE,% - CSUR,% - DGOV,% - DLT,% - DTRAP,% - FAC,% - HEALTH,% - IMWUT,% - JACM,% - JDIQ,% - JEA,% - JERIC,% - JETC,% - JOCCH,% - PACMCGIT,% - PACMHCI,% - PACMPL,% - POMACS,% - TAAS,% - TACCESS,% - TACO,% - TALG,% - TALLIP,% - TAP,% - TCPS,% - TDS,% - TEAC,% - TECS,% - TELO,% - THRI,% - TIIS,% - TIOT,% - TISSEC,% - TIST,% - TKDD,% - TMIS,% - TOCE,% - TOCHI,% - TOCL,% - TOCS,% - TOCT,% - TODAES,% - TODS,% - TOG,% - TOIS,% - TOIT,% - TOMACS,% - TOMM,% - TOMPECS,% - TOMS,% - TOPC,% - TOPS,% - TOPLAS,% - TOS,% - TOSEM,% - TOSN,% - TQC,% - TRETS,% - TSAS,% - TSC,% - TSLP,% - TWEB,% - FACMP% -}{% -\ifcase\@journalCode@nr -\relax % CIE - \def\@journalName{ACM Computers in Entertainment}% - \def\@journalNameShort{ACM Comput. Entertain.}% - \def\@permissionCodeOne{1544-3574}% -\or % CSUR - \def\@journalName{ACM Computing Surveys}% - \def\@journalNameShort{ACM Comput. Surv.}% - \def\@permissionCodeOne{0360-0300}% -\or % DGOV - \def\@journalName{Digital Government: Research and Practice}% - \def\@journalNameShort{Digit. Gov. Res. Pract.}% - \def\@permissionCodeOne{2639-0175}% -\or % DLT - \def\@journalName{Distributed Ledger Technologies: Research and Practice}% - \def\@journalNameShort{Distrib. Ledger Technol.}% - \def\@permissionCodeOne{2769-6472}% -\or % DTRAP - \def\@journalName{Digital Threats: Research and Practice}% - \def\@journalNameShort{Digit. Threat. Res. Pract.}% - \def\@permissionCodeOne{2576-5337}% -\or % FAC - \def\@journalName{Formal Aspects of Computing}% - \def\@journalNameShort{Form. Asp. Comput.}% - \def\@permissionCodeOne{0934-5043}% -\or % HEALTH - \def\@journalName{ACM Transactions on Computing for Healthcare}% - \def\@journalNameShort{ACM Trans. Comput. Healthcare}% - \def\@permissionCodeOne{2637-8051}% -\or % IMWUT - \def\@journalName{Proceedings of the ACM on Interactive, Mobile, - Wearable and Ubiquitous Technologies}% - \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% - \def\@permissionCodeOne{2474-9567}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % JACM - \def\@journalName{Journal of the ACM}% - \def\@journalNameShort{J. ACM}% - \def\@permissionCodeOne{0004-5411}% -\or % JDIQ - \def\@journalName{ACM Journal of Data and Information Quality}% - \def\@journalNameShort{ACM J. Data Inform. Quality}% - \def\@permissionCodeOne{1936-1955}% -\or % JEA - \def\@journalName{ACM Journal of Experimental Algorithmics}% - \def\@journalNameShort{ACM J. Exp. Algor.}% - \def\@permissionCodeOne{1084-6654}% -\or % JERIC - \def\@journalName{ACM Journal of Educational Resources in Computing}% - \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% - \def\@permissionCodeOne{1073-0516}% -\or % JETC - \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% - \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% - \def\@permissionCodeOne{1550-4832}% -\or % JOCCH - \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% -\or % PACMCGIT - \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}% - \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}% - \def\@permissionCodeOne{2577-6193}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMHCI - \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% - \def\@permissionCodeOne{2573-0142}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMPL - \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalNameShort{Proc. ACM Program. Lang.}% - \def\@permissionCodeOne{2475-1421}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % POMACS - \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% - \def\@permissionCodeOne{2476-1249}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % TAAS - \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% - \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% - \def\@permissionCodeOne{1556-4665}% -\or % TACCESS - \def\@journalName{ACM Transactions on Accessible Computing}% - \def\@journalNameShort{ACM Trans. Access. Comput.}% - \def\@permissionCodeOne{1936-7228}% -\or % TACO - \def\@journalName{ACM Transactions on Architecture and Code Optimization}% - \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% -\or % TALG - \def\@journalName{ACM Transactions on Algorithms}% - \def\@journalNameShort{ACM Trans. Algor.}% - \def\@permissionCodeOne{1549-6325}% -\or % TALLIP - \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% - \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% - \def\@permissionCodeOne{2375-4699}% -\or % TAP - \def\@journalName{ACM Transactions on Applied Perception}% - \def\@journalNameShort{ACM Trans. Appl. Percept.}% - \def\@permissionCodeOne{1544-3558}% -\or % TCPS - \def\@journalName{ACM Transactions on Cyber-Physical Systems}% - \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}% - \def\@permissionCodeOne{2378-962X}% -\or % TDS - \def\@journalName{ACM/IMS Transactions on Data Science}% - \def\@journalNameShort{ACM/IMS Trans. Data Sci.}% - \def\@permissionCodeOne{2577-3224}% -\or % TEAC - \def\@journalName{ACM Transactions on Economics and Computation}% - \def\@journalNameShort{ACM Trans. Econ. Comput.}% - \def\@permissionCodeOne{2167-8375}% -\or % TECS - \def\@journalName{ACM Transactions on Embedded Computing Systems}% - \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% - \def\@permissionCodeOne{1539-9087}% -\or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% - \def\@permissionCodeOne{2688-3007}% -\or % THRI - \def\@journalName{ACM Transactions on Human-Robot Interaction}% - \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}% - \def\@permissionCodeOne{2573-9522}% -\or % TIIS - \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% - \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% - \def\@permissionCodeOne{2160-6455}% -\or % TIOT - \def\@journalName{ACM Transactions on Internet of Things}% - \def\@journalNameShort{ACM Trans. Internet Things}% - \def\@permissionCodeOne{2577-6207}% -\or % TISSEC - \def\@journalName{ACM Transactions on Information and System Security}% - \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% - \def\@permissionCodeOne{1094-9224}% -\or % TIST - \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% - \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% - \def\@permissionCodeOne{2157-6904}% -\or % TKDD - \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% - \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% - \def\@permissionCodeOne{1556-4681}% -\or % TMIS - \def\@journalName{ACM Transactions on Management Information Systems}% - \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% - \def\@permissionCodeOne{2158-656X}% -\or % TOCE - \def\@journalName{ACM Transactions on Computing Education}% - \def\@journalNameShort{ACM Trans. Comput. Educ.}% - \def\@permissionCodeOne{1946-6226}% -\or % TOCHI - \def\@journalName{ACM Transactions on Computer-Human Interaction}% - \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% - \def\@permissionCodeOne{1073-0516}% -\or % TOCL - \def\@journalName{ACM Transactions on Computational Logic}% - \def\@journalNameShort{ACM Trans. Comput. Logic}% - \def\@permissionCodeOne{1529-3785}% -\or % TOCS - \def\@journalName{ACM Transactions on Computer Systems}% - \def\@journalNameShort{ACM Trans. Comput. Syst.}% - \def\@permissionCodeOne{0734-2071}% -\or % TOCT - \def\@journalName{ACM Transactions on Computation Theory}% - \def\@journalNameShort{ACM Trans. Comput. Theory}% - \def\@permissionCodeOne{1942-3454}% -\or % TODAES - \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% - \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% - \def\@permissionCodeOne{1084-4309}% -\or % TODS - \def\@journalName{ACM Transactions on Database Systems}% - \def\@journalNameShort{ACM Trans. Datab. Syst.}% - \def\@permissionCodeOne{0362-5915}% -\or % TOG - \def\@journalName{ACM Transactions on Graphics}% - \def\@journalNameShort{ACM Trans. Graph.}% - \def\@permissionCodeOne{0730-0301} -\or % TOIS - \def\@journalName{ACM Transactions on Information Systems}% - \def\@permissionCodeOne{1046-8188}% -\or % TOIT - \def\@journalName{ACM Transactions on Internet Technology}% - \def\@journalNameShort{ACM Trans. Internet Technol.}% - \def\@permissionCodeOne{1533-5399}% -\or % TOMACS - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% -\or % TOMM - \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% - \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% - \def\@permissionCodeOne{1551-6857}% - \def\@permissionCodeTwo{0100}% -\or % TOMPECS - \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% - \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% - \def\@permissionCodeOne{2376-3639}% -\or % TOMS - \def\@journalName{ACM Transactions on Mathematical Software}% - \def\@journalNameShort{ACM Trans. Math. Softw.}% - \def\@permissionCodeOne{0098-3500}% -\or % TOPC - \def\@journalName{ACM Transactions on Parallel Computing}% - \def\@journalNameShort{ACM Trans. Parallel Comput.}% - \def\@permissionCodeOne{1539-9087}% -\or % TOPS - \def\@journalName{ACM Transactions on Privacy and Security}% - \def\@journalNameShort{ACM Trans. Priv. Sec.}% - \def\@permissionCodeOne{2471-2566}% -\or % TOPLAS - \def\@journalName{ACM Transactions on Programming Languages and Systems}% - \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% - \def\@permissionCodeOne{0164-0925}% -\or % TOS - \def\@journalName{ACM Transactions on Storage}% - \def\@journalNameShort{ACM Trans. Storage}% - \def\@permissionCodeOne{1553-3077}% -\or % TOSEM - \def\@journalName{ACM Transactions on Software Engineering and Methodology}% - \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% - \def\@permissionCodeOne{1049-331X}% -\or % TOSN - \def\@journalName{ACM Transactions on Sensor Networks}% - \def\@journalNameShort{ACM Trans. Sensor Netw.}% - \def\@permissionCodeOne{1550-4859}% -\or % TQC - \def\@journalName{ACM Transactions on Quantum Computing}% - \def\@journalNameShort{ACM Trans. Quantum Comput.}% - \def\@permissionCodeOne{2643-6817}% -\or % TRETS - \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% - \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% - \def\@permissionCodeOne{1936-7406}% -\or % TSAS - \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% - \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% - \def\@permissionCodeOne{2374-0353}% -\or % TSC - \def\@journalName{ACM Transactions on Social Computing}% - \def\@journalNameShort{ACM Trans. Soc. Comput.}% - \def\@permissionCodeOne{2469-7818}% -\or % TSLP - \def\@journalName{ACM Transactions on Speech and Language Processing}% - \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% - \def\@permissionCodeOne{1550-4875}% -\or % TWEB - \def\@journalName{ACM Transactions on the Web}% - \def\@journalNameShort{ACM Trans. Web}% - \def\@permissionCodeOne{1559-1131}% -\else % FACMP, a dummy journal - \def\@journalName{Forthcoming ACM Publication}% - \def\@journalNameShort{ACM Forthcoming}% - \def\@permissionCodeOne{XXXX-XXXX}% -\fi -\ClassInfo{\@classname}{Using journal code \@journalCode}% -}{% - \ClassError{\@classname}{Incorrect journal #1}% -}% -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% - \global\@ACM@journal@bibstriptrue} -\def\@journalCode@nr{0} -\def\@journalName{}% -\def\@journalNameShort{\@journalName}% -\def\@permissionCodeOne{XXXX-XXXX}% -\def\@permissionCodeTwo{}% -\newcommand\acmConference[4][]{% - \gdef\acmConference@shortname{#1}% - \gdef\acmConference@name{#2}% - \gdef\acmConference@date{#3}% - \gdef\acmConference@venue{#4}% - \ifx\acmConference@shortname\@empty - \gdef\acmConference@shortname{#2}% - \fi - \global\@ACM@journal@bibstripfalse -} -\if@ACM@journal\else -\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA}% -\fi -\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} -\acmBooktitle{} -\ifx\acmConference@name\@undefined\else -\acmBooktitle{Proceedings of \acmConference@name - \ifx\acmConference@name\acmConference@shortname\else - \ (\acmConference@shortname)\fi} -\fi -\def\@editorsAbbrev{(Ed.)} -\def\@acmEditors{} -\def\editor#1{\ifx\@acmEditors\@empty - \gdef\@acmEditors{#1}% - \else - \gdef\@editorsAbbrev{(Eds.)}% - \g@addto@macro\@acmEditors{\and#1}% -\fi} -\def\subtitle#1{\def\@subtitle{#1}} -\subtitle{} -\newcount\num@authorgroups -\num@authorgroups=0\relax -\newcount\num@authors -\num@authors=0\relax -\newif\if@insideauthorgroup -\@insideauthorgroupfalse -\renewcommand\author[2][]{% - \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several - authors in the same \string\author\space macro!}}{}% - \global\advance\num@authors by 1\relax - \if@insideauthorgroup\else - \global\advance\num@authorgroups by 1\relax - \global\@insideauthorgrouptrue - \fi - \ifx\addresses\@empty - \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)% - \ifx\@acmSubmissionID\@empty\else\\Submission Id: - \@acmSubmissionID\fi}}% - \gdef\authors{Anonymous Author(s)}% - \else - \expandafter\gdef\expandafter\addresses\expandafter{% - \expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \gdef\authors{#2}% - \fi - \else - \if@ACM@anonymous\else - \expandafter\g@addto@macro\expandafter\addresses\expandafter{% - \expandafter\and\expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \g@addto@macro\authors{\and#2}% - \fi - \fi - \if@ACM@anonymous - \ifx\shortauthors\@empty - \gdef\shortauthors{Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: - \@acmSubmissionID\fi}% - \fi - \else - \def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\shortauthors\@empty - \gdef\shortauthors{#2}% - \else - \g@addto@macro\shortauthors{\and#2}% - \fi - \else - \ifx\shortauthors\@empty - \gdef\shortauthors{#1}% - \else - \g@addto@macro\shortauthors{\and#1}% - \fi - \fi - \fi} -\newcommand{\affiliation}[2][]{% - \global\@insideauthorgroupfalse - \if@ACM@anonymous\else - \g@addto@macro\addresses{\affiliation{#1}{#2}}% - \fi} -\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} -\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} -\def\@additionalaffiliation#1{\bgroup - \def\position##1{\ignorespaces}% - \def\institution##1{##1\ignorespaces}% - \def\department{\@ifnextchar[{\@department}{\@department[]}}% - \def\@department[##1]##2{\unskip, ##2\ignorespaces}% - \let\streetaddress\position - \let\city\position - \let\state\position - \let\postcode\position - \let\country\position - Also with #1\unskip.\egroup} -\renewcommand{\email}[2][]{% - \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several - addresses in the same \string\email\space macro!}}{}% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\email{#1}{#2}}% - \fi} -\def\orcid#1{\unskip\ignorespaces% - \IfBeginWith{#1}{http}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{#1}{##1}}}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{https://orcid.org/#1}{##1}}}} -\def\authorsaddresses#1{\def\@authorsaddresses{#1}} -\authorsaddresses{\@mkauthorsaddresses} -\def\@titlenotes{} -\def\titlenote#1{% - \g@addto@macro\@title{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@titlenotes{% - \stepcounter{footnote}\footnotetext{Title note}}% - \else - \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@subtitlenotes{} -\def\subtitlenote#1{% - \g@addto@macro\@subtitle{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{Subtitle note}}% - \else - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@authornotes{} -\def\authornote#1{% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\@authornotemark}% - \g@addto@macro\@authornotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\newcommand\authornotemark[1][\relax]{% - \ifx#1\relax\relax\relax - \g@addto@macro\addresses{\@authornotemark}% - \else - \g@addto@macro\addresses{\@@authornotemark{#1}}% - \fi} -\def\acmVolume#1{\def\@acmVolume{#1}} -\acmVolume{1} -\def\acmNumber#1{\def\@acmNumber{#1}} -\acmNumber{1} -\def\acmArticle#1{\def\@acmArticle{#1}} -\acmArticle{} -\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} -\acmArticleSeq{\@acmArticle} -\def\acmYear#1{\def\@acmYear{#1}} -\acmYear{\the\year} -\def\acmMonth#1{\def\@acmMonth{#1}} -\acmMonth{\the\month} -\def\@acmPubDate{\ifcase\@acmMonth\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or - December\fi~\@acmYear} -\def\acmPrice#1{\def\@acmPrice{#1}} -\acmPrice{15.00} -\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} -\acmSubmissionID{} -\def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{978-x-xxxx-xxxx-x/YY/MM} -\def\acmDOI#1{\def\@acmDOI{#1}} -\acmDOI{10.1145/nnnnnnn.nnnnnnn} -\newif\if@ACM@badge -\@ACM@badgefalse -\newlength\@ACM@badge@width -\setlength\@ACM@badge@width{5pc} -\newlength\@ACM@title@width -\newlength\@ACM@badge@skip -\setlength\@ACM@badge@skip{1pc} -\newcommand\acmBadgeR[2][]{\@ACM@badgetrue - \def\@acmBadgeR@url{#1}% - \def\@acmBadgeR@image{#2}} -\def\@acmBadgeR@url{} -\def\@acmBadgeR@image{} -\newcommand\acmBadgeL[2][]{\@ACM@badgetrue - \def\@acmBadgeL@url{#1}% - \def\@acmBadgeL@image{#2}} -\def\@acmBadgeL@url{} -\def\@acmBadgeL@image{} -\def\startPage#1{\def\@startPage{#1}} -\startPage{} -\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is - obsolete. I am going to ignore it}} -\def\keywords#1{\def\@keywords{#1}} -\let\@keywords\@empty -\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{ACM keywords are mandatory - for papers over two pages}% - \fi\fi\fi} -\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} -\long\def\@saveabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \long\gdef\@abstract{#1}} -\@saveabstract{} -\long\def\@lempty{} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% - \if@ACM@printccs - \ClassInfo{\@classname}{Printing CCS}% - \else - \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% - \if@ACM@printacmref - \ClassInfo{\@classname}{Printing bibformat}% - \else - \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else - \ifnum\getrefnumber{TotPages}>1\relax - \ClassWarningNoLine{\@classname}{% - ACM reference format is mandatory \MessageBreak - for papers over one page. \MessageBreak - Please add printacmref=true to the \MessageBreak - \string\settopmatter\space command.}% - \fi\fi\fi} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% - \if@ACM@printfolios - \ClassInfo{\@classname}{Printing folios}% - \else - \ClassInfo{\@classname}{Suppressing folios}% - \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} -\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% - \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be - numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} -\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} -\settopmatter{printccs=true, printacmref=true} -\if@ACM@manuscript - \settopmatter{printfolios=true} -\else - \if@ACM@journal - \settopmatter{printfolios=true} - \else - \settopmatter{printfolios=false} - \fi -\fi -\settopmatter{authorsperrow=0} -\def\@received{} -\newcommand\received[2][]{\def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\@received\@empty - \gdef\@received{Received #2}% - \else - \g@addto@macro{\@received}{; revised #2}% - \fi - \else - \ifx\@received\@empty - \gdef\@received{#1 #2}% - \else - \g@addto@macro{\@received}{; #1 #2}% - \fi - \fi} -\AtEndDocument{% - \ifx\@received\@empty\else - \par\bigskip\noindent\small\normalfont\@received\par - \fi} -\RequirePackage{comment} -\excludecomment{CCSXML} -\let\@concepts\@empty -\newcounter{@concepts} -\newcommand\ccsdesc[2][100]{% - \ccsdesc@parse#1~#2~~\ccsdesc@parse@end} -\def\textrightarrow{$\rightarrow$} -\def\ccsdesc@parse#1~#2~#3~{% - \stepcounter{@concepts}% - \expandafter\ifx\csname CCS@General@#2\endcsname\relax - \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\ - \textbf{#2}}% - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }% - \expandafter\gdef\csname CCS@Specific@#2\endcsname{}% - \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname - \csname CCS@Punctuation@#2\endcsname - \csname CCS@Specific@#2\endcsname}% - \fi - \ifx#3\relax\relax\else - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{ - \textrightarrow\ }% - \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{% - \addtocounter{@concepts}{-1}% - \ifnum#1>499\textbf{#3}\else - \ifnum#1>299\textit{#3}\else - #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}% - \fi -\ccsdesc@parse@finish} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{CCS concepts are mandatory - for papers over two pages}% - \fi\fi\fi} -\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{} -\newif\if@printcopyright -\@printcopyrighttrue -\newif\if@printpermission -\@printpermissiontrue -\newif\if@acmowned -\@acmownedtrue -\define@choicekey*{ACM@}{acmcopyrightmode}[% - \acm@copyrightinput\acm@copyrightmode]{none,% - acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov,% - iw3c2w3,iw3c2w3g}{% - \@printpermissiontrue - \@printcopyrighttrue - \@acmownedtrue - \ifnum\acm@copyrightmode=0\relax % none - \@printpermissionfalse - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=2\relax % acmlicensed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=3\relax % rightsretained - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=4\relax % usgov - \@printpermissiontrue - \@printcopyrightfalse - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=6\relax % cagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=9\relax % licensedcagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=11\relax % othergov - \@acmownedtrue - \fi - \ifnum\acm@copyrightmode=12\relax % licensedothergov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=13\relax % iw3c2w3 - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=14\relax % iw3c2w3g - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi} -\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} -\setcopyright{acmcopyright} -\def\@copyrightowner{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Association for Computing Machinery. - \or % acmlicensed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % rightsretained - Copyright held by the owner/author(s). - \or % usgov - \or % usgovmixed - Association for Computing Machinery. - \or % cagov - Crown in Right of Canada. - \or %cagovmixed - Association for Computing Machinery. - \or %licensedusgovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % licensedcagov - Crown in Right of Canada. Publication rights licensed to - ACM\@. - \or %licensedcagovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % othergov - Association for Computing Machinery. - \or % licensedothergov - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % ic2w3www - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY~4.0 License. - \or % ic2w3wwwgoogle - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY-NC-ND~4.0 License. - \fi} -\def\@formatdoi#1{\url{https://doi.org/#1}} -\def\@copyrightpermission{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than ACM must be honored. Abstracting with credit is - permitted. To copy otherwise, or republish, to post on servers or to - redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % acmlicensed - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than the author(s) must be honored. Abstracting with credit - is permitted. To copy otherwise, or republish, to post on servers - or to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % rightsretained - Permission to make digital or hard copies of part or all of this work - for personal or classroom use is granted without fee provided that - copies are not made or distributed for profit or commercial advantage - and that copies bear this notice and the full citation on the first - page. Copyrights for third-party components of this work must be - honored. For all other uses, contact the - owner\hspace*{.5pt}/author(s). - \or % usgov - This paper is authored by an employee(s) of the United States - Government and is in the public domain. Non-exclusive copying or - redistribution is allowed, provided that the article citation is - given and the authors and agency are clearly identified as its - source. - \or % usgovmixed - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor, or affiliate of the United States - government. As such, the United States government retains a - nonexclusive, royalty-free right to publish or reproduce this - article, or to allow others to do so, for government purposes only. - \or % cagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % cagovmixed - ACM acknowledges that this contribution was co-authored by an - affiliate of the national government of Canada. As such, the Crown - in Right of Canada retains an equal interest in the copyright. - Reprints must include clear attribution to ACM and the author's - government agency affiliation. Permission to make digital or hard - copies for personal or classroom use is granted. Copies must bear - this notice and the full citation on the first page. Copyrights for - components of this work owned by others than ACM must be honored. - To copy otherwise, distribute, republish, or post, requires prior - specific permission and\hspace*{.5pt}/or a fee. Request permissions - from permissions@acm.org. - \or % licensedusgovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the United States government. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % licensedcagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % licensedcagovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the national government of Canada. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % othergov - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor or affiliate of a national government. As - such, the Government retains a nonexclusive, royalty-free right to - publish or reproduce this article, or to allow others to do so, for - Government purposes only. - \or % licensedothergov - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of a national government. As such, the Government - retains a nonexclusive, royalty-free right to publish or reproduce - this article, or to allow others to do so, for Government purposes - only. - \or % iw3c2w3 - This paper is published under the Creative Commons Attribution~4.0 - International (CC-BY~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % iw3c2w3g - This paper is published under the Creative Commons - Attribution-NonCommercial-NoDerivs~4.0 International - (CC-BY-NC-ND~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \fi} -\def\copyrightyear#1{\def\@copyrightyear{#1}} -\copyrightyear{\@acmYear} -\def\@teaserfigures{} -\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} -\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} -\renewcommand{\thanks}[1]{% - \@ifnotempty{#1}{% - \if@ACM@anonymous - \g@addto@macro\thankses{\thanks{A note}}% - \else - \g@addto@macro\thankses{\thanks{#1}}% - \fi}} -\ifx\@beginmaketitlehook\@undefined - \let\@beginmaketitlehook\@empty -\fi -\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook} -\newbox\mktitle@bx -\def\maketitle{\@beginmaketitlehook - \@ACM@maketitle@typesettrue - \if@ACM@anonymous - % Anonymize omission of \author-s - \ifnum\num@authorgroups=0\author{}\fi - \fi - \begingroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \let\@footnotemark\@footnotemark@nolink - \let\@footnotetext\@footnotetext@nolink - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \hsize=\textwidth - \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% - \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers - \@printtopmatter - \if@ACM@sigchiamode\@mkauthors\fi - \setcounter{footnote}{0}% - \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% - \@titlenotes - \@subtitlenotes - \@authornotes - \let\@makefnmark\relax - \let\@thefnmark\relax - \let\@makefntext\noindent - \ifx\@empty\thankses\else - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setthanks}% - \fi - \ifx\@empty\@authorsaddresses\else - \if@ACM@anonymous\else - \if@ACM@journal@bibstrip - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% - \fi - \fi - \fi - \if@ACM@nonacm\else\footnotetextcopyrightpermission{% - \if@ACM@authordraft - \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished working draft. Not for distribution.}}% - \color[gray]{0.9}% - \fi - \parindent\z@\parskip0.1\baselineskip - \if@ACM@authorversion\else - \if@printpermission\@copyrightpermission\par\fi - \fi - \if@ACM@manuscript\else - \if@ACM@journal@bibstrip\else % Print the conference information - {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par - \fi - \fi - \if@printcopyright - \copyright\ \@copyrightyear\ \@copyrightowner\\ - \else - \@copyrightyear.\ - \fi - \if@ACM@manuscript - Manuscript submitted to ACM\\ - \else - \if@ACM@authorversion - This is the author's version of the work. It is posted here for - your personal use. Not for redistribution. The definitive Version - of Record was published in - \if@ACM@journal@bibstrip - \emph{\@journalName}% - \else - \emph{\@acmBooktitle}% - \fi - \ifx\@acmDOI\@empty - . - \else - , \@formatdoi{\@acmDOI}. - \fi\\ - \else - \if@ACM@nonacm\else - \if@ACM@journal@bibstrip - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% - \fi - \fi - \fi - \fi} - \fi - \endgroup - \setcounter{footnote}{0}% - \@mkabstract - \if@ACM@printccs - \ifx\@concepts\@empty\else\bgroup - {\@specialsection{CCS Concepts}% - \noindent\@concepts\par}\egroup - \fi - \fi - \ifx\@keywords\@empty\else\bgroup - {\if@ACM@journal - \@specialsection{Additional Key Words and Phrases}% - \else - \@specialsection{Keywords}% - \fi - \noindent\@keywords\par}\egroup - \fi - \let\metadata@authors=\authors - \nxandlist{, }{, }{, }\metadata@authors - \def\@ACM@checkaffil{}% - \hypersetup{% - pdfauthor={\metadata@authors}, - pdftitle={\@title}, - pdfsubject={\@concepts}, - pdfkeywords={\@keywords}, - pdfcreator={LaTeX with acmart - \csname ver@acmart.cls\endcsname\space - and hyperref - \csname ver@hyperref.sty\endcsname}}% - \andify\authors - \andify\shortauthors - \global\let\authors=\authors - \global\let\shortauthors=\shortauthors - \if@ACM@printacmref - \@mkbibcitation - \fi - \global\@topnum\z@ % this prevents floats from falling - % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on the bottom either - \@printendtopmatter - \@afterindentfalse - \@afterheading -} -\def\@specialsection#1{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \ifcase\ACM@format@nr - \relax % manuscript - \par\medskip\small\noindent#1: % - \or % acmsmall - \par\medskip\small\noindent#1: % - \or % acmlarge - \par\medskip\small\noindent#1: % - \or % acmtog - \par\medskip\small\noindent#1: % - \or % sigconf - \section*{#1}% - \or % siggraph - \section*{#1}% - \or % sigplan - \noindentparagraph*{#1:~}% - \or % sigchi - \section*{#1}% - \or % sigchi-a - \section*{#1}% - \fi - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm -} -\def\@printtopmatter{% - \ifx\@startPage\@empty - \gdef\@startPage{1}% - \else - \setcounter{page}{\@startPage}% - \fi - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight - \loop - \setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight - \thispagestyle{firstpagestyle}% - \noindent\unvbox\@tempboxa - \clearpage - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight\repeat - \fi - \thispagestyle{firstpagestyle}% - \noindent - \ifcase\ACM@format@nr - \relax % manuscript - \box\mktitle@bx\par - \or % acmsmall - \box\mktitle@bx\par - \or % acmlarge - \box\mktitle@bx\par - \or % acmtog - \twocolumn[\box\mktitle@bx]% - \or % sigconf - \twocolumn[\box\mktitle@bx]% - \or % siggraph - \twocolumn[\box\mktitle@bx]% - \or % sigplan - \twocolumn[\box\mktitle@bx]% - \or % sigchi - \twocolumn[\box\mktitle@bx]% - \or % sigchi-a - \par\box\mktitle@bx\par\bigskip - \if@ACM@badge - \marginpar{\noindent - \ifx\@acmBadgeL@image\@empty\else - \href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% - \hskip\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% - \fi}% - \fi - \fi -} -\def\@mktitle{% - \ifcase\ACM@format@nr - \relax % manuscript - \@mktitle@i - \or % acmsmall - \@mktitle@i - \or % acmlarge - \@mktitle@i - \or % acmtog - \@mktitle@i - \or % sigconf - \@mktitle@iii - \or % siggraph - \@mktitle@iii - \or % sigplan - \@mktitle@iii - \or % sigchi - \@mktitle@iii - \or % sigchi-a - \@mktitle@iv - \fi -} -\def\@titlefont{% - \ifcase\ACM@format@nr - \relax % manuscript - \LARGE\sffamily\bfseries - \or % acmsmall - \LARGE\sffamily\bfseries - \or % acmlarge - \LARGE\sffamily\bfseries - \or % acmtog - \Huge\sffamily - \or % sigconf - \Huge\sffamily\bfseries - \or % siggraph - \Huge\sffamily\bfseries - \or % sigplan - \Huge\bfseries - \or % sigchi - \Huge\sffamily\bfseries - \or % sigchi-a - \Huge\bfseries - \fi} -\def\@subtitlefont{\normalsize - \ifcase\ACM@format@nr - \relax % manuscript - \mdseries - \or % acmsmall - \mdseries - \or % acmlarge - \mdseries - \or % acmtog - \LARGE - \or % sigconf - \LARGE\mdseries - \or % siggraph - \LARGE\mdseries - \or % sigplan - \LARGE\mdseries - \or % sigchi - \LARGE\mdseries - \or % sigchi-a - \mdseries - \fi} -\def\@mktitle@i{\hsize=\textwidth - \@ACM@title@width=\hsize - \ifx\@acmBadgeL@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \setbox\mktitle@bx=\vbox{\noindent\@titlefont - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\raggedright - \@titlefont\noindent - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi}% - \ifx\@acmBadgeR@image\@empty\else - \hskip\@ACM@badge@skip - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi - \par\bigskip}}% -\def\@mktitle@iii{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\@titlefont\centering - \@ACM@title@width=\hsize - \if@ACM@badge - \advance\@ACM@title@width by -2\@ACM@badge@width - \advance\@ACM@title@width by -2\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \fi}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\centering\@titlefont - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi - }% - \if@ACM@badge - \hskip\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeR@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi}% - \fi - \par\bigskip}}% -\def\@mktitle@iv{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont - \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par - \noindent\@title - \ifx\@subtitle\@empty\else - \par\noindent\@subtitlefont\@subtitle - \fi - \par\bigskip}}% -\newbox\@ACM@commabox -\def\@ACM@addtoaddress#1{% - \ifvmode\else - \if@ACM@affiliation@obeypunctuation\else - \setbox\@ACM@commabox=\hbox{, }% - \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox - \fi\fi - #1} -\def\streetaddress#1{\unskip\ignorespaces} -\def\postcode#1{\unskip\ignorespaces} -\if@ACM@journal - \def\position#1{\unskip\ignorespaces} - \def\institution#1{\global\@ACM@instpresenttrue - \unskip~#1\ignorespaces} - \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces} - \def\state#1{\unskip\ignorespaces} - \newcommand\department[2][0]{\unskip\ignorespaces} - \def\country#1{\global\@ACM@countrypresenttrue - \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces} -\else - \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\institution#1{\global\@ACM@instpresenttrue - \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation - #2\else#2\par\fi}% - \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}% - \let\state\@ACM@addtoaddress - \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}% -\fi -\def\@mkauthors{\begingroup - \hsize=\textwidth - \ifcase\ACM@format@nr - \relax % manuscript - \@mkauthors@i - \or % acmsmall - \@mkauthors@i - \or % acmlarge - \@mkauthors@i - \or % acmtog - \@mkauthors@i - \or % sigconf - \@mkauthors@iii - \or % siggraph - \@mkauthors@iii - \or % sigplan - \@mkauthors@iii - \or % sigchi - \@mkauthors@iii - \or % sigchi-a - \@mkauthors@iv - \fi - \endgroup -} -\def\@authorfont{\Large\sffamily} -\def\@affiliationfont{\normalsize\normalfont} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\or % acmlarge -\or % acmtog - \def\@authorfont{\LARGE\sffamily} - \def\@affiliationfont{\large} -\or % sigconf - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % siggraph - \def\@authorfont{\normalsize\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigplan - \def\@authorfont{\Large\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigchi - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % sigchi-a - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\fi -\def\@typeset@author@line{% - \andify\@currentauthors\par\noindent - \@currentauthors\def\@currentauthors{}% - \ifx\@currentaffiliations\@empty\else - \andify\@currentaffiliations - \unskip, {\@currentaffiliations}\par - \fi - \def\@currentaffiliations{}} -\newif\if@ACM@instpresent -\@ACM@instpresenttrue -\newif\if@ACM@citypresent -\@ACM@citypresenttrue -\newif\if@ACM@countrypresent -\@ACM@countrypresenttrue -\def\@ACM@resetaffil{% - \global\@ACM@instpresentfalse - \global\@ACM@citypresentfalse - \global\@ACM@countrypresentfalse -} -\def\@ACM@checkaffil{% - \if@ACM@instpresent\else - \ClassWarningNoLine{\@classname}{No institution present for an affiliation}% - \fi - \if@ACM@citypresent\else - \ClassWarningNoLine{\@classname}{No city present for an affiliation}% - \fi - \if@ACM@countrypresent\else - \ClassError{\@classname}{No country present for an affiliation}{ACM - requires each author to indicate their country using country macro.}% - \fi -} -\def\@mkauthors@i{% - \def\@currentauthors{}% - \def\@currentaffiliations{}% - \global\let\and\@typeset@author@line - \def\@author##1{% - \ifx\@currentauthors\@empty - \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}% - \else - \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}% - \fi - \gdef\and{}}% - \def\email##1##2{}% - \def\affiliation##1##2{% - \def\@tempa{##2}\ifx\@tempa\@empty\else - \ifx\@currentaffiliations\@empty - \gdef\@currentaffiliations{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}% - \@ACM@resetaffil - \@affiliationfont##2\@ACM@checkaffil}% - \else - \g@addto@macro{\@currentaffiliations}{\and - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \fi - \global\let\and\@typeset@author@line}% - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip - \noindent\addresses\@typeset@author@line - \par\medskip}% -} -\newbox\author@bx -\newdimen\author@bx@wd -\newskip\author@bx@sep -\author@bx@sep=1pc\relax -\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd - \def\and{\par}\normalbaselines - \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi - \@authorfont\@currentauthors\par\@affiliationfont - \@currentaffiliation}\egroup - \box\author@bx\hspace{\author@bx@sep}% - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}} -\def\@mkauthors@iii{% - \author@bx@wd=\textwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \or % 2=two authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 3=three authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 4=two authors per row (!) - \divide\author@bx@wd by 2\relax - \else % three authors per row - \divide\author@bx@wd by 3\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \else - \g@addto@macro\@currentaffiliation{\par\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx -}% - \hsize=\textwidth - \global\setbox\mktitle@bx=\vbox{\noindent - \unvbox\mktitle@bx\par\medskip\leavevmode - \lineskip=1pc\relax\centering\hspace*{-1em}% - \addresses\let\and\@typeset@author@bx\and\par\bigskip}} -\def\@mkauthors@iv{% - \author@bx@wd=\columnwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \else % 2=two authors per row - \divide\author@bx@wd by 2\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\nolinkurl{##2}}% - \else - \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx}% - \bgroup\hsize=\columnwidth - \par\raggedright\leftskip=\z@ - \lineskip=1pc\noindent - \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} -\def\@mkauthorsaddresses{% - \ifnum\num@authors>1\relax - Authors' \else Author's \fi - \ifnum\num@authorgroups>1\relax - addresses: \else address: \fi - \bgroup - \def\streetaddress##1{\unskip, ##1}% - \def\postcode##1{\unskip, ##1}% - \def\position##1{\unskip\ignorespaces}% - \gdef\@ACM@institution@separator{, }% - \def\institution##1{\unskip\@ACM@institution@separator ##1\gdef\@ACM@institution@separator{ and }}% - \def\city##1{\unskip, ##1}% - \def\state##1{\unskip, ##1}% - \renewcommand\department[2][0]{\unskip\@addpunct, ##2}% - \def\country##1{\unskip, ##1}% - \def\and{\unskip; \gdef\@ACM@institution@separator{, }}% - \def\@author##1{##1}% - \def\email##1##2{\unskip, \nolinkurl{##2}}% - \addresses - \egroup} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal - \ifx\@authorsaddresses\@empty - \ClassWarningNoLine{\@classname}{Authors' - addresses are mandatory for ACM journals}% - \fi\fi\fi} -\def\@setaddresses{} -\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} -\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} -\def\@mkteasers{% - \ifx\@teaserfigures\@empty\else - \def\@teaser##1{\par\bigskip\bgroup - \captionsetup{type=figure}##1\egroup\par} - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par - \noindent\@Description@presentfalse - \@teaserfigures\par\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without - description}\fi - \medskip}% - \fi} -\def\@mkabstract{\bgroup - \ifx\@abstract\@lempty\else - {\phantomsection\addcontentsline{toc}{section}{Abstract}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces\@abstract\par}% - \fi\egroup} -\def\@mkbibcitation{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% - \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do not use footnotes - inside a \string\title{} or \string\author{} command! Use - \string\titlenote{} or \string\authornote{} instead!}}% - \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, - Article~\@acmArticle\ \fi}% - \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak - \noindent\bgroup - \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title - \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@nonacm\else - % The 'nonacm' option disables 'printacmref' by default, - % and the present \@mkbibcitation definition is never used - % in this case. The conditional remains useful if the user - % explicitly sets \settopmatter{printacmref=true}. - \if@ACM@journal@bibstrip - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. - \fi - \fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi -\par\egroup} -\def\@printendtopmatter{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \par\bigskip - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm - } -\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} -\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.} -\RequirePackage{fancyhdr} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} -\if@ACM@review - \newsavebox{\ACM@linecount@bx} - \newlength\ACM@linecount@bxht - \newcount\ACM@linecount - \ACM@linecount\@ne\relax - \def\ACM@mk@linecount{% - \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont - \normalsize - \setlength{\ACM@linecount@bxht}{0pt}% - \loop{\color{red}\scriptsize\the\ACM@linecount}\\ - \global\advance\ACM@linecount by \@ne - \addtolength{\ACM@linecount@bxht}{\baselineskip}% - \ifdim\ACM@linecount@bxht<\textheight\repeat - {\color{red}\scriptsize\the\ACM@linecount}\hfill - \global\advance\ACM@linecount by \@ne}}} -\fi -\def\ACM@linecountL{% - \if@ACM@review - \ACM@mk@linecount - \begin{picture}(0,0)% - \put(-26,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\def\ACM@linecountR{% - \if@ACM@review - \ifcase\ACM@format@nr - \relax % manuscript - \relax - \or % acmsmall - \relax - \or % acmlarge - \relax - \or % acmtog - \ACM@mk@linecount - \or % sigconf - \ACM@mk@linecount - \or % siggraph - \ACM@mk@linecount - \or % sigplan - \ACM@mk@linecount - \or % sigchi - \ACM@mk@linecount - \or % sigchi-a - \ACM@mk@linecount - \fi - \begin{picture}(0,0)% - \put(20,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding down despite - % \numexpr rounding to nearest - \newcounter{ACM@time@hours} - \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} - \newcounter{ACM@time@minutes} - \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} - \newcommand\ACM@timestamp{% - \footnotesize% - \ifx\@acmSubmissionID\@empty\relax\else - Submission ID: \@acmSubmissionID.{ }% - \fi - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% - Page \thepage\ of \@startPage--\pageref*{TotPages}.% - } -\fi -\def\@shortauthors{% - \if@ACM@anonymous - Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi - \else\shortauthors\fi} -\def\@headfootfont{\sffamily\footnotesize} -\AtBeginDocument{% -\fancypagestyle{standardpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \def\@acmArticlePage{% - \ifx\@acmArticle\empty% - \if@ACM@printfolios\thepage\fi% - \else% - \@acmArticle\if@ACM@printfolios:\thepage\fi% - \fi% - }% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% - \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% - \fancyhead[RE]{\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmlarge - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmtog - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \if@ACM@sigchiamode - \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% - \fi - \if@ACM@timestamp - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi -}% -\pagestyle{standardpagestyle} -} -\newdimen\@folio@wd -\@folio@wd=\z@ -\newdimen\@folio@ht -\@folio@ht=\z@ -\newdimen\@folio@voffset -\@folio@voffset=\z@ -\def\@folio@max{1} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \@folio@wd=45.75pt\relax - \@folio@ht=1.25in\relax - \@folio@voffset=.2in\relax - \def\@folio@max{8} -\or % acmlarge - \@folio@wd=43.25pt\relax - \@folio@ht=79pt\relax - \@folio@voffset=.55in\relax - \def\@folio@max{10} -\fi -\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax - \ifnum\@tempcnta=0\relax\else - \loop - \ifnum\@tempcnta>\@folio@max\relax - \advance\@tempcnta by - \@folio@max - \repeat - \advance\@tempcnta by -1\relax - \@tempdima=\@folio@ht\relax - \multiply\@tempdima by \the\@tempcnta\relax - \advance\@tempdima by -\@folio@voffset\relax - \begin{picture}(0,0) - \makebox[\z@]{\raisebox{-\@tempdima}{% - \rlap{% - \raisebox{-0.45\@folio@ht}[\z@][\z@]{% - \rule{\@folio@wd}{\@folio@ht}}}% - \parbox{\@folio@wd}{% - \centering - \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}} - \end{picture}\fi} - -\AtBeginDocument{% -\fancypagestyle{firstpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@folioblob}% - \fancyheadoffset[RO,LE]{0.6\@folio@wd}% - \or % acmlarge - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[RO]{\@folioblob}% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyheadoffset[RO,LE]{1.4\@folio@wd}% - \or % acmtog - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \else % Conference proceedings - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \else - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \if@ACM@timestamp - \ifnum\ACM@format@nr=0\relax % Manuscript - \fancyfoot[LO,RE]{\ACM@timestamp\quad - \if@ACM@nonacm\else - \footnotesize Manuscript submitted to ACM - \fi} - \else - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \fi -}} -\def\ACM@NRadjust#1{% - \begingroup - \expandafter\ifx\csname Sectionformat\endcsname\relax - % do nothing when \Sectionformat is unknown - \def\next{\endgroup #1}% - \else - \def\next{\endgroup - \let\realSectionformat\Sectionformat - \def\ACM@sect@format@{#1}% - \let\Sectionformat\ACM@NR@adjustedSectionformat - %% next lines added 2018-06-17 to ensure section number is styled - \let\real@adddotafter\@adddotafter - \let\@adddotafter\ACM@adddotafter - #1{}% imposes the styles, but nullifies \MakeUppercase - \let\@adddotafter\real@adddotafter - }% - \fi \next -} -\def\ACM@NR@adjustedSectionformat#1#2{% - \realSectionformat{\ACM@sect@format{#1}}{#2}% - \let\Sectionformat\realSectionformat} -\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} -\def\ACM@sect@format@null#1{#1} -\let\ACM@sect@format@\ACM@sect@format@null -\AtBeginDocument{% - \expandafter\ifx\csname LTX@adddotafter\endcsname\relax - \let\LTX@adddotafter\@adddotafter - \fi -} -\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@secfont}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont\@adddotafter}}} -\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont}}} - -\renewcommand\part{\@startsection{part}{9}{\z@}% - {-10\p@ \@plus -4\p@ \@minus -2\p@}% - {4\p@}% - {\ACM@NRadjust\@parfont}} -\def\section@raggedright{\@rightskip\@flushglue - \rightskip\@rightskip - \leftskip\z@skip - \parindent\z@} -\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} -\def\@subsecfont{\sffamily\bfseries\section@raggedright} -\def\@subsubsecfont{\sffamily\itshape} -\def\@parfont{\itshape} -\setcounter{secnumdepth}{3} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % acmtog - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % sigconf - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or % siggraph - \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright} -\or % sigplan - \def\@secfont{\bfseries\Large\section@raggedright} - \def\@subsecfont{\bfseries\section@raggedright} - \def\@subsubsecfont{\bfseries\section@raggedright} - \def\@parfont{\bfseries\itshape} - \def\@subparfont{\itshape} -\or % sigchi - \setcounter{secnumdepth}{1} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % sigchi-a - \setcounter{secnumdepth}{0} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\fi -\def\@adddotafter#1{#1\@addpunct{.}} -\def\@addspaceafter#1{#1\@addpunct{\enspace}} -\providecommand*\@dotsep{4.5} -\def\@acmplainbodyfont{\itshape} -\def\@acmplainindent{\parindent} -\def\@acmplainheadfont{\scshape} -\def\@acmplainnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmplainbodyfont{\itshape} - \def\@acmplainindent{\z@} - \def\@acmplainheadfont{\bfseries} - \def\@acmplainnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -\newtheoremstyle{acmplain}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmplainbodyfont}% body font - {\@acmplainindent}% indent amount - {\@acmplainheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec -\def\@acmdefinitionbodyfont{\normalfont} -\def\@acmdefinitionindent{\parindent} -\def\@acmdefinitionheadfont{\itshape} -\def\@acmdefinitionnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmdefinitionbodyfont{\normalfont} - \def\@acmdefinitionindent{\z@} - \def\@acmdefinitionheadfont{\bfseries} - \def\@acmdefinitionnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -\newtheoremstyle{acmdefinition}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmdefinitionbodyfont}% body font - {\@acmdefinitionindent}% indent amount - {\@acmdefinitionheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec -\theoremstyle{acmplain} -\AtEndPreamble{% - \if@ACM@acmthm - \theoremstyle{acmplain} - \@ifundefined{theorem}{% - \newtheorem{theorem}{Theorem}[section] - }{} - \@ifundefined{conjecture}{% - \newtheorem{conjecture}[theorem]{Conjecture} - }{} - \@ifundefined{proposition}{% - \newtheorem{proposition}[theorem]{Proposition} - }{} - \@ifundefined{lemma}{% - \newtheorem{lemma}[theorem]{Lemma} - }{} - \@ifundefined{corollary}{% - \newtheorem{corollary}[theorem]{Corollary} - }{} - \theoremstyle{acmdefinition} - \@ifundefined{example}{% - \newtheorem{example}[theorem]{Example} - }{} - \@ifundefined{definition}{% - \newtheorem{definition}[theorem]{Definition} - }{} - \fi - \theoremstyle{acmplain} -} -\def\@proofnamefont{\scshape} -\def\@proofindent{\indent} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@proofnamefont{\itshape} - \def\@proofindent{\noindent} -\or % sigchi -\or % sigchi-a -\fi -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\@proofindent\hskip\labelsep - {\@proofnamefont #1\@addpunct{.}}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} -\AtEndPreamble{% - \if@ACM@pbalance - \global\@ACM@balancefalse - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \RequirePackage{pbalance}% - \or % sigconf - \RequirePackage{pbalance}% - \or % siggraph - \RequirePackage{pbalance}% - \or % sigplan - \RequirePackage{pbalance}% - \or % sigchi - \RequirePackage{pbalance}% - \or % sigchi-a - \fi - \fi - \if@ACM@balance - \ifcase\ACM@format@nr - \relax % manuscript - \global\@ACM@balancefalse - \or % acmsmall - \global\@ACM@balancefalse - \or % acmlarge - \global\@ACM@balancefalse - \or % acmtog - \RequirePackage{balance}% - \or % sigconf - \RequirePackage{balance}% - \or % siggraph - \RequirePackage{balance}% - \or % sigplan - \RequirePackage{balance}% - \or % sigchi - \RequirePackage{balance}% - \or % sigchi-a - \global\@ACM@balancefalse - \fi - \fi -} -\AtEndDocument{% - \if@ACM@balance - \if@twocolumn - \balance - \fi\fi} -\newcommand\acksname{Acknowledgments} -\specialcomment{acks}{% - \begingroup - \section*{\acksname} - \phantomsection\addcontentsline{toc}{section}{\acksname} -}{% - \endgroup -} -\def\grantsponsor#1#2#3{#2} -\newcommand\grantnum[3][]{#3% - \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} -\AtEndPreamble{% -\if@ACM@screen - \includecomment{screenonly} - \excludecomment{printonly} -\else - \excludecomment{screenonly} - \includecomment{printonly} -\fi -\if@ACM@anonymous - \excludecomment{anonsuppress} - \excludecomment{acks} -\else - \includecomment{anonsuppress} -\fi} -\newcommand\showeprint[2][arxiv]{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\def\@tempa{arxiv}\fi - \def\@tempb{arxiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - \def\@tempb{arXiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - arXiv:#2% - \fi - \fi} -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi - \columnseprule\z@ \columnsep 35\p@ - \@indextitlestyle - \let\item\@idxitem - \parindent\z@ \parskip\z@\@plus.3\p@\relax - \raggedright - \hyphenpenalty\@M - \footnotesize} -\let\@vspace@orig=\@vspace -\let\@vspacer@orig=\@vspacer -\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\let\@vspace@acm=\@vspace -\let\@vspacer@acm=\@vspacer -\let\ACM@origbaselinestretch\baselinestretch -\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else - \ClassError{\@classname}{An attempt to redefine - \string\baselinestretch\space detected. Please do not do this for - ACM submissions!}\fi} -\normalsize\normalfont\frenchspacing -\endinput -%% -%% End of file `acmart.cls'. diff --git a/Publications/PAZ_FAccT/acmart.dtx b/Publications/PAZ_FAccT/acmart.dtx deleted file mode 100644 index ed0a0c8..0000000 --- a/Publications/PAZ_FAccT/acmart.dtx +++ /dev/null @@ -1,7579 +0,0 @@ -% \iffalse -% -% Copyright 2016-2021, Association for Computing Machinery -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either -% version 1.3 of this license or (at your option) any -% later version. -% The latest version of the license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of -% LaTeX version 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Boris Veytsman, -% -% -% This work consists of the file acmart.dtx, the derived file -% acmart.cls, the files ACM-Reference-Format.bst, and templates -% sample-acmlarge.tex, sample-acmsmall.tex, sample-acmtog.tex, -% samplebody-conf.tex, samplebody-journals.tex, sample-manuscript.tex, -% sample-sigconf-authordraft.tex, sample-sigconf.tex, -% sample-sigplan.tex -% -% \fi -% -% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -% -% -% \MakeShortVerb{|} -% \def\guide{acmguide} -% \iffalse -% From -% http://tex.stackexchange.com/questions/117892/can-i-convert-a-string-to-catcode-11 by egreg -% \fi -% \begingroup -% \everyeof{\noexpand} -% \endlinechar=-1 -% \xdef\currentjob{\scantokens\expandafter{\jobname}} -% \endgroup -% -% \ifx\currentjob\guide\OnlyDescription\fi -% \GetFileInfo{acmart.dtx} -% \title{\LaTeX{} Class for the \emph{Association for Computing -% Machinery}\thanks{\copyright 2016--2021, Association for Computing Machinery}} -% \author{Boris Veytsman\thanks{% -% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, -% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} -% \date{\filedate, \fileversion} -% \maketitle -% \begin{abstract} -% This package provides a class for typesetting publications of -% the Association for Computing Machinery. -% \end{abstract} -% \tableofcontents -% -% \clearpage -% -%\section{Introduction} -%\label{sec:intro} -% -% The Association for Computing -% Machinery\footnote{\url{http://www.acm.org/}} is the world's largest -% educational and scientific computing society, which delivers -% resources that advance computing as a science and a -% profession. It was one of the -% early adopters of \TeX\ for its typesetting. -% -% It provided several different classes for a number of journals and -% conference proceedings. Unfortunately during the years since these -% classes were written, the code was patched many times, and -% supporting different versions of the classes became difficult. -% -% This package provides the uniform interface for all ACM -% publications. It is intended to replace all the different classes and -% packages and provide an up-to-date \LaTeX\ package. -% -% This package uses only free \TeX\ packages and fonts included in \TeX -% Live, Mik\TeX\ and other popular \TeX\ distributions. It is -% intended to be published in these distributions itself, which -% minimizes users' efforts in the installation and support of this -% package. -% -% I am grateful to -% Michael D.~Adams, -% Leif Andersen, -% Lawrence Christopher Angrave, -% Dirk Beyer, -% Andrew Black, -% Joachim Breitner, -% Benjamin Byholm, -% John Collins, -% Nils Anders Danielsson, -% Michael Ekstrand, -% Matthew Fluet, -% Paolo G.~Giarrusso, -% Ben Greenman, -% Enrico Gregorio, -% Jamie Davis, -% Ulrike Fischer, -% Jason Hemann, -% Peter Kemp, -% Luis Leiva, -% Ben Liblit, -% Rholais Lii, -% LianTze Lim, -% Kuldeep S. Meel, -% Kai Mindermann, -% Frank Mittelbach, -% Serguei Mokhov, -% Ross Moore, -% John Owens, -% Joel Nider, -% Scott Pakin, -% Tobias Pape, -% Henning Pohl, -% Philip Quinn, -% Mathias Rav, -% Andreas Reichinger, -% Matteo Riondato, -% Craig Rodkin, -% Bernard Rous, -% Feras Saad, -% Kerry A. Seitz, Jr., -% David Shamma, -% Gabriel Scherer, -% Kartik Singhal, -% Christoph Sommer, -% Stephen Spencer, -% Shin Hwei Tan, -% Daniel Thomas, -% Shari Trewin, -% Zack Weinberg, -% John Wickerson -% and many others for their invaluable help. -% -% The development version of the package is available at -% \url{https://github.com/borisveytsman/acmart}. -% -%\section{User's guide} -%\label{sec:ug} -% -% -% This class uses many commands and customizaton options, so it might -% appear intimidating for a casual user. Do not panic! Many of these -% commands and options can be safely left with their default values -% or the values recommended by your conference or journal editors. If -% you have problems or questions, do not hesitate to ask me directly -% or the community at \url{https://github.com/borisveytsman/acmart}, -% \url{https://tex.stackexchange.com} or the closest \TeX\ Users -% Group. The world-wide \TeX\ Users Group is at -% \url{https://tug.org/}; please consider joining us if you use \TeX\ -% regularly. -% -%\subsection{Installation} -%\label{sec:ug_install} -% -% Most probably, you already have this package installed in your -% favorite \TeX\ distribution; if not, you may want to upgrade. You -% may need to upgrade it anyway since this package uses a number of -% relatively recent packages, especially the ones related to fonts. -% -% The latest released version of this package can be found on CTAN: -% \url{https://www.ctan.org/pkg/acmart}. The development version can -% be found on GitHub: \url{https://github.com/borisveytsman/acmart}. -% At this address you can file a bug report---or even contribute your -% own enhancement by making a pull request. -% -% 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. -% -% Most users should not attempt to install this package themselves -% but should rather rely on their \TeX\ distributions to provide it. If you -% decide to install the package yourself, follow the standard rules: -% \begin{enumerate} -% \item Run |latex acmart.ins|. This will produce the file -% |acmart.cls| -% \item Put the files |acmart.cls| and |ACM-Reference-Format.bst| -% in places where \LaTeX{} can find them (see \cite{TeXFAQ} or -% the documentation for your \TeX{} system).\label{item:install} -% \item Update the database of file names. Again, see \cite{TeXFAQ} -% or the documentation for your \TeX{} system for the system-specific -% details.\label{item:update} -% \item The file |acmart.pdf| provides the documentation for the -% package. (This is probably the file you are reading now.) -% \end{enumerate} -% As an alternative to items~\ref{item:install} and~\ref{item:update} -% you can just put the files in the working directory where your -% |.tex| file is. -% -% -% This class uses a number of other packages. They are included in all -% major \TeX\ distributions (\TeX Live, Mac\TeX, Mik\TeX) of 2015 and -% later, so you probably have them installed. Just in case here is -% the list of these packages: -% \begin{itemize} -% \item \textsl{amscls}, \url{http://www.ctan.org/pkg/amscls} -% \item \textsl{amsfonts}, \url{http://www.ctan.org/pkg/amsfonts} -% \item \textsl{amsmath}, \url{http://www.ctan.org/pkg/amsmath} -% \item \textsl{binhex}, \url{http://www.ctan.org/pkg/binhex} -% \item \textsl{balance}, \url{http://www.ctan.org/pkg/balance} -% \item \textsl{booktabs}, \url{http://www.ctan.org/pkg/booktabs} -% \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption} -% \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment} -% \item \textsl{cm-super}, \url{http://www.ctan.org/pkg/cm-super} -% \item \textsl{cmap}, \url{http://www.ctan.org/pkg/cmap} -% \item \textsl{draftwatermark}, \url{http://www.ctan.org/pkg/draftwatermark} -% \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ} -% \item \textsl{etoolbox}, \url{http://www.ctan.org/pkg/etoolbox} -% \item \textsl{fancyhdr}, \url{http://www.ctan.org/pkg/fancyhdr} -% \item \textsl{float}, \url{http://www.ctan.org/pkg/float} -% \item \textsl{fontaxes}, \url{http://www.ctan.org/pkg/fontaxes} -% \item \textsl{geometry}, \url{http://www.ctan.org/pkg/geometry} -% \item \textsl{graphics}, \url{http://www.ctan.org/pkg/graphics} -% \item \textsl{hyperref}, \url{http://www.ctan.org/pkg/hyperref} -% \item \textsl{hyperxmp}, \url{http://www.ctan.org/pkg/hyperxmp} -% \item \textsl{iftex}, \url{http://www.ctan.org/pkg/iftex} -% \item \textsl{inconsolata}, \url{http://www.ctan.org/pkg/inconsolata} -% \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine} -% \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot} -% \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype} -% \item \textsl{mmap}, \url{http://www.ctan.org/pkg/mmap} -% \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms} -% \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights} -% \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib} -% \item \textsl{nccfoots}, \url{http://www.ctan.org/pkg/nccfoots} -% \item \textsl{newtx}, \url{http://www.ctan.org/pkg/newtx} -% \item \textsl{oberdiek}, \url{http://www.ctan.org/pkg/oberdiek} -% \item \textsl{pdftex-def}, \url{http://www.ctan.org/pkg/pdftex-def} -% \item \textsl{refcount}, \url{http://www.ctan.org/pkg/refcount} -% \item \textsl{setspace}, \url{http://www.ctan.org/pkg/setspace} -% \item \textsl{textcase}, \url{http://www.ctan.org/pkg/textcase} -% \item \textsl{totpages}, \url{http://www.ctan.org/pkg/totpages} -% \item \textsl{trimspaces}, \url{http://www.ctan.org/pkg/trimspaces} -% \item \textsl{upquote}, \url{http://www.ctan.org/pkg/upquote} -% \item \textsl{url}, \url{http://www.ctan.org/pkg/url} -% \item \textsl{xcolor}, \url{http://www.ctan.org/pkg/xcolor} -% \item \textsl{xkeyval}, \url{http://www.ctan.org/pkg/xkeyval} -% \item \textsl{xstring}, \url{http://www.ctan.org/pkg/xstring} -% \end{itemize} -% -% -%\subsection{Invocation and options} -%\label{sec:invocation} -% -% To use this class, put in the preamble of your document -% \begin{quote} -% \cs{documentclass}\oarg{options}|{acmart}| -% \end{quote} -% There are several options corresponding to the type of the document and -% its general appearance. They are described below. Generally -% speaking, the options have |key=value| forms, for example, -% \begin{verbatim} -% \documentclass[format=acmsmall, screen=true, review=false]{acmart} -% \end{verbatim} -% -% -% The option |format| describes the format of the output. There are -% several possible values for this option, for example, -% \begin{verbatim} -% \documentclass[format=acmtog]{acmart} -% \end{verbatim} -% Actually the words |format=| can be omitted, e.g., -% \begin{verbatim} -% \documentclass[acmtog, review=false]{acmart} -% \end{verbatim} -% The possible formats are listed in -% Table~\ref{tab:opts_format}. Note that formats starting with |acm| -% are intended for journals and transactions, while formats starting -% with |sig| are intended for proceedings published as books. -% -% Note that sometimes conference proceedings are published as a -% special issue (or issues) of an ACM journal. In this case, you -% should use the journal format for a conference paper. Please -% contact your conference committee if in doubt. -% -% \begin{table} -% \centering -% \caption{The possible values for the \texttt{format} option} -% \label{tab:opts_format} -% \begin{tabularx}{\textwidth}{>{\ttfamily}lX} -% \toprule -% \normalfont Value & Meaning\\ -% \midrule -% manuscript & A manuscript. This is the default. \\ -% acmsmall & Small single-column format. Used for CIE, CSUR, -% DLT, FAC, JACM, JDIQ, JEA, JERIC, -% JETC, PACMCGIT, PACMHCI, PACMPL, TAAS, TACCESS, TACO, -% TALG, TALLIP (formerly TALIP), TCPS, TDS, -% TEAC, TECS, TELO, THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS, -% TOCE, TOCHI, TOCL, -% TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly -% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, -% TOS, TOSEM, TOSN, TQC, TRETS, -% TSAS, TSC, TSLP and TWEB, including special issues. \\ -% acmlarge & Large single-column format. Used for DTRAP, HEALTH, -% IMWUT, JOCCH, POMACS and TAP, including special issues. \\ -% acmtog & Large double-column format. Used for -% TOG, including annual conference Technical Papers.\\ -% sigconf & Proceedings format for most ACM -% conferences (with the exceptions listed below) and all ICPS -% volumes.\\ -% sigplan & Proceedings format for SIGPLAN conferences.\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% Starting in 2020, ACM retired formats |sigchi| and |sigchi-a|. -% SIGCHI conferences now use |sigconf| format for their publications. -% If a file uses |sigchi| format, a warning is issued, and the format -% is automatically switched to |sigconf|. Format |sigchi-a| can be -% used for non-ACM documents only (see Section~\ref{sec:sigchi-a}). -% -% There are several Boolean options that can take |true| or |false| -% values. They are listed in Table~\ref{tab:opts_bool}. The words -% |=true| can be omitted when setting a Boolean option, so instead of -% |screen=true| one can write just |screen|, for example, -% \begin{verbatim} -% \documentclass[acmsmall, screen, review]{acmart} -% \end{verbatim} -% The option |review| is useful when combined with the |manuscript| format -% option. It provides a version suitable for reviewers and -% copy editors. -% -% Two samples in the |samples| directory, |manuscript| and -% |acmsmall-submission|, show manuscripts formatted for submission to -% ACM. -% -% The default for the option |screen| depends on the publication. At -% present it is |false| for all publications \emph{but} PACM, since -% PACM is now electronic-only. Thus PACM titles~(see -% Table~\ref{tab:pubs}) set this option to |true|. In the future this -% option may involve additional features suitable for on-screen -% versions of articles. -% -% The option |natbib| is used when the corresponding -% \BibTeX\ style is based on |natbib|. In most cases you do not need -% to set it. See -% Section~\ref{sec:ug_bibliography}. -% -% The option |anonymous| is used -% for anonymous review processes and causes all author information to be -% obscured. -% -% The option |timestamp| is used to include a time stamp in the -% footer of each page. When preparing a document, this can help avoid -% confusing different revisions. The footer also includes the page range of -% the document. This helps detect missing pages in hard copies. -% -% The option |authordraft| is intended for author's drafts that are not -% intended for distribution. It typesets a copyright block to give the -% author an idea of its size and the overall size of the paper but -% overprints it with the phrase ``Unpublished working draft. Not for -% distribution.'', which is also used as a watermark. This option sets -% |timestamp| and |review| to |true|, but these can be -% overriden by setting these options to |false| \emph{after} -% setting |authordraft| to |true|. -% -% The option |balance| determines whether the last page in the two -% column mode has balanced columns. By default it is |true|; however, -% it may lead to problems for some documents. Set it to |false| if -% you encounter compilation errors. Note that for one page documents -% \cs{balance} command might cause problems. An alternative is the -% (experimental) option |pbalance|, which uses the new package -% |pbalance| for this end. -% -% The option |urlbreakonhyphens| determines whether URLs can be split -% between lines after hyphens. By default it is true. Set it to -% |false| to disallow these breaks. -% -% \begin{table} -% \centering -% \caption{Boolean options} -% \label{tab:opts_bool} -% \begin{tabularx}{\textwidth}{>{\ttfamily}l>{\ttfamily}lX} -% \toprule -% \normalfont Option & \normalfont Default & Meaning\\ -% \midrule -% review & false & A review version: lines are numbered and -% hyperlinks are colored\\ -% screen & {\rmfamily see text} & A screen version: -% hyperlinks are colored\\ -% natbib & true & Whether to use the |natbib| package (see -% Section~\ref{sec:ug_bibliography})\\ -% anonymous & false & Whether to make author(s) anonymous\\ -% authorversion & false & Whether to generate a special -% version for the authors' personal use or posting (see -% Section~\ref{sec:ug_topmatter})\\ -% nonacm & false & Use the class typesetting options for -% a non-ACM document, which will not include the conference/journal -% header and footers or permission statements\\ -% timestamp & false & Whether to put a time stamp in the -% footer of each page\\ -% authordraft & false & Whether author's-draft mode is enabled\\ -% acmthm & true & Whether to define theorem-like environments, see -% Section~\ref{sec:ug_theorems}\\ -% balance & true & Whether to balance the last page in two column -% mode\\ -% pbalance & false & Whether to balance the last page in two column -% mode using pbalance package\\ -% urlbreakonhyphens & true & Whether to break urls on hyphens\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% -% -%\subsection{Top matter} -%\label{sec:ug_topmatter} -% -% A number of commands set up \emph{top matter} or (in -% computer science jargon) \emph{metadata} for an article. They -% establish the publication name, article title, authors, DOI and -% other data. Some of these commands, like \cs{title} and \cs{author}, -% should be put by the authors. Others, like \cs{acmVolume} and -% \cs{acmDOI}---by the editors. Below we describe these commands and -% mention who should issue them. These macros should be used -% \emph{before} the \cs{maketitle} command. Note that in previous -% versions of ACM classes some of these commands should be used before -% \cs{maketitle}, and some after it. Now they all must be used before -% \cs{maketitle}. -% -% -% This class internally loads the |amsart| class, so many top-matter -% commands are inherited from |amsart|~\cite{Downes04:amsart}. -% -% \DescribeMacro{\acmJournal}% -% The macro \cs{acmJournal}\marg{shortName} sets the name of the -% journal or transaction for journals and transactions. The argument -% is the short name of the publication \emph{in uppercase}, for -% example, -% \begin{verbatim} -% \acmJournal{TOMS} -% \end{verbatim} -% The currently recognized journals are listed in -% Table~\ref{tab:pubs}. Note that conference proceedings published in -% \emph{book} form do not set this macro. -% -% -% -% \DescribeMacro{\acmConference}% -% The macro -% \cs{acmConference}\oarg{short name}\marg{name}\marg{date}\marg{venue} is -% used for conference proceedings published in the book form. The -% arguments are the following: -% \begin{description} -% \item[short name:] the abbreviated name of the conference (optional). -% \item[name:] the name of the conference. -% \item[date:] the date(s) of the conference. -% \item[venue:] the place of the conference. -% \end{description} -% Examples: -% \begin{verbatim} -% \acmConference[TD'15]{Technical Data Conference}{November -% 12--16}{Dallas, TX, USA} -% \acmConference{SA'15 Art Papers}{November 02--06, 2015}{Kobe, Japan} -% \end{verbatim} -% -% \DescribeMacro{\acmBooktitle}% -% By default we assume that conference proceedings are published -% in the book named \emph{Proceedings of \textsc{CONFERENCE}}, where -% \textsc{CONFERENCE} is the name of the conference inferred from the -% command \cs{acmConference} above. However, sometimes the book title -% is different. The command \cs{acmBooktitle} can be used to set this -% title, for example, -% \begin{verbatim} -% \acmBooktitle{Companion to the first International Conference on the -% Art, Science and Engineering of Programming (Programming '17)} -% \end{verbatim} -% -% An ACM paper should have either \cs{acmJournal} or -% \cs{acmConference} command. If it has both (or more) commands, the -% last one takes precedence. Note that if you have the command -% \cs{acmConference} in a journal format like |acmsmall|, the class -% will use conference format for bibstrip and reference citation -% formatting. In the samples directory there is a file -% |sample-acmsmall-conf.tex| with the example of this usage. -% -% -% -% \DescribeMacro{\editor}% -% In most cases, conference proceedings are edited. You can use the -% command \cs{editor}\marg{editor} to set the editor of the volume. -% This command can be repeated, for example, -% \begin{verbatim} -% \editor{Jennifer B. Sartor} -% \editor{Theo D'Hondt} -% \editor{Wolfgang De Meuter} -% \end{verbatim} -% -% -% \DescribeMacro{\title}% -% The command |\title|, as in the |amsart| class, has two arguments: one -% optional, and one mandatory: -% \begin{flushleft} -% |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| -% \end{flushleft} -% The mandatory argument is the full title of the article. The -% optional argument, if present, defines the shorter version of the -% title for running heads. If the optional argument is absent, the -% full title is used instead. -% -% It is expected that this command is inserted by the author of the -% manuscript. -% -% \DescribeMacro{\subtitle}% -% Besides title, ACM classes allow a subtitle, set with the -% \cs{subtitle}\marg{subtitle} macro. -% -% The commands for specifying authors are highly structured. -% The reason is they serve double duty: the authors' information is -% typeset in the manuscript \emph{and} is used by the metadata -% extraction tools for indexing and cataloguing. Therefore it is very -% important to follow the guidelines exactly. -% -% \DescribeMacro{\author}% -% \DescribeMacro{\orcid} -% \DescribeMacro{\affiliation}% -% \DescribeMacro{\email}% -% The basic commands are \cs{author}, \cs{orcid} (for the researchers -% registered with ORCID, \url{http://www.orcid.org/}), \cs{affiliation} and -% \cs{email}. In the simplest case, you enter them in this order: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% Do \emph{not} use the \LaTeX\ \cs{and} macro or commas, or \verb|\\| -% between the authors! Each author deserves his or -% her own \cs{author} command. An attempt to list several authors or -% their e-mails in one command leads to a warning or an error. This -% is not a bug, but the expected behavior. -% -% Note that some formats do not typeset e-mails or ORCID identifiers. -% Do not worry: the metadata tools will get them. -% -% Sometimes an author has several affiliations. In this case, the -% \cs{affiliation} command should be repeated: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% Similarly you can repeat the \cs{email} command. -% -% You may have several authors with the same affiliation, different -% affiliations, or overlapping affiliations (author~$A_1$ is affiliated -% with institutions $I_1$ and $I_2$, while author $A_2$ is affiliated -% with $I_2$ only, author $A_3$ is affiliated with -% $I_1$ and $I_3$, etc.). The recommended solution is to put the -% \cs{affiliation} commands after each author, possibly repeating them: -% \begin{verbatim} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \email{...} -% \author{...} -% \orcid{...} -% \affiliation{...} -% \affiliation{...} -% \email{...} -% \end{verbatim} -% In some cases, when several authors share the same affiliation, you can -% try to save space using the format -% \begin{verbatim} -% \author{...} -% \email{...} -% \author{...} -% \email{...} -% \affiliation{...} -% \end{verbatim} -% However, this format is not generally recommended. -% -% \DescribeMacro{\additionalaffiliation}% -% In some cases, too many affiliations can take too much space. The -% command \cs{additionalaffiliation}\marg{affiliation} creates a -% footnote after an author's name with the words ``Also with -% \marg{affiliation}''. You should use this command only as a last -% resort. An example of usage is: -% \begin{verbatim} -% \author{G. Tobin} -% \author{Ben Trovato} -% \additionalaffiliation{% -% \institution{The Th{\o}rv{\"a}ld Group} -% \streetaddress{1 Th{\o}rv{\"a}ld Circle} -% \city{Hekla} -% \country{Iceland}} -% \affiliation{% -% \institution{Institute for Clarity in Documentation} -% \streetaddress{P.O. Box 1212} -% \city{Dublin} -% \state{Ohio} -% \postcode{43017-6221}} -% \end{verbatim} -% Here Trovato and Tobin share their affiliation with the Institute -% for Clarity in Documentation, but only Ben Trovato is affiliated -% with The Th{\o}rv{\"a}ld Group. -% -% -% \DescribeMacro{\position}% -% \DescribeMacro{\institution}% -% \DescribeMacro{\department}% -% \DescribeMacro{\streetaddress}% -% \DescribeMacro{\city}% -% \DescribeMacro{\state}% -% \DescribeMacro{\postcode}% -% \DescribeMacro{\country}% -% The \cs{affiliation} and \cs{additionalaffiliation} commands are -% further structured to interact with the metadata extraction tools. -% Inside these commands you should use the \cs{position}, -% \cs{institution}, \cs{department}, \cs{city}, \cs{streetaddress}, -% \cs{state}, \cs{postcode} and \cs{country} macros to indicate the -% corresponding parts of the affiliation. Note that in some cases -% (for example, journals) these parts are not printed in the resulting -% copy, but they \emph{are} necessary since they are used by the XML -% metadata extraction programs. Do \emph{not} put commas or |\\| -% between the elements of \cs{affiliation}. They will be provided -% automatically. -% -% The fields \cs{institution}, \cs{city} and \cs{country} are -% mandatory. If they are not provided, an error or a warning is -% issued. Currently the absence of \cs{country} produces an error; -% ACM may change this in the future. -% -% -% An example of the author block: -% \begin{verbatim} -% \author{A. U. Thor} -% \orcid{1234-4564-1234-4565} -% \affiliation{% -% \institution{University of New South Wales} -% \department{School of Biomedical Engineering} -% \streetaddress{Samuels Building (F25), Kensington Campus} -% \city{Sidney} -% \state{NSW} -% \postcode{2052} -% \country{Australia}} -% \email{author@nsw.au.edu} -% \author{A. N. Other} -% \affiliation{% -% \institution{University of New South Wales} -% \city{Sidney} -% \state{NSW} -% \country{Australia}} -% \author{C. O. Respondent} -% \orcid{1234-4565-4564-1234} -% \affiliation{% -% \institution{University of Pennsylvania} -% \city{Philadelphia} -% \state{PA} -% \country{USA}} -% \affiliation{% -% \institution{University of New South Wales} -% \city{Sidney} -% \state{NSW} -% \country{Australia}} -% \end{verbatim} -% -% Note that the old ACM conference formats did not allow more than six -% authors and required some effort from authors to achieve -% alignment. The new format is much better in this. -% -% Sometimes an author works in several departments within the same -% insitution. There could be two situations: the departments are -% independent, or one department is within another. In the first -% case, just repeat the command \cs{department} several times. To -% handle the second case the command has an optional numerical -% parameter. The departments with higher numbers are higher in the -% organizational chart. Compare -% \begin{verbatim} -% \affiliation{% -% \department[0]{Department of Lunar Studies} % 0 is the default -% \department[1]{John Doe Institute} % higher than 0 -% \institution{University of San Serriffe} -% \country{San Serriffe}} -% \end{verbatim} -% and -% \begin{verbatim} -% \affiliation{% -% \department{Department of Lunar Studies} % Not in the John Doe Institute! -% \department{John Doe Institute} -% \institution{University of San Serriffe} -% \country{San Serriffe}} -% \end{verbatim} -% -% -% The command \cs{affiliation} formats its output according to -% American conventions. This might be wrong for some cases. -% Consider, for example, a German address. In Germany, the postcode is -% put before the city and is not separated by a comma. We can handle this -% order using -% \begin{verbatim} -% \affiliation{% -% \institution{Fluginstitut} -% \streetaddress{Sonnenallee 17} -% \postcode{123456} -% \city{Helm} -% \country{Germany}} -% \end{verbatim} -% However, the comma after the postcode is unfortunate: the address will -% be typeset (in some formats) as -% \begin{verbatim} -% Fluginstitut -% Sonenallee 17 -% 123456, Helm, Germany -% \end{verbatim} -% -% -% To overcome this problem, the command \cs{affiliation} has an -% optional parameter |obeypunctuation|, which can be |false| (the -% default) or |true|. If this parameter is |true|, \cs{afffiliation} -% obeys the author's command. Thus -% \begin{verbatim} -% \affiliation[obeypunctuation=true]{% -% \institution{Fluginstitut}\\ -% \streetaddress{Sonnenallee 17}\\ -% \postcode{123456} -% \city{Helm}, -% \country{Germany}} -% \end{verbatim} -% will be typeset as -% \begin{verbatim} -% Fluginstitut -% Sonenallee 17 -% 123456 Helm, Germany -% \end{verbatim} -% -% Note that you should \emph{not} use this option for journals. -% -% It is expected that these commands are inserted by the author of the -% manuscript. -% -% \DescribeMacro{\thanks}% -% Like |amsart| (and unlike standard \LaTeX{}), we allow -% |\thanks| only \emph{outside} of the commands |\title| and |\author|. -% This command is obsolete and should \emph{not} be used in most -% cases. Do not list your acknowledgments or grant sponsors here. -% Put this information in the |acks| environment (see -% Section~\ref{sec:ug_acks}). -% -% \DescribeMacro{\authorsaddresses}% -% In some formats, addresses are printed as a footnote on the first -% page. By default \LaTeX\ typesets them itself using the information -% you give it. However, you can override its choice using the -% commmand \cs{authorsaddresses}\marg{contact addresses}, for example, -% \begin{verbatim} -% \authorsaddresses{% -% Authors' addresses: G.~Zhou, Computer Science Department, College of -% William and Mary, 104 Jameson Rd, Williamsburg, PA 23185, US; -% V.~B\'eranger, Inria Paris-Rocquencourt, Rocquencourt, France; -% A.~Patel, Rajiv Gandhi University, Rono-Hills, Doimukh, Arunachal -% Pradesh, India; H.~Chan, Tsinghua University, 30 Shuangqing Rd, -% Haidian Qu, Beijing Shi, China; T.~Yan, Eaton Innovation Center, -% Prague, Czech Republic; T.~He, C.~Huang, J.~A.~Stankovic University -% of Virginia, School of Engineering Charlottesville, VA 22903, USA; -% T. F. Abdelzaher, (Current address) NASA Ames Research Center, -% Moffett Field, California 94035.} -% \end{verbatim} -% You can \emph{suppress} printing authors' addresses by setting them -% to an empty string: |\authorsaddresses{}|. Please note that -% authors' addresses are mandatory for journal articles. -% -% \DescribeMacro{\titlenote}% -% \DescribeMacro{\subtitlenote}% -% \DescribeMacro{\authornote}% -% While the command \cs{thanks} generates a note without a footnote -% mark, sometimes the authors might need notes more tightly connected -% to the title, subtitle or author. The commands \cs{titlenote}, -% \cs{subtitlenote} and \cs{authornote} that follow the corresponding -% commands (\cs{title}, \cs{subtitle} and \cs{author}) generate such -% notes. For example, -% \begin{verbatim} -% \title{This is a title} -% \titlenote{This is a titlenote} -% \author{A. U. Thor} -% \authornote{This is an authornote} -% \end{verbatim} -% -% Please never use a \cs{footnote} inside an \cs{author} or \cs{title} -% command since this confuses the metadata extraction software. (Actually -% these commands now produce errors.) -% -% \DescribeMacro{\authornotemark}% -% Sometimes one may need to have the same footnote connected to -% several authors. The command \cs{authornotemark}\oarg{number} adds -% just the footnote mark, for example, -% \begin{verbatim} -% \author{A. U. Thor} -% \authornote{Both authors contributed equally to the paper} -% ... -% \author{A. N. Other} -% \authornotemark[1] -% \end{verbatim} -% The correct numbering of these marks is the responsibility of the -% user. -% -% \DescribeMacro{\acmVolume}% -% \DescribeMacro{\acmNumber}% -% \DescribeMacro{\acmArticle}% -% \DescribeMacro{\acmYear}% -% \DescribeMacro{\acmMonth}% -% The macros \cs{acmVolume}, \cs{acmNumber}, \cs{acmArticle}, -% \cs{acmYear} and \cs{acmMonth} are inserted by the editor and set -% the journal volume, issue, article number, year and month -% corrspondingly. The arguments of all these commands, including -% \cs{acmMonth}, is numerical. For example, -% \begin{verbatim} -% \acmVolume{9} -% \acmNumber{4} -% \acmArticle{39} -% \acmYear{2010} -% \acmMonth{3} -% \end{verbatim} -% Note that \cs{acmArticle} is used not only for journals but also -% for some conference proceedings. -% -% \DescribeMacro{\acmArticleSeq}% -% The articles in the same issue of a journal have a \emph{sequence -% number}. It is used to vertically position the black blob on the first -% page of some formats. By default it is the same as the article number, -% but the command \cs{acmArticleSeq}\marg{n} can be used to change it: -% \begin{verbatim} -% \acmArticle{39} % The sequence number will be 39 by default -% \acmArticleSeq{5} % We redefine it to 5 -% \end{verbatim} -% Setting this number to zero suppresses the blob. -% -% \DescribeMacro{\acmSubmissionID}% -% If your paper got a Submission~ID from the Conference Management -% System, put it here: -% \begin{verbatim} -% \acmSubmissionID{123-A56-BU3} -% \end{verbatim} -% -% -% \DescribeMacro{\acmPrice}% -% The macro \cs{acmPrice}\marg{price} sets the price for the article, -% for example, -% \begin{verbatim} -% \acmPrice{25.00} -% \end{verbatim} -% Note that you do not need to put the dollar sign here, just the -% amount. By default the price is \$15.00, unless the copyright is -% set to |usgov|, |rightsretained|, |iw3c2w3|, or |iw3c2w3g|, when it -% is suppressed. Note that to override the defaults you need to set -% the price \emph{after} the \cs{setcopyright} command. Also, the -% command |\acmPrice{}| suppresses the printing of the price. -% -% \DescribeMacro{\acmISBN}% -% Book-like volumes have ISBN numbers attached to them. The macro -% \cs{acmISBN}\marg{ISBN} sets it. Normally it is set by the -% typesetter, for example, -% \begin{verbatim} -% \acmISBN{978-1-4503-3916-2} -% \end{verbatim} -% Setting it to the empty string, as |\acmISBN{}|, suppresses printing the -% ISBN. -% -% \DescribeMacro{\acmDOI}% -% The macro \cs{acmDOI}\marg{DOI} sets the DOI of the article, for -% example, -% \begin{verbatim} -% \acmDOI{10.1145/9999997.9999999} -% \end{verbatim} -% It is normally set by the typesetter. Setting it to the empty -% string, as |\acmDOI{}|, suppresses the DOI. -% -% -% \DescribeMacro{\acmBadgeR}% -% \DescribeMacro{\acmBadgeL}% -% Some conference articles get special distinctions, for example, the -% artifact evaluation for PPoPP~2016 -% (see~\url{http://ctuning.org/ae/ppopp2016.html}). These articles -% display special badges supplied by the conference organizers. This -% class provides commands to add these badges: -% \cs{acmBadgeR}\oarg{url}\marg{graphics} and -% \cs{acmBadgeL}\oarg{url}\marg{graphics}. The first command puts the -% badge to the right of the title, and the second one---to the left. -% The arguments have the following meaning: \oarg{url}, if provided, -% sets the link to the badge authority in the screen version, while -% \marg{graphics} sets the graphics file with the badge image. The -% file must be a cropped square, which is scaled to a standard size in -% the output. For example, if the badge image is |ae-logo.pdf|, the -% command is -% \begin{verbatim} -% \acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} -% \end{verbatim} -% -% -% -% \DescribeMacro{\startPage}% -% The macro \cs{startPage}\marg{page} sets the first page of the -% article in a journal or book. It is used by the typesetter. -% -% -% \DescribeMacro{\terms}% -% \DescribeMacro{\keywords}% -% The command -% \cs{keywords}\marg{keyword, keyword,\ldots} sets keywords for the -% article. They must be -% separated by commas, for example, -% \begin{verbatim} -% \keywords{wireless sensor networks, media access control, -% multi-channel, radio interference, time synchronization} -% \end{verbatim} -% -% \DescribeEnv{CCSXML}% -% \DescribeMacro{\ccsdesc}% -% ACM publications are classified according to the ACM Computing -% Classification Scheme (CCS). CCS codes are used both in the typeset -% version of the publications \emph{and} in the metadata in various -% databases. Therefore you need to provide both \TeX\ commands and XML -% metadata with the paper. -% -% The tool at \url{http://dl.acm.org/ccs.cfm} can be used to generate -% CCS codes. After you select the topics, click on ``Generate CCS -% codes'' to get results like the following: -% \begin{verbatim} -% \begin{CCSXML} -% -% -% 10010520.10010553.10010562 -% Computer systems organization~Embedded systems -% 500 -% -% -% 10010520.10010575.10010755 -% Computer systems organization~Redundancy -% 300 -% -% -% 10010520.10010553.10010554 -% Computer systems organization~Robotics -% 100 -% -% -% 10003033.10003083.10003095 -% Networks~Network reliability -% 100 -% -% -% \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} -% \end{verbatim} -% -% You just need to copy this code and paste it in your paper anywhere -% before \verb|\maketitle|. -% -% CCS Concepts and user-defined keywords are required for all articles -% over two pages in length, and are optional for one- and two-page -% articles (or abstracts). -% -% \DescribeMacro{\setcopyright} -% There are several possibilities for the copyright of the papers -% published by the ACM: the authors may transfer the rights to the ACM, -% license them to the ACM, some or all authors might be employees of the -% US or Canadian governments, etc. Accordingly the command -% \verb|\setcopyright{...}| is introduced. Its argument is the -% copyright status of the paper, for example, -% \verb|\setcopyright{acmcopyright}|. The possible values for this -% command are listed in Table~\ref{tab:setcopyright}. This command -% must be placed in the preamble, before |\begin{document}|. -% -% \begin{table} -% \centering -% \caption{Parameters for the \texttt{\textbackslash setcopyright} command} -% \label{tab:setcopyright} -% \begin{tabularx}{\textwidth}{lX} -% \toprule -% Parameter & Meaning\\ -% \midrule -% \texttt{none} & The copyright and permission information is not -% typeset. (This is the option for some ACM conferences.) \\ -% \texttt{acmcopyright} & The authors transfer the copyright to the -% ACM (the ``traditional'' choice).\\ -% \texttt{acmlicensed} & The authors retain the copyright but -% license the publication rights to ACM\@. \\ -% \texttt{rightsretained} & The authors retain the copyright and -% publication rights to themselves or somebody else. \\ -% \texttt{usgov} & All the authors are employees of the US -% government. \\ -% \texttt{usgovmixed} & Some authors are employees of the US -% government. \\ -% \texttt{cagov} & All the authors are employees of the Canadian -% government. \\ -% \texttt{cagovmixed} & Some authors are employees of the Canadian -% government. \\ -% \texttt{licensedusgovmixed} & Some authors are employees of the US -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{licensedcagov} & All the authors are employees of the Canadian -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{licensedcagovmixed} & Some authors are employees of the -% Canadian -% government, and the publication rights are licensed to ACM\@. \\ -% \texttt{othergov} & Authors are employees of a -% government other than the US or Canada. \\ -% \texttt{licensedothergov} & Authors are employees of a -% government other than the US or Canada, and the publication rights -% are licensed to ACM\@. \\ -% \texttt{iw3c2w3} & Special statement for conferences organized -% by IW3C2.\\ -% \texttt{iw3c2w3g} & Special statement for conferences organized -% by IW3C2, when some authors are approved Google employees.\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% The ACM submission software should generate the right command for you -% to paste into your file. -% -% -% \DescribeMacro{\copyrightyear}% -% Each copyright statement must have the year of copyright. By -% default it is the same as \cs{acmYear}, but you can override this -% using the macro \cs{copyrightyear}, e.g., -% \begin{verbatim} -% \acmYear{2016} -% \copyrightyear{2015} -% \end{verbatim} -% -% There is a special case for a personal copy that the authors may be -% allowed to generate for their use or a posting on a personal site -% (check the instructions for the specific journal or conference for -% the details). The document option |authorversion=true| produces a -% special form of the copyright statement for this case. Note that -% you still need the \cs{setcopyright} command and (optionally) -% \cs{copyrightyear} command to tell \TeX\ about the copyright owner and -% year. Also, you should be aware that due to the different sizes of -% the permssion blocks for the printed version and authors' version, -% the page breaks might be different between them. -% -% \DescribeEnv{abstract}% -% The environment |abstract| must \emph{precede} the \cs{maketitle} -% command. Again, this is different from the standard \LaTeX. -% Putting |abstract| after \cs{maketitle} will trigger an error. -% -% -% \DescribeEnv{teaserfigure}% -% A special kind of figure is used for many two-column conference -% proceedings. This figure is placed just after the authors but -% before the main text. The environment |teaserfigure| is used for these -% figures. This environment must be used \emph{before} -% \cs{maketitle}, for example, -% \begin{verbatim} -% \begin{teaserfigure} -% \includegraphics[width=\textwidth]{sampleteaser} -% \caption{This is a teaser} -% \label{fig:teaser} -% \end{teaserfigure} -% \end{verbatim} -% -% -% \DescribeMacro{\settopmatter}% -% Some information in the top matter is printed for certain journals -% or proceedings and suppressed for others. You can override these -% defaults using the command \cs{settopmatter}\marg{settings}. The -% settings and their meanings are listed in -% Table~\ref{tab:settopmatter}. For example, -% \begin{verbatim} -% \settopmatter{printacmref=false, printccs=true, printfolios=true} -% \end{verbatim} -% The parameter |authorsperrow| requires some explanation. In -% conference proceedings authors' information is typeset in boxes, -% several boxes per row (see |sample-sigconf.pdf|, -% |sample-sigplan.pdf|, etc.). The number of boxes per row is -% determined automatically. If you want to override this, -% you can do it using this parameter, for example, -% \begin{verbatim} -% \settopmatter{authorsperrow=4} -% \end{verbatim} -% However, in most cases you should \emph{not} do this and should use the -% default settings. Setting |authorsperrow| to $0$ will revert it to the -% default settings. -% -% The parameter |printacmref| specifies whether to print the ACM -% bibliographic entry (default), or not. Note that this entry is -% required for all articles over one page in length, and is optional -% for one-page articles (abstracts). -% -% \begin{table} -% \centering -% \caption{Settings for the \cs{settopmatter} command} -% \label{tab:settopmatter} -% \begin{tabularx}{\textwidth}{llX} -% \toprule -% Parameter & Values & Meaning\\ -% \midrule -% |printccs| & true/false & Whether to print CCS categories\\ -% |printacmref| & true/false & Whether to print the ACM bibliographic -% entry\\ -% |printfolios| & true/false & Whether to print page numbers -% (folios)\\ -% |authorsperrow| & numeric & Number of authors per row for the title -% page in -% conference proceedings formats\\ -% \bottomrule -% \end{tabularx} -% \end{table} -% -% -% \DescribeMacro{\received}% -% The command \cs{received}\oarg{stage}\marg{date} sets the history of -% the publication. The~\oarg{stage} argument is optional; the default -% is |Received| for the first date and |revised| for the subsequent -% ones. For example, -% \begin{verbatim} -% \received{February 2007} -% \received[revised]{March 2009} -% \received[accepted]{June 2009} -% \end{verbatim} -% -% -% \DescribeMacro{\maketitle}% -% The macro \cs{maketitle} must be the last command in the top-matter -% group. That is it must follow the commands defined in this section. -% -% -% \DescribeMacro{\shortauthors}% -% \emph{After} the command \cs{maketitle}, the macro \cs{shortauthors} -% stores the names of the authors for the running head. You can -% redefine it if the list of author's name is too long, e.g., -% \begin{verbatim} -% \maketitle -% \renewcommand{\shortauthors}{Zhou et al.} -% \end{verbatim} -% -% -%\subsection{Algorithms} -%\label{sec:ug_algorithms} -% -% There are now several good packages for typesetting -% algorithms~\cite{Fiorio15, Brito09, Heinz15}, and the authors are -% free to choose their favorite one. -% -% -% -%\subsection{Figures and tables} -%\label{sec:ug_floats} -% -% The new ACM styles use the standard \LaTeX\ interface for figures and -% tables. There are some important items to be aware of, however. -% -% \begin{enumerate} -% \item The captions for figures must be entered \emph{after} the -% figure bodies and for tables \emph{before} the table bodies. -% \item The ACM uses the standard types for figures and tables and adds -% several new ones. In total there are the following types: -% \begin{description} -% \item[figure, table:] a standard figure or table taking a full text -% width in one-column formats and one column width in two-column formats. -% \item[figure*, table*] in two-column formats, a special figure or -% table taking a full text width. -% \item[teaserfigure:] a special figure before \cs{maketitle}. -% \end{description} -% -% \item Accordingly, when scaling images, one should use the -% following sizes: -% \begin{enumerate} -% \item For |teaserfigure|, |figure| in one-column mode or |figure*| in -% two-column mode, use \cs{textwidth}. In one-column mode, you can also -% use \cs{columnwidth}, which coincides with \cs{textwidth} in this -% case. -% \item For |figure| in two-column mode, use \cs{columnwidth}. -% \end{enumerate} -% -% \end{enumerate} -% -% It is strongly recommended to use the package |booktabs|~\cite{Fear05} -% and follow its main principles of typography with respect to tables: -% \begin{enumerate} -% \item Never, ever use vertical rules. -% \item Never use double rules. -% \end{enumerate} -% It is also a good idea not to overuse horizontal rules. -% -% For table \emph{footnotes} you have several options described in the TeX -% FAQ~\cite{TeXFAQ}. The simplest one is to use a \cs{minipage} -% environment: -% \begin{verbatim} -% \begin{table} -% \caption{Simulation Configuration} -% \label{tab:conf} -% \begin{minipage}{\columnwidth} -% \begin{center} -% \begin{tabular}{ll} -% \toprule -% TERRAIN\footnote{This is a table footnote. This is a -% table footnote. This is a table footnote.} & -% (200\,m$\times$200\,m) Square\\ -% Node Number & 289\\ -% Node Placement & Uniform\\ -% Application & Many-to-Many/Gossip CBR Streams\\ -% Payload Size & 32 bytes\\ -% Routing Layer & GF\\ -% MAC Layer & CSMA/MMSN\\ -% Radio Layer & RADIO-ACCNOISE\\ -% Radio Bandwidth & 250Kbps\\ -% Radio Range & 20m--45m\\ -% \bottomrule -% \end{tabular} -% \end{center} -% \bigskip -% \footnotesize\emph{Source:} This is a table -% sourcenote. This is a table sourcenote. This is a table -% sourcenote. -% -% \emph{Note:} This is a table footnote. -% \end{minipage} -% \end{table} -% \end{verbatim} -% -% -% Tables and figures are by default centered. However, in some cases -% (for example, when you use several subimages per figure) you may -% need to override this. A good way to do so is to put the contents -% into a \cs{minipage} of the width \cs{columnwidth}. -% -% -%\subsection{Descriptions of images} -%\label{sec:descriptions} -% -% \DescribeMacro{\Description}% -% Some readers of ACM publications might be visually challenged. -% These readers might use a voice-over software to read aloud the -% papers. It is important to provide them a description of each -% image used in the paper. -% -% The command \cs{Description}\oarg{short description}\marg{long -% description} should be placed inside every \texttt{figure}, -% \texttt{teaserfigure} or \texttt{marginfigure} environment to -% provide a description of the image(s) used in the figure. Unlike -% \cs{caption}, which is used alongside the image, \cs{Description} is -% intended to be used instead of the image, for example, -% \begin{verbatim} -% \begin{figure} -% \centering -% \includegraphics{voltage} -% \Description{A bell-like histogram centered at $0.5$~V with most -% measurements between $0.2$~V and $0.8$~V} -% \caption{Histogram of the measurements of voltage} -% \label{fig:voltage} -% \end{figure} -% \end{verbatim} -% At present the lack of descriptions generates a warning at -% compilation. -% -%\subsection{Theorems} -%\label{sec:ug_theorems} -% -% The ACM classes define two theorem styles and several pre-defined -% theorem environments: -% \begin{description} -% \item[acmplain:] this is the style used for -% |theorem|, -% |conjecture|, -% |proposition|, -% |lemma| and -% |corollary|, and -% \item[acmdefinition:] this is the style used for -% |example| and -% |definition|. -% \end{description} -% -% -% These environments are defined by default. In the unusual -% circumstance that a user does not wish to have these environments -% defined, the option |acmthm=false| in the preamble will suppress -% them. -% -%\subsection{Online-only and offline-only material} -%\label{sec:ug_screen} -% -% \DescribeEnv{printonly}% -% \DescribeEnv{screenonly}% -% Some supplementary material in ACM publications is put online but -% not in the printed version. The text inside the environment -% |screenonly| will be typeset only when the option |screen| (see -% Section~\ref{sec:invocation}) is set to |true|. Conversely, the -% text inside the environment |printonly| is typeset only when this -% option is set to |false|. For example, -% \begin{verbatim} -% \section{Supplementary materials} -% -% \begin{printonly} -% Supplementary materials are available in the online version of this paper. -% \end{printonly} -% -% \begin{screenonly} -% (The actual supplementary materials.) -% \end{screenonly} -% \end{verbatim} -% -% We use the |comment| package for typesetting this code, so -% |\begin| and |\end| should start on a line of their own with -% no leading or trailing spaces. -% -%\subsection{Note about anonymous mode} -%\label{sec:ug_anonymous} -% -% \DescribeEnv{anonsuppress}% -% When the option |anonymous| is selected, \TeX\ suppresses author -% information (including the number of authors) for a blind review. -% However, sometimes the information identifying the authors may be -% present in the body of the paper. For example, -% \begin{verbatim} -% \begin{anonsuppress} -% This is the continuation of the previous work by the author -% \cite{prev1, prev2}. -% \end{anonsuppress} -% \end{verbatim} -% -% As for the |printonly| and |screenonly| environments, -% |\begin{anonsuppress}| and |\end{anonsuppress}| should start on a -% line of their own with no leading or trailing spaces. -% -%\subsection{Acknowledgments} -%\label{sec:ug_acks} -% -% The traditional ``Acknowledgments'' section is conventionally used -% to thank persons and granting agencies for their help and support. -% However, there are several important considerations about this -% section. -% -% First, in anonymous mode this section must be omitted: it gives -% too much information to reviewers. Second, data about -% grants is extracted and stored separately by the postprocessing -% software. ACM classes provide facilities for both these tasks. -% -% \DescribeEnv{acks}% -% The environment |acks| starts an unnumbered section -% ``Acknowledgments'' unless the anonymous mode is chosen. Put all -% thanks inside this environment. -% -% As for the |printonly| and |screenonly| environments, -% |\begin{acks}| and |\end{acks}| should start on a -% line of their own with no leading or trailing spaces. -% -% \DescribeMacro{\grantsponsor}% -% \DescribeMacro{\grantnum}% -% All financial support \emph{must} be listed using the commands -% \cs{grantsponsor} and \cs{grantnum}. These commands tell the -% postprocessing software about the granting organization and -% grant. The format of these commands is the following: -% \begin{quote} -% \cs{grantsponsor}\marg{sponsorID}\marg{name}\marg{url}\\ -% \cs{grantnum}\oarg{url}\marg{sponsorID}\marg{number}. -% \end{quote} -% Here \marg{sponsorID} is the unique ID used to match grants to -% sponsors, \marg{name} is the name of the sponsor, \marg{url} is its -% URL, and \marg{number} is the grant number. The \marg{sponsorID} of -% the \cs{grantnum} command must correspond to the \marg{sponsorID} of a -% \cs{grantsponsor} command. Some awards have their own web pages, -% which you can include using the optional argument of the \cs{grantnum} -% command. -% -% At present \marg{sponsorID} is chosen by the authors and can be an -% arbitrary key in the same way the label of a \cs{cite} is arbitrarily -% chosen. There might be a change to this policy if the ACM decides to -% create a global database of sponsoring organizations. -% -% Example: -% \begin{verbatim} -% \begin{acks} -% The authors would like to thank Dr. Yuhua Li for providing the -% matlab code of the \textit{BEPS} method. -% -% The authors would also like to thank the anonymous referees for -% their valuable comments and helpful suggestions. This work is -% supported by the \grantsponsor{GS501100001809}{National Natural -% Science Foundation of -% China}{https://doi.org/10.13039/501100001809} under Grant -% No.:~\grantnum{GS501100001809}{61273304} -% and~\grantnum[http://www.nnsf.cn/youngscientists]{GS501100001809}{Young -% Scientists' Support Program}. -% \end{acks} -% \end{verbatim} -% -% -%\subsection{Bibliography} -%\label{sec:ug_bibliography} -% -% The ACM uses the |natbib| package for formatting references and -% the Bib\TeX\ style file \path{ACM-Reference-Format.bst} for Bib\TeX\ -% processing. You can disable loading of |natbib| using the -% option |natbib=false| in \cs{documentclass}. However, it is not -% recommended, as well as the use of Bib\TeX\ styles other than -% \path{ACM-Reference-Format.bst}, and may delay the processing of the -% manuscript. -% -% -% \DescribeMacro{\citestyle}% -% If you use |natbib|, you can select one of two predefined citation -% styles using the command \cs{citestyle}: the author-year format -% |acmauthoryear| or the numeric format |acmnumeric|. For example, -% \begin{verbatim} -% \citestyle{acmauthoryear} -% \end{verbatim} -% Note that numeric citations are the default mode for most formats. -% -% \DescribeMacro{\setcitestyle}% -% You can further customize |natbib| using -% the \cs{setcitestyle} command, for example, -% \begin{verbatim} -% \setcitestyle{numbers,sort&compress} -% \end{verbatim} -% -% One of the more common versions is -% \begin{verbatim} -% \setcitestyle{nosort} -% \end{verbatim} -% It is useful if you do not like the way |natbib| sorts citation -% lists. -% -% If you use |natbib|, then commands like \cs{citep} and -% \cs{citeauthor} are automatically supported. The command -% \cs{shortcite} is the same as \cs{cite} in numerical mode and cites -% the year in author-date mode. -% -% Note that before version~1.48 the command \cs{citeyear} put the year -% in parentheses. In version~1.48 and later it produces just the -% year; the command \cs{citeyearpar} can be used to emulate its old -% behavior. -% -% There are several customized \BibTeX\ entry types and fields in the ACM -% style file \path{ACM-Reference-Format.bst} that you may want to be -% aware of. -% -% The style supports the fields \path{doi} and \path{url}, for example, -% \begin{verbatim} -% doi = "10.1145/1188913.1188915", -% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.pdf", -% \end{verbatim} -% -% The style supports the arXiv-recommended fields \path{eprint} and -% (optionally) \path{primaryclass}, for example, -% \begin{verbatim} -% eprint = "960935712", -% primaryclass = "cs", -% \end{verbatim} -% See the examples at \url{https://arxiv.org/help/hypertex/bibstyles}. -% -% There are several special entry types. Types \path{online} and -% \path{game} are used for Web pages and games, for example, -% \begin{verbatim} -% @online{Thornburg01, -% author = "Harry Thornburg", -% year = "2001", -% title = "Introduction to Bayesian Statistics", -% url = "http://ccrma.stanford.edu/~jos/bayes/bayes.html", -% month = mar, -% lastaccessed = "March 2, 2005", -% } -% \end{verbatim} -% Entry types \path{artifactsoftware}, \path{artifactdataset} -% (with synonyms \path{software} and \path{dataset}) can be used to -% cite software artifacts and datasets, for example, -% \begin{verbatim} -% @ArtifactSoftware{R, -% title = {R: A Language and Environment for Statistical Computing}, -% author = {{R Core Team}}, -% organization = {R Foundation for Statistical Computing}, -% address = {Vienna, Austria}, -% year = {2019}, -% url = {https://www.R-project.org/}, -%} -% @ArtifactDataset{UMassCitations, -% author = {Sam Anzaroot and Andrew McCallum}, -% title = {{UMass} Citation Field Extraction Dataset}, -% year = 2013, -% url = -% {http://www.iesl.cs.umass.edu/data/data-umasscitationfield}, -% lastaccessed = {May 27, 2019} -% } -% \end{verbatim} -% -% -% For these entry types you can use the \path{lastaccessed} field to add -% the access date for the URL. -% -% -% -% There are two ways to enter video or audio sources in the -% bibliograpy corresponding to two different possibilies. For -% standalone sources available online, you can use an \path{online} -% entry and set its \path{howpublished} field. For example, -% \begin{verbatim} -% @online{Obama08, -% author = "Barack Obama", -% year = "2008", -% title = "A more perfect union", -% howpublished = "Video", -% day = "5", -% url = "http://video.google.com/videoplay?docid=6528042696351994555", -% month = mar, -% lastaccessed = "March 21, 2008", -% } -% \end{verbatim} -% -% For sources available as attachments to conference proceedings -% and similar documents, you can use the usual \path{inproceedings} -% entry type and set its \path{howpublished} field: -% \begin{verbatim} -% @Inproceedings{Novak03, -% author = "Dave Novak", -% title = "Solder man", -% booktitle = "ACM SIGGRAPH 2003 Video Review on Animation theater Program", -% year = "2003", -% publisher = "ACM Press", -% address = "New York, NY", -% pages = "4", -% month = "March 21, 2008", -% doi = "10.9999/woot07-S422", -% howpublished = "Video", -% } -% \end{verbatim} -% -% Sometimes you need to cite a complete issue of a journal. The -% \path{periodical} entry type is intended for this: -% \begin{verbatim} -% @periodical{JCohen96, -% key = "Cohen", -% editor = "Jacques Cohen", -% title = "Special issue: Digital Libraries", -% journal = "Communications of the {ACM}", -% volume = "39", -% number = "11", -% month = nov, -% year = "1996", -% } -% \end{verbatim} -% -% If you do not know the year of publication, the style will add -% ``[n.\,d.]'' (for ``no date'') to the entry. -% -% If you do not know the author (this is often the case for online -% entries), use the |key| field to add a key for sorting and citations, -% for example, -% \begin{verbatim} -% @online{TUGInstmem, -% key = {TUG}, -% year = 2017, -% title = "Institutional members of the {\TeX} Users Group", -% url = "http://wwtug.org/instmem.html", -% lastaccessed = "May 27, 2017", -% } -% \end{verbatim} -% -% A note about sorting. The current ACM bibliography styles always -% sort the entries according to authors names and publication year. -% There is a controversy about sorting names with ``von'' or ``van'' -% part: should Ludwig van Beethoven be sorted under ``V'' or under -% ``B''? The American practice is to use ``van'' in sorting, i.e. to -% file van Beethoven under ``V''. However, some authorities recommend -% to sort Dutch persons according to their last names (see -% e.g. \url{https://www.ifla.org/files/assets/cataloguing/pubs/names-of-persons_1996.pdf}). -% While I do not want to take a part in this dispute, I would like to -% point to the old ``noopsort'' trick by Oren Patashnik. Add to the -% \texttt{.bib} file the line -% \begin{verbatim} -% @PREAMBLE{"\providecommand{\noopsort}[1]{}"} -% \end{verbatim} -% and then encode the author as -% \begin{verbatim} -% author = {Ludwig {\noopsort{Beethoven}}van Beethoven}, -% \end{verbatim} -% This will make the author to be sorted as ``Beethoven'' rather than -% ``van Beethoven''. -% -% The current bst style defines a number of macros for common journal -% names. In particular, all journals listed in Table~\ref{tab:pubs} -% are includes, so you can use strings like |journal = taccess| for -% \emph{ACM Transactions on Accessible Computing}. -% -% -%\subsection{Colors} -%\label{sec:ug_colors} -% -% While printed ACM publications are usually black and white, |screen| -% mode allows the use of colors. The ACM classes pre-define several -% colors according to~\cite{ACMIdentityStandards}: |ACMBlue|, -% |ACMYellow|, |ACMOrange|, |ACMRed|, |ACMLightBlue|, |ACMGreen|, -% |ACMPurple| and |ACMDarkBlue|. You can use them in color -% assignments. -% -% The ACM provides the following recommendation on color use. -% -% The most accessible approach would be to ensure that your article is -% still readable when printed in greyscale. The most notable reasons -% for this are: -% \begin{enumerate} -% \item The most common type of inherited Color Vision Deficiency -% (CVD) is red-green (in which similar-brightness colors that differ -% only in their amounts of red or green are often confused), and it -% affects up to 8\% of males and 0.5\% of females of Northern European -% descent. -% \item The most common type of acquired Color Vision Deficiency (CVD) -% is blue-yellow (including mild cases for many older adults). -% \item Most printing is in black and white. -% \item Situational impairments (e.g., bright sunlight shining on a -% mobile screen) tend to reduce the entire color gamut, reducing color -% discriminability. -% \end{enumerate} -% -% \textbf{Note:} It is \emph{not} safe to encode information using -% only variations in color (i.e., only differences in hue and/or -% saturation) as there is bound to be someone affected! -% -% To ensure that you are using the most accessible colors, the ACM -% recommends that you choose sets of colors to help ensure suitable -% variations in when printed in greyscale by using either of the following tools: -% \begin{enumerate} -% \item ColourBrewer: \url{http://colorbrewer2.org/} -% \item ACE: The Accessible Colour Evaluator: -% \url{http://daprlab.com/ace/} for designing WCAG 2.0 compliant -% palettes. -% \end{enumerate} -% -% -%\subsection{Other notable packages and typographic remarks} -%\label{sec:ug_other} -% -% Several other packages are recommended for specialized tasks. -% -% The package |subcaption|~\cite{Sommerfeldt13:Subcaption} is -% recommended for complex figures with several subplots or subfigures -% that require separate subcaptioning. The packages -% |nomencl|~\cite{Nomencl} and -% |glossaries|~\cite{Talbot16:Glossaries} can be used for the -% automatic creation of the lists of symbols and concepts used. -% -% -% By default |acmart| prevents all widows and orphans (i.e., lonely -% lines at the beginning or end of the page) and hyphenation at -% the end of the page. This is done by the rather strict settings -% \begin{verbatim} -% \widowpenalty=10000 -% \clubpenalty=10000 -% \brokenpenalty=10000 -% \end{verbatim} -% However, this may lead to frustrating results when the authors must -% obey a page limit. Setting these penalties to smaller values may -% help if you absolutely need to. -% -% Another problem might be the too strict line breaking rules. Again, -% a strategically placed \cs{sloppy} command or putting the -% problematic paragraph inside \texttt{sloppypar} environment might -% help---but beware, the results might be, well, sloppy. -% -% Note that the uppercasing in section titles is done using -% the |textcase| package~\cite{Carlisle04:Textcase}, so the command -% \cs{NoCaseChange} inside the title may help to prevent extraneous -% uppercasing. -% -% -%\subsection{Counting words} -%\label{sec:ug_counting} -% -% Some ACM conferences use word count limits for papers. The -% calculation of word number for a paper with math, tables and figures -% is not a trivial task. Currently the authoritative word count is -% done by translating the PDF to text and using |wc -w| on the -% output. Authors can use the package |texcount| (used by Overleaf) -% to get an estimate of the word count. To faciliate this one adds to the -% beginning of the package metacomments -% \begin{verbatim} -% %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 -% \end{verbatim} -% and uses |\begin{math}...\end{math}| instead of dollar signs for -% math. Note that the count is in any case approximate, and the final -% decision of editors is based on PDF count. -% -% The script |texcount| provides a report of word count in the -% document. -% -% -% -% -%\subsection{Disabled or forbidden commands} -%\label{sec:ug_disabled} -% -% The goal of |acmart| package is to provide a uniform look and feel -% for ACM publications. Accordingly, a number of commands is -% forbidden or disabled in |acmart|. -% -% You may \emph{not} put several authors or several e-mails into a -% \cs{author} or \cs{email} command. This may lead to errors or -% warning. -% -% You cannot change \cs{baselinestretch} in your document: this -% produces an error. -% -% You should not abuse the command \cs{vspace}: this command may -% disturb the typesetting of ACM papers. -% -% You should not load |amssymb| package since the package |acmart| -% defines the corresponding symbols itself. -% -%\subsection{Notes for wizards} -%\label{sec:ug_preload} -% -% Sometimes you need to change the behavior of |acmart|. The -% usual way to do this is to redefine commands in the preamble. -% However, these definitions are executed \emph{after} |acmart| is -% loaded and certain decisions are made. This presents a number of -% problems. -% -% For example, one may want to use the |titletoc| package with |acmart|. -% This package should be loaded before |hyperref|. However, since -% |acmart| loads |hyperref| itself, the line |\usepackage{titletoc}| -% in the preamble will lead to grief (see -% \url{http://tex.stackexchange.com/questions/357265/using-titletoc-with-acm-acmart-style}). -% -% Another example is passing options to a package. Suppose you want to -% use the |dvipsnames| option of the |xcolor| package. Normally you cannot do -% this because |acmart| loads this package itself without options. -% -% The file |acmart-preload-hook.tex| can be used to solve these -% problems. If this file exists, it will be processed before any other -% package. You can use this file to load packages or pass options to -% them. For example, if you put in this file -% \begin{verbatim} -% \let\LoadClassOrig\LoadClass -% \renewcommand\LoadClass[2][]{\LoadClassOrig[#1]{#2}% -% \usepackage{titletoc}} -% \end{verbatim} -% then |titletoc| will be loaded before |hyperref|. If you put in -% this file -% \begin{verbatim} -% \PassOptionsToPackage{dvipsnames}{xcolor} -% \end{verbatim} -% you will pass |dvipsnames| to |xcolor|. -% -% \textbf{Important note.} This hook makes it too easy to create a -% manuscript that is not acceptable by the ACM. It is even easier to -% create a file that cannot be compiled. So please do not use it -% \emph{unless you know what you are doing.} And if you use it, -% \emph{do not ask for support.} If you decide to use this hook, you -% are on your own. -% -% \DescribeMacro{\AtBeginMaketitle}% -% Another hook is \cs{AtBeginMaketitle}. The commands in this hook -% are executed before \cs{maketitle}, for example, -% \begin{verbatim} -% \AtBeginMaketitle{\acmPrice{125.00}} -% \end{verbatim} -% -% -%\subsection{Currently supported publications} -%\label{sec:pubs} -% -%\bgroup\centering -% \begin{longtable}{>{\ttfamily}p{0.2\textwidth}@{}p{0.8\textwidth}} -% \caption{ACM publications and arguments of the \cs{acmJournal} -% command} -% \label{tab:pubs}\\ -% \toprule -% \normalfont Abbreviation & Publication \\ -% \midrule -% \endfirsthead -% \caption[]{ACM publications and arguments of the \cs{acmJournal} -% command (continued)}\\ -% \toprule -% \normalfont Abbreviation & Publication \\ -% \midrule -% \endhead -% \bottomrule -% \endfoot -% CIE & ACM Computers in Entertainment \\ -% CSUR & ACM Computing Surveys\\ -% DLT & Distributed Ledger Technologies: Research and Practice\\ -% DGOV & Digital Government: Research and Practice \\ -% DTRAP & Digital Threats: Research and Practice\\ -% FAC & Formal Aspects of Computing \\ -% HEALTH & ACM Transactions on Computing for Healthcare\\ -% IMWUT & PACM on Interactive, Mobile, Wearable and Ubiquitous -% Technologies\\ -% JACM & Journal of the ACM \\ -% JDIQ & ACM Journal of Data and Information Quality \\ -% JEA & ACM Journal of Experimental Algorithmics \\ -% JERIC & ACM Journal of Educational Resources in Computing\\ -% JETC & ACM Journal on Emerging Technologies in Computing Systems \\ -% JOCCH & ACM Journal on Computing and Cultural Heritage \\ -% PACMCGIT & Proceedings of the ACM on Computer Graphics and -% Interactive Techniques\\ -% PACMHCI & PACM on Human-Computer Interaction\\ -% PACMPL & PACM on Programming Languages \\ -% POMACS & PACM on Measurement and Analysis of Computing Systems \\ -% TAAS & ACM Transactions on Autonomous and Adaptive Systems\\ -% TACCESS & ACM Transactions on Accessible Computing\\ -% TACO & ACM Transactions on Architecture and Code Optimization \\ -% TALG & ACM Transactions on Algorithms \\ -% TALLIP & ACM Transactions on Asian and Low-Resource Language -% Information Processing\\ -% TAP & ACM Transactions on Applied Perception \\ -% TCPS & ACM Transactions on Cyber-Physical Systems\\ -% TDS & ACM/IMS Transactions on Data Science\\ -% TEAC & ACM Transactions on Economics and Computation\\ -% TECS & ACM Transactions on Embedded Computing Systems \\ -% TELO & ACM Transactions on Evolutionary Learning \\ -% THRI & ACM Transactions on Human-Robot Interaction\\ -% TIIS & ACM Transactions on Interactive Intelligent Systems\\ -% TIOT & ACM Transactions on Internet of Things \\ -% TISSEC & ACM Transactions on Information and System Security\\ -% TIST & ACM Transactions on Intelligent Systems and Technology \\ -% TKDD & ACM Transactions on Knowledge Discovery from Data\\ -% TMIS & ACM Transactions on Management Information Systems\\ -% TOCE & ACM Transactions on Computing Education\\ -% TOCHI & ACM Transactions on Computer-Human Interaction\\ -% TOCL & ACM Transactions on Computational Logic\\ -% TOCS & ACM Transactions on Computer Systems \\ -% TOCT & ACM Transactions on Computation Theory \\ -% TODAES & ACM Transactions on Design Automation of Electronic Systems\\ -% TODS & ACM Transactions on Database Systems\\ -% TOG & ACM Transactions on Graphics\\ -% TOIS & ACM Transactions on Information Systems\\ -% TOIT & ACM Transactions on Internet Technology\\ -% TOMACS & ACM Transactions on Modeling and Computer Simulation \\ -% TOMM & ACM Transactions on Multimedia Computing, Communications -% and Applications \\ -% TOMPECS & ACM Transactions on Modeling and Performance Evaluation -% of Computing Systems\\ -% TOMS & ACM Transactions on Mathematical Software\\ -% TOPC & ACM Transactions on Parallel Computing\\ -% TOPLAS & ACM Transactions on Programming Languages and Systems\\ -% TOPS & ACM Transactions on Privacy and Security\\ -% TOS & ACM Transactions on Storage\\ -% TOSEM & ACM Transactions on Software Engineering and Methodology\\ -% TOSN & ACM Transactions on Sensor Networks\\ -% TQC & ACM Transactions on Quantum Computing\\ -% TRETS & ACM Transactions on Reconfigurable Technology and Systems\\ -% TSAS & ACM Transactions on Spatial Algorithms and Systems\\ -% TSC & ACM Transactions on Social Computing\\ -% TSLP & ACM Transactions on Speech and Language Processing \\ -% TWEB & ACM Transactions on the Web\\ -% \end{longtable} -%\egroup -% -% Besides the publications listed in Table~\ref{tab:pubs}, there is a -% special ``publication'' type FACMP, a forthcoming ACM publication, -% reserved for new journals which are not assigned an ISSN yet. -% -% -%\subsection{A note about \texttt{sigchi-a} format} -%\label{sec:sigchi-a} -% -% Starting in Spring 2020 ACM retired SIGCHI Extended Abstract format -% (|sigchi-a|). ACM will not, under any circumstances, accept -% documents in this format for publication and will not offer -% technical support to the authors who use this template. -% -% You may use this format in the |nonacm| mode only, as in -% \begin{verbatim} -% \documentclass[sigchi-a, nonacm]{acmart} -% \end{verbatim} -% -% -% -% \DescribeEnv{sidebar}% -% \DescribeEnv{marginfigure}% -% \DescribeEnv{margintable}% -% This format has large margin uses for special figures and -% tables. This package provides three environments for this with -% optional captions: -% \begin{description} -% \item[sidebar:] textual information in the margin, -% \item[marginfigure:] a figure in the margin, -% \item[margintable:] a table in the margin. -% \end{description} -% -% The environments |figure| and |table| produce figures and tables -% with the width of the text column. The environments |figure*| and -% |table*| produce ``wide'' figures and tables, which take a large -% part of the margin. -% -% The horizontal sizes of figures are: -% \begin{enumerate} -% \item |figure|: \cs{columnwidth}, -% \item |marginfigure|: \cs{marginparwidth}, -% \item |figure*|: \cs{fulltextwidth}. -% \end{enumerate} -% -% -% -% \StopEventually{ -% \clearpage -% \bibliography{acmart} -% \bibliographystyle{unsrt}} -% -% \clearpage -% -% -%\section{Implementation} -%\label{sec:impl} -% -%\subsection{Identification} -%\label{sec:ident} -% -% We start with a declaration of who we are. Most |.dtx| files put -% driver code in a separate~|.drv| driver file. We roll this code into the -% main file and use the pseudo-guard || for it. -% \begin{macrocode} -%\NeedsTeXFormat{LaTeX2e} -%<*gobble> -\ProvidesFile{acmart.dtx} -% -%\ProvidesClass{acmart} -[2021/09/24 v1.80 Typesetting articles for the Association for Computing Machinery] -% \end{macrocode} -% -% \changes{v1.00}{2016/04/14}{First released version} -% \changes{v1.01}{2016/04/18}{Defined ACM colors} -% \changes{v1.01}{2016/04/18}{Changed hyperref colors in screen mode -% (closes \url{https://github.com/borisveytsman/acmart/issues/1})} -% \changes{v1.01}{2016/04/18}{Set headheight to 1pc for all formats -% (closes \url{https://github.com/borisveytsman/acmart/issues/5})} -% \changes{v1.02}{2016/04/21}{Documentation changes -% (closes \url{https://github.com/borisveytsman/acmart/issues/13})} -% \changes{v1.02}{2016/04/21}{Added TOPS and TSC -% (closes \url{https://github.com/borisveytsman/acmart/issues/12})} -% \changes{v1.03}{2016/04/22}{Added authorversion option -% (closes \url{https://github.com/borisveytsman/acmart/issues/9})} -% \changes{v1.03}{2016/04/22}{Added anonsuppress environment} -% \changes{v1.04}{2016/04/26}{Updated bibliography for siggraph} -% \changes{v1.05}{2016/04/27}{Patched \cs{setcitestyle} command; -% closes \url{https://github.com/borisveytsman/acmart/issues/19}} -% \changes{v1.05}{2016/04/27}{Added processing doi numbers for -% acmsiggraph and doi numbers for sigproc.bib} -% \changes{v1.08}{2016/05/13}{SIGPLAN reformatting by Matthew Fluet} -% \changes{v1.08}{2016/05/13}{Typos corrected (Tobias Pape)} -% \changes{v1.09}{2016/05/18}{Revert SIGPLAN caption rules} -% \changes{v1.11}{2016/05/27}{Customization of ACM theorem styles and -% proof environment by Matthew Fluet} -% \changes{v1.12}{2016/05/30}{Documentation updates} -% \changes{v1.14}{2016/06/09}{\cs{citestyle} updates (Matthew Fluet)} -% \changes{v1.16}{2016/07/07}{Formatting header/footer (Matthew -% Fluet)} -% \changes{v1.18}{2016/07/10}{Natbib is now the default for all -% formats} -% \changes{v1.19}{2016/07/28}{Include 'Abstract', 'Acknowledgements', -% and 'References' in PDF bookmarks (Matthew Fluet)} -% \changes{v1.20}{2016/08/06}{Bug fixes for bst} -% \changes{v1.22}{2016/09/25}{More bibliography changes for Aptara} -% \changes{v1.23}{2016/11/04}{Add PACMPL journal option} -% \changes{v1.26}{2016/12/24}{Corrected \cs{shortcite} bug} -% \changes{v1.26}{2016/12/24}{Documentation typos fixed (thanks to -% Stephen Spencer)} -% \changes{v1.30}{2017/02/04}{Bibtex style now recognizes https:// in -% doi} -% \changes{v1.31}{2017/03/04}{Documentation changes} -% \changes{v1.32}{2017/03/07}{Format siggraph is now obsolete} -% \changes{v1.32}{2017/03/07}{Added POMACS journal option} -% \changes{v1.33}{2017/03/12}{BibTeX crossref bug corrected} -% \changes{v1.33}{2017/03/18}{BibTeX comma before articleno bug -% corrected} -% \changes{v1.33}{2017/03/18}{BibTeX numpages bug corrected} -% \changes{v1.33}{2017/03/28}{Added acmart-preload-hook} -% \changes{v1.33}{2017/03/33}{Documentation updates} -% \changes{v1.35}{2017/04/23}{BibTeX bug fixed: et al.} -% \changes{v1.36}{2017/05/12}{Added the possibility to adjust number of -% author boxes per row in conference formats} -% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent}; Reduce list -% indentation (Matthew Fluet)}% -% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN} -% \changes{v1.40}{2017/05/27}{Bibliography changes} -% \changes{v1.40}{2017/06/15}{Added package cleveref} -% \changes{v1.40}{2017/06/16}{Added new copyright version: -% licensedcagov} -% \changes{v1.41}{2017/06/25}{Added new badges} -% \changes{v1.42}{2017/07/02}{Deleted ACM badges} -% \changes{v1.44}{2017/07/30}{Added package refcount} -% \changes{v1.44}{2017/07/30}{Deleted package cleveref} -% \changes{v1.44}{2017/07/30}{Put theorem defs in a separate style} -% \changes{v1.46}{2017/08/17}{Bst file bug fixes: label width is -% calculated correctly} -% \changes{v1.46}{2017/08/25}{Added etoolbox} -% \changes{v1.46}{2017/08/29}{Restore theorem defs to class file} -% \changes{v1.47}{2017/08/31}{New journal: THRI} -% \changes{v1.48}{2017/09/09}{Typos fixed (Jamie Davis)} -% \changes{v1.48}{2017/09/16}{Code prettying (Michael D.~Adams)} -% \changes{v1.48}{2017/09/23}{Misc entries in the bibliography no -% longer produce a separate date} -% \changes{v1.48}{2017/10/01}{Initial support for Biblatex (Daniel Thomas)} -% \changes{1.48}{2017/10/14}{Bib code cleanup (Zack Weinberg)} -% \changes{1.48}{2017/12/03}{Documentation update (siggraph)} -% \changes{1.49}{2018/01/24}{New journal: DTRAP} -% \changes{1.53}{2018/04/14}{New journals: PACMCGIT, TIOT, TDSCI} -% \changes{1.53}{2018/04/14}{Rearranged docs} -% \changes{1.54}{2018/06/17}{Moved footnote stuff before hyperref call -% (Ross Moore)} -% \changes{1.56}{2018/11/11}{Documented \cs{Description}} -% \changes{1.57}{2018/12/16}{Booktabs package is now the default} -% \changes{1.58}{2019/02/09}{Changes in samples (Enrico Gregorio)} -% \changes{1.58}{2019/03/29}{New journal: HEALTH. TDS is renamed to -% TDSCI} -% \changes{1.60}{2019/04/22}{New option: urlbreakonhyphens} -% \changes{1.62}{2019/07/31}{New journal: TELO} -% \changes{1.63}{2019/08/04}{New journal: TQUANT} -% \changes{1.63}{2019/08/04}{New journal: FACMP} -% \changes{1.63a}{2019/08/05}{Move: TQUANT to TQC} -% \changes{1.64}{2019/08/17}{Putting abstract after \cs{maketitle} now -% causes an error} -% \changes{1.65}{2019/10/19}{New journal: DGOV} -% \changes{1.66}{2019/12/18}{ACM reference format is now mandatory for -% papers over one page; CCS concepts and keywords are now mandatory for -% papers over two pages} -% \changes{1.66}{2019/12/18}{Authors' addresses are mandatory for -% journal articles} -% \changes{1.71}{2020/05/01}{Retired sigchi and sigchi-a} -% \changes{1.71}{2020/05/02}{Bibliography change: volume for -% @inproceedings is now in brackets together with series} -% \changes{1.71}{2020/05/02}{LuaTeX now uses the OTF versions of -% fonts} -% \changes{1.75}{2020/10/29}{Documentation update} -% \changes{1.78}{2021/05/01}{Documentation update: Word count} -% -% And the driver code: -% \begin{macrocode} -%<*gobble> -\documentclass{ltxdoc} -\usepackage{array,booktabs,amsmath,graphicx,fancyvrb,tabularx, longtable} -\usepackage[tt=false, type1=true]{libertine} -\usepackage[varqu]{zi4} -\usepackage[libertine]{newtxmath} -\usepackage[tableposition=top]{caption} -\usepackage{hypdoc} -\PageIndex -\CodelineIndex -\RecordChanges -\EnableCrossrefs -\begin{document} - \DocInput{acmart.dtx} -\end{document} -% -%<*class> -\def\@classname{acmart} -% \end{macrocode} -% -% -% -%\subsection{Preload hook} -%\label{sec:preload} -% -% We preload |acmart-preload-hook|: -% \begin{macrocode} -\InputIfFileExists{acmart-preload-hook.tex}{% - \ClassWarning{\@classname}{% - I am loading acmart-preload-hook.tex. You are fully responsible - for any problems from now on.}}{} -% \end{macrocode} -% -% \subsection{Options} -% \label{sec:options} -% -% We need |xkeyval| since some of our options may have values: -% \begin{macrocode} -\RequirePackage{xkeyval} -% \end{macrocode} -% -% We use |xstring| to check whether user input is valid -% \begin{macrocode} -\RequirePackage{xstring} -% \end{macrocode} -% -% We need |iftex| to check the engine -% \begin{macrocode} -\RequirePackage{iftex} -% \end{macrocode} -% -% -% -% \begin{macro}{format} -% The possible formats -% \begin{macrocode} -\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% - manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi, sigchi-a}[manuscript]{}{% - \ClassError{\@classname}{The option format must be manuscript, - acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi or sigchi-a}} -\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} -\@DeclareACMFormat{manuscript} -\@DeclareACMFormat{acmsmall} -\@DeclareACMFormat{acmlarge} -\@DeclareACMFormat{acmtog} -\@DeclareACMFormat{sigconf} -\@DeclareACMFormat{siggraph} -\@DeclareACMFormat{sigplan} -\@DeclareACMFormat{sigchi} -\@DeclareACMFormat{sigchi-a} -\ExecuteOptionsX{format} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@screen} -% Whether we use screen mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% - \if@ACM@screen - \PackageInfo{\@classname}{Using screen mode}% - \else - \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{The option screen can be either true or - false}} -\ExecuteOptionsX{screen=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@urlbreakonhyphens} -% \changes{1.60}{2019/04/22}{introduced macro} -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{% - \if@ACM@urlbreakonhyphens - \PackageInfo{\@classname}{Using breaking urls on hyphens}% - \else - \PackageInfo{\@classname}{Not breaking urls on hyphens}% - \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or - false}} -\ExecuteOptionsX{urlbreakonhyphens=true} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\if@ACM@acmthm} -% \changes{v1.44}{2017/07/30}{Added macro} -% \changes{v1.46}{2017/08/29}{Modified description} -% Whether we define theorem-like environments. -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% - \if@ACM@acmthm - \PackageInfo{\@classname}{Requiring acmthm}% - \else - \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{The option acmthm can be either true or - false}} -\ExecuteOptionsX{acmthm=true} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@review} -% \changes{v1.48}{2017/09/09}{Review mode now switches on folios} -% Whether we use review mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% - \if@ACM@review - \PackageInfo{\@classname}{Using review mode}% - \AtBeginDocument{\@ACM@printfoliostrue}% - \else - \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{The option review can be either true or - false}} -\ExecuteOptionsX{review=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@authorversion} -% \changes{v1.03}{2016/04/22}{Added macro} -% Whether we use author's-version mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% - \if@ACM@authorversion - \PackageInfo{\@classname}{Using authorversion mode}% - \else - \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{The option authorversion can be either true or - false}} -\ExecuteOptionsX{authorversion=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@nonacm} -% \changes{v1.54}{2018/05/08}{Added macro} -% Special option for non-ACM publications -% using the ACM typesetting options. -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% - \if@ACM@nonacm - \PackageInfo{\@classname}{Using nonacm mode}% - \AtBeginDocument{\@ACM@printacmreffalse}% - % in 'nonacm' mode we disable the "ACM Reference Format" - % printing by default, but this can be re-enabled by the - % user using \settopmatter{printacmref=true} - \else - \PackageInfo{\@classname}{Not using nonacm mode}% - \fi}{\PackageError{\@classname}{The option nonacm can be either true or - false}} -\ExecuteOptionsX{nonacm=false} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@balance} -% \changes{v1.57}{2018/12/16}{Added macro} -% Whether to balance the last page -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{% - \PackageError{\@classname}{The option balance can be either true or - false}} -\ExecuteOptionsX{balance} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@pbalance} -% \changes{v1.76}{2021/03/16}{Added macro} -% Whether to balance the last page -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{% - \PackageError{\@classname}{The option pbalance can be either true or - false}} -\ExecuteOptionsX{pbalance=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@natbib@override} -% \changes{v1.12}{2016/05/30}{Added macro} -% \changes{v1.33}{2017/03/28}{Deleted macro} -% This macro is no longer used. -% \end{macro} -% -% \begin{macro}{\if@ACM@natbib} -% Whether we use |natbib| mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% - \if@ACM@natbib - \PackageInfo{\@classname}{Explicitly selecting natbib mode}% - \else - \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{The option natbib can be either true or - false}} -\ExecuteOptionsX{natbib=true} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@anonymous} -% Whether we use anonymous mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% - \if@ACM@anonymous - \PackageInfo{\@classname}{Using anonymous mode}% - \else - \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{The option anonymous can be either true or - false}} -\ExecuteOptionsX{anonymous=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@timestamp} -% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)} -% Whether we use timestamp mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% - \if@ACM@timestamp - \PackageInfo{\@classname}{Using timestamp mode}% - \else - \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{The option timestamp can be either true or - false}} -\ExecuteOptionsX{timestamp=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@authordraft} -% \changes{v1.33}{2017/03/28}{Added macro} -% \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil} -% Whether we use author-draft mode -% \begin{macrocode} -\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% - \if@ACM@authordraft - \PackageInfo{\@classname}{Using authordraft mode}% - \@ACM@timestamptrue - \@ACM@reviewtrue - \else - \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{The option authordraft can be either true or - false}} -\ExecuteOptionsX{authordraft=false} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\ACM@fontsize} -% The font size to pass to the base class -% \begin{macrocode} -\def\ACM@fontsize{} -\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} -% \end{macrocode} -% -% \end{macro} -% -% -% \changes{v1.01}{2016/04/18}{Explicitly put draft option -% (closes \url{https://github.com/borisveytsman/acmart/issues/4})} -% -% \begin{macrocode} -\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} -\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} -\ProcessOptionsX -\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} -% \end{macrocode} -% -% -% -%\subsection{Setting switches} -%\label{sec:switches} -% -% \begin{macro}{\if@ACM@manuscript} -% Whether we use manuscript mode -% \begin{macrocode} -\newif\if@ACM@manuscript -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@journal} -% There are two kinds of publications: journals and books -% \begin{macrocode} -\newif\if@ACM@journal -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@journal@bibstrip} -% \changes{v1.59}{2019/04/20}{Introduced macro} -% Sometimes ACM wants a journal-like publication to have conference -% information in the bibstrip and vice versa, so we have an additional -% switch. -% \begin{macrocode} -\newif\if@ACM@journal@bibstrip -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@sigchiamode} -% The formatting of SIGCHI extended abstracts is quite unusual. We have a -% special switch for them. -% \begin{macrocode} -\newif\if@ACM@sigchiamode -% \end{macrocode} -% -% \end{macro} -% -% -% Setting up switches -% \begin{macrocode} -\ifnum\ACM@format@nr=5\relax % siggraph -\ClassWarning{\@classname}{% - The format siggraph is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=7\relax % sigchi -\ClassWarning{\@classname}{% - The format sigchi is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=8\relax % sigchi -\ClassWarning{\@classname}{% - ACM SIGCHI has retired the SIGCHI-A template\MessageBreak - effective immediately. ACM is keeping this template\MessageBreak - option available to authors who are working on legacy\MessageBreak - documents only. ACM will not, under any circumstances,\MessageBreak - accept documents in this format for publication and\MessageBreak - will not offer technical support to the authors who use\MessageBreak - this template.\MessageBreak - ACM SIGCHI is directing Conference leaders and\MessageBreak - authors to publish their articles using the SIGCONF\MessageBreak - template call.} -\fi -\ifnum\ACM@format@nr=0\relax - \@ACM@manuscripttrue -\else - \@ACM@manuscriptfalse -\fi -\@ACM@sigchiamodefalse -\ifcase\ACM@format@nr -\relax % manuscript - \@ACM@journaltrue -\or % acmsmall - \@ACM@journaltrue -\or % acmlarge - \@ACM@journaltrue -\or % acmtog - \@ACM@journaltrue -\or % sigconf - \@ACM@journalfalse -\or % siggraph - \@ACM@journalfalse - \or % sigplan - \@ACM@journalfalse - \or % sigchi - \@ACM@journalfalse -\or % sigchi-a - \@ACM@journalfalse - \@ACM@sigchiamodetrue -\fi -\if@ACM@journal - \@ACM@journal@bibstriptrue -\else - \@ACM@journal@bibstripfalse -\fi -% \end{macrocode} -% -% -% -%\subsection{Loading the base class and package} -%\label{sec:loading} -% -% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large} -% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN} -% -% -% At this point we either have \cs{ACM@fontsize} or use defaults -% \begin{macrocode} -\ifx\ACM@fontsize\@empty - \ifcase\ACM@format@nr - \relax % manuscript - \def\ACM@fontsize{9pt}% - \or % acmsmall - \def\ACM@fontsize{10pt}% - \or % acmlarge - \def\ACM@fontsize{10pt}% - \or % acmtog - \def\ACM@fontsize{9pt}% - \or % sigconf - \def\ACM@fontsize{9pt}% - \or % siggraph - \def\ACM@fontsize{9pt}% - \or % sigplan - \def\ACM@fontsize{10pt}% - \or % sigchi - \def\ACM@fontsize{9pt}% - \or % sigchi-a - \def\ACM@fontsize{10pt}% - \fi -\fi -\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} -\LoadClass[\ACM@fontsize, reqno]{amsart} -\RequirePackage{microtype} -% \end{macrocode} -% -% -% We need |etoolbox| for delayed code -% \begin{macrocode} -\RequirePackage{etoolbox} -% \end{macrocode} -% -% Booktabs is now the default -% \begin{macrocode} -\RequirePackage{booktabs} -% \end{macrocode} -% -% -% We need |totpages| to calculate the number of pages and -% |refcount| to use that number -% \begin{macrocode} -\RequirePackage{refcount} -\RequirePackage{totpages} -% \end{macrocode} -% -% The \cs{collect@body} macro in |amsmath| is defined using \cs{def}. We load -% |environ| to access the \cs{long} version of this command -% \begin{macrocode} -\RequirePackage{environ} -% \end{macrocode} -% -% We use |setspace| for double spacing -% \begin{macrocode} -\if@ACM@manuscript -\RequirePackage{setspace} -\onehalfspacing -\fi -% \end{macrocode} -% -% \changes{v1.40}{2017/06/05}{Added `textcase' package} -% We need |textcase| for better upcasing -% \begin{macrocode} -\RequirePackage{textcase} -% \end{macrocode} -% -% -%\subsection{Citations} -% \changes{v1.19}{2016/07/28}{Include 'References' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.14}{2016/06/09}{Patched \cs{citestyle}} -% \changes{v1.55}{2016/08/012}{Typo corrected (Zack Weinberg)} -% We patch \cs{setcitestyle} to allow, for example, -% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}|. We patch -% \cs{citestyle} to warn about undefined citation styles. -% \begin{macrocode} -\if@ACM@natbib - \RequirePackage{natbib} - \renewcommand{\bibsection}{% - \section*{\refname}% - \phantomsection\addcontentsline{toc}{section}{\refname}% - } - \renewcommand{\bibfont}{\bibliofont} - \renewcommand\setcitestyle[1]{ - \@for\@tempa:=#1\do - {\def\@tempb{round}\ifx\@tempa\@tempb - \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi - \def\@tempb{square}\ifx\@tempa\@tempb - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi - \def\@tempb{angle}\ifx\@tempa\@tempb - \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi - \def\@tempb{curly}\ifx\@tempa\@tempb - \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi - \def\@tempb{semicolon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{colon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{comma}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{,}\fi - \def\@tempb{authoryear}\ifx\@tempa\@tempb - \NAT@numbersfalse\fi - \def\@tempb{numbers}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@superfalse\fi - \def\@tempb{super}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@supertrue\fi - \def\@tempb{nobibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@gobble\fi - \def\@tempb{bibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@citestyle\fi - \def\@tempb{sort}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\fi - \def\@tempb{nosort}\ifx\@tempa\@tempb - \def\NAT@sort{\z@}\fi - \def\@tempb{compress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\@ne}\fi - \def\@tempb{nocompress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\z@}\fi - \def\@tempb{sort&compress}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi - \def\@tempb{mcite}\ifx\@tempa\@tempb - \let\NAT@merge\@ne\fi - \def\@tempb{merge}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi - \def\@tempb{elide}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi - \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb - \NAT@longnamestrue\fi - \def\@tempb{nonamebreak}\ifx\@tempa\@tempb - \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi - \expandafter\NAT@find@eq\@tempa=\relax\@nil - \if\@tempc\relax\else - \expandafter\NAT@rem@eq\@tempc - \def\@tempb{open}\ifx\@tempa\@tempb - \xdef\NAT@open{\@tempc}\fi - \def\@tempb{close}\ifx\@tempa\@tempb - \xdef\NAT@close{\@tempc}\fi - \def\@tempb{aysep}\ifx\@tempa\@tempb - \xdef\NAT@aysep{\@tempc}\fi - \def\@tempb{yysep}\ifx\@tempa\@tempb - \xdef\NAT@yrsep{\@tempc}\fi - \def\@tempb{notesep}\ifx\@tempa\@tempb - \xdef\NAT@cmt{\@tempc}\fi - \def\@tempb{citesep}\ifx\@tempa\@tempb - \xdef\NAT@sep{\@tempc}\fi - \fi - }% - \NAT@@setcites - } - \renewcommand\citestyle[1]{% - \ifcsname bibstyle@#1\endcsname% - \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% - \else% - \@latex@error{Undefined `#1' citestyle}% - \fi - }% -\fi -% \end{macrocode} -% -% \begin{macro}{\bibstyle@acmauthoryear} -% \changes{v1.13}{2016/06/06}{Added macro} -% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@acmauthoryear} -% before use} -% \changes{v1.35}{2017/04/13}{Square brackets for author-year style} -% The default author-year format: -% \begin{macrocode} -\newcommand{\bibstyle@acmauthoryear}{% - \setcitestyle{% - authoryear,% - open={[},close={]},citesep={;},% - aysep={},yysep={,},% - notesep={, }}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\bibstyle@acmnumeric} -% \changes{v1.13}{2016/06/06}{Added macro} -% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@numeric} -% before use} -% The default numeric format: -% \begin{macrocode} -\newcommand{\bibstyle@acmnumeric}{% - \setcitestyle{% - numbers,sort&compress,% - open={[},close={]},citesep={,},% - notesep={, }}} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.28}{2017/01/07}{Corrected option natbib behavior} -% The default is numeric: -% \begin{macrocode} -\if@ACM@natbib -\citestyle{acmnumeric} -\fi -% \end{macrocode} -% -% \begin{macro}{\@startsection} -% \changes{v1.31}{2017/03/04}{Added \cs{tochangmeasure}} -% Before we call |hyperref|, we redefine \cs{startsection} commands to -% their \LaTeX\ defaults since the |amsart| ones are too AMS-specific. -% We need to do this early since we want |hyperref| to have a chance -% to redefine them again: -% \begin{macrocode} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6{% - \@hangfrom{\hskip #3\relax\@svsec}% - \interlinepenalty \@M #8\@@par}% - \endgroup - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}% - \else - \def\@svsechd{% - #6{\hskip #3\relax - \@svsec #8}% - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname\space}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par \nobreak - \vskip \@tempskipa - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\def\@seccntformat#1{\csname the#1\endcsname\quad} -\def\@ssect#1#2#3#4#5{% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ - \begingroup - #4{% - \@hangfrom{\hskip #1}% - \interlinepenalty \@M #5\@@par}% - \endgroup - \else - \def\@svsechd{#4{\hskip #1\relax #5}}% - \fi - \@xsect{#3}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@startsection} -% \changes{v1.31}{2017/03/04}{Rededined macro} -% \changes{v1.43}{2017/07/09}{Added \cs{makeatletter}} -% The |amsart| package redefines \cs{startsection}. Here we redefine -% it again to make the table of contents work. -% \begin{macrocode} -\def\@starttoc#1#2{\begingroup\makeatletter - \setTrue{#1}% - \par\removelastskip\vskip\z@skip - \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% - {.5\linespacing}{\centering\contentsnamefont}{#2}% - \@input{\jobname.#1}% - \if@filesw - \@xp\newwrite\csname tf@#1\endcsname - \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax - \fi - \global\@nobreakfalse \endgroup - \addvspace{32\p@\@plus14\p@}% -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\l@subsection} -% \changes{v1.40}{2017/05/27}{Redefined macro} -% Section spacing is more generous than for |amsart| -% \begin{macrocode} -\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\l@subsection} -% \changes{v1.31}{2017/03/04}{Redefined macro} -% The spacing in |amsart| is too large -% \begin{macrocode} -\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\l@subsubsection} -% \changes{v1.31}{2017/03/04}{Redefined macro} -% \changes{v1.71}{2020/04/30}{Bug fixed (thanks to Andrew Black)} -% The spacing in |amsart| is too large -% \begin{macrocode} -\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}} -% \end{macrocode} -% -% \end{macro} -% -% We need to define foonote-related stuff before the call to hyperref -% (Ross Moore) -% \begin{macro}{\@makefntext} -% We do not use indentation for footnotes -% \begin{macrocode} -\def\@makefntext{\noindent\@makefnmark} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@footnotetext} -% In |sigchi-a| mode our footnotes are in the margin! -% \begin{macrocode} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mpfootnotetext} -% \changes{v1.13}{2016/06/06}{Made minipage footnotes centered} -% We want the footnotes in minipages centered: -% \begin{macrocode} -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@makefnmark} -% \changes{v1.17}{2016/067/09}{Redefined} -% AMS classes use a buggy definition of \cs{makefnmark}. We revert -% to the standard one. -% \begin{macrocode} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -% \end{macrocode} -% -% \end{macro} -% -% Adding |hyperxmp| -% \changes{v1.72}{2020/06/14}{Added hyperxmp} -% \changes{v1.76}{2021/02/21}{Moved before hyperref, see -% https://github.com/borisveytsman/acmart/issues/425} -% \begin{macrocode} -\RequirePackage{hyperxmp} -% \end{macrocode} -% -% -% And now, |hyperref| -% \changes{v1.28}{2017/01/07}{Got rid of warnings in pdf keywords} -% \changes{v1.46}{2017/08/25}{Delayed hypersetup since journal options -% may change screen mode} -% \changes{v1.55}{2018/10/20}{Now we use purple color for links} -% \changes{v1.58}{2019/26/01}{Suppressed \cs{addtocounter} in pdf -% subject} -% \begin{macrocode} -\let\@footnotemark@nolink\@footnotemark -\let\@footnotetext@nolink\@footnotetext -\RequirePackage[bookmarksnumbered,unicode]{hyperref} -\pdfstringdefDisableCommands{% - \def\addtocounter#1#2{}% - \def\unskip{}% - \def\textbullet{- }% - \def\textrightarrow{ -> }% - \def\footnotemark{}% -} -\urlstyle{rm} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \urlstyle{sf} -\or % sigchi -\or % sigchi-a - \urlstyle{sf} -\fi -\AtEndPreamble{% - \if@ACM@urlbreakonhyphens - \def\do@url@hyp{\do\-}% - \fi - \if@ACM@screen - \hypersetup{colorlinks, - linkcolor=ACMPurple, - citecolor=ACMPurple, - urlcolor=ACMDarkBlue, - filecolor=ACMDarkBlue} - \else - \hypersetup{hidelinks} - \fi - \hypersetup{pdflang={en}, - pdfdisplaydoctitle}} -% \end{macrocode} -% -% -% Bibliography mangling. -% \changes{v1.33}{2017/03/23}{Moved \cs{citename} definition for -% non-natbib bibliography, so a package may redefine it} -% \changes{v1.48}{2017/09/23}{\cs{citeyear} no longer behaves like -% \cs{citeyearpar}} -% \begin{macrocode} -\if@ACM@natbib - \let\citeN\cite - \let\cite\citep - \let\citeANP\citeauthor - \let\citeNN\citeyearpar - \let\citeyearNP\citeyear - \let\citeNP\citealt - \DeclareRobustCommand\citeA - {\begingroup\NAT@swafalse - \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% - \providecommand\newblock{}% -\else - \AtBeginDocument{% - \let\shortcite\cite% - \providecommand\citename[1]{#1}} -\fi -\newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} -% \end{macrocode} -% -% -% \begin{macro}{\bibliographystyle} -% \changes{v1.13}{2016/06/06}{Redefined macro} -% The |amsart| package redefines \cs{bibliographystyle} since it -% prefers the AMS bibliography style. We turn it back to the -% \LaTeX\ definition: -% \begin{macrocode} -\def\bibliographystyle#1{% - \ifx\@begindocumenthook\@undefined\else - \expandafter\AtBeginDocument - \fi - {\if@filesw - \immediate\write\@auxout{\string\bibstyle{#1}}% - \fi}} -% \end{macrocode} -% -% \end{macro} -% -% -% Graphics and color. -% \changes{1.48}{2017/10/22}{Added prologue option to xcolor} -% \begin{macrocode} -\RequirePackage{graphicx} -\RequirePackage[prologue]{xcolor} -% \end{macrocode} -% -% We define ACM colors according to~\cite{ACMIdentityStandards}: -% \begin{macrocode} -\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} -\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} -\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} -\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} -\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} -\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} -\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} -\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} -% \end{macrocode} -% -% -% Author-draft mode or sigchi-a mode -% \begin{macrocode} -\if@ACM@authordraft - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft.\\ - Not for distribution.}} -\else - \if@ACM@sigchiamode - \if@ACM@nonacm\else - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Legacy document. \\ - Not for publication in an ACM venue}} - \fi - \fi -\fi -% \end{macrocode} -% -% -%\subsection{Paper size and paragraphing} -%\label{sec:paper} -% -% \changes{v1.17}{2016/07/07}{Slightly decreased margins for sigs} -% \changes{v1.29}{2017/01/22}{Increased head to 13pt} -% \changes{v1.40}{2017/07/15}{Added heightrounded to geometry} -% \changes{v1.56}{2018/10/16}{Make two-column layouts flush (Philip Quinn)} -% We use |geometry| for dimensions. Note that the present margins do not -% depend on the font size option---we might need to change this. -% See \url{https://github.com/borisveytsman/acmart/issues/5#issuecomment-272881329}. -% \begin{macrocode} -\RequirePackage{geometry} -\ifcase\ACM@format@nr -\relax % manuscript - \geometry{letterpaper,head=13pt, - marginparwidth=6pc,heightrounded}% -\or % acmsmall - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\or % acmlarge - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, - top=78pt, bottom=114pt, inner=81pt, outer=81pt, - marginparwidth=4pc,heightrounded - }% -\or % acmtog - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=24pt, - top=52pt, bottom=75pt, inner=52pt, outer=52pt, - marginparwidth=2pc,heightrounded - }% -\or % sigconf - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % siggraph - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigplan - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot=false, columnsep=2pc, - top=1in, bottom=1in, inner=0.75in, outer=0.75in, - marginparwidth=2pc,heightrounded - }% -\or % sigchi - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=66pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigchi-a - \geometry{twoside=false, head=13pt, - paperwidth=11in, paperheight=8.5in, - includeheadfoot, marginparsep=72pt, - marginparwidth=170pt, columnsep=20pt, - top=72pt, bottom=72pt, left=314pt, right=72pt - }% - \@mparswitchfalse - \reversemarginpar -\fi -% \end{macrocode} -% -% -% \begin{macro}{\parindent} -% \begin{macro}{\parskip} -% Paragraphing -% \begin{macrocode} -\setlength\parindent{10\p@} -\setlength\parskip{\z@} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \setlength\parindent{9\p@}% -\or % sigconf -\or % siggraph -\or % sigplan -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% -% \begin{macro}{\normalparindent} -% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent} (Matthew Fluet)}% -% The |amsart| package defines the \cs{normalparindent} length and -% initializes it to 12pt (the value of \cs{parindent} in |amsart|). It -% is later used to set the \cs{listparindent} length in the |quotation| -% environment and the \cs{parindent} length in the \cs{@footnotetext} -% command. We set \cs{normalparindent} to the value of \cs{parindent} -% as selected by |acmart| for consistent paragraph indents. -% \begin{macrocode} -\setlength\normalparindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% Footnotes require some consideration. We have several layers of -% footnotes: frontmatter footnotes, ``regular'' footnotes and the -% special insert for the bibstrip. In the old ACM classes, the bibstrip -% was a \cs{@float}. The problem with floats is that they tend to, well, -% float---and we want the guarantee they stay. -% -% We use |manyfoot| for layered footnotes instead. -% -% \begin{macro}{\copyrightpermissionfootnoterule} -% \changes{v1.12}{2016/05/30}{Added macro} -% This is the footnote rule that separates the bibstrip from the rest of -% the paper. It is a full width rule. -% \begin{macrocode} -\def\copyrightpermissionfootnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\RequirePackage{manyfoot} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{authorsaddresses} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{copyrightpermission} -% \end{macrocode} -% -% -% \begin{macro}{\footnoterule} -% \changes{v1.12}{2016/05/30}{Made shorter} -% Tschichold's rules: -% \begin{macrocode} -\def\footnoterule{\kern-3\p@ - \hrule \@width 4pc \kern 2.6\p@} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\endminipage} -% We do not use footnote rules in minipages -% \begin{macrocode} -\def\endminipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \unvbox\@mpfootins - \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@textbottom} -% \changes{v1.31}{2017/03/04}{Redefined} -% Add some stretch according to David Carlisle's advice at -% \url{http://tex.stackexchange.com/a/62318/5522} -% \begin{macrocode} -\def\@textbottom{\vskip \z@ \@plus 1pt} -\let\@texttop\relax -% \end{macrocode} -% -% \end{macro} -% -% In two-column layouts, force both columns to be the same height by inserting -% extra internal vertical space to fill out the page. -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \flushbottom -\or % sigconf - \flushbottom -\or % siggraph - \flushbottom -\or % sigplan - \flushbottom -\or % sigchi - \flushbottom -\or % sigchi-a -\fi -% \end{macrocode} -% -%\subsection{Fonts} -%\label{sec:fonts} -% -% \changes{v1.12}{2016/05/30}{Added graceful behavior when libertine -% fonts are absent} -% \changes{v1.33}{2017/03/29}{Added cmap and glyphtounicode} -% \changes{v1.40}{2017/05/27}{Added Ross Moore code for glyphtounicode} -% -% Somehow PDFTeX and XeTeX require different incantations to make a PDF -% compliant with the current Acrobat bugs. Xpdf is much better. -% -% The code below is by Ross Moore. -% \begin{macrocode} -\ifPDFTeX -\input{glyphtounicode} -\pdfglyphtounicode{f_f}{FB00} -\pdfglyphtounicode{f_f_i}{FB03} -\pdfglyphtounicode{f_f_l}{FB04} -\pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{0074 0074} -\pdfglyphtounicode{f_t}{0066 0074} -\pdfglyphtounicode{T_h}{0054 0068} -\pdfgentounicode=1 -\RequirePackage{cmap} -\fi -% \end{macrocode} -% -% -% \begin{macro}{\if@ACM@newfonts} -% \changes{v1.12}{2016/05/30}{Added macro}% -% Whether we load the new fonts -% \begin{macrocode} -\newif\if@ACM@newfonts -\@ACM@newfontstrue -\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have the libertine package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not - have the inconsolata (zi4.sty) package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have the newtxmath package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.30}{2017/02/15}{Switched to T1: looks like libertine has -% problems with \cs{l} in OT1}% -% \changes{v1.33}{2017/03/12}{Switched to Type~1 fonts for libertine -% even if OTF-capable engine is used (Kai Mindermann)} -% \changes{v1.51}{2018/04/05}{XeTeX now uses OTF fonts (Joachim -% Breitner)} -% \changes{v1.54}{2018/07/16}{XeTeX now uses T1 encoding} -% \changes{v1.56}{2018/11/11}{Looks like XeTeX requires explicit -% monotype font declaration} -% \changes{v1.74}{2020/10/25}{Changed the order of font loading}% -% We use Libertine throughout. -% \begin{macrocode} -\if@ACM@newfonts - \RequirePackage[T1]{fontenc} - % Note that the order in which packages are loaded matters, - % and the correct order depends on the LaTeX engine used. - % See https://github.com/borisveytsman/acmart/issues/402 - % and https://github.com/borisveytsman/acmart/issues/410 - \ifxetex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \ifluatex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \RequirePackage[tt=false, type1=true]{libertine} - \RequirePackage[varqu]{zi4} - \RequirePackage[libertine]{newtxmath} - \fi - \fi -\fi -% \end{macrocode} -% -% \begin{macro}{\liningnums} -% \changes{v1.46}{2017/08/28}{Workaround for compatibility with fontspec} -% Libertine defines \cs{liningnums}, which makes |fontspec| unhappy. -% While we do not use |fontspec|, some users do. -% \begin{macrocode} -\let\liningnums\@undefined -\AtEndPreamble{% - \DeclareTextFontCommand{\liningnums}{\libertineLF}} -% \end{macrocode} -% -% \end{macro} -% -% -% The SIGCHI extended abstracts are sans serif: -% \begin{macrocode} -\if@ACM@sigchiamode - \renewcommand{\familydefault}{\sfdefault} -\fi -% \end{macrocode} -% -% -% -%\subsection{Image descriptions} -%\label{sec:description} -% -% \begin{macro}{\if@Description@present} -% \changes{v1.56}{2018/11/11}{Added macro} -% A local switch: whether there is a description in the given figure -% \begin{macrocode} -\newif\if@Description@present -\@Description@presenttrue -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\if@undescribed@images} -% \changes{v1.56}{2018/11/11}{Added macro} -% A global switch whether some images were \emph{not} described -% \begin{macrocode} -\newif\if@undescribed@images -\@undescribed@imagesfalse -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Description} -% \changes{v1.56}{2018/11/11}{Added macro} -% The Description macro right now just sets switches -% \begin{macrocode} -\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces} -% \end{macrocode} -% \end{macro} -% -% The global warning -% \begin{macrocode} -\AtEndDocument{\if@undescribed@images - \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi} -% \end{macrocode} -% -% Hooks for figures and tables. We also patch |algorithm| and -% |algorithm*| in case somebody uses them. -% \changes{v1.66}{2019/11/23}{Patching algorithm and algorithm* -% to prevent spurious space warnings} -% \changes{v1.67}{2020/01/11}{Patching lstlisting and lstlisting* -% to prevent spurious space warnings} -% \changes{v1.73}{2020/08/23}{Patching minted and minted* -% to prevent spurious space warnings} -% \begin{macrocode} -\AtBeginEnvironment{figure}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{figure*}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtEndEnvironment{figure}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtEndEnvironment{figure*}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} - -% \end{macrocode} -% -% -%\subsection{Floats} -%\label{sec:floats} -% -% \changes{v1.55}{2018/10/20}{Table captions for SIGCHI now use the -% same font size as figure captions (Luis Leiva)} -% We use the |caption| package -% \begin{macrocode} -\RequirePackage{caption, float} -\captionsetup[table]{position=top} -\if@ACM@journal - \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} - \captionsetup[figure]{name={Fig.}} -\else - \captionsetup{labelfont={bf}, - textfont={bf}, labelsep=colon, margin=\z@} - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \or % sigconf - \or % siggraph - \captionsetup{textfont={it}} - \or % sigplan - \captionsetup{labelfont={bf}, - textfont={normalfont}, labelsep=period, margin=\z@} - \or % sigchi - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % sigchi-a - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \fi -\fi -% \end{macrocode} -% -% \begin{macro}{sidebar} -% The |sidebar| environment: -% \begin{macrocode} -\newfloat{sidebar}{}{sbar} -\floatname{sidebar}{Sidebar} -\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@sidebar} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}% - \marginpar{\small#1}\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{marginfigure} -% The |marginfigure| environment: -% \begin{macrocode} -\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@marginfigure} -% \changes{v1.12}{2016/05/30}{Now centering by default} -% \changes{v1.56}{2018/11/11}{Added checking for description} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@marginfigure#1{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \captionsetup{type=figure}% - \marginpar{\@Description@presentfalse\centering - \small#1\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description} - \fi}% - \egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{margintable} -% The |margintable| environment: -% \begin{macrocode} -\newenvironment{margintable}{\Collect@Body\@margintable}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@margintable} -% \changes{v1.12}{2016/05/30}{Now centering by default} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% The processing of the saved text -% \begin{macrocode} -\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=table}% - \marginpar{\centering\small#1}\egroup} -% \end{macrocode} -% -% \end{macro} -% -% -% SIGCHI extended abstracts provide an interesting possibility to push -% into the margin. Here we use |figure*| and |table*| for this. -% \begin{macro}{\fulltextwidth} -% We define the width of the boxes as -% \begin{macrocode} -\newdimen\fulltextwidth -\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@dblfloat} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% We redefine the double-float command. First, we make the size -% bigger. Second, our default position is going to be |tp| (to give -% marginalia a chance) -% \begin{macrocode} -\if@ACM@sigchiamode -\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth - \let\@endfloatbox\@endwidefloatbox - \def\@fpsadddefault{\def\@fps{tp}}% - \@float} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\end@dblfloat} -% And the end. Just adding a \cs{bgroup}. -% \begin{macrocode} -\if@ACM@sigchiamode -\def\end@dblfloat{% - \end@float\egroup} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@endwidefloatbox} -% This is the end of a wide box---we basically move everything -% to the left -% \begin{macrocode} -\def\@endwidefloatbox{% - \par\vskip\z@skip - \@minipagefalse - \outer@nobreak - \egroup - \color@endbox - \global\setbox\@currbox=\vbox{\moveleft - \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% - \wd\@currbox=\textwidth -} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Lists} -%\label{sec:lists} -% -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii.} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% The AMS uses generous margins for lists. Note that |amsart| defines -% \cs{leftmargin} values for list levels at the beginning of the -% document, so we must redefine them in the same manner. Also, note that -% |amsart| redefines the |enumerate| and |itemize| environments with a -% \cs{makelabel} command that uses \cs{llap}, so the \cs{labelwidth} -% value is~(effectively) irrelevant; nonetheless, we follow |amsart| -% and set \cs{labelwidth} to \cs{leftmargin} minus \cs{labelsep}. -% \begin{macrocode} -\newdimen\@ACM@labelwidth -\AtBeginDocument{% - \setlength\labelsep{4pt} - \setlength{\@ACM@labelwidth}{6.5pt} - - %% First-level list: when beginning after the first line of an - %% indented paragraph or ending before an indented paragraph, labels - %% should not hang to the left of the preceding/following text. - \setlength\leftmargini{\z@} - \addtolength\leftmargini{\parindent} - \addtolength\leftmargini{2\labelsep} - \addtolength\leftmargini{\@ACM@labelwidth} - - %% Second-level and higher lists. - \setlength\leftmarginii{\z@} - \addtolength\leftmarginii{0.5\labelsep} - \addtolength\leftmarginii{\@ACM@labelwidth} - \setlength\leftmarginiii{\leftmarginii} - \setlength\leftmarginiv{\leftmarginiii} - \setlength\leftmarginv{\leftmarginiv} - \setlength\leftmarginvi{\leftmarginv} - \@listi} -\newskip\listisep -\listisep\smallskipamount -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini \advance\labelwidth-\labelsep - \listparindent\z@ - \topsep\listisep} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii \advance\labelwidth-\labelsep - \topsep\z@skip} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv \advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -% \end{macrocode} -% -% -% \begin{macro}{\descriptionlabel} -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% \changes{v1.12}{2016/05/30}{Redefined} -% We do not use a colon by default like |amsart| does: -% \begin{macrocode} -\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\description} -% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}% -% \changes{v1.17}{2016/07/07}{Decreased indent} -% Make the |description| environment indentation consistent with that of -% the |itemize| and |enumerate| environments. -% \begin{macrocode} -\renewenvironment{description}{\list{}{% - \labelwidth\@ACM@labelwidth - \let\makelabel\descriptionlabel}% -}{ - \endlist -} -\let\enddescription=\endlist % for efficiency -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Top-matter data} -%\label{sec:top_matter_data} -% -% \begin{macro}{\if@ACM@maketitle@typeset} -% \changes{v1.64}{2019/08/17}{Introduced macro} -% The switch to check whether \cs{maketitle} is already typeset. It -% is initally false, and setting top matter when it is true is wrong. -% \begin{macrocode} -\newif\if@ACM@maketitle@typeset -\@ACM@maketitle@typesetfalse -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.24}{2016/11/16}{Add IMWUT journal option} -% \changes{v1.25}{2016/12/03}{Updated PACMPL} -% \changes{v1.30}{2017/02/15}{Updated IMWUT and PACMPL} -% \changes{v1.36}{2017/05/13}{Added PACMHCI journal options} -% \changes{v1.46}{2017/08/25}{PACM now set screen to true} -% \changes{v1.53}{2018/04/14}{Added PACMCGIT, TIOT, TDSCI} -% \changes{v1.58}{2019/03/29}{Added HEALTH. TDSCI is renamed to TDS} -% \changes{1.70}{2020/02/22}{Name change for TDS} -% \changes{1.79}{2021/08/29}{Updated indormation for TAP, TCPS, TEAC} -% \changes{1.80}{2021/09/24}{Added DLT and FAC} -% -% We use the |xkeyval| interface to define journal titles and the relevant -% information -% \begin{macrocode} -\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% - CIE,% - CSUR,% - DGOV,% - DLT,% - DTRAP,% - FAC,% - HEALTH,% - IMWUT,% - JACM,% - JDIQ,% - JEA,% - JERIC,% - JETC,% - JOCCH,% - PACMCGIT,% - PACMHCI,% - PACMPL,% - POMACS,% - TAAS,% - TACCESS,% - TACO,% - TALG,% - TALLIP,% - TAP,% - TCPS,% - TDS,% - TEAC,% - TECS,% - TELO,% - THRI,% - TIIS,% - TIOT,% - TISSEC,% - TIST,% - TKDD,% - TMIS,% - TOCE,% - TOCHI,% - TOCL,% - TOCS,% - TOCT,% - TODAES,% - TODS,% - TOG,% - TOIS,% - TOIT,% - TOMACS,% - TOMM,% - TOMPECS,% - TOMS,% - TOPC,% - TOPS,% - TOPLAS,% - TOS,% - TOSEM,% - TOSN,% - TQC,% - TRETS,% - TSAS,% - TSC,% - TSLP,% - TWEB,% - FACMP% -}{% -\ifcase\@journalCode@nr -\relax % CIE - \def\@journalName{ACM Computers in Entertainment}% - \def\@journalNameShort{ACM Comput. Entertain.}% - \def\@permissionCodeOne{1544-3574}% -\or % CSUR - \def\@journalName{ACM Computing Surveys}% - \def\@journalNameShort{ACM Comput. Surv.}% - \def\@permissionCodeOne{0360-0300}% -\or % DGOV - \def\@journalName{Digital Government: Research and Practice}% - \def\@journalNameShort{Digit. Gov. Res. Pract.}% - \def\@permissionCodeOne{2639-0175}% -\or % DLT - \def\@journalName{Distributed Ledger Technologies: Research and Practice}% - \def\@journalNameShort{Distrib. Ledger Technol.}% - \def\@permissionCodeOne{2769-6472}% -\or % DTRAP - \def\@journalName{Digital Threats: Research and Practice}% - \def\@journalNameShort{Digit. Threat. Res. Pract.}% - \def\@permissionCodeOne{2576-5337}% -\or % FAC - \def\@journalName{Formal Aspects of Computing}% - \def\@journalNameShort{Form. Asp. Comput.}% - \def\@permissionCodeOne{0934-5043}% -\or % HEALTH - \def\@journalName{ACM Transactions on Computing for Healthcare}% - \def\@journalNameShort{ACM Trans. Comput. Healthcare}% - \def\@permissionCodeOne{2637-8051}% -\or % IMWUT - \def\@journalName{Proceedings of the ACM on Interactive, Mobile, - Wearable and Ubiquitous Technologies}% - \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% - \def\@permissionCodeOne{2474-9567}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % JACM - \def\@journalName{Journal of the ACM}% - \def\@journalNameShort{J. ACM}% - \def\@permissionCodeOne{0004-5411}% -\or % JDIQ - \def\@journalName{ACM Journal of Data and Information Quality}% - \def\@journalNameShort{ACM J. Data Inform. Quality}% - \def\@permissionCodeOne{1936-1955}% -\or % JEA - \def\@journalName{ACM Journal of Experimental Algorithmics}% - \def\@journalNameShort{ACM J. Exp. Algor.}% - \def\@permissionCodeOne{1084-6654}% -\or % JERIC - \def\@journalName{ACM Journal of Educational Resources in Computing}% - \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% - \def\@permissionCodeOne{1073-0516}% -\or % JETC - \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% - \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% - \def\@permissionCodeOne{1550-4832}% -\or % JOCCH - \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% -\or % PACMCGIT - \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}% - \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}% - \def\@permissionCodeOne{2577-6193}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMHCI - \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% - \def\@permissionCodeOne{2573-0142}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMPL - \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalNameShort{Proc. ACM Program. Lang.}% - \def\@permissionCodeOne{2475-1421}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % POMACS - \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% - \def\@permissionCodeOne{2476-1249}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % TAAS - \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% - \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% - \def\@permissionCodeOne{1556-4665}% -\or % TACCESS - \def\@journalName{ACM Transactions on Accessible Computing}% - \def\@journalNameShort{ACM Trans. Access. Comput.}% - \def\@permissionCodeOne{1936-7228}% -\or % TACO - \def\@journalName{ACM Transactions on Architecture and Code Optimization}% - \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% -\or % TALG - \def\@journalName{ACM Transactions on Algorithms}% - \def\@journalNameShort{ACM Trans. Algor.}% - \def\@permissionCodeOne{1549-6325}% -\or % TALLIP - \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% - \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% - \def\@permissionCodeOne{2375-4699}% -\or % TAP - \def\@journalName{ACM Transactions on Applied Perception}% - \def\@journalNameShort{ACM Trans. Appl. Percept.}% - \def\@permissionCodeOne{1544-3558}% -\or % TCPS - \def\@journalName{ACM Transactions on Cyber-Physical Systems}% - \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}% - \def\@permissionCodeOne{2378-962X}% -\or % TDS - \def\@journalName{ACM/IMS Transactions on Data Science}% - \def\@journalNameShort{ACM/IMS Trans. Data Sci.}% - \def\@permissionCodeOne{2577-3224}% -\or % TEAC - \def\@journalName{ACM Transactions on Economics and Computation}% - \def\@journalNameShort{ACM Trans. Econ. Comput.}% - \def\@permissionCodeOne{2167-8375}% -\or % TECS - \def\@journalName{ACM Transactions on Embedded Computing Systems}% - \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% - \def\@permissionCodeOne{1539-9087}% -\or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% - \def\@permissionCodeOne{2688-3007}% -\or % THRI - \def\@journalName{ACM Transactions on Human-Robot Interaction}% - \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}% - \def\@permissionCodeOne{2573-9522}% -\or % TIIS - \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% - \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% - \def\@permissionCodeOne{2160-6455}% -\or % TIOT - \def\@journalName{ACM Transactions on Internet of Things}% - \def\@journalNameShort{ACM Trans. Internet Things}% - \def\@permissionCodeOne{2577-6207}% -\or % TISSEC - \def\@journalName{ACM Transactions on Information and System Security}% - \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% - \def\@permissionCodeOne{1094-9224}% -\or % TIST - \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% - \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% - \def\@permissionCodeOne{2157-6904}% -\or % TKDD - \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% - \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% - \def\@permissionCodeOne{1556-4681}% -\or % TMIS - \def\@journalName{ACM Transactions on Management Information Systems}% - \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% - \def\@permissionCodeOne{2158-656X}% -\or % TOCE - \def\@journalName{ACM Transactions on Computing Education}% - \def\@journalNameShort{ACM Trans. Comput. Educ.}% - \def\@permissionCodeOne{1946-6226}% -\or % TOCHI - \def\@journalName{ACM Transactions on Computer-Human Interaction}% - \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% - \def\@permissionCodeOne{1073-0516}% -\or % TOCL - \def\@journalName{ACM Transactions on Computational Logic}% - \def\@journalNameShort{ACM Trans. Comput. Logic}% - \def\@permissionCodeOne{1529-3785}% -\or % TOCS - \def\@journalName{ACM Transactions on Computer Systems}% - \def\@journalNameShort{ACM Trans. Comput. Syst.}% - \def\@permissionCodeOne{0734-2071}% -\or % TOCT - \def\@journalName{ACM Transactions on Computation Theory}% - \def\@journalNameShort{ACM Trans. Comput. Theory}% - \def\@permissionCodeOne{1942-3454}% -\or % TODAES - \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% - \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% - \def\@permissionCodeOne{1084-4309}% -\or % TODS - \def\@journalName{ACM Transactions on Database Systems}% - \def\@journalNameShort{ACM Trans. Datab. Syst.}% - \def\@permissionCodeOne{0362-5915}% -\or % TOG - \def\@journalName{ACM Transactions on Graphics}% - \def\@journalNameShort{ACM Trans. Graph.}% - \def\@permissionCodeOne{0730-0301} -\or % TOIS - \def\@journalName{ACM Transactions on Information Systems}% - \def\@permissionCodeOne{1046-8188}% -\or % TOIT - \def\@journalName{ACM Transactions on Internet Technology}% - \def\@journalNameShort{ACM Trans. Internet Technol.}% - \def\@permissionCodeOne{1533-5399}% -\or % TOMACS - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% -\or % TOMM - \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% - \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% - \def\@permissionCodeOne{1551-6857}% - \def\@permissionCodeTwo{0100}% -\or % TOMPECS - \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% - \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% - \def\@permissionCodeOne{2376-3639}% -\or % TOMS - \def\@journalName{ACM Transactions on Mathematical Software}% - \def\@journalNameShort{ACM Trans. Math. Softw.}% - \def\@permissionCodeOne{0098-3500}% -\or % TOPC - \def\@journalName{ACM Transactions on Parallel Computing}% - \def\@journalNameShort{ACM Trans. Parallel Comput.}% - \def\@permissionCodeOne{1539-9087}% -\or % TOPS - \def\@journalName{ACM Transactions on Privacy and Security}% - \def\@journalNameShort{ACM Trans. Priv. Sec.}% - \def\@permissionCodeOne{2471-2566}% -\or % TOPLAS - \def\@journalName{ACM Transactions on Programming Languages and Systems}% - \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% - \def\@permissionCodeOne{0164-0925}% -\or % TOS - \def\@journalName{ACM Transactions on Storage}% - \def\@journalNameShort{ACM Trans. Storage}% - \def\@permissionCodeOne{1553-3077}% -\or % TOSEM - \def\@journalName{ACM Transactions on Software Engineering and Methodology}% - \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% - \def\@permissionCodeOne{1049-331X}% -\or % TOSN - \def\@journalName{ACM Transactions on Sensor Networks}% - \def\@journalNameShort{ACM Trans. Sensor Netw.}% - \def\@permissionCodeOne{1550-4859}% -\or % TQC - \def\@journalName{ACM Transactions on Quantum Computing}% - \def\@journalNameShort{ACM Trans. Quantum Comput.}% - \def\@permissionCodeOne{2643-6817}% -\or % TRETS - \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% - \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% - \def\@permissionCodeOne{1936-7406}% -\or % TSAS - \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% - \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% - \def\@permissionCodeOne{2374-0353}% -\or % TSC - \def\@journalName{ACM Transactions on Social Computing}% - \def\@journalNameShort{ACM Trans. Soc. Comput.}% - \def\@permissionCodeOne{2469-7818}% -\or % TSLP - \def\@journalName{ACM Transactions on Speech and Language Processing}% - \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% - \def\@permissionCodeOne{1550-4875}% -\or % TWEB - \def\@journalName{ACM Transactions on the Web}% - \def\@journalNameShort{ACM Trans. Web}% - \def\@permissionCodeOne{1559-1131}% -\else % FACMP, a dummy journal - \def\@journalName{Forthcoming ACM Publication}% - \def\@journalNameShort{ACM Forthcoming}% - \def\@permissionCodeOne{XXXX-XXXX}% -\fi -\ClassInfo{\@classname}{Using journal code \@journalCode}% -}{% - \ClassError{\@classname}{Incorrect journal #1}% -}% -% \end{macrocode} -% \begin{macro}{\acmJournal} -% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} -% And the syntactic sugar around it -% \begin{macrocode} -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% - \global\@ACM@journal@bibstriptrue} -% \end{macrocode} -% -% \end{macro} -% -% The defaults: -% \begin{macrocode} -\def\@journalCode@nr{0} -\def\@journalName{}% -\def\@journalNameShort{\@journalName}% -\def\@permissionCodeOne{XXXX-XXXX}% -\def\@permissionCodeTwo{}% -% \end{macrocode} -% -% -% \begin{macro}{\acmConference} -% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}} -% This is the conference command -% \begin{macrocode} -\newcommand\acmConference[4][]{% - \gdef\acmConference@shortname{#1}% - \gdef\acmConference@name{#2}% - \gdef\acmConference@date{#3}% - \gdef\acmConference@venue{#4}% - \ifx\acmConference@shortname\@empty - \gdef\acmConference@shortname{#2}% - \fi - \global\@ACM@journal@bibstripfalse -} -\if@ACM@journal\else -\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA}% -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBooktitle} -% \changes{v1.44}{2017/08/11}{Added macro} -% \begin{macro}{\@acmBooktitle} -% \changes{v1.44}{2017/08/11}{Added macro} -% The book title of the conference: -% \begin{macrocode} -\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} -\acmBooktitle{} -\ifx\acmConference@name\@undefined\else -\acmBooktitle{Proceedings of \acmConference@name - \ifx\acmConference@name\acmConference@shortname\else - \ (\acmConference@shortname)\fi} -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@editorsAbbrev} -% \changes{v1.44}{2017/08/11}{Added macro} -% How to abbreviate editors -% \begin{macrocode} -\def\@editorsAbbrev{(Ed.)} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmEditors} -% \changes{v1.44}{2017/08/11}{Added macro} -% The list of editors -% \begin{macrocode} -\def\@acmEditors{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\editor} -% \changes{v1.44}{2017/08/11}{Added macro} -% Add a new editor to the list -% \begin{macrocode} -\def\editor#1{\ifx\@acmEditors\@empty - \gdef\@acmEditors{#1}% - \else - \gdef\@editorsAbbrev{(Eds.)}% - \g@addto@macro\@acmEditors{\and#1}% -\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\subtitle} -% The subtitle macro -% \begin{macrocode} -\def\subtitle#1{\def\@subtitle{#1}} -\subtitle{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\num@authorgroups} -% \changes{v1.15}{2016/06/25}{Renamed} -% The total number of ``groups''. Each group is several authors with -% the same affiliations(s) -% \begin{macrocode} -\newcount\num@authorgroups -\num@authorgroups=0\relax -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\num@authors} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% The total number of authors -% \begin{macrocode} -\newcount\num@authors -\num@authors=0\relax -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\if@insideauthorgroup} -% \changes{v1.15}{2016/06/25}{Introduced macro} -% Whether we are continuing an author group -% \begin{macrocode} -\newif\if@insideauthorgroup -\@insideauthorgroupfalse -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author} -% \changes{v1.15}{2016/06/25}{Added code for author groups} -% \changes{v1.46}{2017/08/27}{Started counting authors} -% \changes{v1.54}{2018/06/23}{Added submission id in anonymous mode} -% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma} -% \changes{v1.72}{2020/05/04}{Added \cs{detokenize} (Kuldeep S. Meel)} -% \changes{v1.76}{2021/03/15}{Added code for orcid links} -% Adding an author to the list of authors and addresses. -% -% Note that we want to typeset the link to the author's orcid if -% known. The problem is, we know the orcid only after the author is -% entered. The trick is based on the idea that |\csname...\endcsname| -% is \cs{relax} unless defined. Therefore we typeset authors by the -% special macro |\csname typeset@author\the\num@authors\endcsname|, -% which is defined by \cs{orcid} command. -% \begin{macrocode} -\renewcommand\author[2][]{% - \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several - authors in the same \string\author\space macro!}}{}% - \global\advance\num@authors by 1\relax - \if@insideauthorgroup\else - \global\advance\num@authorgroups by 1\relax - \global\@insideauthorgrouptrue - \fi - \ifx\addresses\@empty - \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)% - \ifx\@acmSubmissionID\@empty\else\\Submission Id: - \@acmSubmissionID\fi}}% - \gdef\authors{Anonymous Author(s)}% - \else - \expandafter\gdef\expandafter\addresses\expandafter{% - \expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \gdef\authors{#2}% - \fi - \else - \if@ACM@anonymous\else - \expandafter\g@addto@macro\expandafter\addresses\expandafter{% - \expandafter\and\expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \g@addto@macro\authors{\and#2}% - \fi - \fi - \if@ACM@anonymous - \ifx\shortauthors\@empty - \gdef\shortauthors{Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: - \@acmSubmissionID\fi}% - \fi - \else - \def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\shortauthors\@empty - \gdef\shortauthors{#2}% - \else - \g@addto@macro\shortauthors{\and#2}% - \fi - \else - \ifx\shortauthors\@empty - \gdef\shortauthors{#1}% - \else - \g@addto@macro\shortauthors{\and#1}% - \fi - \fi - \fi} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\affiliation} -% \changes{v1.15}{2016/06/25}{Added code for author groups} -% The macro \cs{affiliation} mimics \cs{address} from |amsart|. -% Note that it has an optional argument, which we use differently -% from |amsart|. -% \begin{macrocode} -\newcommand{\affiliation}[2][]{% - \global\@insideauthorgroupfalse - \if@ACM@anonymous\else - \g@addto@macro\addresses{\affiliation{#1}{#2}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@affiliation@obeypunctuation} -% \changes{v1.33}{2017/03/28}{Added macro} -% Whether to use the author's punctuation (false by default, which adds -% American-style address punctuation) -% \begin{macrocode} -\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} -% \end{macrocode} -% -% \end{macro} -% -% -% -% \begin{macro}{\additionalaffiliation} -% \changes{v1.31}{2017/03/04}{Added macro} -% Additional affiliations go to footnotes -% \begin{macrocode} -\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@additionalaffiliation} -% \changes{v1.31}{2017/03/04}{Added macro} -% Process \cs{additionalaffiliation} inside \cs{authornote} -% \begin{macrocode} -\def\@additionalaffiliation#1{\bgroup - \def\position##1{\ignorespaces}% - \def\institution##1{##1\ignorespaces}% - \def\department{\@ifnextchar[{\@department}{\@department[]}}% - \def\@department[##1]##2{\unskip, ##2\ignorespaces}% - \let\streetaddress\position - \let\city\position - \let\state\position - \let\postcode\position - \let\country\position - Also with #1\unskip.\egroup} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\email} -% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma} -% The macro \cs{email} mimics \cs{email} from |amsart|. -% Again, it has an optional argument that we do not currently need -% but keep for possible future use. -% \begin{macrocode} -\renewcommand{\email}[2][]{% - \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several - addresses in the same \string\email\space macro!}}{}% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\email{#1}{#2}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\orcid} -% \changes{v1.15}{2016/06/25}{Introduced macro} -% \changes{v1.76}{2021/03/15}{Added code for orcid links} -% We rededine the command to typeset the current author -% \begin{macrocode} -\def\orcid#1{\unskip\ignorespaces% - \IfBeginWith{#1}{http}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{#1}{##1}}}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{https://orcid.org/#1}{##1}}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\authorsaddresses} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% Setting up authors' addresses -% \begin{macrocode} -\def\authorsaddresses#1{\def\@authorsaddresses{#1}} -\authorsaddresses{\@mkauthorsaddresses} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@titlenotes} -% The title notes -% \begin{macrocode} -\def\@titlenotes{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\titlenote} -% Adding a note to the title -% \begin{macrocode} -\def\titlenote#1{% - \g@addto@macro\@title{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@titlenotes{% - \stepcounter{footnote}\footnotetext{Title note}}% - \else - \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@subtitlenotes} -% The subtitle notes -% \begin{macrocode} -\def\@subtitlenotes{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\subtitlenote} -% Adding a note to the subtitle -% \begin{macrocode} -\def\subtitlenote#1{% - \g@addto@macro\@subtitle{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{Subtitle note}}% - \else - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@authornotes} -% The author notes -% \begin{macrocode} -\def\@authornotes{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\authornote} -% Adding a note to the author -% \begin{macrocode} -\def\authornote#1{% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\@authornotemark}% - \g@addto@macro\@authornotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\authornotemark} -% \changes{v1.39}{2017/05/14}{Added macro} -% Adding a footnote mark to the authors -% \begin{macrocode} -\newcommand\authornotemark[1][\relax]{% - \ifx#1\relax\relax\relax - \g@addto@macro\addresses{\@authornotemark}% - \else - \g@addto@macro\addresses{\@@authornotemark{#1}}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmVolume} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% The current volume -% \begin{macrocode} -\def\acmVolume#1{\def\@acmVolume{#1}} -\acmVolume{1} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmNumber} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% The current number -% \begin{macrocode} -\def\acmNumber#1{\def\@acmNumber{#1}} -\acmNumber{1} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmArticle} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% \changes{v1.44}{2017/08/111}{The default is now empty} -% The current article -% \begin{macrocode} -\def\acmArticle#1{\def\@acmArticle{#1}} -\acmArticle{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmArticleSeq} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% \changes{v1.44}{2017/08/11}{Now acmArticle might be empty} -% The sequence number -% \begin{macrocode} -\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} -\acmArticleSeq{\@acmArticle} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmYear} -% \changes{v1.17}{2016/07/10}{The default is now numerical} -% \changes{v1.31}{2017/03/04}{The default now is the current year -% (Matteo Riondato)} -% The current year -% \begin{macrocode} -\def\acmYear#1{\def\@acmYear{#1}} -\acmYear{\the\year} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmMonth} -% \changes{v1.17}{2016/07/09}{The default must be numerical. Closes \#50.} -% \changes{v1.31}{2017/03/04}{The default now is the current month -% (Matteo Riondato)} -% The current month -% \begin{macrocode} -\def\acmMonth#1{\def\@acmMonth{#1}} -\acmMonth{\the\month} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@acmPubDate} -% The publication date -% \begin{macrocode} -\def\@acmPubDate{\ifcase\@acmMonth\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or - December\fi~\@acmYear} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmPrice} -% The price -% \begin{macrocode} -\def\acmPrice#1{\def\@acmPrice{#1}} -\acmPrice{15.00} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\acmSubmissionID} -% \changes{v1.33}{2017/03/29}{Added macro} -% The submission ID -% \begin{macrocode} -\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} -\acmSubmissionID{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\acmISBN} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% The book ISBN -% \begin{macrocode} -\def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{978-x-xxxx-xxxx-x/YY/MM} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmDOI} -% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} -% The paper DOI -% \begin{macrocode} -\def\acmDOI#1{\def\@acmDOI{#1}} -\acmDOI{10.1145/nnnnnnn.nnnnnnn} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@badge} -% \changes{v1.06}{2016/05/01}{Added macro} -% Whether to print a badge. Note that either a left or right badge -% triggers it: -% \begin{macrocode} -\newif\if@ACM@badge -\@ACM@badgefalse -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@badge@width} -% \changes{v1.06}{2016/05/01}{Added macro} -% The width of the badge -% \begin{macrocode} -\newlength\@ACM@badge@width -\setlength\@ACM@badge@width{5pc} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@title@width} -% \changes{v1.06}{2016/05/01}{Added macro} -% The width of the badge -% \begin{macrocode} -\newlength\@ACM@title@width -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@badge@skip} -% \changes{v1.06}{2016/05/01}{Added macro} -% The space between the badge and the title -% \begin{macrocode} -\newlength\@ACM@badge@skip -\setlength\@ACM@badge@skip{1pc} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBadgeR} -% \changes{v1.06}{2016/05/01}{Added macro} -% Setting the right badge -% \begin{macrocode} -\newcommand\acmBadgeR[2][]{\@ACM@badgetrue - \def\@acmBadgeR@url{#1}% - \def\@acmBadgeR@image{#2}} -\def\@acmBadgeR@url{} -\def\@acmBadgeR@image{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acmBadgeL} -% \changes{v1.06}{2016/05/01}{Added macro} -% Setting the left badge -% \begin{macrocode} -\newcommand\acmBadgeL[2][]{\@ACM@badgetrue - \def\@acmBadgeL@url{#1}% - \def\@acmBadgeL@image{#2}} -\def\@acmBadgeL@url{} -\def\@acmBadgeL@image{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\startPage} -% The start page of the paper -% \begin{macrocode} -\def\startPage#1{\def\@startPage{#1}} -\startPage{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\terms} -% \changes{v1.34}{2017/04/09}{The \cs{terms} command now just produces -% a warning} -% Terms are obsolete. We use CCS now. -% \begin{macrocode} -\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is - obsolete. I am going to ignore it}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\keywords} -% Keywords are mostly obsolete. We use CCS now. Still it makes -% sense to keep them for compatibility. -% \begin{macrocode} -\def\keywords#1{\def\@keywords{#1}} -\let\@keywords\@empty -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing keywords} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{ACM keywords are mandatory - for papers over two pages}% - \fi\fi\fi} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{abstract} -% The |amsart| package puts |abstract| in a box. Since we do not -% know whether we will use two-column mode, we prefer to save the text -% \begin{macrocode} -\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@saveabstract} -% And saving the abstract -% \begin{macrocode} -\long\def\@saveabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \long\gdef\@abstract{#1}} -\@saveabstract{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@lempty} -% The long version of \cs{@empty} (to compare with \cs{@abstract}) -% \begin{macrocode} -\long\def\@lempty{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@printccs} -% \changes{v1.27}{2016/12/29}{Typo corrected} -% Whether to print CCS -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% - \if@ACM@printccs - \ClassInfo{\@classname}{Printing CCS}% - \else - \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\if@ACM@printacmref} -% \changes{v1.17}{2016/07/10}{Renamed from \cs{if@ACM@printbib}} -% Whether to print the ACM bibstrip -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% - \if@ACM@printacmref - \ClassInfo{\@classname}{Printing bibformat}% - \else - \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for longer papers} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else - \ifnum\getrefnumber{TotPages}>1\relax - \ClassWarningNoLine{\@classname}{% - ACM reference format is mandatory \MessageBreak - for papers over one page. \MessageBreak - Please add printacmref=true to the \MessageBreak - \string\settopmatter\space command.}% - \fi\fi\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@printfolios} -% \changes{v1.13}{2016/06/06}{Added macro} -% Whether to print folios -% \begin{macrocode} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% - \if@ACM@printfolios - \ClassInfo{\@classname}{Printing folios}% - \else - \ClassInfo{\@classname}{Suppressing folios}% - \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@ACM@authorsperrow} -% \changes{v1.36}{2017/05/13}{Added macro} -% The number of authors per row. 0 means use the default algorithm. -% \begin{macrocode} -\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% - \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be - numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\settopmatter} -% The usual syntactic sugar -% \begin{macrocode} -\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} -% \end{macrocode} -% -% \end{macro} -% -% -% \changes{v1.13}{2016/06/06}{Print bibliographic information by -% default for the proceedings} -% Now the settings -% \begin{macrocode} -\settopmatter{printccs=true, printacmref=true} -\if@ACM@manuscript - \settopmatter{printfolios=true} -\else - \if@ACM@journal - \settopmatter{printfolios=true} - \else - \settopmatter{printfolios=false} - \fi -\fi -\settopmatter{authorsperrow=0} -% \end{macrocode} -% -% \begin{macro}{\@received} -% The container for the paper history -% \begin{macrocode} -\def\@received{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\received} -% The \cs{received} command -% \begin{macrocode} -\newcommand\received[2][]{\def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\@received\@empty - \gdef\@received{Received #2}% - \else - \g@addto@macro{\@received}{; revised #2}% - \fi - \else - \ifx\@received\@empty - \gdef\@received{#1 #2}% - \else - \g@addto@macro{\@received}{; #1 #2}% - \fi - \fi} -\AtEndDocument{% - \ifx\@received\@empty\else - \par\bigskip\noindent\small\normalfont\@received\par - \fi} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{Concepts system} -%\label{sec:concepts} -% -% We exclude |CCSXML| stuff generated by the ACM system: -% \begin{macrocode} -\RequirePackage{comment} -\excludecomment{CCSXML} -% \end{macrocode} -% -% \begin{macro}{\@concepts} -% This is the storage macro and counter for concepts -% \begin{macrocode} -\let\@concepts\@empty -\newcounter{@concepts} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ccsdesc} -% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes} -% The first argument is the significance, the second is the -% concept(s) -% \begin{macrocode} -\newcommand\ccsdesc[2][100]{% - \ccsdesc@parse#1~#2~~\ccsdesc@parse@end} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ccsdesc@parse} -% \changes{v1.28}{2017/01/04}{Change from \cs{to} to -% \cs{textrightarrow} (Matteo Riondato)} -% \changes{v1.29}{2017/01/22}{Add spacing after bullet and around -% rightarrow; semicolon separators no longer in bold/italic (John Wickerson)} -% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes} -% \changes{v1.56}{2018/10/23}{End the concepts list with a period -% (Philip Quinn)} -% \changes{v1.69}{2019/02/06}{Use math right arrow in text} -% The parser of the expression |Significance~General~Specific| (we need -% |textcomp| for |\textrightarrow|). Note that |Specific| can be empty! -% \begin{macrocode} -\def\textrightarrow{$\rightarrow$} -\def\ccsdesc@parse#1~#2~#3~{% - \stepcounter{@concepts}% - \expandafter\ifx\csname CCS@General@#2\endcsname\relax - \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\ - \textbf{#2}}% - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }% - \expandafter\gdef\csname CCS@Specific@#2\endcsname{}% - \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname - \csname CCS@Punctuation@#2\endcsname - \csname CCS@Specific@#2\endcsname}% - \fi - \ifx#3\relax\relax\else - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{ - \textrightarrow\ }% - \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{% - \addtocounter{@concepts}{-1}% - \ifnum#1>499\textbf{#3}\else - \ifnum#1>299\textit{#3}\else - #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}% - \fi -\ccsdesc@parse@finish} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing concepts} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{CCS concepts are mandatory - for papers over two pages}% - \fi\fi\fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ccdesc@parse@finish} -% \changes{v1.40}{2017/05/27}{Added macro} -% Gobble everything to |\ccsdesc@parse@end| -% \begin{macrocode} -\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{Copyright system} -%\label{sec:copyright} -% -% This is from |acmcopyright.sty| -% -% \begin{macro}{\if@printcopyright} -% Whether to print a copyright symbol -% \begin{macrocode} -\newif\if@printcopyright -\@printcopyrighttrue -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@printpermission} -% Whether to print the permission block -% \begin{macrocode} -\newif\if@printpermission -\@printpermissiontrue -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@acmowned} -% Whether the ACM owns the rights to the paper -% \begin{macrocode} -\newif\if@acmowned -\@acmownedtrue -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.10}{2016/05/22}{Changes of `licensedothergov' wording} -% \changes{v1.35}{2017/04/22}{If the copyright is set to usgov or -% rigtsretained, the price is suppressed} -% \changes{v1.51}{2018/04/05}{Suppress price if the copyright is set -% to iw3c2w3 or iw3c2w3g} -% \changes{v1.51}{2018/04/05}{Corrected the bug with price suppression} -% Keys: -% \begin{macrocode} -\define@choicekey*{ACM@}{acmcopyrightmode}[% - \acm@copyrightinput\acm@copyrightmode]{none,% - acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov,% - iw3c2w3,iw3c2w3g}{% - \@printpermissiontrue - \@printcopyrighttrue - \@acmownedtrue - \ifnum\acm@copyrightmode=0\relax % none - \@printpermissionfalse - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=2\relax % acmlicensed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=3\relax % rightsretained - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=4\relax % usgov - \@printpermissiontrue - \@printcopyrightfalse - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=6\relax % cagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=9\relax % licensedcagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=11\relax % othergov - \@acmownedtrue - \fi - \ifnum\acm@copyrightmode=12\relax % licensedothergov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=13\relax % iw3c2w3 - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi - \ifnum\acm@copyrightmode=14\relax % iw3c2w3g - \@acmownedfalse - \AtBeginDocument{\acmPrice{}}% - \fi} -% \end{macrocode} -% -% \begin{macro}{\setcopyright} -% This is the syntactic sugar around setting keys. -% \begin{macrocode} -\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} -\setcopyright{acmcopyright} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@copyrightowner} -% \changes{v1.40}{2017/06/16}{Added new copyright version: -% licensedcagov} -% \changes{v1.52}{2018/04/09}{Rewording of licenses} -% Here is the owner of the copyright -% \begin{macrocode} -\def\@copyrightowner{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Association for Computing Machinery. - \or % acmlicensed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % rightsretained - Copyright held by the owner/author(s). - \or % usgov - \or % usgovmixed - Association for Computing Machinery. - \or % cagov - Crown in Right of Canada. - \or %cagovmixed - Association for Computing Machinery. - \or %licensedusgovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % licensedcagov - Crown in Right of Canada. Publication rights licensed to - ACM\@. - \or %licensedcagovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % othergov - Association for Computing Machinery. - \or % licensedothergov - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % ic2w3www - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY~4.0 License. - \or % ic2w3wwwgoogle - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY-NC-ND~4.0 License. - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@formatdoi} -% \changes{v1.03}{2016/04/22}{Added macro} -% \changes{v1.32}{2017/04/07}{New doi format} -% Print a clickable DOI -% \begin{macrocode} -\def\@formatdoi#1{\url{https://doi.org/#1}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@copyrightpermission} -% \changes{v1.40}{2017/06/16}{Added new copyright version: licensedcagov} -% \changes{v1.50}{2018/02/07}{New copyright statements for iw3c2w3[g]} -% \changes{v1.52}{2018/04/09}{Another rewording of copyright -% statements for iw3c2w3[g]} -% The canned permission block. -% \begin{macrocode} -\def\@copyrightpermission{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than ACM must be honored. Abstracting with credit is - permitted. To copy otherwise, or republish, to post on servers or to - redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % acmlicensed - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than the author(s) must be honored. Abstracting with credit - is permitted. To copy otherwise, or republish, to post on servers - or to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % rightsretained - Permission to make digital or hard copies of part or all of this work - for personal or classroom use is granted without fee provided that - copies are not made or distributed for profit or commercial advantage - and that copies bear this notice and the full citation on the first - page. Copyrights for third-party components of this work must be - honored. For all other uses, contact the - owner\hspace*{.5pt}/author(s). - \or % usgov - This paper is authored by an employee(s) of the United States - Government and is in the public domain. Non-exclusive copying or - redistribution is allowed, provided that the article citation is - given and the authors and agency are clearly identified as its - source. - \or % usgovmixed - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor, or affiliate of the United States - government. As such, the United States government retains a - nonexclusive, royalty-free right to publish or reproduce this - article, or to allow others to do so, for government purposes only. - \or % cagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % cagovmixed - ACM acknowledges that this contribution was co-authored by an - affiliate of the national government of Canada. As such, the Crown - in Right of Canada retains an equal interest in the copyright. - Reprints must include clear attribution to ACM and the author's - government agency affiliation. Permission to make digital or hard - copies for personal or classroom use is granted. Copies must bear - this notice and the full citation on the first page. Copyrights for - components of this work owned by others than ACM must be honored. - To copy otherwise, distribute, republish, or post, requires prior - specific permission and\hspace*{.5pt}/or a fee. Request permissions - from permissions@acm.org. - \or % licensedusgovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the United States government. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % licensedcagov - This article was authored by employees of the Government of Canada. - As such, the Canadian government retains all interest in the - copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to allow - others to do so, provided that clear attribution is given both to - the authors and the Canadian government agency employing them. - Permission to make digital or hard copies for personal or classroom - use is granted. Copies must bear this notice and the full citation - on the first page. Copyrights for components of this work owned by - others than the Canadian Government must be honored. To copy - otherwise, distribute, republish, or post, requires prior specific - permission and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % licensedcagovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the national government of Canada. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. - \or % othergov - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor or affiliate of a national government. As - such, the Government retains a nonexclusive, royalty-free right to - publish or reproduce this article, or to allow others to do so, for - Government purposes only. - \or % licensedothergov - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of a national government. As such, the Government - retains a nonexclusive, royalty-free right to publish or reproduce - this article, or to allow others to do so, for Government purposes - only. - \or % iw3c2w3 - This paper is published under the Creative Commons Attribution~4.0 - International (CC-BY~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % iw3c2w3g - This paper is published under the Creative Commons - Attribution-NonCommercial-NoDerivs~4.0 International - (CC-BY-NC-ND~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \fi} -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\copyrightyear} -% By default, the copyright year is the same as \cs{acmYear}, but -% one can override this: -% \begin{macrocode} -\def\copyrightyear#1{\def\@copyrightyear{#1}} -\copyrightyear{\@acmYear} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@teaserfigures} -% The teaser figures container -% \begin{macrocode} -\def\@teaserfigures{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{teaserfigure} -% The teaser figure -% \begin{macrocode} -\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@saveteaser} -% Saving the teaser -% \begin{macrocode} -\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\thanks} -% We redefine |amsart| \cs{thanks} so the |anonymous| key works -% \begin{macrocode} -\renewcommand{\thanks}[1]{% - \@ifnotempty{#1}{% - \if@ACM@anonymous - \g@addto@macro\thankses{\thanks{A note}}% - \else - \g@addto@macro\thankses{\thanks{#1}}% - \fi}} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Maketitle hook} -%\label{sec:hook} -% -% The current \LaTeX\ provides a nice |lthooks| mechanism. However, -% since it is relatively new, we will use oldfashioned approach---at -% least for now. -% -% \begin{macro}{\@beginmaketitlehook} -% \changes{v1.75}{2020/11/15}{Introduced macro} -% The hook -% \begin{macrocode} -\ifx\@beginmaketitlehook\@undefined - \let\@beginmaketitlehook\@empty -\fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\AtBeginMaketitle} -% \changes{v1.75}{2020/11/15}{Introduced macro} -% Adding to the hook -% \begin{macrocode} -\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook} -% \end{macrocode} -% \end{macro} -% -% \subsection{Typesetting top matter} -% \label{sec:maketitle} -% -% \begin{macro}{\mktitle@bx} -% Some of our formats use a two-column design. Some use a one-column -% design. In all cases we use a wide title. Thus we typeset the top -% matter in a special box to be used in the construction -% \cs{@twocolumn}\oarg{box}. -% \begin{macrocode} -\newbox\mktitle@bx -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\maketitle} -% \changes{v1.03}{2016/04/22}{Added special case of authorversion} -% \changes{v1.07}{2016/05/03}{Corrected a bug with abstract footnotes} -% \changes{v1.07}{2016/05/03}{Corrected a bug with permssion and -% footnotes order} -% \changes{v1.10}{2016/05/23}{Corrected a bug with doi in manuscript -% and author vertsion, -% \url{https://github.com/borisveytsman/acmart/issues/36}} -% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box} -% \changes{v1.33}{2017/03/27}{Fixed the bug with figures on top and -% bottom of the title page, thanks to David Epstein} -% \changes{v1.34}{2017/04/09}{Deleted `DOI' from doi numbers} -% \changes{v1.34}{2017/04/09}{Added date to the bibstrip in conf proceedings} -% \changes{v1.34}{2017/04/09}{The \cs{terms} command is now obsolete} -% \changes{v1.34}{2017/04/11}{Rearranged bibstrip} -% \changes{v1.44}{2017/07/30}{Empty DOI or ISBN are not printed (by -% Michael Ekstrand)} -% \changes{v1.46}{2017/08/27}{Added authors' addresses} -% \changes{v1.46}{2017/08/28}{Thankses go before authors' addresses} -% \changes{v1.48}{2017/09/23}{Added acmart and version info to -% pdfcreator tag} -% \changes{v1.48}{2017/10/14}{Suppressed empty DOI (Serguei Mokhov)} -% \changes{v1.48}{2017/11/18}{Added language and doctitle attributes -% to PDF (Andreas Reichinger)} -% \changes{v1.55}{2018/10/14}{Fixes topnum} -% \changes{v1.58}{2019/01/23}{Original \cs{vspace} inside -% \cs{maketitle}} -% \changes{v1.64}{2019/08/17}{Added a switch setting to show that -% \cs{maketitle} is typeset} -% \changes{v1.72}{2020/06/14}{Do not andify authors for pdf metadata -% (Scott Pakin)} -% \changes{v1.73}{2020/09/07}{Do not check again the presense of -% address fields} -% \changes{v1.75}{2020/11/15}{Added \cs{@beginmaketitlehook}} -% \changes{v1.76}{2021/04/05}{Put \cs{par} inside group for keywords} -% The (in)famous \cs{maketitle}. Note that in |sigchi-a| mode, authors -% are \emph{not} in the title box. -% -% Another note: there is a subtle difference between author notes, -% title notes and thanks. The latter two refer to the paper itself -% and therefore belong to the copyright/permission block. By the -% way, this was the default behavior of the old ACM classes. -% \begin{macrocode} -\def\maketitle{\@beginmaketitlehook - \@ACM@maketitle@typesettrue - \if@ACM@anonymous - % Anonymize omission of \author-s - \ifnum\num@authorgroups=0\author{}\fi - \fi - \begingroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \let\@footnotemark\@footnotemark@nolink - \let\@footnotetext\@footnotetext@nolink - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \hsize=\textwidth - \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% - \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers - \@printtopmatter - \if@ACM@sigchiamode\@mkauthors\fi - \setcounter{footnote}{0}% - \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% - \@titlenotes - \@subtitlenotes - \@authornotes - \let\@makefnmark\relax - \let\@thefnmark\relax - \let\@makefntext\noindent - \ifx\@empty\thankses\else - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setthanks}% - \fi - \ifx\@empty\@authorsaddresses\else - \if@ACM@anonymous\else - \if@ACM@journal@bibstrip - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% - \fi - \fi - \fi - \if@ACM@nonacm\else\footnotetextcopyrightpermission{% - \if@ACM@authordraft - \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished working draft. Not for distribution.}}% - \color[gray]{0.9}% - \fi - \parindent\z@\parskip0.1\baselineskip - \if@ACM@authorversion\else - \if@printpermission\@copyrightpermission\par\fi - \fi - \if@ACM@manuscript\else - \if@ACM@journal@bibstrip\else % Print the conference information - {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par - \fi - \fi - \if@printcopyright - \copyright\ \@copyrightyear\ \@copyrightowner\\ - \else - \@copyrightyear.\ - \fi - \if@ACM@manuscript - Manuscript submitted to ACM\\ - \else - \if@ACM@authorversion - This is the author's version of the work. It is posted here for - your personal use. Not for redistribution. The definitive Version - of Record was published in - \if@ACM@journal@bibstrip - \emph{\@journalName}% - \else - \emph{\@acmBooktitle}% - \fi - \ifx\@acmDOI\@empty - . - \else - , \@formatdoi{\@acmDOI}. - \fi\\ - \else - \if@ACM@nonacm\else - \if@ACM@journal@bibstrip - \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle - \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN - \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% - \fi - \fi - \fi - \fi} - \fi - \endgroup - \setcounter{footnote}{0}% - \@mkabstract - \if@ACM@printccs - \ifx\@concepts\@empty\else\bgroup - {\@specialsection{CCS Concepts}% - \noindent\@concepts\par}\egroup - \fi - \fi - \ifx\@keywords\@empty\else\bgroup - {\if@ACM@journal - \@specialsection{Additional Key Words and Phrases}% - \else - \@specialsection{Keywords}% - \fi - \noindent\@keywords\par}\egroup - \fi - \let\metadata@authors=\authors - \nxandlist{, }{, }{, }\metadata@authors - \def\@ACM@checkaffil{}% - \hypersetup{% - pdfauthor={\metadata@authors}, - pdftitle={\@title}, - pdfsubject={\@concepts}, - pdfkeywords={\@keywords}, - pdfcreator={LaTeX with acmart - \csname ver@acmart.cls\endcsname\space - and hyperref - \csname ver@hyperref.sty\endcsname}}% - \andify\authors - \andify\shortauthors - \global\let\authors=\authors - \global\let\shortauthors=\shortauthors - \if@ACM@printacmref - \@mkbibcitation - \fi - \global\@topnum\z@ % this prevents floats from falling - % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on the bottom either - \@printendtopmatter - \@afterindentfalse - \@afterheading -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@specialsection} -% \changes{v1.66}{2019/11/23}{Suppress warnings about \cs{vspace}} -% \changes{v1.67}{2020/01/11}{Paragraph inside group does not print -% its argument. Added a bugfix} -% \changes{v1.68}{2020/01/19}{Deleted grouping altogether} -% \changes{v1.69}{2020/02/02}{Changed dot to colon for sigplan} -% \changes{v1.78}{2021/05/02}{Again suppressed \cs{vspace} warning} -% This macro starts sections for proceedings and uses \cs{small} for journals -% \begin{macrocode} -\def\@specialsection#1{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \ifcase\ACM@format@nr - \relax % manuscript - \par\medskip\small\noindent#1: % - \or % acmsmall - \par\medskip\small\noindent#1: % - \or % acmlarge - \par\medskip\small\noindent#1: % - \or % acmtog - \par\medskip\small\noindent#1: % - \or % sigconf - \section*{#1}% - \or % siggraph - \section*{#1}% - \or % sigplan - \noindentparagraph*{#1:~}% - \or % sigchi - \section*{#1}% - \or % sigchi-a - \section*{#1}% - \fi - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm -} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@printtopmatter} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% \changes{v1.46}{2017/08/29}{Deleted rule} -% \changes{v1.78}{2021/05/16}{Added processing the overflowing title box} -% The printing of top matter starts a new page and uses the given -% title box. Note that for |sigchi-a| we print badges here rather -% than in \cs{mktitle} since we want them in the margins. -% -% Note that if there are too many authors, |\mktitle@bx| might -% overflow the page. Therefore we start with checking this and if -% this happens, we split the box and print it page by page. -% \begin{macrocode} -\def\@printtopmatter{% - \ifx\@startPage\@empty - \gdef\@startPage{1}% - \else - \setcounter{page}{\@startPage}% - \fi - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight - \loop - \setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight - \thispagestyle{firstpagestyle}% - \noindent\unvbox\@tempboxa - \clearpage - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight\repeat - \fi - \thispagestyle{firstpagestyle}% - \noindent - \ifcase\ACM@format@nr - \relax % manuscript - \box\mktitle@bx\par - \or % acmsmall - \box\mktitle@bx\par - \or % acmlarge - \box\mktitle@bx\par - \or % acmtog - \twocolumn[\box\mktitle@bx]% - \or % sigconf - \twocolumn[\box\mktitle@bx]% - \or % siggraph - \twocolumn[\box\mktitle@bx]% - \or % sigplan - \twocolumn[\box\mktitle@bx]% - \or % sigchi - \twocolumn[\box\mktitle@bx]% - \or % sigchi-a - \par\box\mktitle@bx\par\bigskip - \if@ACM@badge - \marginpar{\noindent - \ifx\@acmBadgeL@image\@empty\else - \href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% - \hskip\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% - \fi}% - \fi - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle} -% The title of the article -% \begin{macrocode} -\def\@mktitle{% - \ifcase\ACM@format@nr - \relax % manuscript - \@mktitle@i - \or % acmsmall - \@mktitle@i - \or % acmlarge - \@mktitle@i - \or % acmtog - \@mktitle@i - \or % sigconf - \@mktitle@iii - \or % siggraph - \@mktitle@iii - \or % sigplan - \@mktitle@iii - \or % sigchi - \@mktitle@iii - \or % sigchi-a - \@mktitle@iv - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@titlefont} -% \changes{v1.06}{2016/05/01}{Added macro} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% The font to typeset the title -% \begin{macrocode} -\def\@titlefont{% - \ifcase\ACM@format@nr - \relax % manuscript - \LARGE\sffamily\bfseries - \or % acmsmall - \LARGE\sffamily\bfseries - \or % acmlarge - \LARGE\sffamily\bfseries - \or % acmtog - \Huge\sffamily - \or % sigconf - \Huge\sffamily\bfseries - \or % siggraph - \Huge\sffamily\bfseries - \or % sigplan - \Huge\bfseries - \or % sigchi - \Huge\sffamily\bfseries - \or % sigchi-a - \Huge\bfseries - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@subtitlefont} -% \changes{v1.06}{2016/05/01}{Added macro} -% \changes{v1.33}{2017/03/12}{Added \cs{normalsize}} -% The font to typeset the subtitle -% \begin{macrocode} -\def\@subtitlefont{\normalsize - \ifcase\ACM@format@nr - \relax % manuscript - \mdseries - \or % acmsmall - \mdseries - \or % acmlarge - \mdseries - \or % acmtog - \LARGE - \or % sigconf - \LARGE\mdseries - \or % siggraph - \LARGE\mdseries - \or % sigplan - \LARGE\mdseries - \or % sigchi - \LARGE\mdseries - \or % sigchi-a - \mdseries - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle@i} -% \changes{v1.06}{2016/05/01}{Made generic} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% The version of \cs{mktitle} for most journals -% \begin{macrocode} -\def\@mktitle@i{\hsize=\textwidth - \@ACM@title@width=\hsize - \ifx\@acmBadgeL@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \ifx\@acmBadgeR@image\@empty\else - \advance\@ACM@title@width by -\@ACM@badge@width - \advance\@ACM@title@width by -\@ACM@badge@skip - \fi - \setbox\mktitle@bx=\vbox{\noindent\@titlefont - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\raggedright - \@titlefont\noindent - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi}% - \ifx\@acmBadgeR@image\@empty\else - \hskip\@ACM@badge@skip - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mktitle@ii} -% \changes{v1.06}{2016/05/01}{Now this macro is obsolete} -% The version of \cs{mktitle} for TOG. Since v1.06, this is subsumed by -% the \cs{mktitle@i} macro -% \end{macro} -% -% -% \begin{macro}{\@mktitle@iii} -% \changes{v1.06}{2016/05/01}{Made more generic} -% \changes{v1.06}{2016/05/01}{Added processing badges} -% The version of \cs{@mktitle} for SIG proceedings. Note that since -% the title is centered, we leave space for the left badge even if -% only the right badge is defined. -% \begin{macrocode} -\def\@mktitle@iii{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\@titlefont\centering - \@ACM@title@width=\hsize - \if@ACM@badge - \advance\@ACM@title@width by -2\@ACM@badge@width - \advance\@ACM@title@width by -2\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeL@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% - \fi}% - \hskip\@ACM@badge@skip - \fi - \parbox[t]{\@ACM@title@width}{\centering\@titlefont - \@title - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle} - \fi - }% - \if@ACM@badge - \hskip\@ACM@badge@skip - \parbox[b]{\@ACM@badge@width}{\strut - \ifx\@acmBadgeR@image\@empty\else - \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% - \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% - \fi}% - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mktitle@iv} -% \changes{v1.06}{2016/05/01}{Made more generic} -% The version of \cs{@mktitle} for |sigchi-a| -% \begin{macrocode} -\def\@mktitle@iv{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont - \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par - \noindent\@title - \ifx\@subtitle\@empty\else - \par\noindent\@subtitlefont\@subtitle - \fi - \par\bigskip}}% -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@addtoaddress} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% This macro adds an item to the address using the following rules: -% \begin{enumerate} -% \item If we start a paragraph, add the item -% \item Otherwise, add a comma and the item -% \item However, the comma is deleted if it is at the end of a -% line. We use the magic \cs{cleaders} trick for this. -% \end{enumerate} -% \begin{macrocode} -\newbox\@ACM@commabox -\def\@ACM@addtoaddress#1{% - \ifvmode\else - \if@ACM@affiliation@obeypunctuation\else - \setbox\@ACM@commabox=\hbox{, }% - \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox - \fi\fi - #1} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\institution} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% \begin{macro}{\position} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \begin{macro}{\department} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.30}{2017/02/10}{Added optional parameter} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \begin{macro}{\streetaddress} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\city} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% \begin{macro}{\state} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\postcode} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG} -% \begin{macro}{\country} -% \changes{v1.15}{2016/07/03}{Added macro} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/05/27}{Fixed bugs with extra spaces} -% \changes{v1.43}{2017/07/11}{Added comma before country for journals} -% \changes{v1.46}{2017/08/30}{Corrected spacing for institution} -% \changes{v1.73}{2020/09/07}{Check the presence in affil} -% Theoretically we can define the macros for \cs{affiliation} inside -% the \cs{@mkauthors}-style commands. However, this would lead to a -% strange error if an author uses them outside \cs{affiliation}. Of -% course we can make them produce an error message, but\ldots -% \begin{macrocode} -\def\streetaddress#1{\unskip\ignorespaces} -\def\postcode#1{\unskip\ignorespaces} -\if@ACM@journal - \def\position#1{\unskip\ignorespaces} - \def\institution#1{\global\@ACM@instpresenttrue - \unskip~#1\ignorespaces} - \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces} - \def\state#1{\unskip\ignorespaces} - \newcommand\department[2][0]{\unskip\ignorespaces} - \def\country#1{\global\@ACM@countrypresenttrue - \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces} -\else - \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\institution#1{\global\@ACM@instpresenttrue - \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation - #2\else#2\par\fi}% -% \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}% - \let\state\@ACM@addtoaddress -% \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}% - \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}% -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@mkauthors} -% \changes{v1.17}{2016/07/09}{TOG now uses the same authors block as -% other journals} -% Typesetting the authors -% \begin{macrocode} -\def\@mkauthors{\begingroup - \hsize=\textwidth - \ifcase\ACM@format@nr - \relax % manuscript - \@mkauthors@i - \or % acmsmall - \@mkauthors@i - \or % acmlarge - \@mkauthors@i - \or % acmtog - \@mkauthors@i - \or % sigconf - \@mkauthors@iii - \or % siggraph - \@mkauthors@iii - \or % sigplan - \@mkauthors@iii - \or % sigchi - \@mkauthors@iii - \or % sigchi-a - \@mkauthors@iv - \fi - \endgroup -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@authorfont} -% Somehow different conferences use different fonts for author -% names. Why? -% \begin{macrocode} -\def\@authorfont{\Large\sffamily} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@affiliationfont} -% Font for affiliations -% \begin{macrocode} -\def\@affiliationfont{\normalsize\normalfont} -% \end{macrocode} -% \end{macro} -% -% \changes{v1.13}{2016/06/06}{Font adjustments for acmsmall} -% Adjusting fonts for different formats -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\or % acmlarge -\or % acmtog - \def\@authorfont{\LARGE\sffamily} - \def\@affiliationfont{\large} -\or % sigconf - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % siggraph - \def\@authorfont{\normalsize\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigplan - \def\@authorfont{\Large\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigchi - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % sigchi-a - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\fi -% \end{macrocode} -% -% \begin{macro}{\@typeset@author@line} -% \changes{v1.18}{2016/07/12}{Added macro} -% At this point we have \cs{@currentauthors} and -% \cs{@currentaffiliations}. We typeset them in the journal style -% \begin{macrocode} -\def\@typeset@author@line{% - \andify\@currentauthors\par\noindent - \@currentauthors\def\@currentauthors{}% - \ifx\@currentaffiliations\@empty\else - \andify\@currentaffiliations - \unskip, {\@currentaffiliations}\par - \fi - \def\@currentaffiliations{}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\if@ACM@instpresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has institution -% \begin{macrocode} -\newif\if@ACM@instpresent -\@ACM@instpresenttrue -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\if@ACM@citypresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has city -% \begin{macrocode} -\newif\if@ACM@citypresent -\@ACM@citypresenttrue -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\if@ACM@countrypresent} -% \changes{v1.73}{2020/09/07}{Added macro} -% Whether the given affiliation has country -% \begin{macrocode} -\newif\if@ACM@countrypresent -\@ACM@countrypresenttrue -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@ACM@resetaffil} -% \changes{v1.73}{2020/09/07}{Added macro} -% Reset affiliation flags -% \begin{macrocode} -\def\@ACM@resetaffil{% - \global\@ACM@instpresentfalse - \global\@ACM@citypresentfalse - \global\@ACM@countrypresentfalse -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@ACM@checkaffil} -% \changes{v1.73}{2020/09/07}{Added macro} -% \changes{v1.75}{2020/11/15}{Changed warning to error for country} -% Check affiliation flags -% \begin{macrocode} -\def\@ACM@checkaffil{% - \if@ACM@instpresent\else - \ClassWarningNoLine{\@classname}{No institution present for an affiliation}% - \fi - \if@ACM@citypresent\else - \ClassWarningNoLine{\@classname}{No city present for an affiliation}% - \fi - \if@ACM@countrypresent\else - \ClassError{\@classname}{No country present for an affiliation}{ACM - requires each author to indicate their country using country macro.}% - \fi -} -% \end{macrocode} -% -% \end{macro} -% -% -% -% -% \begin{macro}{\@mkauthors@i} -% \changes{v1.18}{2016/07/12}{Now we andify affiliations} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}} -% This version is used in most journal formats. Note that \cs{and} between -% authors with the same affiliation becomes \verb*| and |: -% \begin{macrocode} -\def\@mkauthors@i{% - \def\@currentauthors{}% - \def\@currentaffiliations{}% - \global\let\and\@typeset@author@line - \def\@author##1{% - \ifx\@currentauthors\@empty - \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}% - \else - \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}% - \fi - \gdef\and{}}% - \def\email##1##2{}% - \def\affiliation##1##2{% - \def\@tempa{##2}\ifx\@tempa\@empty\else - \ifx\@currentaffiliations\@empty - \gdef\@currentaffiliations{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}% - \@ACM@resetaffil - \@affiliationfont##2\@ACM@checkaffil}% - \else - \g@addto@macro{\@currentaffiliations}{\and - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \fi - \global\let\and\@typeset@author@line}% - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip - \noindent\addresses\@typeset@author@line - \par\medskip}% -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkauthors@ii} -% \changes{v1.17}{2016/07/09}{Deleted} -% The \cs{@mkauthors@ii} command was the version used in |acmtog|. -% It is no longer necessary. -% -% \end{macro} -% -% \begin{macro}{\author@bx} -% The box to put an individual author in -% \begin{macrocode} -\newbox\author@bx -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author@bx@wd} -% The width of the author box -% \begin{macrocode} -\newdimen\author@bx@wd -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\author@bx@sep} -% The separation between author boxes -% \begin{macrocode} -\newskip\author@bx@sep -\author@bx@sep=1pc\relax -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@typeset@author@bx} -% \changes{v1.15}{2016/07/04}{Moved to separate macro} -% \changes{v1.61}{2019/05/26}{Added \cs{normalbaselines}} -% Typesetting the box with authors. Note that in |sigchi-a| the box -% is not centered. -% \begin{macrocode} -\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd - \def\and{\par}\normalbaselines - \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi - \@authorfont\@currentauthors\par\@affiliationfont - \@currentaffiliation}\egroup - \box\author@bx\hspace{\author@bx@sep}% - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mkauthors@iii} -% \changes{v1.15}{2016/07/04}{New authors system} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}} -% The |sigconf| version. Here we use a centered design with each -% author in a separate box. -% \begin{macrocode} -\def\@mkauthors@iii{% -% \end{macrocode} -% First, we need to determine the design of the author strip. The -% boxes are separated by \cs{author@bx@sep} plus two -% \cs{author@bx@sep} margins. This means that each box must be of -% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, -% where $N$ is the number of boxes per row. -% \begin{macrocode} - \author@bx@wd=\textwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \or % 2=two authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 3=three authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 4=two authors per row (!) - \divide\author@bx@wd by 2\relax - \else % three authors per row - \divide\author@bx@wd by 3\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax -% \end{macrocode} -% Now, parsing of \cs{addresses}: -% \begin{macrocode} - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \else - \g@addto@macro\@currentaffiliation{\par\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx -}% -% \end{macrocode} -% Actual typesetting is done by the \cs{and} macro: -% \begin{macrocode} - \hsize=\textwidth - \global\setbox\mktitle@bx=\vbox{\noindent - \unvbox\mktitle@bx\par\medskip\leavevmode - \lineskip=1pc\relax\centering\hspace*{-1em}% - \addresses\let\and\@typeset@author@bx\and\par\bigskip}} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@mkauthors@iv} -% \changes{v1.33}{2017/03/28}{Added obeypunctuation code} -% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride} -% \changes{v1.73}{2020/09/07}{Check the presence of required elements -% for affiliations} -% The |sigchi-a| version. We put authors in the main text with -% no more than 2 authors per line, unless overriden. -% \begin{macrocode} -\def\@mkauthors@iv{% -% \end{macrocode} -% First, we need to determine the design of the author strip. The -% boxes are separated by \cs{author@bx@sep} plus two -% \cs{author@bx@sep} margins. This means that each box must be of -% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, -% where $N$ is the number of boxes per row. -% \begin{macrocode} - \author@bx@wd=\columnwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \else % 2=two authors per row - \divide\author@bx@wd by 2\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax -% \end{macrocode} -% Now, parsing of \cs{addresses}: -% \begin{macrocode} - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\nolinkurl{##2}}% - \else - \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx}% -% -% \end{macrocode} -% Actual typesetting is done by the \cs{and} macro -% \begin{macrocode} - \bgroup\hsize=\columnwidth - \par\raggedright\leftskip=\z@ - \lineskip=1pc\noindent - \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkauthorsaddresses} -% \changes{v1.46}{2017/08/27}{Introduced macro} -% \changes{v1.65}{2019/10/13}{Deleted cs{@addpunct}} -% \changes{v1.77}{2021/04/16}{New separator of institutions} -% Typesetting authors' addresses in the footnote style -% \begin{macrocode} -\def\@mkauthorsaddresses{% - \ifnum\num@authors>1\relax - Authors' \else Author's \fi - \ifnum\num@authorgroups>1\relax - addresses: \else address: \fi - \bgroup - \def\streetaddress##1{\unskip, ##1}% - \def\postcode##1{\unskip, ##1}% - \def\position##1{\unskip\ignorespaces}% - \gdef\@ACM@institution@separator{, }% - \def\institution##1{\unskip\@ACM@institution@separator ##1\gdef\@ACM@institution@separator{ and }}% - \def\city##1{\unskip, ##1}% - \def\state##1{\unskip, ##1}% - \renewcommand\department[2][0]{\unskip\@addpunct, ##2}% - \def\country##1{\unskip, ##1}% - \def\and{\unskip; \gdef\@ACM@institution@separator{, }}% - \def\@author##1{##1}% - \def\email##1##2{\unskip, \nolinkurl{##2}}% - \addresses - \egroup} -% \end{macrocode} -% -% \changes{1.66}{2019/12/18}{Added warning for missing addresses} -% \begin{macrocode} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal - \ifx\@authorsaddresses\@empty - \ClassWarningNoLine{\@classname}{Authors' - addresses are mandatory for ACM journals}% - \fi\fi\fi} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@setaddresses} -% This is an |amsart| macro that we do not need. -% \begin{macrocode} -\def\@setaddresses{} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@authornotemark} -% Adding a footnote mark to authors. This version adds a ``normal'' -% footnote mark. -% \begin{macrocode} -\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@@authornotemark} -% \changes{v1.39}{2017/05/14}{Added macro} -% Adding a footnote mark to authors with a given number -% \begin{macrocode} -\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkteasers} -% Typesetting the teasers -% \changes{v1.56}{2018/11/1}{Added check for description} -% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}} -% \begin{macrocode} -\def\@mkteasers{% - \ifx\@teaserfigures\@empty\else - \def\@teaser##1{\par\bigskip\bgroup - \captionsetup{type=figure}##1\egroup\par} - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par - \noindent\@Description@presentfalse - \@teaserfigures\par\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without - description}\fi - \medskip}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkabstract} -% \changes{v1.19}{2016/07/28}{Include 'Abstract' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.20}{2016/08/03}{Deleted spurious space} -% \changes{v1.29}{2017/01/22}{Removed spurious indentation (John -% Wickerson)} -% \changes{v1.48}{2017/09/16}{Removed spurious indentation if abstract -% is followed by an empty line} -% Typesetting the abstract -% \begin{macrocode} -\def\@mkabstract{\bgroup - \ifx\@abstract\@lempty\else - {\phantomsection\addcontentsline{toc}{section}{Abstract}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces\@abstract\par}% - \fi\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@mkbibcitation} -% \changes{v1.17}{2016/07/10}{Changed format for sigs} -% \changes{v1.17}{2016/07/10}{Added \cs{nobreak}} -% \changes{v1.31}{2017/03/04}{Disabled linebreak} -% \changes{v1.34}{2017/04/09}{Deleted DOI from doi numbers} -% \changes{v1.44}{2017/07/30}{If the paper has just one page, use -% `page' instead of `pages'} -% \changes{v1.46}{2017/08/25}{Added subtitle} -% \changes{v1.54}{2018/06/10}{Bug corrected (Ross Moore)} -% \changes{v1.55}{2018/07/25}{Bug corrected} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% Print the |bibcitation| format -% \begin{macrocode} -\def\@mkbibcitation{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% - \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do not use footnotes - inside a \string\title{} or \string\author{} command! Use - \string\titlenote{} or \string\authornote{} instead!}}% - \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, - Article~\@acmArticle\ \fi}% - \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak - \noindent\bgroup - \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title - \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@nonacm\else - % The 'nonacm' option disables 'printacmref' by default, - % and the present \@mkbibcitation definition is never used - % in this case. The conditional remains useful if the user - % explicitly sets \settopmatter{printacmref=true}. - \if@ACM@journal@bibstrip - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. - \fi - \fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi -\par\egroup} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@printendtopmatter} -% \changes{v1.46}{2017/08/28}{Made it \cs{par}\cs{bigskip} uniformly} -% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning} -% \changes{v1.69}{2020/02/02}{Deleted grouping} -% End the top matter -% \begin{macrocode} -\def\@printendtopmatter{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \par\bigskip - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm - } -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@setthanks} -% We redefine \cs{\@setthanks} using \cs{long} -% \begin{macrocode} -\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@setauthorsaddresses} -% \changes{v1.46}{2018/08/25}{Introduced macro} -% \begin{macrocode} -\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.} -% \end{macrocode} -% -% \end{macro} -% -% -% -%\subsection{Headers and Footers} -%\label{sec:head_foot} -% -% We use |fancyhdr| for our headers and footers: -% \begin{macrocode} -\RequirePackage{fancyhdr} -% \end{macrocode} -% -% \begin{macro}{\ACM@restore@pagestyle} -% \changes{v1.44}{2017/07/30}{Added macro} -% The following code by Ross Moore protects against changes by -% the |totpages| package: -% \begin{macrocode} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} -% \end{macrocode} -% -% -% \end{macro} -% -% -% -% \begin{macro}{\ACM@linecount@bx} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% \changes{v1.40}{2017/05/27}{Work around a bug in xcolor: looks like -% cmyk colors in boxes do not work} -% \changes{v1.46}{2017/08/28}{Rearranged the code to get rid of -% spurious underfull messages (Benjamin Byholm)} -% \changes{v1.64}{2019/08/24}{Bug fix: made the spacing on the left -% and the right size equal} -% This is the box displayed in review mode -% \begin{macrocode} -\if@ACM@review - \newsavebox{\ACM@linecount@bx} - \newlength\ACM@linecount@bxht - \newcount\ACM@linecount - \ACM@linecount\@ne\relax - \def\ACM@mk@linecount{% - \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont - \normalsize - \setlength{\ACM@linecount@bxht}{0pt}% - \loop{\color{red}\scriptsize\the\ACM@linecount}\\ - \global\advance\ACM@linecount by \@ne - \addtolength{\ACM@linecount@bxht}{\baselineskip}% - \ifdim\ACM@linecount@bxht<\textheight\repeat - {\color{red}\scriptsize\the\ACM@linecount}\hfill - \global\advance\ACM@linecount by \@ne}}} -\fi -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@linecountL} -% \changes{v1.33}{2017/03/29}{Renamed macro} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% How to display the box on the left -% \begin{macrocode} -\def\ACM@linecountL{% - \if@ACM@review - \ACM@mk@linecount - \begin{picture}(0,0)% - \put(-26,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@linecountR} -% \changes{v1.33}{2017/03/29}{Added macro} -% \changes{v1.34}{2017/04/10}{Rulers now are continuous} -% \changes{v1.69}{2020/02/02}{Do not increase numbers in one column format} -% How to display the box on the right. In one column formats we do -% not step the numbers. -% \begin{macrocode} -\def\ACM@linecountR{% - \if@ACM@review - \ifcase\ACM@format@nr - \relax % manuscript - \relax - \or % acmsmall - \relax - \or % acmlarge - \relax - \or % acmtog - \ACM@mk@linecount - \or % sigconf - \ACM@mk@linecount - \or % siggraph - \ACM@mk@linecount - \or % sigplan - \ACM@mk@linecount - \or % sigchi - \ACM@mk@linecount - \or % sigchi-a - \ACM@mk@linecount - \fi - \begin{picture}(0,0)% - \put(20,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\ACM@timestamp} -% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)} -% \changes{v1.33}{2017/03/28}{Added current page number} -% \changes{v1.33}{2017/03/29}{Added submission id} -% \changes{v1.48}{2017/09/16}{Fromatting change (Michael D.~Adams)} -% The timestamp system -% \begin{macrocode} -\if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding down despite - % \numexpr rounding to nearest - \newcounter{ACM@time@hours} - \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} - \newcounter{ACM@time@minutes} - \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} - \newcommand\ACM@timestamp{% - \footnotesize% - \ifx\@acmSubmissionID\@empty\relax\else - Submission ID: \@acmSubmissionID.{ }% - \fi - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% - Page \thepage\ of \@startPage--\pageref*{TotPages}.% - } -\fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@shortauthors} -% \changes{v1.15}{2016/07/04}{Introduced macro} -% \changes{v1.54}{2016/06/23}{Added submission id in anonymous mode} -% Even if the author redefined \cs{shortauthors}, we do not print -% it in the headers when in anonymous mode: -% \begin{macrocode} -\def\@shortauthors{% - \if@ACM@anonymous - Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi - \else\shortauthors\fi} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@headfootfont} -% \changes{v1.16}{2016/07/07}{Added macro} -% \changes{v1.48}{2017/09/16}{Deleted unnecessary switch (Michael D.~Adams)} -% \changes{v1.60}{2019/04/22}{Moved to footnotesize} -% The font to typeset header and footer text. -% \begin{macrocode} -\def\@headfootfont{\sffamily\footnotesize} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{standardpagestyle} -% \changes{v1.10}{2016/05/22}{Reversed folios location} -% \changes{v1.13}{2016/06/06}{Suppressed folios if sig} -% \changes{v1.13}{2016/06/06}{Added headers for sigs} -% \changes{v1.13}{2016/06/06}{Expanded headers for sigchi-a} -% \changes{v1.15}{2016/07/04}{Better handling of anonymous mode} -% \changes{v1.16}{2016/07/07}{Customize header/footer text font} -% \changes{v1.17}{2016/07/10}{Added paper title to sigs} -% \changes{v1.29}{2017/01/22}{Corrected printfolios (Matthew Fluet)} -% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)} -% \changes{v1.33}{2017/03/29}{Added right linecount for two-column formats} -% The page style for all pages but the first one -% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for -% footers} -% \changes{v1.59}{2019/04/20}{Added logic for conference papers using -% journal format} -% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}} -% \changes{v1.76}{2021/02/21}{Fixed bug with no line numbers for nonacm} -% The page style for all pages but the first one -% \begin{macrocode} -\AtBeginDocument{% -\fancypagestyle{standardpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \def\@acmArticlePage{% - \ifx\@acmArticle\empty% - \if@ACM@printfolios\thepage\fi% - \else% - \@acmArticle\if@ACM@printfolios:\thepage\fi% - \fi% - }% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% - \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% - \fancyhead[RE]{\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmlarge - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmtog - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \if@ACM@sigchiamode - \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% - \fi - \if@ACM@timestamp - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi -}% -\pagestyle{standardpagestyle} -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@folio@wd} -% \begin{macro}{\@folio@ht} -% \begin{macro}{\@folio@voffset} -% \begin{macro}{\@folio@max} -% Folio blob width, height, offsets and max number -% \begin{macrocode} -\newdimen\@folio@wd -\@folio@wd=\z@ -\newdimen\@folio@ht -\@folio@ht=\z@ -\newdimen\@folio@voffset -\@folio@voffset=\z@ -\def\@folio@max{1} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \@folio@wd=45.75pt\relax - \@folio@ht=1.25in\relax - \@folio@voffset=.2in\relax - \def\@folio@max{8} -\or % acmlarge - \@folio@wd=43.25pt\relax - \@folio@ht=79pt\relax - \@folio@voffset=.55in\relax - \def\@folio@max{10} -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@folioblob} -% \changes{v1.44}{2017/08/11}{Suppress the blob if acmArticleSeq is empty} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% The macro to typeset the folio blob. -% \begin{macrocode} -\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax - \ifnum\@tempcnta=0\relax\else -% \end{macrocode} -% First, we calculate \cs{@acmArticleSeq} modulo \cs{@folio@max} -% \begin{macrocode} - \loop - \ifnum\@tempcnta>\@folio@max\relax - \advance\@tempcnta by - \@folio@max - \repeat -% \end{macrocode} -% -% \begin{macrocode} - \advance\@tempcnta by -1\relax - \@tempdima=\@folio@ht\relax - \multiply\@tempdima by \the\@tempcnta\relax - \advance\@tempdima by -\@folio@voffset\relax - \begin{picture}(0,0) - \makebox[\z@]{\raisebox{-\@tempdima}{% - \rlap{% - \raisebox{-0.45\@folio@ht}[\z@][\z@]{% - \rule{\@folio@wd}{\@folio@ht}}}% - \parbox{\@folio@wd}{% - \centering - \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}} - \end{picture}\fi} - -% \end{macrocode} -% -% -% \end{macro} -% -% \begin{macro}{firstpagestyle} -% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)} -% \changes{v1.33}{2017/03/29}{Added right linecount for two-column -% formats} -% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for -% footers} -% \changes{v1.59}{2019/04/20}{Added logic for conference papers using -% journal format} -% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}} -% The page style for the first page only. -% \begin{macrocode} -\AtBeginDocument{% -\fancypagestyle{firstpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@folioblob}% - \fancyheadoffset[RO,LE]{0.6\@folio@wd}% - \or % acmlarge - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[RO]{\@folioblob}% - \fancyhead[LE]{\ACM@linecountL\@folioblob}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyheadoffset[RO,LE]{1.4\@folio@wd}% - \or % acmtog - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \else % Conference proceedings - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \else - \fancyhead[L]{\ACM@linecountL}% - \fancyhead[R]{\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \if@ACM@timestamp - \ifnum\ACM@format@nr=0\relax % Manuscript - \fancyfoot[LO,RE]{\ACM@timestamp\quad - \if@ACM@nonacm\else - \footnotesize Manuscript submitted to ACM - \fi} - \else - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \fi -}} -% \end{macrocode} -% -% \end{macro} -% -% -%\subsection{Sectioning} -%\label{sec:sectioninng} -% -% \begin{macro}{\ACM@NRadjust} -% \changes{v1.54}{2018/06/17}{Added macro} -% Ross Moore's macro. -% \begin{quotation} -% Initially |\ACM@sect@format@| just passes through its |#1| -% argument unchanged. -% When a sectioning macro such as |\section| occurs, the -% |\ACM@NRadjust| redefines |\ACM@sect@format@| to expand into the -% styling commands; e.g., |\@secfont|. -% Then |\Sectionformat| is temporarily redefined to produce -% |\realSectionformat{\ACM@sect@format{#1}}{#2}|, which ultimately -% becomes |\Sectionformat{\@secfont{#1}}{#2}|. -% This is done to allow |\Sectionformat| to be variable, as may be -% needed in particular circumstances. Its current expansion is saved -% as |\realSectionformat| which is used with the modified 1st argument, -% then |\Sectionformat| is reverted to its former expansion. -% -% To style the section-number, the line |#1{}| is used at the end of -% |\ACM@NRadjust|. This imposes style-changing commands for fonts and -% sizes, but any |\MakeUppercase| acts on just the |{}|. It's a bit hacky, -% by essentially assuming that only numbers occur here, not letters to -% be case-changed. (This should be acceptable in a class-file, as it -% ought to be possible to change the case elsewhere, if that was ever -% desired.) Also, it can result in |\@adddotafter| being called too -% soon, so a slight adjustment is made, via |\ACM@adddotafter|, which -% now tests whether its argument is empty. But the coding has to allow -% for other packages to have also patched |\@adddotafter|. -% \end{quotation} -% \begin{macrocode} -\def\ACM@NRadjust#1{% - \begingroup - \expandafter\ifx\csname Sectionformat\endcsname\relax - % do nothing when \Sectionformat is unknown - \def\next{\endgroup #1}% - \else - \def\next{\endgroup - \let\realSectionformat\Sectionformat - \def\ACM@sect@format@{#1}% - \let\Sectionformat\ACM@NR@adjustedSectionformat - %% next lines added 2018-06-17 to ensure section number is styled - \let\real@adddotafter\@adddotafter - \let\@adddotafter\ACM@adddotafter - #1{}% imposes the styles, but nullifies \MakeUppercase - \let\@adddotafter\real@adddotafter - }% - \fi \next -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ACM@NR@adjustedSectionformat} -% \changes{v1.54}{2018/06/17}{Added macro} -% \begin{macrocode} -\def\ACM@NR@adjustedSectionformat#1#2{% - \realSectionformat{\ACM@sect@format{#1}}{#2}% - \let\Sectionformat\realSectionformat} -\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} -\def\ACM@sect@format@null#1{#1} -\let\ACM@sect@format@\ACM@sect@format@null -\AtBeginDocument{% - \expandafter\ifx\csname LTX@adddotafter\endcsname\relax - \let\LTX@adddotafter\@adddotafter - \fi -} -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{\ACM@adddotafter} -% \changes{v1.54}{2018/06/17}{Added macro} -% \begin{macrocode} -\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.54}{2018/05/27}{Deleted indent for subsubsection} -% \changes{v1.54}{2018/06/17}{Added Ross's patch for sectioning} -% \changes{v1.68}{2020/01/19}{New command for unindent paras} -% \changes{v1.69}{2020/02/02}{No dots for unindented paragraphs} -% Sectioning is different for different levels -% \begin{macrocode} -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@secfont}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont\@adddotafter}}} -\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont}}} - -\renewcommand\part{\@startsection{part}{9}{\z@}% - {-10\p@ \@plus -4\p@ \@minus -2\p@}% - {4\p@}% - {\ACM@NRadjust\@parfont}} -% \end{macrocode} -% -% \begin{macro}{\section@raggedright} -% \changes{v1.12}{2016/05/30}{Introduced macro}% -% Special version of \cs{raggedright} compatible with -% \cs{MakeUppercase} -% \begin{macrocode} -\def\section@raggedright{\@rightskip\@flushglue - \rightskip\@rightskip - \leftskip\z@skip - \parindent\z@} -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@secfont} -% \begin{macro}{\@subsecfont} -% \begin{macro}{\@subsubsecfont} -% \begin{macro}{\@parfont} -% \changes{v1.12}{2016/05/30}{Moved to \cs{section@raggedright}}% -% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase} -% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to -% \cs{sffamily}\cs{bfseries}} -% \changes{v1.67}{2020/01/11}{Deleted redefinitions of sections} -% Fonts for sections etc. are different for different formats. -% \begin{macrocode} -\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} -\def\@subsecfont{\sffamily\bfseries\section@raggedright} -\def\@subsubsecfont{\sffamily\itshape} -\def\@parfont{\itshape} -\setcounter{secnumdepth}{3} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % acmtog - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % sigconf - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or % siggraph - \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright} -\or % sigplan - \def\@secfont{\bfseries\Large\section@raggedright} - \def\@subsecfont{\bfseries\section@raggedright} - \def\@subsubsecfont{\bfseries\section@raggedright} - \def\@parfont{\bfseries\itshape} - \def\@subparfont{\itshape} -\or % sigchi - \setcounter{secnumdepth}{1} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % sigchi-a - \setcounter{secnumdepth}{0} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\fi -% \end{macrocode} -% -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@adddotafter} -% Add punctuation after a sectioning command -% \begin{macrocode} -\def\@adddotafter#1{#1\@addpunct{.}} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@addspaceafter} -% Add space after a sectioning command -% \begin{macrocode} -\def\@addspaceafter#1{#1\@addpunct{\enspace}} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{TOC lists} -%\label{sec:tocs} -% -% \begin{macro}{\@dotsep} -% Related to the \cs{tableofcontents} are all the horizontal fillers. Base -% \LaTeX\ defines \cs{@dottedtocline}, which we should not disable. Yet, this -% command expects \cs{@dotsep} to be defined but leaves this to the class -% implementation. Since |amsart| does not provide this, we copy the standard -% variant from |article| here. -% \begin{macrocode} -\providecommand*\@dotsep{4.5} -% \end{macrocode} -% \end{macro} -% -% -% -%\subsection{Theorems} -%\label{sec:theorems} -% -% \begin{macro}{\@acmplainbodyfont} -% The font to typeset the body of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainbodyfont{\itshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainindent} -% The amount to indent the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainheadfont} -% The font to typeset the head of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainheadfont{\scshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmplainnotefont} -% The font to typeset the note of the |acmplain| theorem style. -% \begin{macrocode} -\def\@acmplainnotefont{\@empty} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the |acmplain| theorem style: -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmplainbodyfont{\itshape} - \def\@acmplainindent{\z@} - \def\@acmplainheadfont{\bfseries} - \def\@acmplainnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{acmplain} -% The |acmplain| theorem style -% \begin{macrocode} -\newtheoremstyle{acmplain}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmplainbodyfont}% body font - {\@acmplainindent}% indent amount - {\@acmplainheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\@acmdefinitionbodyfont} -% The font to typeset the body of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionbodyfont{\normalfont} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionindent} -% The amount to indent the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionindent{\parindent} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionheadfont} -% The font to typeset the head of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionheadfont{\itshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@acmdefinitionnotefont} -% The font to typeset the note of the |acmdefinition| theorem style. -% \begin{macrocode} -\def\@acmdefinitionnotefont{\@empty} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the |acmdefinition| theorem style: -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmdefinitionbodyfont{\normalfont} - \def\@acmdefinitionindent{\z@} - \def\@acmdefinitionheadfont{\bfseries} - \def\@acmdefinitionnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{acmdefinition} -% The |acmdefinition| theorem style -% \begin{macrocode} -\newtheoremstyle{acmdefinition}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmdefinitionbodyfont}% body font - {\@acmdefinitionindent}% indent amount - {\@acmdefinitionheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec -% \end{macrocode} -% -% \end{macro} -% -% Make |acmplain| the default theorem style. -% \begin{macrocode} -\theoremstyle{acmplain} -% \end{macrocode} -% -% Delay defining the theorem environments until after other packages -% have been loaded. In particular, the |cleveref| package must be -% loaded before the theorem environments are defined in order to show -% the correct environment name (see -% \url{https://github.com/borisveytsman/acmart/issues/138}). The |acmthm| -% option is used to suppress the definition of any theorem -% environments. Also, to avoid obscure errors arising from these -% environment definitions conflicting with environments defined by the -% user or by user-loaded packages, we only define environments that -% have not yet been defined. -% \begin{macrocode} -\AtEndPreamble{% - \if@ACM@acmthm - \theoremstyle{acmplain} - \@ifundefined{theorem}{% - \newtheorem{theorem}{Theorem}[section] - }{} - \@ifundefined{conjecture}{% - \newtheorem{conjecture}[theorem]{Conjecture} - }{} - \@ifundefined{proposition}{% - \newtheorem{proposition}[theorem]{Proposition} - }{} - \@ifundefined{lemma}{% - \newtheorem{lemma}[theorem]{Lemma} - }{} - \@ifundefined{corollary}{% - \newtheorem{corollary}[theorem]{Corollary} - }{} - \theoremstyle{acmdefinition} - \@ifundefined{example}{% - \newtheorem{example}[theorem]{Example} - }{} - \@ifundefined{definition}{% - \newtheorem{definition}[theorem]{Definition} - }{} - \fi - \theoremstyle{acmplain} -} -% \end{macrocode} -% -% -% \begin{macro}{\@proofnamefont} -% The font to typeset the proof name. -% \begin{macrocode} -\def\@proofnamefont{\scshape} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\@proofindent} -% Whether or not to indent proofs. -% \begin{macrocode} -\def\@proofindent{\indent} -% \end{macrocode} -% -% \end{macro} -% -% Customization of the proof environment. -% \begin{macrocode} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@proofnamefont{\itshape} - \def\@proofindent{\noindent} -\or % sigchi -\or % sigchi-a -\fi -% \end{macrocode} -% -% \begin{macro}{proof} -% We want some customization of the proof environment. -% \begin{macrocode} -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\@proofindent\hskip\labelsep - {\@proofnamefont #1\@addpunct{.}}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} -% \end{macrocode} -% -% \end{macro} -% -% -% -%\subsection{Balancing columns} -%\label{sec:balancing} -% -% We need balancing only if the user did not disable it, and we use a -% two column format. Note that |pbalance| uses a different -% mechanism. -% \begin{macrocode} -\AtEndPreamble{% - \if@ACM@pbalance - \global\@ACM@balancefalse - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \RequirePackage{pbalance}% - \or % sigconf - \RequirePackage{pbalance}% - \or % siggraph - \RequirePackage{pbalance}% - \or % sigplan - \RequirePackage{pbalance}% - \or % sigchi - \RequirePackage{pbalance}% - \or % sigchi-a - \fi - \fi - \if@ACM@balance - \ifcase\ACM@format@nr - \relax % manuscript - \global\@ACM@balancefalse - \or % acmsmall - \global\@ACM@balancefalse - \or % acmlarge - \global\@ACM@balancefalse - \or % acmtog - \RequirePackage{balance}% - \or % sigconf - \RequirePackage{balance}% - \or % siggraph - \RequirePackage{balance}% - \or % sigplan - \RequirePackage{balance}% - \or % sigchi - \RequirePackage{balance}% - \or % sigchi-a - \global\@ACM@balancefalse - \fi - \fi -} -\AtEndDocument{% - \if@ACM@balance - \if@twocolumn - \balance - \fi\fi} -% \end{macrocode} -% -% -%\subsection{Acknowledgments} -%\label{sec:acks} -% -% \begin{macro}{\acksname} -% \changes{v1.56}{2018/10/16}{Added macro (Philip Quinn)} -% \begin{macrocode} -\newcommand\acksname{Acknowledgments} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\acks} -% \changes{v1.19}{2016/07/28}{Include 'Acknowledgements' in PDF bookmarks -% (Matthew Fluet)} -% \changes{v1.15}{2016/07/05}{Added macro} -% This is a |comment|-like structure -% \begin{macrocode} -\specialcomment{acks}{% - \begingroup - \section*{\acksname} - \phantomsection\addcontentsline{toc}{section}{\acksname} -}{% - \endgroup -} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\grantsponsor} -% \changes{v1.15}{2016/07/05}{Added macro} -% \changes{v1.17}{2016/07/10}{Renamed} -% We just typeset the name of the sponsor -% \begin{macrocode} -\def\grantsponsor#1#2#3{#2} -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{\grantnum} -% \changes{v1.15}{2016/07/05}{Added macro} -% \changes{v1.17}{2016/07/10}{Added url} -% \begin{macrocode} -\newcommand\grantnum[3][]{#3% - \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} -% \end{macrocode} -% -% \end{macro} -% -% \subsection{Conditional typesetting} -% \label{sec:conditional} -% -% We use the |comment| package for conditional typesetting: -% \begin{macrocode} -\AtEndPreamble{% -\if@ACM@screen - \includecomment{screenonly} - \excludecomment{printonly} -\else - \excludecomment{screenonly} - \includecomment{printonly} -\fi -\if@ACM@anonymous - \excludecomment{anonsuppress} - \excludecomment{acks} -\else - \includecomment{anonsuppress} -\fi} -% \end{macrocode} -% -% -% -%\subsection{Additional bibliography commands} -%\label{sec:bibliography} -% -% \begin{macro}{\showeprint} -% \changes{v1.21}{2016/09/04}{Added macro} -% The command \cs{showeprint} has two arguments: the (optional) -% prefix and the eprint number. Right now the only prefix we understand is -% the (lowercase) word `arxiv'. -% \begin{macrocode} -\newcommand\showeprint[2][arxiv]{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\def\@tempa{arxiv}\fi - \def\@tempb{arxiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - \def\@tempb{arXiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - arXiv:#2% - \fi - \fi} -% \end{macrocode} -% -% -% \end{macro} -% -% -%\subsection{Index} -%\label{sec:index} -% -% \begin{macro}{\theindex} -% Standard |amsart| uses plain page style in index pages. This -% clashes with line numbering for |review| option, so we redefine it. -% \begin{macrocode} -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi - \columnseprule\z@ \columnsep 35\p@ - \@indextitlestyle - \let\item\@idxitem - \parindent\z@ \parskip\z@\@plus.3\p@\relax - \raggedright - \hyphenpenalty\@M - \footnotesize} -% \end{macrocode} -% -% \end{macro} -% -%\subsection{End of Class} -%\label{end} -% -% \begin{macro}{\vspace} -% \changes{v1.57}{2018/12/16}{Added warning} -% \changes{v1.58}{2019/01/23}{Preserved old versions as -% \cs{@vspace@orig} and \cs{@vspace@orig}} -% \changes{1.69}{2020/02/02}{Added the changed command to avoid grouping} -% We do not disable \cs{vspace}, but add warning to it -% \begin{macrocode} -\let\@vspace@orig=\@vspace -\let\@vspacer@orig=\@vspacer -\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\let\@vspace@acm=\@vspace -\let\@vspacer@acm=\@vspacer -% \end{macrocode} -% -% \end{macro} -% -% -% \begin{macro}{\ACM@origbaselinestretch} -% \changes{v1.57}{2018/12/16}{Added check whether the user changed -% \cs{baselinestretch}} -% We produce an error if the user tries to change \cs{baselinestretch} -% \begin{macrocode} -\let\ACM@origbaselinestretch\baselinestretch -\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else - \ClassError{\@classname}{An attempt to redefine - \string\baselinestretch\space detected. Please do not do this for - ACM submissions!}\fi} -% \end{macrocode} -% -% \end{macro} -% -% \changes{v1.30}{2017/02/10}{Added \cs{frenchspacing}} -% \begin{macrocode} -\normalsize\normalfont\frenchspacing -% -% \end{macrocode} -% -%\Finale -%\clearpage -% -%\PrintChanges -%\clearpage -%\PrintIndex -% -\endinput diff --git a/Publications/PAZ_FAccT/acmart.ins b/Publications/PAZ_FAccT/acmart.ins deleted file mode 100644 index d17dc06..0000000 --- a/Publications/PAZ_FAccT/acmart.ins +++ /dev/null @@ -1,30 +0,0 @@ -% -% 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{*****************************************************}% \ No newline at end of file diff --git a/Publications/PAZ_FAccT/acronyms_gls.tex b/Publications/PAZ_FAccT/acronyms_gls.tex deleted file mode 100644 index 090c7be..0000000 --- a/Publications/PAZ_FAccT/acronyms_gls.tex +++ /dev/null @@ -1,4 +0,0 @@ -\newacronym{ML}{ML}{machine learning} -\newacronym{XAI}{XAI}{explainable artificial intelligence} -\newacronym[longplural={counterfactual explanations}]{CFE}{CFE}{counterfactual explanation} -\newacronym{AMT}{AMT}{Amazon Mechanical Turk} diff --git a/Publications/PAZ_FAccT/comment.cut b/Publications/PAZ_FAccT/comment.cut deleted file mode 100644 index b46ebbb..0000000 --- a/Publications/PAZ_FAccT/comment.cut +++ /dev/null @@ -1,3 +0,0 @@ -The authors would like to thank Johannes Kummert for support with server set up and maintenance. -This work is contained within the projects ITS.ML as part of the ICT 2020 Funding Programme, supported by the \grantsponsor{BMBF}{Federal Ministry of Education and Research Germany (BMBF)} and the \grantsponsor{DLR}{Project Management Agency of the German Aerospace Centre (DLR)} under Grant - No.:~\grantnum{ITS.ML_no}{01IS18041 A}, and project IMPACT funded in the frame of the funding line \grantnum{AI and its Implications for Future Society} by the \grantsponsor{VW-Foundation}{VW-Foundation}. diff --git a/Publications/PAZ_FAccT/content.tex b/Publications/PAZ_FAccT/content.tex deleted file mode 100644 index 49e26fd..0000000 --- a/Publications/PAZ_FAccT/content.tex +++ /dev/null @@ -1,512 +0,0 @@ -\section{Introduction}\label{sec:introduction} - -% XAI is all the craze! -Explaining one's behavior to another person is a critical element in human social interaction. -We depend on explanations to improve our understanding, ultimately building a stable mental model as basis for prediction and control~\citep{heider_psychology_1958}. -The need to effectively explain not just human action, but also the behavior of automated systems and their underlying \gls{ML} models, has received increasing attention in recent years. This development gave rise to the increasing interest in \gls{XAI} as a research field. -% Supposed interpretable models are there, exp CFs, but user exaluations are often neglected. -Consequently, the \gls{XAI} community has seen a veritable surge of technical accounts on how to realize explainability for \gls{ML}~\citep{guidotti_survey_2019}. - -Motivated by a seminal review by~\citeauthor{miller_explanation_2019} advocating a user-centered focus on explainability, \glspl{CFE} gained particular prominence as a supposedly useful, human-accessible solution~\citep{miller_explanation_2019,keane_if_2021}. -\glspl{CFE} provide \textit{what-if} feedback to the user, \ie, information on what changes in the input elicit a change of an automated decision (\ie, ``if you had worn a mask, you would not have gotten ill''). % Counterfactuals can be interpreted as a recommendations of actions -However, the emerging body of work on \glspl{CFE}, and explainability of \gls{ML} models more generally, shows an alarming tendency to take the quality of the suggested explanation modes at face value~\citep{doshi-velez_towards_2017, offert_i_2017}. -A recent review of counterfactual \gls{XAI} studies reveals that only one on three studies concern themselves with user-based evaluations, often with limitations concerning statistical power and reproducibility~\citep{keane_if_2021}. - -% A profound research gap: comparing different approaches: -The lack of user-based evaluations affects not only assessments of \glspl{CFE} as such, but more specifically also the evaluation of different conceptualizations for this kind of explanations. -The prevailing approach in the current literature is to compare different \gls{CFE} approaches exclusively in terms of their robustness and theoretical fairness~\citep{artelt_evaluating_2021, de_oliveira_framework_2021, white_measurable_2020}, passing over the role of the user as eventual target. -Thus, in-depth evaluations of user experiences, elucidating the usability of \gls{CFE} variants, are yet to be done. - -% Our contribution! -The current work marks a step towards closing this fundamental research gap, focusing on the concept of plausibility. -While technical descriptions of plausible \glspl{CFE} approaches exist~\citep{smyth_few_2021,schleich_geco_2021,artelt_efficient_2022}, no user study to date has directly investigated potential benefits of enforcing an additional plausibility constraint. -Thus, we perform a well-powered user study analyzing the performance of novice users when receiving closest \glspl{CFE} exclusively defined via their proximity to the decision boundary, compared to computationally plausible \glspl{CFE} as feedback in an iterative learning design~\citep{artelt_convex_2020, artelt_efficient_2022}. - -\section{Counterfactual Explanations as a Psychologically Grounded Solution for XAI}\label{subsec:psychoCFs} - -% we still don't know what a good explanation is -A major challenge for \gls{XAI} is the lack of a common, straight-forward and universally applicable definition of what constitutes a good explanation. -To complicate matters, the effectiveness of an approach may depend on the reason for explaining~\citep{adadi_peeking_2018}, as well as pre-existing knowledge and experiences of users at the receiving end~\citep{van_der_waa_evaluating_2021}. - -% insights from psychology can help! -In search of truly human-usable explanation modes, the \gls{XAI} community recognized the need to bridge the gap between psychology and computer science in order to draw inspiration from how humans explain in their daily social interactions~\citep{miller_explanation_2019}. -A central insight from classical psychological literature is that human explanations are typically contrastive: They emphasize (explicitly or implicitly) why a specific outcome occurred instead of another~\citep{miller_explanation_2019, lipton_contrastive_1990, lombrozo_explanation_2012, hilton_knowledge-based_1986}. - -% from contrastive explanations to counterfactual thinking / counterfactural reasoning / CF explanations -This contrastive nature relates to the more general human tendency to reflect upon past events by generating possible alternatives, \ie, counterfactual thinking ~\citep{roese_counterfactual_1997}. -Empirical evidence demonstrates that humans show this \textit{what-if} mentality spontaneously~\citep{goldinger_blaming_2003}, and increasingly when facing negative outcomes or unexpected results~\citep{sanna_antecedents_1996}. -In their functional theory of counterfactual thinking,~\citeauthor{roese_functional_2017} suggest a crucial role of counterfactual thoughts to guide to formation of future intentions, thus regulating subsequent behavior~\citep{roese_functional_2017,epstude_functional_2008}. -This evidence is the root for the common supposition in \gls{XAI} that explanations formulated as counterfactuals are naturally intuitive, easy to understand, and helpful for users, often discounting the need for user evaluations~\citep{stepin_paving_2019, dandl_multi-objective_2020, guidotti_local_2018, artelt_efficient_2022}. - -% how do humans generate CFEs? -Decades of philosophical and psychological research has concerned itself with the question of how humans generate counterfactuals. -% --> possible worlds account by Lewis -Lewis' seminal work on the topic builds on a theory of possible worlds, postulating that counterfactual statements trigger a comparison between the actual circumstances and a conceivable world in which the counterfactual statement occurred~\citep{lewis_counterfactuals_1973}. -% how do humans generate CFEs? --> mental models view, Byrne -Embedding this view into a cognitive framework of counterfactual thought, the mental models theory emphasizes the human ability to entertain two parallel representations of reality: The factual conditional, corresponding to the true state of the world, and the concurrent non-factual possibility, temporarily assumed to be true~\citep{byrne_mental_2002,byrne_precis_2007,johnson-laird_conditionals_2002,walsh_mental_2005}. -% Neuroscience evidence: -Insights from neuroimaging support this notion, demonstrating that counterfactual thinking extends mere hypothetical deliberation by recruiting additional representational processes in the brain~\citep{kulakova_processing_2013}. - -% Authors often note that humans prefer -When humans generate counterfactuals, they show remarkable regularities in terms of which aspects of the past they reconstruct. -Humans tend to modify events that are recent~\citep{miller_temporal_1990, byrne_temporality_2000}, exceptional, while also regarding the optimal counterfactual outcome~\citep{kahneman_simulation_1982, dixon_if_2011}, and -controllable events when undoing of fictitious outcomes~\citep{girotto_event_1991}. -Further, authors like to note that humans produce plausible rather than implausible counterfactuals~\citep{byrne_counterfactual_2016, de_brigard_coming_2013}. - -% What is plausible from a psycho point of view? Hard to say -However, despite being a commonly-used notion in psychology, plausibility is difficult to define precisely. -Variable interpretations of what constitutes a plausible counterfactual exist, referring to different partially overlapping concepts. -\citeauthor{kahneman_simulation_1982} refer to hypothetical events as plausible if they are easy to imagine~\citep{kahneman_simulation_1982}. -% plausibility as closeness / similarity / comparative similarity: -\citeauthor{lewis_counterfactuals_1973} supposes that plausible counterfactuals come from worlds that are minimally different from reality~\citep{lewis_counterfactuals_1973}. -Building up on this idea of comparative similarity, empirical research shows perceived plausibility of a counterfactual event to be proportional to the perceived similarity between said counterfactual and the factual state~\citep{stanley_counterfactual_2017, de_brigard_perceived_2021}. - -% plausibility as probability: -In addition to such a similarity-based definition, plausibility is often used synonymously with concepts of likeliness or probability~\citep{pezdek_is_2006, de_brigard_remembering_2013}. -\citeauthor{de_brigard_remembering_2013} demonstrate that manipulations of counterfactual plausibility in terms of their likeliness changes their neural representation~\citep{de_brigard_remembering_2013}. -Their findings may indicate greater affective evaluation for counterfactuals that carry greater subjective likelihood, and thus, plausibility. -In their plausibility analysis model,~\citeauthor{connell_model_2006} expand on the idea of plausibility as probability and highlight the pivotal role of pre-existing domain knowledge, postulating that a scenario may only be plausible if it fits well to prior knowledge~\citep{connell_model_2006}. - -% Concluding, and bring it together with automatic CFEs -Thus, while it is difficult to pinpoint exactly what makes a counterfactual psychologically plausible, we may recognize pivotal roles of concepts like comparative similarity and probability. -Following the user-centered focus on explainability proposed by~\citeauthor{miller_explanation_2019}~\citep{miller_explanation_2019}, incorporating these concepts would be an important step towards automatic generation of plausible, and thus more human-friendly and usable, \gls{CFE}. - -\section{Computation of Closest CFEs and Plausible CFEs}\label{sec:EffCompCFs} -\citeauthor{wachter_counterfactual_2017} introduce a \gls{CFE} $\xcf\in\RN^\dimsym$ of an \gls{ML} model $\classifier:\RN^\dimsym\to\setY$ as an optimization problem~\citep{wachter_counterfactual_2017} : -\begin{equation}\label{eq:counterfactual_opt_original} -\underset{\xcf \,\in\, \RN^\dimsym}{\arg\min}\; \loss\big(\classifier(\xcf), \ycf\big) + C \cdot \regularization(\xcf, \x) -\end{equation} -where $\x\in\RN^\dimsym$ denotes the original input, the regularization $\regularization(\cdot)$ penalizes deviations from the original input $\x$ (weighted by a regularization strength $C>0$), $\ycf\in\setY$ denotes the requested output/behavior of the model $\classifier(\cdot)$ under the counterfactual $\xcf$, and $\loss(\cdot)$ denotes a loss function penalizing deviations from the requested prediction. - -Thus, computing \glspl{CFE} translates to finding minimal perturbations to a model's input that alter the final prediction to a desired outcome. Given the regularization term $\regularization(\cdot)$, generated \glspl{CFE} based on this definition remain as close to the original input $\x$ as possible. -Thus, we will refer to them as \textit{closest \glspl{CFE}} for the remainder of this work. - -As one of the first approaches to model \glspl{CFE} for classical \gls{ML},~\refeq{eq:counterfactual_opt_original} is the forerunner of more powerful, model specific variations, as well as many methods for solving these optimization problems~\citep{verma_counterfactual_2020,artelt_computation_2019,karimi_survey_2020}. -However, it is important to note that \textit{closest \glspl{CFE}} do not necessarily yield plausible or even realistic counterfactuals. -As a matter of fact, \textit{closest \glspl{CFE}} may look like adversarials, introducing slight changes in the input that go unnoticed by a human observer despite altering the model's output~\citep{papernot_practical_2017}. -Whether a computed \textit{closest \glspl{CFE}} corresponds to such an adversarial depends on the model, loss function and regularization, diminishing their suitability as explanation technique~\citep{laugel_issues_2019}. -Expanding the original definition in \refeq{eq:counterfactual_opt_original} by an additional plausibility constraint circumvents these issues: -\begin{equation} -\begin{split} -\underset{\xcf \,\in\, \RN^\dimsym}{\arg\min}\; \loss\big(\classifier(\xcf), \ycf\big) + C \cdot \regularization(\xcf, \x) \quad\quad \text{s.t. } \xcf \in \set{P} -\end{split} -\end{equation} -where $\set{P}$ denotes the set of all plausible \glspl{CFE}. - -Similar to the modeling of \textit{closest \glspl{CFE}} in~\refeq{eq:counterfactual_opt_original}, different realizations of these \textit{computationally plausible \glspl{CFE}} have been proposed~\citep{looveren_interpretable_2019,poyiadzi_face_2019,artelt_convex_2020}. One particular instance are density based approaches~\citep{artelt_convex_2020} that restrict a counterfactual $\xcf$ to regions of high density (\eg, estimated from the training data). -In the current work, we follow an alternative approach when providing \textit{computationally plausible \glspl{CFE}} and limit the set of possible counterfactuals to the training data as a representative set of feasible examples~\citep{poyiadzi_face_2019}. - -\section{Do Novice Users Profit from Computational Plausibility in an Abstract Domain?}\label{sec:hypotheses} - -The guiding question of the current work is whether \textit{computationally plausible \glspl{CFE}} have an advantage over \textit{closest \glspl{CFE}} in helping users to learn from an \gls{ML} model. -To assess this question, we rely on an interactive iterative learning task, where users repeatedly choose input values for an \gls{ML} model. -In a separate study, we successfully demonstrate the added benefit of providing closest \glspl{CFE} compared to no explanation given this experimental framework~\citep{IAZ ARXIV}. - -In the current work, users receive either \textit{computationally plausible} or \textit{closest \glspl{CFE}}, highlighting how changes in the user's previous input would have lead to better results. -The main advantage of this approach is that the interplay between repeated user action and corrective feedback enables us to assess user understanding at each stage of the process objectively through task performance. - -We find it conceivable that implementing a plausibility constraint indeed improves user performance. -Specifically, we assume that repeated exposure to items representative of the training set enables humans to build a more accurate mental model of the underlying data distribution. -To obtain general insights about the usability of different types of \glspl{CFE} as such, we recruited novice users and designed the task around an abstract scenario. -This approach has the additional advantage to mitigate any difference in domain knowledge and possible misconceptions about the task setting, potentially confounding task performance~\citep{van_der_waa_evaluating_2021}. -Thus, we formulated the following three hypotheses. - -%\paragraph{Hypothesis 1} -\textit{Hypothesis 1.} We expect \textit{computationally plausible \glspl{CFE}} to be more helpful to users tasked to discover unknown relationships in data than \textit{closest} ones, both objectively and subjectively. -Specifically, we anticipate that participants in the plausible condition a) show greater learning success, b) become more automatic and thus quicker in the task, and c) are able to explicitly identify relevant and irrelevant input features. - -%\paragraph{Hypothesis 2} -\textit{Hypothesis 2.} We expect a group difference in terms of subjective understanding. -We predict that users will differ in how far they find \glspl{CFE} useful, and in how far they can utilize them, with an advantage of \textit{computationally plausible \glspl{CFE}}. %(survey items 5, 6). -Furthermore, we posit that users imagine \textit{computationally plausible \glspl{CFE}} to be more helpful for other users. %(survey item 9). - -%\paragraph{Hypothesis 3} -\textit{Hypothesis 3.} We evaluate users' understanding of the explanations themselves, their need for support to understand, and their evaluation of timing and efficacy of \gls{CFE} presentation. As structure and presentation mode of \glspl{CFE} is kept constant across conditions, we expect not to find any differences. -This analysis tests the comparability of conditions, a key feature in any experimental user design. - -Finally, we do not formulate a prediction whether groups will differ in uncovering inconsistencies in the explanations presented. This will be investigated in an additional exploratory analysis. - -\section{Experimental Design}\label{sec:experimental-design} - -To assess \textit{Hypotheses 1--3}, we use a novel iterative learning design revolving around an abstract scenario. Figure \ref{fig:StudyStructure} conveys the overall two-part structure of the study. - -\begin{figure} - \centering - \includegraphics[width=\textwidth]{./media/FigureStudyStructure.pdf} - \caption{General overview of study procedure. (\textbf{a}) The Alien Zoo game is an iterative design with blocks containing two trials calling for user input, and finishing with a feedback scene that provides either \textit{closest} or \textit{computational plausible \glspl{CFE}} computed on user's previous input. (\textbf{b}) After 6 blocks, users enter a post-game survey collecting self-report information from participants. Likert-scale items adapted from~\citep{holzinger_measuring_2020}. Catch item marked in light gray. The lower part of both subfigures shows measures evaluates from respective parts; $^\dag$ objective measure, $^\ddag$ subjective measure.} - \label{fig:StudyStructure} - \end{figure} - -\subsection{The Alien Zoo Scenario} - -We developed a game-like experimental design, the Alien Zoo~\citep{IAZ ARXIV}. -It relies on a web-based interface to provide global access for users from diverse backgrounds, facilitating large-scale participant recruitment. -For a detailed account of the framework's conception and the rationale behind the corresponding design choices, see~\citet{IAZ ARXIV}. - -In the Alien Zoo scenario, participants imagine themselves as zookeepers for aliens. -To feed to the aliens, participants may choose from different plants. -However, it is not clear what plants make up a nutritious diet. -Thus, participants need to find how to best feed the aliens. -Participants go through several feeding cycles, choosing a combination of plants. -After each cycle, the pack of aliens either decreases (given a bad combination of plants) or increases (given a good combination). -In regular intervals, participants receive a summary of their past choices, together with feedback on what choice would have led to a better result (\ie a \gls{CFE}). - -Assessing performance of real users in an abstract task setting, this use case corresponds to a human grounded evaluation~\citep{doshi-velez_towards_2017}. -Further, our setting falls under the ``explaining to discover'' category for explainability defined by~\citeauthor{adadi_peeking_2018}, investigating whether providing \glspl{CFE} to novice users improves their understanding of relationships in a yet unknown dataset~\citep{adadi_peeking_2018}. - -\subsection{Post-Game Survey} - -A post-game survey collects self-report information from participants. -Besides explicitly asking participants to point out which plants were relevant and irrelevant for the task, we use an adapted version of the System Usability Scale~\citep{holzinger_measuring_2020}, designed to measure the quality of explanations elicited by an explainable \gls{ML} system. -Participants answer a series of Likert-scale items, assessing how users feel about using our system with a focus on perceived understandibility and usability of \glspl{CFE}. -The survey closes with asking for participants' gender and age as potential confounding variables. -Figure \ref{fig:StudyStructure}b gives a complete overview of all items in the survey part, in the order participants encounter them. - -\subsection{Constructs and Measurements} - -We measure understanding and usability of explanations in terms of two objective behavioral variables and several subjective self-reports (Figure \ref{fig:StudyStructure} bottom). - -Regarding task performance, we assess the development of pack size in the Alien Zoo game over trials. -This value indicates the extent of user's understanding of relevant and irrelevant features in the underlying data set, as a solid understanding leads to better feeding choices. - -Second, we measure time needed to reach a feeding decision over trials (henceforth referred to as decision time). As we assume participants to become more automatic in making their plant choice, we expect this practice effect to be reflected as decreased decision time~\citep{logan_shapes_1992}. - -We acquire self-reports via the post-game survey, assessing different aspects of participant's system understanding. -The first two survey items ask users to identify plants they think are relevant and irrelevant for task success. -Replies from these items allow us to measure to which extent users in different groups formed explicit knowledge of the underlying data structure. -Further, users indicate in how far they find the explanations useful, to which degree they can make use of them, and in how far they imagine the presented \glspl{CFE} to be helpful for other users, too. These items assess user's subjective understanding. - -Finally, three self-report measures check for potential confounds. -These are items that ask users to indicate their understanding of the explanations as such, whether they feel the need for support for understanding, and their evaluation of timing and efficacy of \gls{CFE} presentation. -Given that structure and presentation mode of \glspl{CFE} is kept constant for both groups, differences would uncover unexpected variation in terms of answer style, a potential confounding variable. - -\subsection{Implementation, ML Model and Data Set} -The back end of the system is written in Python3, using the sklearn package~\citep{pedregosa_scikit-learn_2011} for the \gls{ML} part. The front end employs the JavaScript-based Phaser 3, an HTML5 game framework\footnote{\url{https://phaser.io/}}. -We use a decision tree regression model for predicting the growth rate given the plants selected by the user. -Decision trees approximate the data distribution with a collection of if-then-else rules, consecutively splitting the data~\citep{shalev-shwartz_understanding_2014}. -We choose a decision tree because computing counterfactuals for this model is fairly simple~\citep{artelt_computation_2019}. -Yet, it is powerful enough to model our synthetic data set sufficiently well. -The current implementation uses the Gini splitting rule of CART~\citep{breiman_classification_1984}, with a maximum tree depth of $4$. -The decision tree corresponding to the ground truth model is build once in the beginning and remains the same for all users during the study. - -We use the code provided by the CEML package~\citep{artelt_ceml_2019} for computing \glspl{CFE}.\footnote{\url{https://github.com/andreArtelt/ceml}} -In the interest of reproducible research, all source code of the current study is available.\footnote{\url{LINK}} -% taken out to ensure anonymity -The underlying data set used for tree building consists of 5 integer features (\ie, the plants used for feeding) and 1 continuous output variable (\ie, the growth rate used as factor for computing the new pack size). -We generated this data according to the following scheme: The growth rate scales linearly with plant 2, iff plant 4 has a value of 1 or 2 OR plant 5 is not smaller than 4. -Growth rate may take a value between 0 and 2, used as a factor for pack size in the previous round to compute the new pack size. -The initial full data set contains all possible plant -- growth rate combinations $100$ times, yielding 3 276 800 data points. -For final model training, we sample a subset of 10 922 data points from this full set to introduce sparsity, thus ensuring that computed \textit{closest} and \textit{computationally plausible \gls{CFE}} diverge. -Note that our implementation prevents pack size from shrinking below 2. - -\subsection{Participants} - -The study ran in early November 2021 on \gls{AMT}. -%After performing three pilots with 10 users each to refine the experimental design, we recruited a total of 100 -After piloting, we recruited a total of 100 participants for final assessment, following an a priori sample size estimation~\citep{kumle_estimating_2021}.% Batch info neccesary? % report that users were excluded if the done it before? -~A first data quality check revealed corrupted data for four participants due to logging issues. -Thus, we acquired four additional data sets. -All participants gave informed electronic consent by providing clickwrap agreement prior to participation. -All participants received a reward of US\$ 4 for participation. -The ten best performing users received an additional bonus of US\$ 2. -Game instructions informed participants about the possibility of a bonus to motivate compliance with the experimental task~\citep{bansal_updates_2019}. -The study was approved by the Ethics Committee of Bielefeld University, Germany. - -\subsection{Experimental Procedure}\label{subsec:experimental-procedure} - -After accepting the task on \gls{AMT}, participants are forwarded to our web server hosting the alien zoo game. -They first encounter a page informing them about purpose, procedure and expected duration of the study, their right to withdraw, confidentiality and contact details of the primary investigator. -Users may decline to participate by closing this window. -Otherwise, they indicate their agreement via button press, opening a new page. -Unbeknownst to the user, they are randomly assigned to either the \textit{closest} or the \textit{plausible} condition when they indicate agreement. - -The succeeding page provides detailed instructions to the game. -Specifically, it shows images of the aliens, as well as the selection of plants they may choose to feed from. -Written instructions detail that it is possible to choose up to six leaves per plant in whatever combination seems desirable, and that choosing healthy or unhealthy combinations leads to increases or decreases in pack size, respectively. -Further instructions emphasize the user's task to maximize the number of aliens, so-called shubs, with the best players qualifying for a monetary bonus. -Participants are also informed that they will receive feedback on what choice would have led to a better result after two rounds of feeding. -Users begin the game by clicking a ``Start'' button, appearing with a delay of 20s at the end of the page. - -\begin{figure} - \centering - \includegraphics[width=\textwidth]{./media/FigureGameInterface.pdf} - \caption{Exemplary user journey through the first block of the Alien Zoo game. Bold arrows indicate temporal succession of respective scenes. The figure highlights the iterative nature of the game with repeated user input and end-of-block presentation of \glspl{CFE}. Note that plant counters are set to 0 at the beginning of each padlock scene. The figure displays the state after the exemplary user inserted their current choice. For this manuscript, font size in images of scenes was increased to improve visibility.} - \label{fig:StudyStructure2} - \end{figure} - -Upon hitting ``Start'', participants encounter a padlock scene where they can make their feeding choice (Figure \ref{fig:StudyStructure2}, top left image). -The right side of the screen displays leaves from all plant types next to upward/downward arrow buttons. -In the first feeding round, the top of the page shows written information that clicking on the upward arrows increases the number of leaves per plant, while clicking the downward arrows has the reverse effect. -In each succeeding feeding round, the top of the page shows the current pack size, the pack size in the previous round, and the choice made in the previous round. -The page additionally shows a padlock with the current number of animated shubs. -Each participant starts of with a pack of 10 aliens. -After making their choice, participants continue by clicking a button stating ``Feeding time!'' in the bottom right corner of the screen. - -Upon committing their choice, a progress scene displaying the current choice of plants and three animated aliens is shown. -Meanwhile, the underlying \gls{ML} model uses the user input to generate the new growth rate and pack size, together with either a \textit{closest} or a \textit{computationally plausible \gls{CFE}}. -After 3s, the padlock scene appears again to show the results of their last choice. -Following odd trials, the user may make a new selection. -After even trials, a single ``Get feedback!'' button replaces the choice panel on the right-hand side of the screen. -Hitting the feedback button forwards a user to an overview scene displaying the feeding choices in the last two runs, the resulting changes in pack size and the counterfactuals that indicate what choices would have led to better results. -When users made a choice that led to maximal increase in pack size such that no counterfactual could be computed, they are told that they were close to an optimal solution in that round. -Users may move on to the next round by hitting a ``Continue!'' button appearing after 10s on the right-hand side of the screen. This delay forces users to spend some time with the information to study it. Upon continuing, users make their new choice in a new padlock scene. - -The study runs over 12 feeding rounds (trials) with feedback interspersed after each second trial. -To ensure attentiveness of users during the game, we included two additional attention trials. -After feeding rounds 3 and 7, users face a new page requesting to type in the current number of aliens in their respective packs. -Immediate feedback informs participants whether their entry was correct or not, and reminds users to pay close attention to all aspects of the game at any given time. -Subsequently, the next progress scene appears and the game continues. - -The game part of the study is complete after 12 trials. -The experimental procedure concludes with a survey assessing user's explicit knowledge on what plants were and were not relevant for improvement (items 1 and 2), as well as an adapted version of the System Causability Scale \cite{holzinger_measuring_2020} evaluating the subjective quality of explanations. -The study closes with two items assessing demographic information on gender and age. -The final page thanks users for their participation and provides a unique code to insert in \gls{AMT} to prove that they completed the study and qualify for payment. -Further, participants may choose to visit a debriefing page with full information on study objectives and goals. - -On average, participants needed 13m:43s ($\pm$ 00m:23s SEM) from accepting the HIT on AMT to inserting their unique payment code. - -\subsection{Statistical Analysis, Sample Size Calculation and Data Quality Measures} - -We perform all statistical analyses using R-4.1.1~\citep{r_core_team_r_2021}, using \gls{CFE} variant (\textit{closest} or \textit{computationally plausible}) as independent variable. -Changes in performance over 12 trials measure learning rate per group (lme4 v.4\textunderscore 1.1-27.1)~\citep{bates_fitting_2015}. -In the model testing for differences in terms of user performance, the dependent variable is number of aliens generated. -In the assessment of user's reaction time, we use trialwise decision time as dependent variable. -The final models include fixed effects of group, trial number and their interaction. The random-effect structure includes a by-subjects random intercept. -Such linear mixed effects models account for correlations of data drawn from the same participant and missing data~\citep{detry_analyzing_2016,muth_alternative_2016}. -The analysis of variance function of the stats package in base R serves to compare model fits. -$\eta_{\text{p}}^{2}$ values denote effect sizes (effectsize v.0.5)~\citep{ben-shachar_effectsize_2020}. -Computations of pairwise estimated marginal means follow up significant main effects or interactions, with respective effect sizes reported in terms of Cohen's \textit{d}. -All post-hoc analyses reported are Bonferroni corrected to account for multiple comparisons. - -We evaluate data gathered from the post-game survey depending on question type. -For the first two items assessing user's explicit knowledge of plant relevance, we test data for normality of distributions using the Shapiro-Wilk test, followed up by the non-parametric Wilcoxon-Mann-Whitney \textit{U} test in case of non-normality, and the Welch two-sample t-test otherwise for group comparisons. -We follow the same approach to compare age and gender distributions. -We also compare user's explicit knowledge of plant relevance to the expected value given random response patterns using the non-parametric one-sample Wilcoxon signed rank test for each group separately, and report Bonferroni corrected results. -To analyze group differences of ordinal data from the Likert-style items, we rely on the non-parametric Wilcoxon-Mann-Whitney \textit{U} test. -We report effect sizes for all survey data comparisons as \textit{r}. - -As a web-based study, we run the risk that some participants attempt to game the system to collect the reward without providing proper answers. -Thus, we implement a number of data quality checks that were planned a priori. -We identify speeders based on the decision time, flagging users that spent less than 2s in the padlock scene in 4 or more trials. -We flag participants that fail to respond with the correct number of aliens in both attention trials during the game. -Furthermore, we included a catch item in the survey (\ref{fig:StudyStructure}b, item 7), flagging inattentive users. -Finally, we identify straight-lining participants who keep choosing the same plant combination despite not improving in at least three blocks, or answer with only positive or negative valence in the survey. -To uphold a high threshold for data quality, we follow a conservative approach of excluding participants that were flagged for at least one of these reasons. - -\section{Results}\label{sec:results} - -From the initial 100 participants, we exclude data from participants who qualified as speeders (\textit{n} = 2), failed both attention trials during the game (\textit{n} = 5), gave an incorrect response for the catch item in the survey (\textit{n} = 3), or straight-lined during the game (\textit{n} = 4) or in the survey (\textit{n} = 12), leaving data from 74 participants for final analysis (Table~\ref{tab:participants}). - -\begin{table} - \caption{Demographic information of participants.} - \label{tab:participants} -\begin{tabular}{llllllllll} -\toprule - & \multicolumn{4}{l}{Before quality assurance measures (\textit{N} = 100)} && \multicolumn{4}{l}{After quality assurance measures (\textit{N} = 74)} \\ -\cline{2-5}\cline{7-10} - & \textit{closest} & \textit{plausible} & \textit{U} value$^a$ & \textit{p} value && \textit{closest} & \textit{plausible} & \textit{U} value$^a$ & \textit{p} value\\ -\hline -\textit{N} & 50 & 50 & .. & .. && 40 & 34 & .. & .. \\ -Gender$^b$ & 17f/33m & 22f/26m/1nb/1na & 1108 & .339 && 13f/27m & 18f/15m/1nb & 554.4 & .116 \\ -Age (\textit{Mdn})$^c$ & 25--34y & 25--34y & 1234 & .950 && 25--34y & 35--44y & 712.5 & .718 \\ -\bottomrule -\multicolumn{9}{l}{$^a$ non-parametric Wilcoxon-Mann-Whitney \textit{U} test}\\ -\multicolumn{9}{l}{$^b$ f = female, m = male, nb = non-binary / gender non-conforming, na = no gender information disclosed}\\ -\multicolumn{9}{l}{$^c$ \textit{Mdn} = median age band (options: 18-24y, 25-34y, 25-34y, 35-44y, 45-54y, 55-64y, 65y and over)} -\end{tabular} -\end{table} - -\subsection{Do Computationally Plausible CFEs Facilitate Learning?} - -Hypothesis 1 postulates that users in the \textit{plausible} condition outperform users in the \textit{closest} condition. -To statistically assess this hypothesis, we compare data from participants in both groups in terms of pack size produced over time, decision time, and matches between ground truth and indicated plants. -Figure \ref{fig:hyp1}a shows the development of average pack size as well as average decision time per group. -Strikingly, the data suggests that participants in the \textit{closest}, not the \textit{plausible}, condition performed better. -This effect is confirmed by the significant interaction of factors \textit{trial number} and \textit{group} (\textit{F}(11,792) = 2.119, \textit{p} = .017, $\eta_{\text{p}}^{2}$ = 0.029) in the corresponding linear mixed effects model. The follow-up analysis reveals significant differences between groups in trial 11 (\textit{t}(472) = 4.040, \textit{p} = .012, \textit{d} = 0.693) and trial 12 (\textit{t}(472) = 2.530, \textit{p} \textless .001, \textit{d} = 1.101). -Additionally, there is a highly significant main effect of trial number (\textit{F}(11,792) = 7.585, \textit{p} \textless .001, $\eta_{\text{p}}^{2}$ = 0.095), but no significant main effect of group (\textit{F}(11,72) = 2.586, \textit{p} = .112, $\eta_{\text{p}}^{2}$ = 0.035). - -Participants in both groups showed a marked decrease in decision time over the curse of the study, already apparent after the first trial (Figure \ref{fig:hyp1}b). -The significant main effect of factor \textit{trial number} (\textit{F}(11,792) = 14.818, \textit{p} \textless .001, $\eta_{\text{p}}^{2}$ = 0.171) confirms this observation. -Corresponding post-hoc analyses show significant differences between trial 1 and all other trials (all \textit{t}(792) \textgreater 5.900, \textit{p} \textless .001, \textit{d} \textgreater 1.200), between trial 3 and 4 (\textit{t}(792) = 3.765, \textit{p} = .012, \textit{d} = 0.621), and between trials 4 and 5 (\textit{t}(792) = 3.395, \textit{p} = .048, \textit{d} = 0.560). -Neither the main effect of factor \textit{group} (\textit{F}(11,72) = 0.235, \textit{p} = .630, $\eta_{\text{p}}^{2}$ = 0.003), nor the interaction between factors \textit{trial number} and \textit{group} (\textit{F}(11,792) = 0.897, \textit{p} = .543, $\eta_{\text{p}}^{2}$ = 0.012) reach significance. - -In terms of mean number of matches between user judgments of plant relevance for task success and the ground truth, users in both groups performed comparably both for relevant -(\textit{closest}: mean number of matches = 2.850 $\pm$ 0.198 \textit{SE}; \textit{plausible}: mean number of matches = 3.206 $\pm$ 0.178 \textit{SE}; \textit{U} = 781, \textit{p} = .255, \textit{r} = .054) -and irrelevant plants (closest: mean number of matches = 3.125 $\pm$ 0.157 \textit{SE}), plausible: mean number of matches = 3.177 $\pm$ 0.217 \textit{SE}; \textit{U} = 721.5, \textit{p} = .643, \textit{r} = .054). -While groups do not differ in terms of matches between user judgments of plant relevance, we find significant differences between mean group responses compared to the expected value given random responses (\ie, expected mean number of matches = 2.500): -Users in the \textit{computationally plausible} group have significantly more matches than random for both items (relevant plants: \textit{W} = 481, \textit{p} = .005, \textit{r} = .550; irrelevant plants: \textit{W} = 459.5, \textit{p} = .020, \textit{r} = .483). -Users in the \textit{closest} group have significantly more matches than random when identifying irrelevant (\textit{W} = 659.5, \textit{p} = .002, \textit{r} = .544), but not relevant (\textit{W} = 536.5, \textit{p} = .331, \textit{r} = .274) plants. - -Thus, we cannot verify our hypothesis that \textit{computationally plausible \glspl{CFE}} facilitate learning. On the contrary, the development of pack size between the groups points to the opposite effect of \textit{closest \glspl{CFE}} being more beneficial for users than \textit{computationally plausible} ones. - -\begin{figure} - \centering - \includegraphics[width=\textwidth]{./media/H1_p_ShubsPerTrial_RTPertrial_PAZ_FINAL.pdf} - \caption{Development of (\textbf{a}) mean pack size per group by trial, (\textbf{b}) mean decision time per group by trial, and (\textbf{c}) mean number of matches between user judgments and ground truth for survey items assessing relevant plants and irrelevant plants, respectively. Shaded areas in (\textbf{a}), (\textbf{b}), and error bars in (\textbf{c}) denote the standard error of the mean. Asterisks denote statistical significance (\textit{p} < .05 (*), \textit{p} < .01 (**), and \textit{p} < .001 (***), respectively. Asterisks in (\textbf{c}) denote statistical significance from expected value for random behavior.} - \label{fig:hyp1} - \end{figure} - -\subsection{Do Computationally Plausible CFEs Increase User's Subjective Understanding?} -To assess hypothesis 2, we analyze participant judgments on relevant survey items. -Visual assessment suggests that there is little variation in terms of user responses between groups (Figure \ref{fig:survey}a), confirmed by our statistical assessment. -Groups do not statistically differ when judging whether presented \gls{CFE} feedback was helpful to increase pack size (\textit{closest} condition: \textit{M} = 3.700 $\pm$ 1.285 \textit{SE}; \textit{plausible} condition: \textit{M} = 3.636 $\pm$ 0.242 \textit{SE}; \textit{U} = 656, \textit{p} = .968, \textit{r} = .005). -Likewise, we do not detect significant group differences in terms of subjective usability (\textit{closest} condition: \textit{M} = 3.775 $\pm$ 0.216 \textit{SE}; \textit{plausible} condition: \textit{M} = 3.606 $\pm$ 0.230 \textit{SE}; \textit{U} = 603, \textit{p} = .513, \textit{r} = .077). -In addition, there is no significant difference between groups for estimated usefulness of explanations for others (\textit{closest} condition: \textit{M} = 3.750 $\pm$ 0.208 \textit{SE}; \textit{plausible} condition: \textit{M} = 3.647 $\pm$ 0.206 \textit{SE}; \textit{U} = 637, \textit{p} = .631, \textit{r} = .056). - -\begin{figure} - \centering - \includegraphics[width=\textwidth]{./media/H2_H3_expl_survey_T_PAZ_FINAL.pdf} - \caption{Overview of user judgments in post-game survey per group, adapted from ~\citep{holzinger_measuring_2020}. (\textbf{a}) depicts user replies in survey items relevant for hypothesis 2, (\textbf{b}) depicts user replies in survey items relevant for hypothesis 3, and (\textbf{c}) depcits replies relevant for our last exploratory analysis. Distributions did not differ significantly between groups for any of the items (all \textit{p} \textgreater .05).} - \label{fig:survey} - \end{figure} - -\subsection{Does Mode of Presentation have an Impact?} -As postulated in hypothesis 3, we do not observe group differences between conditions in terms of understanding the explanations as such (Figure \ref{fig:survey}b). -A considerable proportion of both groups responds positively about understanding the feedback, not differing significantly in their responses (\textit{closest} condition: \textit{M} = 3.975 $\pm$ 0.184 \textit{SE}; \textit{plausible} condition: \textit{M} = 4.118 $\pm$ 0.162 \textit{SE}; \textit{U} = 773.5, \textit{p} = .200 \textit{r} = .149). -In terms of needing support for understanding, both groups reply with a similar response pattern (\textit{closest} condition: \textit{M} = 3.200 $\pm$ 0.230 \textit{SE}; \textit{plausible} condition: \textit{M} = 3.147 $\pm$ 0.257 \textit{SE}; \textit{U} = 667, \textit{p} = .890 \textit{r} = .016). -Similarly, user judgments on timing and efficacy of CFE presentation are consistently high across groups (\textit{closest} condition: \textit{M} = 4.100$\pm$0.175 \textit{SE}; \textit{plausible} condition: \textit{M} = 4.147$\pm$0.170 \textit{SE}; \textit{U} = 680.5, \textit{p} = 1 \textit{r} = .000). - -\subsection{Exploratory Analysis} -More than half of all users in both groups do not report to having detected any inconsistencies in the \glspl{CFE} provided (\textit{closest} condition: \textit{M} = 2.675 $\pm$ 0.166 \textit{SE}; \textit{plausible} condition: \textit{M} = 2.853 $\pm$ 0.207 \textit{SE}; \textit{U} = 743, \textit{p} = .480, \textit{r} = .082). - -\section{Discussion}\label{sec:discussion} - -In this work, we investigate effects of implementing a plausibility constraint on computed \glspl{CFE} for \gls{ML} models on user performance in an iterative learning task in an abstract domain. -The employed constraint limits the set of possible solutions to the training data. -We measure understanding and usability of explanations in terms of two objective behavioral variables, \ie, task performance and decision time, and several subjective self-reports. -Our results reveal a range of valuable insights with important implications for \gls{XAI} in application. - -%%%% Hypothesis 1 - Do plausible CFEs facilitate learning? -First, we cannot verify our initial supposition that \textit{computationally plausible} \glspl{CFE} facilitate learning in the current setting. -Intriguingly, we observe the opposite effect: users in the \textit{closest} condition generated larger pack sizes than users in the \textit{computationally plausible} condition. -A likely reason for this observation may be that the current study revolves around an abstract scenario of feeding aliens. -Given psychological interpretations of plausibility as probability~\citep{pezdek_is_2006, de_brigard_remembering_2013}, simply restricting \glspl{CFE} to items from the training set cannot help participants that lack an informed mental representation of the current state of this alien world. -For a novice user at the onset of the study, any counterfactual is equally likely. - -% Why is closer better - maybe higher comparative similarity! -We may turn to the definition of psychological plausibility as comparative similarity~\citep{lewis_counterfactuals_1973, stanley_counterfactual_2017} for a possible explanation why users in the \textit{closest} group showed significantly superior performance. -Classically, \glspl{CFE} are penalized if they deviate from the requested prediction~\citep{wachter_counterfactual_2017}, resulting in \textit{closest \glspl{CFE}} that differ minimally from the user's input. -This concept resembles the view that psychologically plausible counterfactuals come from worlds that are minimally different from reality~\citep{lewis_counterfactuals_1973}. -Empirical evidence highlighting the close relation between perceived plausibility and perceived similarity between counterfactual and factual state supports this notion~\citep{stanley_counterfactual_2017, de_brigard_perceived_2021}. -In contrast, the computational plausibility constraint rejects \glspl{CFE} that are not part of the training set, even if they are minimal. -Consequently, users in the \textit{plausible} condition encounter larger differences between provided explanations and their input, at odds with the idea of plausibility as comparative similarity. -Conversely, users in the closest condition might have experienced their \glspl{CFE} as more psychologically plausible than the computationally plausible version. -Further, upon seeing \textit{closest \glspl{CFE}}, users might get a feeling of ``just missing'', inducing negative affect that strongly motivates improvement~\citep{medvec_when_1997, markman_reflection_2003}. -Additionally, the larger discrepancies between factual and counterfactual state in the \textit{plausible} condition might increase the mental load on users, potentially hampering learning. -Future studies need to disentangle contributions of these factors. - -% Refer to Lim, 2009 - they did not find any effects for What-if explanations, -Intriguingly, our results are at odds with empirical findings indicating that \glspl{CFE} for intelligent systems do not improve user's task performance~\citep{lim_why_2009, van_der_waa_evaluating_2021}. -~\citeauthor{lim_why_2009} assessed the effectiveness of different explanation modes for context-aware systems~\citep{lim_why_2009}. -In their study, performance of users receiving counterfactual style \textit{what-if}-explanations was indistinguishable from that of users getting no explanations what-so-ever. -In contrast, users in our study indeed show learning after receiving \glspl{CFE}. -Interestingly, their task resembles ours in so far that they also employed an abstract domain: users chose values of non-specific features (labelled \textit{A}, \textit{B} and \textit{C}), relating to a non-specific prediction (\textit{a} or \textit{b}). -However, while also dealing with an abstract task (\ie, feeding aliens), our users have a tangible goal (\ie, make the pack grow). -Further, we refrain from separating learning and testing as in ~\citeauthor{lim_why_2009}, where users went through an initial evaluation section receiving explanation after explanation. -Our design is far more interactive, with different rounds of user action and feedback. -This is in line with evidence from educational science, suggesting that learner's level of engagement relates to learning outcome, with interactive activities granting deepest understanding~\citep{chi_icap_2014}. -%These vital differences may make our design more effective. -Thus, including goal-directed and interactive settings may potentially be vital facets of effective usability studies. -We suggest that future research designs need to pay special attention to these aspects in order to accurately evaluate \gls{XAI} approaches. - -% We did not find timing differences -Beyond task performance, we quantify learning success in terms of user's decision time and their ability to explicitly state which plants were relevant. % (survey items 1 and 2). -Both measures do not reveal significant group differences. -In terms of user's decision time, both groups show significant speed-up already after Trial 1 (Figure \ref{fig:hyp1}a). -This initial time decrease likely reflects how participants learn to work with the game interface efficiently. -Increased reaction time as a marker of learning is a classical insight from experimental psychology~\citep{logan_shapes_1992}, indicating that both groups did indeed learn in the current setting. -It is possible that the complex task we devised with its elaborate game-like setting was not sensitive enough or too short to pick up in subtle group differences usually linked to more simple, extensive reaction time experiments. - -% We did not find differences in relevance judgments -Users in the closest group show superior performance, however, they are not able to state more explicitly which plants were relevant or irrelevant for the given task. -With this, our study replicates a recent observation that objective measures (\ie, task performance) do not necessarily correlate with self-reports reflecting system understanding~\citep{van_der_waa_evaluating_2021}. -Participants in both groups made three out of five correct choices on average (Figure \ref{fig:hyp1}c), in part significantly exceeding the number expected in case of random behavior. -Thus, both groups showed some--yet imperfect--explicit understanding of the underlying system. -Potentially, users may rely on their initial mental model of the appropriate alien diet, allowing them to make advantageous feeding choices relatively quickly. However, in this initial stage, it may still be insufficient to allow clear and explicit differentiation between relevant and irrelevant features at the end of the study. - -%%%% Hypothesis 2 - Do plausible CFEs increase user's subjective understanding? -Besides effects on task performance, we do not detect any statistically meaningful differences between the two groups under investigation, predominantly affecting the evaluation of user judgments in the survey. -It is clear that these observations have to be taken with the care generally devoted to null effects, calling for cautious interpretation. -Still, regarding the general trends for individual survey items is informative. -We cannot verify our second hypothesis, as users did not differ depending on group in terms of subjective helpfulness and usability. -Still, we note that the majority of users in both groups respond with agreement or strong agreement in the respective items (Figure \ref{fig:survey}a). -This supports the notion that \glspl{CFE} are indeed subjectively intuitive and usable for lay users, also when used in an abstract setting. - -%%%% Hypothesis 3 - Does mode of presentation have an impact? -A major challenge for effective user designs comparing different approaches is keeping conditions highly comparable, with the sole exception of the experimental manipulation. -User judgments of general understandability and presentation mode of \glspl{CFE} inspire confidence that we achieved this level of control with our Alien Zoo design. -In fact, the respective items elicit the highest user judgments out of all survey responses, with agreement values close to 90\%.% (questionnaire items 3, 4 + 10). So this is also control to make sure groups don’t differ in a weird way. -~High agreement across both groups leads us to conclude that mode of \gls{CFE} presentation does not have an impact when comparing users experience \textit{closest} vs. \textit{plausible} \glspl{CFE}, validating our hypothesis 3. -Thus, the Alien Zoo design does not just elucidate benefits of providing \glspl{CFE} compared to no explanation~\citep{IAZ ARXIV}, it is also suitable for user evaluations of \gls{CFE} methods, a yet vastly understudied aspect in the field of \gls{XAI}~\citep{keane_if_2021}. - -%%%% Exploratory Analysis -Finally, the majority of users indicate that they fail to find inconsistencies in the \glspl{CFE} provided. -Thus, we can rule out that our code generated irregular or even contradictory explanations, confounding the observed group differences. - -\subsection{Limitations \& Future Work}\label{subsec:limitations-future-work} - -Several limitations warrant caution when interpreting our results beyond the scope of this work. -%What are limitations? -%% does it generalize? NOT beyond the setting (nocive users with an abstract domain, trying to learn something) -Critical design choices in any \gls{XAI} evaluation include the reason for explaining, and the target group~\cite{adadi_peeking_2018}. -The current results may only be generalized to cases with the same motivation for explaining (\ie, to `explore') as well as the intended audience (\ie, novice users). -Other motives and applications addressing more specific target groups call for independent studies. - -%% sample size: we pre-computed it, but had to throw out a portion - does it still hold up? -We excluded data from 26 out of 100 participants to meet a priori quality criteria. -Such participant attrition common, especially in web-based studies. -As smaller sample sizes always mean a loss of statistical power, we factored in this issue in an a priori power analysis. -Yet, the effect size of the significant interaction between factors \textit{trial number} and \textit{group} remains relatively small. -Hence, the results from this work await confirmation in larger follow-up studies. - -% was our survey suitable? -None of the survey items revealed significant group effects, in line with a previous account of diverging trends between objective measures and self-reports~\citep{van_der_waa_evaluating_2021}. -This may reflect a more general tendency in human evaluation of system understanding. -Alternatively, however, we may call into question the efficacy of instruments applied to assess user experience. -To date, there is no standard inventory for assessing subjective usability in \gls{XAI} research. -We adapted the System Causability Scale \cite{holzinger_measuring_2020} to determine subjective usability of presented \glspl{CFE}. -Yet, there is no large scale validation of this measure. -One potential shortcoming may be a lack of sensitivity to subtle group differences. - -%% difficult to durectly translate for real world applications -Moreover, the current scenario in its present condition may be difficult to translate to specific real-world applications. -The lack of realism offers full algorithmic recourse~\citep{karimi_survey_2020}: all changes are feasible (\ie, doable for the participant), and all changes in features are independent (\ie, a user can change plant 1, and this will have no long-time effect on plant 2). -In real life scenarios, this is barely the case (\eg, a bank customer might never be able to get younger to get a loan; yearly income also affects savings). -Thus, our example is much more artificial, and we suggest applying iterative learning designs in more realistic, real-world scenarios as an exciting avenue for future work. - -%% What did ppl do that did not show high levels of learning? -Users in our study play an elaborate online game, with a detailed user interface, and several consecutive scenes. -Designed to be maximally engaging as to ensure participant compliance, the amount of information displayed may overwhelm some participants. -This could explain inferior performance of a small proportion of participants, like those who disagree with the notion that feedback presentation was timely and efficiently. - -% FUTURE WORK -% important ToDo: Comparisons with no-explanations + quatschexplanations -Recent evidence suggests an added benefit of providing users with \glspl{CFE} over no explanations to understand the behavior of an unknown system~\citep{van_der_waa_evaluating_2021}. -The current work expands this insight by a direct comparison of two different approaches for \gls{CFE} computation. -While our results suggests the suitability of our Alien Zoo design, further validation studies must delineate potential shortcomings. -For instance, a crucial validation step of the design itself concerns comparisons of valid \glspl{CFE} with no explanations or non-sensical ones. - -Beyond such a fundamental investigation, the Alien Zoo design lends itself to be easily modified. -Possible adaptations may incorporate data with different dynamics, use other \gls{ML} models, or compare other \gls{CFE} approaches. -Thus, the design has tremendous potential to answer open questions in the domain of \gls{XAI}. -For instance, future work may explore the impact of distinct psychometric properties on performance. -A small-scale user study -%based on data from 38 participants -suggests an effect of individual personality traits on user's ability to make sense of an \gls{ML} system's output, and understanding the generation process, respectively~\citep{gleaves_role_2020}. -It remains to be shown how personal attributes relate to usability judgments of \glspl{CFE}. - -Further, it is conceivable that users may prefer to receive explanations on demand, rather than continuously at prescribed intervals. -There is abundant room for further progress in determining whether explicitly requesting \glspl{CFE} may improve task performance, and how users would make use of their control over the explanation intervals. - -Finally, we successfully demonstrate usefulness of \glspl{CFE} for the current task, indicating a certain degree of intuitiveness or plausibility connected to them. -Future investigations may tackle whether \glspl{CFE} cause users to fall prey to a plausibility fallacy, coming to trust biased or unfair ML models just because they are coupled with intuitive explanations. - -\subsection{Conclusions}\label{subsec:conclusion} -In this work, we present a controlled study comparing user performance and usability judgments of \glspl{CFE} in an iterative learning design. -We focus on potential group effects driven by receiving either \textit{closest \glspl{CFE}} that are minimally different from the user's input, compared to \textit{computationally plausible} ones, limited to instances found in the training data. -We develop an accessible game-like experimental design revolving around an abstract scenario, suitable for novice users. -Our design demonstrates learning in both groups, highlighting the power of interactive and goal-directed tasks for user evaluations of \gls{CFE} methods, a yet vastly understudied aspect in the field of \gls{XAI}. -Moreover, our findings suggest that novice users benefit more from receiving \textit{closest} than \textit{computationally plausible \glspl{CFE}}. -This supports the view of plausibility as comparative similarity rather than probability in cases where users lack an accurate mental model to build on. -In sum, our work emphasizes yet again that theoretical approaches proposing explanation techniques for \gls{ML} models and user-based validations thereof need to go hand in hand. -Researchers designing \gls{XAI} approaches need to bear in mind human behavior, preferences and mental models, to build on a solid foundation to effectively benefit the end user. \ No newline at end of file diff --git a/Publications/PAZ_FAccT/macros.tex b/Publications/PAZ_FAccT/macros.tex deleted file mode 100644 index 15ad684..0000000 --- a/Publications/PAZ_FAccT/macros.tex +++ /dev/null @@ -1,175 +0,0 @@ -\newcommand*{\eg}{e.g.\@\xspace} -\newcommand*{\ie}{i.e.\@\xspace} -%\newcommand*{\cf}{cf.\@\xspace} -%\newcommand*{\etal}{et~al.\@\xspace} -%\newcommand*{\iid}{i.\,i.\,d.\@\xspace} -%\newcommand*{\wrt}{w.\,r.\,t.\@\xspace} -%\newcommand*{\vs}{vs.\@\xspace} -%\newcommand*{\R}{\mathbb{R}} -%\newcommand*{\Q}{\mathbb{Q}} -%\newcommand*{\Z}{\mathbb{Z}} -%\newcommand*{\N}{\mathbb{N}} -%\newcommand*{\1}{\mathbbm{1}} -%\DeclarePairedDelimiterX{\norm}[1]{\lVert}{\rVert}{#1} -%\DeclareMathOperator{\st}{such that} -%\DeclareMathOperator{\argmax}{argmax} -%\DeclareMathOperator{\sgn}{sgn} -% -%\newcommand*{\X}{\mathcal{X}} % feature space -%\newcommand*{\Y}{\mathcal{Y}} % label space -%\renewcommand{\P}{P} % probability distribution -%\newcommand*{\dis}{d} % distance function -%\newcommand*{\rob}[2]{R_{#1}^{#2}} -%\newcommand*{\rr}{\mathcal{R}} -%\newcommand*{\ddim}{m} -%\newcommand*{\pc}{C} -% -%\newcommand*{\nnwith}{\texttt{NN-with}\@\xspace} -%\newcommand*{\nnwithout}{\texttt{NN-without}\@\xspace} -%\newcommand*{\dtwith}{\texttt{DT-with}\@\xspace} -%\newcommand*{\dtwithout}{\texttt{DT-without}\@\xspace} -% -%\newcommand*{\p}{p} -% -%\newcommand*{\worldmapwidth}{3.5cm} - - -\newcommand{\refdef}[1]{Definition~\ref{#1}} -\newcommand{\reflemma}[1]{Lemma~\ref{#1}} -\newcommand{\refcorollary}[1]{Corollary~\ref{#1}} -\newcommand{\reftheorem}[1]{Theorem~\ref{#1}} -\newcommand{\refeq}[1]{Eq.~\eqref{#1}} -\newcommand{\reffig}[1]{Fig.~\ref{#1}} - - -\newcommand{\mat}[1]{\mathbf{#1}} -\newcommand{\set}[1]{\mathcal{#1}} -\newcommand{\pnorm}[1]{\lVert{#1}\rVert} -\newcommand{\hessian}[2]{\boldsymbol{\nabla_{{#1}}^2 #2}} - -\DeclareMathOperator*{\loss}{{\ell}} -\DeclareMathOperator*{\dist}{{d}} -\DeclareMathOperator*{\mad}{{MAD}} -\DeclareMathOperator*{\median}{{median}} -\DeclareMathOperator*{\trace}{{trace}} - -\DeclareMathOperator*{\sgd}{sgd} -\DeclareMathOperator*{\likelihood}{{L}} -\DeclareMathOperator*{\loglikelihood}{{LL}} -\DeclareMathOperator*{\negloglikelihood}{{NLL}} - -\DeclareMathOperator*{\TP}{TP} -\DeclareMathOperator*{\TN}{TN} -\DeclareMathOperator*{\FP}{FP} -\DeclareMathOperator*{\FN}{FN} -\DeclareMathOperator*{\NEG}{N} -\DeclareMathOperator*{\POS}{P} -\DeclareMathOperator*{\TPR}{TPR} -\DeclareMathOperator*{\FPR}{FPR} -\DeclareMathOperator*{\TNR}{TNR} -\DeclareMathOperator*{\F1}{F1} -\DeclareMathOperator*{\Precision}{Precision} -\DeclareMathOperator*{\Recall}{Recall} -\DeclareMathOperator*{\Ber}{Ber} -\DeclareMathOperator*{\Bin}{Bin} -\DeclareMathOperator*{\Beta}{Beta} -\DeclareMathOperator*{\Lap}{Lap} -\DeclareMathOperator*{\SSE}{SSE} -\DeclareMathOperator*{\WSSE}{WSSE} -\DeclareMathOperator*{\TSS}{TSS} -\DeclareMathOperator*{\ESS}{ESS} -\DeclareMathOperator*{\MSE}{MSE} -\DeclareMathOperator*{\RMSE}{RMSE} -\DeclareMathOperator*{\RMSLE}{RMSLE} -\DeclareMathOperator*{\Var}{Var} -\DeclareMathOperator*{\R}{{R}} -\DeclareMathOperator*{\rank}{{rank}} -\DeclareMathOperator*{\SetSymMat}{\mathcal{S}} -\DeclareMathOperator*{\Entropy}{{H}} -\DeclareMathOperator*{\MutalInfo}{I} -\DeclareMathOperator*{\Gini}{Gini} -\DeclareMathOperator*{\KLDivergence}{{D_{KL}}} -\DeclareMathOperator*{\argmin}{\arg\min} -\DeclareMathOperator*{\argmax}{\arg\max} -\DeclareMathOperator*{\diag}{diag} -\DeclareMathOperator*{\sign}{sign} -\DeclareMathOperator*{\Cov}{Cov} -\DeclareMathOperator*{\Corr}{Corr} -\DeclareMathOperator*{\fimg}{Img} -\DeclareMathOperator*{\coD}{co\set{D}} -\newcommand{\N}{\ensuremath{\mathcal{N}}} % normal distribution -%\newcommand{\U}{\ensuremath{\mathcal{U}}} % uniform distribution -\newcommand{\PMF}{\ensuremath{\mathcal{P}}} % probability mass function -\newcommand{\Rsq}{\ensuremath{{\R}^2}} %R^2 -\newcommand{\I}{\mat{\mathbb{I}}} -\newcommand{\E}{\mathbb{E}} -\newcommand{\RN}{\mathbb{R}} -\newcommand{\NN}{\mathbb{N}} -\newcommand{\Lagrange}{\mathcal{L}} -\newcommand{\Indicator}{\mathds{1}} %identity -\newcommand{\lTwo}{l_2} -\newcommand{\lOne}{l_1} - -\DeclareMathOperator*{\densitythreshold}{\ensuremath{\delta}} -\newcommand{\density}{\ensuremath{p}} -\newcommand{\densityestimator}{\ensuremath{\hat{p}}} -\newcommand{\densityestimatorkde}{\densityestimator_{\text{KDE}}} -\newcommand{\densityestimatorgmm}{\densityestimator_{\text{GMM}}} -\newcommand{\generatingprocess}{\ensuremath{\Psi}} -\DeclareMathOperator*{\regularization}{\ensuremath{{\theta}}} -\newcommand{\x}{\ensuremath{\vec{x}}} -\newcommand{\X}{\ensuremath{\vec{X}}} -\newcommand{\z}{\ensuremath{\vec{z}}} -\newcommand{\y}{\ensuremath{y}} -\newcommand{\xPrime}{\x'} -\newcommand{\yPrime}{\y'} -\newcommand{\xorig}{\ensuremath{\vec{x}_{\text{orig}}}} -\newcommand{\yorig}{\ensuremath{y_{\text{orig}}}} -\newcommand{\setX}{\ensuremath{\set{X}}} -\newcommand{\setY}{\ensuremath{\set{Y}}} -\newcommand{\setD}{\ensuremath{\set{D}}} -\newcommand{\setB}{\ensuremath{\set{B}}} -\newcommand{\classifierSet}{\set{H}} -\newcommand{\xcf}{\ensuremath{{\vec{x}_{\text{cf}}}}} -\newcommand{\xpp}{\ensuremath{\vec{x}_{\text{pp}}}} -\newcommand{\xcfNew}{{\xcf}{_{*}}} -\newcommand{\xcfPrime}{\xcf'} -\newcommand{\xppPrime}{\xpp'} -%\newcommand{\xcfNew}{\ensuremath{\vec{x}''}} -\newcommand{\CF}[2]{\ensuremath{\text{CF}(#1,#2)}} -\newcommand{\ycf}{\ensuremath{y'}} -\newcommand{\deltacf}{\ensuremath{\vec{\delta}}} -\newcommand{\basisvalues}{\ensuremath{\vec{b}}} -\newcommand{\w}{\ensuremath{\vec{w}}} -\newcommand{\wNew}{\ensuremath{\w_{*}}} -\newcommand{\q}{\ensuremath{\vec{q}}} -\newcommand{\setI}{\set{I}} -\newcommand{\dimsym}{d} -\newcommand{\latentspacedim}{m} -\newcommand{\classifier}{\ensuremath{h}} -\newcommand{\classifiercf}{\ensuremath{h_\text{cf}}} -\newcommand{\classifierPrime}{\ensuremath{h'}} -\newcommand{\regression}{\ensuremath{f}} -\newcommand{\protolabel}{\ensuremath{o}} -\DeclareMathOperator*{\prototype}{{p}} -\DeclareMathOperator*{\distmat}{{\mat{\Omega}}} -\DeclareMathOperator*{\distmatcf}{{\mat{\Omega}'}} -\DeclareMathOperator*{\distmatfactor}{{\mat{\tilde{\Omega}}}} -\DeclareMathOperator*{\prototypedist}{\dist} -\newcommand{\distclassifier}{\ensuremath{\text{d}_{\classifier}}} -\newcommand{\distclassifierPrime}{\ensuremath{\text{d}_{\classifierPrime}}} -\newcommand{\mask}{\ensuremath{\vec{m}}} -\newcommand{\prob}{\ensuremath{\mathbb{P}}} -\newcommand{\CovMat}{\ensuremath{\mat{\Sigma}}} -\newcommand{\CovMatEmp}{\ensuremath{\mat{\Sigma}_{\text{emp}}}} -\newcommand{\CorrMat}{\ensuremath{\mat{\tilde{\Sigma}}}} -\newcommand{\actionfunc}{\ensuremath{f}} -\newcommand{\ProtoMat}{\ensuremath{\mat{P}}} -\newcommand{\ProtoBase}{\ensuremath{\vec{b}}} -\newcommand{\encodingfunc}{\ensuremath{z}} -\newcommand{\covx}{\ensuremath{\text{covx}}} -\newcommand{\CfDiff}{\ensuremath{\Psi}} -\newcommand{\cfDiff}{\ensuremath{\psi}} -\newcommand{\PerturbationDensity}{\ensuremath{p_{\epsilon}}} - -\newcommand{\publication}[3]{{#1}&\textit{{#2}}\\&{\footnotesize {#3}}} \ No newline at end of file diff --git a/Publications/PAZ_FAccT/main-FAccT.tex b/Publications/PAZ_FAccT/main-FAccT.tex deleted file mode 100644 index 6801c0b..0000000 --- a/Publications/PAZ_FAccT/main-FAccT.tex +++ /dev/null @@ -1,104 +0,0 @@ -\documentclass[format=manuscript,anonymous=false]{acmart} - -% Technicalities and Typesetting -\usepackage{xspace} - -% Define ACM conference (throws error otherwise!) -\acmConference[ACM FAccT 2022]{ACM Conference on Fairness, Accountability, and Transparency}{June 21--24, 2022}{Seoul, South Korea} - -% Title -\title[Keep Your Counterfactuals Closer]{Keep Your Friends Close and Your Counterfactuals Closer: Improved Learning From Closest Rather Than Plausible Counterfactual Explanations in an Abstract Setting} -%\subtitle{Subtitle} - -%% References -\citestyle{acmnumeric} - -% Acronyms -\usepackage{glossaries} -\setacronymstyle{long-short} -% include acronyms -\input{acronyms_gls.tex} - -% Miscellaneous Macros -\input{macros.tex} - -% -%% Title & Authors -% author stuff -\author{Ulrike Kuhl} -\orcid{0000-0002-9405-918X} -\affiliation{% - \institution{Bielefeld University} - \department{HammerLab for Machine Learning} - \streetaddress{CITEC-Building, Inspiration 1} - \postcode{33619} - \city{Bielefeld} - \country{Germany}} -\email{ukuhl@techfak.uni-bielefeld.de} - -\author{Andr\'e Artelt} -\orcid{0000-0002-2426-3126} -\affiliation{% - \institution{Bielefeld University} - \department{HammerLab for Machine Learning} - \streetaddress{CITEC-Building, Inspiration 1} - \postcode{33619} - \city{Bielefeld} - \country{Germany}} -\email{aartelt@techfak.uni-bielefeld.de} - -\author{Barbara Hammer} -\orcid{0000-0002-0935-5591} -\affiliation{% - \institution{Bielefeld University} - \department{HammerLab for Machine Learning} - \streetaddress{CITEC-Building, Inspiration 1} - \postcode{33619} - \city{Bielefeld} - \country{Germany}} -\email{bhammer@techfak.uni-bielefeld.de} - -\keywords{XAI, Counterfactual Explanations, Quantitative User Study, Algorithm Evaluation, Human Factors} - -% licensing information - -\copyrightyear{2022} -\acmYear{2022} -\setcopyright{acmlicensed}\acmConference[FAccT '22]{2022 ACM Conference on Fairness, Accountability, and Transparency}{June 21--24, 2022}{Seoul, Republic of Korea} -\acmBooktitle{2022 ACM Conference on Fairness, Accountability, and Transparency (FAccT '22), June 21--24, 2022, Seoul, Republic of Korea} -\acmPrice{15.00} -\acmDOI{10.1145/3531146.3534630} -\acmISBN{978-1-4503-9352-2/22/06} - -\begin{document} - -% in the ACM world, use abstract environment BEFORE the maketitle command! -\begin{abstract} -\input{abstract.tex} -\end{abstract} - -\maketitle - -% reset all acronyms -\glsresetall - -\input{content.tex} - -% Acknowledgements: -\begin{acks} -The authors would like to thank Johannes Kummert for support with server set up and maintenance. - -\textbf{Funding/Support:} This research was supported by the \grantsponsor{BMBF}{Federal Ministry of Education and Research Germany (BMBF)}~~and the \grantsponsor{DLR}{Project Management Agency of the German Aerospace Centre (DLR)}~~through grant agreement no.:~\grantnum{ITS.ML_no}{01IS18041 A} (project ITS.ML), and the \grantsponsor{VW-Foundation}{VW-Foundation}~~(project IMPACT). - -\end{acks} - -%%%% -% References -%%%% -%\AtNextBibliography{\raggedright\small} -%\printbibliography - -\bibliographystyle{ACM-Reference-Format} -\bibliography{AlienZooPAZ_paper} - -\end{document} diff --git a/Publications/PAZ_FAccT/media/FigureGameInterface.pdf b/Publications/PAZ_FAccT/media/FigureGameInterface.pdf deleted file mode 100644 index 4ecbc83..0000000 Binary files a/Publications/PAZ_FAccT/media/FigureGameInterface.pdf and /dev/null differ diff --git a/Publications/PAZ_FAccT/media/FigureStudyStructure.pdf b/Publications/PAZ_FAccT/media/FigureStudyStructure.pdf deleted file mode 100644 index 3fc0677..0000000 Binary files a/Publications/PAZ_FAccT/media/FigureStudyStructure.pdf and /dev/null differ diff --git a/Publications/PAZ_FAccT/media/H1_p_ShubsPerTrial_RTPertrial_PAZ_FINAL.pdf b/Publications/PAZ_FAccT/media/H1_p_ShubsPerTrial_RTPertrial_PAZ_FINAL.pdf deleted file mode 100644 index 412007b..0000000 Binary files a/Publications/PAZ_FAccT/media/H1_p_ShubsPerTrial_RTPertrial_PAZ_FINAL.pdf and /dev/null differ diff --git a/Publications/PAZ_FAccT/media/H2_H3_expl_survey_T_PAZ_FINAL.pdf b/Publications/PAZ_FAccT/media/H2_H3_expl_survey_T_PAZ_FINAL.pdf deleted file mode 100644 index 7611f53..0000000 Binary files a/Publications/PAZ_FAccT/media/H2_H3_expl_survey_T_PAZ_FINAL.pdf and /dev/null differ diff --git a/Publications/citation.bib b/Publications/citation.bib deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md index 0312b4e..63966eb 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # README This repository provides code, data, and analysis scripts for the Alien Zoo framework as used in the study: -["Keep Your Friends Close and Your Counterfactuals Closer: Improved Learning From Closest Rather Than Plausible Counterfactual Explanations in an Abstract Setting"](Publication/XXX.pdf) +["Keep Your Friends Close and Your Counterfactuals Closer: Improved Learning From Closest Rather Than Plausible Counterfactual Explanations in an Abstract Setting"](Publication/PAZ_arXiv_ukuhl) Detailed motivation and rationale are explained in the paper. In short, we provide this framework as a utility to run user studies to perform human level evaluations of counterfactual explanations (CFEs) for machine learning (ML). The presented study investigates whether there is a beneficial effect of adding a plausibility constraint when computing CFEs in the Alien Zoo setting.