@alisio/plugin-thesis 0.1.0
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/.agents/agents/thesis-architect.md +38 -0
- package/.agents/agents/thesis-coordinator.md +39 -0
- package/.agents/agents/thesis-editor.md +35 -0
- package/.agents/agents/thesis-evidence-auditor.md +37 -0
- package/.agents/agents/thesis-librarian.md +38 -0
- package/.agents/agents/thesis-methodologist.md +39 -0
- package/.agents/agents/thesis-reviewer.md +36 -0
- package/.agents/agents/thesis-writer.md +38 -0
- package/.agents/skills/thesis-build/SKILL.md +48 -0
- package/.agents/skills/thesis-citations/SKILL.md +49 -0
- package/.agents/skills/thesis-csl-authoring/SKILL.md +48 -0
- package/.agents/skills/thesis-editing/SKILL.md +49 -0
- package/.agents/skills/thesis-evidence/SKILL.md +48 -0
- package/.agents/skills/thesis-figures/SKILL.md +50 -0
- package/.agents/skills/thesis-institution-norms/SKILL.md +50 -0
- package/.agents/skills/thesis-intake/SKILL.md +48 -0
- package/.agents/skills/thesis-math/SKILL.md +48 -0
- package/.agents/skills/thesis-methodology/SKILL.md +49 -0
- package/.agents/skills/thesis-outline/SKILL.md +48 -0
- package/.agents/skills/thesis-policy/SKILL.md +48 -0
- package/.agents/skills/thesis-review/SKILL.md +49 -0
- package/.agents/skills/thesis-search/SKILL.md +47 -0
- package/.agents/skills/thesis-writing/SKILL.md +52 -0
- package/LICENSE +21 -0
- package/README.es.md +242 -0
- package/README.md +235 -0
- package/THIRD_PARTY_NOTICES.md +94 -0
- package/assets/architecture.svg +1 -0
- package/assets/evidence-pipeline.svg +1 -0
- package/assets/lifecycle.svg +1 -0
- package/assets/policy-resolution.svg +1 -0
- package/cover.webp +0 -0
- package/dist/authoring.d.ts +30 -0
- package/dist/authoring.d.ts.map +1 -0
- package/dist/authoring.js +681 -0
- package/dist/authoring.js.map +1 -0
- package/dist/brief.d.ts +40 -0
- package/dist/brief.d.ts.map +1 -0
- package/dist/brief.js +566 -0
- package/dist/brief.js.map +1 -0
- package/dist/cache.d.ts +8 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +20 -0
- package/dist/cache.js.map +1 -0
- package/dist/checks/brief.d.ts +5 -0
- package/dist/checks/brief.d.ts.map +1 -0
- package/dist/checks/brief.js +38 -0
- package/dist/checks/brief.js.map +1 -0
- package/dist/checks/citations.d.ts +14 -0
- package/dist/checks/citations.d.ts.map +1 -0
- package/dist/checks/citations.js +87 -0
- package/dist/checks/citations.js.map +1 -0
- package/dist/checks/claims.d.ts +16 -0
- package/dist/checks/claims.d.ts.map +1 -0
- package/dist/checks/claims.js +147 -0
- package/dist/checks/claims.js.map +1 -0
- package/dist/checks/closing.d.ts +20 -0
- package/dist/checks/closing.d.ts.map +1 -0
- package/dist/checks/closing.js +168 -0
- package/dist/checks/closing.js.map +1 -0
- package/dist/checks/design.d.ts +5 -0
- package/dist/checks/design.d.ts.map +1 -0
- package/dist/checks/design.js +107 -0
- package/dist/checks/design.js.map +1 -0
- package/dist/checks/document.d.ts +17 -0
- package/dist/checks/document.d.ts.map +1 -0
- package/dist/checks/document.js +213 -0
- package/dist/checks/document.js.map +1 -0
- package/dist/checks/evidence.d.ts +7 -0
- package/dist/checks/evidence.d.ts.map +1 -0
- package/dist/checks/evidence.js +133 -0
- package/dist/checks/evidence.js.map +1 -0
- package/dist/checks/hygiene.d.ts +5 -0
- package/dist/checks/hygiene.d.ts.map +1 -0
- package/dist/checks/hygiene.js +37 -0
- package/dist/checks/hygiene.js.map +1 -0
- package/dist/checks/index.d.ts +21 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +98 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/language.d.ts +14 -0
- package/dist/checks/language.d.ts.map +1 -0
- package/dist/checks/language.js +73 -0
- package/dist/checks/language.js.map +1 -0
- package/dist/checks/outline.d.ts +25 -0
- package/dist/checks/outline.d.ts.map +1 -0
- package/dist/checks/outline.js +214 -0
- package/dist/checks/outline.js.map +1 -0
- package/dist/checks/policy.d.ts +5 -0
- package/dist/checks/policy.d.ts.map +1 -0
- package/dist/checks/policy.js +129 -0
- package/dist/checks/policy.js.map +1 -0
- package/dist/checks/project.d.ts +65 -0
- package/dist/checks/project.d.ts.map +1 -0
- package/dist/checks/project.js +203 -0
- package/dist/checks/project.js.map +1 -0
- package/dist/checks/styles.d.ts +12 -0
- package/dist/checks/styles.d.ts.map +1 -0
- package/dist/checks/styles.js +67 -0
- package/dist/checks/styles.js.map +1 -0
- package/dist/checks/writing.d.ts +6 -0
- package/dist/checks/writing.d.ts.map +1 -0
- package/dist/checks/writing.js +115 -0
- package/dist/checks/writing.js.map +1 -0
- package/dist/chrome/detect.d.ts +19 -0
- package/dist/chrome/detect.d.ts.map +1 -0
- package/dist/chrome/detect.js +116 -0
- package/dist/chrome/detect.js.map +1 -0
- package/dist/claims.d.ts +19 -0
- package/dist/claims.d.ts.map +1 -0
- package/dist/claims.js +99 -0
- package/dist/claims.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +262 -0
- package/dist/cli.js.map +1 -0
- package/dist/context.d.ts +55 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +62 -0
- package/dist/context.js.map +1 -0
- package/dist/coordinator.d.ts +139 -0
- package/dist/coordinator.d.ts.map +1 -0
- package/dist/coordinator.js +710 -0
- package/dist/coordinator.js.map +1 -0
- package/dist/delegate.d.ts +34 -0
- package/dist/delegate.d.ts.map +1 -0
- package/dist/delegate.js +105 -0
- package/dist/delegate.js.map +1 -0
- package/dist/diffguard.d.ts +24 -0
- package/dist/diffguard.d.ts.map +1 -0
- package/dist/diffguard.js +92 -0
- package/dist/diffguard.js.map +1 -0
- package/dist/doctor.d.ts +34 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +155 -0
- package/dist/doctor.js.map +1 -0
- package/dist/draft.d.ts +64 -0
- package/dist/draft.d.ts.map +1 -0
- package/dist/draft.js +801 -0
- package/dist/draft.js.map +1 -0
- package/dist/figure.d.ts +13 -0
- package/dist/figure.d.ts.map +1 -0
- package/dist/figure.js +143 -0
- package/dist/figure.js.map +1 -0
- package/dist/finalize.d.ts +29 -0
- package/dist/finalize.d.ts.map +1 -0
- package/dist/finalize.js +230 -0
- package/dist/finalize.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/intake.d.ts +57 -0
- package/dist/intake.d.ts.map +1 -0
- package/dist/intake.js +772 -0
- package/dist/intake.js.map +1 -0
- package/dist/labels.d.ts +50 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +98 -0
- package/dist/labels.js.map +1 -0
- package/dist/outline.d.ts +45 -0
- package/dist/outline.d.ts.map +1 -0
- package/dist/outline.js +148 -0
- package/dist/outline.js.map +1 -0
- package/dist/pack-commands.d.ts +18 -0
- package/dist/pack-commands.d.ts.map +1 -0
- package/dist/pack-commands.js +397 -0
- package/dist/pack-commands.js.map +1 -0
- package/dist/package-paths.d.ts +8 -0
- package/dist/package-paths.d.ts.map +1 -0
- package/dist/package-paths.js +13 -0
- package/dist/package-paths.js.map +1 -0
- package/dist/policy/context.d.ts +19 -0
- package/dist/policy/context.d.ts.map +1 -0
- package/dist/policy/context.js +62 -0
- package/dist/policy/context.js.map +1 -0
- package/dist/policy/ethics.d.ts +59 -0
- package/dist/policy/ethics.d.ts.map +1 -0
- package/dist/policy/ethics.js +106 -0
- package/dist/policy/ethics.js.map +1 -0
- package/dist/policy/kinds.d.ts +9 -0
- package/dist/policy/kinds.d.ts.map +1 -0
- package/dist/policy/kinds.js +68 -0
- package/dist/policy/kinds.js.map +1 -0
- package/dist/policy/packs.d.ts +53 -0
- package/dist/policy/packs.d.ts.map +1 -0
- package/dist/policy/packs.js +336 -0
- package/dist/policy/packs.js.map +1 -0
- package/dist/policy/resolver.d.ts +87 -0
- package/dist/policy/resolver.d.ts.map +1 -0
- package/dist/policy/resolver.js +337 -0
- package/dist/policy/resolver.js.map +1 -0
- package/dist/policy/rules.d.ts +65 -0
- package/dist/policy/rules.d.ts.map +1 -0
- package/dist/policy/rules.js +194 -0
- package/dist/policy/rules.js.map +1 -0
- package/dist/protocol.d.ts +46 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +86 -0
- package/dist/protocol.js.map +1 -0
- package/dist/render/adapters/chrome-pdf/cdp.d.ts +36 -0
- package/dist/render/adapters/chrome-pdf/cdp.d.ts.map +1 -0
- package/dist/render/adapters/chrome-pdf/cdp.js +291 -0
- package/dist/render/adapters/chrome-pdf/cdp.js.map +1 -0
- package/dist/render/adapters/chrome-pdf/index.d.ts +10 -0
- package/dist/render/adapters/chrome-pdf/index.d.ts.map +1 -0
- package/dist/render/adapters/chrome-pdf/index.js +139 -0
- package/dist/render/adapters/chrome-pdf/index.js.map +1 -0
- package/dist/render/adapters/chrome-pdf/network.d.ts +7 -0
- package/dist/render/adapters/chrome-pdf/network.d.ts.map +1 -0
- package/dist/render/adapters/chrome-pdf/network.js +33 -0
- package/dist/render/adapters/chrome-pdf/network.js.map +1 -0
- package/dist/render/adapters/html-preview/index.d.ts +8 -0
- package/dist/render/adapters/html-preview/index.d.ts.map +1 -0
- package/dist/render/adapters/html-preview/index.js +62 -0
- package/dist/render/adapters/html-preview/index.js.map +1 -0
- package/dist/render/adapters/test-json/index.d.ts +8 -0
- package/dist/render/adapters/test-json/index.d.ts.map +1 -0
- package/dist/render/adapters/test-json/index.js +62 -0
- package/dist/render/adapters/test-json/index.js.map +1 -0
- package/dist/render/adapters/typst-pdf/emitter.d.ts +21 -0
- package/dist/render/adapters/typst-pdf/emitter.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/emitter.js +259 -0
- package/dist/render/adapters/typst-pdf/emitter.js.map +1 -0
- package/dist/render/adapters/typst-pdf/escape.d.ts +14 -0
- package/dist/render/adapters/typst-pdf/escape.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/escape.js +56 -0
- package/dist/render/adapters/typst-pdf/escape.js.map +1 -0
- package/dist/render/adapters/typst-pdf/index.d.ts +9 -0
- package/dist/render/adapters/typst-pdf/index.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/index.js +154 -0
- package/dist/render/adapters/typst-pdf/index.js.map +1 -0
- package/dist/render/adapters/typst-pdf/profile.d.ts +3 -0
- package/dist/render/adapters/typst-pdf/profile.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/profile.js +55 -0
- package/dist/render/adapters/typst-pdf/profile.js.map +1 -0
- package/dist/render/adapters/typst-pdf/runner.d.ts +52 -0
- package/dist/render/adapters/typst-pdf/runner.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/runner.js +209 -0
- package/dist/render/adapters/typst-pdf/runner.js.map +1 -0
- package/dist/render/adapters/typst-pdf/setup.d.ts +30 -0
- package/dist/render/adapters/typst-pdf/setup.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/setup.js +183 -0
- package/dist/render/adapters/typst-pdf/setup.js.map +1 -0
- package/dist/render/adapters/typst-pdf/version.d.ts +8 -0
- package/dist/render/adapters/typst-pdf/version.d.ts.map +1 -0
- package/dist/render/adapters/typst-pdf/version.js +14 -0
- package/dist/render/adapters/typst-pdf/version.js.map +1 -0
- package/dist/render/assemble.d.ts +28 -0
- package/dist/render/assemble.d.ts.map +1 -0
- package/dist/render/assemble.js +309 -0
- package/dist/render/assemble.js.map +1 -0
- package/dist/render/assets.d.ts +27 -0
- package/dist/render/assets.d.ts.map +1 -0
- package/dist/render/assets.js +232 -0
- package/dist/render/assets.js.map +1 -0
- package/dist/render/build.d.ts +43 -0
- package/dist/render/build.d.ts.map +1 -0
- package/dist/render/build.js +187 -0
- package/dist/render/build.js.map +1 -0
- package/dist/render/charts.d.ts +83 -0
- package/dist/render/charts.d.ts.map +1 -0
- package/dist/render/charts.js +633 -0
- package/dist/render/charts.js.map +1 -0
- package/dist/render/default-registry.d.ts +7 -0
- package/dist/render/default-registry.d.ts.map +1 -0
- package/dist/render/default-registry.js +15 -0
- package/dist/render/default-registry.js.map +1 -0
- package/dist/render/diagram-theme.d.ts +7 -0
- package/dist/render/diagram-theme.d.ts.map +1 -0
- package/dist/render/diagram-theme.js +50 -0
- package/dist/render/diagram-theme.js.map +1 -0
- package/dist/render/dialect.d.ts +23 -0
- package/dist/render/dialect.d.ts.map +1 -0
- package/dist/render/dialect.js +188 -0
- package/dist/render/dialect.js.map +1 -0
- package/dist/render/html/citations.d.ts +70 -0
- package/dist/render/html/citations.d.ts.map +1 -0
- package/dist/render/html/citations.js +371 -0
- package/dist/render/html/citations.js.map +1 -0
- package/dist/render/html/css.d.ts +14 -0
- package/dist/render/html/css.d.ts.map +1 -0
- package/dist/render/html/css.js +113 -0
- package/dist/render/html/css.js.map +1 -0
- package/dist/render/html/emitter.d.ts +20 -0
- package/dist/render/html/emitter.d.ts.map +1 -0
- package/dist/render/html/emitter.js +652 -0
- package/dist/render/html/emitter.js.map +1 -0
- package/dist/render/html/escape.d.ts +11 -0
- package/dist/render/html/escape.d.ts.map +1 -0
- package/dist/render/html/escape.js +32 -0
- package/dist/render/html/escape.js.map +1 -0
- package/dist/render/html/katex.d.ts +9 -0
- package/dist/render/html/katex.d.ts.map +1 -0
- package/dist/render/html/katex.js +39 -0
- package/dist/render/html/katex.js.map +1 -0
- package/dist/render/html/stage.d.ts +12 -0
- package/dist/render/html/stage.d.ts.map +1 -0
- package/dist/render/html/stage.js +30 -0
- package/dist/render/html/stage.js.map +1 -0
- package/dist/render/index.d.ts +5 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +5 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/math.d.ts +9 -0
- package/dist/render/math.d.ts.map +1 -0
- package/dist/render/math.js +60 -0
- package/dist/render/math.js.map +1 -0
- package/dist/render/model.d.ts +233 -0
- package/dist/render/model.d.ts.map +1 -0
- package/dist/render/model.js +2 -0
- package/dist/render/model.js.map +1 -0
- package/dist/render/numbering.d.ts +51 -0
- package/dist/render/numbering.d.ts.map +1 -0
- package/dist/render/numbering.js +155 -0
- package/dist/render/numbering.js.map +1 -0
- package/dist/render/output-name.d.ts +4 -0
- package/dist/render/output-name.d.ts.map +1 -0
- package/dist/render/output-name.js +11 -0
- package/dist/render/output-name.js.map +1 -0
- package/dist/render/palettes.d.ts +22 -0
- package/dist/render/palettes.d.ts.map +1 -0
- package/dist/render/palettes.js +46 -0
- package/dist/render/palettes.js.map +1 -0
- package/dist/render/parse.d.ts +15 -0
- package/dist/render/parse.d.ts.map +1 -0
- package/dist/render/parse.js +637 -0
- package/dist/render/parse.js.map +1 -0
- package/dist/render/port.d.ts +79 -0
- package/dist/render/port.d.ts.map +1 -0
- package/dist/render/port.js +2 -0
- package/dist/render/port.js.map +1 -0
- package/dist/render/registry.d.ts +11 -0
- package/dist/render/registry.d.ts.map +1 -0
- package/dist/render/registry.js +21 -0
- package/dist/render/registry.js.map +1 -0
- package/dist/render/text.d.ts +13 -0
- package/dist/render/text.d.ts.map +1 -0
- package/dist/render/text.js +65 -0
- package/dist/render/text.js.map +1 -0
- package/dist/render/walk.d.ts +13 -0
- package/dist/render/walk.d.ts.map +1 -0
- package/dist/render/walk.js +69 -0
- package/dist/render/walk.js.map +1 -0
- package/dist/research/bibtex.d.ts +12 -0
- package/dist/research/bibtex.d.ts.map +1 -0
- package/dist/research/bibtex.js +99 -0
- package/dist/research/bibtex.js.map +1 -0
- package/dist/research/client.d.ts +112 -0
- package/dist/research/client.d.ts.map +1 -0
- package/dist/research/client.js +661 -0
- package/dist/research/client.js.map +1 -0
- package/dist/research/dossier.d.ts +31 -0
- package/dist/research/dossier.d.ts.map +1 -0
- package/dist/research/dossier.js +54 -0
- package/dist/research/dossier.js.map +1 -0
- package/dist/research/flow.d.ts +31 -0
- package/dist/research/flow.d.ts.map +1 -0
- package/dist/research/flow.js +635 -0
- package/dist/research/flow.js.map +1 -0
- package/dist/research/library.d.ts +79 -0
- package/dist/research/library.d.ts.map +1 -0
- package/dist/research/library.js +319 -0
- package/dist/research/library.js.map +1 -0
- package/dist/research/verify.d.ts +80 -0
- package/dist/research/verify.d.ts.map +1 -0
- package/dist/research/verify.js +307 -0
- package/dist/research/verify.js.map +1 -0
- package/dist/resources.d.ts +15 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +148 -0
- package/dist/resources.js.map +1 -0
- package/dist/review.d.ts +22 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +355 -0
- package/dist/review.js.map +1 -0
- package/dist/schemas.d.ts +252 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +1020 -0
- package/dist/schemas.js.map +1 -0
- package/dist/sections.d.ts +30 -0
- package/dist/sections.d.ts.map +1 -0
- package/dist/sections.js +62 -0
- package/dist/sections.js.map +1 -0
- package/dist/storage.d.ts +21 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +296 -0
- package/dist/storage.js.map +1 -0
- package/dist/style-commands.d.ts +15 -0
- package/dist/style-commands.d.ts.map +1 -0
- package/dist/style-commands.js +54 -0
- package/dist/style-commands.js.map +1 -0
- package/dist/styles/csl.d.ts +58 -0
- package/dist/styles/csl.d.ts.map +1 -0
- package/dist/styles/csl.js +112 -0
- package/dist/styles/csl.js.map +1 -0
- package/dist/styles/discovery.d.ts +45 -0
- package/dist/styles/discovery.d.ts.map +1 -0
- package/dist/styles/discovery.js +99 -0
- package/dist/styles/discovery.js.map +1 -0
- package/dist/styles/golden.d.ts +52 -0
- package/dist/styles/golden.d.ts.map +1 -0
- package/dist/styles/golden.js +216 -0
- package/dist/styles/golden.js.map +1 -0
- package/dist/styles/profile.d.ts +126 -0
- package/dist/styles/profile.d.ts.map +1 -0
- package/dist/styles/profile.js +582 -0
- package/dist/styles/profile.js.map +1 -0
- package/dist/styles/xml.d.ts +22 -0
- package/dist/styles/xml.d.ts.map +1 -0
- package/dist/styles/xml.js +179 -0
- package/dist/styles/xml.js.map +1 -0
- package/dist/types.d.ts +285 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +155 -0
- package/dist/types.js.map +1 -0
- package/dist/typst-pins.d.ts +16 -0
- package/dist/typst-pins.d.ts.map +1 -0
- package/dist/typst-pins.js +39 -0
- package/dist/typst-pins.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/workflow.d.ts +49 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +722 -0
- package/dist/workflow.js.map +1 -0
- package/dist/workspace.d.ts +12 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +71 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +70 -0
- package/policy-packs/countries/CO/academic-standards/ntc-1486-2022.yaml +188 -0
- package/policy-packs/countries/CO/copyright/decision-andina-351.yaml +61 -0
- package/policy-packs/countries/CO/copyright/ley-1915-2018.yaml +25 -0
- package/policy-packs/countries/CO/copyright/ley-23-1982.yaml +64 -0
- package/policy-packs/countries/CO/domains/health/resolucion-8430-1993.yaml +219 -0
- package/policy-packs/countries/CO/higher-education/ley-30-1992.yaml +61 -0
- package/policy-packs/countries/CO/manifest.yaml +42 -0
- package/policy-packs/countries/CO/official-domains.yaml +90 -0
- package/policy-packs/countries/CO/privacy/ley-1581-2012.yaml +197 -0
- package/policy-packs/countries/CO/research-integrity/minciencias-res-0314-2018.yaml +64 -0
- package/policy-packs/global/academic-integrity.yaml +45 -0
- package/policy-packs/global/academic-writing.yaml +70 -0
- package/policy-packs/global/evidence-quality.yaml +81 -0
- package/policy-packs/global/manifest.yaml +54 -0
- package/policy-packs/global/objective-verbs.yaml +245 -0
- package/policy-packs/global/reporting-guidelines.yaml +392 -0
- package/policy-packs/global/work-types.yaml +195 -0
- package/styles/LICENSE-CSL +375 -0
- package/styles/apa.csl +2283 -0
- package/styles/catalog.json +43 -0
- package/styles/fixtures/apa-7.expected.json +25 -0
- package/styles/fixtures/icontec-ntc1486-2022.expected.json +25 -0
- package/styles/fixtures/ieee.expected.json +25 -0
- package/styles/fixtures/references.jsonl +8 -0
- package/styles/icontec-ntc1486-2022.csl +388 -0
- package/styles/ieee.csl +519 -0
- package/templates/html/runtime.js +159 -0
- package/templates/html/thesis.css +98 -0
- package/templates/html/vendor/katex/LICENSE +21 -0
- package/templates/html/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/templates/html/vendor/katex/katex.min.css +1 -0
- package/templates/html/vendor/katex/katex.min.js +1 -0
- package/templates/html/vendor/mermaid/LICENSE +21 -0
- package/templates/html/vendor/mermaid/mermaid.min.js +3587 -0
- package/templates/html/vendor/pagedjs/LICENSE +21 -0
- package/templates/html/vendor/pagedjs/paged.polyfill.min.js +4 -0
- package/templates/palettes.json +57 -0
- package/templates/profiles/apa-7.profile.yaml +15 -0
- package/templates/profiles/generic.profile.yaml +20 -0
- package/templates/profiles/icontec-ntc1486-2022.profile.yaml +36 -0
- package/templates/profiles/ieee.profile.yaml +14 -0
- package/templates/typst/i18n/en.yaml +31 -0
- package/templates/typst/i18n/es.yaml +31 -0
- package/templates/typst/i18n/pt.yaml +31 -0
- package/templates/typst/thesis.typ +276 -0
- package/typst-packages/preview/merman/0.3.0/LICENSE +231 -0
- package/typst-packages/preview/merman/0.3.0/README.md +388 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cose-base-v1/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cose-base-v2/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape/LICENSE +19 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape-cose-bilkent/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape-fcose/LICENSE +19 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/d3-shape/LICENSE +13 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/dagre/LICENSE +19 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/dompurify/LICENSE +202 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/eclipse-elk/LICENSE.md +264 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/elkjs/LICENSE.md +264 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/fmin/LICENSE +27 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/graphlib/LICENSE +19 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/layout-base-v1/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/layout-base-v2/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/mermaid/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/rough-rs/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/roughjs/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/sanitize-url/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/venn-js/LICENSE +22 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/wasm-minimal-protocol/LICENSE +24 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/zenuml-core/LICENSE +21 -0
- package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_NOTICES.md +265 -0
- package/typst-packages/preview/merman/0.3.0/lib.typ +1 -0
- package/typst-packages/preview/merman/0.3.0/merman_typst_plugin.wasm +0 -0
- package/typst-packages/preview/merman/0.3.0/src/capabilities.typ +5 -0
- package/typst-packages/preview/merman/0.3.0/src/context.typ +1 -0
- package/typst-packages/preview/merman/0.3.0/src/errors.typ +33 -0
- package/typst-packages/preview/merman/0.3.0/src/exports.typ +5 -0
- package/typst-packages/preview/merman/0.3.0/src/figure.typ +143 -0
- package/typst-packages/preview/merman/0.3.0/src/image.typ +50 -0
- package/typst-packages/preview/merman/0.3.0/src/options.typ +566 -0
- package/typst-packages/preview/merman/0.3.0/src/plugin.typ +1 -0
- package/typst-packages/preview/merman/0.3.0/src/raw.typ +22 -0
- package/typst-packages/preview/merman/0.3.0/src/render.typ +137 -0
- package/typst-packages/preview/merman/0.3.0/src/source.typ +7 -0
- package/typst-packages/preview/merman/0.3.0/src/units.typ +51 -0
- package/typst-packages/preview/merman/0.3.0/typst.toml +12 -0
- package/typst-packages/preview/mitex/0.2.7/CHANGELOG.md +69 -0
- package/typst-packages/preview/mitex/0.2.7/LICENSE +176 -0
- package/typst-packages/preview/mitex/0.2.7/README.md +154 -0
- package/typst-packages/preview/mitex/0.2.7/lib.typ +1 -0
- package/typst-packages/preview/mitex/0.2.7/mitex.typ +45 -0
- package/typst-packages/preview/mitex/0.2.7/mitex.wasm +0 -0
- package/typst-packages/preview/mitex/0.2.7/specs/README.md +250 -0
- package/typst-packages/preview/mitex/0.2.7/specs/latex/standard.typ +1187 -0
- package/typst-packages/preview/mitex/0.2.7/specs/mod.typ +12 -0
- package/typst-packages/preview/mitex/0.2.7/specs/prelude.typ +230 -0
- package/typst-packages/preview/mitex/0.2.7/typst.toml +12 -0
|
@@ -0,0 +1,1187 @@
|
|
|
1
|
+
#import "../prelude.typ": *
|
|
2
|
+
|
|
3
|
+
// 0. Some useful internal variables or functions
|
|
4
|
+
#let mitex-color-map = (
|
|
5
|
+
"red": rgb(255, 0, 0),
|
|
6
|
+
"green": rgb(0, 255, 0),
|
|
7
|
+
"blue": rgb(0, 0, 255),
|
|
8
|
+
"cyan": rgb(0, 255, 255),
|
|
9
|
+
"magenta": rgb(255, 0, 255),
|
|
10
|
+
"yellow": rgb(255, 255, 0),
|
|
11
|
+
"black": rgb(0, 0, 0),
|
|
12
|
+
"white": rgb(255, 255, 255),
|
|
13
|
+
"gray": rgb(128, 128, 128),
|
|
14
|
+
"lightgray": rgb(192, 192, 192),
|
|
15
|
+
"darkgray": rgb(64, 64, 64),
|
|
16
|
+
"brown": rgb(165, 42, 42),
|
|
17
|
+
"orange": rgb(255, 165, 0),
|
|
18
|
+
"pink": rgb(255, 182, 193),
|
|
19
|
+
"purple": rgb(128, 0, 128),
|
|
20
|
+
"teal": rgb(0, 128, 128),
|
|
21
|
+
"olive": rgb(128, 128, 0),
|
|
22
|
+
)
|
|
23
|
+
#let get-tex-str-from-arr(arr) = arr.filter(it => it != [ ] and it != [#math.zws]).map(it => it.text).sum()
|
|
24
|
+
#let get-tex-str(tex) = if tex.has("children") {
|
|
25
|
+
get-tex-str-from-arr(tex.children)
|
|
26
|
+
} else {
|
|
27
|
+
tex.text
|
|
28
|
+
}
|
|
29
|
+
#let get-tex-color-from-arr(arr) = {
|
|
30
|
+
mitex-color-map.at(lower(get-tex-str-from-arr(arr)), default: none)
|
|
31
|
+
}
|
|
32
|
+
#let get-tex-color(model, spec) = {
|
|
33
|
+
let model = if type(model) == content and model.has("text") {
|
|
34
|
+
model.text
|
|
35
|
+
} else if type(model) == str {
|
|
36
|
+
model
|
|
37
|
+
} else {
|
|
38
|
+
model
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
let s = if type(spec) == str {
|
|
42
|
+
spec
|
|
43
|
+
} else if type(spec) == content and spec.has("text") {
|
|
44
|
+
spec.text
|
|
45
|
+
} else if (
|
|
46
|
+
type(spec) == content and spec.has("children")
|
|
47
|
+
) {
|
|
48
|
+
spec.children.map(it => if it.has("text") { it.text } else { "" }).join("")
|
|
49
|
+
} else {
|
|
50
|
+
""
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if model == none {
|
|
54
|
+
mitex-color-map.at(lower(s), default: none)
|
|
55
|
+
} else if model == "gray" {
|
|
56
|
+
luma(float(s) * 100%)
|
|
57
|
+
} else if model == "rgb" {
|
|
58
|
+
rgb(..s.split(",").map(x => float(x) * 100%))
|
|
59
|
+
} else if model == "RGB" {
|
|
60
|
+
rgb(..s.split(",").map(x => int(x)))
|
|
61
|
+
} else if model == "HTML" {
|
|
62
|
+
rgb("#" + s)
|
|
63
|
+
} else if model == "cmyk" {
|
|
64
|
+
cmyk(..s.split(",").map(x => float(x) * 100%))
|
|
65
|
+
} else {
|
|
66
|
+
none
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// 1. functions created to make it easier to define a spec
|
|
71
|
+
#let operatornamewithlimits(it) = math.op(limits: true, math.upright(it))
|
|
72
|
+
#let arrow-handle(arrow-sym) = define-cmd(1, handle: it => $limits(stretch(#arrow-sym)^#it)$)
|
|
73
|
+
#let _greedy-handle(fn) = (..args) => $fn(#args.pos().sum())$
|
|
74
|
+
#let greedy-handle(alias, fn) = define-greedy-cmd(alias, handle: _greedy-handle(fn))
|
|
75
|
+
#let limits-handle(alias, wrap) = define-cmd(1, alias: alias, handle: it => math.limits(wrap(it)))
|
|
76
|
+
#let matrix-handle(delim: none, handle: none) = define-env(
|
|
77
|
+
none,
|
|
78
|
+
kind: "is-matrix",
|
|
79
|
+
alias: none,
|
|
80
|
+
handle: math.mat.with(delim: delim),
|
|
81
|
+
)
|
|
82
|
+
#let call-or-ignore(fn) = (..args) => if args.pos().len() > 0 {
|
|
83
|
+
fn(..args)
|
|
84
|
+
} else {
|
|
85
|
+
math.zws
|
|
86
|
+
}
|
|
87
|
+
#let ignore-me = (..args) => { }
|
|
88
|
+
#let ignore-sym = define-sym("")
|
|
89
|
+
|
|
90
|
+
// 2. Standard package definitions, generate specs and scopes,
|
|
91
|
+
// for parser/convert and typst respectively
|
|
92
|
+
#let (
|
|
93
|
+
spec,
|
|
94
|
+
scope,
|
|
95
|
+
) = process-spec((
|
|
96
|
+
// Text mode
|
|
97
|
+
section: define-cmd(1, alias: "#heading(level: 1)"),
|
|
98
|
+
subsection: define-cmd(1, alias: "#heading(level: 2)"),
|
|
99
|
+
subsubsection: define-cmd(1, alias: "#heading(level: 3)"),
|
|
100
|
+
footnote: define-cmd(1, alias: "#footnote"),
|
|
101
|
+
cite: define-cmd(1, alias: "#mitexcite", handle: it => cite(label(get-tex-str(it)))),
|
|
102
|
+
emph: define-cmd(1, alias: "#emph"),
|
|
103
|
+
label: define-cmd(1, alias: "mitexlabel", handle: ignore-me),
|
|
104
|
+
tag: define-cmd(1, alias: "mitexlabel", handle: ignore-me),
|
|
105
|
+
ref: define-cmd(1, alias: "#mitexref", handle: it => ref(label(get-tex-str(it)))),
|
|
106
|
+
eqref: define-cmd(1, alias: "#mitexref"),
|
|
107
|
+
item: ignore-sym,
|
|
108
|
+
// environments for text mode
|
|
109
|
+
itemize: define-env(none, kind: "is-itemize"),
|
|
110
|
+
enumerate: define-env(none, kind: "is-enumerate"),
|
|
111
|
+
quote: define-env(none, alias: "quote(block: true)"),
|
|
112
|
+
abstract: define-env(none, alias: "quote(block: true)"),
|
|
113
|
+
figure: define-glob-env("{,b}", kind: "is-figure", alias: "figure"),
|
|
114
|
+
table: define-glob-env("{,b}", kind: "is-figure", alias: "figure"),
|
|
115
|
+
tabular: define-env(1, kind: "is-table", alias: "table"),
|
|
116
|
+
// commands for figure
|
|
117
|
+
centering: ignore-sym,
|
|
118
|
+
textwidth: sym,
|
|
119
|
+
caption: define-cmd(1, alias: "mitexcaption", handle: ignore-me),
|
|
120
|
+
includegraphics: define-glob-cmd("{,b}t", "#miteximage", handle: ignore-me),
|
|
121
|
+
// commands for tabular
|
|
122
|
+
toprule: define-glob-cmd("{,b}", "toprule"),
|
|
123
|
+
midrule: define-glob-cmd("{,b}", "midrule"),
|
|
124
|
+
bottomrule: define-glob-cmd("{,b}", "bottomrule"),
|
|
125
|
+
hline: ignore-sym,
|
|
126
|
+
vline: ignore-sym,
|
|
127
|
+
// Spaces: \! \, \> \: \; \ \quad \qquad
|
|
128
|
+
"!": define-sym("negthinspace", sym: h(-(3/18) * 1em)),
|
|
129
|
+
negthinspace: of-sym(h(-(3/18) * 1em)),
|
|
130
|
+
negthinmedspace: of-sym(h(-(3/18) * 1em)),
|
|
131
|
+
negmedspace: of-sym(h(-(4/18) * 1em)),
|
|
132
|
+
negthickspace: of-sym(h(-(5/18) * 1em)),
|
|
133
|
+
",": define-sym("thin"),
|
|
134
|
+
thinspace: define-sym("thin"),
|
|
135
|
+
">": define-sym("med"),
|
|
136
|
+
":": define-sym("med"),
|
|
137
|
+
medspace: define-sym("med"),
|
|
138
|
+
";": define-sym("thick"),
|
|
139
|
+
"": define-sym("thick"),
|
|
140
|
+
thickspace: define-sym("thick"),
|
|
141
|
+
enspace: of-sym(h((1/2) * 1em)),
|
|
142
|
+
nobreakspace: define-sym("space.nobreak"),
|
|
143
|
+
space: sym,
|
|
144
|
+
quad: sym,
|
|
145
|
+
qquad: define-sym("wide"),
|
|
146
|
+
phantom: define-cmd(1, handle: hide),
|
|
147
|
+
hphantom: define-cmd(1, handle: it => box(height: 0pt, hide(it))),
|
|
148
|
+
vphantom: define-cmd(1, handle: it => box(width: 0pt, hide(it))),
|
|
149
|
+
smash: define-cmd(1, handle: it => box(height: 0pt, align(bottom, $#it$))),
|
|
150
|
+
// Escape symbols
|
|
151
|
+
"_": define-sym("\\_"),
|
|
152
|
+
"^": define-sym("hat"),
|
|
153
|
+
"*": define-sym(""),
|
|
154
|
+
"|": define-sym("||"),
|
|
155
|
+
"&": define-sym("amp"),
|
|
156
|
+
"#": define-sym("hash"),
|
|
157
|
+
"%": define-sym("%"),
|
|
158
|
+
"-": define-sym("-"),
|
|
159
|
+
"+": define-sym("+"),
|
|
160
|
+
"$": define-sym("dollar"),
|
|
161
|
+
"{": define-sym("\\{"),
|
|
162
|
+
"}": define-sym("\\}"),
|
|
163
|
+
vert: define-sym("|"),
|
|
164
|
+
lvert: of-sym(math.class("opening", "|")),
|
|
165
|
+
rvert: of-sym(math.class("closing", "|")),
|
|
166
|
+
Vert: define-sym("||"),
|
|
167
|
+
lVert: of-sym(math.class("opening", "||")),
|
|
168
|
+
rVert: of-sym(math.class("closing", "||")),
|
|
169
|
+
lparen: define-sym("paren.l"),
|
|
170
|
+
rparen: define-sym("paren.r"),
|
|
171
|
+
lceil: define-sym("⌈"),
|
|
172
|
+
rceil: define-sym("⌉"),
|
|
173
|
+
lfloor: define-sym("⌊"),
|
|
174
|
+
rfloor: define-sym("⌋"),
|
|
175
|
+
// Sizes and styles
|
|
176
|
+
displaystyle: greedy-handle("mitexdisplay", math.display),
|
|
177
|
+
textstyle: greedy-handle("mitexinline", math.inline),
|
|
178
|
+
scriptstyle: greedy-handle("mitexscript", math.script),
|
|
179
|
+
scriptscriptstyle: greedy-handle("mitexsscript", math.sscript),
|
|
180
|
+
bf: greedy-handle("mitexbold", it => math.bold(math.upright(it))),
|
|
181
|
+
rm: greedy-handle("mitexupright", math.upright),
|
|
182
|
+
it: greedy-handle("mitexitalic", math.italic),
|
|
183
|
+
sf: greedy-handle("mitexsans", math.sans),
|
|
184
|
+
frak: greedy-handle("mitexfrak", math.frak),
|
|
185
|
+
tt: greedy-handle("mitexmono", math.mono),
|
|
186
|
+
cal: greedy-handle("mitexcal", math.cal),
|
|
187
|
+
bold: define-cmd(1, alias: "bold"),
|
|
188
|
+
mathbf: define-cmd(1, alias: "mitexmathbf", handle: it => math.bold(math.upright(it))),
|
|
189
|
+
bm: define-cmd(1, alias: "bold"),
|
|
190
|
+
boldsymbol: define-cmd(1, alias: "bold"),
|
|
191
|
+
pmb: define-cmd(1, alias: "bold"),
|
|
192
|
+
mathrm: define-cmd(1, alias: "upright"),
|
|
193
|
+
mathit: define-cmd(1, alias: "italic"),
|
|
194
|
+
mathnormal: define-cmd(1, alias: "italic"),
|
|
195
|
+
mathsf: define-cmd(1, alias: "sans"),
|
|
196
|
+
mathfrak: define-cmd(1, alias: "frak"),
|
|
197
|
+
mathtt: define-cmd(1, alias: "mono"),
|
|
198
|
+
Bbb: define-cmd(1, alias: "bb"),
|
|
199
|
+
mathbb: define-cmd(1, alias: "bb"),
|
|
200
|
+
mathcal: define-cmd(1, alias: "cal"),
|
|
201
|
+
mathscr: define-cmd(1, handle: it => {
|
|
202
|
+
let s = get-tex-str(it)
|
|
203
|
+
s.clusters().map(x => $scr(#x)$).join()
|
|
204
|
+
}),
|
|
205
|
+
mathbin: define-cmd(1, handle: it => math.class("binary", it)),
|
|
206
|
+
mathclose: define-cmd(1, handle: it => math.class("closing", it)),
|
|
207
|
+
mathinner: define-cmd(1, handle: it => math.class("fence", it)),
|
|
208
|
+
mathop: define-cmd(1, handle: it => math.class("unary", it)),
|
|
209
|
+
mathopen: define-cmd(1, handle: it => math.class("opening", it)),
|
|
210
|
+
mathord: define-cmd(1, handle: it => math.class("normal", it)),
|
|
211
|
+
mathpunct: define-cmd(1, handle: it => math.class("punctuation", it)),
|
|
212
|
+
mathrel: define-cmd(1, handle: it => math.class("relation", it)),
|
|
213
|
+
big: define-cmd(1, handle: it => math.lr(size: 1.2em, it)),
|
|
214
|
+
Big: define-cmd(1, handle: it => math.lr(size: 1.8em, it)),
|
|
215
|
+
bigg: define-cmd(1, handle: it => math.lr(size: 2.4em, it)),
|
|
216
|
+
Bigg: define-cmd(1, handle: it => math.lr(size: 3em, it)),
|
|
217
|
+
bigl: define-cmd(1, alias: "big"),
|
|
218
|
+
Bigl: define-cmd(1, alias: "Big"),
|
|
219
|
+
biggl: define-cmd(1, alias: "bigg"),
|
|
220
|
+
Biggl: define-cmd(1, alias: "Bigg"),
|
|
221
|
+
bigm: define-cmd(1, alias: "big"),
|
|
222
|
+
Bigm: define-cmd(1, alias: "Big"),
|
|
223
|
+
biggm: define-cmd(1, alias: "bigg"),
|
|
224
|
+
Biggm: define-cmd(1, alias: "Bigg"),
|
|
225
|
+
bigr: define-cmd(1, alias: "big"),
|
|
226
|
+
Bigr: define-cmd(1, alias: "Big"),
|
|
227
|
+
biggr: define-cmd(1, alias: "bigg"),
|
|
228
|
+
Biggr: define-cmd(1, alias: "Bigg"),
|
|
229
|
+
// todo: size, especially multi-line, ignore it for now.
|
|
230
|
+
Huge: ignore-sym,
|
|
231
|
+
normalsize: ignore-sym,
|
|
232
|
+
huge: ignore-sym,
|
|
233
|
+
small: ignore-sym,
|
|
234
|
+
footnotesize: ignore-sym,
|
|
235
|
+
Large: ignore-sym,
|
|
236
|
+
LARGE: ignore-sym,
|
|
237
|
+
scriptsize: ignore-sym,
|
|
238
|
+
large: ignore-sym,
|
|
239
|
+
tiny: ignore-sym,
|
|
240
|
+
// Colors
|
|
241
|
+
color: define-greedy-cmd("#mitexcolor", handle: (model, texcolor, ..args) => {
|
|
242
|
+
let color = get-tex-color(model, texcolor)
|
|
243
|
+
if color != none {
|
|
244
|
+
text(fill: color, args.pos().sum())
|
|
245
|
+
} else {
|
|
246
|
+
args.pos().sum()
|
|
247
|
+
}
|
|
248
|
+
}),
|
|
249
|
+
textcolor: define-glob-cmd("{,b}tt", "#colortext", handle: (model, texcolor, body) => {
|
|
250
|
+
let color = get-tex-color(model, texcolor)
|
|
251
|
+
if color != none {
|
|
252
|
+
text(fill: color, body)
|
|
253
|
+
} else {
|
|
254
|
+
body
|
|
255
|
+
}
|
|
256
|
+
}),
|
|
257
|
+
colorbox: define-glob-cmd("{,b}tt", "#mitexcolorbox", handle: (model, texcolor, body) => {
|
|
258
|
+
let color = get-tex-color(model, texcolor)
|
|
259
|
+
if color != none {
|
|
260
|
+
box(fill: color, inset: (x: 3pt), outset: (y: 3pt), radius: 2pt, body)
|
|
261
|
+
} else {
|
|
262
|
+
body
|
|
263
|
+
}
|
|
264
|
+
}),
|
|
265
|
+
// Limits
|
|
266
|
+
limits: left1-op("limits"),
|
|
267
|
+
nolimits: left1-op("scripts"),
|
|
268
|
+
// Commands
|
|
269
|
+
frac: define-cmd(2, handle: (num, den) => $(num)/(den)$),
|
|
270
|
+
// todo: cfrac, dfrac are same?
|
|
271
|
+
cfrac: define-cmd(2, handle: (num, den) => $display((num)/(den))$),
|
|
272
|
+
dfrac: define-cmd(2, handle: (num, den) => $display((num)/(den))$),
|
|
273
|
+
tfrac: define-cmd(2, handle: (num, den) => $inline((num)/(den))$),
|
|
274
|
+
binom: define-cmd(2),
|
|
275
|
+
dbinom: define-cmd(2, handle: (n, k) => $display(binom(#n, #k))$),
|
|
276
|
+
tbinom: define-cmd(2, handle: (n, k) => $inline(binom(#n, #k))$),
|
|
277
|
+
stackrel: define-cmd(2, handle: (sup, base) => $limits(base)^(sup)$),
|
|
278
|
+
substack: define-cmd(1, handle: it => it),
|
|
279
|
+
overset: define-cmd(2, handle: (sup, base) => $limits(base)^(sup)$),
|
|
280
|
+
underset: define-cmd(2, handle: (sub, base) => $limits(base)_(sub)$),
|
|
281
|
+
// Accents
|
|
282
|
+
"not": define-cmd(1, alias: "mitexnot", handle: it => math.cancel(angle: 20deg, it)),
|
|
283
|
+
cancel: define-cmd(1),
|
|
284
|
+
xcancel: define-cmd(1, handle: math.cancel),
|
|
285
|
+
bcancel: define-cmd(1, handle: math.cancel.with(inverted: true)),
|
|
286
|
+
sout: define-cmd(1, handle: math.cancel.with(angle: 90deg)),
|
|
287
|
+
grave: define-cmd(1, alias: "grave"),
|
|
288
|
+
acute: define-cmd(1, alias: "acute"),
|
|
289
|
+
hat: define-cmd(1, alias: "hat"),
|
|
290
|
+
widehat: define-cmd(1, alias: "hat"),
|
|
291
|
+
tilde: define-cmd(1, alias: "tilde"),
|
|
292
|
+
widetilde: define-cmd(1, alias: "tilde"),
|
|
293
|
+
bar: define-cmd(1, alias: "macron"),
|
|
294
|
+
breve: define-cmd(1, alias: "breve"),
|
|
295
|
+
dot: define-cmd(1, alias: "dot"),
|
|
296
|
+
ddot: define-cmd(1, alias: "dot.double"),
|
|
297
|
+
dddot: define-cmd(1, alias: "dot.triple"),
|
|
298
|
+
ddddot: define-cmd(1, alias: "dot.quad"),
|
|
299
|
+
H: define-cmd(1, alias: "acute.double"),
|
|
300
|
+
check: define-cmd(1, alias: "caron"),
|
|
301
|
+
widecheck: define-cmd(1, alias: "caron"),
|
|
302
|
+
u: define-cmd(1, alias: "breve"),
|
|
303
|
+
v: define-cmd(1, alias: "caron"),
|
|
304
|
+
r: define-cmd(1, alias: "circle"),
|
|
305
|
+
vec: define-cmd(1, alias: "arrow"),
|
|
306
|
+
overrightarrow: define-cmd(1, alias: "arrow"),
|
|
307
|
+
overleftarrow: define-cmd(1, alias: "arrow.l"),
|
|
308
|
+
overline: cmd1,
|
|
309
|
+
underline: cmd1,
|
|
310
|
+
overbrace: limits-handle("mitexoverbrace", math.overbrace),
|
|
311
|
+
underbrace: limits-handle("mitexunderbrace", math.underbrace),
|
|
312
|
+
overbracket: limits-handle("mitexoverbracket", math.overbracket),
|
|
313
|
+
underbracket: limits-handle("mitexunderbracket", math.underbracket),
|
|
314
|
+
boxed: define-cmd(1, handle: it => box(stroke: 0.5pt, inset: 6pt, $it$)),
|
|
315
|
+
// Greeks
|
|
316
|
+
alpha: sym,
|
|
317
|
+
beta: sym,
|
|
318
|
+
gamma: sym,
|
|
319
|
+
delta: sym,
|
|
320
|
+
epsilon: define-sym("epsilon.alt"),
|
|
321
|
+
zeta: sym,
|
|
322
|
+
eta: sym,
|
|
323
|
+
theta: sym,
|
|
324
|
+
iota: sym,
|
|
325
|
+
kappa: sym,
|
|
326
|
+
lambda: sym,
|
|
327
|
+
mu: sym,
|
|
328
|
+
nu: sym,
|
|
329
|
+
xi: sym,
|
|
330
|
+
omicron: sym,
|
|
331
|
+
pi: sym,
|
|
332
|
+
rho: sym,
|
|
333
|
+
sigma: sym,
|
|
334
|
+
tau: sym,
|
|
335
|
+
upsilon: sym,
|
|
336
|
+
phi: define-sym("phi.alt"),
|
|
337
|
+
chi: sym,
|
|
338
|
+
psi: sym,
|
|
339
|
+
omega: sym,
|
|
340
|
+
Alpha: sym,
|
|
341
|
+
Beta: sym,
|
|
342
|
+
Gamma: sym,
|
|
343
|
+
Delta: sym,
|
|
344
|
+
Epsilon: sym,
|
|
345
|
+
Zeta: sym,
|
|
346
|
+
Eta: sym,
|
|
347
|
+
Theta: sym,
|
|
348
|
+
Iota: sym,
|
|
349
|
+
Kappa: sym,
|
|
350
|
+
Lambda: sym,
|
|
351
|
+
Mu: sym,
|
|
352
|
+
Nu: sym,
|
|
353
|
+
Xi: sym,
|
|
354
|
+
Omicron: sym,
|
|
355
|
+
Pi: sym,
|
|
356
|
+
Rho: sym,
|
|
357
|
+
Sigma: sym,
|
|
358
|
+
Tau: sym,
|
|
359
|
+
Upsilon: sym,
|
|
360
|
+
Phi: sym,
|
|
361
|
+
Chi: sym,
|
|
362
|
+
Psi: sym,
|
|
363
|
+
Omega: sym,
|
|
364
|
+
varbeta: define-sym("beta.alt"),
|
|
365
|
+
varepsilon: define-sym("epsilon"),
|
|
366
|
+
varkappa: define-sym("kappa.alt"),
|
|
367
|
+
varphi: define-sym("phi"),
|
|
368
|
+
varpi: define-sym("pi.alt"),
|
|
369
|
+
varrho: define-sym("rho.alt"),
|
|
370
|
+
varsigma: define-sym("sigma.alt"),
|
|
371
|
+
vartheta: define-sym("theta.alt"),
|
|
372
|
+
ell: sym,
|
|
373
|
+
// Function symbols
|
|
374
|
+
sin: sym,
|
|
375
|
+
cos: sym,
|
|
376
|
+
tan: sym,
|
|
377
|
+
cot: sym,
|
|
378
|
+
sec: sym,
|
|
379
|
+
csc: sym,
|
|
380
|
+
arcsin: sym,
|
|
381
|
+
arccos: sym,
|
|
382
|
+
arctan: sym,
|
|
383
|
+
sinh: sym,
|
|
384
|
+
cosh: sym,
|
|
385
|
+
tanh: sym,
|
|
386
|
+
coth: sym,
|
|
387
|
+
ln: sym,
|
|
388
|
+
log: sym,
|
|
389
|
+
lg: sym,
|
|
390
|
+
lim: sym,
|
|
391
|
+
limsup: sym,
|
|
392
|
+
liminf: sym,
|
|
393
|
+
hom: sym,
|
|
394
|
+
det: sym,
|
|
395
|
+
exp: sym,
|
|
396
|
+
deg: sym,
|
|
397
|
+
gcd: sym,
|
|
398
|
+
lcm: sym,
|
|
399
|
+
dim: sym,
|
|
400
|
+
ker: sym,
|
|
401
|
+
arg: sym,
|
|
402
|
+
Pr: sym,
|
|
403
|
+
// Limits
|
|
404
|
+
max: sym,
|
|
405
|
+
min: sym,
|
|
406
|
+
argmax: sym,
|
|
407
|
+
argmin: sym,
|
|
408
|
+
sup: sym,
|
|
409
|
+
inf: sym,
|
|
410
|
+
sum: sym,
|
|
411
|
+
prod: define-sym("product"),
|
|
412
|
+
int: define-sym("integral"),
|
|
413
|
+
iint: define-sym("integral.double"),
|
|
414
|
+
iiint: define-sym("integral.triple"),
|
|
415
|
+
oint: define-sym("integral.cont"),
|
|
416
|
+
oiint: define-sym("integral.surf"),
|
|
417
|
+
oiiint: define-sym("integral.vol"),
|
|
418
|
+
// Symbols
|
|
419
|
+
mod: define-sym("mod"),
|
|
420
|
+
bmod: define-sym("mod"),
|
|
421
|
+
cdot: define-sym("dot.c"),
|
|
422
|
+
cdotp: define-sym("dot.c"),
|
|
423
|
+
sdot: define-sym("dot.c"),
|
|
424
|
+
times: define-sym("times"),
|
|
425
|
+
oplus: define-sym("plus.o"),
|
|
426
|
+
ominus: define-sym("minus.o"),
|
|
427
|
+
pm: define-sym("plus.minus"),
|
|
428
|
+
plusmn: define-sym("plus.minus"),
|
|
429
|
+
mp: define-sym("minus.plus"),
|
|
430
|
+
div: define-sym("div"),
|
|
431
|
+
star: define-sym("star"),
|
|
432
|
+
cap: define-sym("inter"),
|
|
433
|
+
cup: define-sym("union"),
|
|
434
|
+
"in": define-sym("in"),
|
|
435
|
+
isin: define-sym("in"),
|
|
436
|
+
notin: define-sym("in.not"),
|
|
437
|
+
subset: define-sym("subset"),
|
|
438
|
+
subseteq: define-sym("subset.eq"),
|
|
439
|
+
subsetneqq: define-sym("⫋"),
|
|
440
|
+
ne: define-sym("!="),
|
|
441
|
+
neq: define-sym("!="),
|
|
442
|
+
lt: define-sym("<"),
|
|
443
|
+
gt: define-sym(">"),
|
|
444
|
+
le: define-sym("<="),
|
|
445
|
+
ge: define-sym(">="),
|
|
446
|
+
leq: define-sym("<="),
|
|
447
|
+
geq: define-sym(">="),
|
|
448
|
+
leqslant: define-sym("lt.eq.slant"),
|
|
449
|
+
geqslant: define-sym("gt.eq.slant"),
|
|
450
|
+
eqslantgtr: define-sym("⪖"),
|
|
451
|
+
eqslantless: define-sym("⪕"),
|
|
452
|
+
approx: define-sym("approx"),
|
|
453
|
+
leftarrow: define-sym("<-"),
|
|
454
|
+
rightarrow: define-sym("->"),
|
|
455
|
+
leftrightarrow: define-sym("<->"),
|
|
456
|
+
Leftarrow: define-sym("arrow.l.double"),
|
|
457
|
+
Rightarrow: define-sym("=>"),
|
|
458
|
+
Leftrightarrow: define-sym("<=>"),
|
|
459
|
+
larr: define-sym("<-"),
|
|
460
|
+
rarr: define-sym("->"),
|
|
461
|
+
lrarr: define-sym("<->"),
|
|
462
|
+
lArr: define-sym("arrow.l.double"),
|
|
463
|
+
rArr: define-sym("=>"),
|
|
464
|
+
lrArr: define-sym("<=>"),
|
|
465
|
+
Larr: define-sym("arrow.l.double"),
|
|
466
|
+
Rarr: define-sym("=>"),
|
|
467
|
+
Lrarr: define-sym("<=>"),
|
|
468
|
+
longleftarrow: define-sym("<--"),
|
|
469
|
+
longrightarrow: define-sym("-->"),
|
|
470
|
+
longleftrightarrow: define-sym("<-->"),
|
|
471
|
+
Longleftarrow: define-sym("<=="),
|
|
472
|
+
Longrightarrow: define-sym("==>"),
|
|
473
|
+
Longleftrightarrow: define-sym("<==>"),
|
|
474
|
+
to: define-sym("->"),
|
|
475
|
+
implies: define-sym("==>"),
|
|
476
|
+
impliedby: define-sym("<=="),
|
|
477
|
+
gets: define-sym("<-"),
|
|
478
|
+
mapsto: define-sym("|->"),
|
|
479
|
+
infty: define-sym("oo"),
|
|
480
|
+
lbrack: define-sym("bracket.l"),
|
|
481
|
+
rbrack: define-sym("bracket.r"),
|
|
482
|
+
lgroup: define-sym("⟮"),
|
|
483
|
+
rgroup: define-sym("⟯"),
|
|
484
|
+
llbracket: define-sym("bracket.stroked.l"),
|
|
485
|
+
rrbracket: define-sym("bracket.stroked.r"),
|
|
486
|
+
angle: define-sym("angle"),
|
|
487
|
+
lang: define-sym("chevron.l"),
|
|
488
|
+
rang: define-sym("chevron.r"),
|
|
489
|
+
langle: define-sym("chevron.l"),
|
|
490
|
+
rangle: define-sym("chevron.r"),
|
|
491
|
+
measuredangle: define-sym("angle.arc"),
|
|
492
|
+
sphericalangle: define-sym("angle.spheric"),
|
|
493
|
+
ast: define-sym("ast"),
|
|
494
|
+
checkmark: define-sym("checkmark"),
|
|
495
|
+
circledast: define-sym("convolve.o"),
|
|
496
|
+
backslash: define-sym("backslash"),
|
|
497
|
+
dagger: define-sym("dagger"),
|
|
498
|
+
ddagger: define-sym("dagger.double"),
|
|
499
|
+
circleddash: define-sym("dash.o"),
|
|
500
|
+
odot: define-sym("dot.o"),
|
|
501
|
+
bigodot: define-sym("dot.o.big"),
|
|
502
|
+
boxdot: define-sym("dot.square"),
|
|
503
|
+
dots: define-sym("dots.h"),
|
|
504
|
+
cdots: define-sym("dots.h.c"),
|
|
505
|
+
ldots: define-sym("dots.h"),
|
|
506
|
+
vdots: define-sym("dots.v"),
|
|
507
|
+
ddots: define-sym("dots.down"),
|
|
508
|
+
dotsb: define-sym("dots.h.c"),
|
|
509
|
+
dotsc: define-sym("dots.h"),
|
|
510
|
+
dotsi: define-sym("dots.h.c"),
|
|
511
|
+
dotsm: define-sym("dots.h.c"),
|
|
512
|
+
dotso: define-sym("dots.h"),
|
|
513
|
+
sim: define-sym("tilde"),
|
|
514
|
+
simeq: define-sym("tilde.eq"),
|
|
515
|
+
backsimeq: define-sym("tilde.eq.rev"),
|
|
516
|
+
cong: define-sym("tilde.equiv"),
|
|
517
|
+
ncong: define-sym("tilde.equiv.not"),
|
|
518
|
+
nsim: define-sym("tilde.not"),
|
|
519
|
+
backsim: define-sym("tilde.rev"),
|
|
520
|
+
prime: define-sym("prime"),
|
|
521
|
+
backprime: define-sym("prime.rev"),
|
|
522
|
+
bigoplus: define-sym("plus.o.big"),
|
|
523
|
+
dotplus: define-sym("plus.dot"),
|
|
524
|
+
boxplus: define-sym("plus.square"),
|
|
525
|
+
boxminus: define-sym("minus.square"),
|
|
526
|
+
eqsim: define-sym("minus.tilde"),
|
|
527
|
+
otimes: define-sym("times.o"),
|
|
528
|
+
bigotimes: define-sym("times.o.big"),
|
|
529
|
+
divideontimes: define-sym("times.div"),
|
|
530
|
+
leftthreetimes: define-sym("times.three.l"),
|
|
531
|
+
rightthreetimes: define-sym("times.three.r"),
|
|
532
|
+
ltimes: define-sym("times.l"),
|
|
533
|
+
rtimes: define-sym("times.r"),
|
|
534
|
+
boxtimes: define-sym("times.square"),
|
|
535
|
+
triangleq: define-sym("eq.delta"),
|
|
536
|
+
curlyeqprec: define-sym("eq.prec"),
|
|
537
|
+
curlyeqsucc: define-sym("eq.succ"),
|
|
538
|
+
gtrdot: define-sym("gt.dot"),
|
|
539
|
+
gg: define-sym("gt.double"),
|
|
540
|
+
gtreqless: define-sym("gt.eq.lt"),
|
|
541
|
+
gtreqqless: define-sym("⪌"),
|
|
542
|
+
gtrapprox: define-sym("gt.approx"),
|
|
543
|
+
ngeq: define-sym("gt.eq.not"),
|
|
544
|
+
geqq: define-sym("gt.equiv"),
|
|
545
|
+
ngeqq: of-sym(math.cancel(angle: 20deg, "\u{2267}")),
|
|
546
|
+
gtrless: define-sym("gt.lt"),
|
|
547
|
+
gneqq: define-sym("gt.nequiv"),
|
|
548
|
+
ngtr: define-sym("gt.not"),
|
|
549
|
+
gnsim: define-sym("gt.ntilde"),
|
|
550
|
+
gtrsim: define-sym("gt.tilde"),
|
|
551
|
+
vartriangleright: define-sym("gt.tri"),
|
|
552
|
+
trianglerighteq: define-sym("gt.tri.eq"),
|
|
553
|
+
ntrianglerighteq: define-sym("gt.tri.eq.not"),
|
|
554
|
+
ntriangleright: define-sym("gt.tri.not"),
|
|
555
|
+
ggg: define-sym("gt.triple"),
|
|
556
|
+
lessdot: define-sym("lt.dot"),
|
|
557
|
+
ll: define-sym("lt.double"),
|
|
558
|
+
lesseqgtr: define-sym("lt.eq.gt"),
|
|
559
|
+
nleq: define-sym("lt.eq.not"),
|
|
560
|
+
nleqslant: of-sym(math.cancel(angle: 20deg, length: 1em, math.lt.eq.slant)),
|
|
561
|
+
leqq: define-sym("lt.equiv"),
|
|
562
|
+
nleqq: of-sym(math.cancel(angle: 20deg, "\u{2266}")),
|
|
563
|
+
lessgtr: define-sym("lt.gt"),
|
|
564
|
+
lneqq: define-sym("lt.nequiv"),
|
|
565
|
+
nless: define-sym("lt.not"),
|
|
566
|
+
lnsim: define-sym("lt.ntilde"),
|
|
567
|
+
lesssim: define-sym("lt.tilde"),
|
|
568
|
+
vartriangleleft: define-sym("lt.tri"),
|
|
569
|
+
trianglelefteq: define-sym("lt.tri.eq"),
|
|
570
|
+
ntrianglelefteq: define-sym("lt.tri.eq.not"),
|
|
571
|
+
ntriangleleft: define-sym("lt.tri.not"),
|
|
572
|
+
lll: define-sym("lt.triple"),
|
|
573
|
+
approxeq: define-sym("approx.eq"),
|
|
574
|
+
prec: define-sym("prec"),
|
|
575
|
+
precapprox: define-sym("prec.approx"),
|
|
576
|
+
preceq: define-sym("prec.eq"),
|
|
577
|
+
preccurlyeq: define-sym("prec.eq"),
|
|
578
|
+
npreceq: define-sym("prec.eq.not"),
|
|
579
|
+
precnapprox: define-sym("prec.napprox"),
|
|
580
|
+
nprec: define-sym("prec.not"),
|
|
581
|
+
precnsim: define-sym("prec.ntilde"),
|
|
582
|
+
precsim: define-sym("prec.tilde"),
|
|
583
|
+
succ: define-sym("succ"),
|
|
584
|
+
succapprox: define-sym("succ.approx"),
|
|
585
|
+
succeq: define-sym("succ.eq"),
|
|
586
|
+
succcurlyeq: define-sym("succ.eq"),
|
|
587
|
+
nsucceq: define-sym("succ.eq.not"),
|
|
588
|
+
succnapprox: define-sym("succ.napprox"),
|
|
589
|
+
nsucc: define-sym("succ.not"),
|
|
590
|
+
succnsim: define-sym("succ.ntilde"),
|
|
591
|
+
succsim: define-sym("succ.tilde"),
|
|
592
|
+
equiv: define-sym("equiv"),
|
|
593
|
+
propto: define-sym("prop"),
|
|
594
|
+
empty: define-sym("nothing"),
|
|
595
|
+
emptyset: define-sym("nothing"),
|
|
596
|
+
varnothing: define-sym("nothing"),
|
|
597
|
+
o: define-sym("nothing"),
|
|
598
|
+
O: define-sym("nothing"),
|
|
599
|
+
osplash: define-sym("⊘"),
|
|
600
|
+
setminus: define-sym("without"),
|
|
601
|
+
And: define-sym("amp"),
|
|
602
|
+
bigcirc: define-sym("circle.stroked.big"),
|
|
603
|
+
smallsetminus: define-sym("without"),
|
|
604
|
+
complement: define-sym("complement"),
|
|
605
|
+
ni: define-sym("in.rev"),
|
|
606
|
+
notni: define-sym("in.rev.not"),
|
|
607
|
+
Subset: define-sym("subset.double"),
|
|
608
|
+
nsubseteq: define-sym("subset.eq.not"),
|
|
609
|
+
nsubseteqq: of-sym(math.cancel(angle: 20deg, length: 1em, "\u{2AC5}")),
|
|
610
|
+
sqsubseteq: define-sym("subset.eq.sq"),
|
|
611
|
+
subsetneq: define-sym("subset.neq"),
|
|
612
|
+
supset: define-sym("supset"),
|
|
613
|
+
Supset: define-sym("supset.double"),
|
|
614
|
+
supseteq: define-sym("supset.eq"),
|
|
615
|
+
nsupseteq: define-sym("supset.eq.not"),
|
|
616
|
+
nsupseteqq: of-sym(math.cancel(angle: 20deg, length: 1em, "\u{2AC6}")),
|
|
617
|
+
sqsupseteq: define-sym("supset.eq.sq"),
|
|
618
|
+
supsetneq: define-sym("supset.neq"),
|
|
619
|
+
bigcup: define-sym("union.big"),
|
|
620
|
+
Cup: define-sym("union.double"),
|
|
621
|
+
uplus: define-sym("union.plus"),
|
|
622
|
+
biguplus: define-sym("union.plus.big"),
|
|
623
|
+
sqcup: define-sym("union.sq"),
|
|
624
|
+
bigsqcup: define-sym("union.sq.big"),
|
|
625
|
+
bigcap: define-sym("inter.big"),
|
|
626
|
+
Cap: define-sym("inter.double"),
|
|
627
|
+
sqcap: define-sym("inter.sq"),
|
|
628
|
+
partial: define-sym("partial"),
|
|
629
|
+
nabla: define-sym("nabla"),
|
|
630
|
+
coprod: define-sym("product.co"),
|
|
631
|
+
forall: define-sym("forall"),
|
|
632
|
+
exist: define-sym("exists"),
|
|
633
|
+
exists: define-sym("exists"),
|
|
634
|
+
nexists: define-sym("exists.not"),
|
|
635
|
+
top: define-sym("top"),
|
|
636
|
+
bot: define-sym("bot"),
|
|
637
|
+
neg: define-sym("not"),
|
|
638
|
+
lnot: define-sym("not"),
|
|
639
|
+
land: define-sym("and"),
|
|
640
|
+
wedge: define-sym("and"),
|
|
641
|
+
lor: define-sym("or"),
|
|
642
|
+
bigwedge: define-sym("and.big"),
|
|
643
|
+
curlywedge: define-sym("and.curly"),
|
|
644
|
+
vee: define-sym("or"),
|
|
645
|
+
bigvee: define-sym("or.big"),
|
|
646
|
+
curlyvee: define-sym("or.curly"),
|
|
647
|
+
models: define-sym("models"),
|
|
648
|
+
therefore: define-sym("therefore"),
|
|
649
|
+
because: define-sym("because"),
|
|
650
|
+
blacksquare: define-sym("qed"),
|
|
651
|
+
circ: define-sym("compose"),
|
|
652
|
+
multimap: define-sym("multimap"),
|
|
653
|
+
mid: define-sym("divides"),
|
|
654
|
+
nmid: define-sym("divides.not"),
|
|
655
|
+
wr: define-sym("wreath"),
|
|
656
|
+
parallel: define-sym("parallel"),
|
|
657
|
+
shortparallel: define-sym("parallel"),
|
|
658
|
+
nparallel: define-sym("parallel.not"),
|
|
659
|
+
perp: define-sym("perp"),
|
|
660
|
+
Join: define-sym("join"),
|
|
661
|
+
pounds: define-sym("pound"),
|
|
662
|
+
clubsuit: define-sym("suit.club"),
|
|
663
|
+
spadesuit: define-sym("suit.spade"),
|
|
664
|
+
bull: define-sym("bullet"),
|
|
665
|
+
bullet: define-sym("bullet"),
|
|
666
|
+
circledcirc: define-sym("compose.o"),
|
|
667
|
+
rhd: define-sym("triangle.stroked.r"),
|
|
668
|
+
lhd: define-sym("triangle.stroked.l"),
|
|
669
|
+
triangle: define-sym("triangle.stroked.t"),
|
|
670
|
+
bigtriangleup: define-sym("triangle.stroked.t"),
|
|
671
|
+
bigtriangledown: define-sym("triangle.stroked.b"),
|
|
672
|
+
triangleright: define-sym("triangle.stroked.small.r"),
|
|
673
|
+
triangledown: define-sym("triangle.stroked.small.b"),
|
|
674
|
+
triangleleft: define-sym("triangle.stroked.small.l"),
|
|
675
|
+
vartriangle: define-sym("triangle.stroked.small.t"),
|
|
676
|
+
square: define-sym("square.stroked"),
|
|
677
|
+
Diamond: define-sym("diamond.stroked"),
|
|
678
|
+
diamond: define-sym("diamond.stroked.small"),
|
|
679
|
+
diamonds: define-sym("diamond.stroked"),
|
|
680
|
+
diamondsuit: define-sym("diamond.stroked"),
|
|
681
|
+
lozenge: define-sym("lozenge.stroked"),
|
|
682
|
+
blacklozenge: define-sym("lozenge.filled"),
|
|
683
|
+
bigstar: define-sym("star.stroked"),
|
|
684
|
+
longmapsto: define-sym("arrow.r.long.bar"),
|
|
685
|
+
nRightarrow: define-sym("arrow.r.double.not"),
|
|
686
|
+
hookrightarrow: define-sym("arrow.r.hook"),
|
|
687
|
+
looparrowright: define-sym("arrow.r.loop"),
|
|
688
|
+
nrightarrow: define-sym("arrow.r.not"),
|
|
689
|
+
rightsquigarrow: define-sym("arrow.r.squiggly"),
|
|
690
|
+
rightarrowtail: define-sym("arrow.r.tail"),
|
|
691
|
+
Rrightarrow: define-sym("arrow.r.triple"),
|
|
692
|
+
twoheadrightarrow: define-sym("arrow.r.twohead"),
|
|
693
|
+
nLeftarrow: define-sym("arrow.l.double.not"),
|
|
694
|
+
hookleftarrow: define-sym("arrow.l.hook"),
|
|
695
|
+
looparrowleft: define-sym("arrow.l.loop"),
|
|
696
|
+
nleftarrow: define-sym("arrow.l.not"),
|
|
697
|
+
leftarrowtail: define-sym("arrow.l.tail"),
|
|
698
|
+
Lleftarrow: define-sym("arrow.l.triple"),
|
|
699
|
+
twoheadleftarrow: define-sym("arrow.l.twohead"),
|
|
700
|
+
uparrow: define-sym("arrow.t"),
|
|
701
|
+
Uparrow: define-sym("arrow.t.double"),
|
|
702
|
+
downarrow: define-sym("arrow.b"),
|
|
703
|
+
Downarrow: define-sym("arrow.b.double"),
|
|
704
|
+
iff: define-sym("arrow.l.r.double.long"),
|
|
705
|
+
nLeftrightarrow: define-sym("arrow.l.r.double.not"),
|
|
706
|
+
nleftrightarrow: define-sym("arrow.l.r.not"),
|
|
707
|
+
leftrightsquigarrow: define-sym("arrow.l.r.wave"),
|
|
708
|
+
updownarrow: define-sym("arrow.t.b"),
|
|
709
|
+
Updownarrow: define-sym("arrow.t.b.double"),
|
|
710
|
+
nearrow: define-sym("arrow.tr"),
|
|
711
|
+
searrow: define-sym("arrow.br"),
|
|
712
|
+
nwarrow: define-sym("arrow.tl"),
|
|
713
|
+
swarrow: define-sym("arrow.bl"),
|
|
714
|
+
circlearrowleft: define-sym("arrow.ccw"),
|
|
715
|
+
curvearrowleft: define-sym("arrow.ccw.half"),
|
|
716
|
+
circlearrowright: define-sym("arrow.cw"),
|
|
717
|
+
curvearrowright: define-sym("arrow.cw.half"),
|
|
718
|
+
rightrightarrows: define-sym("arrows.rr"),
|
|
719
|
+
leftleftarrows: define-sym("arrows.ll"),
|
|
720
|
+
upuparrows: define-sym("arrows.tt"),
|
|
721
|
+
downdownarrows: define-sym("arrows.bb"),
|
|
722
|
+
leftrightarrows: define-sym("arrows.lr"),
|
|
723
|
+
rightleftarrows: define-sym("arrows.rl"),
|
|
724
|
+
rightharpoonup: define-sym("harpoon.rt"),
|
|
725
|
+
rightharpoondown: define-sym("harpoon.rb"),
|
|
726
|
+
leftharpoonup: define-sym("harpoon.lt"),
|
|
727
|
+
leftharpoondown: define-sym("harpoon.lb"),
|
|
728
|
+
upharpoonleft: define-sym("harpoon.tl"),
|
|
729
|
+
upharpoonright: define-sym("harpoon.tr"),
|
|
730
|
+
downharpoonleft: define-sym("harpoon.bl"),
|
|
731
|
+
downharpoonright: define-sym("harpoon.br"),
|
|
732
|
+
leftrightharpoons: define-sym("harpoons.ltrb"),
|
|
733
|
+
rightleftharpoons: define-sym("harpoons.rtlb"),
|
|
734
|
+
vdash: define-sym("tack.r"),
|
|
735
|
+
nvdash: define-sym("tack.r.not"),
|
|
736
|
+
vDash: define-sym("tack.r.double"),
|
|
737
|
+
nvDash: define-sym("tack.r.double.not"),
|
|
738
|
+
dashv: define-sym("tack.l"),
|
|
739
|
+
hbar: define-sym("planck"),
|
|
740
|
+
hslash: define-sym("planck"),
|
|
741
|
+
Re: define-sym("Re"),
|
|
742
|
+
Im: define-sym("Im"),
|
|
743
|
+
AA: define-sym("circle(A)"),
|
|
744
|
+
aa: define-sym("circle(A)"),
|
|
745
|
+
Box: define-sym("ballot"),
|
|
746
|
+
N: define-sym("NN"),
|
|
747
|
+
natnums: define-sym("NN"),
|
|
748
|
+
natural: define-sym("♮"),
|
|
749
|
+
P: define-sym("pilcrow"),
|
|
750
|
+
Q: define-sym("QQ"),
|
|
751
|
+
R: define-sym("RR"),
|
|
752
|
+
Z: define-sym("ZZ"),
|
|
753
|
+
S: define-sym("section"),
|
|
754
|
+
sect: define-sym("section"),
|
|
755
|
+
AE: define-sym("Æ"),
|
|
756
|
+
ae: define-sym("æ"),
|
|
757
|
+
alef: define-sym("aleph"),
|
|
758
|
+
alefsym: define-sym("aleph"),
|
|
759
|
+
aleph: define-sym("aleph"),
|
|
760
|
+
amalg: define-sym("product.co"),
|
|
761
|
+
arctg: of-sym(math.op("arctg")),
|
|
762
|
+
asymp: define-sym("≍"),
|
|
763
|
+
ch: of-sym(math.op("ch")),
|
|
764
|
+
circeq: define-sym("≗"),
|
|
765
|
+
colon: define-sym("colon"),
|
|
766
|
+
cth: of-sym(math.op("cth")),
|
|
767
|
+
dag: define-sym("dagger"),
|
|
768
|
+
Dagger: define-sym("dagger.double"),
|
|
769
|
+
ddag: define-sym("dagger.double"),
|
|
770
|
+
daleth: define-sym("ℸ"),
|
|
771
|
+
sharp: define-sym("♯"),
|
|
772
|
+
flat: define-sym("♭"),
|
|
773
|
+
i: define-sym("dotless.i"),
|
|
774
|
+
j: define-sym("dotless.j"),
|
|
775
|
+
imath: define-sym("dotless.i"),
|
|
776
|
+
jmath: define-sym("dotless.j"),
|
|
777
|
+
smallsmile: define-sym("⌣"),
|
|
778
|
+
smile: define-sym("⌣"),
|
|
779
|
+
ss: define-sym("ß"),
|
|
780
|
+
surd: define-sym("\√"),
|
|
781
|
+
tg: define-sym("tg"),
|
|
782
|
+
th: of-sym(math.op("th")),
|
|
783
|
+
weierp: define-sym("℘"),
|
|
784
|
+
wp: define-sym("℘"),
|
|
785
|
+
lbrace: define-sym("\\{"),
|
|
786
|
+
rbrace: define-sym("\\}"),
|
|
787
|
+
doteq: define-sym("≐"),
|
|
788
|
+
Vdash: define-sym("⊩"),
|
|
789
|
+
Doteq: define-sym("≑"),
|
|
790
|
+
Vvdash: define-sym("⊪"),
|
|
791
|
+
gnapprox: define-sym("⪊"),
|
|
792
|
+
ngeqslant: define-sym("gt.eq.not"),
|
|
793
|
+
precneqq: define-sym("prec.nequiv"),
|
|
794
|
+
gneq: define-sym("⪈"),
|
|
795
|
+
approxcolon: define-sym("approx:"),
|
|
796
|
+
approxcoloncolon: define-sym("approx::"),
|
|
797
|
+
backepsilon: define-sym("in.rev.small"),
|
|
798
|
+
barwedge: define-sym("⊼"),
|
|
799
|
+
beth: define-sym("beth"),
|
|
800
|
+
between: define-sym("≬"),
|
|
801
|
+
bigdot: define-sym("dot.o.big"),
|
|
802
|
+
bigplus: define-sym("plus.o.big"),
|
|
803
|
+
bigtimes: define-sym("times.o.big"),
|
|
804
|
+
blacktriangle: define-sym("triangle.filled.t"),
|
|
805
|
+
blacktriangledown: define-sym("triangle.filled.b"),
|
|
806
|
+
blacktriangleleft: define-sym("triangle.filled.l"),
|
|
807
|
+
blacktriangleright: define-sym("triangle.filled.r"),
|
|
808
|
+
bowtie: define-sym("⋈"),
|
|
809
|
+
Bumpeq: define-sym("≎"),
|
|
810
|
+
bumpeq: define-sym("≏"),
|
|
811
|
+
centerdot: define-sym("dot.op"),
|
|
812
|
+
circledR: define-sym("®"),
|
|
813
|
+
circledS: define-sym("Ⓢ"),
|
|
814
|
+
clubs: define-sym("suit.club"),
|
|
815
|
+
cnums: define-sym("CC"),
|
|
816
|
+
Colonapprox: define-sym("::approx"),
|
|
817
|
+
colonapprox: define-sym(":approx"),
|
|
818
|
+
coloncolon: define-sym("::"),
|
|
819
|
+
coloncolonapprox: define-sym("::approx"),
|
|
820
|
+
coloncolonequals: define-sym("::="),
|
|
821
|
+
coloncolonminus: define-sym("::−"),
|
|
822
|
+
coloncolonsim: define-sym("::tilde.op"),
|
|
823
|
+
Coloneq: define-sym("::−"),
|
|
824
|
+
coloneq: define-sym(":−"),
|
|
825
|
+
colonequals: define-sym(":="),
|
|
826
|
+
Coloneqq: define-sym("::="),
|
|
827
|
+
coloneqq: define-sym(":="),
|
|
828
|
+
colonminus: define-sym(":−"),
|
|
829
|
+
Colonsim: define-sym("::tilde.op"),
|
|
830
|
+
colonsim: define-sym(":tilde.op"),
|
|
831
|
+
Complex: define-sym("CC"),
|
|
832
|
+
copyright: define-sym("copyright"),
|
|
833
|
+
ctg: define-sym("ctg"),
|
|
834
|
+
Darr: define-sym("arrow.b.double"),
|
|
835
|
+
dArr: define-sym("arrow.b.double"),
|
|
836
|
+
darr: define-sym("arrow.b"),
|
|
837
|
+
dashleftarrow: define-sym("arrow.l.dash"),
|
|
838
|
+
dashrightarrow: define-sym("arrow.r.dash"),
|
|
839
|
+
dbcolon: define-sym("::"),
|
|
840
|
+
degree: define-sym("degree"),
|
|
841
|
+
digamma: define-sym("ϝ"),
|
|
842
|
+
diagdown: define-sym("╲"),
|
|
843
|
+
diagup: define-sym("╱"),
|
|
844
|
+
doteqdot: define-sym("≑"),
|
|
845
|
+
doublebarwedge: define-sym("⩞"),
|
|
846
|
+
doublecap: define-sym("inter.double"),
|
|
847
|
+
doublecup: define-sym("union.double"),
|
|
848
|
+
eqcirc: define-sym("≖"),
|
|
849
|
+
Eqcolon: define-sym("−::"),
|
|
850
|
+
eqcolon: define-sym("dash.colon"),
|
|
851
|
+
Eqqcolon: define-sym("=::"),
|
|
852
|
+
eqqcolon: define-sym("=:"),
|
|
853
|
+
equalscolon: define-sym("=:"),
|
|
854
|
+
equalscoloncolon: define-sym("=::"),
|
|
855
|
+
eth: define-sym("ð"),
|
|
856
|
+
fallingdotseq: define-sym("≒"),
|
|
857
|
+
Finv: define-sym("Ⅎ"),
|
|
858
|
+
frown: define-sym("⌢"),
|
|
859
|
+
Game: define-sym("⅁"),
|
|
860
|
+
gggtr: define-sym(">>>"),
|
|
861
|
+
gimel: define-sym("gimel"),
|
|
862
|
+
Harr: define-sym("<=>"),
|
|
863
|
+
hArr: define-sym("<=>"),
|
|
864
|
+
harr: define-sym("<->"),
|
|
865
|
+
hearts: define-sym("♡"),
|
|
866
|
+
heartsuit: define-sym("♡"),
|
|
867
|
+
image: define-sym("Im"),
|
|
868
|
+
imageof: define-sym("⊷"),
|
|
869
|
+
infin: define-sym("infinity"),
|
|
870
|
+
intercal: define-sym("⊺"),
|
|
871
|
+
intop: define-sym("integral"),
|
|
872
|
+
lBrace: define-sym("⦃"),
|
|
873
|
+
ldotp: define-sym("."),
|
|
874
|
+
leadsto: define-sym("arrow.r.squiggly"),
|
|
875
|
+
lessapprox: define-sym("⪅"),
|
|
876
|
+
lesseqqgtr: define-sym("⪋"),
|
|
877
|
+
llcorner: define-sym("⌞"),
|
|
878
|
+
llless: define-sym("<<<"),
|
|
879
|
+
lnapprox: define-sym("⪉"),
|
|
880
|
+
lneq: define-sym("⪇"),
|
|
881
|
+
lrcorner: define-sym("⌟"),
|
|
882
|
+
lq: define-sym("quote.l.single"),
|
|
883
|
+
Lsh: define-sym("↰"),
|
|
884
|
+
maltese: define-sym("maltese"),
|
|
885
|
+
mathellipsis: define-sym("..."),
|
|
886
|
+
mathsterling: define-sym("pound"),
|
|
887
|
+
mho: define-sym("Omega.inv"),
|
|
888
|
+
minuscolon: define-sym("dash.colon"),
|
|
889
|
+
minuscoloncolon: define-sym("−::"),
|
|
890
|
+
minuso: define-sym("⦵"),
|
|
891
|
+
newline: define-sym("\\"),
|
|
892
|
+
nVDash: define-sym("⊯"),
|
|
893
|
+
nVdash: define-sym("⊮"),
|
|
894
|
+
OE: define-sym("Œ"),
|
|
895
|
+
oe: define-sym("œ"),
|
|
896
|
+
origof: define-sym("⊶"),
|
|
897
|
+
oslash: define-sym("⊘"),
|
|
898
|
+
owns: define-sym("in.rev"),
|
|
899
|
+
pitchfork: define-sym("⋔"),
|
|
900
|
+
ratio: define-sym(":"),
|
|
901
|
+
rBrace: define-sym("⦄"),
|
|
902
|
+
real: define-sym("Re"),
|
|
903
|
+
Reals: define-sym("RR"),
|
|
904
|
+
reals: define-sym("RR"),
|
|
905
|
+
restriction: define-sym("harpoon.tr"),
|
|
906
|
+
risingdotseq: define-sym("≓"),
|
|
907
|
+
rmoustache: define-sym("⎱"),
|
|
908
|
+
rq: define-sym("'"),
|
|
909
|
+
Rsh: define-sym("↱"),
|
|
910
|
+
simcolon: define-sym("tilde.op:"),
|
|
911
|
+
simcoloncolon: define-sym("tilde.op::"),
|
|
912
|
+
spades: define-sym("suit.spade"),
|
|
913
|
+
sqsubset: define-sym("subset.sq"),
|
|
914
|
+
sqsupset: define-sym("supset.sq"),
|
|
915
|
+
sub: define-sym("subset"),
|
|
916
|
+
sube: define-sym("subset.eq"),
|
|
917
|
+
subseteqq: define-sym("⫅"),
|
|
918
|
+
succneqq: define-sym("succ.nequiv"),
|
|
919
|
+
supe: define-sym("supset.eq"),
|
|
920
|
+
supseteqq: define-sym("⫆"),
|
|
921
|
+
supsetneqq: define-sym("⫌"),
|
|
922
|
+
textasciitilde: define-sym("~"),
|
|
923
|
+
textasciicircum: define-sym("\\^"),
|
|
924
|
+
textbackslash: define-sym("\\\\"),
|
|
925
|
+
textbar: define-sym("\\|"),
|
|
926
|
+
textbardbl: define-sym("‖"),
|
|
927
|
+
textbraceleft: define-sym("{"),
|
|
928
|
+
textbraceright: define-sym("}"),
|
|
929
|
+
textdagger: define-sym("dagger"),
|
|
930
|
+
textdaggerdbl: define-sym("dagger.double"),
|
|
931
|
+
textdegree: define-sym("degree"),
|
|
932
|
+
textdollarsign: define-sym("\\$"),
|
|
933
|
+
textellipsis: define-sym("..."),
|
|
934
|
+
textemdash: define-sym("---"),
|
|
935
|
+
textendash: define-sym("--"),
|
|
936
|
+
textgreater: define-sym("gt"),
|
|
937
|
+
textless: define-sym("lt"),
|
|
938
|
+
textquotedblleft: define-sym("quote.l.double"),
|
|
939
|
+
textquotedblright: define-sym("quote.r.double"),
|
|
940
|
+
textquoteleft: define-sym("quote.l.single"),
|
|
941
|
+
textquoteright: define-sym("quote.r.single"),
|
|
942
|
+
textregistered: define-sym("®"),
|
|
943
|
+
textsterling: define-sym("pound"),
|
|
944
|
+
textunderscore: define-sym("\\_"),
|
|
945
|
+
thetasym: define-sym("theta.alt"),
|
|
946
|
+
Uarr: define-sym("arrow.t.double"),
|
|
947
|
+
uArr: define-sym("arrow.t.double"),
|
|
948
|
+
uarr: define-sym("arrow.t"),
|
|
949
|
+
ulcorner: define-sym("⌜"),
|
|
950
|
+
unlhd: define-sym("lt.tri.eq"),
|
|
951
|
+
unrhd: define-sym("gt.tri.eq"),
|
|
952
|
+
urcorner: define-sym("⌝"),
|
|
953
|
+
varpropto: define-sym("prop"),
|
|
954
|
+
varsubsetneq: define-sym("subset.neq"),
|
|
955
|
+
varsubsetneqq: define-sym("⫋"),
|
|
956
|
+
varsupsetneq: define-sym("supset.neq"),
|
|
957
|
+
varsupsetneqq: define-sym("⫌"),
|
|
958
|
+
vcentcolon: define-sym(":"),
|
|
959
|
+
veebar: define-sym("⊻"),
|
|
960
|
+
yen: define-sym("yen"),
|
|
961
|
+
arcctg: of-sym(math.op("arcctg")),
|
|
962
|
+
begingroup: ignore-sym,
|
|
963
|
+
cosec: of-sym(math.op("cosec")),
|
|
964
|
+
cotg: of-sym(math.op("cotg")),
|
|
965
|
+
injlim: of-sym(math.op("inj\u{2009}lim", limits: true)),
|
|
966
|
+
mathclap: define-cmd(1, handle: it => box(width: 0pt, $it$)),
|
|
967
|
+
mathring: define-cmd(1, handle: it => math.circle(it)),
|
|
968
|
+
nobreak: ignore-sym,
|
|
969
|
+
noexpand: ignore-sym,
|
|
970
|
+
overgroup: define-cmd(1, handle: it => $accent(it, \u{0311})$),
|
|
971
|
+
undergroup: define-cmd(1, handle: it => $accent(it, \u{032e})$),
|
|
972
|
+
overleftharpoon: define-cmd(1, handle: it => $accent(it, \u{20d0})$),
|
|
973
|
+
overleftrightarrow: define-cmd(1, handle: it => $accent(it, \u{20e1})$),
|
|
974
|
+
overlinesegment: define-cmd(1, handle: it => $accent(it, \u{20e9})$),
|
|
975
|
+
overrightharpoon: define-cmd(1, handle: it => $accent(it, \u{20d1})$),
|
|
976
|
+
underbar: define-cmd(1, handle: it => $underline(it)$),
|
|
977
|
+
plim: of-sym(math.op("plim", limits: true)),
|
|
978
|
+
projlim: of-sym(math.op("proj\u{2009}lim", limits: true)),
|
|
979
|
+
raisebox: define-cmd(2, handle: (sp, it) => text(baseline: -eval(get-tex-str(sp)), it)),
|
|
980
|
+
sh: of-sym(math.op("sh")),
|
|
981
|
+
smallint: of-sym($inline(integral)$),
|
|
982
|
+
thickapprox: of-sym($bold(approx)$),
|
|
983
|
+
thicksim: of-sym($bold(tilde)$),
|
|
984
|
+
varDelta: of-sym($italic(Delta)$),
|
|
985
|
+
varGamma: of-sym($italic(Gamma)$),
|
|
986
|
+
varLambda: of-sym($italic(Lambda)$),
|
|
987
|
+
varOmega: of-sym($italic(Omega)$),
|
|
988
|
+
varPhi: of-sym($italic(Phi)$),
|
|
989
|
+
varPi: of-sym($italic(Pi)$),
|
|
990
|
+
varPsi: of-sym($italic(Psi)$),
|
|
991
|
+
varSigma: of-sym($italic(Sigma)$),
|
|
992
|
+
varTheta: of-sym($italic(Theta)$),
|
|
993
|
+
varUpsilon: of-sym($italic(Upsilon)$),
|
|
994
|
+
varXi: of-sym($italic(Xi)$),
|
|
995
|
+
xleftarrow: arrow-handle(math.arrow.l),
|
|
996
|
+
xrightarrow: arrow-handle(math.arrow.r),
|
|
997
|
+
xLeftarrow: arrow-handle(math.arrow.l.double),
|
|
998
|
+
xRightarrow: arrow-handle(math.arrow.r.double),
|
|
999
|
+
xleftrightarrow: arrow-handle(math.arrow.l.r),
|
|
1000
|
+
xLeftrightarrow: arrow-handle(math.arrow.l.r.double),
|
|
1001
|
+
xhookleftarrow: arrow-handle(math.arrow.l.hook),
|
|
1002
|
+
xhookrightarrow: arrow-handle(math.arrow.r.hook),
|
|
1003
|
+
xtwoheadleftarrow: arrow-handle(math.arrow.l.twohead),
|
|
1004
|
+
xtwoheadrightarrow: arrow-handle(math.arrow.r.twohead),
|
|
1005
|
+
xleftharpoonup: arrow-handle(math.harpoon.lt),
|
|
1006
|
+
xrightharpoonup: arrow-handle(math.harpoon.rt),
|
|
1007
|
+
xleftharpoondown: arrow-handle(math.harpoon.lb),
|
|
1008
|
+
xrightharpoondown: arrow-handle(math.harpoon.rb),
|
|
1009
|
+
xleftrightharpoons: arrow-handle(math.harpoons.ltrb),
|
|
1010
|
+
xrightleftharpoons: arrow-handle(math.harpoons.rtlb),
|
|
1011
|
+
xtofrom: arrow-handle(math.arrows.rl),
|
|
1012
|
+
xmapsto: arrow-handle(math.arrow.r.bar),
|
|
1013
|
+
xlongequal: arrow-handle(math.eq),
|
|
1014
|
+
pmod: define-cmd(1, handle: it => $quad (mod thick it)$),
|
|
1015
|
+
pod: define-cmd(1, handle: it => $quad (it)$),
|
|
1016
|
+
"set": define-cmd(1, handle: it => $\{it\}$),
|
|
1017
|
+
Set: define-cmd(1, handle: it => $lr(\{it\})$),
|
|
1018
|
+
bra: define-cmd(1, handle: it => $chevron.l it|$),
|
|
1019
|
+
Bra: define-cmd(1, handle: it => $lr(chevron.l it|)$),
|
|
1020
|
+
ket: define-cmd(1, handle: it => $|it chevron.r$),
|
|
1021
|
+
Ket: define-cmd(1, handle: it => $lr(|it chevron.r)$),
|
|
1022
|
+
braket: define-cmd(1, handle: it => $chevron.l it chevron.r$),
|
|
1023
|
+
Braket: define-cmd(1, handle: it => $lr(chevron.l it chevron.r)$),
|
|
1024
|
+
fbox: define-cmd(1, handle: it => box(stroke: 0.5pt, $it$)),
|
|
1025
|
+
hbox: define-cmd(1, handle: it => it),
|
|
1026
|
+
// Matrices
|
|
1027
|
+
matrix: matrix-handle(delim: none),
|
|
1028
|
+
pmatrix: matrix-handle(delim: "("),
|
|
1029
|
+
bmatrix: matrix-handle(delim: "["),
|
|
1030
|
+
Bmatrix: matrix-handle(delim: "{"),
|
|
1031
|
+
vmatrix: matrix-handle(delim: "|"),
|
|
1032
|
+
Vmatrix: matrix-handle(delim: "||"),
|
|
1033
|
+
smallmatrix: matrix-handle(handle: (..args) => math.inline(math.mat.with(delim: none, ..args))),
|
|
1034
|
+
array: define-env(1, kind: "is-matrix", alias: "mitexarray", handle: (arg0: ("l",), ..args) => {
|
|
1035
|
+
if args.pos().len() == 0 {
|
|
1036
|
+
return
|
|
1037
|
+
}
|
|
1038
|
+
if type(arg0) != str {
|
|
1039
|
+
if arg0.has("children") {
|
|
1040
|
+
arg0 = arg0.children.filter(it => it != [ ] and it != [#math.zws])
|
|
1041
|
+
.map(it => it.text)
|
|
1042
|
+
.filter(it => it == "l" or it == "c" or it == "r")
|
|
1043
|
+
} else {
|
|
1044
|
+
arg0 = (arg0.text,)
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
let matrix = args.pos().map(row => if type(row) == array { row } else { (row,) } )
|
|
1048
|
+
let n = matrix.len()
|
|
1049
|
+
let m = calc.max(..matrix.map(row => row.len()))
|
|
1050
|
+
matrix = matrix.map(row => row + (m - row.len()) * (none,))
|
|
1051
|
+
let array-at(arr, pos) = {
|
|
1052
|
+
arr.at(calc.min(pos, arr.len() - 1))
|
|
1053
|
+
}
|
|
1054
|
+
let align-map = ("l": left, "c": center, "r": right)
|
|
1055
|
+
set align(align-map.at(array-at(arg0, 0)))
|
|
1056
|
+
pad(y: 0.2em, grid(
|
|
1057
|
+
columns: m,
|
|
1058
|
+
column-gutter: 0.5em,
|
|
1059
|
+
row-gutter: 0.5em,
|
|
1060
|
+
..matrix.flatten().map(it => $it$)
|
|
1061
|
+
))
|
|
1062
|
+
}),
|
|
1063
|
+
subarray: define-env(1, kind: "is-matrix", alias: "mitexarray"),
|
|
1064
|
+
// Environments
|
|
1065
|
+
aligned: define-env(none, kind: "is-math", alias: "aligned", handle: call-or-ignore(it => pad(y: 0.2em, block(math.op(math.display(it)))))),
|
|
1066
|
+
alignedat: define-env(1, kind: "is-math", alias: "alignedat", handle: (arg0: none, it) => pad(y: 0.2em, block(math.op(it)))),
|
|
1067
|
+
align: define-env(none, kind: "is-math", alias: "aligned"),
|
|
1068
|
+
"align*": define-env(none, kind: "is-math", alias: "aligned"),
|
|
1069
|
+
equation: define-env(none, kind: "is-math", alias: "aligned"),
|
|
1070
|
+
"equation*": define-env(none, kind: "is-math", alias: "aligned"),
|
|
1071
|
+
split: define-env(none, kind: "is-math", alias: "aligned"),
|
|
1072
|
+
gather: define-env(none, kind: "is-math", alias: "aligned"),
|
|
1073
|
+
gathered: define-env(none, kind: "is-math", alias: "aligned"),
|
|
1074
|
+
cases: define-env(none, kind: "is-cases", alias: "cases"),
|
|
1075
|
+
rcases: define-env(none, kind: "is-cases", alias: "rcases", handle: math.cases.with(reverse: true)),
|
|
1076
|
+
// Specials
|
|
1077
|
+
notag: ignore-sym,
|
|
1078
|
+
relax: ignore-sym,
|
|
1079
|
+
cr: ignore-sym,
|
|
1080
|
+
expandafter: ignore-sym,
|
|
1081
|
+
hskip: ignore-sym,
|
|
1082
|
+
mskip: ignore-sym,
|
|
1083
|
+
kern: ignore-sym,
|
|
1084
|
+
mkern: ignore-sym,
|
|
1085
|
+
mathstrut: ignore-sym,
|
|
1086
|
+
nonumber: ignore-sym,
|
|
1087
|
+
KaTeX: of-sym(math.upright($K A T E X$)),
|
|
1088
|
+
LaTeX: of-sym(math.upright($L A T E X$)),
|
|
1089
|
+
TeX: of-sym(math.upright($T E X$)),
|
|
1090
|
+
middle: define-cmd(1, handle: it => math.mid(it)),
|
|
1091
|
+
operatorname: define-cmd(1, handle: it => math.op(math.upright(it))),
|
|
1092
|
+
operatornamewithlimits: define-cmd(1, alias: "operatornamewithlimits", handle: operatornamewithlimits),
|
|
1093
|
+
"operatorname*": define-cmd(1, alias: "operatornamewithlimits", handle: operatornamewithlimits),
|
|
1094
|
+
vspace: define-cmd(1, handle: it => v(eval(get-tex-str(it)))),
|
|
1095
|
+
hspace: define-cmd(1, handle: it => h(eval(get-tex-str(it)))),
|
|
1096
|
+
text: define-cmd(1, alias: "#textmath", handle: it => it),
|
|
1097
|
+
textmd: define-cmd(1, alias: "#textmd", handle: it => it),
|
|
1098
|
+
textnormal: define-cmd(1, alias: "#textnormal", handle: it => it),
|
|
1099
|
+
textbf: define-cmd(1, alias: "#textbf", handle: math.bold),
|
|
1100
|
+
textit: define-cmd(1, alias: "#textit", handle: math.italic),
|
|
1101
|
+
textrm: define-cmd(1, alias: "#textrm", handle: math.upright),
|
|
1102
|
+
textup: define-cmd(1, alias: "#textup", handle: math.upright),
|
|
1103
|
+
textsf: define-cmd(1, alias: "#textsf", handle: math.sans),
|
|
1104
|
+
texttt: define-cmd(1, alias: "#texttt", handle: math.mono),
|
|
1105
|
+
over: define-infix-cmd("frac"),
|
|
1106
|
+
atop: define-infix-cmd("atop", handle: (a, b) => $mat(delim: #none, #a; #b)$),
|
|
1107
|
+
choose: define-infix-cmd("binom", handle: math.binom),
|
|
1108
|
+
brace: define-infix-cmd("brace", handle: (n, k) => $mat(delim: "{", #n;; #k)$),
|
|
1109
|
+
brack: define-infix-cmd("brack", handle: (n, k) => $mat(delim: "[", #n;; #k)$),
|
|
1110
|
+
sqrt: define-glob-cmd("{,b}t", "mitexsqrt", handle: (..args) => {
|
|
1111
|
+
if args.pos().len() == 1 {
|
|
1112
|
+
$sqrt(#args.pos().at(0))$
|
|
1113
|
+
} else if args.pos().len() == 2 {
|
|
1114
|
+
$root(
|
|
1115
|
+
#args.pos().at(0).children.filter(it => it != [\[] and it != [\]]).sum(),
|
|
1116
|
+
#args.pos().at(1)
|
|
1117
|
+
)$
|
|
1118
|
+
} else {
|
|
1119
|
+
panic("unexpected args in sqrt")
|
|
1120
|
+
}
|
|
1121
|
+
}),
|
|
1122
|
+
// todo: macros
|
|
1123
|
+
def: ignore-sym,
|
|
1124
|
+
newcommand: ignore-sym,
|
|
1125
|
+
"newcommand*": ignore-sym,
|
|
1126
|
+
renewcommand: ignore-sym,
|
|
1127
|
+
"renewcommand*": ignore-sym,
|
|
1128
|
+
DeclareRobustCommand: ignore-sym,
|
|
1129
|
+
"DeclareRobustCommand*": ignore-sym,
|
|
1130
|
+
DeclareTextCommand: ignore-sym,
|
|
1131
|
+
DeclareTextCommandDefault: ignore-sym,
|
|
1132
|
+
ProvideTextCommand: ignore-sym,
|
|
1133
|
+
ProvideTextCommandDefault: ignore-sym,
|
|
1134
|
+
providecommand: ignore-sym,
|
|
1135
|
+
"providecommand*": ignore-sym,
|
|
1136
|
+
newenvironment: ignore-sym,
|
|
1137
|
+
"newenvironment*": ignore-sym,
|
|
1138
|
+
renewenvironment: ignore-sym,
|
|
1139
|
+
"renewenvironment*": ignore-sym,
|
|
1140
|
+
AtEndOfClass: ignore-sym,
|
|
1141
|
+
AtEndOfPackage: ignore-sym,
|
|
1142
|
+
AtBeginDocument: ignore-sym,
|
|
1143
|
+
AtEndDocument: ignore-sym,
|
|
1144
|
+
"@ifstar": ignore-sym,
|
|
1145
|
+
"if": ignore-sym,
|
|
1146
|
+
ifdim: ignore-sym,
|
|
1147
|
+
iffalse: ignore-sym,
|
|
1148
|
+
ifnum: ignore-sym,
|
|
1149
|
+
ifodd: ignore-sym,
|
|
1150
|
+
iftrue: ignore-sym,
|
|
1151
|
+
ifx: ignore-sym,
|
|
1152
|
+
DeclareOption: ignore-sym,
|
|
1153
|
+
"DeclareOption*": ignore-sym,
|
|
1154
|
+
CurrentOption: ignore-sym,
|
|
1155
|
+
ProcessOptions: ignore-sym,
|
|
1156
|
+
ExecuteOptions: ignore-sym,
|
|
1157
|
+
RequirePackage: ignore-sym,
|
|
1158
|
+
RequirePackageWithOptions: ignore-sym,
|
|
1159
|
+
documentclass: ignore-sym,
|
|
1160
|
+
PassOptionsToClass: ignore-sym,
|
|
1161
|
+
PassOptionsToPackage: ignore-sym,
|
|
1162
|
+
IfFileExists: ignore-sym,
|
|
1163
|
+
InputIfFileExists: ignore-sym,
|
|
1164
|
+
ProvidesFile: ignore-sym,
|
|
1165
|
+
ignorespaces: ignore-sym,
|
|
1166
|
+
ignorespacesafterend: ignore-sym,
|
|
1167
|
+
ifvoid: ignore-sym,
|
|
1168
|
+
ifinner: ignore-sym,
|
|
1169
|
+
ifhbox: ignore-sym,
|
|
1170
|
+
ifvbox: ignore-sym,
|
|
1171
|
+
ifhmode: ignore-sym,
|
|
1172
|
+
ifmmode: ignore-sym,
|
|
1173
|
+
ifvmode: ignore-sym,
|
|
1174
|
+
CheckCommand: ignore-sym,
|
|
1175
|
+
"CheckCommand*": ignore-sym,
|
|
1176
|
+
newcounter: ignore-sym,
|
|
1177
|
+
newlength: ignore-sym,
|
|
1178
|
+
newsavebox: ignore-sym,
|
|
1179
|
+
newtheorem: ignore-sym,
|
|
1180
|
+
newfont: ignore-sym,
|
|
1181
|
+
ProvidesClass: ignore-sym,
|
|
1182
|
+
LoadClass: ignore-sym,
|
|
1183
|
+
LoadClassWithOptions: ignore-sym,
|
|
1184
|
+
))
|
|
1185
|
+
|
|
1186
|
+
// export: include package name, spec and scope
|
|
1187
|
+
#let package = (name: "latex-std", spec: (commands: spec), scope: scope)
|