@research-copilot/plugin 1.1.16 → 1.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.claude-plugin/plugin.json +1 -1
- package/dist/.codex-plugin/plugin.toml +1 -1
- package/dist/.cursor-plugin/plugin.json +1 -1
- package/dist/.gemini-plugin/plugin.json +1 -1
- package/dist/.opencode-plugin/plugin.json +1 -1
- package/dist/.windsurf-plugin/plugin.json +1 -1
- package/dist/skills/ablation-planner/SKILL.md +126 -0
- package/dist/skills/alphaxiv/SKILL.md +186 -0
- package/dist/skills/analyze-results/SKILL.md +45 -0
- package/dist/skills/arxiv/SKILL.md +210 -0
- package/dist/skills/auto-paper-improvement-loop/SKILL.md +574 -0
- package/dist/skills/auto-review-loop/SKILL.md +370 -0
- package/dist/skills/auto-review-loop-llm/SKILL.md +247 -0
- package/dist/skills/auto-review-loop-minimax/SKILL.md +290 -0
- package/dist/skills/benchmark-paper-template/SKILL.md +142 -0
- package/dist/skills/benchmark-paper-template/references/benchmark-design.md +180 -0
- package/dist/skills/benchmark-paper-template/references/checklist.md +113 -0
- package/dist/skills/benchmark-paper-template/references/construction-pipeline.md +127 -0
- package/dist/skills/benchmark-paper-template/references/experiments.md +159 -0
- package/dist/skills/benchmark-paper-template/references/gap-analysis.md +86 -0
- package/dist/skills/benchmark-paper-template/references/instantiation-template.md +194 -0
- package/dist/skills/benchmark-paper-template/references/orchestrator-notes.md +96 -0
- package/dist/skills/benchmark-paper-template/references/paper-structure.md +209 -0
- package/dist/skills/citation-audit/SKILL.md +494 -0
- package/dist/skills/claims-drafting/SKILL.md +239 -0
- package/dist/skills/comm-lit-review/SKILL.md +299 -0
- package/dist/skills/comm-lit-review/references/domain-taxonomy.md +57 -0
- package/dist/skills/comm-lit-review/references/output-template.md +37 -0
- package/dist/skills/comm-lit-review/references/source-policy.md +99 -0
- package/dist/skills/comm-lit-review/references/venue-tiering.md +112 -0
- package/dist/skills/composer/SKILL.md +840 -0
- package/dist/skills/composer/references/section_guides.md +675 -0
- package/dist/skills/composer/references/writing_standards.md +629 -0
- package/dist/skills/composer/scripts/chapter_quality_check.py +470 -0
- package/dist/skills/composer/scripts/final_evaluation.py +550 -0
- package/dist/skills/deepxiv/SKILL.md +142 -0
- package/dist/skills/dse-loop/SKILL.md +277 -0
- package/dist/skills/embodiment-description/SKILL.md +129 -0
- package/dist/skills/exa-search/SKILL.md +192 -0
- package/dist/skills/experiment-audit/SKILL.md +262 -0
- package/dist/skills/experiment-bridge/SKILL.md +316 -0
- package/dist/skills/experiment-plan/SKILL.md +249 -0
- package/dist/skills/experiment-queue/SKILL.md +380 -0
- package/dist/skills/experiment-queue/scripts/build_manifest.py +142 -0
- package/dist/skills/experiment-queue/scripts/queue_manager.py +426 -0
- package/dist/skills/feishu-notify/SKILL.md +155 -0
- package/dist/skills/figure-description/SKILL.md +138 -0
- package/dist/skills/figure-designer/SKILL.md +207 -0
- package/dist/skills/figure-designer/references/design-rules.md +99 -0
- package/dist/skills/figure-designer/references/experimental-results.md +127 -0
- package/dist/skills/figure-designer/references/motivated-example.md +138 -0
- package/dist/skills/figure-designer/references/solution-overview.md +145 -0
- package/dist/skills/figure-designer/references/tools.md +124 -0
- package/dist/skills/figure-spec/SKILL.md +252 -0
- package/dist/skills/figure-spec/scripts/figure_renderer.py +799 -0
- package/dist/skills/formula-derivation/SKILL.md +280 -0
- package/dist/skills/gemini-search/SKILL.md +205 -0
- package/dist/skills/grant-proposal/SKILL.md +625 -0
- package/dist/skills/humanizer/AGENTS.md +25 -0
- package/dist/skills/humanizer/SKILL.md +621 -0
- package/dist/skills/idea-creator/SKILL.md +311 -0
- package/dist/skills/idea-discovery/SKILL.md +340 -0
- package/dist/skills/idea-discovery-robot/SKILL.md +362 -0
- package/dist/skills/idea-evaluator/SKILL.md +265 -0
- package/dist/skills/idea-evaluator/references/fatal-flaws.md +192 -0
- package/dist/skills/idea-evaluator/references/five-dimensions.md +251 -0
- package/dist/skills/idea-evaluator/references/lifecycle-capability-matching.md +177 -0
- package/dist/skills/idea-evaluator/references/paradigm-elephant.md +112 -0
- package/dist/skills/idea-evaluator/references/paradigm-examples.md +107 -0
- package/dist/skills/idea-evaluator/references/paradigm-first-principles.md +115 -0
- package/dist/skills/idea-evaluator/references/paradigm-hamming.md +137 -0
- package/dist/skills/idea-evaluator/references/paradigm-shift-probe.md +160 -0
- package/dist/skills/idea-evaluator/references/paradigm-technology-cycle.md +116 -0
- package/dist/skills/idea-evaluator/references/worked-examples.md +206 -0
- package/dist/skills/interview-cheatsheet/SKILL.md +245 -0
- package/dist/skills/intro-drafter/SKILL.md +250 -0
- package/dist/skills/intro-drafter/references/contribution-patterns.md +116 -0
- package/dist/skills/intro-drafter/references/flowchart.md +204 -0
- package/dist/skills/intro-drafter/references/paper-types.md +155 -0
- package/dist/skills/intro-drafter/references/running-example.md +133 -0
- package/dist/skills/intro-drafter/references/worked-examples.md +161 -0
- package/dist/skills/invention-structuring/SKILL.md +188 -0
- package/dist/skills/jurisdiction-format/SKILL.md +192 -0
- package/dist/skills/kill-argument/SKILL.md +384 -0
- package/dist/skills/llm-wiki/.mise.toml +2 -0
- package/dist/skills/llm-wiki/.nvmrc +1 -0
- package/dist/skills/llm-wiki/AGENTS.md +132 -0
- package/dist/skills/llm-wiki/CHANGELOG.md +459 -0
- package/dist/skills/llm-wiki/CLAUDE.md +109 -0
- package/dist/skills/llm-wiki/HERMES.md +44 -0
- package/dist/skills/llm-wiki/SKILL.md +1133 -0
- package/dist/skills/llm-wiki/assets/graph-demo.gif +0 -0
- package/dist/skills/llm-wiki/assets/graph-preview.png +0 -0
- package/dist/skills/llm-wiki/deps/LICENSE-d3.txt +13 -0
- package/dist/skills/llm-wiki/deps/LICENSE-marked.txt +44 -0
- package/dist/skills/llm-wiki/deps/LICENSE-purify.txt +568 -0
- package/{LICENSE → dist/skills/llm-wiki/deps/LICENSE-roughjs.txt} +1 -1
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/SKILL.md +261 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/references/config/first-time-setup.md +106 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/cdp.ts +179 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/constants.ts +13 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/defuddle-converter.ts +58 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/html-to-markdown.ts +135 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/legacy-converter.ts +629 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/main.ts +314 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/markdown-conversion-shared.ts +305 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/media-localizer.ts +317 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/package.json +14 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/paths.ts +29 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/package.json +9 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.test.ts +307 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.ts +523 -0
- package/dist/skills/llm-wiki/deps/d3.min.js +2 -0
- package/dist/skills/llm-wiki/deps/marked.min.js +6 -0
- package/dist/skills/llm-wiki/deps/purify.min.js +3 -0
- package/dist/skills/llm-wiki/deps/rough.min.js +7 -0
- package/dist/skills/llm-wiki/deps/youtube-transcript/SKILL.md +47 -0
- package/dist/skills/llm-wiki/deps/youtube-transcript/scripts/get_transcript.py +72 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/DESIGN.md +183 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/design-brief.md +170 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/oriental-editorial-atlas.html +1908 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/reviews/result-review.md +68 -0
- package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-phased-plan.md +655 -0
- package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-progress.json +913 -0
- package/dist/skills/llm-wiki/docs/spark/2026-06-15-omp-tool-status-events-design.md +174 -0
- package/dist/skills/llm-wiki/install.ps1 +87 -0
- package/dist/skills/llm-wiki/install.sh +722 -0
- package/dist/skills/llm-wiki/package-lock.json +10309 -0
- package/dist/skills/llm-wiki/package.json +24 -0
- package/dist/skills/llm-wiki/packages/graph-engine/package.json +33 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/anim/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/anim/index.ts +179 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/diff.ts +121 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/graph-node.ts +37 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/index.ts +140 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/atlas.ts +18 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/index.ts +6 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/labels.ts +11 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/learning.ts +8 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/legacy-helpers.ts +1373 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/queue.ts +7 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/storage.ts +4 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/visibility.ts +9 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/index.ts +59 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/legend.ts +25 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/model.ts +593 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/preview.ts +65 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/search.ts +48 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/static-renderer.ts +2783 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/toolbar.ts +40 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/viewport.ts +272 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/select/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/select/index.ts +189 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/sim/index.ts +298 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/sim/pins.ts +96 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/index.ts +8 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/tokens.ts +107 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/types.ts +313 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/anim.test.ts +100 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/diff.test.ts +133 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/helpers.test.ts +275 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/learning.test.ts +259 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/preview.test.ts +56 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/queue.test.ts +114 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/render-model.test.ts +322 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/runtime-state.test.ts +281 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/search-and-legend.test.ts +111 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/select.test.ts +168 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/sim.test.ts +123 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/themes.test.ts +62 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/toolbar.test.ts +64 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/viewport.test.ts +167 -0
- package/dist/skills/llm-wiki/packages/graph-engine/tsconfig.json +17 -0
- package/dist/skills/llm-wiki/packages/graph-engine/vite.config.ts +15 -0
- package/dist/skills/llm-wiki/platforms/claude/CLAUDE.md +37 -0
- package/dist/skills/llm-wiki/platforms/claude/companions/llm-wiki-upgrade/SKILL.md +95 -0
- package/dist/skills/llm-wiki/platforms/codex/AGENTS.md +23 -0
- package/dist/skills/llm-wiki/scripts/adapter-state.sh +424 -0
- package/dist/skills/llm-wiki/scripts/build-graph-data.sh +395 -0
- package/dist/skills/llm-wiki/scripts/build-graph-html.sh +453 -0
- package/dist/skills/llm-wiki/scripts/cache.sh +352 -0
- package/dist/skills/llm-wiki/scripts/create-source-page.sh +100 -0
- package/dist/skills/llm-wiki/scripts/delete-helper.sh +68 -0
- package/dist/skills/llm-wiki/scripts/graph-analysis.js +732 -0
- package/dist/skills/llm-wiki/scripts/hook-session-start.sh +46 -0
- package/dist/skills/llm-wiki/scripts/init-wiki.sh +95 -0
- package/dist/skills/llm-wiki/scripts/lib/source-signal-eligibility.js +158 -0
- package/dist/skills/llm-wiki/scripts/lint-fix.sh +114 -0
- package/dist/skills/llm-wiki/scripts/lint-runner.sh +217 -0
- package/dist/skills/llm-wiki/scripts/runtime-context.sh +77 -0
- package/dist/skills/llm-wiki/scripts/shared-config.sh +83 -0
- package/dist/skills/llm-wiki/scripts/source-record-contract.tsv +10 -0
- package/dist/skills/llm-wiki/scripts/source-registry.sh +349 -0
- package/dist/skills/llm-wiki/scripts/source-registry.tsv +10 -0
- package/dist/skills/llm-wiki/scripts/source-signal-coverage.js +83 -0
- package/dist/skills/llm-wiki/scripts/validate-step1.sh +144 -0
- package/dist/skills/llm-wiki/scripts/wiki-compat.sh +267 -0
- package/dist/skills/llm-wiki/setup.sh +8 -0
- package/dist/skills/llm-wiki/templates/entity-template.md +30 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/footer.html +27 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash-helpers.js +1326 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash.js +1009 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/header.html +2002 -0
- package/dist/skills/llm-wiki/templates/index-en-template.md +51 -0
- package/dist/skills/llm-wiki/templates/index-template.md +51 -0
- package/dist/skills/llm-wiki/templates/log-en-template.md +11 -0
- package/dist/skills/llm-wiki/templates/log-template.md +11 -0
- package/dist/skills/llm-wiki/templates/overview-en-template.md +41 -0
- package/dist/skills/llm-wiki/templates/overview-template.md +41 -0
- package/dist/skills/llm-wiki/templates/purpose-en-template.md +16 -0
- package/dist/skills/llm-wiki/templates/purpose-template.md +16 -0
- package/dist/skills/llm-wiki/templates/query-template.md +19 -0
- package/dist/skills/llm-wiki/templates/schema-template.md +185 -0
- package/dist/skills/llm-wiki/templates/source-template.md +51 -0
- package/dist/skills/llm-wiki/templates/synthesis-template.md +25 -0
- package/dist/skills/llm-wiki/templates/topic-template.md +35 -0
- package/dist/skills/llm-wiki/tests/adapter-state.sh +338 -0
- package/dist/skills/llm-wiki/tests/browser/graph-density-preview.mjs +53 -0
- package/dist/skills/llm-wiki/tests/browser/graph-html-insights.mjs +41 -0
- package/dist/skills/llm-wiki/tests/browser/graph-node-slim.mjs +71 -0
- package/dist/skills/llm-wiki/tests/browser/graph-stage-4-5.mjs +717 -0
- package/dist/skills/llm-wiki/tests/expected/graph-data-empty.json +60 -0
- package/dist/skills/llm-wiki/tests/expected/graph-data-sample.json +396 -0
- package/dist/skills/llm-wiki/tests/expected/graph-interactive-basic.html +1736 -0
- package/dist/skills/llm-wiki/tests/expected/lint-output.txt +44 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/index.md +1 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Alpha.md +10 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Beta.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Delta.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Gamma.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/queries/20260422-abc.md +10 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/synthesis/Crystal.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/topics/Overview.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-empty-wiki/wiki/entities/.gitkeep +0 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/purpose.md +3 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Attention.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Decoder.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Encoder.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/GPT.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Transformer.md +13 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/sources/paper.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/arch.md +12 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/finetune.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-basic/wiki/graph-data.json +40 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-dense/wiki/graph-data.json +3965 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-multicomm/wiki/graph-data.json +212 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/index.md +14 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/C++.md +6 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Lonely.md +4 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Other.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Real.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-01-01-test-source.md +15 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-02-01-inline-img.md +12 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/topics/AIbasic.md +3 -0
- package/dist/skills/llm-wiki/tests/graph-analysis-helper.regression-1.sh +237 -0
- package/dist/skills/llm-wiki/tests/graph-browser-stage-4-5.regression-1.sh +157 -0
- package/dist/skills/llm-wiki/tests/graph-build-failures.regression-1.sh +91 -0
- package/dist/skills/llm-wiki/tests/graph-data-confidence-merge.regression-1.sh +309 -0
- package/dist/skills/llm-wiki/tests/graph-data-source-paths.regression-1.sh +49 -0
- package/dist/skills/llm-wiki/tests/graph-html-a11y.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-brand-link.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-density.regression-1.sh +228 -0
- package/dist/skills/llm-wiki/tests/graph-html-drawer-neighbors.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-insights.regression-1.sh +80 -0
- package/dist/skills/llm-wiki/tests/graph-html-long-label.regression-1.sh +92 -0
- package/dist/skills/llm-wiki/tests/graph-html-minimap.regression-1.sh +51 -0
- package/dist/skills/llm-wiki/tests/graph-html-mobile.regression-1.sh +48 -0
- package/dist/skills/llm-wiki/tests/graph-html-oriental-atlas-contract.regression-1.sh +94 -0
- package/dist/skills/llm-wiki/tests/graph-html-oriental-design-contract.regression-1.sh +82 -0
- package/dist/skills/llm-wiki/tests/graph-html-search.regression-1.sh +52 -0
- package/dist/skills/llm-wiki/tests/graph-html-styles.regression-1.sh +66 -0
- package/dist/skills/llm-wiki/tests/graph-html-toolbar.regression-1.sh +62 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-bootstrap.test.js +110 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-helpers.test.js +296 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-learning.test.js +260 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-queue.test.js +115 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-runtime-state.test.js +282 -0
- package/dist/skills/llm-wiki/tests/js/source-signal-coverage.test.js +48 -0
- package/dist/skills/llm-wiki/tests/js/source-signal-eligibility.test.js +202 -0
- package/dist/skills/llm-wiki/tests/lib/graph-html-engine-helpers.sh +110 -0
- package/dist/skills/llm-wiki/tests/lint-output.regression-1.sh +32 -0
- package/dist/skills/llm-wiki/tests/regression.sh +1754 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/.gitkeep +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/SKILL.md +590 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/__init__.py +1 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/accept_changes.py +135 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/comment.py +318 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/comments.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/people.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/SKILL.md +314 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/forms.md +294 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/reference.md +612 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_bounding_boxes.py +65 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_fillable_fields.py +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/create_validation_image.py +37 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_field_info.py +122 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_structure.py +115 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_fillable_fields.py +98 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/SKILL.md +232 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/editing.md +205 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/pptxgenjs.md +420 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/add_slide.py +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/clean.py +286 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/thumbnail.py +289 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/SKILL.md +292 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/recalc.py +184 -0
- package/dist/skills/llm-wiki/workbench/AGENTS.md +110 -0
- package/dist/skills/llm-wiki/workbench/CLAUDE.md +54 -0
- package/dist/skills/llm-wiki/workbench/PRODUCT.md +1268 -0
- package/dist/skills/llm-wiki/workbench/docs/current-kb-retrieval-design.md +587 -0
- package/dist/skills/llm-wiki/workbench/docs/graph-evolution-1-design.md +210 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-2-design.md +1139 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-3-design.md +1269 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-3.5-design.md +1164 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-4-design.md +504 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-4.5-design.md +195 -0
- package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-resizable-preview-layout-design.md +165 -0
- package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-settings-panel-scroll-fix.md +50 -0
- package/dist/skills/llm-wiki/workbench/server/package.json +29 -0
- package/dist/skills/llm-wiki/workbench/server/src/agent.ts +457 -0
- package/dist/skills/llm-wiki/workbench/server/src/artifacts.ts +248 -0
- package/dist/skills/llm-wiki/workbench/server/src/auth.ts +164 -0
- package/dist/skills/llm-wiki/workbench/server/src/config.ts +130 -0
- package/dist/skills/llm-wiki/workbench/server/src/conversations.test.ts +121 -0
- package/dist/skills/llm-wiki/workbench/server/src/conversations.ts +255 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/batch.ts +189 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.test.ts +36 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.ts +31 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/subagent.ts +91 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/artifacts.ts +81 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/knowledge-base.ts +263 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/new-wiki.ts +42 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/synthesis.ts +172 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph-watcher.test.ts +196 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph.test.ts +84 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph.ts +379 -0
- package/dist/skills/llm-wiki/workbench/server/src/index.ts +1148 -0
- package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.test.ts +30 -0
- package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.ts +321 -0
- package/dist/skills/llm-wiki/workbench/server/src/pages.test.ts +16 -0
- package/dist/skills/llm-wiki/workbench/server/src/pages.ts +158 -0
- package/dist/skills/llm-wiki/workbench/server/src/retrieval.test.ts +151 -0
- package/dist/skills/llm-wiki/workbench/server/src/retrieval.ts +427 -0
- package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.test.ts +363 -0
- package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.ts +616 -0
- package/dist/skills/llm-wiki/workbench/server/src/wiki-init.test.ts +19 -0
- package/dist/skills/llm-wiki/workbench/server/src/wiki-init.ts +188 -0
- package/dist/skills/llm-wiki/workbench/server/tsconfig.json +10 -0
- package/dist/skills/llm-wiki/workbench/tsconfig.json +20 -0
- package/dist/skills/llm-wiki/workbench/web/components.json +21 -0
- package/dist/skills/llm-wiki/workbench/web/eslint.config.js +22 -0
- package/dist/skills/llm-wiki/workbench/web/index.html +13 -0
- package/dist/skills/llm-wiki/workbench/web/package.json +48 -0
- package/dist/skills/llm-wiki/workbench/web/src/App.tsx +749 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/AddExternalDialog.tsx +373 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ArtifactView.tsx +15 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/BatchDigestPanel.tsx +106 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ChatPanel.tsx +821 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/CommandMenu.tsx +65 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ExportButtons.tsx +54 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphPanel.tsx +516 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphReader.tsx +48 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphSelection.tsx +100 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/MarkdownView.tsx +56 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/NewWikiDialog.tsx +101 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/RefMenu.tsx +40 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/RightDrawer.tsx +227 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/SettingsPanel.tsx +331 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/Sidebar.tsx +436 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ToolHistorySummary.tsx +123 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ToolStatusRunway.tsx +90 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/renderers/DownloadOnlyRenderer.tsx +88 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/renderers/HtmlRenderer.tsx +92 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/button.tsx +52 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/command.tsx +50 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/dialog.tsx +156 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/input.tsx +21 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/tooltip.tsx +57 -0
- package/dist/skills/llm-wiki/workbench/web/src/index.css +1737 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/api.ts +648 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/drawer-state.ts +79 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-reader.ts +25 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection-drawer.ts +35 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection.ts +96 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/legacy-tool-status.ts +113 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/sse.ts +72 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-format.ts +170 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-model.ts +392 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/utils.ts +10 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/wiki-links.ts +32 -0
- package/dist/skills/llm-wiki/workbench/web/src/main.tsx +10 -0
- package/dist/skills/llm-wiki/workbench/web/test/api.test.ts +61 -0
- package/dist/skills/llm-wiki/workbench/web/test/chat-panel-tool-status.test.tsx +26 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-drawer-state.test.ts +78 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-reader-request.test.ts +32 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-reader.test.ts +62 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-selection-drawer.test.ts +56 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-selection.test.ts +83 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-history-summary.test.tsx +124 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-format.test.ts +107 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-model.test.ts +324 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-runway.test.ts +134 -0
- package/dist/skills/llm-wiki/workbench/web/test/wiki-links.test.ts +23 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.app.json +30 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.json +7 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.node.json +24 -0
- package/dist/skills/llm-wiki/workbench/web/vite.config.ts +26 -0
- package/dist/skills/mean-reviewer/SECURITY.md +23 -0
- package/dist/skills/mean-reviewer/SKILL.md +203 -0
- package/dist/skills/mean-reviewer/examples/13446_1000_Layer_Networks_for_.pdf +0 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer.md +116 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_author_rebuttal_simulated.md +282 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_reply.md +91 -0
- package/dist/skills/mean-reviewer/examples/13446_official_review.json +973 -0
- package/dist/skills/mean-reviewer/examples/ChatGPT_AC_Roleplay.jpeg +0 -0
- package/dist/skills/medical-imaging-review/SKILL.md +295 -0
- package/dist/skills/medical-imaging-review/references/CITATION_INTEGRITY.md +233 -0
- package/dist/skills/medical-imaging-review/references/DOMAINS.md +302 -0
- package/dist/skills/medical-imaging-review/references/HALLUCINATION_PATTERNS.md +211 -0
- package/dist/skills/medical-imaging-review/references/MCP_SETUP.md +216 -0
- package/dist/skills/medical-imaging-review/references/PARADIGM.md +221 -0
- package/dist/skills/medical-imaging-review/references/QUALITY_CHECKLIST.md +169 -0
- package/dist/skills/medical-imaging-review/references/TEMPLATES.md +291 -0
- package/dist/skills/medical-imaging-review/references/WORKFLOW.md +289 -0
- package/dist/skills/mermaid-diagram/SKILL.md +379 -0
- package/dist/skills/meta-apply/SKILL.md +137 -0
- package/dist/skills/meta-optimize/SKILL.md +253 -0
- package/dist/skills/monitor-experiment/SKILL.md +98 -0
- package/dist/skills/novelty-check/SKILL.md +89 -0
- package/dist/skills/openalex/SKILL.md +228 -0
- package/dist/skills/overleaf-sync/SKILL.md +220 -0
- package/dist/skills/paper-claim-audit/SKILL.md +340 -0
- package/dist/skills/paper-compile/SKILL.md +253 -0
- package/dist/skills/paper-figure/SKILL.md +279 -0
- package/dist/skills/paper-illustration/SKILL.md +690 -0
- package/dist/skills/paper-illustration-image2/SKILL.md +383 -0
- package/dist/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
- package/dist/skills/paper-plan/SKILL.md +278 -0
- package/dist/skills/paper-poster/SKILL.md +19 -0
- package/dist/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
- package/dist/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
- package/dist/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
- package/dist/skills/paper-poster-html/NOTICE.md +57 -0
- package/dist/skills/paper-poster-html/SKILL.md +357 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
- package/dist/skills/paper-poster-html/scripts/asset_check.py +897 -0
- package/dist/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
- package/dist/skills/paper-poster-html/scripts/poster_check.py +251 -0
- package/dist/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
- package/dist/skills/paper-poster-html/scripts/render_preview.py +217 -0
- package/dist/skills/paper-poster-html/scripts/run_gates.py +556 -0
- package/dist/skills/paper-poster-html/scripts/style_check.py +1324 -0
- package/dist/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
- package/dist/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
- package/dist/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
- package/dist/skills/paper-poster-html/templates/portrait_2col.html +947 -0
- package/dist/skills/paper-poster-html/templates/tokens/acl.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/generic.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/icml.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
- package/dist/skills/paper-slide-deck/SKILL.md +464 -0
- package/dist/skills/paper-slide-deck/references/analysis-framework.md +392 -0
- package/dist/skills/paper-slide-deck/references/base-prompt.md +70 -0
- package/dist/skills/paper-slide-deck/references/content-rules.md +95 -0
- package/dist/skills/paper-slide-deck/references/figure-container-template.md +177 -0
- package/dist/skills/paper-slide-deck/references/modification-guide.md +85 -0
- package/dist/skills/paper-slide-deck/references/outline-template.md +437 -0
- package/dist/skills/paper-slide-deck/references/styles/academic-paper.md +109 -0
- package/dist/skills/paper-slide-deck/references/styles/blueprint.md +67 -0
- package/dist/skills/paper-slide-deck/references/styles/bold-editorial.md +70 -0
- package/dist/skills/paper-slide-deck/references/styles/chalkboard.md +68 -0
- package/dist/skills/paper-slide-deck/references/styles/corporate.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/dark-atmospheric.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/editorial-infographic.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/fantasy-animation.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/intuition-machine.md +72 -0
- package/dist/skills/paper-slide-deck/references/styles/minimal.md +64 -0
- package/dist/skills/paper-slide-deck/references/styles/notion.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/pixel-art.md +67 -0
- package/dist/skills/paper-slide-deck/references/styles/scientific.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/sketch-notes.md +66 -0
- package/dist/skills/paper-slide-deck/references/styles/vector-illustration.md +72 -0
- package/dist/skills/paper-slide-deck/references/styles/vintage.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/watercolor.md +68 -0
- package/dist/skills/paper-slide-deck/scripts/apply-template.ts +282 -0
- package/dist/skills/paper-slide-deck/scripts/detect-figures.ts +283 -0
- package/dist/skills/paper-slide-deck/scripts/extract-figure.ts +140 -0
- package/dist/skills/paper-slide-deck/scripts/generate-slides.py +182 -0
- package/dist/skills/paper-slide-deck/scripts/merge-to-pdf.ts +116 -0
- package/dist/skills/paper-slide-deck/scripts/merge-to-pptx.ts +137 -0
- package/dist/skills/paper-slide-deck/scripts/package-lock.json +899 -0
- package/dist/skills/paper-slide-deck/scripts/package.json +8 -0
- package/dist/skills/paper-slides/SKILL.md +571 -0
- package/dist/skills/paper-talk/SKILL.md +381 -0
- package/dist/skills/paper-write/SKILL.md +411 -0
- package/dist/skills/paper-write/templates/IEEEtran.bst +2409 -0
- package/dist/skills/paper-write/templates/IEEEtran.cls +6347 -0
- package/dist/skills/paper-write/templates/aaai2026.bst +1493 -0
- package/dist/skills/paper-write/templates/aaai2026.sty +315 -0
- package/dist/skills/paper-write/templates/aaai2026.tex +952 -0
- package/dist/skills/paper-write/templates/acl.sty +312 -0
- package/dist/skills/paper-write/templates/acl2026.tex +377 -0
- package/dist/skills/paper-write/templates/acl_natbib.bst +1940 -0
- package/dist/skills/paper-write/templates/acm.bst +3081 -0
- package/dist/skills/paper-write/templates/acm_mm2026.tex +204 -0
- package/dist/skills/paper-write/templates/acmart.cls +3520 -0
- package/dist/skills/paper-write/templates/cvpr.bst +1448 -0
- package/dist/skills/paper-write/templates/cvpr.sty +508 -0
- package/dist/skills/paper-write/templates/cvpr2026.tex +63 -0
- package/dist/skills/paper-write/templates/iclr2026.tex +84 -0
- package/dist/skills/paper-write/templates/iclr2026_conference.bst +1440 -0
- package/dist/skills/paper-write/templates/iclr2026_conference.sty +246 -0
- package/dist/skills/paper-write/templates/icml2025.tex +87 -0
- package/dist/skills/paper-write/templates/icml2026.sty +767 -0
- package/dist/skills/paper-write/templates/icml2026.tex +662 -0
- package/dist/skills/paper-write/templates/ieee_conference.tex +89 -0
- package/dist/skills/paper-write/templates/ieee_journal.tex +93 -0
- package/dist/skills/paper-write/templates/math_commands.tex +48 -0
- package/dist/skills/paper-write/templates/neurips2025.tex +80 -0
- package/dist/skills/paper-write/templates/neurips2026.tex +493 -0
- package/dist/skills/paper-write/templates/neurips_2026.sty +437 -0
- package/dist/skills/paper-writing/SKILL.md +632 -0
- package/dist/skills/patent-novelty-check/SKILL.md +153 -0
- package/dist/skills/patent-pipeline/SKILL.md +344 -0
- package/dist/skills/patent-review/SKILL.md +202 -0
- package/dist/skills/pixel-art/SKILL.md +139 -0
- package/dist/skills/pre-submission-reviewer/SKILL.md +247 -0
- package/dist/skills/pre-submission-reviewer/references/forbidden-patterns.md +163 -0
- package/dist/skills/pre-submission-reviewer/references/grammar-rules.md +135 -0
- package/dist/skills/pre-submission-reviewer/references/latex-rules.md +158 -0
- package/dist/skills/pre-submission-reviewer/references/logic-and-structure.md +125 -0
- package/dist/skills/pre-submission-reviewer/references/section-guides.md +169 -0
- package/dist/skills/prior-art-search/SKILL.md +146 -0
- package/dist/skills/proof-checker/SKILL.md +499 -0
- package/dist/skills/proof-writer/SKILL.md +222 -0
- package/dist/skills/qzcli/SKILL.md +316 -0
- package/dist/skills/rebuttal/SKILL.md +304 -0
- package/dist/skills/render-html/SKILL.md +299 -0
- package/dist/skills/render-html/scripts/render_html.py +905 -0
- package/dist/skills/render-html/scripts/templates/academic.html +342 -0
- package/dist/skills/render-html/scripts/templates/dashboard.html +333 -0
- package/dist/skills/research-lit/SKILL.md +353 -0
- package/dist/skills/research-paper-writing/SKILL.md +99 -0
- package/dist/skills/research-paper-writing/agents/openai.yaml +4 -0
- package/dist/skills/research-paper-writing/references/abstract.md +102 -0
- package/dist/skills/research-paper-writing/references/conclusion.md +35 -0
- package/dist/skills/research-paper-writing/references/does-my-writing-flow-source.md +45 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-a.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-b.md +34 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-c.md +28 -0
- package/dist/skills/research-paper-writing/references/examples/abstract-examples.md +13 -0
- package/dist/skills/research-paper-writing/references/examples/index.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/novel-task-challenge-decomposition.md +18 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-not-recommended-abstract-only.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-1-one-contribution-multi-advantages.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-2-two-contributions.md +34 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-3-new-module-on-existing-pipeline.md +18 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-4-observation-driven.md +16 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-1-existing-task.md +32 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-2-existing-task-insight-backed-by-traditional.md +33 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-3-novel-task.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-1-task-then-application.md +14 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-2-application-first.md +10 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-3-general-to-specific-setting.md +14 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-4-open-with-challenge.md +20 -0
- package/dist/skills/research-paper-writing/references/examples/introduction-examples.md +25 -0
- package/dist/skills/research-paper-writing/references/examples/method/example-of-the-three-elements.md +67 -0
- package/dist/skills/research-paper-writing/references/examples/method/method-writing-common-issues-note.md +10 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-design-instant-ngp.md +55 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-motivation-patterns.md +15 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-triad-neural-body.md +19 -0
- package/dist/skills/research-paper-writing/references/examples/method/neural-body-annotated-figure-text.md +66 -0
- package/dist/skills/research-paper-writing/references/examples/method/overview-template.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/method/pre-writing-questions.md +17 -0
- package/dist/skills/research-paper-writing/references/examples/method/section-skeleton.md +9 -0
- package/dist/skills/research-paper-writing/references/examples/method-examples.md +24 -0
- package/dist/skills/research-paper-writing/references/experiments.md +102 -0
- package/dist/skills/research-paper-writing/references/introduction.md +408 -0
- package/dist/skills/research-paper-writing/references/method.md +196 -0
- package/dist/skills/research-paper-writing/references/paper-review.md +86 -0
- package/dist/skills/research-paper-writing/references/related-work.md +41 -0
- package/dist/skills/research-pipeline/SKILL.md +257 -0
- package/dist/skills/research-proposal/SKILL.md +573 -0
- package/dist/skills/research-proposal/assets/proposal_scaffold_en.md +323 -0
- package/dist/skills/research-proposal/assets/proposal_scaffold_zh.md +346 -0
- package/dist/skills/research-proposal/references/DOMAIN_TEMPLATES.md +518 -0
- package/dist/skills/research-proposal/references/LITERATURE_WORKFLOW.md +529 -0
- package/dist/skills/research-proposal/references/QUALITY_CHECKLIST.md +325 -0
- package/dist/skills/research-proposal/references/STRUCTURE_GUIDE.md +398 -0
- package/dist/skills/research-proposal/references/WRITING_STYLE_GUIDE.md +661 -0
- package/dist/skills/research-refine/SKILL.md +716 -0
- package/dist/skills/research-refine-pipeline/SKILL.md +186 -0
- package/dist/skills/research-review/SKILL.md +119 -0
- package/dist/skills/research-wiki/SKILL.md +373 -0
- package/dist/skills/resubmit-pipeline/SKILL.md +427 -0
- package/dist/skills/result-to-claim/SKILL.md +190 -0
- package/dist/skills/run-experiment/SKILL.md +227 -0
- package/dist/skills/scientific-figure-making/SKILL.md +38 -0
- package/dist/skills/scientific-figure-making/references/api.md +152 -0
- package/dist/skills/scientific-figure-making/references/common-patterns.md +74 -0
- package/dist/skills/scientific-figure-making/references/demos.md +30 -0
- package/dist/skills/scientific-figure-making/references/design-theory.md +138 -0
- package/dist/skills/scientific-figure-making/references/tutorials.md +135 -0
- package/dist/skills/semantic-scholar/SKILL.md +219 -0
- package/dist/skills/serverless-modal/SKILL.md +324 -0
- package/dist/skills/slides-polish/SKILL.md +563 -0
- package/dist/skills/specification-writing/SKILL.md +211 -0
- package/dist/skills/strategist/SKILL.md +670 -0
- package/dist/skills/strategist/references/quality_standards.md +336 -0
- package/dist/skills/strategist/references/search_strategy.md +459 -0
- package/dist/skills/strategist/scripts/evaluate_samples.py +300 -0
- package/dist/skills/strategist/scripts/gap_analysis.py +399 -0
- package/dist/skills/system-profile/SKILL.md +103 -0
- package/dist/skills/tech-paper-template/SKILL.md +192 -0
- package/dist/skills/tech-paper-template/references/consistency-checks.md +166 -0
- package/dist/skills/tech-paper-template/references/paper-types.md +127 -0
- package/dist/skills/tech-paper-template/references/thinking-template.md +194 -0
- package/dist/skills/tech-paper-template/references/worked-examples.md +124 -0
- package/dist/skills/training-check/SKILL.md +83 -0
- package/dist/skills/vast-gpu/SKILL.md +380 -0
- package/dist/skills/vibe-research-workflow/SKILL.md +189 -0
- package/dist/skills/vibe-research-workflow/references/behavior-guidelines.md +149 -0
- package/dist/skills/vibe-research-workflow/references/tool-selection.md +144 -0
- package/dist/skills/vibe-research-workflow/references/vibe-coding.md +154 -0
- package/dist/skills/vibe-research-workflow/references/vibe-figure.md +131 -0
- package/dist/skills/vibe-research-workflow/references/vibe-writing.md +181 -0
- package/dist/skills/wiki-enrich/SKILL.md +254 -0
- package/dist/skills/writing-systems-papers/SKILL.md +184 -0
- package/package.json +1 -1
|
@@ -0,0 +1,3520 @@
|
|
|
1
|
+
%%
|
|
2
|
+
%% This is file `acmart.cls',
|
|
3
|
+
%% generated with the docstrip utility.
|
|
4
|
+
%%
|
|
5
|
+
%% The original source files were:
|
|
6
|
+
%%
|
|
7
|
+
%% acmart.dtx (with options: `class')
|
|
8
|
+
%%
|
|
9
|
+
%% IMPORTANT NOTICE:
|
|
10
|
+
%%
|
|
11
|
+
%% For the copyright see the source file.
|
|
12
|
+
%%
|
|
13
|
+
%% Any modified versions of this file must be renamed
|
|
14
|
+
%% with new filenames distinct from acmart.cls.
|
|
15
|
+
%%
|
|
16
|
+
%% For distribution of the original source see the terms
|
|
17
|
+
%% for copying and modification in the file acmart.dtx.
|
|
18
|
+
%%
|
|
19
|
+
%% This generated file may be distributed as long as the
|
|
20
|
+
%% original source files, as listed above, are part of the
|
|
21
|
+
%% same distribution. (The sources need not necessarily be
|
|
22
|
+
%% in the same archive or directory.)
|
|
23
|
+
%% \CharacterTable
|
|
24
|
+
%% {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
|
|
25
|
+
%% 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
|
|
26
|
+
%% Digits \0\1\2\3\4\5\6\7\8\9
|
|
27
|
+
%% Exclamation \! Double quote \" Hash (number) \#
|
|
28
|
+
%% Dollar \$ Percent \% Ampersand \&
|
|
29
|
+
%% Acute accent \' Left paren \( Right paren \)
|
|
30
|
+
%% Asterisk \* Plus \+ Comma \,
|
|
31
|
+
%% Minus \- Point \. Solidus \/
|
|
32
|
+
%% Colon \: Semicolon \; Less than \<
|
|
33
|
+
%% Equals \= Greater than \> Question mark \?
|
|
34
|
+
%% Commercial at \@ Left bracket \[ Backslash \\
|
|
35
|
+
%% Right bracket \] Circumflex \^ Underscore \_
|
|
36
|
+
%% Grave accent \` Left brace \{ Vertical bar \|
|
|
37
|
+
%% Right brace \} Tilde \~}
|
|
38
|
+
|
|
39
|
+
\NeedsTeXFormat{LaTeX2e}
|
|
40
|
+
\ProvidesClass{acmart}
|
|
41
|
+
[2022/10/24 v1.88 Typesetting articles for the Association for Computing Machinery]
|
|
42
|
+
\def\@classname{acmart}
|
|
43
|
+
\InputIfFileExists{acmart-preload-hook.tex}{%
|
|
44
|
+
\ClassWarning{\@classname}{%
|
|
45
|
+
I am loading acmart-preload-hook.tex. You are fully responsible
|
|
46
|
+
for any problems from now on.}}{}
|
|
47
|
+
\RequirePackage{xkeyval}
|
|
48
|
+
\RequirePackage{xstring}
|
|
49
|
+
\RequirePackage{iftex}
|
|
50
|
+
\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
|
|
51
|
+
manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
|
|
52
|
+
sigplan, sigchi, sigchi-a, acmengage, acmcp}[manuscript]{}{%
|
|
53
|
+
\ClassError{\@classname}{The option format must be manuscript,
|
|
54
|
+
acmsmall, acmlarge, acmtog, sigconf, siggraph,
|
|
55
|
+
sigplan, sigchi or sigchi-a}}
|
|
56
|
+
\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}}
|
|
57
|
+
\@DeclareACMFormat{manuscript}
|
|
58
|
+
\@DeclareACMFormat{acmsmall}
|
|
59
|
+
\@DeclareACMFormat{acmlarge}
|
|
60
|
+
\@DeclareACMFormat{acmtog}
|
|
61
|
+
\@DeclareACMFormat{sigconf}
|
|
62
|
+
\@DeclareACMFormat{siggraph}
|
|
63
|
+
\@DeclareACMFormat{sigplan}
|
|
64
|
+
\@DeclareACMFormat{sigchi}
|
|
65
|
+
\@DeclareACMFormat{sigchi-a}
|
|
66
|
+
\@DeclareACMFormat{acmengage}
|
|
67
|
+
\@DeclareACMFormat{acmcp}
|
|
68
|
+
\ExecuteOptionsX{format}
|
|
69
|
+
\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
|
|
70
|
+
\if@ACM@screen
|
|
71
|
+
\PackageInfo{\@classname}{Using screen mode}%
|
|
72
|
+
\else
|
|
73
|
+
\PackageInfo{\@classname}{Not using screen mode}%
|
|
74
|
+
\fi}{\PackageError{\@classname}{The option screen can be either true or
|
|
75
|
+
false}}
|
|
76
|
+
\ExecuteOptionsX{screen=false}
|
|
77
|
+
\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
|
|
78
|
+
\if@ACM@urlbreakonhyphens
|
|
79
|
+
\PackageInfo{\@classname}{Using breaking urls on hyphens}%
|
|
80
|
+
\else
|
|
81
|
+
\PackageInfo{\@classname}{Not breaking urls on hyphens}%
|
|
82
|
+
\fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
|
|
83
|
+
false}}
|
|
84
|
+
\ExecuteOptionsX{urlbreakonhyphens=true}
|
|
85
|
+
\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
|
|
86
|
+
\if@ACM@acmthm
|
|
87
|
+
\PackageInfo{\@classname}{Requiring acmthm}%
|
|
88
|
+
\else
|
|
89
|
+
\PackageInfo{\@classname}{Suppressing acmthm}%
|
|
90
|
+
\fi}{\PackageError{\@classname}{The option acmthm can be either true or
|
|
91
|
+
false}}
|
|
92
|
+
\ExecuteOptionsX{acmthm=true}
|
|
93
|
+
\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{%
|
|
94
|
+
\if@ACM@review
|
|
95
|
+
\PackageInfo{\@classname}{Using review mode}%
|
|
96
|
+
\AtBeginDocument{\@ACM@printfoliostrue}%
|
|
97
|
+
\else
|
|
98
|
+
\PackageInfo{\@classname}{Not using review mode}%
|
|
99
|
+
\fi}{\PackageError{\@classname}{The option review can be either true or
|
|
100
|
+
false}}
|
|
101
|
+
\ExecuteOptionsX{review=false}
|
|
102
|
+
\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
|
|
103
|
+
\if@ACM@authorversion
|
|
104
|
+
\PackageInfo{\@classname}{Using authorversion mode}%
|
|
105
|
+
\else
|
|
106
|
+
\PackageInfo{\@classname}{Not using authorversion mode}%
|
|
107
|
+
\fi}{\PackageError{\@classname}{The option authorversion can be either true or
|
|
108
|
+
false}}
|
|
109
|
+
\ExecuteOptionsX{authorversion=false}
|
|
110
|
+
\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
|
|
111
|
+
\if@ACM@nonacm
|
|
112
|
+
\PackageInfo{\@classname}{Using nonacm mode}%
|
|
113
|
+
\AtBeginDocument{\@ACM@printacmreffalse}%
|
|
114
|
+
% in 'nonacm' mode we disable the "ACM Reference Format"
|
|
115
|
+
% printing by default, but this can be re-enabled by the
|
|
116
|
+
% user using \settopmatter{printacmref=true}
|
|
117
|
+
\else
|
|
118
|
+
\PackageInfo{\@classname}{Not using nonacm mode}%
|
|
119
|
+
\fi}{\PackageError{\@classname}{The option nonacm can be either true or
|
|
120
|
+
false}}
|
|
121
|
+
\ExecuteOptionsX{nonacm=false}
|
|
122
|
+
\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
|
|
123
|
+
\PackageError{\@classname}{The option balance can be either true or
|
|
124
|
+
false}}
|
|
125
|
+
\ExecuteOptionsX{balance}
|
|
126
|
+
\define@boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%
|
|
127
|
+
\PackageError{\@classname}{The option pbalance can be either true or
|
|
128
|
+
false}}
|
|
129
|
+
\ExecuteOptionsX{pbalance=false}
|
|
130
|
+
\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
|
|
131
|
+
\if@ACM@natbib
|
|
132
|
+
\PackageInfo{\@classname}{Explicitly selecting natbib mode}%
|
|
133
|
+
\else
|
|
134
|
+
\PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
|
|
135
|
+
\fi}{\PackageError{\@classname}{The option natbib can be either true or
|
|
136
|
+
false}}
|
|
137
|
+
\ExecuteOptionsX{natbib=true}
|
|
138
|
+
\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
|
|
139
|
+
\if@ACM@anonymous
|
|
140
|
+
\PackageInfo{\@classname}{Using anonymous mode}%
|
|
141
|
+
\else
|
|
142
|
+
\PackageInfo{\@classname}{Not using anonymous mode}%
|
|
143
|
+
\fi}{\PackageError{\@classname}{The option anonymous can be either true or
|
|
144
|
+
false}}
|
|
145
|
+
\ExecuteOptionsX{anonymous=false}
|
|
146
|
+
\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
|
|
147
|
+
\if@ACM@timestamp
|
|
148
|
+
\PackageInfo{\@classname}{Using timestamp mode}%
|
|
149
|
+
\else
|
|
150
|
+
\PackageInfo{\@classname}{Not using timestamp mode}%
|
|
151
|
+
\fi}{\PackageError{\@classname}{The option timestamp can be either true or
|
|
152
|
+
false}}
|
|
153
|
+
\ExecuteOptionsX{timestamp=false}
|
|
154
|
+
\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
|
|
155
|
+
\if@ACM@authordraft
|
|
156
|
+
\PackageInfo{\@classname}{Using authordraft mode}%
|
|
157
|
+
\@ACM@timestamptrue
|
|
158
|
+
\@ACM@reviewtrue
|
|
159
|
+
\else
|
|
160
|
+
\PackageInfo{\@classname}{Not using authordraft mode}%
|
|
161
|
+
\fi}{\PackageError{\@classname}{The option authordraft can be either true or
|
|
162
|
+
false}}
|
|
163
|
+
\ExecuteOptionsX{authordraft=false}
|
|
164
|
+
\def\ACM@fontsize{}
|
|
165
|
+
\DeclareOptionX{8pt}{\edef\ACM@fontsize{\CurrentOption}}
|
|
166
|
+
\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
|
|
167
|
+
\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
|
|
168
|
+
\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}}
|
|
169
|
+
\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}}
|
|
170
|
+
\def\ACM@languages{}
|
|
171
|
+
\DeclareOptionX{language}{%
|
|
172
|
+
\ifx\ACM@languages\@empty
|
|
173
|
+
\gdef\ACM@languages{english}\fi
|
|
174
|
+
\g@addto@macro\ACM@languages{, #1}}
|
|
175
|
+
\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
|
|
176
|
+
\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
|
|
177
|
+
\ProcessOptionsX
|
|
178
|
+
\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr}
|
|
179
|
+
\newif\if@ACM@manuscript
|
|
180
|
+
\newif\if@ACM@journal
|
|
181
|
+
\newif\if@ACM@journal@bibstrip
|
|
182
|
+
\newif\if@ACM@sigchiamode
|
|
183
|
+
\newif\if@ACM@engage
|
|
184
|
+
\@ACM@engagefalse
|
|
185
|
+
\newif\if@ACM@acmcp
|
|
186
|
+
\@ACM@acmcpfalse
|
|
187
|
+
\ifnum\ACM@format@nr=5\relax % siggraph
|
|
188
|
+
\ClassWarning{\@classname}{%
|
|
189
|
+
The format siggraph is now obsolete.\MessageBreak
|
|
190
|
+
I am switching to sigconf.}
|
|
191
|
+
\setkeys{acmart.cls}{format=sigconf}
|
|
192
|
+
\fi
|
|
193
|
+
\ifnum\ACM@format@nr=7\relax % sigchi
|
|
194
|
+
\ClassWarning{\@classname}{%
|
|
195
|
+
The format sigchi is now obsolete.\MessageBreak
|
|
196
|
+
I am switching to sigconf.}
|
|
197
|
+
\setkeys{acmart.cls}{format=sigconf}
|
|
198
|
+
\fi
|
|
199
|
+
\ifnum\ACM@format@nr=8\relax % sigchi
|
|
200
|
+
\ClassWarning{\@classname}{%
|
|
201
|
+
ACM SIGCHI has retired the SIGCHI-A template\MessageBreak
|
|
202
|
+
effective immediately. ACM is keeping this template\MessageBreak
|
|
203
|
+
option available to authors who are working on legacy\MessageBreak
|
|
204
|
+
documents only. ACM will not, under any circumstances,\MessageBreak
|
|
205
|
+
accept documents in this format for publication and\MessageBreak
|
|
206
|
+
will not offer technical support to the authors who use\MessageBreak
|
|
207
|
+
this template.\MessageBreak
|
|
208
|
+
ACM SIGCHI is directing Conference leaders and\MessageBreak
|
|
209
|
+
authors to publish their articles using the SIGCONF\MessageBreak
|
|
210
|
+
template call.}
|
|
211
|
+
\fi
|
|
212
|
+
\ifnum\ACM@format@nr=0\relax
|
|
213
|
+
\@ACM@manuscripttrue
|
|
214
|
+
\else
|
|
215
|
+
\@ACM@manuscriptfalse
|
|
216
|
+
\fi
|
|
217
|
+
\@ACM@sigchiamodefalse
|
|
218
|
+
\ifcase\ACM@format@nr
|
|
219
|
+
\relax % manuscript
|
|
220
|
+
\@ACM@journaltrue
|
|
221
|
+
\or % acmsmall
|
|
222
|
+
\@ACM@journaltrue
|
|
223
|
+
\or % acmlarge
|
|
224
|
+
\@ACM@journaltrue
|
|
225
|
+
\or % acmtog
|
|
226
|
+
\@ACM@journaltrue
|
|
227
|
+
\or % sigconf
|
|
228
|
+
\@ACM@journalfalse
|
|
229
|
+
\or % siggraph
|
|
230
|
+
\@ACM@journalfalse
|
|
231
|
+
\or % sigplan
|
|
232
|
+
\@ACM@journalfalse
|
|
233
|
+
\or % sigchi
|
|
234
|
+
\@ACM@journalfalse
|
|
235
|
+
\or % sigchi-a
|
|
236
|
+
\@ACM@journalfalse
|
|
237
|
+
\@ACM@sigchiamodetrue
|
|
238
|
+
\or % acmengage
|
|
239
|
+
\@ACM@journalfalse
|
|
240
|
+
\@ACM@engagetrue
|
|
241
|
+
\or % acmcp
|
|
242
|
+
\@ACM@journaltrue
|
|
243
|
+
\@ACM@acmcptrue
|
|
244
|
+
\AtBeginDocument{\@ACM@printacmreffalse}%
|
|
245
|
+
\fi
|
|
246
|
+
\if@ACM@journal
|
|
247
|
+
\@ACM@journal@bibstriptrue
|
|
248
|
+
\else
|
|
249
|
+
\@ACM@journal@bibstripfalse
|
|
250
|
+
\fi
|
|
251
|
+
\ifx\ACM@fontsize\@empty
|
|
252
|
+
\ifcase\ACM@format@nr
|
|
253
|
+
\relax % manuscript
|
|
254
|
+
\def\ACM@fontsize{9pt}%
|
|
255
|
+
\or % acmsmall
|
|
256
|
+
\def\ACM@fontsize{10pt}%
|
|
257
|
+
\or % acmlarge
|
|
258
|
+
\def\ACM@fontsize{10pt}%
|
|
259
|
+
\or % acmtog
|
|
260
|
+
\def\ACM@fontsize{9pt}%
|
|
261
|
+
\or % sigconf
|
|
262
|
+
\def\ACM@fontsize{9pt}%
|
|
263
|
+
\or % siggraph
|
|
264
|
+
\def\ACM@fontsize{9pt}%
|
|
265
|
+
\or % sigplan
|
|
266
|
+
\def\ACM@fontsize{10pt}%
|
|
267
|
+
\or % sigchi
|
|
268
|
+
\def\ACM@fontsize{9pt}%
|
|
269
|
+
\or % sigchi-a
|
|
270
|
+
\def\ACM@fontsize{10pt}%
|
|
271
|
+
\or % acmengage
|
|
272
|
+
\def\ACM@fontsize{10pt}%
|
|
273
|
+
\or % acmcp
|
|
274
|
+
\def\ACM@fontsize{9pt}%
|
|
275
|
+
\fi
|
|
276
|
+
\fi
|
|
277
|
+
\ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
|
|
278
|
+
\LoadClass[\ACM@fontsize, reqno]{amsart}
|
|
279
|
+
\RequirePackage{microtype}
|
|
280
|
+
\RequirePackage{etoolbox}
|
|
281
|
+
\RequirePackage{booktabs}
|
|
282
|
+
\RequirePackage{refcount}
|
|
283
|
+
\RequirePackage{totpages}
|
|
284
|
+
\RequirePackage{environ}
|
|
285
|
+
\if@ACM@manuscript
|
|
286
|
+
\RequirePackage{setspace}
|
|
287
|
+
\onehalfspacing
|
|
288
|
+
\fi
|
|
289
|
+
\RequirePackage{textcase}
|
|
290
|
+
\if@ACM@acmcp
|
|
291
|
+
\RequirePackage{framed}
|
|
292
|
+
\RequirePackage{zref-savepos, zref-user}
|
|
293
|
+
\fi
|
|
294
|
+
\newdimen\@ACM@acmcp@delta
|
|
295
|
+
\@ACM@acmcp@delta=0pt\relax
|
|
296
|
+
\if@ACM@natbib
|
|
297
|
+
\RequirePackage{natbib}
|
|
298
|
+
\renewcommand{\bibsection}{%
|
|
299
|
+
\section*{\refname}%
|
|
300
|
+
\phantomsection\addcontentsline{toc}{section}{\refname}%
|
|
301
|
+
}
|
|
302
|
+
\renewcommand{\bibfont}{\bibliofont}
|
|
303
|
+
\renewcommand\setcitestyle[1]{
|
|
304
|
+
\@for\@tempa:=#1\do
|
|
305
|
+
{\def\@tempb{round}\ifx\@tempa\@tempb
|
|
306
|
+
\renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
|
|
307
|
+
\def\@tempb{square}\ifx\@tempa\@tempb
|
|
308
|
+
\renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
|
|
309
|
+
\def\@tempb{angle}\ifx\@tempa\@tempb
|
|
310
|
+
\renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
|
|
311
|
+
\def\@tempb{curly}\ifx\@tempa\@tempb
|
|
312
|
+
\renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
|
|
313
|
+
\def\@tempb{semicolon}\ifx\@tempa\@tempb
|
|
314
|
+
\renewcommand\NAT@sep{;}\fi
|
|
315
|
+
\def\@tempb{colon}\ifx\@tempa\@tempb
|
|
316
|
+
\renewcommand\NAT@sep{;}\fi
|
|
317
|
+
\def\@tempb{comma}\ifx\@tempa\@tempb
|
|
318
|
+
\renewcommand\NAT@sep{,}\fi
|
|
319
|
+
\def\@tempb{authoryear}\ifx\@tempa\@tempb
|
|
320
|
+
\NAT@numbersfalse\fi
|
|
321
|
+
\def\@tempb{numbers}\ifx\@tempa\@tempb
|
|
322
|
+
\NAT@numberstrue\NAT@superfalse\fi
|
|
323
|
+
\def\@tempb{super}\ifx\@tempa\@tempb
|
|
324
|
+
\NAT@numberstrue\NAT@supertrue\fi
|
|
325
|
+
\def\@tempb{nobibstyle}\ifx\@tempa\@tempb
|
|
326
|
+
\let\bibstyle=\@gobble\fi
|
|
327
|
+
\def\@tempb{bibstyle}\ifx\@tempa\@tempb
|
|
328
|
+
\let\bibstyle=\@citestyle\fi
|
|
329
|
+
\def\@tempb{sort}\ifx\@tempa\@tempb
|
|
330
|
+
\def\NAT@sort{\@ne}\fi
|
|
331
|
+
\def\@tempb{nosort}\ifx\@tempa\@tempb
|
|
332
|
+
\def\NAT@sort{\z@}\fi
|
|
333
|
+
\def\@tempb{compress}\ifx\@tempa\@tempb
|
|
334
|
+
\def\NAT@cmprs{\@ne}\fi
|
|
335
|
+
\def\@tempb{nocompress}\ifx\@tempa\@tempb
|
|
336
|
+
\def\NAT@cmprs{\z@}\fi
|
|
337
|
+
\def\@tempb{sort&compress}\ifx\@tempa\@tempb
|
|
338
|
+
\def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi
|
|
339
|
+
\def\@tempb{mcite}\ifx\@tempa\@tempb
|
|
340
|
+
\let\NAT@merge\@ne\fi
|
|
341
|
+
\def\@tempb{merge}\ifx\@tempa\@tempb
|
|
342
|
+
\@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi
|
|
343
|
+
\def\@tempb{elide}\ifx\@tempa\@tempb
|
|
344
|
+
\@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi
|
|
345
|
+
\def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
|
|
346
|
+
\NAT@longnamestrue\fi
|
|
347
|
+
\def\@tempb{nonamebreak}\ifx\@tempa\@tempb
|
|
348
|
+
\def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi
|
|
349
|
+
\expandafter\NAT@find@eq\@tempa=\relax\@nil
|
|
350
|
+
\if\@tempc\relax\else
|
|
351
|
+
\expandafter\NAT@rem@eq\@tempc
|
|
352
|
+
\def\@tempb{open}\ifx\@tempa\@tempb
|
|
353
|
+
\xdef\NAT@open{\@tempc}\fi
|
|
354
|
+
\def\@tempb{close}\ifx\@tempa\@tempb
|
|
355
|
+
\xdef\NAT@close{\@tempc}\fi
|
|
356
|
+
\def\@tempb{aysep}\ifx\@tempa\@tempb
|
|
357
|
+
\xdef\NAT@aysep{\@tempc}\fi
|
|
358
|
+
\def\@tempb{yysep}\ifx\@tempa\@tempb
|
|
359
|
+
\xdef\NAT@yrsep{\@tempc}\fi
|
|
360
|
+
\def\@tempb{notesep}\ifx\@tempa\@tempb
|
|
361
|
+
\xdef\NAT@cmt{\@tempc}\fi
|
|
362
|
+
\def\@tempb{citesep}\ifx\@tempa\@tempb
|
|
363
|
+
\xdef\NAT@sep{\@tempc}\fi
|
|
364
|
+
\fi
|
|
365
|
+
}%
|
|
366
|
+
\NAT@@setcites
|
|
367
|
+
}
|
|
368
|
+
\renewcommand\citestyle[1]{%
|
|
369
|
+
\ifcsname bibstyle@#1\endcsname%
|
|
370
|
+
\csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
|
|
371
|
+
\else%
|
|
372
|
+
\@latex@error{Undefined `#1' citestyle}%
|
|
373
|
+
\fi
|
|
374
|
+
}%
|
|
375
|
+
\fi
|
|
376
|
+
\newcommand{\bibstyle@acmauthoryear}{%
|
|
377
|
+
\setcitestyle{%
|
|
378
|
+
authoryear,%
|
|
379
|
+
open={[},close={]},citesep={;},%
|
|
380
|
+
aysep={},yysep={,},%
|
|
381
|
+
notesep={, }}}
|
|
382
|
+
\newcommand{\bibstyle@acmnumeric}{%
|
|
383
|
+
\setcitestyle{%
|
|
384
|
+
numbers,sort&compress,%
|
|
385
|
+
open={[},close={]},citesep={,},%
|
|
386
|
+
notesep={, }}}
|
|
387
|
+
\if@ACM@natbib
|
|
388
|
+
\citestyle{acmnumeric}
|
|
389
|
+
\fi
|
|
390
|
+
\if@ACM@journal
|
|
391
|
+
\renewcommand\keywordsname{Additional Key Words and Phrases}%
|
|
392
|
+
\else
|
|
393
|
+
\renewcommand\keywordsname{Keywords}%
|
|
394
|
+
\fi
|
|
395
|
+
\if@ACM@engage
|
|
396
|
+
\renewcommand\abstractname{Synopsis}%
|
|
397
|
+
\fi
|
|
398
|
+
\ifx\ACM@languages\@empty
|
|
399
|
+
\else
|
|
400
|
+
\RequirePackage[\ACM@languages]{babel}%
|
|
401
|
+
\addto\captionsenglish{%
|
|
402
|
+
\if@ACM@journal
|
|
403
|
+
\renewcommand\keywordsname{Additional Key Words and Phrases}%
|
|
404
|
+
\else
|
|
405
|
+
\renewcommand\keywordsname{Keywords}%
|
|
406
|
+
\fi
|
|
407
|
+
\renewcommand\acksname{Acknowledgements}%
|
|
408
|
+
\if@ACM@engage
|
|
409
|
+
\renewcommand\abstractname{Synopsis}%
|
|
410
|
+
\fi
|
|
411
|
+
}%
|
|
412
|
+
\addto\captionsfrench{%
|
|
413
|
+
\if@ACM@journal
|
|
414
|
+
\renewcommand\keywordsname{Mots Clés et Phrases Supplémentaires}%
|
|
415
|
+
\else
|
|
416
|
+
\renewcommand\keywordsname{Mots clés}%
|
|
417
|
+
\fi
|
|
418
|
+
\renewcommand\acksname{Remerciements}%
|
|
419
|
+
}%
|
|
420
|
+
\addto\captionsgerman{%
|
|
421
|
+
\if@ACM@journal
|
|
422
|
+
\renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}%
|
|
423
|
+
\else
|
|
424
|
+
\renewcommand\keywordsname{Schlagwörter}%
|
|
425
|
+
\fi
|
|
426
|
+
\renewcommand\acksname{Danksagungen}%
|
|
427
|
+
}%
|
|
428
|
+
\addto\captionsspanish{%
|
|
429
|
+
\if@ACM@journal
|
|
430
|
+
\renewcommand\keywordsname{Palabras y Frases Claves Adicionales}%
|
|
431
|
+
\else
|
|
432
|
+
\renewcommand\keywordsname{Palabras claves}%
|
|
433
|
+
\fi
|
|
434
|
+
\renewcommand\acksname{Expresiones de gratitud}%
|
|
435
|
+
}%
|
|
436
|
+
\fi
|
|
437
|
+
\newcommand\ACM@lang@check[1]{%
|
|
438
|
+
\ifx\ACM@languages\@empty\relax
|
|
439
|
+
\ClassError{\@classname}{%
|
|
440
|
+
Command \string#1 \MessageBreak is used in monlingual document}{%
|
|
441
|
+
You used a command (\string#1) \MessageBreak
|
|
442
|
+
that does not have a meaning \MessageBreak
|
|
443
|
+
unless are languages are defined. \MessageBreak
|
|
444
|
+
Please choose the languages in \string\documentclass
|
|
445
|
+
\MessageBreak
|
|
446
|
+
(e.g. \string\documentclass[languages={french, english}]{acmart}),
|
|
447
|
+
\MessageBreak
|
|
448
|
+
or delete the command.}%
|
|
449
|
+
\fi}
|
|
450
|
+
\def\@translatedtitle{}
|
|
451
|
+
\newcommand\translatedtitle[2]{\ACM@lang@check{\translatedtitle}%
|
|
452
|
+
\g@addto@macro\@translatedtitle{\par\foreignlanguage{#1}{#2}}}
|
|
453
|
+
\def\@translatedsubtitle{}
|
|
454
|
+
\newcommand\translatedsubtitle[2]{\ACM@lang@check{\translatedsubtitle}%
|
|
455
|
+
\g@addto@macro\@translatedsubtitle{\par\foreignlanguage{#1}{#2}}}
|
|
456
|
+
\def\@translatedkeywords{}
|
|
457
|
+
\newcommand\translatedkeywords[2]{\ACM@lang@check{\translatedkeywords}%
|
|
458
|
+
\g@addto@macro\@translatedkeywords{\@mktranslatedkeywords{#1}{#2}}}
|
|
459
|
+
\def\@translatedabstracts{}
|
|
460
|
+
\newenvironment{translatedabstract}[1]{\Collect@Body
|
|
461
|
+
\@savetranslatedabstract\@mktranslatedabstract{#1}}{}
|
|
462
|
+
\long\def\@savetranslatedabstract#1{\if@ACM@maketitle@typeset
|
|
463
|
+
\ClassError{\@classname}{Abstract must be defined before maketitle
|
|
464
|
+
command. Please move it!}\fi
|
|
465
|
+
\ACM@lang@check{translatedabstract}%
|
|
466
|
+
\g@addto@macro\@translatedabstracts{\bgroup#1\egroup}}
|
|
467
|
+
\def\@startsection#1#2#3#4#5#6{%
|
|
468
|
+
\if@noskipsec \leavevmode \fi
|
|
469
|
+
\par
|
|
470
|
+
\@tempskipa #4\relax
|
|
471
|
+
\@afterindenttrue
|
|
472
|
+
\ifdim \@tempskipa <\z@
|
|
473
|
+
\@tempskipa -\@tempskipa \@afterindentfalse
|
|
474
|
+
\fi
|
|
475
|
+
\if@nobreak
|
|
476
|
+
\everypar{}%
|
|
477
|
+
\else
|
|
478
|
+
\addpenalty\@secpenalty\addvspace\@tempskipa
|
|
479
|
+
\fi
|
|
480
|
+
\@ifstar
|
|
481
|
+
{\@ssect{#3}{#4}{#5}{#6}}%
|
|
482
|
+
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
|
|
483
|
+
\def\@sect#1#2#3#4#5#6[#7]#8{%
|
|
484
|
+
\edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
|
|
485
|
+
\ifnum #2>\c@secnumdepth
|
|
486
|
+
\let\@svsec\@empty
|
|
487
|
+
\else
|
|
488
|
+
\refstepcounter{#1}%
|
|
489
|
+
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
|
|
490
|
+
\fi
|
|
491
|
+
\@tempskipa #5\relax
|
|
492
|
+
\ifdim \@tempskipa>\z@
|
|
493
|
+
\begingroup
|
|
494
|
+
#6{%
|
|
495
|
+
\@hangfrom{\hskip #3\relax\@svsec}%
|
|
496
|
+
\interlinepenalty \@M #8\@@par}%
|
|
497
|
+
\endgroup
|
|
498
|
+
\csname #1mark\endcsname{#7}%
|
|
499
|
+
\ifnum #2>\c@secnumdepth \else
|
|
500
|
+
\@tochangmeasure{\csname the#1\endcsname}%
|
|
501
|
+
\fi
|
|
502
|
+
\addcontentsline{toc}{#1}{%
|
|
503
|
+
\ifnum #2>\c@secnumdepth \else
|
|
504
|
+
\protect\numberline{\csname the#1\endcsname}%
|
|
505
|
+
\fi
|
|
506
|
+
#7}%
|
|
507
|
+
\else
|
|
508
|
+
\def\@svsechd{%
|
|
509
|
+
#6{\hskip #3\relax
|
|
510
|
+
\@svsec #8}%
|
|
511
|
+
\csname #1mark\endcsname{#7}%
|
|
512
|
+
\ifnum #2>\c@secnumdepth \else
|
|
513
|
+
\@tochangmeasure{\csname the#1\endcsname\space}%
|
|
514
|
+
\fi
|
|
515
|
+
\addcontentsline{toc}{#1}{%
|
|
516
|
+
\ifnum #2>\c@secnumdepth \else
|
|
517
|
+
\protect\numberline{\csname the#1\endcsname}%
|
|
518
|
+
\fi
|
|
519
|
+
#7}}%
|
|
520
|
+
\fi
|
|
521
|
+
\@xsect{#5}}
|
|
522
|
+
\def\@xsect#1{%
|
|
523
|
+
\@tempskipa #1\relax
|
|
524
|
+
\ifdim \@tempskipa>\z@
|
|
525
|
+
\par \nobreak
|
|
526
|
+
\vskip \@tempskipa
|
|
527
|
+
\@afterheading
|
|
528
|
+
\else
|
|
529
|
+
\@nobreakfalse
|
|
530
|
+
\global\@noskipsectrue
|
|
531
|
+
\everypar{%
|
|
532
|
+
\if@noskipsec
|
|
533
|
+
\global\@noskipsecfalse
|
|
534
|
+
{\setbox\z@\lastbox}%
|
|
535
|
+
\clubpenalty\@M
|
|
536
|
+
\begingroup \@svsechd \endgroup
|
|
537
|
+
\unskip
|
|
538
|
+
\@tempskipa #1\relax
|
|
539
|
+
\hskip -\@tempskipa
|
|
540
|
+
\else
|
|
541
|
+
\clubpenalty \@clubpenalty
|
|
542
|
+
\everypar{}%
|
|
543
|
+
\fi}%
|
|
544
|
+
\fi
|
|
545
|
+
\ignorespaces}
|
|
546
|
+
\def\@seccntformat#1{\csname the#1\endcsname\quad}
|
|
547
|
+
\def\@ssect#1#2#3#4#5{%
|
|
548
|
+
\@tempskipa #3\relax
|
|
549
|
+
\ifdim \@tempskipa>\z@
|
|
550
|
+
\begingroup
|
|
551
|
+
#4{%
|
|
552
|
+
\@hangfrom{\hskip #1}%
|
|
553
|
+
\interlinepenalty \@M #5\@@par}%
|
|
554
|
+
\endgroup
|
|
555
|
+
\else
|
|
556
|
+
\def\@svsechd{#4{\hskip #1\relax #5}}%
|
|
557
|
+
\fi
|
|
558
|
+
\@xsect{#3}}
|
|
559
|
+
\def\@starttoc#1#2{\begingroup\makeatletter
|
|
560
|
+
\setTrue{#1}%
|
|
561
|
+
\par\removelastskip\vskip\z@skip
|
|
562
|
+
\@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
|
|
563
|
+
{.5\linespacing}{\centering\contentsnamefont}{#2}%
|
|
564
|
+
\@input{\jobname.#1}%
|
|
565
|
+
\if@filesw
|
|
566
|
+
\@xp\newwrite\csname tf@#1\endcsname
|
|
567
|
+
\immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
|
|
568
|
+
\fi
|
|
569
|
+
\global\@nobreakfalse \endgroup
|
|
570
|
+
\addvspace{32\p@\@plus14\p@}%
|
|
571
|
+
}
|
|
572
|
+
\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}}
|
|
573
|
+
\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
|
|
574
|
+
\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}}
|
|
575
|
+
\def\@makefntext{\noindent\@makefnmark}
|
|
576
|
+
\if@ACM@sigchiamode
|
|
577
|
+
\long\def\@footnotetext#1{\marginpar{%
|
|
578
|
+
\reset@font\small
|
|
579
|
+
\interlinepenalty\interfootnotelinepenalty
|
|
580
|
+
\protected@edef\@currentlabel{%
|
|
581
|
+
\csname p@footnote\endcsname\@thefnmark
|
|
582
|
+
}%
|
|
583
|
+
\color@begingroup
|
|
584
|
+
\@makefntext{%
|
|
585
|
+
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
|
|
586
|
+
\color@endgroup}}%
|
|
587
|
+
\fi
|
|
588
|
+
\long\def\@mpfootnotetext#1{%
|
|
589
|
+
\global\setbox\@mpfootins\vbox{%
|
|
590
|
+
\unvbox\@mpfootins
|
|
591
|
+
\reset@font\footnotesize
|
|
592
|
+
\hsize\columnwidth
|
|
593
|
+
\@parboxrestore
|
|
594
|
+
\protected@edef\@currentlabel
|
|
595
|
+
{\csname p@mpfootnote\endcsname\@thefnmark}%
|
|
596
|
+
\color@begingroup\centering
|
|
597
|
+
\@makefntext{%
|
|
598
|
+
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
|
|
599
|
+
\color@endgroup}}
|
|
600
|
+
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
|
|
601
|
+
\RequirePackage{hyperxmp}
|
|
602
|
+
\let\@footnotemark@nolink\@footnotemark
|
|
603
|
+
\let\@footnotetext@nolink\@footnotetext
|
|
604
|
+
\RequirePackage[bookmarksnumbered,unicode]{hyperref}
|
|
605
|
+
\pdfstringdefDisableCommands{%
|
|
606
|
+
\def\addtocounter#1#2{}%
|
|
607
|
+
\def\unskip{}%
|
|
608
|
+
\def\textbullet{- }%
|
|
609
|
+
\def\textrightarrow{ -> }%
|
|
610
|
+
\def\footnotemark{}%
|
|
611
|
+
}
|
|
612
|
+
\urlstyle{rm}
|
|
613
|
+
\ifcase\ACM@format@nr
|
|
614
|
+
\relax % manuscript
|
|
615
|
+
\or % acmsmall
|
|
616
|
+
\or % acmlarge
|
|
617
|
+
\or % acmtog
|
|
618
|
+
\or % sigconf
|
|
619
|
+
\or % siggraph
|
|
620
|
+
\or % sigplan
|
|
621
|
+
\urlstyle{sf}
|
|
622
|
+
\or % sigchi
|
|
623
|
+
\or % sigchi-a
|
|
624
|
+
\urlstyle{sf}
|
|
625
|
+
\or % acmengage
|
|
626
|
+
\or % acmcp
|
|
627
|
+
\fi
|
|
628
|
+
\AtEndPreamble{%
|
|
629
|
+
\if@ACM@urlbreakonhyphens
|
|
630
|
+
\def\do@url@hyp{\do\-}%
|
|
631
|
+
\fi
|
|
632
|
+
\if@ACM@screen
|
|
633
|
+
\hypersetup{colorlinks,
|
|
634
|
+
linkcolor=ACMPurple,
|
|
635
|
+
citecolor=ACMPurple,
|
|
636
|
+
urlcolor=ACMDarkBlue,
|
|
637
|
+
filecolor=ACMDarkBlue}
|
|
638
|
+
\else
|
|
639
|
+
\hypersetup{hidelinks}
|
|
640
|
+
\fi
|
|
641
|
+
\hypersetup{pdflang={en},
|
|
642
|
+
pdfdisplaydoctitle}}
|
|
643
|
+
\if@ACM@natbib
|
|
644
|
+
\let\citeN\cite
|
|
645
|
+
\let\cite\citep
|
|
646
|
+
\let\citeANP\citeauthor
|
|
647
|
+
\let\citeNN\citeyearpar
|
|
648
|
+
\let\citeyearNP\citeyear
|
|
649
|
+
\let\citeNP\citealt
|
|
650
|
+
\DeclareRobustCommand\citeA
|
|
651
|
+
{\begingroup\NAT@swafalse
|
|
652
|
+
\let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
|
|
653
|
+
\providecommand\newblock{}%
|
|
654
|
+
\else
|
|
655
|
+
\AtBeginDocument{%
|
|
656
|
+
\let\shortcite\cite%
|
|
657
|
+
\providecommand\citename[1]{#1}}
|
|
658
|
+
\fi
|
|
659
|
+
\newcommand\shortcite[2][]{%
|
|
660
|
+
\ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
|
|
661
|
+
\def\bibliographystyle#1{%
|
|
662
|
+
\ifx\@begindocumenthook\@undefined\else
|
|
663
|
+
\expandafter\AtBeginDocument
|
|
664
|
+
\fi
|
|
665
|
+
{\if@filesw
|
|
666
|
+
\immediate\write\@auxout{\string\bibstyle{#1}}%
|
|
667
|
+
\fi}}
|
|
668
|
+
\RequirePackage{graphicx}
|
|
669
|
+
\RequirePackage[prologue]{xcolor}
|
|
670
|
+
\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1}
|
|
671
|
+
\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0}
|
|
672
|
+
\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01}
|
|
673
|
+
\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}
|
|
674
|
+
\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0}
|
|
675
|
+
\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
|
|
676
|
+
\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
|
|
677
|
+
\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
|
|
678
|
+
\if@ACM@authordraft
|
|
679
|
+
\RequirePackage{draftwatermark}
|
|
680
|
+
\SetWatermarkFontSize{0.5in}
|
|
681
|
+
\SetWatermarkColor[gray]{.9}
|
|
682
|
+
\SetWatermarkText{\parbox{12em}{\centering
|
|
683
|
+
Unpublished working draft.\\
|
|
684
|
+
Not for distribution.}}
|
|
685
|
+
\else
|
|
686
|
+
\if@ACM@sigchiamode
|
|
687
|
+
\if@ACM@nonacm\else
|
|
688
|
+
\RequirePackage{draftwatermark}
|
|
689
|
+
\SetWatermarkFontSize{0.5in}
|
|
690
|
+
\SetWatermarkColor[gray]{.9}
|
|
691
|
+
\SetWatermarkText{\parbox{12em}{\centering
|
|
692
|
+
Legacy document. \\
|
|
693
|
+
Not for publication in an ACM venue}}
|
|
694
|
+
\fi
|
|
695
|
+
\fi
|
|
696
|
+
\fi
|
|
697
|
+
\RequirePackage{geometry}
|
|
698
|
+
\ifcase\ACM@format@nr
|
|
699
|
+
\relax % manuscript
|
|
700
|
+
\geometry{letterpaper,head=13pt,
|
|
701
|
+
marginparwidth=6pc,heightrounded}%
|
|
702
|
+
\or % acmsmall
|
|
703
|
+
\geometry{twoside=true,
|
|
704
|
+
includeheadfoot, head=13pt, foot=2pc,
|
|
705
|
+
paperwidth=6.75in, paperheight=10in,
|
|
706
|
+
top=58pt, bottom=44pt, inner=46pt, outer=46pt,
|
|
707
|
+
marginparwidth=2pc,heightrounded
|
|
708
|
+
}%
|
|
709
|
+
\or % acmlarge
|
|
710
|
+
\geometry{twoside=true, head=13pt, foot=2pc,
|
|
711
|
+
paperwidth=8.5in, paperheight=11in,
|
|
712
|
+
includeheadfoot,
|
|
713
|
+
top=78pt, bottom=114pt, inner=81pt, outer=81pt,
|
|
714
|
+
marginparwidth=4pc,heightrounded
|
|
715
|
+
}%
|
|
716
|
+
\or % acmtog
|
|
717
|
+
\geometry{twoside=true, head=13pt, foot=2pc,
|
|
718
|
+
paperwidth=8.5in, paperheight=11in,
|
|
719
|
+
includeheadfoot, columnsep=24pt,
|
|
720
|
+
top=52pt, bottom=75pt, inner=52pt, outer=52pt,
|
|
721
|
+
marginparwidth=2pc,heightrounded
|
|
722
|
+
}%
|
|
723
|
+
\or % sigconf
|
|
724
|
+
\geometry{twoside=true, head=13pt,
|
|
725
|
+
paperwidth=8.5in, paperheight=11in,
|
|
726
|
+
includeheadfoot, columnsep=2pc,
|
|
727
|
+
top=57pt, bottom=73pt, inner=54pt, outer=54pt,
|
|
728
|
+
marginparwidth=2pc,heightrounded
|
|
729
|
+
}%
|
|
730
|
+
\or % siggraph
|
|
731
|
+
\geometry{twoside=true, head=13pt,
|
|
732
|
+
paperwidth=8.5in, paperheight=11in,
|
|
733
|
+
includeheadfoot, columnsep=2pc,
|
|
734
|
+
top=57pt, bottom=73pt, inner=54pt, outer=54pt,
|
|
735
|
+
marginparwidth=2pc,heightrounded
|
|
736
|
+
}%
|
|
737
|
+
\or % sigplan
|
|
738
|
+
\geometry{twoside=true, head=13pt,
|
|
739
|
+
paperwidth=8.5in, paperheight=11in,
|
|
740
|
+
includeheadfoot=false, columnsep=2pc,
|
|
741
|
+
top=1in, bottom=1in, inner=0.75in, outer=0.75in,
|
|
742
|
+
marginparwidth=2pc,heightrounded
|
|
743
|
+
}%
|
|
744
|
+
\or % sigchi
|
|
745
|
+
\geometry{twoside=true, head=13pt,
|
|
746
|
+
paperwidth=8.5in, paperheight=11in,
|
|
747
|
+
includeheadfoot, columnsep=2pc,
|
|
748
|
+
top=66pt, bottom=73pt, inner=54pt, outer=54pt,
|
|
749
|
+
marginparwidth=2pc,heightrounded
|
|
750
|
+
}%
|
|
751
|
+
\or % sigchi-a
|
|
752
|
+
\geometry{twoside=false, head=13pt,
|
|
753
|
+
paperwidth=11in, paperheight=8.5in,
|
|
754
|
+
includeheadfoot, marginparsep=72pt,
|
|
755
|
+
marginparwidth=170pt, columnsep=20pt,
|
|
756
|
+
top=72pt, bottom=72pt, left=314pt, right=72pt
|
|
757
|
+
}%
|
|
758
|
+
\@mparswitchfalse
|
|
759
|
+
\reversemarginpar
|
|
760
|
+
\or % acmengage
|
|
761
|
+
\geometry{twoside=true, head=13pt,
|
|
762
|
+
paperwidth=8.5in, paperheight=11in,
|
|
763
|
+
includeheadfoot, columnsep=2pc,
|
|
764
|
+
top=57pt, bottom=73pt, inner=54pt, outer=54pt,
|
|
765
|
+
marginparwidth=2pc,heightrounded
|
|
766
|
+
}%
|
|
767
|
+
\or % acmcp
|
|
768
|
+
\geometry{twoside=true,
|
|
769
|
+
includeheadfoot, head=13pt, foot=2pc,
|
|
770
|
+
paperwidth=6.75in, paperheight=10in,
|
|
771
|
+
top=58pt, bottom=44pt, inner=46pt, outer=46pt,
|
|
772
|
+
marginparwidth=2pc,heightrounded
|
|
773
|
+
}%
|
|
774
|
+
\fi
|
|
775
|
+
\setlength\parindent{10\p@}
|
|
776
|
+
\setlength\parskip{\z@}
|
|
777
|
+
\ifcase\ACM@format@nr
|
|
778
|
+
\relax % manuscript
|
|
779
|
+
\or % acmsmall
|
|
780
|
+
\or % acmlarge
|
|
781
|
+
\or % acmtog
|
|
782
|
+
\setlength\parindent{9\p@}%
|
|
783
|
+
\or % sigconf
|
|
784
|
+
\or % siggraph
|
|
785
|
+
\or % sigplan
|
|
786
|
+
\or % sigchi
|
|
787
|
+
\or % sigchi-a
|
|
788
|
+
\or % acmengage
|
|
789
|
+
\or % acmcp
|
|
790
|
+
\fi
|
|
791
|
+
\setlength\normalparindent{\parindent}
|
|
792
|
+
\def\copyrightpermissionfootnoterule{\kern-3\p@
|
|
793
|
+
\hrule \@width \columnwidth \kern 2.6\p@}
|
|
794
|
+
\RequirePackage{manyfoot}
|
|
795
|
+
\SelectFootnoteRule[2]{copyrightpermission}
|
|
796
|
+
\DeclareNewFootnote{authorsaddresses}
|
|
797
|
+
\SelectFootnoteRule[2]{copyrightpermission}
|
|
798
|
+
\DeclareNewFootnote{copyrightpermission}
|
|
799
|
+
\def\footnoterule{\kern-3\p@
|
|
800
|
+
\hrule \@width 4pc \kern 2.6\p@}
|
|
801
|
+
\def\endminipage{%
|
|
802
|
+
\par
|
|
803
|
+
\unskip
|
|
804
|
+
\ifvoid\@mpfootins\else
|
|
805
|
+
\vskip\skip\@mpfootins
|
|
806
|
+
\normalcolor
|
|
807
|
+
\unvbox\@mpfootins
|
|
808
|
+
\fi
|
|
809
|
+
\@minipagefalse
|
|
810
|
+
\color@endgroup
|
|
811
|
+
\egroup
|
|
812
|
+
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
|
|
813
|
+
\def\@textbottom{\vskip \z@ \@plus 1pt}
|
|
814
|
+
\let\@texttop\relax
|
|
815
|
+
\ifcase\ACM@format@nr
|
|
816
|
+
\relax % manuscript
|
|
817
|
+
\or % acmsmall
|
|
818
|
+
\or % acmlarge
|
|
819
|
+
\or % acmtog
|
|
820
|
+
\flushbottom
|
|
821
|
+
\or % sigconf
|
|
822
|
+
\flushbottom
|
|
823
|
+
\or % siggraph
|
|
824
|
+
\flushbottom
|
|
825
|
+
\or % sigplan
|
|
826
|
+
\flushbottom
|
|
827
|
+
\or % sigchi
|
|
828
|
+
\flushbottom
|
|
829
|
+
\or % sigchi-a
|
|
830
|
+
\or % acmengage
|
|
831
|
+
\flushbottom
|
|
832
|
+
\or % acmcp
|
|
833
|
+
\flushbottom
|
|
834
|
+
\fi
|
|
835
|
+
\ifPDFTeX
|
|
836
|
+
\input{glyphtounicode}
|
|
837
|
+
\pdfglyphtounicode{f_f}{FB00}
|
|
838
|
+
\pdfglyphtounicode{f_f_i}{FB03}
|
|
839
|
+
\pdfglyphtounicode{f_f_l}{FB04}
|
|
840
|
+
\pdfglyphtounicode{f_i}{FB01}
|
|
841
|
+
\pdfglyphtounicode{t_t}{0074 0074}
|
|
842
|
+
\pdfglyphtounicode{f_t}{0066 0074}
|
|
843
|
+
\pdfglyphtounicode{T_h}{0054 0068}
|
|
844
|
+
\pdfgentounicode=1
|
|
845
|
+
\RequirePackage{cmap}
|
|
846
|
+
\fi
|
|
847
|
+
\newif\if@ACM@newfonts
|
|
848
|
+
\@ACM@newfontstrue
|
|
849
|
+
\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
|
|
850
|
+
have the libertine package installed. Please upgrade your
|
|
851
|
+
TeX}\@ACM@newfontsfalse}
|
|
852
|
+
\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
|
|
853
|
+
have the inconsolata (zi4.sty) package installed. Please upgrade your
|
|
854
|
+
TeX}\@ACM@newfontsfalse}
|
|
855
|
+
\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
|
|
856
|
+
have the newtxmath package installed. Please upgrade your
|
|
857
|
+
TeX}\@ACM@newfontsfalse}
|
|
858
|
+
\if@ACM@newfonts
|
|
859
|
+
\RequirePackage[T1]{fontenc}
|
|
860
|
+
% Note that the order in which packages are loaded matters,
|
|
861
|
+
% and the correct order depends on the LaTeX engine used.
|
|
862
|
+
% See https://github.com/borisveytsman/acmart/issues/402
|
|
863
|
+
% and https://github.com/borisveytsman/acmart/issues/410
|
|
864
|
+
\ifxetex
|
|
865
|
+
\RequirePackage[libertine]{newtxmath}
|
|
866
|
+
\RequirePackage[tt=false]{libertine}
|
|
867
|
+
\setmonofont[StylisticSet=3]{inconsolata}
|
|
868
|
+
\else
|
|
869
|
+
\ifluatex
|
|
870
|
+
\RequirePackage[libertine]{newtxmath}
|
|
871
|
+
\RequirePackage[tt=false]{libertine}
|
|
872
|
+
\setmonofont[StylisticSet=3]{inconsolata}
|
|
873
|
+
\else
|
|
874
|
+
\RequirePackage[tt=false, type1=true]{libertine}
|
|
875
|
+
\RequirePackage[varqu]{zi4}
|
|
876
|
+
\RequirePackage[libertine]{newtxmath}
|
|
877
|
+
\fi
|
|
878
|
+
\fi
|
|
879
|
+
\fi
|
|
880
|
+
\let\liningnums\@undefined
|
|
881
|
+
\AtEndPreamble{%
|
|
882
|
+
\DeclareTextFontCommand{\liningnums}{\libertineLF}}
|
|
883
|
+
\if@ACM@sigchiamode
|
|
884
|
+
\renewcommand{\familydefault}{\sfdefault}
|
|
885
|
+
\fi
|
|
886
|
+
\newif\if@Description@present
|
|
887
|
+
\@Description@presenttrue
|
|
888
|
+
\newif\if@undescribed@images
|
|
889
|
+
\@undescribed@imagesfalse
|
|
890
|
+
\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces}
|
|
891
|
+
\AtEndDocument{\if@undescribed@images
|
|
892
|
+
\ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi}
|
|
893
|
+
\AtBeginEnvironment{figure}{\@Description@presentfalse
|
|
894
|
+
\let\@vspace\@vspace@orig
|
|
895
|
+
\let\@vspacer\@vspacer@orig}
|
|
896
|
+
\AtBeginEnvironment{figure*}{\@Description@presentfalse
|
|
897
|
+
\let\@vspace\@vspace@orig
|
|
898
|
+
\let\@vspacer\@vspacer@orig}
|
|
899
|
+
\AtEndEnvironment{figure}{\if@Description@present\else
|
|
900
|
+
\global\@undescribed@imagestrue
|
|
901
|
+
\ClassWarning{\@classname}{A possible image without description}\fi}
|
|
902
|
+
\AtEndEnvironment{figure*}{\if@Description@present\else
|
|
903
|
+
\global\@undescribed@imagestrue
|
|
904
|
+
\ClassWarning{\@classname}{A possible image without description}\fi}
|
|
905
|
+
\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig
|
|
906
|
+
\let\@vspacer\@vspacer@orig}
|
|
907
|
+
\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig
|
|
908
|
+
\let\@vspacer\@vspacer@orig}
|
|
909
|
+
\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig
|
|
910
|
+
\let\@vspacer\@vspacer@orig}
|
|
911
|
+
\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig
|
|
912
|
+
\let\@vspacer\@vspacer@orig}
|
|
913
|
+
\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig
|
|
914
|
+
\let\@vspacer\@vspacer@orig}
|
|
915
|
+
\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig
|
|
916
|
+
\let\@vspacer\@vspacer@orig}
|
|
917
|
+
\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig
|
|
918
|
+
\let\@vspacer\@vspacer@orig}
|
|
919
|
+
\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig
|
|
920
|
+
\let\@vspacer\@vspacer@orig}
|
|
921
|
+
\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig
|
|
922
|
+
\let\@vspacer\@vspacer@orig}
|
|
923
|
+
\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig
|
|
924
|
+
\let\@vspacer\@vspacer@orig}
|
|
925
|
+
|
|
926
|
+
\RequirePackage{caption, float}
|
|
927
|
+
\captionsetup[table]{position=top}
|
|
928
|
+
\if@ACM@journal
|
|
929
|
+
\captionsetup{labelfont={sf, small},
|
|
930
|
+
textfont={sf, small}, margin=\z@}
|
|
931
|
+
\captionsetup[figure]{name={Fig.}}
|
|
932
|
+
\else
|
|
933
|
+
\captionsetup{labelfont={bf},
|
|
934
|
+
textfont={bf}, labelsep=colon, margin=\z@}
|
|
935
|
+
\ifcase\ACM@format@nr
|
|
936
|
+
\relax % manuscript
|
|
937
|
+
\or % acmsmall
|
|
938
|
+
\or % acmlarge
|
|
939
|
+
\or % acmtog
|
|
940
|
+
\or % sigconf
|
|
941
|
+
\or % siggraph
|
|
942
|
+
\captionsetup{textfont={it}}
|
|
943
|
+
\or % sigplan
|
|
944
|
+
\captionsetup{labelfont={bf},
|
|
945
|
+
textfont={normalfont}, labelsep=period, margin=\z@}
|
|
946
|
+
\or % sigchi
|
|
947
|
+
\captionsetup[figure]{labelfont={bf, small},
|
|
948
|
+
textfont={bf, small}}
|
|
949
|
+
\captionsetup[table]{labelfont={bf, small},
|
|
950
|
+
textfont={bf, small}}
|
|
951
|
+
\or % sigchi-a
|
|
952
|
+
\captionsetup[figure]{labelfont={bf, small},
|
|
953
|
+
textfont={bf, small}}
|
|
954
|
+
\captionsetup[table]{labelfont={bf, small},
|
|
955
|
+
textfont={bf, small}}
|
|
956
|
+
\or % acmengage
|
|
957
|
+
\or % acmcp
|
|
958
|
+
\fi
|
|
959
|
+
\fi
|
|
960
|
+
\newfloat{sidebar}{}{sbar}
|
|
961
|
+
\floatname{sidebar}{Sidebar}
|
|
962
|
+
\renewenvironment{sidebar}{\Collect@Body\@sidebar}{}
|
|
963
|
+
\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig
|
|
964
|
+
\let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}%
|
|
965
|
+
\marginpar{\small#1}\egroup}
|
|
966
|
+
\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
|
|
967
|
+
\long\def\@marginfigure#1{\bgroup
|
|
968
|
+
\let\@vspace\@vspace@orig
|
|
969
|
+
\let\@vspacer\@vspacer@orig
|
|
970
|
+
\captionsetup{type=figure}%
|
|
971
|
+
\marginpar{\@Description@presentfalse\centering
|
|
972
|
+
\small#1\if@Description@present\else
|
|
973
|
+
\global\@undescribed@imagestrue
|
|
974
|
+
\ClassWarning{\@classname}{A possible image without description}
|
|
975
|
+
\fi}%
|
|
976
|
+
\egroup}
|
|
977
|
+
\newenvironment{margintable}{\Collect@Body\@margintable}{}
|
|
978
|
+
\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig
|
|
979
|
+
\let\@vspacer\@vspacer@orig\captionsetup{type=table}%
|
|
980
|
+
\marginpar{\centering\small#1}\egroup}
|
|
981
|
+
\newdimen\fulltextwidth
|
|
982
|
+
\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
|
|
983
|
+
\if@ACM@sigchiamode
|
|
984
|
+
\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig
|
|
985
|
+
\let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth
|
|
986
|
+
\let\@endfloatbox\@endwidefloatbox
|
|
987
|
+
\def\@fpsadddefault{\def\@fps{tp}}%
|
|
988
|
+
\@float}
|
|
989
|
+
\fi
|
|
990
|
+
\if@ACM@sigchiamode
|
|
991
|
+
\def\end@dblfloat{%
|
|
992
|
+
\end@float\egroup}
|
|
993
|
+
\fi
|
|
994
|
+
\def\@endwidefloatbox{%
|
|
995
|
+
\par\vskip\z@skip
|
|
996
|
+
\@minipagefalse
|
|
997
|
+
\outer@nobreak
|
|
998
|
+
\egroup
|
|
999
|
+
\color@endbox
|
|
1000
|
+
\global\setbox\@currbox=\vbox{\moveleft
|
|
1001
|
+
\dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
|
|
1002
|
+
\wd\@currbox=\textwidth
|
|
1003
|
+
}
|
|
1004
|
+
\ifcase\ACM@format@nr
|
|
1005
|
+
\relax % manuscript
|
|
1006
|
+
\or % acmsmall
|
|
1007
|
+
\or % acmlarge
|
|
1008
|
+
\or % acmtog
|
|
1009
|
+
\or % sigconf
|
|
1010
|
+
\or % siggraph
|
|
1011
|
+
\or % sigplan
|
|
1012
|
+
\def\labelenumi{\theenumi.}
|
|
1013
|
+
\def\labelenumii{\theenumii.}
|
|
1014
|
+
\def\labelenumiii{\theenumiii.}
|
|
1015
|
+
\def\labelenumiv{\theenumiv.}
|
|
1016
|
+
\or % sigchi
|
|
1017
|
+
\or % sigchi-a
|
|
1018
|
+
\or % acmengage
|
|
1019
|
+
\or % acmcp
|
|
1020
|
+
\fi
|
|
1021
|
+
\newdimen\@ACM@labelwidth
|
|
1022
|
+
\AtBeginDocument{%
|
|
1023
|
+
\setlength\labelsep{4pt}
|
|
1024
|
+
\setlength{\@ACM@labelwidth}{6.5pt}
|
|
1025
|
+
|
|
1026
|
+
%% First-level list: when beginning after the first line of an
|
|
1027
|
+
%% indented paragraph or ending before an indented paragraph, labels
|
|
1028
|
+
%% should not hang to the left of the preceding/following text.
|
|
1029
|
+
\setlength\leftmargini{\z@}
|
|
1030
|
+
\addtolength\leftmargini{\parindent}
|
|
1031
|
+
\addtolength\leftmargini{2\labelsep}
|
|
1032
|
+
\addtolength\leftmargini{\@ACM@labelwidth}
|
|
1033
|
+
|
|
1034
|
+
%% Second-level and higher lists.
|
|
1035
|
+
\setlength\leftmarginii{\z@}
|
|
1036
|
+
\addtolength\leftmarginii{0.5\labelsep}
|
|
1037
|
+
\addtolength\leftmarginii{\@ACM@labelwidth}
|
|
1038
|
+
\setlength\leftmarginiii{\leftmarginii}
|
|
1039
|
+
\setlength\leftmarginiv{\leftmarginiii}
|
|
1040
|
+
\setlength\leftmarginv{\leftmarginiv}
|
|
1041
|
+
\setlength\leftmarginvi{\leftmarginv}
|
|
1042
|
+
\@listi}
|
|
1043
|
+
\newskip\listisep
|
|
1044
|
+
\listisep\smallskipamount
|
|
1045
|
+
\def\@listI{\leftmargin\leftmargini
|
|
1046
|
+
\labelwidth\leftmargini \advance\labelwidth-\labelsep
|
|
1047
|
+
\listparindent\z@
|
|
1048
|
+
\topsep\listisep}
|
|
1049
|
+
\let\@listi\@listI
|
|
1050
|
+
\def\@listii{\leftmargin\leftmarginii
|
|
1051
|
+
\labelwidth\leftmarginii \advance\labelwidth-\labelsep
|
|
1052
|
+
\topsep\z@skip}
|
|
1053
|
+
\def\@listiii{\leftmargin\leftmarginiii
|
|
1054
|
+
\labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
|
|
1055
|
+
\def\@listiv{\leftmargin\leftmarginiv
|
|
1056
|
+
\labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
|
|
1057
|
+
\def\@listv{\leftmargin\leftmarginv
|
|
1058
|
+
\labelwidth\leftmarginv \advance\labelwidth-\labelsep}
|
|
1059
|
+
\def\@listvi{\leftmargin\leftmarginvi
|
|
1060
|
+
\labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
|
|
1061
|
+
\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
|
|
1062
|
+
\renewenvironment{description}{\list{}{%
|
|
1063
|
+
\labelwidth\@ACM@labelwidth
|
|
1064
|
+
\let\makelabel\descriptionlabel}%
|
|
1065
|
+
}{
|
|
1066
|
+
\endlist
|
|
1067
|
+
}
|
|
1068
|
+
\let\enddescription=\endlist % for efficiency
|
|
1069
|
+
\newif\if@ACM@maketitle@typeset
|
|
1070
|
+
\@ACM@maketitle@typesetfalse
|
|
1071
|
+
\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
|
|
1072
|
+
ACMJCSS,%
|
|
1073
|
+
CIE,%
|
|
1074
|
+
CSUR,%
|
|
1075
|
+
DGOV,%
|
|
1076
|
+
DLT,%
|
|
1077
|
+
DTRAP,%
|
|
1078
|
+
FAC,%
|
|
1079
|
+
GAMES,%
|
|
1080
|
+
HEALTH,%
|
|
1081
|
+
IMWUT,%
|
|
1082
|
+
JACM,%
|
|
1083
|
+
JATS,%
|
|
1084
|
+
JDIQ,%
|
|
1085
|
+
JDS,%
|
|
1086
|
+
JEA,%
|
|
1087
|
+
JERIC,%
|
|
1088
|
+
JETC,%
|
|
1089
|
+
JOCCH,%
|
|
1090
|
+
JRC,%
|
|
1091
|
+
PACMCGIT,%
|
|
1092
|
+
PACMHCI,%
|
|
1093
|
+
PACMNET,%
|
|
1094
|
+
PACMPL,%
|
|
1095
|
+
POMACS,%
|
|
1096
|
+
TAAS,%
|
|
1097
|
+
TACCESS,%
|
|
1098
|
+
TACO,%
|
|
1099
|
+
TALG,%
|
|
1100
|
+
TALLIP,%
|
|
1101
|
+
TAP,%
|
|
1102
|
+
TCPS,%
|
|
1103
|
+
TDS,%
|
|
1104
|
+
TEAC,%
|
|
1105
|
+
TECS,%
|
|
1106
|
+
TELO,%
|
|
1107
|
+
THRI,%
|
|
1108
|
+
TIIS,%
|
|
1109
|
+
TIOT,%
|
|
1110
|
+
TISSEC,%
|
|
1111
|
+
TIST,%
|
|
1112
|
+
TKDD,%
|
|
1113
|
+
TMIS,%
|
|
1114
|
+
TOCE,%
|
|
1115
|
+
TOCHI,%
|
|
1116
|
+
TOCL,%
|
|
1117
|
+
TOCS,%
|
|
1118
|
+
TOCT,%
|
|
1119
|
+
TODAES,%
|
|
1120
|
+
TODS,%
|
|
1121
|
+
TOG,%
|
|
1122
|
+
TOIS,%
|
|
1123
|
+
TOIT,%
|
|
1124
|
+
TOMACS,%
|
|
1125
|
+
TOMM,%
|
|
1126
|
+
TOMPECS,%
|
|
1127
|
+
TOMS,%
|
|
1128
|
+
TOPC,%
|
|
1129
|
+
TOPS,%
|
|
1130
|
+
TOPLAS,%
|
|
1131
|
+
TORS,%
|
|
1132
|
+
TOS,%
|
|
1133
|
+
TOSEM,%
|
|
1134
|
+
TOSN,%
|
|
1135
|
+
TQC,%
|
|
1136
|
+
TRETS,%
|
|
1137
|
+
TSAS,%
|
|
1138
|
+
TSC,%
|
|
1139
|
+
TSLP,%
|
|
1140
|
+
TWEB,%
|
|
1141
|
+
FACMP%
|
|
1142
|
+
}{%
|
|
1143
|
+
\ifcase\@journalCode@nr
|
|
1144
|
+
\relax % ACMJCSS
|
|
1145
|
+
\def\@journalName{ACM Journal on Computing and Sustainable Societies}%
|
|
1146
|
+
\def\@journalNameShort{ACM J. Comput. Sustain. Soc.}%
|
|
1147
|
+
\def\@permissionCodeOne{2834-5533}%
|
|
1148
|
+
\or % CIE
|
|
1149
|
+
\def\@journalName{ACM Computers in Entertainment}%
|
|
1150
|
+
\def\@journalNameShort{ACM Comput. Entertain.}%
|
|
1151
|
+
\def\@permissionCodeOne{1544-3574}%
|
|
1152
|
+
\or % CSUR
|
|
1153
|
+
\def\@journalName{ACM Computing Surveys}%
|
|
1154
|
+
\def\@journalNameShort{ACM Comput. Surv.}%
|
|
1155
|
+
\def\@permissionCodeOne{0360-0300}%
|
|
1156
|
+
\or % DGOV
|
|
1157
|
+
\def\@journalName{Digital Government: Research and Practice}%
|
|
1158
|
+
\def\@journalNameShort{Digit. Gov. Res. Pract.}%
|
|
1159
|
+
\def\@permissionCodeOne{2639-0175}%
|
|
1160
|
+
\or % DLT
|
|
1161
|
+
\def\@journalName{Distributed Ledger Technologies: Research and Practice}%
|
|
1162
|
+
\def\@journalNameShort{Distrib. Ledger Technol.}%
|
|
1163
|
+
\def\@permissionCodeOne{2769-6472}%
|
|
1164
|
+
\or % DTRAP
|
|
1165
|
+
\def\@journalName{Digital Threats: Research and Practice}%
|
|
1166
|
+
\def\@journalNameShort{Digit. Threat. Res. Pract.}%
|
|
1167
|
+
\def\@permissionCodeOne{2576-5337}%
|
|
1168
|
+
\or % FAC
|
|
1169
|
+
\def\@journalName{Formal Aspects of Computing}%
|
|
1170
|
+
\def\@journalNameShort{Form. Asp. Comput.}%
|
|
1171
|
+
\def\@permissionCodeOne{0934-5043}%
|
|
1172
|
+
\def\@permissionCodeTwo{1433-299X}%
|
|
1173
|
+
\or % GAMES
|
|
1174
|
+
\def\@journalName{ACM Games: Research and Practice}%
|
|
1175
|
+
\def\@journalNameShort{ACM Games}%
|
|
1176
|
+
\def\@permissionCodeOne{2832-5516}%
|
|
1177
|
+
\or % HEALTH
|
|
1178
|
+
\def\@journalName{ACM Transactions on Computing for Healthcare}%
|
|
1179
|
+
\def\@journalNameShort{ACM Trans. Comput. Healthcare}%
|
|
1180
|
+
\def\@permissionCodeOne{2637-8051}%
|
|
1181
|
+
\or % IMWUT
|
|
1182
|
+
\def\@journalName{Proceedings of the ACM on Interactive, Mobile,
|
|
1183
|
+
Wearable and Ubiquitous Technologies}%
|
|
1184
|
+
\def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%
|
|
1185
|
+
\def\@permissionCodeOne{2474-9567}%
|
|
1186
|
+
\@ACM@screentrue
|
|
1187
|
+
\PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
|
|
1188
|
+
\or % JACM
|
|
1189
|
+
\def\@journalName{Journal of the ACM}%
|
|
1190
|
+
\def\@journalNameShort{J. ACM}%
|
|
1191
|
+
\def\@permissionCodeOne{0004-5411}%
|
|
1192
|
+
\or % JATS
|
|
1193
|
+
\def\@journalName{Journal on Autonomous Transportation Systems}%
|
|
1194
|
+
\def\@journalNameShort{ACM J. Auton. Transport. Syst.}%
|
|
1195
|
+
\def\@permissionCodeOne{2833-0528}%
|
|
1196
|
+
\or % JDIQ
|
|
1197
|
+
\def\@journalName{ACM Journal of Data and Information Quality}%
|
|
1198
|
+
\def\@journalNameShort{ACM J. Data Inform. Quality}%
|
|
1199
|
+
\def\@permissionCodeOne{1936-1955}%
|
|
1200
|
+
\or % JDS
|
|
1201
|
+
\def\@journalName{ACM/JMS Journal of Data Science}%
|
|
1202
|
+
\def\@journalNameShort{ACM/IMS J. Data Sci.}%
|
|
1203
|
+
\def\@permissionCodeOne{2831-3194}%
|
|
1204
|
+
\def\@permissionCodeTwo{2831-3194}%
|
|
1205
|
+
\or % JEA
|
|
1206
|
+
\def\@journalName{ACM Journal of Experimental Algorithmics}%
|
|
1207
|
+
\def\@journalNameShort{ACM J. Exp. Algor.}%
|
|
1208
|
+
\def\@permissionCodeOne{1084-6654}%
|
|
1209
|
+
\or % JERIC
|
|
1210
|
+
\def\@journalName{ACM Journal of Educational Resources in Computing}%
|
|
1211
|
+
\def\@journalNameShort{ACM J. Edu. Resources in Comput.}%
|
|
1212
|
+
\def\@permissionCodeOne{1073-0516}%
|
|
1213
|
+
\or % JETC
|
|
1214
|
+
\def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%
|
|
1215
|
+
\def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%
|
|
1216
|
+
\def\@permissionCodeOne{1550-4832}%
|
|
1217
|
+
\or % JOCCH
|
|
1218
|
+
\def\@journalName{ACM Journal on Computing and Cultural Heritage}%
|
|
1219
|
+
\def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
|
|
1220
|
+
\def\@permissionCodeOne{1556-4673}%
|
|
1221
|
+
\def\@permissionCodeTwo{1556-4711}%
|
|
1222
|
+
\or % JRC
|
|
1223
|
+
\def\@journalName{ACM Journal on Responsible Computing}%
|
|
1224
|
+
\def\@journalNameShort{ACM J. Responsib. Comput.}%
|
|
1225
|
+
\def\@permissionCodeOne{2832-0565}%
|
|
1226
|
+
\or % PACMCGIT
|
|
1227
|
+
\def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%
|
|
1228
|
+
\def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%
|
|
1229
|
+
\def\@permissionCodeOne{2577-6193}%
|
|
1230
|
+
\@ACM@screentrue
|
|
1231
|
+
\PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
|
|
1232
|
+
\or % PACMHCI
|
|
1233
|
+
\def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
|
|
1234
|
+
\def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%
|
|
1235
|
+
\def\@permissionCodeOne{2573-0142}%
|
|
1236
|
+
\@ACM@screentrue
|
|
1237
|
+
\PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
|
|
1238
|
+
\or % PACMNET
|
|
1239
|
+
\def\@journalName{Proceedings of the ACM on Networkng}%
|
|
1240
|
+
\def\@journalNameShort{Proc. ACM Netw.}%
|
|
1241
|
+
\def\@permissionCodeOne{2834-5509}%
|
|
1242
|
+
\or % PACMPL
|
|
1243
|
+
\def\@journalName{Proceedings of the ACM on Programming Languages}%
|
|
1244
|
+
\def\@journalNameShort{Proc. ACM Program. Lang.}%
|
|
1245
|
+
\def\@permissionCodeOne{2475-1421}%
|
|
1246
|
+
\@ACM@screentrue
|
|
1247
|
+
\PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
|
|
1248
|
+
\or % POMACS
|
|
1249
|
+
\def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
|
|
1250
|
+
\def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%
|
|
1251
|
+
\def\@permissionCodeOne{2476-1249}%
|
|
1252
|
+
\@ACM@screentrue
|
|
1253
|
+
\PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
|
|
1254
|
+
\or % TAAS
|
|
1255
|
+
\def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
|
|
1256
|
+
\def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
|
|
1257
|
+
\def\@permissionCodeOne{1556-4665}%
|
|
1258
|
+
\or % TACCESS
|
|
1259
|
+
\def\@journalName{ACM Transactions on Accessible Computing}%
|
|
1260
|
+
\def\@journalNameShort{ACM Trans. Access. Comput.}%
|
|
1261
|
+
\def\@permissionCodeOne{1936-7228}%
|
|
1262
|
+
\or % TACO
|
|
1263
|
+
\def\@journalName{ACM Transactions on Architecture and Code Optimization}%
|
|
1264
|
+
\def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
|
|
1265
|
+
\def\@permissionCodeOne{1544-3566}%
|
|
1266
|
+
\def\@permissionCodeTwo{1544-3973}%
|
|
1267
|
+
\or % TALG
|
|
1268
|
+
\def\@journalName{ACM Transactions on Algorithms}%
|
|
1269
|
+
\def\@journalNameShort{ACM Trans. Algor.}%
|
|
1270
|
+
\def\@permissionCodeOne{1549-6325}%
|
|
1271
|
+
\or % TALLIP
|
|
1272
|
+
\def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%
|
|
1273
|
+
\def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%
|
|
1274
|
+
\def\@permissionCodeOne{2375-4699}%
|
|
1275
|
+
\or % TAP
|
|
1276
|
+
\def\@journalName{ACM Transactions on Applied Perception}%
|
|
1277
|
+
\def\@journalNameShort{ACM Trans. Appl. Percept.}%
|
|
1278
|
+
\def\@permissionCodeOne{1544-3558}%
|
|
1279
|
+
\or % TCPS
|
|
1280
|
+
\def\@journalName{ACM Transactions on Cyber-Physical Systems}%
|
|
1281
|
+
\def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}%
|
|
1282
|
+
\def\@permissionCodeOne{2378-962X}%
|
|
1283
|
+
\or % TDS
|
|
1284
|
+
\def\@journalName{ACM/IMS Transactions on Data Science}%
|
|
1285
|
+
\def\@journalNameShort{ACM/IMS Trans. Data Sci.}%
|
|
1286
|
+
\def\@permissionCodeOne{2577-3224}%
|
|
1287
|
+
\or % TEAC
|
|
1288
|
+
\def\@journalName{ACM Transactions on Economics and Computation}%
|
|
1289
|
+
\def\@journalNameShort{ACM Trans. Econ. Comput.}%
|
|
1290
|
+
\def\@permissionCodeOne{2167-8375}%
|
|
1291
|
+
\or % TECS
|
|
1292
|
+
\def\@journalName{ACM Transactions on Embedded Computing Systems}%
|
|
1293
|
+
\def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
|
|
1294
|
+
\def\@permissionCodeOne{1539-9087}%
|
|
1295
|
+
\or % TELO
|
|
1296
|
+
\def\@journalName{ACM Transactions on Evolutionary Learning}%
|
|
1297
|
+
\def\@journalNameShort{ACM Trans. Evol. Learn.}%
|
|
1298
|
+
\def\@permissionCodeOne{2688-3007}%
|
|
1299
|
+
\or % THRI
|
|
1300
|
+
\def\@journalName{ACM Transactions on Human-Robot Interaction}%
|
|
1301
|
+
\def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
|
|
1302
|
+
\def\@permissionCodeOne{2573-9522}%
|
|
1303
|
+
\or % TIIS
|
|
1304
|
+
\def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
|
|
1305
|
+
\def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
|
|
1306
|
+
\def\@permissionCodeOne{2160-6455}%
|
|
1307
|
+
\or % TIOT
|
|
1308
|
+
\def\@journalName{ACM Transactions on Internet of Things}%
|
|
1309
|
+
\def\@journalNameShort{ACM Trans. Internet Things}%
|
|
1310
|
+
\def\@permissionCodeOne{2577-6207}%
|
|
1311
|
+
\or % TISSEC
|
|
1312
|
+
\def\@journalName{ACM Transactions on Information and System Security}%
|
|
1313
|
+
\def\@journalNameShort{ACM Trans. Info. Syst. Sec.}%
|
|
1314
|
+
\def\@permissionCodeOne{1094-9224}%
|
|
1315
|
+
\or % TIST
|
|
1316
|
+
\def\@journalName{ACM Transactions on Intelligent Systems and Technology}%
|
|
1317
|
+
\def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%
|
|
1318
|
+
\def\@permissionCodeOne{2157-6904}%
|
|
1319
|
+
\or % TKDD
|
|
1320
|
+
\def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
|
|
1321
|
+
\def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
|
|
1322
|
+
\def\@permissionCodeOne{1556-4681}%
|
|
1323
|
+
\or % TMIS
|
|
1324
|
+
\def\@journalName{ACM Transactions on Management Information Systems}%
|
|
1325
|
+
\def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
|
|
1326
|
+
\def\@permissionCodeOne{2158-656X}%
|
|
1327
|
+
\or % TOCE
|
|
1328
|
+
\def\@journalName{ACM Transactions on Computing Education}%
|
|
1329
|
+
\def\@journalNameShort{ACM Trans. Comput. Educ.}%
|
|
1330
|
+
\def\@permissionCodeOne{1946-6226}%
|
|
1331
|
+
\or % TOCHI
|
|
1332
|
+
\def\@journalName{ACM Transactions on Computer-Human Interaction}%
|
|
1333
|
+
\def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
|
|
1334
|
+
\def\@permissionCodeOne{1073-0516}%
|
|
1335
|
+
\or % TOCL
|
|
1336
|
+
\def\@journalName{ACM Transactions on Computational Logic}%
|
|
1337
|
+
\def\@journalNameShort{ACM Trans. Comput. Logic}%
|
|
1338
|
+
\def\@permissionCodeOne{1529-3785}%
|
|
1339
|
+
\or % TOCS
|
|
1340
|
+
\def\@journalName{ACM Transactions on Computer Systems}%
|
|
1341
|
+
\def\@journalNameShort{ACM Trans. Comput. Syst.}%
|
|
1342
|
+
\def\@permissionCodeOne{0734-2071}%
|
|
1343
|
+
\or % TOCT
|
|
1344
|
+
\def\@journalName{ACM Transactions on Computation Theory}%
|
|
1345
|
+
\def\@journalNameShort{ACM Trans. Comput. Theory}%
|
|
1346
|
+
\def\@permissionCodeOne{1942-3454}%
|
|
1347
|
+
\or % TODAES
|
|
1348
|
+
\def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
|
|
1349
|
+
\def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
|
|
1350
|
+
\def\@permissionCodeOne{1084-4309}%
|
|
1351
|
+
\or % TODS
|
|
1352
|
+
\def\@journalName{ACM Transactions on Database Systems}%
|
|
1353
|
+
\def\@journalNameShort{ACM Trans. Datab. Syst.}%
|
|
1354
|
+
\def\@permissionCodeOne{0362-5915}%
|
|
1355
|
+
\or % TOG
|
|
1356
|
+
\def\@journalName{ACM Transactions on Graphics}%
|
|
1357
|
+
\def\@journalNameShort{ACM Trans. Graph.}%
|
|
1358
|
+
\def\@permissionCodeOne{0730-0301}
|
|
1359
|
+
\or % TOIS
|
|
1360
|
+
\def\@journalName{ACM Transactions on Information Systems}%
|
|
1361
|
+
\def\@journalNameShort{ACM Trans. Inf. Syst.}%
|
|
1362
|
+
\def\@permissionCodeOne{1046-8188}%
|
|
1363
|
+
\or % TOIT
|
|
1364
|
+
\def\@journalName{ACM Transactions on Internet Technology}%
|
|
1365
|
+
\def\@journalNameShort{ACM Trans. Internet Technol.}%
|
|
1366
|
+
\def\@permissionCodeOne{1533-5399}%
|
|
1367
|
+
\or % TOMACS
|
|
1368
|
+
\def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
|
|
1369
|
+
\def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
|
|
1370
|
+
\def\@permissionCodeOne{1049-3301}%
|
|
1371
|
+
\def\@permissionCodeTwo{1558-1195}%
|
|
1372
|
+
\or % TOMM
|
|
1373
|
+
\def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%
|
|
1374
|
+
\def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%
|
|
1375
|
+
\def\@permissionCodeOne{1551-6857}%
|
|
1376
|
+
\def\@permissionCodeTwo{1551-6865}%
|
|
1377
|
+
\or % TOMPECS
|
|
1378
|
+
\def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%
|
|
1379
|
+
\def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%
|
|
1380
|
+
\def\@permissionCodeOne{2376-3639}%
|
|
1381
|
+
\or % TOMS
|
|
1382
|
+
\def\@journalName{ACM Transactions on Mathematical Software}%
|
|
1383
|
+
\def\@journalNameShort{ACM Trans. Math. Softw.}%
|
|
1384
|
+
\def\@permissionCodeOne{0098-3500}%
|
|
1385
|
+
\or % TOPC
|
|
1386
|
+
\def\@journalName{ACM Transactions on Parallel Computing}%
|
|
1387
|
+
\def\@journalNameShort{ACM Trans. Parallel Comput.}%
|
|
1388
|
+
\def\@permissionCodeOne{2329-4949}%
|
|
1389
|
+
\def\@permissionCodeTwo{2329-4957}%
|
|
1390
|
+
\or % TOPS
|
|
1391
|
+
\def\@journalName{ACM Transactions on Privacy and Security}%
|
|
1392
|
+
\def\@journalNameShort{ACM Trans. Priv. Sec.}%
|
|
1393
|
+
\def\@permissionCodeOne{2471-2566}%
|
|
1394
|
+
\or % TOPLAS
|
|
1395
|
+
\def\@journalName{ACM Transactions on Programming Languages and Systems}%
|
|
1396
|
+
\def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
|
|
1397
|
+
\def\@permissionCodeOne{0164-0925}%
|
|
1398
|
+
\or % TORS
|
|
1399
|
+
\def\@journalName{ACM Transactions on Recommender Systems}%
|
|
1400
|
+
\def\@journalNameShort{ACM Trans. Recomm. Syst.}%
|
|
1401
|
+
\def\@permissionCodeOne{2770-6699}%
|
|
1402
|
+
\or % TOS
|
|
1403
|
+
\def\@journalName{ACM Transactions on Storage}%
|
|
1404
|
+
\def\@journalNameShort{ACM Trans. Storage}%
|
|
1405
|
+
\def\@permissionCodeOne{1553-3077}%
|
|
1406
|
+
\or % TOSEM
|
|
1407
|
+
\def\@journalName{ACM Transactions on Software Engineering and Methodology}%
|
|
1408
|
+
\def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
|
|
1409
|
+
\def\@permissionCodeOne{1049-331X}%
|
|
1410
|
+
\or % TOSN
|
|
1411
|
+
\def\@journalName{ACM Transactions on Sensor Networks}%
|
|
1412
|
+
\def\@journalNameShort{ACM Trans. Sensor Netw.}%
|
|
1413
|
+
\def\@permissionCodeOne{1550-4859}%
|
|
1414
|
+
\or % TQC
|
|
1415
|
+
\def\@journalName{ACM Transactions on Quantum Computing}%
|
|
1416
|
+
\def\@journalNameShort{ACM Trans. Quantum Comput.}%
|
|
1417
|
+
\def\@permissionCodeOne{2643-6817}%
|
|
1418
|
+
\or % TRETS
|
|
1419
|
+
\def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
|
|
1420
|
+
\def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
|
|
1421
|
+
\def\@permissionCodeOne{1936-7406}%
|
|
1422
|
+
\or % TSAS
|
|
1423
|
+
\def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
|
|
1424
|
+
\def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
|
|
1425
|
+
\def\@permissionCodeOne{2374-0353}%
|
|
1426
|
+
\or % TSC
|
|
1427
|
+
\def\@journalName{ACM Transactions on Social Computing}%
|
|
1428
|
+
\def\@journalNameShort{ACM Trans. Soc. Comput.}%
|
|
1429
|
+
\def\@permissionCodeOne{2469-7818}%
|
|
1430
|
+
\or % TSLP
|
|
1431
|
+
\def\@journalName{ACM Transactions on Speech and Language Processing}%
|
|
1432
|
+
\def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
|
|
1433
|
+
\def\@permissionCodeOne{1550-4875}%
|
|
1434
|
+
\or % TWEB
|
|
1435
|
+
\def\@journalName{ACM Transactions on the Web}%
|
|
1436
|
+
\def\@journalNameShort{ACM Trans. Web}%
|
|
1437
|
+
\def\@permissionCodeOne{1559-1131}%
|
|
1438
|
+
\else % FACMP, a dummy journal
|
|
1439
|
+
\def\@journalName{ACM Just Accepted}%
|
|
1440
|
+
\def\@journalNameShort{ACM Accepted}%
|
|
1441
|
+
\def\@permissionCodeOne{XXXX-XXXX}%
|
|
1442
|
+
\fi
|
|
1443
|
+
\ClassInfo{\@classname}{Using journal code \@journalCode}%
|
|
1444
|
+
}{%
|
|
1445
|
+
\ClassError{\@classname}{Incorrect journal #1}%
|
|
1446
|
+
}%
|
|
1447
|
+
\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}%
|
|
1448
|
+
\global\@ACM@journal@bibstriptrue}
|
|
1449
|
+
\def\@journalCode@nr{0}
|
|
1450
|
+
\def\@journalName{}%
|
|
1451
|
+
\def\@journalNameShort{\@journalName}%
|
|
1452
|
+
\def\@permissionCodeOne{XXXX-XXXX}%
|
|
1453
|
+
\def\@permissionCodeTwo{}%
|
|
1454
|
+
\newcommand\acmConference[4][]{%
|
|
1455
|
+
\gdef\acmConference@shortname{#1}%
|
|
1456
|
+
\gdef\acmConference@name{#2}%
|
|
1457
|
+
\gdef\acmConference@date{#3}%
|
|
1458
|
+
\gdef\acmConference@venue{#4}%
|
|
1459
|
+
\ifx\acmConference@shortname\@empty
|
|
1460
|
+
\gdef\acmConference@shortname{#2}%
|
|
1461
|
+
\fi
|
|
1462
|
+
\global\@ACM@journal@bibstripfalse
|
|
1463
|
+
}
|
|
1464
|
+
\if@ACM@journal\else
|
|
1465
|
+
\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
|
|
1466
|
+
DC, USA}%
|
|
1467
|
+
\fi
|
|
1468
|
+
\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
|
|
1469
|
+
\acmBooktitle{}
|
|
1470
|
+
\ifx\acmConference@name\@undefined\else
|
|
1471
|
+
\acmBooktitle{Proceedings of \acmConference@name
|
|
1472
|
+
\ifx\acmConference@name\acmConference@shortname\else
|
|
1473
|
+
\ (\acmConference@shortname)\fi}
|
|
1474
|
+
\fi
|
|
1475
|
+
\def\@editorsAbbrev{(Ed.)}
|
|
1476
|
+
\def\@acmEditors{}
|
|
1477
|
+
\def\editor#1{\ifx\@acmEditors\@empty
|
|
1478
|
+
\gdef\@acmEditors{#1}%
|
|
1479
|
+
\else
|
|
1480
|
+
\gdef\@editorsAbbrev{(Eds.)}%
|
|
1481
|
+
\g@addto@macro\@acmEditors{\and#1}%
|
|
1482
|
+
\fi}
|
|
1483
|
+
\def\subtitle#1{\def\@subtitle{#1}}
|
|
1484
|
+
\subtitle{}
|
|
1485
|
+
\newcount\num@authorgroups
|
|
1486
|
+
\num@authorgroups=0\relax
|
|
1487
|
+
\newcount\num@authors
|
|
1488
|
+
\num@authors=0\relax
|
|
1489
|
+
\newif\if@insideauthorgroup
|
|
1490
|
+
\@insideauthorgroupfalse
|
|
1491
|
+
\renewcommand\author[2][]{%
|
|
1492
|
+
\IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several
|
|
1493
|
+
authors in the same \string\author\space macro!}}{}%
|
|
1494
|
+
\global\advance\num@authors by 1\relax
|
|
1495
|
+
\if@insideauthorgroup\else
|
|
1496
|
+
\global\advance\num@authorgroups by 1\relax
|
|
1497
|
+
\global\@insideauthorgrouptrue
|
|
1498
|
+
\fi
|
|
1499
|
+
\ifx\addresses\@empty
|
|
1500
|
+
\if@ACM@anonymous
|
|
1501
|
+
\gdef\addresses{\@author{Anonymous Author(s)%
|
|
1502
|
+
\ifx\@acmSubmissionID\@empty\else\\Submission Id:
|
|
1503
|
+
\@acmSubmissionID\fi}}%
|
|
1504
|
+
\gdef\authors{Anonymous Author(s)}%
|
|
1505
|
+
\else
|
|
1506
|
+
\expandafter\gdef\expandafter\addresses\expandafter{%
|
|
1507
|
+
\expandafter\@author\expandafter{%
|
|
1508
|
+
\csname typeset@author\the\num@authors\endcsname{#2}}}%
|
|
1509
|
+
\gdef\authors{#2}%
|
|
1510
|
+
\fi
|
|
1511
|
+
\else
|
|
1512
|
+
\if@ACM@anonymous\else
|
|
1513
|
+
\expandafter\g@addto@macro\expandafter\addresses\expandafter{%
|
|
1514
|
+
\expandafter\and\expandafter\@author\expandafter{%
|
|
1515
|
+
\csname typeset@author\the\num@authors\endcsname{#2}}}%
|
|
1516
|
+
\g@addto@macro\authors{\and#2}%
|
|
1517
|
+
\fi
|
|
1518
|
+
\fi
|
|
1519
|
+
\if@ACM@anonymous
|
|
1520
|
+
\ifx\shortauthors\@empty
|
|
1521
|
+
\gdef\shortauthors{Anon.
|
|
1522
|
+
\ifx\@acmSubmissionID\@empty\else Submission Id:
|
|
1523
|
+
\@acmSubmissionID\fi}%
|
|
1524
|
+
\fi
|
|
1525
|
+
\else
|
|
1526
|
+
\def\@tempa{#1}%
|
|
1527
|
+
\ifx\@tempa\@empty
|
|
1528
|
+
\ifx\shortauthors\@empty
|
|
1529
|
+
\gdef\shortauthors{#2}%
|
|
1530
|
+
\else
|
|
1531
|
+
\g@addto@macro\shortauthors{\and#2}%
|
|
1532
|
+
\fi
|
|
1533
|
+
\else
|
|
1534
|
+
\ifx\shortauthors\@empty
|
|
1535
|
+
\gdef\shortauthors{#1}%
|
|
1536
|
+
\else
|
|
1537
|
+
\g@addto@macro\shortauthors{\and#1}%
|
|
1538
|
+
\fi
|
|
1539
|
+
\fi
|
|
1540
|
+
\fi}
|
|
1541
|
+
\newcommand{\affiliation}[2][]{%
|
|
1542
|
+
\global\@insideauthorgroupfalse
|
|
1543
|
+
\if@ACM@anonymous\else
|
|
1544
|
+
\g@addto@macro\addresses{\affiliation{#1}{#2}}%
|
|
1545
|
+
\fi}
|
|
1546
|
+
\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
|
|
1547
|
+
[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}}
|
|
1548
|
+
\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
|
|
1549
|
+
\def\@additionalaffiliation#1{\bgroup
|
|
1550
|
+
\def\position##1{\ignorespaces}%
|
|
1551
|
+
\def\institution##1{##1\ignorespaces}%
|
|
1552
|
+
\def\department{\@ifnextchar[{\@department}{\@department[]}}%
|
|
1553
|
+
\def\@department[##1]##2{\unskip, ##2\ignorespaces}%
|
|
1554
|
+
\let\streetaddress\position
|
|
1555
|
+
\let\city\position
|
|
1556
|
+
\let\state\position
|
|
1557
|
+
\let\postcode\position
|
|
1558
|
+
\let\country\position
|
|
1559
|
+
Also with #1\unskip.\egroup}
|
|
1560
|
+
\renewcommand{\email}[2][]{%
|
|
1561
|
+
\IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several
|
|
1562
|
+
addresses in the same \string\email\space macro!}}{}%
|
|
1563
|
+
\if@ACM@anonymous\else
|
|
1564
|
+
\g@addto@macro\addresses{\email{#1}{#2}}%
|
|
1565
|
+
\fi}
|
|
1566
|
+
\def\orcid#1{\unskip\ignorespaces%
|
|
1567
|
+
\IfBeginWith{#1}{http}{%
|
|
1568
|
+
\expandafter\gdef\csname
|
|
1569
|
+
typeset@author\the\num@authors\endcsname##1{%
|
|
1570
|
+
\href{#1}{##1}}}{%
|
|
1571
|
+
\expandafter\gdef\csname
|
|
1572
|
+
typeset@author\the\num@authors\endcsname##1{%
|
|
1573
|
+
\href{https://orcid.org/#1}{##1}}}}
|
|
1574
|
+
\def\authorsaddresses#1{\def\@authorsaddresses{#1}}
|
|
1575
|
+
\authorsaddresses{\@mkauthorsaddresses}
|
|
1576
|
+
\newcommand\@mktranslatedkeywords[2]{\bgroup
|
|
1577
|
+
\selectlanguage{#1}%
|
|
1578
|
+
{\@specialsection{\keywordsname}%
|
|
1579
|
+
\noindent#2\par}\egroup}
|
|
1580
|
+
\def\@titlenotes{}
|
|
1581
|
+
\def\titlenote#1{%
|
|
1582
|
+
\g@addto@macro\@title{\footnotemark}%
|
|
1583
|
+
\if@ACM@anonymous
|
|
1584
|
+
\g@addto@macro\@titlenotes{%
|
|
1585
|
+
\stepcounter{footnote}\footnotetext{Title note}}%
|
|
1586
|
+
\else
|
|
1587
|
+
\g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
|
|
1588
|
+
\fi}
|
|
1589
|
+
\def\@subtitlenotes{}
|
|
1590
|
+
\def\subtitlenote#1{%
|
|
1591
|
+
\g@addto@macro\@subtitle{\footnotemark}%
|
|
1592
|
+
\if@ACM@anonymous
|
|
1593
|
+
\g@addto@macro\@subtitlenotes{%
|
|
1594
|
+
\stepcounter{footnote}\footnotetext{Subtitle note}}%
|
|
1595
|
+
\else
|
|
1596
|
+
\g@addto@macro\@subtitlenotes{%
|
|
1597
|
+
\stepcounter{footnote}\footnotetext{#1}}%
|
|
1598
|
+
\fi}
|
|
1599
|
+
\def\@authornotes{}
|
|
1600
|
+
\def\authornote#1{%
|
|
1601
|
+
\if@ACM@anonymous\else
|
|
1602
|
+
\g@addto@macro\addresses{\@authornotemark}%
|
|
1603
|
+
\g@addto@macro\@authornotes{%
|
|
1604
|
+
\stepcounter{footnote}\footnotetext{#1}}%
|
|
1605
|
+
\fi}
|
|
1606
|
+
\newcommand\authornotemark[1][\relax]{%
|
|
1607
|
+
\ifx#1\relax\relax\relax
|
|
1608
|
+
\g@addto@macro\addresses{\@authornotemark}%
|
|
1609
|
+
\else
|
|
1610
|
+
\g@addto@macro\addresses{\@@authornotemark{#1}}%
|
|
1611
|
+
\fi}
|
|
1612
|
+
\def\acmVolume#1{\def\@acmVolume{#1}}
|
|
1613
|
+
\acmVolume{1}
|
|
1614
|
+
\def\acmNumber#1{\def\@acmNumber{#1}}
|
|
1615
|
+
\acmNumber{1}
|
|
1616
|
+
\def\acmArticle#1{\def\@acmArticle{#1}}
|
|
1617
|
+
\acmArticle{}
|
|
1618
|
+
\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}}
|
|
1619
|
+
\acmArticleSeq{\@acmArticle}
|
|
1620
|
+
\def\acmYear#1{\def\@acmYear{#1}}
|
|
1621
|
+
\acmYear{\the\year}
|
|
1622
|
+
\def\acmMonth#1{\def\@acmMonth{#1}}
|
|
1623
|
+
\acmMonth{\the\month}
|
|
1624
|
+
\def\@acmPubDate{\ifcase\@acmMonth\or
|
|
1625
|
+
January\or February\or March\or April\or May\or June\or
|
|
1626
|
+
July\or August\or September\or October\or November\or
|
|
1627
|
+
December\fi~\@acmYear}
|
|
1628
|
+
\def\acmPrice#1{\def\@acmPrice{#1}}
|
|
1629
|
+
\acmPrice{15.00}
|
|
1630
|
+
\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
|
|
1631
|
+
\acmSubmissionID{}
|
|
1632
|
+
\def\acmISBN#1{\def\@acmISBN{#1}}
|
|
1633
|
+
\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
|
|
1634
|
+
\def\acmDOI#1{\def\@acmDOI{#1}}
|
|
1635
|
+
\acmDOI{10.1145/nnnnnnn.nnnnnnn}
|
|
1636
|
+
\newlength\@ACM@badge@width
|
|
1637
|
+
\setlength\@ACM@badge@width{3pc}
|
|
1638
|
+
\newlength\@ACM@title@width
|
|
1639
|
+
\newlength\@ACM@badge@skip
|
|
1640
|
+
\setlength\@ACM@badge@skip{1pt}
|
|
1641
|
+
\def\@acmBadgeR{}
|
|
1642
|
+
\def\@acmBadgeL{}
|
|
1643
|
+
\newcommand\acmBadgeR[2][]{%
|
|
1644
|
+
\ifx\@acmBadgeR\@empty
|
|
1645
|
+
\gdef\@acmBadgeR{%
|
|
1646
|
+
\smash{%
|
|
1647
|
+
\raisebox{0.5\height}{%
|
|
1648
|
+
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
|
|
1649
|
+
\else
|
|
1650
|
+
\g@addto@macro{\@acmBadgeR}{%
|
|
1651
|
+
\hspace{\@ACM@badge@skip}%
|
|
1652
|
+
\smash{%
|
|
1653
|
+
\raisebox{0.5\height}{%
|
|
1654
|
+
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
|
|
1655
|
+
\fi}
|
|
1656
|
+
\newcommand\acmBadgeL[2][]{%
|
|
1657
|
+
\ifx\@acmBadgeL\@empty
|
|
1658
|
+
\gdef\@acmBadgeL{%
|
|
1659
|
+
\smash{%
|
|
1660
|
+
\raisebox{0.5\height}{%
|
|
1661
|
+
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
|
|
1662
|
+
\else
|
|
1663
|
+
\g@addto@macro{\@acmBadgeL}{%
|
|
1664
|
+
\hspace{\@ACM@badge@skip}%
|
|
1665
|
+
\smash{%
|
|
1666
|
+
\raisebox{0.5\height}{%
|
|
1667
|
+
\href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}%
|
|
1668
|
+
\fi}
|
|
1669
|
+
\let\acmBadge=\acmBadgeR
|
|
1670
|
+
\def\startPage#1{\def\@startPage{#1}}
|
|
1671
|
+
\startPage{}
|
|
1672
|
+
\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
|
|
1673
|
+
obsolete. I am going to ignore it}}
|
|
1674
|
+
\def\keywords#1{\def\@keywords{#1}}
|
|
1675
|
+
\let\@keywords\@empty
|
|
1676
|
+
\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty
|
|
1677
|
+
\ifnum\getrefnumber{TotPages}>2\relax
|
|
1678
|
+
\ClassWarningNoLine{\@classname}{ACM keywords are mandatory
|
|
1679
|
+
for papers over two pages}%
|
|
1680
|
+
\fi\fi\fi}
|
|
1681
|
+
\renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
|
|
1682
|
+
\long\def\@saveabstract#1{\if@ACM@maketitle@typeset
|
|
1683
|
+
\ClassError{\@classname}{Abstract must be defined before maketitle
|
|
1684
|
+
command. Please move it!}\fi
|
|
1685
|
+
\long\gdef\@abstract{#1}}
|
|
1686
|
+
\@saveabstract{}
|
|
1687
|
+
\long\def\@lempty{}
|
|
1688
|
+
\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%
|
|
1689
|
+
\if@ACM@printccs
|
|
1690
|
+
\ClassInfo{\@classname}{Printing CCS}%
|
|
1691
|
+
\else
|
|
1692
|
+
\ClassInfo{\@classname}{Suppressing CCS}%
|
|
1693
|
+
\fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
|
|
1694
|
+
\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%
|
|
1695
|
+
\if@ACM@printacmref
|
|
1696
|
+
\ClassInfo{\@classname}{Printing bibformat}%
|
|
1697
|
+
\else
|
|
1698
|
+
\ClassInfo{\@classname}{Suppressing bibformat}%
|
|
1699
|
+
\fi}{\ClassError{\@classname}{The option printacmref can be either true or false}}
|
|
1700
|
+
\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else
|
|
1701
|
+
\ifnum\getrefnumber{TotPages}>1\relax
|
|
1702
|
+
\ClassWarningNoLine{\@classname}{%
|
|
1703
|
+
ACM reference format is mandatory \MessageBreak
|
|
1704
|
+
for papers over one page. \MessageBreak
|
|
1705
|
+
Please add printacmref=true to the \MessageBreak
|
|
1706
|
+
\string\settopmatter\space command.}%
|
|
1707
|
+
\fi\fi\fi}
|
|
1708
|
+
\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%
|
|
1709
|
+
\if@ACM@printfolios
|
|
1710
|
+
\ClassInfo{\@classname}{Printing folios}%
|
|
1711
|
+
\else
|
|
1712
|
+
\ClassInfo{\@classname}{Suppressing folios}%
|
|
1713
|
+
\fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
|
|
1714
|
+
\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
|
|
1715
|
+
\IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
|
|
1716
|
+
#1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be
|
|
1717
|
+
numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
|
|
1718
|
+
\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}}
|
|
1719
|
+
\settopmatter{printccs=true, printacmref=true}
|
|
1720
|
+
\if@ACM@manuscript
|
|
1721
|
+
\settopmatter{printfolios=true}
|
|
1722
|
+
\else
|
|
1723
|
+
\if@ACM@journal
|
|
1724
|
+
\settopmatter{printfolios=true}
|
|
1725
|
+
\else
|
|
1726
|
+
\settopmatter{printfolios=false}
|
|
1727
|
+
\fi
|
|
1728
|
+
\fi
|
|
1729
|
+
\settopmatter{authorsperrow=0}
|
|
1730
|
+
\def\@received{}
|
|
1731
|
+
\newcommand\received[2][]{\def\@tempa{#1}%
|
|
1732
|
+
\ifx\@tempa\@empty
|
|
1733
|
+
\ifx\@received\@empty
|
|
1734
|
+
\gdef\@received{Received #2}%
|
|
1735
|
+
\else
|
|
1736
|
+
\g@addto@macro{\@received}{; revised #2}%
|
|
1737
|
+
\fi
|
|
1738
|
+
\else
|
|
1739
|
+
\ifx\@received\@empty
|
|
1740
|
+
\gdef\@received{#1 #2}%
|
|
1741
|
+
\else
|
|
1742
|
+
\g@addto@macro{\@received}{; #1 #2}%
|
|
1743
|
+
\fi
|
|
1744
|
+
\fi}
|
|
1745
|
+
\AtEndDocument{%
|
|
1746
|
+
\ifx\@received\@empty\else
|
|
1747
|
+
\par\bigskip\noindent\small\normalfont\@received\par
|
|
1748
|
+
\fi}
|
|
1749
|
+
\define@choicekey+{ACM}{articletype}[\ACM@ArticleType\ACM@ArticleType@nr]{%
|
|
1750
|
+
Research,Review,Discussion,Invited,Position}[Review]{%
|
|
1751
|
+
\ifcase\ACM@ArticleType@nr
|
|
1752
|
+
\relax % Research
|
|
1753
|
+
\colorlet{@ACM@Article@color}{ACMBlue}%
|
|
1754
|
+
\or % Review
|
|
1755
|
+
\colorlet{@ACM@Article@color}{ACMOrange}%
|
|
1756
|
+
\or % Discussion
|
|
1757
|
+
\colorlet{@ACM@Article@color}{ACMGreen}%
|
|
1758
|
+
\or % Invited
|
|
1759
|
+
\colorlet{@ACM@Article@color}{ACMPurple}%
|
|
1760
|
+
\or % Position
|
|
1761
|
+
\colorlet{@ACM@Article@color}{ACMRed}%
|
|
1762
|
+
\fi
|
|
1763
|
+
}{%
|
|
1764
|
+
\ClassError{\@classname}{Article Type must be Research, Review,\MessageBreak
|
|
1765
|
+
Discussion, Invited, or Position}}
|
|
1766
|
+
\def\acmArticleType#1{\setkeys{ACM}{articletype=#1}}
|
|
1767
|
+
\if@ACM@acmcp
|
|
1768
|
+
\acmArticleType{Research}%
|
|
1769
|
+
\fi
|
|
1770
|
+
% \end{macrocode}
|
|
1771
|
+
\newenvironment{@ACM@color@frame}{%
|
|
1772
|
+
\def\FrameCommand{\hspace*{-6.5pc}%
|
|
1773
|
+
\colorbox{@ACM@Article@color!10!white}}%
|
|
1774
|
+
\MakeFramed {\advance\hsize
|
|
1775
|
+
-6.5pc\relax\FrameRestore}}{\zsaveposy{@ACM@acmcpframe@y}%
|
|
1776
|
+
\endMakeFramed}
|
|
1777
|
+
\def\acmCodeLink#1{%
|
|
1778
|
+
\ifx\@acmCodeDataLink\@empty
|
|
1779
|
+
\gdef\@acmCodeDataLink{\url{#1}}%
|
|
1780
|
+
\else
|
|
1781
|
+
\g@addto@macro{\@acmCodeDataLink}{\\ \url{#1}}%
|
|
1782
|
+
\fi}
|
|
1783
|
+
\def\@acmCodeDataLink{}
|
|
1784
|
+
\let\acmDataLink\acmCodeLink
|
|
1785
|
+
\RequirePackage{comment}
|
|
1786
|
+
\excludecomment{CCSXML}
|
|
1787
|
+
\let\@concepts\@empty
|
|
1788
|
+
\newcounter{@concepts}
|
|
1789
|
+
\newcommand\ccsdesc[2][100]{%
|
|
1790
|
+
\ccsdesc@parse#1~#2~~\ccsdesc@parse@end}
|
|
1791
|
+
\def\textrightarrow{$\rightarrow$}
|
|
1792
|
+
\def\ccsdesc@parse#1~#2~#3~{%
|
|
1793
|
+
\stepcounter{@concepts}%
|
|
1794
|
+
\expandafter\ifx\csname CCS@General@#2\endcsname\relax
|
|
1795
|
+
\expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\
|
|
1796
|
+
\textbf{#2}}%
|
|
1797
|
+
\expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }%
|
|
1798
|
+
\expandafter\gdef\csname CCS@Specific@#2\endcsname{}%
|
|
1799
|
+
\g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname
|
|
1800
|
+
\csname CCS@Punctuation@#2\endcsname
|
|
1801
|
+
\csname CCS@Specific@#2\endcsname}%
|
|
1802
|
+
\fi
|
|
1803
|
+
\ifx#3\relax\relax\else
|
|
1804
|
+
\expandafter\gdef\csname CCS@Punctuation@#2\endcsname{
|
|
1805
|
+
\textrightarrow\ }%
|
|
1806
|
+
\expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{%
|
|
1807
|
+
\addtocounter{@concepts}{-1}%
|
|
1808
|
+
\ifnum#1>499\textbf{#3}\else
|
|
1809
|
+
\ifnum#1>299\textit{#3}\else
|
|
1810
|
+
#3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}%
|
|
1811
|
+
\fi
|
|
1812
|
+
\ccsdesc@parse@finish}
|
|
1813
|
+
\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax
|
|
1814
|
+
\ifnum\getrefnumber{TotPages}>2\relax
|
|
1815
|
+
\ClassWarningNoLine{\@classname}{CCS concepts are mandatory
|
|
1816
|
+
for papers over two pages}%
|
|
1817
|
+
\fi\fi\fi}
|
|
1818
|
+
\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{}
|
|
1819
|
+
\newif\if@printcopyright
|
|
1820
|
+
\@printcopyrighttrue
|
|
1821
|
+
\newif\if@printpermission
|
|
1822
|
+
\@printpermissiontrue
|
|
1823
|
+
\newif\if@acmowned
|
|
1824
|
+
\@acmownedtrue
|
|
1825
|
+
\define@choicekey*{ACM@}{acmcopyrightmode}[%
|
|
1826
|
+
\acm@copyrightinput\acm@copyrightmode]{none,%
|
|
1827
|
+
acmcopyright,acmlicensed,rightsretained,%
|
|
1828
|
+
usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
|
|
1829
|
+
licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
|
|
1830
|
+
iw3c2w3,iw3c2w3g,cc}{%
|
|
1831
|
+
\@printpermissiontrue
|
|
1832
|
+
\@printcopyrighttrue
|
|
1833
|
+
\@acmownedtrue
|
|
1834
|
+
\ifnum\acm@copyrightmode=0\relax % none
|
|
1835
|
+
\@printpermissionfalse
|
|
1836
|
+
\@printcopyrightfalse
|
|
1837
|
+
\@acmownedfalse
|
|
1838
|
+
\fi
|
|
1839
|
+
\ifnum\acm@copyrightmode=2\relax % acmlicensed
|
|
1840
|
+
\@acmownedfalse
|
|
1841
|
+
\fi
|
|
1842
|
+
\ifnum\acm@copyrightmode=3\relax % rightsretained
|
|
1843
|
+
\@acmownedfalse
|
|
1844
|
+
\AtBeginDocument{\acmPrice{}}%
|
|
1845
|
+
\fi
|
|
1846
|
+
\ifnum\acm@copyrightmode=4\relax % usgov
|
|
1847
|
+
\@printpermissiontrue
|
|
1848
|
+
\@printcopyrightfalse
|
|
1849
|
+
\@acmownedfalse
|
|
1850
|
+
\AtBeginDocument{\acmPrice{}}%
|
|
1851
|
+
\fi
|
|
1852
|
+
\ifnum\acm@copyrightmode=6\relax % cagov
|
|
1853
|
+
\@acmownedfalse
|
|
1854
|
+
\fi
|
|
1855
|
+
\ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
|
|
1856
|
+
\@acmownedfalse
|
|
1857
|
+
\fi
|
|
1858
|
+
\ifnum\acm@copyrightmode=9\relax % licensedcagov
|
|
1859
|
+
\@acmownedfalse
|
|
1860
|
+
\fi
|
|
1861
|
+
\ifnum\acm@copyrightmode=10\relax % licensedcagovmixed
|
|
1862
|
+
\@acmownedfalse
|
|
1863
|
+
\fi
|
|
1864
|
+
\ifnum\acm@copyrightmode=11\relax % othergov
|
|
1865
|
+
\@acmownedtrue
|
|
1866
|
+
\fi
|
|
1867
|
+
\ifnum\acm@copyrightmode=12\relax % licensedothergov
|
|
1868
|
+
\@acmownedfalse
|
|
1869
|
+
\fi
|
|
1870
|
+
\ifnum\acm@copyrightmode=13\relax % iw3c2w3
|
|
1871
|
+
\@acmownedfalse
|
|
1872
|
+
\AtBeginDocument{\acmPrice{}}%
|
|
1873
|
+
\fi
|
|
1874
|
+
\ifnum\acm@copyrightmode=14\relax % iw3c2w3g
|
|
1875
|
+
\@acmownedfalse
|
|
1876
|
+
\AtBeginDocument{\acmPrice{}}%
|
|
1877
|
+
\fi
|
|
1878
|
+
\ifnum\acm@copyrightmode=15\relax % cc
|
|
1879
|
+
\@acmownedfalse
|
|
1880
|
+
\AtBeginDocument{\acmPrice{}}%
|
|
1881
|
+
\fi}
|
|
1882
|
+
\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
|
|
1883
|
+
\setcopyright{acmcopyright}
|
|
1884
|
+
\newcommand\setcctype[2][4.0]{%
|
|
1885
|
+
\def\ACM@cc@version{#1}%
|
|
1886
|
+
\def\ACM@cc@type{#2}}
|
|
1887
|
+
\setcctype{by}
|
|
1888
|
+
\def\@copyrightowner{%
|
|
1889
|
+
\ifcase\acm@copyrightmode\relax % none
|
|
1890
|
+
\or % acmcopyright
|
|
1891
|
+
Association for Computing Machinery.
|
|
1892
|
+
\or % acmlicensed
|
|
1893
|
+
Copyright held by the owner/author(s). Publication rights licensed to
|
|
1894
|
+
ACM\@.
|
|
1895
|
+
\or % rightsretained
|
|
1896
|
+
Copyright held by the owner/author(s).
|
|
1897
|
+
\or % usgov
|
|
1898
|
+
\or % usgovmixed
|
|
1899
|
+
Association for Computing Machinery.
|
|
1900
|
+
\or % cagov
|
|
1901
|
+
Crown in Right of Canada.
|
|
1902
|
+
\or %cagovmixed
|
|
1903
|
+
Association for Computing Machinery.
|
|
1904
|
+
\or %licensedusgovmixed
|
|
1905
|
+
Copyright held by the owner/author(s). Publication rights licensed to
|
|
1906
|
+
ACM\@.
|
|
1907
|
+
\or % licensedcagov
|
|
1908
|
+
Crown in Right of Canada. Publication rights licensed to
|
|
1909
|
+
ACM\@.
|
|
1910
|
+
\or %licensedcagovmixed
|
|
1911
|
+
Copyright held by the owner/author(s). Publication rights licensed to
|
|
1912
|
+
ACM\@.
|
|
1913
|
+
\or % othergov
|
|
1914
|
+
Association for Computing Machinery.
|
|
1915
|
+
\or % licensedothergov
|
|
1916
|
+
Copyright held by the owner/author(s). Publication rights licensed to
|
|
1917
|
+
ACM\@.
|
|
1918
|
+
\or % ic2w3www
|
|
1919
|
+
IW3C2 (International World Wide Web Conference Committee), published
|
|
1920
|
+
under Creative Commons CC-BY~4.0 License.
|
|
1921
|
+
\or % ic2w3wwwgoogle
|
|
1922
|
+
IW3C2 (International World Wide Web Conference Committee), published
|
|
1923
|
+
under Creative Commons CC-BY-NC-ND~4.0 License.
|
|
1924
|
+
\or % cc
|
|
1925
|
+
Copyright held by the owner/author(s).
|
|
1926
|
+
\fi}
|
|
1927
|
+
\def\@formatdoi#1{\url{https://doi.org/#1}}
|
|
1928
|
+
\def\@ACM@copyright@check@cc{%
|
|
1929
|
+
\if@ACM@nonacm
|
|
1930
|
+
\ClassInfo{\@classname}{Using CC license with a non-acm
|
|
1931
|
+
material}%
|
|
1932
|
+
\else
|
|
1933
|
+
\if@ACM@engage
|
|
1934
|
+
\ClassInfo{\@classname}{Using CC license with ACM Enage
|
|
1935
|
+
material}%
|
|
1936
|
+
\else
|
|
1937
|
+
\ClassError{\@classname}{%
|
|
1938
|
+
Sorry, Creative Commons licenses are\MessageBreak
|
|
1939
|
+
currently not used with ACM publications\MessageBreak
|
|
1940
|
+
typeset by the authors}{Please use nonacm
|
|
1941
|
+
option or ACM Engage class to enable CC licenses}%
|
|
1942
|
+
\fi
|
|
1943
|
+
\fi}
|
|
1944
|
+
\def\@copyrightpermission{%
|
|
1945
|
+
\ifcase\acm@copyrightmode\relax % none
|
|
1946
|
+
\or % acmcopyright
|
|
1947
|
+
Permission to make digital or hard copies of all or part of this
|
|
1948
|
+
work for personal or classroom use is granted without fee provided
|
|
1949
|
+
that copies are not made or distributed for profit or commercial
|
|
1950
|
+
advantage and that copies bear this notice and the full citation on
|
|
1951
|
+
the first page. Copyrights for components of this work owned by
|
|
1952
|
+
others than ACM must be honored. Abstracting with credit is
|
|
1953
|
+
permitted. To copy otherwise, or republish, to post on servers or to
|
|
1954
|
+
redistribute to lists, requires prior specific permission
|
|
1955
|
+
and\hspace*{.5pt}/or a fee. Request permissions from
|
|
1956
|
+
permissions@acm.org.
|
|
1957
|
+
\or % acmlicensed
|
|
1958
|
+
Permission to make digital or hard copies of all or part of this
|
|
1959
|
+
work for personal or classroom use is granted without fee provided
|
|
1960
|
+
that copies are not made or distributed for profit or commercial
|
|
1961
|
+
advantage and that copies bear this notice and the full citation on
|
|
1962
|
+
the first page. Copyrights for components of this work owned by
|
|
1963
|
+
others than the author(s) must be honored. Abstracting with credit
|
|
1964
|
+
is permitted. To copy otherwise, or republish, to post on servers
|
|
1965
|
+
or to redistribute to lists, requires prior specific permission
|
|
1966
|
+
and\hspace*{.5pt}/or a fee. Request permissions from
|
|
1967
|
+
permissions@acm.org.
|
|
1968
|
+
\or % rightsretained
|
|
1969
|
+
Permission to make digital or hard copies of part or all of this work
|
|
1970
|
+
for personal or classroom use is granted without fee provided that
|
|
1971
|
+
copies are not made or distributed for profit or commercial advantage
|
|
1972
|
+
and that copies bear this notice and the full citation on the first
|
|
1973
|
+
page. Copyrights for third-party components of this work must be
|
|
1974
|
+
honored. For all other uses, contact the
|
|
1975
|
+
owner\hspace*{.5pt}/author(s).
|
|
1976
|
+
\or % usgov
|
|
1977
|
+
This paper is authored by an employee(s) of the United States
|
|
1978
|
+
Government and is in the public domain. Non-exclusive copying or
|
|
1979
|
+
redistribution is allowed, provided that the article citation is
|
|
1980
|
+
given and the authors and agency are clearly identified as its
|
|
1981
|
+
source.
|
|
1982
|
+
\or % usgovmixed
|
|
1983
|
+
ACM acknowledges that this contribution was authored or co-authored
|
|
1984
|
+
by an employee, contractor, or affiliate of the United States
|
|
1985
|
+
government. As such, the United States government retains a
|
|
1986
|
+
nonexclusive, royalty-free right to publish or reproduce this
|
|
1987
|
+
article, or to allow others to do so, for government purposes only.
|
|
1988
|
+
\or % cagov
|
|
1989
|
+
This article was authored by employees of the Government of Canada.
|
|
1990
|
+
As such, the Canadian government retains all interest in the
|
|
1991
|
+
copyright to this work and grants to ACM a nonexclusive,
|
|
1992
|
+
royalty-free right to publish or reproduce this article, or to allow
|
|
1993
|
+
others to do so, provided that clear attribution is given both to
|
|
1994
|
+
the authors and the Canadian government agency employing them.
|
|
1995
|
+
Permission to make digital or hard copies for personal or classroom
|
|
1996
|
+
use is granted. Copies must bear this notice and the full citation
|
|
1997
|
+
on the first page. Copyrights for components of this work owned by
|
|
1998
|
+
others than the Canadian Government must be honored. To copy
|
|
1999
|
+
otherwise, distribute, republish, or post, requires prior specific
|
|
2000
|
+
permission and\hspace*{.5pt}/or a fee. Request permissions from
|
|
2001
|
+
permissions@acm.org.
|
|
2002
|
+
\or % cagovmixed
|
|
2003
|
+
ACM acknowledges that this contribution was co-authored by an
|
|
2004
|
+
affiliate of the national government of Canada. As such, the Crown
|
|
2005
|
+
in Right of Canada retains an equal interest in the copyright.
|
|
2006
|
+
Reprints must include clear attribution to ACM and the author's
|
|
2007
|
+
government agency affiliation. Permission to make digital or hard
|
|
2008
|
+
copies for personal or classroom use is granted. Copies must bear
|
|
2009
|
+
this notice and the full citation on the first page. Copyrights for
|
|
2010
|
+
components of this work owned by others than ACM must be honored.
|
|
2011
|
+
To copy otherwise, distribute, republish, or post, requires prior
|
|
2012
|
+
specific permission and\hspace*{.5pt}/or a fee. Request permissions
|
|
2013
|
+
from permissions@acm.org.
|
|
2014
|
+
\or % licensedusgovmixed
|
|
2015
|
+
Publication rights licensed to ACM\@. ACM acknowledges that this
|
|
2016
|
+
contribution was authored or co-authored by an employee, contractor
|
|
2017
|
+
or affiliate of the United States government. As such, the
|
|
2018
|
+
Government retains a nonexclusive, royalty-free right to publish or
|
|
2019
|
+
reproduce this article, or to allow others to do so, for Government
|
|
2020
|
+
purposes only.
|
|
2021
|
+
\or % licensedcagov
|
|
2022
|
+
This article was authored by employees of the Government of Canada.
|
|
2023
|
+
As such, the Canadian government retains all interest in the
|
|
2024
|
+
copyright to this work and grants to ACM a nonexclusive,
|
|
2025
|
+
royalty-free right to publish or reproduce this article, or to allow
|
|
2026
|
+
others to do so, provided that clear attribution is given both to
|
|
2027
|
+
the authors and the Canadian government agency employing them.
|
|
2028
|
+
Permission to make digital or hard copies for personal or classroom
|
|
2029
|
+
use is granted. Copies must bear this notice and the full citation
|
|
2030
|
+
on the first page. Copyrights for components of this work owned by
|
|
2031
|
+
others than the Canadian Government must be honored. To copy
|
|
2032
|
+
otherwise, distribute, republish, or post, requires prior specific
|
|
2033
|
+
permission and\hspace*{.5pt}/or a fee. Request permissions from
|
|
2034
|
+
permissions@acm.org.
|
|
2035
|
+
\or % licensedcagovmixed
|
|
2036
|
+
Publication rights licensed to ACM\@. ACM acknowledges that this
|
|
2037
|
+
contribution was authored or co-authored by an employee, contractor
|
|
2038
|
+
or affiliate of the national government of Canada. As such, the
|
|
2039
|
+
Government retains a nonexclusive, royalty-free right to publish or
|
|
2040
|
+
reproduce this article, or to allow others to do so, for Government
|
|
2041
|
+
purposes only.
|
|
2042
|
+
\or % othergov
|
|
2043
|
+
ACM acknowledges that this contribution was authored or co-authored
|
|
2044
|
+
by an employee, contractor or affiliate of a national government. As
|
|
2045
|
+
such, the Government retains a nonexclusive, royalty-free right to
|
|
2046
|
+
publish or reproduce this article, or to allow others to do so, for
|
|
2047
|
+
Government purposes only.
|
|
2048
|
+
\or % licensedothergov
|
|
2049
|
+
Publication rights licensed to ACM\@. ACM acknowledges that this
|
|
2050
|
+
contribution was authored or co-authored by an employee, contractor
|
|
2051
|
+
or affiliate of a national government. As such, the Government
|
|
2052
|
+
retains a nonexclusive, royalty-free right to publish or reproduce
|
|
2053
|
+
this article, or to allow others to do so, for Government purposes
|
|
2054
|
+
only.
|
|
2055
|
+
\or % iw3c2w3
|
|
2056
|
+
This paper is published under the Creative Commons Attribution~4.0
|
|
2057
|
+
International (CC-BY~4.0) license. Authors reserve their rights to
|
|
2058
|
+
disseminate the work on their personal and corporate Web sites with
|
|
2059
|
+
the appropriate attribution.
|
|
2060
|
+
\or % iw3c2w3g
|
|
2061
|
+
This paper is published under the Creative Commons
|
|
2062
|
+
Attribution-NonCommercial-NoDerivs~4.0 International
|
|
2063
|
+
(CC-BY-NC-ND~4.0) license. Authors reserve their rights to
|
|
2064
|
+
disseminate the work on their personal and corporate Web sites with
|
|
2065
|
+
the appropriate attribution.
|
|
2066
|
+
\or % CC
|
|
2067
|
+
\@ACM@copyright@check@cc
|
|
2068
|
+
\IfEq{\ACM@cc@type}{zero}{%
|
|
2069
|
+
\def\ACM@CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
|
|
2070
|
+
\edef\ACM@CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
|
|
2071
|
+
\href{\ACM@CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM@cc@type-88x31}}\\
|
|
2072
|
+
\href{\ACM@CC@Url}{%
|
|
2073
|
+
This work is licensed under a Creative Commons
|
|
2074
|
+
\IfEq{\ACM@cc@type}{zero}{CC0 1.0 Universal}{%
|
|
2075
|
+
\IfEq{\ACM@cc@type}{by}{Attribution}{}%
|
|
2076
|
+
\IfEq{\ACM@cc@type}{by-sa}{Attribution-ShareAlike}{}%
|
|
2077
|
+
\IfEq{\ACM@cc@type}{by-nd}{Attribution-NoDerivatives}{}%
|
|
2078
|
+
\IfEq{\ACM@cc@type}{by-nc}{Attribution-NonCommercial}{}%
|
|
2079
|
+
\IfEq{\ACM@cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%
|
|
2080
|
+
\IfEq{\ACM@cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%
|
|
2081
|
+
~\IfEq{\ACM@cc@version}{4.0}{4.0 International}{3.0 Unported}%
|
|
2082
|
+
}
|
|
2083
|
+
License.}%
|
|
2084
|
+
\fi}
|
|
2085
|
+
\def\copyrightyear#1{\def\@copyrightyear{#1}}
|
|
2086
|
+
\copyrightyear{\@acmYear}
|
|
2087
|
+
\def\@teaserfigures{}
|
|
2088
|
+
\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{}
|
|
2089
|
+
\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}}
|
|
2090
|
+
\renewcommand{\thanks}[1]{%
|
|
2091
|
+
\@ifnotempty{#1}{%
|
|
2092
|
+
\if@ACM@anonymous
|
|
2093
|
+
\g@addto@macro\thankses{\thanks{A note}}%
|
|
2094
|
+
\else
|
|
2095
|
+
\g@addto@macro\thankses{\thanks{#1}}%
|
|
2096
|
+
\fi}}
|
|
2097
|
+
\newcommand{\anon}[2][ANONYMIZED]{%
|
|
2098
|
+
\if@ACM@anonymous%
|
|
2099
|
+
{\color{ACMOrange}#1}%
|
|
2100
|
+
\else%
|
|
2101
|
+
#2%
|
|
2102
|
+
\fi}
|
|
2103
|
+
\ifx\@beginmaketitlehook\@undefined
|
|
2104
|
+
\let\@beginmaketitlehook\@empty
|
|
2105
|
+
\fi
|
|
2106
|
+
\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook}
|
|
2107
|
+
\def\@acmengagemetadata{}
|
|
2108
|
+
\def\setengagemetadata#1#2{%
|
|
2109
|
+
\g@addto@macro{\@acmengagemetadata}{%
|
|
2110
|
+
\@setengagemetadata{#1}{#2}}}
|
|
2111
|
+
\newbox\mktitle@bx
|
|
2112
|
+
\def\maketitle{\@beginmaketitlehook
|
|
2113
|
+
\@ACM@maketitle@typesettrue
|
|
2114
|
+
\if@ACM@anonymous
|
|
2115
|
+
% Anonymize omission of \author-s
|
|
2116
|
+
\ifnum\num@authorgroups=0\author{}\fi
|
|
2117
|
+
\fi
|
|
2118
|
+
\begingroup
|
|
2119
|
+
\let\@vspace\@vspace@orig
|
|
2120
|
+
\let\@vspacer\@vspacer@orig
|
|
2121
|
+
\let\@footnotemark\@footnotemark@nolink
|
|
2122
|
+
\let\@footnotetext\@footnotetext@nolink
|
|
2123
|
+
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
|
|
2124
|
+
\hsize=\textwidth
|
|
2125
|
+
\def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
|
|
2126
|
+
\@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
|
|
2127
|
+
\@printtopmatter
|
|
2128
|
+
\if@ACM@sigchiamode\@mkauthors\fi
|
|
2129
|
+
\setcounter{footnote}{0}%
|
|
2130
|
+
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%
|
|
2131
|
+
\@titlenotes
|
|
2132
|
+
\@subtitlenotes
|
|
2133
|
+
\@authornotes
|
|
2134
|
+
\let\@makefnmark\relax
|
|
2135
|
+
\let\@thefnmark\relax
|
|
2136
|
+
\let\@makefntext\noindent
|
|
2137
|
+
\ifx\@empty\thankses\else
|
|
2138
|
+
\footnotetextauthorsaddresses{%
|
|
2139
|
+
\def\par{\let\par\@par}\parindent\z@\@setthanks}%
|
|
2140
|
+
\fi
|
|
2141
|
+
\if@ACM@acmcp\else
|
|
2142
|
+
\ifx\@empty\@authorsaddresses\else
|
|
2143
|
+
\if@ACM@anonymous\else
|
|
2144
|
+
\if@ACM@journal@bibstrip
|
|
2145
|
+
\footnotetextauthorsaddresses{%
|
|
2146
|
+
\def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
|
|
2147
|
+
\fi
|
|
2148
|
+
\fi
|
|
2149
|
+
\fi
|
|
2150
|
+
\fi
|
|
2151
|
+
\if@ACM@nonacm
|
|
2152
|
+
\ifnum\acm@copyrightmode=15\relax % cc
|
|
2153
|
+
\footnotetextcopyrightpermission{\@copyrightpermission}%
|
|
2154
|
+
\fi
|
|
2155
|
+
\else
|
|
2156
|
+
\if@ACM@acmcp\else
|
|
2157
|
+
\footnotetextcopyrightpermission{%
|
|
2158
|
+
\if@ACM@authordraft
|
|
2159
|
+
\raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
|
|
2160
|
+
Unpublished working draft. Not for distribution.}}%
|
|
2161
|
+
\color[gray]{0.9}%
|
|
2162
|
+
\fi
|
|
2163
|
+
\parindent\z@\parskip0.1\baselineskip
|
|
2164
|
+
\if@ACM@authorversion\else
|
|
2165
|
+
\if@printpermission\@copyrightpermission\par\fi
|
|
2166
|
+
\fi
|
|
2167
|
+
\if@ACM@manuscript\else
|
|
2168
|
+
\if@ACM@journal@bibstrip\else % Print the conference information
|
|
2169
|
+
\if@ACM@engage
|
|
2170
|
+
{\itshape \@acmBooktitle, \@acmYear.}\par
|
|
2171
|
+
\else
|
|
2172
|
+
{\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
|
|
2173
|
+
\fi
|
|
2174
|
+
\fi
|
|
2175
|
+
\fi
|
|
2176
|
+
\if@printcopyright
|
|
2177
|
+
\copyright\ \@copyrightyear\ \@copyrightowner\\
|
|
2178
|
+
\else
|
|
2179
|
+
\@copyrightyear.\
|
|
2180
|
+
\fi
|
|
2181
|
+
\if@ACM@manuscript
|
|
2182
|
+
Manuscript submitted to ACM\\
|
|
2183
|
+
\else
|
|
2184
|
+
\if@ACM@authorversion
|
|
2185
|
+
This is the author's version of the work. It is posted here for
|
|
2186
|
+
your personal use. Not for redistribution. The definitive Version
|
|
2187
|
+
of Record was published in
|
|
2188
|
+
\if@ACM@journal@bibstrip
|
|
2189
|
+
\emph{\@journalName}%
|
|
2190
|
+
\else
|
|
2191
|
+
\emph{\@acmBooktitle}%
|
|
2192
|
+
\fi
|
|
2193
|
+
\ifx\@acmDOI\@empty
|
|
2194
|
+
.
|
|
2195
|
+
\else
|
|
2196
|
+
, \@formatdoi{\@acmDOI}.
|
|
2197
|
+
\fi\\
|
|
2198
|
+
\else
|
|
2199
|
+
\if@ACM@nonacm\else
|
|
2200
|
+
\if@ACM@journal@bibstrip
|
|
2201
|
+
\@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
|
|
2202
|
+
\ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
|
|
2203
|
+
\@formatdoi{\@acmDOI}%
|
|
2204
|
+
\else % Conference
|
|
2205
|
+
\ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN
|
|
2206
|
+
\ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
|
|
2207
|
+
\ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
|
|
2208
|
+
\fi
|
|
2209
|
+
\fi
|
|
2210
|
+
\fi
|
|
2211
|
+
\fi}%
|
|
2212
|
+
\fi
|
|
2213
|
+
\fi
|
|
2214
|
+
\endgroup
|
|
2215
|
+
\if@ACM@engage\@typesetengagemetadata\fi
|
|
2216
|
+
\setcounter{footnote}{0}%
|
|
2217
|
+
\@mkabstract
|
|
2218
|
+
\ifx\@translatedabstracts\@empty\else
|
|
2219
|
+
\@translatedabstracts\fi
|
|
2220
|
+
\if@ACM@printccs
|
|
2221
|
+
\ifx\@concepts\@empty\else\bgroup
|
|
2222
|
+
{\@specialsection{CCS Concepts}%
|
|
2223
|
+
\noindent\@concepts\par}\egroup
|
|
2224
|
+
\fi
|
|
2225
|
+
\fi
|
|
2226
|
+
\if@ACM@acmcp\else
|
|
2227
|
+
\ifx\@keywords\@empty\else\bgroup
|
|
2228
|
+
{\@specialsection{\keywordsname}%
|
|
2229
|
+
\noindent\@keywords\par}\egroup
|
|
2230
|
+
\fi
|
|
2231
|
+
\ifx\@translatedkeywords\@empty\else
|
|
2232
|
+
\@translatedkeywords
|
|
2233
|
+
\fi
|
|
2234
|
+
\fi
|
|
2235
|
+
\let\metadata@authors=\authors
|
|
2236
|
+
\nxandlist{, }{, }{, }\metadata@authors
|
|
2237
|
+
\def\@ACM@checkaffil{}%
|
|
2238
|
+
\hypersetup{%
|
|
2239
|
+
pdfauthor={\metadata@authors},
|
|
2240
|
+
pdftitle={\@title},
|
|
2241
|
+
pdfsubject={\@concepts},
|
|
2242
|
+
pdfkeywords={\@keywords},
|
|
2243
|
+
pdfcreator={LaTeX with acmart
|
|
2244
|
+
\csname ver@acmart.cls\endcsname\space
|
|
2245
|
+
and hyperref
|
|
2246
|
+
\csname ver@hyperref.sty\endcsname}}%
|
|
2247
|
+
\andify\authors
|
|
2248
|
+
\andify\shortauthors
|
|
2249
|
+
\global\let\authors=\authors
|
|
2250
|
+
\global\let\shortauthors=\shortauthors
|
|
2251
|
+
\if@ACM@printacmref
|
|
2252
|
+
\@mkbibcitation
|
|
2253
|
+
\fi
|
|
2254
|
+
\global\@topnum\z@ % this prevents floats from falling
|
|
2255
|
+
% at the top of page 1
|
|
2256
|
+
\global\@botnum\z@ % we do not want them to be on the bottom either
|
|
2257
|
+
\@printendtopmatter
|
|
2258
|
+
\@afterindentfalse
|
|
2259
|
+
\@afterheading
|
|
2260
|
+
\if@ACM@acmcp
|
|
2261
|
+
\set@ACM@acmcpbox
|
|
2262
|
+
\AtEndDocument{\end@ACM@color@frame}%
|
|
2263
|
+
\@ACM@color@frame
|
|
2264
|
+
\fi
|
|
2265
|
+
}
|
|
2266
|
+
\newbox\@ACM@acmcpbox
|
|
2267
|
+
\def\set@ACM@acmcpbox{%
|
|
2268
|
+
\bgroup
|
|
2269
|
+
\hsize=5pc
|
|
2270
|
+
\global\setbox\@ACM@acmcpbox=\vbox{%
|
|
2271
|
+
\setlength{\parindent}{\z@}%
|
|
2272
|
+
{\includegraphics[width=\hsize]{acm-jdslogo}\par}%
|
|
2273
|
+
\scriptsize
|
|
2274
|
+
\ifnum\getrefnumber{TotPages}>1\else
|
|
2275
|
+
\zrefused{@ACM@acmcpbox@y}%
|
|
2276
|
+
\zrefused{@ACM@acmcpframe@y}%
|
|
2277
|
+
\@tempdima=\dimexpr\zposy{@ACM@acmcpbox@y}sp -
|
|
2278
|
+
\zposy{@ACM@acmcpframe@y}sp+0.3\FrameSep+
|
|
2279
|
+
\@ACM@acmcp@delta\relax
|
|
2280
|
+
\ifdim\@tempdima>0pt\relax
|
|
2281
|
+
\vspace*{\@tempdima}%
|
|
2282
|
+
\protected@write\@auxout{}%
|
|
2283
|
+
{\string\global\@ACM@acmcp@delta=\the\@tempdima\relax}%
|
|
2284
|
+
\fi
|
|
2285
|
+
\fi
|
|
2286
|
+
\ifx\@acmCodeDataLink\@empty\else\bigskip
|
|
2287
|
+
Code and data links:\\ \@acmCodeDataLink\par\bigskip
|
|
2288
|
+
\fi
|
|
2289
|
+
\ifx\@keywords\@empty\else\bigskip
|
|
2290
|
+
Keywords: \@keywords\par
|
|
2291
|
+
\fi
|
|
2292
|
+
\ifx\@empty\@authorsaddresses\else\bigskip\@setauthorsaddresses\fi
|
|
2293
|
+
\zsaveposy{@ACM@acmcpbox@y}%
|
|
2294
|
+
}
|
|
2295
|
+
\egroup}
|
|
2296
|
+
\def\@specialsection#1{%
|
|
2297
|
+
\let\@vspace\@vspace@orig
|
|
2298
|
+
\let\@vspacer\@vspacer@orig
|
|
2299
|
+
\ifcase\ACM@format@nr
|
|
2300
|
+
\relax % manuscript
|
|
2301
|
+
\par\medskip\small\noindent#1: %
|
|
2302
|
+
\or % acmsmall
|
|
2303
|
+
\par\medskip\small\noindent#1: %
|
|
2304
|
+
\or % acmlarge
|
|
2305
|
+
\par\medskip\small\noindent#1: %
|
|
2306
|
+
\or % acmtog
|
|
2307
|
+
\par\medskip\small\noindent#1: %
|
|
2308
|
+
\or % sigconf
|
|
2309
|
+
\section*{#1}%
|
|
2310
|
+
\or % siggraph
|
|
2311
|
+
\section*{#1}%
|
|
2312
|
+
\or % sigplan
|
|
2313
|
+
\noindentparagraph*{#1:~}%
|
|
2314
|
+
\or % sigchi
|
|
2315
|
+
\section*{#1}%
|
|
2316
|
+
\or % sigchi-a
|
|
2317
|
+
\section*{#1}%
|
|
2318
|
+
\or % acmengage
|
|
2319
|
+
\section*{#1}%
|
|
2320
|
+
\or % acmcp
|
|
2321
|
+
\section*{#1}%
|
|
2322
|
+
\fi
|
|
2323
|
+
\let\@vspace\@vspace@acm
|
|
2324
|
+
\let\@vspacer\@vspacer@acm
|
|
2325
|
+
}
|
|
2326
|
+
\def\@printtopmatter{%
|
|
2327
|
+
\ifx\@startPage\@empty
|
|
2328
|
+
\gdef\@startPage{1}%
|
|
2329
|
+
\else
|
|
2330
|
+
\setcounter{page}{\@startPage}%
|
|
2331
|
+
\fi
|
|
2332
|
+
\@tempdima=\ht\mktitle@bx
|
|
2333
|
+
\advance\@tempdima by \dp\mktitle@bx
|
|
2334
|
+
\ifdim\@tempdima>0.9\textheight
|
|
2335
|
+
\loop
|
|
2336
|
+
\setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight
|
|
2337
|
+
\thispagestyle{firstpagestyle}%
|
|
2338
|
+
\noindent\unvbox\@tempboxa
|
|
2339
|
+
\clearpage
|
|
2340
|
+
\@tempdima=\ht\mktitle@bx
|
|
2341
|
+
\advance\@tempdima by \dp\mktitle@bx
|
|
2342
|
+
\ifdim\@tempdima>0.9\textheight\repeat
|
|
2343
|
+
\fi
|
|
2344
|
+
\thispagestyle{firstpagestyle}%
|
|
2345
|
+
\noindent
|
|
2346
|
+
\ifcase\ACM@format@nr
|
|
2347
|
+
\relax % manuscript
|
|
2348
|
+
\box\mktitle@bx\par
|
|
2349
|
+
\or % acmsmall
|
|
2350
|
+
\box\mktitle@bx\par
|
|
2351
|
+
\or % acmlarge
|
|
2352
|
+
\box\mktitle@bx\par
|
|
2353
|
+
\or % acmtog
|
|
2354
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2355
|
+
\or % sigconf
|
|
2356
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2357
|
+
\or % siggraph
|
|
2358
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2359
|
+
\or % sigplan
|
|
2360
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2361
|
+
\or % sigchi
|
|
2362
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2363
|
+
\or % sigchi-a
|
|
2364
|
+
\par\box\mktitle@bx\par\bigskip
|
|
2365
|
+
\or % acmengage
|
|
2366
|
+
\twocolumn[\box\mktitle@bx]%
|
|
2367
|
+
\or % acmcp
|
|
2368
|
+
\box\mktitle@bx\par
|
|
2369
|
+
\fi
|
|
2370
|
+
}
|
|
2371
|
+
\def\@mktitle{%
|
|
2372
|
+
\ifcase\ACM@format@nr
|
|
2373
|
+
\relax % manuscript
|
|
2374
|
+
\@mktitle@i
|
|
2375
|
+
\or % acmsmall
|
|
2376
|
+
\@mktitle@i
|
|
2377
|
+
\or % acmlarge
|
|
2378
|
+
\@mktitle@i
|
|
2379
|
+
\or % acmtog
|
|
2380
|
+
\@mktitle@i
|
|
2381
|
+
\or % sigconf
|
|
2382
|
+
\@mktitle@iii
|
|
2383
|
+
\or % siggraph
|
|
2384
|
+
\@mktitle@iii
|
|
2385
|
+
\or % sigplan
|
|
2386
|
+
\@mktitle@iii
|
|
2387
|
+
\or % sigchi
|
|
2388
|
+
\@mktitle@iii
|
|
2389
|
+
\or % sigchi-a
|
|
2390
|
+
\@mktitle@iv
|
|
2391
|
+
\or % acmengage
|
|
2392
|
+
\@mktitle@iii
|
|
2393
|
+
\or % acmcp
|
|
2394
|
+
\@mktitle@i
|
|
2395
|
+
\fi
|
|
2396
|
+
}
|
|
2397
|
+
\def\@titlefont{%
|
|
2398
|
+
\ifcase\ACM@format@nr
|
|
2399
|
+
\relax % manuscript
|
|
2400
|
+
\LARGE\sffamily\bfseries
|
|
2401
|
+
\or % acmsmall
|
|
2402
|
+
\LARGE\sffamily\bfseries
|
|
2403
|
+
\or % acmlarge
|
|
2404
|
+
\LARGE\sffamily\bfseries
|
|
2405
|
+
\or % acmtog
|
|
2406
|
+
\Huge\sffamily
|
|
2407
|
+
\or % sigconf
|
|
2408
|
+
\Huge\sffamily\bfseries
|
|
2409
|
+
\or % siggraph
|
|
2410
|
+
\Huge\sffamily\bfseries
|
|
2411
|
+
\or % sigplan
|
|
2412
|
+
\Huge\bfseries
|
|
2413
|
+
\or % sigchi
|
|
2414
|
+
\Huge\sffamily\bfseries
|
|
2415
|
+
\or % sigchi-a
|
|
2416
|
+
\Huge\bfseries
|
|
2417
|
+
\or % acmengage
|
|
2418
|
+
\Huge\sffamily\bfseries
|
|
2419
|
+
\or % acmcp
|
|
2420
|
+
\LARGE\sffamily\bfseries
|
|
2421
|
+
\fi}
|
|
2422
|
+
\def\@subtitlefont{\normalsize
|
|
2423
|
+
\ifcase\ACM@format@nr
|
|
2424
|
+
\relax % manuscript
|
|
2425
|
+
\mdseries
|
|
2426
|
+
\or % acmsmall
|
|
2427
|
+
\mdseries
|
|
2428
|
+
\or % acmlarge
|
|
2429
|
+
\mdseries
|
|
2430
|
+
\or % acmtog
|
|
2431
|
+
\LARGE
|
|
2432
|
+
\or % sigconf
|
|
2433
|
+
\LARGE\mdseries
|
|
2434
|
+
\or % siggraph
|
|
2435
|
+
\LARGE\mdseries
|
|
2436
|
+
\or % sigplan
|
|
2437
|
+
\LARGE\mdseries
|
|
2438
|
+
\or % sigchi
|
|
2439
|
+
\LARGE\mdseries
|
|
2440
|
+
\or % sigchi-a
|
|
2441
|
+
\mdseries
|
|
2442
|
+
\or % acmengage
|
|
2443
|
+
\LARGE\mdseries
|
|
2444
|
+
\or % acmcp
|
|
2445
|
+
\mdseries
|
|
2446
|
+
\fi}
|
|
2447
|
+
\def\@mktitle@i{\hsize=\textwidth
|
|
2448
|
+
\if@ACM@acmcp
|
|
2449
|
+
\advance\hsize by -6pc%
|
|
2450
|
+
\fi
|
|
2451
|
+
\@ACM@title@width=\hsize
|
|
2452
|
+
\setbox\mktitle@bx=\vbox{\noindent\@titlefont
|
|
2453
|
+
\parbox[t]{\@ACM@title@width}{\raggedright
|
|
2454
|
+
\@titlefont\noindent
|
|
2455
|
+
\@title\@translatedtitle%
|
|
2456
|
+
\ifx\@subtitle\@empty\else
|
|
2457
|
+
\par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}%
|
|
2458
|
+
\fi}%
|
|
2459
|
+
\par\bigskip}}%
|
|
2460
|
+
\def\@mktitle@iii{\hsize=\textwidth
|
|
2461
|
+
\setbox\mktitle@bx=\vbox{\@titlefont\centering
|
|
2462
|
+
\@ACM@title@width=\hsize
|
|
2463
|
+
\parbox[t]{\@ACM@title@width}{\centering\@titlefont
|
|
2464
|
+
\@title\@translatedtitle%
|
|
2465
|
+
\ifx\@subtitle\@empty\else
|
|
2466
|
+
\par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}
|
|
2467
|
+
\fi
|
|
2468
|
+
}%
|
|
2469
|
+
\par\bigskip}}%
|
|
2470
|
+
\def\@mktitle@iv{\hsize=\textwidth
|
|
2471
|
+
\setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont
|
|
2472
|
+
\noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par
|
|
2473
|
+
\noindent\@title\@translatedtitle%
|
|
2474
|
+
\ifx\@subtitle\@empty\else
|
|
2475
|
+
\par\noindent\@subtitlefont\@subtitle\@translatedsubtitle%
|
|
2476
|
+
\fi
|
|
2477
|
+
\par\bigskip}}%
|
|
2478
|
+
\newbox\@ACM@commabox
|
|
2479
|
+
\def\@ACM@addtoaddress#1{%
|
|
2480
|
+
\ifvmode\else
|
|
2481
|
+
\if@ACM@affiliation@obeypunctuation\else
|
|
2482
|
+
\setbox\@ACM@commabox=\hbox{, }%
|
|
2483
|
+
\unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
|
|
2484
|
+
\fi\fi
|
|
2485
|
+
#1}
|
|
2486
|
+
\def\streetaddress#1{\unskip\ignorespaces}
|
|
2487
|
+
\def\postcode#1{\unskip\ignorespaces}
|
|
2488
|
+
\if@ACM@journal
|
|
2489
|
+
\def\position#1{\unskip\ignorespaces}
|
|
2490
|
+
\def\institution#1{\global\@ACM@instpresenttrue
|
|
2491
|
+
\unskip~#1\ignorespaces}
|
|
2492
|
+
\def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces}
|
|
2493
|
+
\def\state#1{\unskip\ignorespaces}
|
|
2494
|
+
\newcommand\department[2][0]{\unskip\ignorespaces}
|
|
2495
|
+
\def\country#1{\StrDel{#1}{ }[\@tempa]%
|
|
2496
|
+
\ifx\@tempa\@empty\else
|
|
2497
|
+
\global\@ACM@countrypresenttrue\fi
|
|
2498
|
+
\if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
|
|
2499
|
+
\else
|
|
2500
|
+
\def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
|
|
2501
|
+
\def\institution#1{\global\@ACM@instpresenttrue
|
|
2502
|
+
\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
|
|
2503
|
+
\newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
|
|
2504
|
+
#2\else#2\par\fi}%
|
|
2505
|
+
\def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}%
|
|
2506
|
+
\let\state\@ACM@addtoaddress
|
|
2507
|
+
\def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}%
|
|
2508
|
+
\fi
|
|
2509
|
+
\def\@mkauthors{\begingroup
|
|
2510
|
+
\hsize=\textwidth
|
|
2511
|
+
\ifcase\ACM@format@nr
|
|
2512
|
+
\relax % manuscript
|
|
2513
|
+
\@mkauthors@i
|
|
2514
|
+
\or % acmsmall
|
|
2515
|
+
\@mkauthors@i
|
|
2516
|
+
\or % acmlarge
|
|
2517
|
+
\@mkauthors@i
|
|
2518
|
+
\or % acmtog
|
|
2519
|
+
\@mkauthors@i
|
|
2520
|
+
\or % sigconf
|
|
2521
|
+
\@mkauthors@iii
|
|
2522
|
+
\or % siggraph
|
|
2523
|
+
\@mkauthors@iii
|
|
2524
|
+
\or % sigplan
|
|
2525
|
+
\@mkauthors@iii
|
|
2526
|
+
\or % sigchi
|
|
2527
|
+
\@mkauthors@iii
|
|
2528
|
+
\or % sigchi-a
|
|
2529
|
+
\@mkauthors@iv
|
|
2530
|
+
\or % acmengage
|
|
2531
|
+
\@mkauthors@iii
|
|
2532
|
+
\or % acmcp
|
|
2533
|
+
\@mkauthors@i
|
|
2534
|
+
\fi
|
|
2535
|
+
\endgroup
|
|
2536
|
+
}
|
|
2537
|
+
\def\@authorfont{\Large\sffamily}
|
|
2538
|
+
\def\@affiliationfont{\normalsize\normalfont}
|
|
2539
|
+
\ifcase\ACM@format@nr
|
|
2540
|
+
\relax % manuscript
|
|
2541
|
+
\or % acmsmall
|
|
2542
|
+
\def\@authorfont{\large\sffamily}
|
|
2543
|
+
\def\@affiliationfont{\small\normalfont}
|
|
2544
|
+
\or % acmlarge
|
|
2545
|
+
\or % acmtog
|
|
2546
|
+
\def\@authorfont{\LARGE\sffamily}
|
|
2547
|
+
\def\@affiliationfont{\large}
|
|
2548
|
+
\or % sigconf
|
|
2549
|
+
\def\@authorfont{\LARGE}
|
|
2550
|
+
\def\@affiliationfont{\large}
|
|
2551
|
+
\or % siggraph
|
|
2552
|
+
\def\@authorfont{\normalsize\normalfont}
|
|
2553
|
+
\def\@affiliationfont{\normalsize\normalfont}
|
|
2554
|
+
\or % sigplan
|
|
2555
|
+
\def\@authorfont{\Large\normalfont}
|
|
2556
|
+
\def\@affiliationfont{\normalsize\normalfont}
|
|
2557
|
+
\or % sigchi
|
|
2558
|
+
\def\@authorfont{\bfseries}
|
|
2559
|
+
\def\@affiliationfont{\mdseries}
|
|
2560
|
+
\or % sigchi-a
|
|
2561
|
+
\def\@authorfont{\bfseries}
|
|
2562
|
+
\def\@affiliationfont{\mdseries}
|
|
2563
|
+
\or % acmengage
|
|
2564
|
+
\def\@authorfont{\LARGE}
|
|
2565
|
+
\def\@affiliationfont{\large}
|
|
2566
|
+
\or % acmcp
|
|
2567
|
+
\def\@authorfont{\large\sffamily}
|
|
2568
|
+
\def\@affiliationfont{\small\normalfont}
|
|
2569
|
+
\fi
|
|
2570
|
+
\def\@typeset@author@line{%
|
|
2571
|
+
\andify\@currentauthors\par\noindent
|
|
2572
|
+
\@currentauthors\def\@currentauthors{}%
|
|
2573
|
+
\ifx\@currentaffiliations\@empty\else
|
|
2574
|
+
\andify\@currentaffiliations
|
|
2575
|
+
\unskip, {\@currentaffiliations}\par
|
|
2576
|
+
\fi
|
|
2577
|
+
\def\@currentaffiliations{}}
|
|
2578
|
+
\newif\if@ACM@instpresent
|
|
2579
|
+
\@ACM@instpresenttrue
|
|
2580
|
+
\newif\if@ACM@citypresent
|
|
2581
|
+
\@ACM@citypresenttrue
|
|
2582
|
+
\newif\if@ACM@countrypresent
|
|
2583
|
+
\@ACM@countrypresenttrue
|
|
2584
|
+
\def\@ACM@resetaffil{%
|
|
2585
|
+
\global\@ACM@instpresentfalse
|
|
2586
|
+
\global\@ACM@citypresentfalse
|
|
2587
|
+
\global\@ACM@countrypresentfalse
|
|
2588
|
+
}
|
|
2589
|
+
\def\@ACM@checkaffil{%
|
|
2590
|
+
\if@ACM@instpresent\else
|
|
2591
|
+
\ClassWarningNoLine{\@classname}{No institution present for an affiliation}%
|
|
2592
|
+
\fi
|
|
2593
|
+
\if@ACM@citypresent\else
|
|
2594
|
+
\ClassWarningNoLine{\@classname}{No city present for an affiliation}%
|
|
2595
|
+
\fi
|
|
2596
|
+
\if@ACM@countrypresent\else
|
|
2597
|
+
\ClassError{\@classname}{No country present for an affiliation}{ACM
|
|
2598
|
+
requires each author to indicate their country using country macro.}%
|
|
2599
|
+
\fi
|
|
2600
|
+
}
|
|
2601
|
+
\def\@mkauthors@i{%
|
|
2602
|
+
\def\@currentauthors{}%
|
|
2603
|
+
\def\@currentaffiliations{}%
|
|
2604
|
+
\global\let\and\@typeset@author@line
|
|
2605
|
+
\def\@author##1{%
|
|
2606
|
+
\ifx\@currentauthors\@empty
|
|
2607
|
+
\gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
|
|
2608
|
+
\else
|
|
2609
|
+
\g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}%
|
|
2610
|
+
\fi
|
|
2611
|
+
\gdef\and{}}%
|
|
2612
|
+
\def\email##1##2{}%
|
|
2613
|
+
\def\affiliation##1##2{%
|
|
2614
|
+
\def\@tempa{##2}\ifx\@tempa\@empty\else
|
|
2615
|
+
\ifx\@currentaffiliations\@empty
|
|
2616
|
+
\gdef\@currentaffiliations{%
|
|
2617
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2618
|
+
\setkeys{@ACM@affiliation@}{##1}%
|
|
2619
|
+
\@ACM@resetaffil
|
|
2620
|
+
\@affiliationfont##2\@ACM@checkaffil}%
|
|
2621
|
+
\else
|
|
2622
|
+
\g@addto@macro{\@currentaffiliations}{\and
|
|
2623
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2624
|
+
\setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
|
|
2625
|
+
##2\@ACM@checkaffil}%
|
|
2626
|
+
\fi
|
|
2627
|
+
\fi
|
|
2628
|
+
\global\let\and\@typeset@author@line}%
|
|
2629
|
+
\if@ACM@acmcp
|
|
2630
|
+
\advance\hsize by -6pc%
|
|
2631
|
+
\fi
|
|
2632
|
+
\global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip
|
|
2633
|
+
\noindent\addresses\@typeset@author@line
|
|
2634
|
+
\par\medskip}%
|
|
2635
|
+
}
|
|
2636
|
+
\newbox\author@bx
|
|
2637
|
+
\newdimen\author@bx@wd
|
|
2638
|
+
\newskip\author@bx@sep
|
|
2639
|
+
\author@bx@sep=1pc\relax
|
|
2640
|
+
\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd
|
|
2641
|
+
\def\and{\par}\normalbaselines
|
|
2642
|
+
\global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
|
|
2643
|
+
\@authorfont\@currentauthors\par\@affiliationfont
|
|
2644
|
+
\@currentaffiliation}\egroup
|
|
2645
|
+
\box\author@bx\hspace{\author@bx@sep}%
|
|
2646
|
+
\gdef\@currentauthors{}%
|
|
2647
|
+
\gdef\@currentaffiliation{}}
|
|
2648
|
+
\def\@mkauthors@iii{%
|
|
2649
|
+
\author@bx@wd=\textwidth\relax
|
|
2650
|
+
\advance\author@bx@wd by -\author@bx@sep\relax
|
|
2651
|
+
\ifnum\@ACM@authorsperrow>0\relax
|
|
2652
|
+
\divide\author@bx@wd by \@ACM@authorsperrow\relax
|
|
2653
|
+
\else
|
|
2654
|
+
\ifcase\num@authorgroups
|
|
2655
|
+
\relax % 0?
|
|
2656
|
+
\or % 1=one author per row
|
|
2657
|
+
\or % 2=two authors per row
|
|
2658
|
+
\divide\author@bx@wd by \num@authorgroups\relax
|
|
2659
|
+
\or % 3=three authors per row
|
|
2660
|
+
\divide\author@bx@wd by \num@authorgroups\relax
|
|
2661
|
+
\or % 4=two authors per row (!)
|
|
2662
|
+
\divide\author@bx@wd by 2\relax
|
|
2663
|
+
\else % three authors per row
|
|
2664
|
+
\divide\author@bx@wd by 3\relax
|
|
2665
|
+
\fi
|
|
2666
|
+
\fi
|
|
2667
|
+
\advance\author@bx@wd by -\author@bx@sep\relax
|
|
2668
|
+
\gdef\@currentauthors{}%
|
|
2669
|
+
\gdef\@currentaffiliation{}%
|
|
2670
|
+
\def\@author##1{\ifx\@currentauthors\@empty
|
|
2671
|
+
\gdef\@currentauthors{\par##1}%
|
|
2672
|
+
\else
|
|
2673
|
+
\g@addto@macro\@currentauthors{\par##1}%
|
|
2674
|
+
\fi
|
|
2675
|
+
\gdef\and{}}%
|
|
2676
|
+
\def\email##1##2{\ifx\@currentaffiliation\@empty
|
|
2677
|
+
\gdef\@currentaffiliation{\bgroup
|
|
2678
|
+
\mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
|
|
2679
|
+
\else
|
|
2680
|
+
\g@addto@macro\@currentaffiliation{\par\bgroup
|
|
2681
|
+
\mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
|
|
2682
|
+
\fi}%
|
|
2683
|
+
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
|
|
2684
|
+
\gdef\@currentaffiliation{%
|
|
2685
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2686
|
+
\setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
|
|
2687
|
+
##2\@ACM@checkaffil}%
|
|
2688
|
+
\else
|
|
2689
|
+
\g@addto@macro\@currentaffiliation{\par
|
|
2690
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2691
|
+
\setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
|
|
2692
|
+
##2\@ACM@checkaffil}%
|
|
2693
|
+
\fi
|
|
2694
|
+
\global\let\and\@typeset@author@bx
|
|
2695
|
+
}%
|
|
2696
|
+
\hsize=\textwidth
|
|
2697
|
+
\global\setbox\mktitle@bx=\vbox{\noindent
|
|
2698
|
+
\unvbox\mktitle@bx\par\medskip\leavevmode
|
|
2699
|
+
\lineskip=1pc\relax\centering\hspace*{-1em}%
|
|
2700
|
+
\addresses\let\and\@typeset@author@bx\and\par\bigskip}}
|
|
2701
|
+
\def\@mkauthors@iv{%
|
|
2702
|
+
\author@bx@wd=\columnwidth\relax
|
|
2703
|
+
\advance\author@bx@wd by -\author@bx@sep\relax
|
|
2704
|
+
\ifnum\@ACM@authorsperrow>0\relax
|
|
2705
|
+
\divide\author@bx@wd by \@ACM@authorsperrow\relax
|
|
2706
|
+
\else
|
|
2707
|
+
\ifcase\num@authorgroups
|
|
2708
|
+
\relax % 0?
|
|
2709
|
+
\or % 1=one author per row
|
|
2710
|
+
\else % 2=two authors per row
|
|
2711
|
+
\divide\author@bx@wd by 2\relax
|
|
2712
|
+
\fi
|
|
2713
|
+
\fi
|
|
2714
|
+
\advance\author@bx@wd by -\author@bx@sep\relax
|
|
2715
|
+
\gdef\@currentauthors{}%
|
|
2716
|
+
\gdef\@currentaffiliation{}%
|
|
2717
|
+
\def\@author##1{\ifx\@currentauthors\@empty
|
|
2718
|
+
\gdef\@currentauthors{\par##1}%
|
|
2719
|
+
\else
|
|
2720
|
+
\g@addto@macro\@currentauthors{\par##1}%
|
|
2721
|
+
\fi
|
|
2722
|
+
\gdef\and{}}%
|
|
2723
|
+
\def\email##1##2{\ifx\@currentaffiliation\@empty
|
|
2724
|
+
\gdef\@currentaffiliation{\nolinkurl{##2}}%
|
|
2725
|
+
\else
|
|
2726
|
+
\g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
|
|
2727
|
+
\fi}%
|
|
2728
|
+
\def\affiliation##1##2{\ifx\@currentaffiliation\@empty
|
|
2729
|
+
\gdef\@currentaffiliation{%
|
|
2730
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2731
|
+
\setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
|
|
2732
|
+
##2\@ACM@checkaffil}%
|
|
2733
|
+
\else
|
|
2734
|
+
\g@addto@macro\@currentaffiliation{\par
|
|
2735
|
+
\setkeys{@ACM@affiliation@}{obeypunctuation=false}%
|
|
2736
|
+
\setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
|
|
2737
|
+
##2\@ACM@checkaffil}%
|
|
2738
|
+
\fi
|
|
2739
|
+
\global\let\and\@typeset@author@bx}%
|
|
2740
|
+
\bgroup\hsize=\columnwidth
|
|
2741
|
+
\par\raggedright\leftskip=\z@
|
|
2742
|
+
\lineskip=1pc\noindent
|
|
2743
|
+
\addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup}
|
|
2744
|
+
\def\@mkauthorsaddresses{%
|
|
2745
|
+
\ifnum\num@authors>1\relax
|
|
2746
|
+
Authors' \else Author's \fi
|
|
2747
|
+
\ifnum\num@authorgroups>1\relax
|
|
2748
|
+
addresses: \else address: \fi
|
|
2749
|
+
\bgroup
|
|
2750
|
+
\def\streetaddress##1{\unskip, ##1}%
|
|
2751
|
+
\def\postcode##1{\unskip, ##1}%
|
|
2752
|
+
\def\position##1{\unskip\ignorespaces}%
|
|
2753
|
+
\gdef\@ACM@institution@separator{, }%
|
|
2754
|
+
\def\institution##1{\unskip\@ACM@institution@separator ##1\gdef\@ACM@institution@separator{ and }}%
|
|
2755
|
+
\def\city##1{\unskip, ##1}%
|
|
2756
|
+
\def\state##1{\unskip, ##1}%
|
|
2757
|
+
\renewcommand\department[2][0]{\unskip\@addpunct, ##2}%
|
|
2758
|
+
\def\country##1{\unskip, ##1}%
|
|
2759
|
+
\def\and{\unskip; \gdef\@ACM@institution@separator{, }}%
|
|
2760
|
+
\def\@author##1{##1}%
|
|
2761
|
+
\def\email##1##2{\unskip, \nolinkurl{##2}}%
|
|
2762
|
+
\addresses
|
|
2763
|
+
\egroup}
|
|
2764
|
+
\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal
|
|
2765
|
+
\ifx\@authorsaddresses\@empty
|
|
2766
|
+
\ClassWarningNoLine{\@classname}{Authors'
|
|
2767
|
+
addresses are mandatory for ACM journals}%
|
|
2768
|
+
\fi\fi\fi}
|
|
2769
|
+
\def\@setaddresses{}
|
|
2770
|
+
\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
|
|
2771
|
+
\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}}
|
|
2772
|
+
\def\@mkteasers{%
|
|
2773
|
+
\ifx\@teaserfigures\@empty\else
|
|
2774
|
+
\def\@teaser##1{\par\bigskip\bgroup
|
|
2775
|
+
\captionsetup{type=figure}##1\egroup\par}
|
|
2776
|
+
\global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par
|
|
2777
|
+
\noindent\@Description@presentfalse
|
|
2778
|
+
\@teaserfigures\par\if@Description@present\else
|
|
2779
|
+
\global\@undescribed@imagestrue
|
|
2780
|
+
\ClassWarning{\@classname}{A possible image without
|
|
2781
|
+
description}\fi
|
|
2782
|
+
\medskip}%
|
|
2783
|
+
\fi}
|
|
2784
|
+
\def\@mkabstract{\bgroup
|
|
2785
|
+
\ifx\@abstract\@lempty\else
|
|
2786
|
+
{\phantomsection\addcontentsline{toc}{section}{\abstractname}%
|
|
2787
|
+
\if@ACM@journal
|
|
2788
|
+
\everypar{\setbox\z@\lastbox\everypar{}}\small
|
|
2789
|
+
\else
|
|
2790
|
+
\section*{\abstractname}%
|
|
2791
|
+
\fi
|
|
2792
|
+
\ignorespaces\@abstract\par}%
|
|
2793
|
+
\fi\egroup}
|
|
2794
|
+
\def\@mktranslatedabstract#1{\selectlanguage{#1}%
|
|
2795
|
+
\if@ACM@journal
|
|
2796
|
+
\everypar{\setbox\z@\lastbox\everypar{}}\small
|
|
2797
|
+
\else
|
|
2798
|
+
\section*{\abstractname}%
|
|
2799
|
+
\fi
|
|
2800
|
+
\ignorespaces}
|
|
2801
|
+
\def\@mkbibcitation{\bgroup
|
|
2802
|
+
\let\@vspace\@vspace@orig
|
|
2803
|
+
\let\@vspacer\@vspacer@orig
|
|
2804
|
+
\def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}%
|
|
2805
|
+
\def\footnotemark{}%
|
|
2806
|
+
\def\\{\unskip{} \ignorespaces}%
|
|
2807
|
+
\def\footnote{\ClassError{\@classname}{Please do not use footnotes
|
|
2808
|
+
inside a \string\title{} or \string\author{} command! Use
|
|
2809
|
+
\string\titlenote{} or \string\authornote{} instead!}}%
|
|
2810
|
+
\def\@article@string{\ifx\@acmArticle\@empty{\ }\else,
|
|
2811
|
+
Article~\@acmArticle\ \fi}%
|
|
2812
|
+
\par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak
|
|
2813
|
+
\noindent\bgroup
|
|
2814
|
+
\def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title
|
|
2815
|
+
\ifx\@subtitle\@empty. \else: \@subtitle. \fi
|
|
2816
|
+
\if@ACM@nonacm\else
|
|
2817
|
+
% The 'nonacm' option disables 'printacmref' by default,
|
|
2818
|
+
% and the present \@mkbibcitation definition is never used
|
|
2819
|
+
% in this case. The conditional remains useful if the user
|
|
2820
|
+
% explicitly sets \settopmatter{printacmref=true}.
|
|
2821
|
+
\if@ACM@journal@bibstrip
|
|
2822
|
+
\textit{\@journalNameShort}
|
|
2823
|
+
\@acmVolume, \@acmNumber \@article@string (\@acmPubDate),
|
|
2824
|
+
\ref{TotPages}~\@pages@word.
|
|
2825
|
+
\else
|
|
2826
|
+
In \textit{\@acmBooktitle}%
|
|
2827
|
+
\ifx\@acmEditors\@empty\textit{.}\else
|
|
2828
|
+
\andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
|
|
2829
|
+
\fi\
|
|
2830
|
+
ACM, New York, NY, USA%
|
|
2831
|
+
\@article@string\unskip, \ref{TotPages}~\@pages@word.
|
|
2832
|
+
\fi
|
|
2833
|
+
\fi
|
|
2834
|
+
\ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
|
|
2835
|
+
\par\egroup}
|
|
2836
|
+
\def\@printendtopmatter{%
|
|
2837
|
+
\let\@vspace\@vspace@orig
|
|
2838
|
+
\let\@vspacer\@vspacer@orig
|
|
2839
|
+
\par\bigskip
|
|
2840
|
+
\let\@vspace\@vspace@acm
|
|
2841
|
+
\let\@vspacer\@vspacer@acm
|
|
2842
|
+
}
|
|
2843
|
+
\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses}
|
|
2844
|
+
\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
|
|
2845
|
+
\def\@typesetengagemetadata{%
|
|
2846
|
+
\def\@setengagemetadata##1##2{\par\noindent\textbf{##1} ##2\par}%
|
|
2847
|
+
\@acmengagemetadata}
|
|
2848
|
+
\RequirePackage{fancyhdr}
|
|
2849
|
+
\let\ACM@ps@plain\ps@plain
|
|
2850
|
+
\let\ACM@ps@myheadings\ps@myheadings
|
|
2851
|
+
\let\ACM@ps@headings\ps@headings
|
|
2852
|
+
\def\ACM@restore@pagestyle{%
|
|
2853
|
+
\let\ps@plain\ACM@ps@plain
|
|
2854
|
+
\let\ps@myheadings\ACM@ps@myheadings
|
|
2855
|
+
\let\ps@headings\ACM@ps@headings}
|
|
2856
|
+
\AtBeginDocument{\ACM@restore@pagestyle}
|
|
2857
|
+
\if@ACM@review
|
|
2858
|
+
\newsavebox{\ACM@linecount@bx}
|
|
2859
|
+
\newlength\ACM@linecount@bxht
|
|
2860
|
+
\newcount\ACM@linecount
|
|
2861
|
+
\ACM@linecount\@ne\relax
|
|
2862
|
+
\def\ACM@mk@linecount{%
|
|
2863
|
+
\savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont
|
|
2864
|
+
\normalsize
|
|
2865
|
+
\setlength{\ACM@linecount@bxht}{0pt}%
|
|
2866
|
+
\loop{\color{red}\scriptsize\the\ACM@linecount}\\
|
|
2867
|
+
\global\advance\ACM@linecount by \@ne
|
|
2868
|
+
\addtolength{\ACM@linecount@bxht}{\baselineskip}%
|
|
2869
|
+
\ifdim\ACM@linecount@bxht<\textheight\repeat
|
|
2870
|
+
{\color{red}\scriptsize\the\ACM@linecount}\hfill
|
|
2871
|
+
\global\advance\ACM@linecount by \@ne}}}
|
|
2872
|
+
\fi
|
|
2873
|
+
\def\ACM@linecountL{%
|
|
2874
|
+
\if@ACM@review
|
|
2875
|
+
\ACM@mk@linecount
|
|
2876
|
+
\begin{picture}(0,0)%
|
|
2877
|
+
\put(-26,-22){\usebox{\ACM@linecount@bx}}%
|
|
2878
|
+
\end{picture}%
|
|
2879
|
+
\fi}
|
|
2880
|
+
\def\ACM@linecountR{%
|
|
2881
|
+
\if@ACM@review
|
|
2882
|
+
\ifcase\ACM@format@nr
|
|
2883
|
+
\relax % manuscript
|
|
2884
|
+
\relax
|
|
2885
|
+
\or % acmsmall
|
|
2886
|
+
\relax
|
|
2887
|
+
\or % acmlarge
|
|
2888
|
+
\relax
|
|
2889
|
+
\or % acmtog
|
|
2890
|
+
\ACM@mk@linecount
|
|
2891
|
+
\or % sigconf
|
|
2892
|
+
\ACM@mk@linecount
|
|
2893
|
+
\or % siggraph
|
|
2894
|
+
\ACM@mk@linecount
|
|
2895
|
+
\or % sigplan
|
|
2896
|
+
\ACM@mk@linecount
|
|
2897
|
+
\or % sigchi
|
|
2898
|
+
\ACM@mk@linecount
|
|
2899
|
+
\or % sigchi-a
|
|
2900
|
+
\ACM@mk@linecount
|
|
2901
|
+
\or % acmengage
|
|
2902
|
+
\ACM@mk@linecount
|
|
2903
|
+
\or % acmcp
|
|
2904
|
+
\relax
|
|
2905
|
+
\fi
|
|
2906
|
+
\begin{picture}(0,0)%
|
|
2907
|
+
\put(20,-22){\usebox{\ACM@linecount@bx}}%
|
|
2908
|
+
\end{picture}%
|
|
2909
|
+
\fi}
|
|
2910
|
+
\if@ACM@timestamp
|
|
2911
|
+
% Subtracting 30 from \time gives us the effect of rounding down despite
|
|
2912
|
+
% \numexpr rounding to nearest
|
|
2913
|
+
\newcounter{ACM@time@hours}
|
|
2914
|
+
\setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
|
|
2915
|
+
\newcounter{ACM@time@minutes}
|
|
2916
|
+
\setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
|
|
2917
|
+
\newcommand\ACM@timestamp{%
|
|
2918
|
+
\footnotesize%
|
|
2919
|
+
\ifx\@acmSubmissionID\@empty\relax\else
|
|
2920
|
+
Submission ID: \@acmSubmissionID.{ }%
|
|
2921
|
+
\fi
|
|
2922
|
+
\the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
|
|
2923
|
+
\two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }%
|
|
2924
|
+
Page \thepage\ of \@startPage--\pageref*{TotPages}.%
|
|
2925
|
+
}
|
|
2926
|
+
\fi
|
|
2927
|
+
\def\@shortauthors{%
|
|
2928
|
+
\if@ACM@anonymous
|
|
2929
|
+
Anon.
|
|
2930
|
+
\ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi
|
|
2931
|
+
\else\shortauthors\fi}
|
|
2932
|
+
\def\@headfootfont{\sffamily\footnotesize}
|
|
2933
|
+
\AtBeginDocument{%
|
|
2934
|
+
\fancypagestyle{standardpagestyle}{%
|
|
2935
|
+
\fancyhf{}%
|
|
2936
|
+
\renewcommand{\headrulewidth}{\z@}%
|
|
2937
|
+
\renewcommand{\footrulewidth}{\z@}%
|
|
2938
|
+
\def\@acmArticlePage{%
|
|
2939
|
+
\ifx\@acmArticle\empty%
|
|
2940
|
+
\if@ACM@printfolios\thepage\fi%
|
|
2941
|
+
\else%
|
|
2942
|
+
\@acmArticle\if@ACM@printfolios:\thepage\fi%
|
|
2943
|
+
\fi%
|
|
2944
|
+
}%
|
|
2945
|
+
\if@ACM@journal@bibstrip
|
|
2946
|
+
\ifcase\ACM@format@nr
|
|
2947
|
+
\relax % manuscript
|
|
2948
|
+
\fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
|
|
2949
|
+
\fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
|
|
2950
|
+
\fancyhead[RE]{\@shortauthors}%
|
|
2951
|
+
\fancyhead[LO]{\ACM@linecountL\shorttitle}%
|
|
2952
|
+
\if@ACM@nonacm\else%
|
|
2953
|
+
\fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
|
|
2954
|
+
\fi%
|
|
2955
|
+
\or % acmsmall
|
|
2956
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}%
|
|
2957
|
+
\fancyhead[RO]{\@headfootfont\@acmArticlePage}%
|
|
2958
|
+
\fancyhead[RE]{\@headfootfont\@shortauthors}%
|
|
2959
|
+
\fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
|
|
2960
|
+
\if@ACM@nonacm\else%
|
|
2961
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
2962
|
+
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
|
|
2963
|
+
\fi
|
|
2964
|
+
\or % acmlarge
|
|
2965
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont
|
|
2966
|
+
\@acmArticlePage\quad\textbullet\quad\@shortauthors}%
|
|
2967
|
+
\fancyhead[LO]{\ACM@linecountL}%
|
|
2968
|
+
\fancyhead[RO]{\@headfootfont
|
|
2969
|
+
\shorttitle\quad\textbullet\quad\@acmArticlePage}%
|
|
2970
|
+
\if@ACM@nonacm\else%
|
|
2971
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
2972
|
+
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
|
|
2973
|
+
\fi
|
|
2974
|
+
\or % acmtog
|
|
2975
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont
|
|
2976
|
+
\@acmArticlePage\quad\textbullet\quad\@shortauthors}%
|
|
2977
|
+
\fancyhead[LO]{\ACM@linecountL}%
|
|
2978
|
+
\fancyhead[RE]{\ACM@linecountR}%
|
|
2979
|
+
\fancyhead[RO]{\@headfootfont
|
|
2980
|
+
\shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}%
|
|
2981
|
+
\if@ACM@nonacm\else%
|
|
2982
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
2983
|
+
\@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
|
|
2984
|
+
\fi
|
|
2985
|
+
\else % Proceedings
|
|
2986
|
+
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
|
|
2987
|
+
\fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
|
|
2988
|
+
\fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
|
|
2989
|
+
\if@ACM@nonacm
|
|
2990
|
+
\fancyhead[LE]{\ACM@linecountL}%
|
|
2991
|
+
\fancyhead[RO]{\ACM@linecountR}%
|
|
2992
|
+
\else%
|
|
2993
|
+
\if@ACM@engage
|
|
2994
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
|
|
2995
|
+
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
|
|
2996
|
+
\fancyhead[RO]{\@headfootfont
|
|
2997
|
+
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
|
|
2998
|
+
\ACM@linecountR}%
|
|
2999
|
+
\else
|
|
3000
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
|
|
3001
|
+
\acmConference@shortname,
|
|
3002
|
+
\acmConference@date, \acmConference@venue}%
|
|
3003
|
+
\fancyhead[RO]{\@headfootfont
|
|
3004
|
+
\acmConference@shortname,
|
|
3005
|
+
\acmConference@date, \acmConference@venue\ACM@linecountR}%
|
|
3006
|
+
\fi
|
|
3007
|
+
\fi
|
|
3008
|
+
\fi
|
|
3009
|
+
\else % Proceedings
|
|
3010
|
+
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
|
|
3011
|
+
\fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
|
|
3012
|
+
\fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
|
|
3013
|
+
\if@ACM@nonacm
|
|
3014
|
+
\fancyhead[LE]{\ACM@linecountL}%
|
|
3015
|
+
\fancyhead[RO]{\ACM@linecountR}%
|
|
3016
|
+
\else%
|
|
3017
|
+
\if@ACM@engage
|
|
3018
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont
|
|
3019
|
+
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
|
|
3020
|
+
\fancyhead[RO]{\@headfootfont
|
|
3021
|
+
EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
|
|
3022
|
+
\ACM@linecountR}%
|
|
3023
|
+
\else
|
|
3024
|
+
\fancyhead[LE]{\ACM@linecountL\@headfootfont
|
|
3025
|
+
\acmConference@shortname,
|
|
3026
|
+
\acmConference@date, \acmConference@venue}%
|
|
3027
|
+
\fancyhead[RO]{\@headfootfont
|
|
3028
|
+
\acmConference@shortname,
|
|
3029
|
+
\acmConference@date, \acmConference@venue\ACM@linecountR}%
|
|
3030
|
+
\fi
|
|
3031
|
+
\fi
|
|
3032
|
+
\fi
|
|
3033
|
+
\if@ACM@sigchiamode
|
|
3034
|
+
\fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
|
|
3035
|
+
\fi
|
|
3036
|
+
\if@ACM@timestamp
|
|
3037
|
+
\fancyfoot[LO,RE]{\ACM@timestamp}
|
|
3038
|
+
\fi
|
|
3039
|
+
\if@ACM@acmcp
|
|
3040
|
+
\renewcommand{\footrulewidth}{0.1\p@}%
|
|
3041
|
+
\fancyheadoffset[L]{46pt}%
|
|
3042
|
+
\fancyhead[L]{\makebox[\z@][l]{%
|
|
3043
|
+
\raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
|
|
3044
|
+
\rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
|
|
3045
|
+
\strut\ACM@ArticleType~Article}}}}%
|
|
3046
|
+
\ACM@linecountL}%
|
|
3047
|
+
\fancyhead[R]{\makebox[\z@][r]{\box\@ACM@acmcpbox}}%
|
|
3048
|
+
\fancyfoot[L,C]{}%
|
|
3049
|
+
\fancyfoot[R]{\footnotesize
|
|
3050
|
+
\@journalName, Volume~\@acmVolume, Issue~\@acmNumber,
|
|
3051
|
+
\ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space
|
|
3052
|
+
(\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
|
|
3053
|
+
\fi
|
|
3054
|
+
}%
|
|
3055
|
+
\pagestyle{standardpagestyle}
|
|
3056
|
+
}
|
|
3057
|
+
\newdimen\@folio@wd
|
|
3058
|
+
\@folio@wd=\z@
|
|
3059
|
+
\newdimen\@folio@ht
|
|
3060
|
+
\@folio@ht=\z@
|
|
3061
|
+
\newdimen\@folio@voffset
|
|
3062
|
+
\@folio@voffset=\z@
|
|
3063
|
+
\def\@folio@max{1}
|
|
3064
|
+
\ifcase\ACM@format@nr
|
|
3065
|
+
\relax % manuscript
|
|
3066
|
+
\or % acmsmall
|
|
3067
|
+
\@folio@wd=45.75pt\relax
|
|
3068
|
+
\@folio@ht=1.25in\relax
|
|
3069
|
+
\@folio@voffset=.2in\relax
|
|
3070
|
+
\def\@folio@max{8}
|
|
3071
|
+
\or % acmlarge
|
|
3072
|
+
\@folio@wd=43.25pt\relax
|
|
3073
|
+
\@folio@ht=79pt\relax
|
|
3074
|
+
\@folio@voffset=.55in\relax
|
|
3075
|
+
\def\@folio@max{10}
|
|
3076
|
+
\fi
|
|
3077
|
+
\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax
|
|
3078
|
+
\ifnum\@tempcnta=0\relax\else
|
|
3079
|
+
\loop
|
|
3080
|
+
\ifnum\@tempcnta>\@folio@max\relax
|
|
3081
|
+
\advance\@tempcnta by - \@folio@max
|
|
3082
|
+
\repeat
|
|
3083
|
+
\advance\@tempcnta by -1\relax
|
|
3084
|
+
\@tempdima=\@folio@ht\relax
|
|
3085
|
+
\multiply\@tempdima by \the\@tempcnta\relax
|
|
3086
|
+
\advance\@tempdima by -\@folio@voffset\relax
|
|
3087
|
+
\begin{picture}(0,0)
|
|
3088
|
+
\makebox[\z@]{\raisebox{-\@tempdima}{%
|
|
3089
|
+
\rlap{%
|
|
3090
|
+
\raisebox{-0.45\@folio@ht}[\z@][\z@]{%
|
|
3091
|
+
\rule{\@folio@wd}{\@folio@ht}}}%
|
|
3092
|
+
\parbox{\@folio@wd}{%
|
|
3093
|
+
\centering
|
|
3094
|
+
\textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}}
|
|
3095
|
+
\end{picture}\fi}
|
|
3096
|
+
|
|
3097
|
+
\AtBeginDocument{%
|
|
3098
|
+
\fancypagestyle{firstpagestyle}{%
|
|
3099
|
+
\fancyhf{}%
|
|
3100
|
+
\renewcommand{\headrulewidth}{\z@}%
|
|
3101
|
+
\renewcommand{\footrulewidth}{\z@}%
|
|
3102
|
+
\if@ACM@journal@bibstrip
|
|
3103
|
+
\ifcase\ACM@format@nr
|
|
3104
|
+
\relax % manuscript
|
|
3105
|
+
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
|
|
3106
|
+
\fancyhead[R]{\@acmBadgeR}%
|
|
3107
|
+
\fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
|
|
3108
|
+
\if@ACM@nonacm\else%
|
|
3109
|
+
\fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
|
|
3110
|
+
\fi%
|
|
3111
|
+
\or % acmsmall
|
|
3112
|
+
\if@ACM@nonacm\else%
|
|
3113
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
3114
|
+
\@acmNumber, Article \@acmArticle. Publication date:
|
|
3115
|
+
\@acmPubDate.}%
|
|
3116
|
+
\fi%
|
|
3117
|
+
\fancyhead[LE]{\ACM@linecountL\@folioblob\@acmBadgeL}%
|
|
3118
|
+
\fancyhead[LO]{\ACM@linecountL\@acmBadgeL}%
|
|
3119
|
+
\fancyhead[RO]{\@acmBadgeR\@folioblob}%
|
|
3120
|
+
\fancyhead[RE]{\@acmBadgeR}%
|
|
3121
|
+
\fancyheadoffset[RO,LE]{0.6\@folio@wd}%
|
|
3122
|
+
\or % acmlarge
|
|
3123
|
+
\if@ACM@nonacm\else%
|
|
3124
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
3125
|
+
\@acmNumber, Article \@acmArticle. Publication date:
|
|
3126
|
+
\@acmPubDate.}%
|
|
3127
|
+
\fi%
|
|
3128
|
+
\fancyhead[RO]{\@acmBadgeR\@folioblob}%
|
|
3129
|
+
\fancyhead[RE]{\@acmBadgeR}%
|
|
3130
|
+
\fancyhead[LE]{\ACM@linecountL\@folioblob\@acmBadgeL}%
|
|
3131
|
+
\fancyhead[LO]{\ACM@linecountL\@acmBadgeL}%
|
|
3132
|
+
\fancyheadoffset[RO,LE]{1.4\@folio@wd}%
|
|
3133
|
+
\or % acmtog
|
|
3134
|
+
\if@ACM@nonacm\else%
|
|
3135
|
+
\fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
|
|
3136
|
+
\@acmNumber, Article \@acmArticle. Publication date:
|
|
3137
|
+
\@acmPubDate.}%
|
|
3138
|
+
\fi%
|
|
3139
|
+
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
|
|
3140
|
+
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
|
|
3141
|
+
\else % Conference proceedings
|
|
3142
|
+
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
|
|
3143
|
+
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
|
|
3144
|
+
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
|
|
3145
|
+
\fi
|
|
3146
|
+
\else
|
|
3147
|
+
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
|
|
3148
|
+
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
|
|
3149
|
+
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
|
|
3150
|
+
\fi
|
|
3151
|
+
\if@ACM@timestamp
|
|
3152
|
+
\ifnum\ACM@format@nr=0\relax % Manuscript
|
|
3153
|
+
\fancyfoot[LO,RE]{\ACM@timestamp\quad
|
|
3154
|
+
\if@ACM@nonacm\else
|
|
3155
|
+
\footnotesize Manuscript submitted to ACM
|
|
3156
|
+
\fi}
|
|
3157
|
+
\else
|
|
3158
|
+
\fancyfoot[LO,RE]{\ACM@timestamp}
|
|
3159
|
+
\fi
|
|
3160
|
+
\fi
|
|
3161
|
+
\if@ACM@acmcp
|
|
3162
|
+
\renewcommand{\footrulewidth}{0.1\p@}%
|
|
3163
|
+
\fancyheadoffset[L]{46pt}%
|
|
3164
|
+
\fancyhead[L]{\makebox[\z@][l]{%
|
|
3165
|
+
\raisebox{-\dimexpr(0.25\textheight*\ACM@ArticleType@nr)}{%
|
|
3166
|
+
\rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}%
|
|
3167
|
+
\strut\ACM@ArticleType~Article}}}}%
|
|
3168
|
+
\ACM@linecountL\@acmBadgeL}%
|
|
3169
|
+
\fancyhead[R]{\@acmBadgeR\makebox[\z@][r]{\box\@ACM@acmcpbox}}%
|
|
3170
|
+
\fancyfoot[L,C]{}%
|
|
3171
|
+
\fancyfoot[R]{\footnotesize
|
|
3172
|
+
\@journalName, Volume~\@acmVolume, Issue~\@acmNumber,
|
|
3173
|
+
\ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space
|
|
3174
|
+
(\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi}
|
|
3175
|
+
\fi
|
|
3176
|
+
}}
|
|
3177
|
+
\def\ACM@NRadjust#1{%
|
|
3178
|
+
\begingroup
|
|
3179
|
+
\expandafter\ifx\csname Sectionformat\endcsname\relax
|
|
3180
|
+
% do nothing when \Sectionformat is unknown
|
|
3181
|
+
\def\next{\endgroup #1}%
|
|
3182
|
+
\else
|
|
3183
|
+
\def\next{\endgroup
|
|
3184
|
+
\let\realSectionformat\Sectionformat
|
|
3185
|
+
\def\ACM@sect@format@{#1}%
|
|
3186
|
+
\let\Sectionformat\ACM@NR@adjustedSectionformat
|
|
3187
|
+
%% next lines added 2018-06-17 to ensure section number is styled
|
|
3188
|
+
\let\real@adddotafter\@adddotafter
|
|
3189
|
+
\let\@adddotafter\ACM@adddotafter
|
|
3190
|
+
#1{}% imposes the styles, but nullifies \MakeUppercase
|
|
3191
|
+
\let\@adddotafter\real@adddotafter
|
|
3192
|
+
}%
|
|
3193
|
+
\fi \next
|
|
3194
|
+
}
|
|
3195
|
+
\def\ACM@NR@adjustedSectionformat#1#2{%
|
|
3196
|
+
\realSectionformat{\ACM@sect@format{#1}}{#2}%
|
|
3197
|
+
\let\Sectionformat\realSectionformat}
|
|
3198
|
+
\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@}
|
|
3199
|
+
\def\ACM@sect@format@null#1{#1}
|
|
3200
|
+
\let\ACM@sect@format@\ACM@sect@format@null
|
|
3201
|
+
\AtBeginDocument{%
|
|
3202
|
+
\expandafter\ifx\csname LTX@adddotafter\endcsname\relax
|
|
3203
|
+
\let\LTX@adddotafter\@adddotafter
|
|
3204
|
+
\fi
|
|
3205
|
+
}
|
|
3206
|
+
\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi}
|
|
3207
|
+
\renewcommand\section{\@startsection{section}{1}{\z@}%
|
|
3208
|
+
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
|
|
3209
|
+
{.25\baselineskip}%
|
|
3210
|
+
{\ACM@NRadjust\@secfont}}
|
|
3211
|
+
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
|
|
3212
|
+
{-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
|
|
3213
|
+
{.25\baselineskip}%
|
|
3214
|
+
{\ACM@NRadjust\@subsecfont}}
|
|
3215
|
+
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
|
|
3216
|
+
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
|
|
3217
|
+
{-3.5\p@}%
|
|
3218
|
+
{\ACM@NRadjust{\@subsubsecfont\@adddotafter}}}
|
|
3219
|
+
\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
|
|
3220
|
+
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
|
|
3221
|
+
{-3.5\p@}%
|
|
3222
|
+
{\ACM@NRadjust{\@parfont\@adddotafter}}}
|
|
3223
|
+
\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
|
|
3224
|
+
{-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
|
|
3225
|
+
{-3.5\p@}%
|
|
3226
|
+
{\ACM@NRadjust{\@parfont}}}
|
|
3227
|
+
|
|
3228
|
+
\renewcommand\part{\@startsection{part}{9}{\z@}%
|
|
3229
|
+
{-10\p@ \@plus -4\p@ \@minus -2\p@}%
|
|
3230
|
+
{4\p@}%
|
|
3231
|
+
{\ACM@NRadjust\@parfont}}
|
|
3232
|
+
\def\section@raggedright{\@rightskip\@flushglue
|
|
3233
|
+
\rightskip\@rightskip
|
|
3234
|
+
\leftskip\z@skip
|
|
3235
|
+
\parindent\z@}
|
|
3236
|
+
\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
|
|
3237
|
+
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
|
|
3238
|
+
\def\@subsubsecfont{\sffamily\itshape}
|
|
3239
|
+
\def\@parfont{\itshape}
|
|
3240
|
+
\setcounter{secnumdepth}{3}
|
|
3241
|
+
\ifcase\ACM@format@nr
|
|
3242
|
+
\relax % manuscript
|
|
3243
|
+
\or % acmsmall
|
|
3244
|
+
\or % acmlarge
|
|
3245
|
+
\def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
|
|
3246
|
+
\def\@subsecfont{\sffamily\large\section@raggedright}
|
|
3247
|
+
\or % acmtog
|
|
3248
|
+
\def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
|
|
3249
|
+
\def\@subsecfont{\sffamily\large\section@raggedright}
|
|
3250
|
+
\or % sigconf
|
|
3251
|
+
\def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
|
|
3252
|
+
\def\@subsecfont{\bfseries\Large\section@raggedright}
|
|
3253
|
+
\or % siggraph
|
|
3254
|
+
\def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
|
|
3255
|
+
\def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
|
|
3256
|
+
\or % sigplan
|
|
3257
|
+
\def\@secfont{\bfseries\Large\section@raggedright}
|
|
3258
|
+
\def\@subsecfont{\bfseries\section@raggedright}
|
|
3259
|
+
\def\@subsubsecfont{\bfseries\section@raggedright}
|
|
3260
|
+
\def\@parfont{\bfseries\itshape}
|
|
3261
|
+
\def\@subparfont{\itshape}
|
|
3262
|
+
\or % sigchi
|
|
3263
|
+
\setcounter{secnumdepth}{1}
|
|
3264
|
+
\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
|
|
3265
|
+
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
|
|
3266
|
+
\or % sigchi-a
|
|
3267
|
+
\setcounter{secnumdepth}{0}
|
|
3268
|
+
\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
|
|
3269
|
+
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
|
|
3270
|
+
\or % acmengage
|
|
3271
|
+
\def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
|
|
3272
|
+
\def\@subsecfont{\bfseries\Large\section@raggedright}
|
|
3273
|
+
\or %acmcp
|
|
3274
|
+
\fi
|
|
3275
|
+
\def\@adddotafter#1{#1\@addpunct{.}}
|
|
3276
|
+
\def\@addspaceafter#1{#1\@addpunct{\enspace}}
|
|
3277
|
+
\if@ACM@acmcp
|
|
3278
|
+
\setcounter{secnumdepth}{-1}%
|
|
3279
|
+
\fi
|
|
3280
|
+
\providecommand*\@dotsep{4.5}
|
|
3281
|
+
\def\@acmplainbodyfont{\itshape}
|
|
3282
|
+
\def\@acmplainindent{\parindent}
|
|
3283
|
+
\def\@acmplainheadfont{\scshape}
|
|
3284
|
+
\def\@acmplainnotefont{\@empty}
|
|
3285
|
+
\ifcase\ACM@format@nr
|
|
3286
|
+
\relax % manuscript
|
|
3287
|
+
\or % acmsmall
|
|
3288
|
+
\or % acmlarge
|
|
3289
|
+
\or % acmtog
|
|
3290
|
+
\or % sigconf
|
|
3291
|
+
\or % siggraph
|
|
3292
|
+
\or % sigplan
|
|
3293
|
+
\def\@acmplainbodyfont{\itshape}
|
|
3294
|
+
\def\@acmplainindent{\z@}
|
|
3295
|
+
\def\@acmplainheadfont{\bfseries}
|
|
3296
|
+
\def\@acmplainnotefont{\normalfont}
|
|
3297
|
+
\or % sigchi
|
|
3298
|
+
\or % sigchi-a
|
|
3299
|
+
\or % acmengage
|
|
3300
|
+
\or % acmcp
|
|
3301
|
+
\fi
|
|
3302
|
+
\newtheoremstyle{acmplain}%
|
|
3303
|
+
{.5\baselineskip\@plus.2\baselineskip
|
|
3304
|
+
\@minus.2\baselineskip}% space above
|
|
3305
|
+
{.5\baselineskip\@plus.2\baselineskip
|
|
3306
|
+
\@minus.2\baselineskip}% space below
|
|
3307
|
+
{\@acmplainbodyfont}% body font
|
|
3308
|
+
{\@acmplainindent}% indent amount
|
|
3309
|
+
{\@acmplainheadfont}% head font
|
|
3310
|
+
{.}% punctuation after head
|
|
3311
|
+
{.5em}% spacing after head
|
|
3312
|
+
{\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
|
|
3313
|
+
\def\@acmdefinitionbodyfont{\normalfont}
|
|
3314
|
+
\def\@acmdefinitionindent{\parindent}
|
|
3315
|
+
\def\@acmdefinitionheadfont{\itshape}
|
|
3316
|
+
\def\@acmdefinitionnotefont{\@empty}
|
|
3317
|
+
\ifcase\ACM@format@nr
|
|
3318
|
+
\relax % manuscript
|
|
3319
|
+
\or % acmsmall
|
|
3320
|
+
\or % acmlarge
|
|
3321
|
+
\or % acmtog
|
|
3322
|
+
\or % sigconf
|
|
3323
|
+
\or % siggraph
|
|
3324
|
+
\or % sigplan
|
|
3325
|
+
\def\@acmdefinitionbodyfont{\normalfont}
|
|
3326
|
+
\def\@acmdefinitionindent{\z@}
|
|
3327
|
+
\def\@acmdefinitionheadfont{\bfseries}
|
|
3328
|
+
\def\@acmdefinitionnotefont{\normalfont}
|
|
3329
|
+
\or % sigchi
|
|
3330
|
+
\or % sigchi-a
|
|
3331
|
+
\or % acmengage
|
|
3332
|
+
\or % acmcp
|
|
3333
|
+
\fi
|
|
3334
|
+
\newtheoremstyle{acmdefinition}%
|
|
3335
|
+
{.5\baselineskip\@plus.2\baselineskip
|
|
3336
|
+
\@minus.2\baselineskip}% space above
|
|
3337
|
+
{.5\baselineskip\@plus.2\baselineskip
|
|
3338
|
+
\@minus.2\baselineskip}% space below
|
|
3339
|
+
{\@acmdefinitionbodyfont}% body font
|
|
3340
|
+
{\@acmdefinitionindent}% indent amount
|
|
3341
|
+
{\@acmdefinitionheadfont}% head font
|
|
3342
|
+
{.}% punctuation after head
|
|
3343
|
+
{.5em}% spacing after head
|
|
3344
|
+
{\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec
|
|
3345
|
+
\theoremstyle{acmplain}
|
|
3346
|
+
\AtEndPreamble{%
|
|
3347
|
+
\if@ACM@acmthm
|
|
3348
|
+
\theoremstyle{acmplain}
|
|
3349
|
+
\@ifundefined{theorem}{%
|
|
3350
|
+
\newtheorem{theorem}{Theorem}[section]
|
|
3351
|
+
}{}
|
|
3352
|
+
\@ifundefined{conjecture}{%
|
|
3353
|
+
\newtheorem{conjecture}[theorem]{Conjecture}
|
|
3354
|
+
}{}
|
|
3355
|
+
\@ifundefined{proposition}{%
|
|
3356
|
+
\newtheorem{proposition}[theorem]{Proposition}
|
|
3357
|
+
}{}
|
|
3358
|
+
\@ifundefined{lemma}{%
|
|
3359
|
+
\newtheorem{lemma}[theorem]{Lemma}
|
|
3360
|
+
}{}
|
|
3361
|
+
\@ifundefined{corollary}{%
|
|
3362
|
+
\newtheorem{corollary}[theorem]{Corollary}
|
|
3363
|
+
}{}
|
|
3364
|
+
\theoremstyle{acmdefinition}
|
|
3365
|
+
\@ifundefined{example}{%
|
|
3366
|
+
\newtheorem{example}[theorem]{Example}
|
|
3367
|
+
}{}
|
|
3368
|
+
\@ifundefined{definition}{%
|
|
3369
|
+
\newtheorem{definition}[theorem]{Definition}
|
|
3370
|
+
}{}
|
|
3371
|
+
\fi
|
|
3372
|
+
\theoremstyle{acmplain}
|
|
3373
|
+
}
|
|
3374
|
+
\def\@proofnamefont{\scshape}
|
|
3375
|
+
\def\@proofindent{\indent}
|
|
3376
|
+
\ifcase\ACM@format@nr
|
|
3377
|
+
\relax % manuscript
|
|
3378
|
+
\or % acmsmall
|
|
3379
|
+
\or % acmlarge
|
|
3380
|
+
\or % acmtog
|
|
3381
|
+
\or % sigconf
|
|
3382
|
+
\or % siggraph
|
|
3383
|
+
\or % sigplan
|
|
3384
|
+
\def\@proofnamefont{\itshape}
|
|
3385
|
+
\def\@proofindent{\noindent}
|
|
3386
|
+
\or % sigchi
|
|
3387
|
+
\or % sigchi-a
|
|
3388
|
+
\or % acmengage
|
|
3389
|
+
\or % acmcp
|
|
3390
|
+
\fi
|
|
3391
|
+
\renewenvironment{proof}[1][\proofname]{\par
|
|
3392
|
+
\pushQED{\qed}%
|
|
3393
|
+
\normalfont \topsep6\p@\@plus6\p@\relax
|
|
3394
|
+
\trivlist
|
|
3395
|
+
\item[\@proofindent\hskip\labelsep
|
|
3396
|
+
{\@proofnamefont #1\@addpunct{.}}]\ignorespaces
|
|
3397
|
+
}{%
|
|
3398
|
+
\popQED\endtrivlist\@endpefalse
|
|
3399
|
+
}
|
|
3400
|
+
\AtEndPreamble{%
|
|
3401
|
+
\if@ACM@pbalance
|
|
3402
|
+
\global\@ACM@balancefalse
|
|
3403
|
+
\ifcase\ACM@format@nr
|
|
3404
|
+
\relax % manuscript
|
|
3405
|
+
\or % acmsmall
|
|
3406
|
+
\or % acmlarge
|
|
3407
|
+
\or % acmtog
|
|
3408
|
+
\RequirePackage{pbalance}%
|
|
3409
|
+
\or % sigconf
|
|
3410
|
+
\RequirePackage{pbalance}%
|
|
3411
|
+
\or % siggraph
|
|
3412
|
+
\RequirePackage{pbalance}%
|
|
3413
|
+
\or % sigplan
|
|
3414
|
+
\RequirePackage{pbalance}%
|
|
3415
|
+
\or % sigchi
|
|
3416
|
+
\RequirePackage{pbalance}%
|
|
3417
|
+
\or % sigchi-a
|
|
3418
|
+
\or % acmengage
|
|
3419
|
+
\RequirePackage{pbalance}%
|
|
3420
|
+
\or % acmcp
|
|
3421
|
+
\fi
|
|
3422
|
+
\fi
|
|
3423
|
+
\if@ACM@balance
|
|
3424
|
+
\ifcase\ACM@format@nr
|
|
3425
|
+
\relax % manuscript
|
|
3426
|
+
\global\@ACM@balancefalse
|
|
3427
|
+
\or % acmsmall
|
|
3428
|
+
\global\@ACM@balancefalse
|
|
3429
|
+
\or % acmlarge
|
|
3430
|
+
\global\@ACM@balancefalse
|
|
3431
|
+
\or % acmtog
|
|
3432
|
+
\RequirePackage{balance}%
|
|
3433
|
+
\or % sigconf
|
|
3434
|
+
\RequirePackage{balance}%
|
|
3435
|
+
\or % siggraph
|
|
3436
|
+
\RequirePackage{balance}%
|
|
3437
|
+
\or % sigplan
|
|
3438
|
+
\RequirePackage{balance}%
|
|
3439
|
+
\or % sigchi
|
|
3440
|
+
\RequirePackage{balance}%
|
|
3441
|
+
\or % sigchi-a
|
|
3442
|
+
\global\@ACM@balancefalse
|
|
3443
|
+
\or % acmengage
|
|
3444
|
+
\RequirePackage{balance}%
|
|
3445
|
+
\or % acmcp
|
|
3446
|
+
\global\@ACM@balancefalse
|
|
3447
|
+
\fi
|
|
3448
|
+
\fi
|
|
3449
|
+
}
|
|
3450
|
+
\AtEndDocument{%
|
|
3451
|
+
\if@ACM@balance
|
|
3452
|
+
\if@twocolumn
|
|
3453
|
+
\balance
|
|
3454
|
+
\fi\fi}
|
|
3455
|
+
\newcommand\acksname{Acknowledgments}
|
|
3456
|
+
\specialcomment{acks}{%
|
|
3457
|
+
\begingroup
|
|
3458
|
+
\section*{\acksname}
|
|
3459
|
+
\phantomsection\addcontentsline{toc}{section}{\acksname}
|
|
3460
|
+
}{%
|
|
3461
|
+
\endgroup
|
|
3462
|
+
}
|
|
3463
|
+
\def\grantsponsor#1#2#3{#2}
|
|
3464
|
+
\newcommand\grantnum[3][]{#3%
|
|
3465
|
+
\def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
|
|
3466
|
+
\AtEndPreamble{%
|
|
3467
|
+
\if@ACM@screen
|
|
3468
|
+
\includecomment{screenonly}
|
|
3469
|
+
\excludecomment{printonly}
|
|
3470
|
+
\else
|
|
3471
|
+
\excludecomment{screenonly}
|
|
3472
|
+
\includecomment{printonly}
|
|
3473
|
+
\fi
|
|
3474
|
+
\if@ACM@anonymous
|
|
3475
|
+
\excludecomment{anonsuppress}
|
|
3476
|
+
\excludecomment{acks}
|
|
3477
|
+
\else
|
|
3478
|
+
\includecomment{anonsuppress}
|
|
3479
|
+
\fi}
|
|
3480
|
+
\newcommand\showeprint[2][arxiv]{%
|
|
3481
|
+
\def\@tempa{#1}%
|
|
3482
|
+
\ifx\@tempa\@empty\def\@tempa{arxiv}\fi
|
|
3483
|
+
\def\@tempb{arxiv}%
|
|
3484
|
+
\ifx\@tempa\@tempb\relax
|
|
3485
|
+
arXiv:\href{https://arxiv.org/abs/#2}{#2}%
|
|
3486
|
+
\else
|
|
3487
|
+
\def\@tempb{arXiv}%
|
|
3488
|
+
\ifx\@tempa\@tempb\relax
|
|
3489
|
+
arXiv:\href{https://arxiv.org/abs/#2}{#2}%
|
|
3490
|
+
\else
|
|
3491
|
+
#1:#2%
|
|
3492
|
+
\fi
|
|
3493
|
+
\fi}
|
|
3494
|
+
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
|
|
3495
|
+
\columnseprule\z@ \columnsep 35\p@
|
|
3496
|
+
\@indextitlestyle
|
|
3497
|
+
\let\item\@idxitem
|
|
3498
|
+
\parindent\z@ \parskip\z@\@plus.3\p@\relax
|
|
3499
|
+
\raggedright
|
|
3500
|
+
\hyphenpenalty\@M
|
|
3501
|
+
\footnotesize}
|
|
3502
|
+
\let\@vspace@orig=\@vspace
|
|
3503
|
+
\let\@vspacer@orig=\@vspacer
|
|
3504
|
+
\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should
|
|
3505
|
+
only be used to provide space above/below surrounding
|
|
3506
|
+
objects}}{}{}
|
|
3507
|
+
\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should
|
|
3508
|
+
only be used to provide space above/below surrounding
|
|
3509
|
+
objects}}{}{}
|
|
3510
|
+
\let\@vspace@acm=\@vspace
|
|
3511
|
+
\let\@vspacer@acm=\@vspacer
|
|
3512
|
+
\let\ACM@origbaselinestretch\baselinestretch
|
|
3513
|
+
\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else
|
|
3514
|
+
\ClassError{\@classname}{An attempt to redefine
|
|
3515
|
+
\string\baselinestretch\space detected. Please do not do this for
|
|
3516
|
+
ACM submissions!}\fi}
|
|
3517
|
+
\normalsize\normalfont\frenchspacing
|
|
3518
|
+
\endinput
|
|
3519
|
+
%%
|
|
3520
|
+
%% End of file `acmart.cls'.
|