From c9c592f82ea9fc330fdf4b093a364f6736018179 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Sun, 27 Mar 2022 19:15:44 -0700 Subject: [PATCH] Version 0.6.7 release --- .eslintignore | 2 - .eslintrc | 73 - .gitattributes | 3 - CHANGELOG.md | 348 - README.md | 44 - contrib/auto-render/README.md | 89 - contrib/auto-render/auto-render.js | 128 - contrib/auto-render/dist/auto-render.js | 217 - contrib/auto-render/dist/auto-render.min.js | 1 - contrib/auto-render/splitAtDelimiters.js | 84 - contrib/auto-render/test/auto-render-spec.js | 234 - contrib/auto-render/test/auto-render.js | 217 - contrib/auto-render/test/test_page.html | 59 - contrib/mhchem/README.md | 26 - contrib/mhchem/mhchem.js | 1705 - contrib/mhchem/mhchem.min.js | 1 - contrib/physics/README.md | 20 - contrib/physics/physics.js | 131 - contrib/texvc/README.md | 23 - contrib/texvc/texvc.js | 61 - docs/administration.md | 385 - docs/comparison.html | 9740 ------ docs/support_table.md | 1570 - docs/supported.md | 1621 - node_modules/.bin/acorn | 15 + node_modules/.bin/acorn.cmd | 7 + node_modules/.bin/eslint | 15 + node_modules/.bin/eslint.cmd | 7 + node_modules/.bin/js-yaml | 15 + node_modules/.bin/js-yaml.cmd | 7 + node_modules/.bin/node-which | 15 + node_modules/.bin/node-which.cmd | 7 + node_modules/.bin/rimraf | 15 + node_modules/.bin/rimraf.cmd | 7 + node_modules/.bin/rollup | 15 + node_modules/.bin/rollup.cmd | 7 + node_modules/.bin/terser | 15 + node_modules/.bin/terser.cmd | 7 + node_modules/.cache/esm/.data.blob | Bin 0 -> 2032040 bytes node_modules/.cache/esm/.data.json | 1 + .../.cache/esm/01213ad5ebe913ab.js | 14 +- .../.cache/esm/07f40cd0a1979bb8.js | 6 +- .../.cache/esm/084e312bebe913ab.js | 8 +- .../.cache/esm/09072dd2ebe913ab.js | 8 +- .../.cache/esm/09e11035ebe913ab.js | 8 +- .../.cache/esm/0c42ee30e6680135.js | 10 +- .../.cache/esm/0f15107545864523.js | 4 +- .../.cache/esm/1102649ea1979bb8.js | 10 +- .../.cache/esm/12de9d270a107660.js | 6 +- .../.cache/esm/152f1360641820f0.js | 24 +- .../.cache/esm/1a027479b259b40b.js | 12 +- .../.cache/esm/2440d87371fd6955.js | 8 +- .../.cache/esm/26d39376b259b40b.js | 6 +- .../.cache/esm/26fa0765b259b40b.js | 6 +- .../.cache/esm/2c899bbbebe913ab.js | 10 +- .../.cache/esm/2f0eea18b259b40b.js | 6 +- .../.cache/esm/37e8613ce6680135.js | 6 +- .../.cache/esm/3c644d22e6680135.js | 6 +- .../.cache/esm/3d1acd5242504511.js | 28 +- .../.cache/esm/40d7d56debe913ab.js | 14 +- .../.cache/esm/4140f73aa1979bb8.js | 14 +- .../.cache/esm/415a1b8154bacd54.js | 12 +- .../.cache/esm/47e21039263fcca5.js | 10 +- .../.cache/esm/4b814e5ea1979bb8.js | 8 +- .../.cache/esm/4f5b46e8e6680135.js | 6 +- .../.cache/esm/503006f7b259b40b.js | 6 +- node_modules/.cache/esm/50c5ce70ebe913ab.js | 9 + .../.cache/esm/50cb3c426cec69b1.js | 22 +- .../.cache/esm/53c7472571fd6955.js | 12 +- .../.cache/esm/54785600e4ea2425.js | 16 +- .../.cache/esm/56d92e32a1979bb8.js | 12 +- .../.cache/esm/5ad04edaebe913ab.js | 10 +- .../.cache/esm/5f0badd9a1979bb8.js | 10 +- .../.cache/esm/5fb3ab22e6680135.js | 2 +- .../.cache/esm/64a47e6271fd6955.js | 8 +- .../.cache/esm/66625645b259b40b.js | 4 +- .../.cache/esm/67a4a0cae6680135.js | 8 +- .../.cache/esm/6b760a9c71fd6955.js | 4 +- .../.cache/esm/6bc9a89cb259b40b.js | 6 +- .../.cache/esm/6c4f6f38e6680135.js | 6 +- node_modules/.cache/esm/6cd6eb7b71fd6955.js | 13 + .../.cache/esm/6f8890a171fd6955.js | 20 +- .../.cache/esm/708f7a05e6680135.js | 10 +- node_modules/.cache/esm/70c30b38a1979bb8.js | 59 + .../.cache/esm/735ee25771fd6955.js | 4 +- .../.cache/esm/74e37820a1979bb8.js | 10 +- .../.cache/esm/7656336bebe913ab.js | 16 +- .../.cache/esm/77e74ac9e6680135.js | 12 +- .../.cache/esm/794974ccebe913ab.js | 6 +- .../.cache/esm/7b8368efebe913ab.js | 12 +- .../.cache/esm/7d900532c766ce74.js | 12 +- .../.cache/esm/8047d9c771fd6955.js | 6 +- .../.cache/esm/84937861b259b40b.js | 4 +- .../.cache/esm/871d40d7a1979bb8.js | 16 +- .../.cache/esm/893c2beae6680135.js | 8 +- .../.cache/esm/8b6242c2263fcca5.js | 4 +- .../.cache/esm/8be833dcebe913ab.js | 6 +- .../.cache/esm/8c88a678a1979bb8.js | 8 +- .../.cache/esm/9239d7f1e6680135.js | 6 +- .../.cache/esm/93a664b9b259b40b.js | 12 +- .../.cache/esm/a17b3cdc153a61dc.js | 10 +- .../.cache/esm/aaaebdd8a1979bb8.js | 4 +- .../.cache/esm/ae2a02a071fd6955.js | 6 +- .../.cache/esm/aeca4994b259b40b.js | 4 +- .../.cache/esm/af822f39b259b40b.js | 14 +- .../.cache/esm/afe3434febe913ab.js | 4 +- .../.cache/esm/b194f146e6680135.js | 6 +- .../.cache/esm/b83e2d2371fd6955.js | 6 +- .../.cache/esm/c0b56ffba1979bb8.js | 6 +- .../.cache/esm/c483b32671fd6955.js | 4 +- .../.cache/esm/ca9563c6b259b40b.js | 20 +- .../.cache/esm/cb739c37ebe913ab.js | 10 +- .../.cache/esm/cdc6a6b471fd6955.js | 6 +- .../.cache/esm/d6e0df4671fd6955.js | 6 +- .../.cache/esm/daae4870a1979bb8.js | 8 +- .../.cache/esm/dbf986fb71fd6955.js | 6 +- .../.cache/esm/ddf57047e6680135.js | 6 +- .../.cache/esm/df1639a1a1979bb8.js | 6 +- node_modules/.cache/esm/e0e79d5bb259b40b.js | 8 + .../.cache/esm/e81a0221e6680135.js | 2 +- .../.cache/esm/e96fb62bebe913ab.js | 14 +- .../.cache/esm/f54a4174e6680135.js | 6 +- .../.cache/esm/f6323132ebe913ab.js | 6 +- .../.cache/esm/ff8bd730e6680135.js | 6 +- node_modules/.yarn-integrity | 125 + node_modules/@eslint/eslintrc/LICENSE | 21 + node_modules/@eslint/eslintrc/README.md | 61 + .../@eslint/eslintrc/conf/config-schema.js | 79 + .../@eslint/eslintrc/conf/environments.js | 179 + .../@eslint/eslintrc/conf/eslint-all.cjs | 12 + .../eslintrc/conf/eslint-recommended.cjs | 12 + .../eslintrc/dist/eslintrc-universal.cjs | 1068 + .../eslintrc/dist/eslintrc-universal.cjs.map | 1 + .../@eslint/eslintrc/dist/eslintrc.cjs | 4236 +++ .../@eslint/eslintrc/dist/eslintrc.cjs.map | 1 + .../lib/cascading-config-array-factory.js | 520 + .../eslintrc/lib/config-array-factory.js | 1103 + .../eslintrc/lib/config-array/config-array.js | 523 + .../lib/config-array/config-dependency.js | 115 + .../lib/config-array/extracted-config.js | 145 + .../lib/config-array/ignore-pattern.js | 238 + .../eslintrc/lib/config-array/index.js | 19 + .../lib/config-array/override-tester.js | 225 + .../@eslint/eslintrc/lib/flat-compat.js | 310 + .../@eslint/eslintrc/lib/index-universal.js | 29 + node_modules/@eslint/eslintrc/lib/index.js | 56 + .../@eslint/eslintrc/lib/shared/ajv.js | 191 + .../@eslint/eslintrc/lib/shared/config-ops.js | 135 + .../eslintrc/lib/shared/config-validator.js | 325 + .../lib/shared/deprecation-warnings.js | 63 + .../@eslint/eslintrc/lib/shared/naming.js | 96 + .../lib/shared/relative-module-resolver.js | 42 + .../@eslint/eslintrc/lib/shared/types.js | 149 + .../eslintrc/node_modules/.bin/js-yaml | 15 + .../eslintrc/node_modules/.bin/js-yaml.cmd | 7 + .../eslintrc/node_modules/ignore/CHANGELOG.md | 19 + .../eslintrc/node_modules/ignore/LICENSE-MIT | 21 + .../eslintrc/node_modules/ignore/README.md | 307 + .../eslintrc/node_modules/ignore/index.d.ts | 45 + .../eslintrc/node_modules/ignore/index.js | 463 + .../eslintrc/node_modules/ignore/legacy.js | 466 + .../eslintrc/node_modules/ignore/package.json | 64 + .../node_modules/import-fresh/index.d.ts | 28 + .../node_modules/import-fresh/index.js | 32 + .../node_modules/import-fresh/license | 9 + .../node_modules/import-fresh/package.json | 42 + .../node_modules/import-fresh/readme.md | 52 + node_modules/@eslint/eslintrc/package.json | 81 + node_modules/@eslint/eslintrc/universal.js | 9 + .../@humanwhocodes/config-array/CHANGELOG.md | 56 + .../@humanwhocodes/config-array/LICENSE | 201 + .../@humanwhocodes/config-array/README.md | 301 + .../@humanwhocodes/config-array/api.js | 698 + .../node_modules/debug/CHANGELOG.md | 395 + .../config-array/node_modules/debug/LICENSE | 19 + .../config-array/node_modules/debug/README.md | 455 + .../node_modules/debug/dist/debug.js | 912 + .../node_modules/debug/package.json | 63 + .../node_modules/debug/src/browser.js | 264 + .../node_modules/debug/src/common.js | 266 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/node.js | 257 + .../@humanwhocodes/config-array/package.json | 61 + .../@humanwhocodes/object-schema/.eslintrc.js | 29 + .../.github/workflows/nodejs-test.yml | 27 + .../.github/workflows/release-please.yml | 39 + .../@humanwhocodes/object-schema/CHANGELOG.md | 8 + .../@humanwhocodes/object-schema/LICENSE | 29 + .../@humanwhocodes/object-schema/README.md | 234 + .../@humanwhocodes/object-schema/package.json | 33 + .../@humanwhocodes/object-schema/src/index.js | 7 + .../object-schema/src/merge-strategy.js | 53 + .../object-schema/src/object-schema.js | 235 + .../object-schema/src/validation-strategy.js | 102 + .../object-schema/tests/merge-strategy.js | 66 + .../object-schema/tests/object-schema.js | 611 + .../tests/validation-strategy.js | 186 + node_modules/acorn-jsx/LICENSE | 19 + node_modules/acorn-jsx/README.md | 40 + node_modules/acorn-jsx/index.d.ts | 12 + node_modules/acorn-jsx/index.js | 488 + .../acorn-jsx/node_modules/.bin/acorn | 15 + .../acorn-jsx/node_modules/.bin/acorn.cmd | 7 + node_modules/acorn-jsx/package.json | 27 + node_modules/acorn-jsx/xhtml.js | 255 + node_modules/acorn/CHANGELOG.md | 788 + node_modules/acorn/LICENSE | 21 + node_modules/acorn/README.md | 280 + node_modules/acorn/bin/acorn | 4 + node_modules/acorn/dist/acorn.d.ts | 214 + node_modules/acorn/dist/acorn.js | 5619 +++ node_modules/acorn/dist/acorn.mjs | 5588 +++ node_modules/acorn/dist/acorn.mjs.d.ts | 2 + node_modules/acorn/dist/bin.js | 91 + node_modules/acorn/package.json | 46 + node_modules/ajv/.tonic_example.js | 20 + node_modules/ajv/LICENSE | 22 + node_modules/ajv/README.md | 1477 + node_modules/ajv/dist/ajv.bundle.js | 7189 ++++ node_modules/ajv/dist/ajv.min.js | 3 + node_modules/ajv/dist/ajv.min.js.map | 1 + node_modules/ajv/lib/ajv.d.ts | 396 + node_modules/ajv/lib/ajv.js | 506 + node_modules/ajv/lib/cache.js | 26 + node_modules/ajv/lib/compile/async.js | 90 + node_modules/ajv/lib/compile/equal.js | 5 + node_modules/ajv/lib/compile/error_classes.js | 34 + node_modules/ajv/lib/compile/formats.js | 142 + node_modules/ajv/lib/compile/index.js | 387 + node_modules/ajv/lib/compile/resolve.js | 270 + node_modules/ajv/lib/compile/rules.js | 66 + node_modules/ajv/lib/compile/schema_obj.js | 9 + node_modules/ajv/lib/compile/ucs2length.js | 20 + node_modules/ajv/lib/compile/util.js | 239 + node_modules/ajv/lib/data.js | 49 + node_modules/ajv/lib/definition_schema.js | 37 + node_modules/ajv/lib/dot/_limit.jst | 113 + node_modules/ajv/lib/dot/_limitItems.jst | 12 + node_modules/ajv/lib/dot/_limitLength.jst | 12 + node_modules/ajv/lib/dot/_limitProperties.jst | 12 + node_modules/ajv/lib/dot/allOf.jst | 32 + node_modules/ajv/lib/dot/anyOf.jst | 46 + node_modules/ajv/lib/dot/coerce.def | 51 + node_modules/ajv/lib/dot/comment.jst | 9 + node_modules/ajv/lib/dot/const.jst | 11 + node_modules/ajv/lib/dot/contains.jst | 55 + node_modules/ajv/lib/dot/custom.jst | 191 + node_modules/ajv/lib/dot/defaults.def | 47 + node_modules/ajv/lib/dot/definitions.def | 203 + node_modules/ajv/lib/dot/dependencies.jst | 79 + node_modules/ajv/lib/dot/enum.jst | 30 + node_modules/ajv/lib/dot/errors.def | 194 + node_modules/ajv/lib/dot/format.jst | 106 + node_modules/ajv/lib/dot/if.jst | 73 + node_modules/ajv/lib/dot/items.jst | 98 + node_modules/ajv/lib/dot/missing.def | 39 + node_modules/ajv/lib/dot/multipleOf.jst | 22 + node_modules/ajv/lib/dot/not.jst | 43 + node_modules/ajv/lib/dot/oneOf.jst | 54 + node_modules/ajv/lib/dot/pattern.jst | 14 + node_modules/ajv/lib/dot/properties.jst | 245 + node_modules/ajv/lib/dot/propertyNames.jst | 52 + node_modules/ajv/lib/dot/ref.jst | 85 + node_modules/ajv/lib/dot/required.jst | 108 + node_modules/ajv/lib/dot/uniqueItems.jst | 62 + node_modules/ajv/lib/dot/validate.jst | 276 + node_modules/ajv/lib/dotjs/README.md | 3 + node_modules/ajv/lib/dotjs/_limit.js | 163 + node_modules/ajv/lib/dotjs/_limitItems.js | 80 + node_modules/ajv/lib/dotjs/_limitLength.js | 85 + .../ajv/lib/dotjs/_limitProperties.js | 80 + node_modules/ajv/lib/dotjs/allOf.js | 42 + node_modules/ajv/lib/dotjs/anyOf.js | 73 + node_modules/ajv/lib/dotjs/comment.js | 14 + node_modules/ajv/lib/dotjs/const.js | 56 + node_modules/ajv/lib/dotjs/contains.js | 81 + node_modules/ajv/lib/dotjs/custom.js | 228 + node_modules/ajv/lib/dotjs/dependencies.js | 168 + node_modules/ajv/lib/dotjs/enum.js | 66 + node_modules/ajv/lib/dotjs/format.js | 150 + node_modules/ajv/lib/dotjs/if.js | 103 + node_modules/ajv/lib/dotjs/index.js | 33 + node_modules/ajv/lib/dotjs/items.js | 140 + node_modules/ajv/lib/dotjs/multipleOf.js | 80 + node_modules/ajv/lib/dotjs/not.js | 84 + node_modules/ajv/lib/dotjs/oneOf.js | 73 + node_modules/ajv/lib/dotjs/pattern.js | 75 + node_modules/ajv/lib/dotjs/properties.js | 335 + node_modules/ajv/lib/dotjs/propertyNames.js | 81 + node_modules/ajv/lib/dotjs/ref.js | 124 + node_modules/ajv/lib/dotjs/required.js | 270 + node_modules/ajv/lib/dotjs/uniqueItems.js | 86 + node_modules/ajv/lib/dotjs/validate.js | 482 + node_modules/ajv/lib/keyword.js | 146 + node_modules/ajv/lib/refs/data.json | 17 + .../ajv/lib/refs/json-schema-draft-04.json | 149 + .../ajv/lib/refs/json-schema-draft-06.json | 154 + .../ajv/lib/refs/json-schema-draft-07.json | 168 + .../ajv/lib/refs/json-schema-secure.json | 94 + node_modules/ajv/package.json | 106 + node_modules/ajv/scripts/.eslintrc.yml | 3 + node_modules/ajv/scripts/bundle.js | 61 + node_modules/ajv/scripts/compile-dots.js | 73 + node_modules/ajv/scripts/info | 10 + node_modules/ajv/scripts/prepare-tests | 12 + .../ajv/scripts/publish-built-version | 32 + node_modules/ajv/scripts/travis-gh-pages | 23 + node_modules/ansi-regex/index.d.ts | 37 + node_modules/ansi-regex/index.js | 10 + node_modules/ansi-regex/license | 9 + node_modules/ansi-regex/package.json | 55 + node_modules/ansi-regex/readme.md | 78 + node_modules/ansi-styles/index.d.ts | 345 + node_modules/ansi-styles/index.js | 163 + node_modules/ansi-styles/license | 9 + node_modules/ansi-styles/package.json | 56 + node_modules/ansi-styles/readme.md | 152 + node_modules/argparse/CHANGELOG.md | 216 + node_modules/argparse/LICENSE | 254 + node_modules/argparse/README.md | 84 + node_modules/argparse/argparse.js | 3707 ++ node_modules/argparse/lib/sub.js | 67 + node_modules/argparse/lib/textwrap.js | 440 + node_modules/argparse/package.json | 31 + node_modules/balanced-match/.npmignore | 5 + node_modules/balanced-match/LICENSE.md | 21 + node_modules/balanced-match/README.md | 91 + node_modules/balanced-match/index.js | 59 + node_modules/balanced-match/package.json | 49 + node_modules/brace-expansion/LICENSE | 21 + node_modules/brace-expansion/README.md | 129 + node_modules/brace-expansion/index.js | 201 + node_modules/brace-expansion/package.json | 47 + node_modules/buffer-from/LICENSE | 21 + node_modules/buffer-from/index.js | 69 + node_modules/buffer-from/package.json | 19 + node_modules/buffer-from/readme.md | 69 + node_modules/callsites/index.d.ts | 73 + node_modules/callsites/index.js | 12 + node_modules/callsites/license | 9 + node_modules/callsites/package.json | 39 + node_modules/callsites/readme.md | 48 + node_modules/chalk/index.d.ts | 415 + node_modules/chalk/license | 9 + node_modules/chalk/package.json | 68 + node_modules/chalk/readme.md | 293 + node_modules/chalk/source/index.js | 229 + node_modules/chalk/source/templates.js | 134 + node_modules/chalk/source/util.js | 39 + node_modules/color-convert/CHANGELOG.md | 54 + node_modules/color-convert/LICENSE | 21 + node_modules/color-convert/README.md | 68 + node_modules/color-convert/conversions.js | 839 + node_modules/color-convert/index.js | 81 + node_modules/color-convert/package.json | 48 + node_modules/color-convert/route.js | 97 + node_modules/color-name/LICENSE | 8 + node_modules/color-name/README.md | 11 + node_modules/color-name/index.js | 152 + node_modules/color-name/package.json | 28 + node_modules/commander/CHANGELOG.md | 419 + node_modules/commander/LICENSE | 22 + node_modules/commander/Readme.md | 428 + node_modules/commander/index.js | 1224 + node_modules/commander/package.json | 38 + node_modules/commander/typings/index.d.ts | 310 + node_modules/concat-map/.travis.yml | 4 + node_modules/concat-map/LICENSE | 18 + node_modules/concat-map/README.markdown | 62 + node_modules/concat-map/example/map.js | 6 + node_modules/concat-map/index.js | 13 + node_modules/concat-map/package.json | 43 + node_modules/concat-map/test/map.js | 39 + node_modules/cross-spawn/CHANGELOG.md | 130 + node_modules/cross-spawn/LICENSE | 21 + node_modules/cross-spawn/README.md | 96 + node_modules/cross-spawn/index.js | 39 + node_modules/cross-spawn/lib/enoent.js | 59 + node_modules/cross-spawn/lib/parse.js | 91 + node_modules/cross-spawn/lib/util/escape.js | 45 + .../cross-spawn/lib/util/readShebang.js | 23 + .../cross-spawn/lib/util/resolveCommand.js | 52 + .../cross-spawn/node_modules/.bin/node-which | 15 + .../node_modules/.bin/node-which.cmd | 7 + node_modules/cross-spawn/package.json | 73 + node_modules/debug/LICENSE | 20 + node_modules/debug/README.md | 478 + node_modules/debug/package.json | 59 + node_modules/debug/src/browser.js | 269 + node_modules/debug/src/common.js | 274 + node_modules/debug/src/index.js | 10 + node_modules/debug/src/node.js | 263 + .gitignore => node_modules/deep-is/.npmignore | 0 node_modules/deep-is/.travis.yml | 6 + node_modules/deep-is/LICENSE | 22 + node_modules/deep-is/README.markdown | 70 + node_modules/deep-is/example/cmp.js | 11 + node_modules/deep-is/index.js | 102 + node_modules/deep-is/package.json | 61 + node_modules/deep-is/test/NaN.js | 16 + node_modules/deep-is/test/cmp.js | 23 + node_modules/deep-is/test/neg-vs-pos-0.js | 15 + node_modules/doctrine/CHANGELOG.md | 101 + node_modules/doctrine/LICENSE | 177 + .../doctrine/LICENSE.closure-compiler | 202 + node_modules/doctrine/LICENSE.esprima | 19 + node_modules/doctrine/README.md | 165 + node_modules/doctrine/lib/doctrine.js | 898 + node_modules/doctrine/lib/typed.js | 1305 + node_modules/doctrine/lib/utility.js | 35 + node_modules/doctrine/package.json | 58 + node_modules/escape-string-regexp/index.d.ts | 18 + node_modules/escape-string-regexp/index.js | 13 + node_modules/escape-string-regexp/license | 9 + .../escape-string-regexp/package.json | 38 + node_modules/escape-string-regexp/readme.md | 34 + node_modules/eslint-scope/LICENSE | 22 + node_modules/eslint-scope/README.md | 66 + .../eslint-scope/dist/eslint-scope.cjs | 2238 ++ node_modules/eslint-scope/lib/definition.js | 85 + node_modules/eslint-scope/lib/index.js | 172 + .../eslint-scope/lib/pattern-visitor.js | 153 + node_modules/eslint-scope/lib/reference.js | 166 + node_modules/eslint-scope/lib/referencer.js | 654 + .../eslint-scope/lib/scope-manager.js | 255 + node_modules/eslint-scope/lib/scope.js | 770 + node_modules/eslint-scope/lib/variable.js | 87 + node_modules/eslint-scope/lib/version.js | 3 + node_modules/eslint-scope/package.json | 62 + node_modules/eslint-utils/LICENSE | 21 + node_modules/eslint-utils/README.md | 38 + node_modules/eslint-utils/index.js | 1956 ++ node_modules/eslint-utils/index.js.map | 1 + node_modules/eslint-utils/index.mjs | 1914 ++ node_modules/eslint-utils/index.mjs.map | 1 + .../eslint-utils/node_modules/.bin/eslint | 15 + .../eslint-utils/node_modules/.bin/eslint.cmd | 7 + .../eslint-visitor-keys/CHANGELOG.md | 36 + .../node_modules/eslint-visitor-keys/LICENSE | 201 + .../eslint-visitor-keys/README.md | 98 + .../eslint-visitor-keys/lib/index.js | 81 + .../eslint-visitor-keys/lib/visitor-keys.json | 289 + .../eslint-visitor-keys/package.json | 39 + node_modules/eslint-utils/package.json | 78 + node_modules/eslint-visitor-keys/LICENSE | 201 + node_modules/eslint-visitor-keys/README.md | 107 + .../dist/eslint-visitor-keys.cjs | 369 + node_modules/eslint-visitor-keys/lib/index.js | 59 + .../eslint-visitor-keys/lib/visitor-keys.js | 305 + node_modules/eslint-visitor-keys/package.json | 55 + node_modules/eslint/LICENSE | 19 + node_modules/eslint/README.md | 304 + node_modules/eslint/bin/eslint.js | 142 + node_modules/eslint/conf/config-schema.js | 93 + .../eslint/conf/default-cli-options.js | 32 + node_modules/eslint/conf/eslint-all.js | 31 + .../eslint/conf/eslint-recommended.js | 76 + node_modules/eslint/conf/globals.js | 144 + node_modules/eslint/conf/replacements.json | 22 + node_modules/eslint/conf/rule-type-list.json | 36 + node_modules/eslint/lib/api.js | 26 + .../eslint/lib/cli-engine/cli-engine.js | 1062 + .../eslint/lib/cli-engine/file-enumerator.js | 543 + .../lib/cli-engine/formatters/checkstyle.js | 60 + .../lib/cli-engine/formatters/compact.js | 60 + .../eslint/lib/cli-engine/formatters/html.js | 324 + .../lib/cli-engine/formatters/jslint-xml.js | 41 + .../formatters/json-with-metadata.js | 16 + .../eslint/lib/cli-engine/formatters/json.js | 13 + .../eslint/lib/cli-engine/formatters/junit.js | 82 + .../lib/cli-engine/formatters/stylish.js | 101 + .../eslint/lib/cli-engine/formatters/tap.js | 95 + .../eslint/lib/cli-engine/formatters/unix.js | 58 + .../lib/cli-engine/formatters/visualstudio.js | 63 + node_modules/eslint/lib/cli-engine/hash.js | 35 + node_modules/eslint/lib/cli-engine/index.js | 7 + .../lib/cli-engine/lint-result-cache.js | 191 + .../eslint/lib/cli-engine/load-rules.js | 46 + .../eslint/lib/cli-engine/xml-escape.js | 34 + node_modules/eslint/lib/cli.js | 344 + .../eslint/lib/config/default-config.js | 61 + .../eslint/lib/config/flat-config-array.js | 125 + .../eslint/lib/config/flat-config-helpers.js | 67 + .../eslint/lib/config/flat-config-schema.js | 457 + .../eslint/lib/config/rule-validator.js | 187 + node_modules/eslint/lib/eslint/eslint.js | 707 + node_modules/eslint/lib/eslint/index.js | 7 + .../lib/linter/apply-disable-directives.js | 350 + .../code-path-analysis/code-path-analyzer.js | 844 + .../code-path-analysis/code-path-segment.js | 235 + .../code-path-analysis/code-path-state.js | 1483 + .../linter/code-path-analysis/code-path.js | 247 + .../code-path-analysis/debug-helpers.js | 203 + .../linter/code-path-analysis/fork-context.js | 248 + .../linter/code-path-analysis/id-generator.js | 45 + .../lib/linter/config-comment-parser.js | 145 + node_modules/eslint/lib/linter/index.js | 13 + node_modules/eslint/lib/linter/interpolate.js | 28 + node_modules/eslint/lib/linter/linter.js | 1936 ++ .../eslint/lib/linter/node-event-generator.js | 354 + .../eslint/lib/linter/report-translator.js | 368 + node_modules/eslint/lib/linter/rule-fixer.js | 140 + node_modules/eslint/lib/linter/rules.js | 80 + .../eslint/lib/linter/safe-emitter.js | 52 + .../eslint/lib/linter/source-code-fixer.js | 152 + node_modules/eslint/lib/linter/timing.js | 160 + node_modules/eslint/lib/options.js | 323 + node_modules/eslint/lib/rule-tester/index.js | 5 + .../eslint/lib/rule-tester/rule-tester.js | 1008 + .../eslint/lib/rules/accessor-pairs.js | 354 + .../eslint/lib/rules/array-bracket-newline.js | 258 + .../eslint/lib/rules/array-bracket-spacing.js | 241 + .../eslint/lib/rules/array-callback-return.js | 296 + .../eslint/lib/rules/array-element-newline.js | 301 + .../eslint/lib/rules/arrow-body-style.js | 296 + node_modules/eslint/lib/rules/arrow-parens.js | 183 + .../eslint/lib/rules/arrow-spacing.js | 161 + .../eslint/lib/rules/block-scoped-var.js | 124 + .../eslint/lib/rules/block-spacing.js | 171 + node_modules/eslint/lib/rules/brace-style.js | 194 + .../eslint/lib/rules/callback-return.js | 187 + node_modules/eslint/lib/rules/camelcase.js | 398 + .../eslint/lib/rules/capitalized-comments.js | 300 + .../lib/rules/class-methods-use-this.js | 187 + node_modules/eslint/lib/rules/comma-dangle.js | 350 + .../eslint/lib/rules/comma-spacing.js | 195 + node_modules/eslint/lib/rules/comma-style.js | 311 + node_modules/eslint/lib/rules/complexity.js | 165 + .../lib/rules/computed-property-spacing.js | 205 + .../eslint/lib/rules/consistent-return.js | 185 + .../eslint/lib/rules/consistent-this.js | 151 + .../eslint/lib/rules/constructor-super.js | 423 + node_modules/eslint/lib/rules/curly.js | 486 + .../eslint/lib/rules/default-case-last.js | 44 + node_modules/eslint/lib/rules/default-case.js | 97 + .../eslint/lib/rules/default-param-last.js | 62 + node_modules/eslint/lib/rules/dot-location.js | 105 + node_modules/eslint/lib/rules/dot-notation.js | 177 + node_modules/eslint/lib/rules/eol-last.js | 112 + node_modules/eslint/lib/rules/eqeqeq.js | 174 + .../eslint/lib/rules/for-direction.js | 126 + .../eslint/lib/rules/func-call-spacing.js | 230 + .../eslint/lib/rules/func-name-matching.js | 253 + node_modules/eslint/lib/rules/func-names.js | 191 + node_modules/eslint/lib/rules/func-style.js | 98 + .../rules/function-call-argument-newline.js | 122 + .../lib/rules/function-paren-newline.js | 282 + .../lib/rules/generator-star-spacing.js | 206 + .../eslint/lib/rules/getter-return.js | 173 + .../eslint/lib/rules/global-require.js | 87 + .../lib/rules/grouped-accessor-pairs.js | 224 + node_modules/eslint/lib/rules/guard-for-in.js | 76 + .../eslint/lib/rules/handle-callback-err.js | 100 + node_modules/eslint/lib/rules/id-blacklist.js | 245 + node_modules/eslint/lib/rules/id-denylist.js | 227 + node_modules/eslint/lib/rules/id-length.js | 169 + node_modules/eslint/lib/rules/id-match.js | 298 + .../lib/rules/implicit-arrow-linebreak.js | 81 + .../eslint/lib/rules/indent-legacy.js | 1126 + node_modules/eslint/lib/rules/indent.js | 1764 + node_modules/eslint/lib/rules/index.js | 301 + .../eslint/lib/rules/init-declarations.js | 139 + node_modules/eslint/lib/rules/jsx-quotes.js | 95 + node_modules/eslint/lib/rules/key-spacing.js | 675 + .../eslint/lib/rules/keyword-spacing.js | 637 + .../eslint/lib/rules/line-comment-position.js | 122 + .../eslint/lib/rules/linebreak-style.js | 105 + .../eslint/lib/rules/lines-around-comment.js | 450 + .../lib/rules/lines-around-directive.js | 201 + .../lib/rules/lines-between-class-members.js | 181 + .../eslint/lib/rules/max-classes-per-file.js | 89 + node_modules/eslint/lib/rules/max-depth.js | 156 + node_modules/eslint/lib/rules/max-len.js | 433 + .../lib/rules/max-lines-per-function.js | 213 + node_modules/eslint/lib/rules/max-lines.js | 193 + .../eslint/lib/rules/max-nested-callbacks.js | 117 + node_modules/eslint/lib/rules/max-params.js | 102 + .../lib/rules/max-statements-per-line.js | 196 + .../eslint/lib/rules/max-statements.js | 184 + .../lib/rules/multiline-comment-style.js | 435 + .../eslint/lib/rules/multiline-ternary.js | 171 + node_modules/eslint/lib/rules/new-cap.js | 276 + node_modules/eslint/lib/rules/new-parens.js | 99 + .../eslint/lib/rules/newline-after-var.js | 255 + .../eslint/lib/rules/newline-before-return.js | 217 + .../lib/rules/newline-per-chained-call.js | 123 + node_modules/eslint/lib/rules/no-alert.js | 136 + .../eslint/lib/rules/no-array-constructor.js | 54 + .../lib/rules/no-async-promise-executor.js | 39 + .../eslint/lib/rules/no-await-in-loop.js | 106 + node_modules/eslint/lib/rules/no-bitwise.js | 119 + .../eslint/lib/rules/no-buffer-constructor.js | 50 + node_modules/eslint/lib/rules/no-caller.js | 46 + .../eslint/lib/rules/no-case-declarations.js | 64 + .../eslint/lib/rules/no-catch-shadow.js | 80 + .../eslint/lib/rules/no-class-assign.js | 61 + .../eslint/lib/rules/no-compare-neg-zero.js | 60 + .../eslint/lib/rules/no-cond-assign.js | 159 + .../eslint/lib/rules/no-confusing-arrow.js | 85 + node_modules/eslint/lib/rules/no-console.js | 134 + .../eslint/lib/rules/no-const-assign.js | 54 + .../eslint/lib/rules/no-constant-condition.js | 315 + .../eslint/lib/rules/no-constructor-return.js | 62 + node_modules/eslint/lib/rules/no-continue.js | 39 + .../eslint/lib/rules/no-control-regex.js | 112 + node_modules/eslint/lib/rules/no-debugger.js | 43 + .../eslint/lib/rules/no-delete-var.js | 42 + node_modules/eslint/lib/rules/no-div-regex.js | 53 + node_modules/eslint/lib/rules/no-dupe-args.js | 80 + .../eslint/lib/rules/no-dupe-class-members.js | 104 + .../eslint/lib/rules/no-dupe-else-if.js | 122 + node_modules/eslint/lib/rules/no-dupe-keys.js | 142 + .../eslint/lib/rules/no-duplicate-case.js | 71 + .../eslint/lib/rules/no-duplicate-imports.js | 290 + .../eslint/lib/rules/no-else-return.js | 404 + .../lib/rules/no-empty-character-class.js | 55 + .../eslint/lib/rules/no-empty-function.js | 167 + .../eslint/lib/rules/no-empty-pattern.js | 43 + node_modules/eslint/lib/rules/no-empty.js | 86 + node_modules/eslint/lib/rules/no-eq-null.js | 46 + node_modules/eslint/lib/rules/no-eval.js | 281 + node_modules/eslint/lib/rules/no-ex-assign.js | 52 + .../eslint/lib/rules/no-extend-native.js | 178 + .../eslint/lib/rules/no-extra-bind.js | 213 + .../eslint/lib/rules/no-extra-boolean-cast.js | 317 + .../eslint/lib/rules/no-extra-label.js | 149 + .../eslint/lib/rules/no-extra-parens.js | 1235 + .../eslint/lib/rules/no-extra-semi.js | 126 + .../eslint/lib/rules/no-fallthrough.js | 147 + .../eslint/lib/rules/no-floating-decimal.js | 70 + .../eslint/lib/rules/no-func-assign.js | 76 + .../eslint/lib/rules/no-global-assign.js | 94 + .../eslint/lib/rules/no-implicit-coercion.js | 361 + .../eslint/lib/rules/no-implicit-globals.js | 140 + .../eslint/lib/rules/no-implied-eval.js | 131 + .../eslint/lib/rules/no-import-assign.js | 239 + .../eslint/lib/rules/no-inline-comments.js | 110 + .../eslint/lib/rules/no-inner-declarations.js | 110 + .../eslint/lib/rules/no-invalid-regexp.js | 157 + .../eslint/lib/rules/no-invalid-this.js | 150 + .../lib/rules/no-irregular-whitespace.js | 259 + node_modules/eslint/lib/rules/no-iterator.js | 52 + node_modules/eslint/lib/rules/no-label-var.js | 79 + node_modules/eslint/lib/rules/no-labels.js | 149 + .../eslint/lib/rules/no-lone-blocks.js | 134 + node_modules/eslint/lib/rules/no-lonely-if.js | 89 + node_modules/eslint/lib/rules/no-loop-func.js | 204 + .../eslint/lib/rules/no-loss-of-precision.js | 206 + .../eslint/lib/rules/no-magic-numbers.js | 226 + .../rules/no-misleading-character-class.js | 200 + .../eslint/lib/rules/no-mixed-operators.js | 226 + .../eslint/lib/rules/no-mixed-requires.js | 238 + .../lib/rules/no-mixed-spaces-and-tabs.js | 113 + .../eslint/lib/rules/no-multi-assign.js | 67 + .../eslint/lib/rules/no-multi-spaces.js | 138 + node_modules/eslint/lib/rules/no-multi-str.js | 65 + .../lib/rules/no-multiple-empty-lines.js | 151 + .../eslint/lib/rules/no-native-reassign.js | 97 + .../eslint/lib/rules/no-negated-condition.js | 95 + .../eslint/lib/rules/no-negated-in-lhs.js | 46 + .../eslint/lib/rules/no-nested-ternary.js | 44 + node_modules/eslint/lib/rules/no-new-func.js | 86 + .../eslint/lib/rules/no-new-object.js | 57 + .../eslint/lib/rules/no-new-require.js | 50 + .../eslint/lib/rules/no-new-symbol.js | 54 + .../eslint/lib/rules/no-new-wrappers.js | 48 + node_modules/eslint/lib/rules/no-new.js | 43 + .../lib/rules/no-nonoctal-decimal-escape.js | 148 + node_modules/eslint/lib/rules/no-obj-calls.js | 84 + .../eslint/lib/rules/no-octal-escape.js | 56 + node_modules/eslint/lib/rules/no-octal.js | 45 + .../eslint/lib/rules/no-param-reassign.js | 229 + .../eslint/lib/rules/no-path-concat.js | 64 + node_modules/eslint/lib/rules/no-plusplus.js | 105 + .../eslint/lib/rules/no-process-env.js | 51 + .../eslint/lib/rules/no-process-exit.js | 47 + .../lib/rules/no-promise-executor-return.js | 121 + node_modules/eslint/lib/rules/no-proto.js | 48 + .../eslint/lib/rules/no-prototype-builtins.js | 71 + node_modules/eslint/lib/rules/no-redeclare.js | 174 + .../eslint/lib/rules/no-regex-spaces.js | 180 + .../eslint/lib/rules/no-restricted-exports.js | 96 + .../eslint/lib/rules/no-restricted-globals.js | 122 + .../eslint/lib/rules/no-restricted-imports.js | 322 + .../eslint/lib/rules/no-restricted-modules.js | 216 + .../lib/rules/no-restricted-properties.js | 181 + .../eslint/lib/rules/no-restricted-syntax.js | 70 + .../eslint/lib/rules/no-return-assign.js | 80 + .../eslint/lib/rules/no-return-await.js | 103 + .../eslint/lib/rules/no-script-url.js | 61 + .../eslint/lib/rules/no-self-assign.js | 183 + .../eslint/lib/rules/no-self-compare.js | 60 + node_modules/eslint/lib/rules/no-sequences.js | 138 + .../eslint/lib/rules/no-setter-return.js | 225 + .../lib/rules/no-shadow-restricted-names.js | 64 + node_modules/eslint/lib/rules/no-shadow.js | 224 + .../eslint/lib/rules/no-spaced-func.js | 83 + .../eslint/lib/rules/no-sparse-arrays.js | 50 + node_modules/eslint/lib/rules/no-sync.js | 64 + node_modules/eslint/lib/rules/no-tabs.js | 78 + .../lib/rules/no-template-curly-in-string.js | 44 + node_modules/eslint/lib/rules/no-ternary.js | 41 + .../eslint/lib/rules/no-this-before-super.js | 304 + .../eslint/lib/rules/no-throw-literal.js | 51 + .../eslint/lib/rules/no-trailing-spaces.js | 190 + .../eslint/lib/rules/no-undef-init.js | 75 + node_modules/eslint/lib/rules/no-undef.js | 78 + node_modules/eslint/lib/rules/no-undefined.js | 84 + .../eslint/lib/rules/no-underscore-dangle.js | 280 + .../lib/rules/no-unexpected-multiline.js | 120 + .../lib/rules/no-unmodified-loop-condition.js | 360 + .../eslint/lib/rules/no-unneeded-ternary.js | 166 + .../eslint/lib/rules/no-unreachable-loop.js | 150 + .../eslint/lib/rules/no-unreachable.js | 264 + .../eslint/lib/rules/no-unsafe-finally.js | 111 + .../eslint/lib/rules/no-unsafe-negation.js | 128 + .../lib/rules/no-unsafe-optional-chaining.js | 205 + .../eslint/lib/rules/no-unused-expressions.js | 189 + .../eslint/lib/rules/no-unused-labels.js | 110 + .../rules/no-unused-private-class-members.js | 195 + .../eslint/lib/rules/no-unused-vars.js | 690 + .../eslint/lib/rules/no-use-before-define.js | 334 + .../lib/rules/no-useless-backreference.js | 192 + .../eslint/lib/rules/no-useless-call.js | 90 + .../eslint/lib/rules/no-useless-catch.js | 57 + .../lib/rules/no-useless-computed-key.js | 168 + .../eslint/lib/rules/no-useless-concat.js | 115 + .../lib/rules/no-useless-constructor.js | 189 + .../eslint/lib/rules/no-useless-escape.js | 254 + .../eslint/lib/rules/no-useless-rename.js | 172 + .../eslint/lib/rules/no-useless-return.js | 305 + node_modules/eslint/lib/rules/no-var.js | 334 + node_modules/eslint/lib/rules/no-void.js | 64 + .../eslint/lib/rules/no-warning-comments.js | 196 + .../rules/no-whitespace-before-property.js | 113 + node_modules/eslint/lib/rules/no-with.js | 39 + .../rules/nonblock-statement-body-position.js | 124 + .../eslint/lib/rules/object-curly-newline.js | 321 + .../eslint/lib/rules/object-curly-spacing.js | 308 + .../lib/rules/object-property-newline.js | 99 + .../eslint/lib/rules/object-shorthand.js | 504 + .../lib/rules/one-var-declaration-per-line.js | 92 + node_modules/eslint/lib/rules/one-var.js | 567 + .../eslint/lib/rules/operator-assignment.js | 207 + .../eslint/lib/rules/operator-linebreak.js | 250 + .../eslint/lib/rules/padded-blocks.js | 307 + .../rules/padding-line-between-statements.js | 634 + .../eslint/lib/rules/prefer-arrow-callback.js | 380 + node_modules/eslint/lib/rules/prefer-const.js | 489 + .../eslint/lib/rules/prefer-destructuring.js | 301 + .../rules/prefer-exponentiation-operator.js | 190 + .../lib/rules/prefer-named-capture-group.js | 110 + .../lib/rules/prefer-numeric-literals.js | 148 + .../eslint/lib/rules/prefer-object-has-own.js | 112 + .../eslint/lib/rules/prefer-object-spread.js | 299 + .../lib/rules/prefer-promise-reject-errors.js | 131 + .../eslint/lib/rules/prefer-reflect.js | 127 + .../eslint/lib/rules/prefer-regex-literals.js | 396 + .../eslint/lib/rules/prefer-rest-params.js | 115 + .../eslint/lib/rules/prefer-spread.js | 87 + .../eslint/lib/rules/prefer-template.js | 275 + node_modules/eslint/lib/rules/quote-props.js | 307 + node_modules/eslint/lib/rules/quotes.js | 347 + node_modules/eslint/lib/rules/radix.js | 198 + .../lib/rules/require-atomic-updates.js | 317 + .../eslint/lib/rules/require-await.js | 113 + .../eslint/lib/rules/require-jsdoc.js | 122 + .../lib/rules/require-unicode-regexp.js | 69 + .../eslint/lib/rules/require-yield.js | 78 + .../eslint/lib/rules/rest-spread-spacing.js | 120 + node_modules/eslint/lib/rules/semi-spacing.js | 245 + node_modules/eslint/lib/rules/semi-style.js | 155 + node_modules/eslint/lib/rules/semi.js | 410 + node_modules/eslint/lib/rules/sort-imports.js | 241 + node_modules/eslint/lib/rules/sort-keys.js | 187 + node_modules/eslint/lib/rules/sort-vars.js | 104 + .../eslint/lib/rules/space-before-blocks.js | 201 + .../lib/rules/space-before-function-paren.js | 164 + .../eslint/lib/rules/space-in-parens.js | 282 + .../eslint/lib/rules/space-infix-ops.js | 195 + .../eslint/lib/rules/space-unary-ops.js | 321 + .../eslint/lib/rules/spaced-comment.js | 382 + node_modules/eslint/lib/rules/strict.js | 277 + .../eslint/lib/rules/switch-colon-spacing.js | 129 + .../eslint/lib/rules/symbol-description.js | 71 + .../lib/rules/template-curly-spacing.js | 141 + .../eslint/lib/rules/template-tag-spacing.js | 90 + node_modules/eslint/lib/rules/unicode-bom.js | 73 + node_modules/eslint/lib/rules/use-isnan.js | 141 + .../eslint/lib/rules/utils/ast-utils.js | 1922 ++ .../eslint/lib/rules/utils/fix-tracker.js | 114 + .../eslint/lib/rules/utils/keywords.js | 67 + .../lib/rules/utils/lazy-loading-rule-map.js | 115 + .../lib/rules/utils/patterns/letters.js | 36 + .../eslint/lib/rules/utils/unicode/index.js | 11 + .../utils/unicode/is-combining-character.js | 13 + .../rules/utils/unicode/is-emoji-modifier.js | 13 + .../unicode/is-regional-indicator-symbol.js | 13 + .../rules/utils/unicode/is-surrogate-pair.js | 14 + node_modules/eslint/lib/rules/valid-jsdoc.js | 516 + node_modules/eslint/lib/rules/valid-typeof.js | 85 + node_modules/eslint/lib/rules/vars-on-top.js | 157 + node_modules/eslint/lib/rules/wrap-iife.js | 204 + node_modules/eslint/lib/rules/wrap-regex.js | 59 + .../eslint/lib/rules/yield-star-spacing.js | 127 + node_modules/eslint/lib/rules/yoda.js | 362 + node_modules/eslint/lib/shared/ajv.js | 34 + node_modules/eslint/lib/shared/ast-utils.js | 29 + .../eslint/lib/shared/config-validator.js | 347 + .../eslint/lib/shared/deprecation-warnings.js | 65 + node_modules/eslint/lib/shared/logging.js | 30 + .../lib/shared/relative-module-resolver.js | 50 + .../eslint/lib/shared/runtime-info.js | 167 + .../eslint/lib/shared/string-utils.js | 22 + node_modules/eslint/lib/shared/traverser.js | 195 + node_modules/eslint/lib/shared/types.js | 160 + node_modules/eslint/lib/source-code/index.js | 5 + .../eslint/lib/source-code/source-code.js | 593 + .../backward-token-comment-cursor.js | 57 + .../token-store/backward-token-cursor.js | 58 + .../lib/source-code/token-store/cursor.js | 76 + .../lib/source-code/token-store/cursors.js | 90 + .../token-store/decorative-cursor.js | 39 + .../source-code/token-store/filter-cursor.js | 43 + .../forward-token-comment-cursor.js | 57 + .../token-store/forward-token-cursor.js | 63 + .../lib/source-code/token-store/index.js | 627 + .../source-code/token-store/limit-cursor.js | 40 + .../token-store/padded-token-cursor.js | 38 + .../source-code/token-store/skip-cursor.js | 42 + .../lib/source-code/token-store/utils.js | 92 + node_modules/eslint/lib/unsupported-api.js | 23 + .../eslint/messages/all-files-ignored.js | 16 + .../eslint/messages/extend-config-missing.js | 13 + .../eslint/messages/failed-to-read-json.js | 11 + .../eslint/messages/file-not-found.js | 10 + .../eslint/messages/no-config-found.js | 15 + .../eslint/messages/plugin-conflict.js | 22 + .../eslint/messages/plugin-invalid.js | 16 + .../eslint/messages/plugin-missing.js | 19 + .../print-config-with-directory-path.js | 8 + .../eslint/messages/whitespace-found.js | 11 + node_modules/eslint/node_modules/.bin/js-yaml | 15 + .../eslint/node_modules/.bin/js-yaml.cmd | 7 + node_modules/eslint/package.json | 149 + node_modules/esm/LICENSE | 23 + node_modules/esm/README.md | 137 + node_modules/esm/esm.js | 1 + node_modules/esm/esm/loader.js | 1 + node_modules/esm/index.js | 1 + .../esm/node_modules/.cache/esm/.data.blob | Bin 0 -> 562024 bytes .../esm/node_modules/.cache/esm/.data.json | 1 + node_modules/esm/package.json | 27 + node_modules/espree/LICENSE | 25 + node_modules/espree/README.md | 250 + node_modules/espree/dist/espree.cjs | 1013 + node_modules/espree/espree.js | 175 + node_modules/espree/lib/ast-node-types.js | 94 + node_modules/espree/lib/espree.js | 328 + node_modules/espree/lib/features.js | 27 + node_modules/espree/lib/options.js | 121 + node_modules/espree/lib/token-translator.js | 265 + node_modules/espree/lib/version.js | 3 + node_modules/espree/node_modules/.bin/acorn | 15 + .../espree/node_modules/.bin/acorn.cmd | 7 + node_modules/espree/package.json | 86 + node_modules/esquery/README.md | 27 + node_modules/esquery/dist/esquery.esm.js | 4793 +++ node_modules/esquery/dist/esquery.esm.min.js | 2 + .../esquery/dist/esquery.esm.min.js.map | 1 + node_modules/esquery/dist/esquery.js | 4801 +++ node_modules/esquery/dist/esquery.lite.js | 3995 +++ node_modules/esquery/dist/esquery.lite.min.js | 2 + .../esquery/dist/esquery.lite.min.js.map | 1 + node_modules/esquery/dist/esquery.min.js | 2 + node_modules/esquery/dist/esquery.min.js.map | 1 + node_modules/esquery/license.txt | 24 + node_modules/esquery/package.json | 78 + node_modules/esquery/parser.js | 2602 ++ node_modules/esrecurse/.babelrc | 3 + node_modules/esrecurse/README.md | 171 + node_modules/esrecurse/esrecurse.js | 117 + node_modules/esrecurse/gulpfile.babel.js | 92 + node_modules/esrecurse/package.json | 52 + node_modules/estraverse/.jshintrc | 16 + node_modules/estraverse/LICENSE.BSD | 19 + node_modules/estraverse/README.md | 153 + node_modules/estraverse/estraverse.js | 801 + node_modules/estraverse/gulpfile.js | 70 + node_modules/estraverse/package.json | 40 + node_modules/esutils/LICENSE.BSD | 19 + node_modules/esutils/README.md | 169 + node_modules/esutils/lib/ast.js | 144 + node_modules/esutils/lib/code.js | 135 + node_modules/esutils/lib/keyword.js | 165 + node_modules/esutils/lib/utils.js | 33 + node_modules/esutils/package.json | 49 + node_modules/fast-deep-equal/LICENSE | 21 + node_modules/fast-deep-equal/README.md | 96 + node_modules/fast-deep-equal/es6/index.d.ts | 2 + node_modules/fast-deep-equal/es6/index.js | 72 + node_modules/fast-deep-equal/es6/react.d.ts | 2 + node_modules/fast-deep-equal/es6/react.js | 79 + node_modules/fast-deep-equal/index.d.ts | 4 + node_modules/fast-deep-equal/index.js | 46 + node_modules/fast-deep-equal/package.json | 61 + node_modules/fast-deep-equal/react.d.ts | 2 + node_modules/fast-deep-equal/react.js | 53 + .../fast-json-stable-stringify/.eslintrc.yml | 26 + .../fast-json-stable-stringify/.npmignore | 4 + .../fast-json-stable-stringify/.travis.yml | 8 + .../fast-json-stable-stringify/LICENSE | 18 + .../fast-json-stable-stringify/README.md | 119 + .../benchmark/index.js | 31 + .../benchmark/test.json | 137 + .../example/key_cmp.js | 7 + .../example/nested.js | 3 + .../fast-json-stable-stringify/example/str.js | 3 + .../example/value_cmp.js | 7 + .../fast-json-stable-stringify/index.js | 59 + .../fast-json-stable-stringify/package.json | 50 + .../fast-json-stable-stringify/test/cmp.js | 13 + .../fast-json-stable-stringify/test/nested.js | 44 + .../fast-json-stable-stringify/test/str.js | 46 + .../test/to-json.js | 22 + node_modules/fast-levenshtein/LICENSE.md | 25 + node_modules/fast-levenshtein/README.md | 104 + node_modules/fast-levenshtein/levenshtein.js | 136 + node_modules/fast-levenshtein/package.json | 39 + node_modules/file-entry-cache/LICENSE | 22 + node_modules/file-entry-cache/README.md | 112 + node_modules/file-entry-cache/cache.js | 291 + node_modules/file-entry-cache/changelog.md | 163 + node_modules/file-entry-cache/package.json | 80 + node_modules/flat-cache/LICENSE | 22 + node_modules/flat-cache/README.md | 73 + node_modules/flat-cache/changelog.md | 328 + .../flat-cache/node_modules/.bin/rimraf | 15 + .../flat-cache/node_modules/.bin/rimraf.cmd | 7 + node_modules/flat-cache/package.json | 84 + node_modules/flat-cache/src/cache.js | 197 + node_modules/flat-cache/src/del.js | 13 + node_modules/flat-cache/src/utils.js | 44 + node_modules/flatted/.github/FUNDING.yml | 8 + .../flatted/.github/workflows/node.js.yml | 31 + node_modules/flatted/LICENSE | 15 + node_modules/flatted/README.md | 111 + node_modules/flatted/SPECS.md | 94 + node_modules/flatted/cjs/index.js | 99 + node_modules/flatted/cjs/package.json | 1 + node_modules/flatted/es.js | 2 + node_modules/flatted/esm/index.js | 94 + node_modules/flatted/flatted.jpg | Bin 0 -> 48502 bytes node_modules/flatted/index.js | 127 + node_modules/flatted/min.js | 2 + node_modules/flatted/package.json | 61 + node_modules/flatted/php/flatted.php | 156 + node_modules/flatted/types.d.ts | 62 + node_modules/fs.realpath/LICENSE | 43 + node_modules/fs.realpath/README.md | 33 + node_modules/fs.realpath/index.js | 66 + node_modules/fs.realpath/old.js | 303 + node_modules/fs.realpath/package.json | 26 + .../functional-red-black-tree/.npmignore | 16 + .../functional-red-black-tree/LICENSE | 22 + .../functional-red-black-tree/README.md | 237 + .../functional-red-black-tree/bench/test.js | 11 + .../functional-red-black-tree/package.json | 40 + .../functional-red-black-tree/rbtree.js | 996 + .../functional-red-black-tree/test/test.js | 479 + node_modules/glob-parent/LICENSE | 15 + node_modules/glob-parent/README.md | 134 + node_modules/glob-parent/index.js | 75 + .../glob-parent/node_modules/is-glob/LICENSE | 21 + .../node_modules/is-glob/README.md | 206 + .../glob-parent/node_modules/is-glob/index.js | 150 + .../node_modules/is-glob/package.json | 81 + node_modules/glob-parent/package.json | 54 + node_modules/glob/LICENSE | 15 + node_modules/glob/README.md | 368 + node_modules/glob/changelog.md | 67 + node_modules/glob/common.js | 240 + node_modules/glob/glob.js | 790 + node_modules/glob/package.json | 43 + node_modules/glob/sync.js | 486 + node_modules/globals/globals.json | 1781 + node_modules/globals/index.d.ts | 6 + node_modules/globals/index.js | 2 + node_modules/globals/license | 9 + node_modules/globals/package.json | 55 + node_modules/globals/readme.md | 56 + node_modules/has-flag/index.d.ts | 39 + node_modules/has-flag/index.js | 8 + node_modules/has-flag/license | 9 + node_modules/has-flag/package.json | 46 + node_modules/has-flag/readme.md | 89 + node_modules/ignore/LICENSE-MIT | 21 + node_modules/ignore/README.md | 412 + node_modules/ignore/index.d.ts | 61 + node_modules/ignore/index.js | 603 + node_modules/ignore/legacy.js | 498 + node_modules/ignore/package.json | 71 + node_modules/import-fresh/index.js | 29 + node_modules/import-fresh/license | 9 + node_modules/import-fresh/package.json | 40 + node_modules/import-fresh/readme.md | 50 + node_modules/imurmurhash/README.md | 122 + node_modules/imurmurhash/imurmurhash.js | 138 + node_modules/imurmurhash/imurmurhash.min.js | 12 + node_modules/imurmurhash/package.json | 40 + node_modules/inflight/LICENSE | 15 + node_modules/inflight/README.md | 37 + node_modules/inflight/inflight.js | 54 + node_modules/inflight/package.json | 29 + node_modules/inherits/LICENSE | 16 + node_modules/inherits/README.md | 42 + node_modules/inherits/inherits.js | 7 + node_modules/inherits/inherits_browser.js | 23 + node_modules/inherits/package.json | 29 + node_modules/is-extglob/LICENSE | 21 + node_modules/is-extglob/README.md | 107 + node_modules/is-extglob/index.js | 20 + node_modules/is-extglob/package.json | 69 + node_modules/is-glob/LICENSE | 21 + node_modules/is-glob/README.md | 190 + node_modules/is-glob/index.js | 46 + node_modules/is-glob/package.json | 81 + node_modules/isexe/.npmignore | 2 + node_modules/isexe/LICENSE | 15 + node_modules/isexe/README.md | 51 + node_modules/isexe/index.js | 57 + node_modules/isexe/mode.js | 41 + node_modules/isexe/package.json | 31 + node_modules/isexe/test/basic.js | 221 + node_modules/isexe/windows.js | 42 + node_modules/js-yaml/CHANGELOG.md | 616 + node_modules/js-yaml/LICENSE | 21 + node_modules/js-yaml/README.md | 246 + node_modules/js-yaml/bin/js-yaml.js | 126 + node_modules/js-yaml/dist/js-yaml.js | 3874 +++ node_modules/js-yaml/dist/js-yaml.min.js | 2 + node_modules/js-yaml/dist/js-yaml.mjs | 3851 +++ node_modules/js-yaml/index.js | 47 + node_modules/js-yaml/lib/common.js | 59 + node_modules/js-yaml/lib/dumper.js | 965 + node_modules/js-yaml/lib/exception.js | 55 + node_modules/js-yaml/lib/loader.js | 1727 + node_modules/js-yaml/lib/schema.js | 121 + node_modules/js-yaml/lib/schema/core.js | 11 + node_modules/js-yaml/lib/schema/default.js | 22 + node_modules/js-yaml/lib/schema/failsafe.js | 17 + node_modules/js-yaml/lib/schema/json.js | 19 + node_modules/js-yaml/lib/snippet.js | 101 + node_modules/js-yaml/lib/type.js | 66 + node_modules/js-yaml/lib/type/binary.js | 125 + node_modules/js-yaml/lib/type/bool.js | 35 + node_modules/js-yaml/lib/type/float.js | 97 + node_modules/js-yaml/lib/type/int.js | 156 + node_modules/js-yaml/lib/type/map.js | 8 + node_modules/js-yaml/lib/type/merge.js | 12 + node_modules/js-yaml/lib/type/null.js | 35 + node_modules/js-yaml/lib/type/omap.js | 44 + node_modules/js-yaml/lib/type/pairs.js | 53 + node_modules/js-yaml/lib/type/seq.js | 8 + node_modules/js-yaml/lib/type/set.js | 29 + node_modules/js-yaml/lib/type/str.js | 8 + node_modules/js-yaml/lib/type/timestamp.js | 88 + node_modules/js-yaml/package.json | 66 + .../json-schema-traverse/.eslintrc.yml | 27 + node_modules/json-schema-traverse/.travis.yml | 8 + node_modules/json-schema-traverse/LICENSE | 21 + node_modules/json-schema-traverse/README.md | 83 + node_modules/json-schema-traverse/index.js | 89 + .../json-schema-traverse/package.json | 43 + .../json-schema-traverse/spec/.eslintrc.yml | 6 + .../spec/fixtures/schema.js | 125 + .../json-schema-traverse/spec/index.spec.js | 171 + .../.npmignore | 1 + .../.travis.yml | 4 + .../LICENSE | 18 + .../example/key_cmp.js | 7 + .../example/nested.js | 3 + .../example/str.js | 3 + .../example/value_cmp.js | 7 + .../index.js | 82 + .../package.json | 43 + .../readme.markdown | 132 + .../test/cmp.js | 11 + .../test/nested.js | 42 + .../test/replacer.js | 74 + .../test/space.js | 59 + .../test/str.js | 32 + .../test/to-json.js | 20 + node_modules/levn/LICENSE | 22 + node_modules/levn/README.md | 196 + node_modules/levn/lib/cast.js | 327 + node_modules/levn/lib/index.js | 22 + node_modules/levn/lib/parse-string.js | 113 + node_modules/levn/package.json | 46 + node_modules/lodash.merge/LICENSE | 47 + node_modules/lodash.merge/README.md | 18 + node_modules/lodash.merge/index.js | 1977 ++ node_modules/lodash.merge/package.json | 16 + node_modules/minimatch/LICENSE | 15 + node_modules/minimatch/README.md | 209 + node_modules/minimatch/minimatch.js | 923 + node_modules/minimatch/package.json | 30 + node_modules/ms/index.js | 162 + LICENSE => node_modules/ms/license.md | 2 +- node_modules/ms/package.json | 37 + node_modules/ms/readme.md | 60 + node_modules/natural-compare/README.md | 125 + node_modules/natural-compare/index.js | 57 + node_modules/natural-compare/package.json | 42 + node_modules/once/LICENSE | 15 + node_modules/once/README.md | 79 + node_modules/once/once.js | 42 + node_modules/once/package.json | 33 + node_modules/optionator/CHANGELOG.md | 59 + node_modules/optionator/LICENSE | 22 + node_modules/optionator/README.md | 238 + node_modules/optionator/lib/help.js | 260 + node_modules/optionator/lib/index.js | 465 + node_modules/optionator/lib/util.js | 54 + node_modules/optionator/package.json | 43 + node_modules/parent-module/index.js | 33 + node_modules/parent-module/license | 9 + node_modules/parent-module/package.json | 46 + node_modules/parent-module/readme.md | 66 + node_modules/path-is-absolute/index.js | 20 + node_modules/path-is-absolute/license | 21 + node_modules/path-is-absolute/package.json | 43 + node_modules/path-is-absolute/readme.md | 59 + node_modules/path-key/index.d.ts | 40 + node_modules/path-key/index.js | 16 + node_modules/path-key/license | 9 + node_modules/path-key/package.json | 39 + node_modules/path-key/readme.md | 61 + node_modules/prelude-ls/CHANGELOG.md | 108 + node_modules/prelude-ls/LICENSE | 22 + node_modules/prelude-ls/README.md | 15 + node_modules/prelude-ls/lib/Func.js | 69 + node_modules/prelude-ls/lib/List.js | 716 + node_modules/prelude-ls/lib/Num.js | 130 + node_modules/prelude-ls/lib/Obj.js | 154 + node_modules/prelude-ls/lib/Str.js | 92 + node_modules/prelude-ls/lib/index.js | 178 + node_modules/prelude-ls/package.json | 46 + node_modules/punycode/LICENSE-MIT.txt | 20 + node_modules/punycode/README.md | 122 + node_modules/punycode/package.json | 58 + node_modules/punycode/punycode.es6.js | 441 + node_modules/punycode/punycode.js | 440 + node_modules/regexpp/LICENSE | 21 + node_modules/regexpp/README.md | 178 + node_modules/regexpp/index.d.ts | 248 + node_modules/regexpp/index.js | 2096 ++ node_modules/regexpp/index.js.map | 1 + node_modules/regexpp/index.mjs | 2087 ++ node_modules/regexpp/index.mjs.map | 1 + node_modules/regexpp/package.json | 91 + node_modules/resolve-from/index.js | 47 + node_modules/resolve-from/license | 9 + node_modules/resolve-from/package.json | 34 + node_modules/resolve-from/readme.md | 72 + node_modules/rimraf/CHANGELOG.md | 65 + node_modules/rimraf/LICENSE | 15 + node_modules/rimraf/README.md | 101 + node_modules/rimraf/bin.js | 68 + node_modules/rimraf/package.json | 32 + node_modules/rimraf/rimraf.js | 360 + node_modules/rollup/CHANGELOG.md | 6237 ++++ node_modules/rollup/LICENSE.md | 703 + node_modules/rollup/README.md | 127 + node_modules/rollup/dist/bin/rollup | 1730 + node_modules/rollup/dist/es/package.json | 1 + node_modules/rollup/dist/es/rollup.browser.js | 11 + node_modules/rollup/dist/es/rollup.js | 17 + node_modules/rollup/dist/es/shared/rollup.js | 23726 +++++++++++++ node_modules/rollup/dist/es/shared/watch.js | 4988 +++ node_modules/rollup/dist/loadConfigFile.js | 28 + node_modules/rollup/dist/rollup.browser.js | 12 + .../rollup/dist/rollup.browser.js.map | 1 + node_modules/rollup/dist/rollup.d.ts | 931 + node_modules/rollup/dist/rollup.js | 29 + node_modules/rollup/dist/shared/index.js | 4567 +++ .../rollup/dist/shared/loadConfigFile.js | 665 + .../rollup/dist/shared/mergeOptions.js | 179 + node_modules/rollup/dist/shared/rollup.js | 23764 +++++++++++++ node_modules/rollup/dist/shared/watch-cli.js | 469 + node_modules/rollup/dist/shared/watch.js | 294 + node_modules/rollup/package.json | 141 + node_modules/shebang-command/index.js | 19 + node_modules/shebang-command/license | 9 + node_modules/shebang-command/package.json | 34 + node_modules/shebang-command/readme.md | 34 + node_modules/shebang-regex/index.d.ts | 22 + node_modules/shebang-regex/index.js | 2 + node_modules/shebang-regex/license | 9 + node_modules/shebang-regex/package.json | 35 + node_modules/shebang-regex/readme.md | 33 + node_modules/source-map-support/LICENSE.md | 21 + node_modules/source-map-support/README.md | 284 + .../browser-source-map-support.js | 114 + .../node_modules/source-map/CHANGELOG.md | 301 + .../node_modules/source-map/LICENSE | 28 + .../node_modules/source-map/README.md | 742 + .../source-map/dist/source-map.debug.js | 3234 ++ .../source-map/dist/source-map.js | 3233 ++ .../source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../node_modules/source-map/lib/base64.js | 67 + .../source-map/lib/binary-search.js | 111 + .../source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1145 + .../source-map/lib/source-map-generator.js | 425 + .../source-map/lib/source-node.js | 413 + .../node_modules/source-map/lib/util.js | 488 + .../node_modules/source-map/package.json | 73 + .../node_modules/source-map/source-map.d.ts | 98 + .../node_modules/source-map/source-map.js | 8 + node_modules/source-map-support/package.json | 31 + .../register-hook-require.js | 1 + node_modules/source-map-support/register.js | 1 + .../source-map-support/source-map-support.js | 625 + node_modules/source-map/CHANGELOG.md | 344 + node_modules/source-map/LICENSE | 28 + node_modules/source-map/README.md | 822 + node_modules/source-map/dist/source-map.js | 3351 ++ node_modules/source-map/lib/array-set.js | 100 + node_modules/source-map/lib/base64-vlq.js | 111 + node_modules/source-map/lib/base64.js | 18 + node_modules/source-map/lib/binary-search.js | 107 + node_modules/source-map/lib/mapping-list.js | 80 + node_modules/source-map/lib/mappings.wasm | Bin 0 -> 48693 bytes node_modules/source-map/lib/read-wasm.js | 40 + .../source-map/lib/source-map-consumer.js | 1254 + .../source-map/lib/source-map-generator.js | 413 + node_modules/source-map/lib/source-node.js | 404 + node_modules/source-map/lib/util.js | 546 + node_modules/source-map/lib/wasm.js | 107 + node_modules/source-map/package.json | 90 + node_modules/source-map/source-map.d.ts | 369 + node_modules/source-map/source-map.js | 8 + node_modules/strip-ansi/index.d.ts | 17 + node_modules/strip-ansi/index.js | 4 + node_modules/strip-ansi/license | 9 + node_modules/strip-ansi/package.json | 54 + node_modules/strip-ansi/readme.md | 46 + node_modules/strip-json-comments/index.d.ts | 36 + node_modules/strip-json-comments/index.js | 77 + node_modules/strip-json-comments/license | 9 + node_modules/strip-json-comments/package.json | 47 + node_modules/strip-json-comments/readme.md | 78 + node_modules/supports-color/browser.js | 5 + node_modules/supports-color/index.js | 135 + node_modules/supports-color/license | 9 + node_modules/supports-color/package.json | 53 + node_modules/supports-color/readme.md | 76 + node_modules/terser/CHANGELOG.md | 465 + node_modules/terser/LICENSE | 29 + node_modules/terser/PATRONS.md | 15 + node_modules/terser/README.md | 1352 + node_modules/terser/bin/package.json | 10 + node_modules/terser/bin/terser | 21 + node_modules/terser/bin/terser.mjs | 19 + node_modules/terser/bin/uglifyjs | 10 + node_modules/terser/dist/.gitkeep | 0 node_modules/terser/dist/bundle.min.js | 28257 ++++++++++++++++ node_modules/terser/dist/package.json | 10 + node_modules/terser/lib/ast.js | 1858 + node_modules/terser/lib/cli.js | 475 + node_modules/terser/lib/compress/common.js | 296 + .../terser/lib/compress/compressor-flags.js | 63 + .../lib/compress/drop-side-effect-free.js | 350 + node_modules/terser/lib/compress/evaluate.js | 461 + node_modules/terser/lib/compress/index.js | 4667 +++ node_modules/terser/lib/compress/inference.js | 948 + .../terser/lib/compress/native-objects.js | 184 + .../terser/lib/compress/reduce-vars.js | 675 + .../terser/lib/compress/tighten-body.js | 1461 + node_modules/terser/lib/equivalent-to.js | 313 + node_modules/terser/lib/minify.js | 287 + node_modules/terser/lib/mozilla-ast.js | 1376 + node_modules/terser/lib/output.js | 2346 ++ node_modules/terser/lib/parse.js | 3362 ++ node_modules/terser/lib/propmangle.js | 376 + node_modules/terser/lib/scope.js | 1020 + node_modules/terser/lib/size.js | 490 + node_modules/terser/lib/sourcemap.js | 114 + node_modules/terser/lib/transform.js | 318 + .../terser/lib/utils/first_in_statement.js | 50 + node_modules/terser/lib/utils/index.js | 302 + node_modules/terser/main.js | 27 + node_modules/terser/package.json | 157 + node_modules/terser/tools/domprops.js | 7771 +++++ node_modules/terser/tools/exit.cjs | 7 + node_modules/terser/tools/props.html | 55 + node_modules/terser/tools/terser.d.ts | 207 + node_modules/text-table/.travis.yml | 4 + node_modules/text-table/LICENSE | 18 + node_modules/text-table/example/align.js | 8 + node_modules/text-table/example/center.js | 8 + node_modules/text-table/example/dotalign.js | 9 + node_modules/text-table/example/doubledot.js | 11 + node_modules/text-table/example/table.js | 6 + node_modules/text-table/index.js | 86 + node_modules/text-table/package.json | 44 + node_modules/text-table/readme.markdown | 134 + node_modules/text-table/test/align.js | 18 + node_modules/text-table/test/ansi-colors.js | 32 + node_modules/text-table/test/center.js | 18 + node_modules/text-table/test/dotalign.js | 20 + node_modules/text-table/test/doubledot.js | 24 + node_modules/text-table/test/table.js | 14 + node_modules/type-check/LICENSE | 22 + node_modules/type-check/README.md | 210 + node_modules/type-check/lib/check.js | 128 + node_modules/type-check/lib/index.js | 16 + node_modules/type-check/lib/parse-type.js | 198 + node_modules/type-check/package.json | 39 + node_modules/type-fest/base.d.ts | 38 + node_modules/type-fest/index.d.ts | 2 + node_modules/type-fest/license | 9 + node_modules/type-fest/package.json | 58 + node_modules/type-fest/readme.md | 658 + .../type-fest/source/async-return-type.d.ts | 23 + node_modules/type-fest/source/asyncify.d.ts | 31 + node_modules/type-fest/source/basic.d.ts | 67 + .../type-fest/source/conditional-except.d.ts | 43 + .../type-fest/source/conditional-keys.d.ts | 43 + .../type-fest/source/conditional-pick.d.ts | 42 + node_modules/type-fest/source/entries.d.ts | 57 + node_modules/type-fest/source/entry.d.ts | 60 + node_modules/type-fest/source/except.d.ts | 22 + .../type-fest/source/fixed-length-array.d.ts | 38 + .../type-fest/source/iterable-element.d.ts | 46 + .../type-fest/source/literal-union.d.ts | 33 + .../type-fest/source/merge-exclusive.d.ts | 39 + node_modules/type-fest/source/merge.d.ts | 22 + node_modules/type-fest/source/mutable.d.ts | 22 + node_modules/type-fest/source/opaque.d.ts | 65 + .../type-fest/source/package-json.d.ts | 611 + .../type-fest/source/partial-deep.d.ts | 72 + node_modules/type-fest/source/promisable.d.ts | 23 + .../type-fest/source/promise-value.d.ts | 27 + .../type-fest/source/readonly-deep.d.ts | 59 + .../source/require-at-least-one.d.ts | 33 + .../type-fest/source/require-exactly-one.d.ts | 35 + .../type-fest/source/set-optional.d.ts | 34 + .../type-fest/source/set-required.d.ts | 34 + .../type-fest/source/set-return-type.d.ts | 29 + .../type-fest/source/stringified.d.ts | 21 + .../type-fest/source/tsconfig-json.d.ts | 870 + .../source/union-to-intersection.d.ts | 58 + node_modules/type-fest/source/utilities.d.ts | 3 + node_modules/type-fest/source/value-of.d.ts | 40 + node_modules/type-fest/ts41/camel-case.d.ts | 72 + .../type-fest/ts41/delimiter-case.d.ts | 85 + node_modules/type-fest/ts41/index.d.ts | 9 + node_modules/type-fest/ts41/kebab-case.d.ts | 36 + node_modules/type-fest/ts41/pascal-case.d.ts | 36 + node_modules/type-fest/ts41/snake-case.d.ts | 35 + node_modules/uri-js/README.md | 199 + node_modules/uri-js/bower.json | 47 + node_modules/uri-js/dist/es5/uri.all.d.ts | 59 + node_modules/uri-js/dist/es5/uri.all.js | 1389 + node_modules/uri-js/dist/es5/uri.all.js.map | 1 + node_modules/uri-js/dist/es5/uri.all.min.d.ts | 59 + node_modules/uri-js/dist/es5/uri.all.min.js | 3 + .../uri-js/dist/es5/uri.all.min.js.map | 1 + node_modules/uri-js/dist/esnext/index.d.ts | 1 + node_modules/uri-js/dist/esnext/index.js | 13 + node_modules/uri-js/dist/esnext/index.js.map | 1 + .../uri-js/dist/esnext/regexps-iri.d.ts | 3 + .../uri-js/dist/esnext/regexps-iri.js | 3 + .../uri-js/dist/esnext/regexps-iri.js.map | 1 + .../uri-js/dist/esnext/regexps-uri.d.ts | 4 + .../uri-js/dist/esnext/regexps-uri.js | 42 + .../uri-js/dist/esnext/regexps-uri.js.map | 1 + .../uri-js/dist/esnext/schemes/http.d.ts | 3 + .../uri-js/dist/esnext/schemes/http.js | 27 + .../uri-js/dist/esnext/schemes/http.js.map | 1 + .../uri-js/dist/esnext/schemes/https.d.ts | 3 + .../uri-js/dist/esnext/schemes/https.js | 9 + .../uri-js/dist/esnext/schemes/https.js.map | 1 + .../uri-js/dist/esnext/schemes/mailto.d.ts | 12 + .../uri-js/dist/esnext/schemes/mailto.js | 148 + .../uri-js/dist/esnext/schemes/mailto.js.map | 1 + .../uri-js/dist/esnext/schemes/urn-uuid.d.ts | 7 + .../uri-js/dist/esnext/schemes/urn-uuid.js | 23 + .../dist/esnext/schemes/urn-uuid.js.map | 1 + .../uri-js/dist/esnext/schemes/urn.d.ts | 10 + .../uri-js/dist/esnext/schemes/urn.js | 49 + .../uri-js/dist/esnext/schemes/urn.js.map | 1 + node_modules/uri-js/dist/esnext/uri.d.ts | 59 + node_modules/uri-js/dist/esnext/uri.js | 480 + node_modules/uri-js/dist/esnext/uri.js.map | 1 + node_modules/uri-js/dist/esnext/util.d.ts | 6 + node_modules/uri-js/dist/esnext/util.js | 36 + node_modules/uri-js/dist/esnext/util.js.map | 1 + node_modules/uri-js/package.json | 65 + node_modules/uri-js/rollup.config.js | 32 + node_modules/uri-js/src/index.ts | 18 + node_modules/uri-js/src/punycode.d.ts | 24 + node_modules/uri-js/src/regexps-iri.ts | 4 + node_modules/uri-js/src/regexps-uri.ts | 89 + node_modules/uri-js/src/schemes/http.ts | 36 + node_modules/uri-js/src/schemes/https.ts | 11 + node_modules/uri-js/src/schemes/mailto.ts | 182 + node_modules/uri-js/src/schemes/urn-uuid.ts | 36 + node_modules/uri-js/src/schemes/urn.ts | 69 + node_modules/uri-js/src/uri.ts | 556 + node_modules/uri-js/src/util.ts | 40 + node_modules/uri-js/tests/qunit.css | 118 + node_modules/uri-js/tests/qunit.js | 1042 + node_modules/uri-js/tests/test-es5-min.html | 17 + node_modules/uri-js/tests/test-es5.html | 17 + node_modules/uri-js/tests/tests.js | 774 + node_modules/uri-js/tsconfig.json | 20 + node_modules/uri-js/yarn.lock | 1902 ++ node_modules/v8-compile-cache/CHANGELOG.md | 45 + node_modules/v8-compile-cache/LICENSE | 21 + node_modules/v8-compile-cache/README.md | 53 + node_modules/v8-compile-cache/package.json | 33 + .../v8-compile-cache/v8-compile-cache.js | 367 + node_modules/which/CHANGELOG.md | 166 + node_modules/which/LICENSE | 15 + node_modules/which/README.md | 54 + node_modules/which/bin/node-which | 52 + node_modules/which/package.json | 43 + node_modules/which/which.js | 125 + node_modules/word-wrap/LICENSE | 21 + node_modules/word-wrap/README.md | 182 + node_modules/word-wrap/index.d.ts | 50 + node_modules/word-wrap/index.js | 46 + node_modules/word-wrap/package.json | 77 + node_modules/wrappy/LICENSE | 15 + node_modules/wrappy/README.md | 36 + node_modules/wrappy/package.json | 29 + node_modules/wrappy/wrappy.js | 33 + node_modules/xml-formatter/LICENSE | 17 + node_modules/xml-formatter/README.md | 105 + .../dist/browser}/xml-formatter.js | 0 node_modules/xml-formatter/index.d.ts | 12 + node_modules/xml-formatter/index.js | 184 + node_modules/xml-formatter/package.json | 43 + node_modules/xml-parser-xo/LICENSE | 17 + node_modules/xml-parser-xo/README.md | 68 + node_modules/xml-parser-xo/index.js | 243 + node_modules/xml-parser-xo/package.json | 35 + package.json | 37 - site/assets/Asana-Math.woff2 | Bin 247716 -> 0 bytes site/assets/GUST-FONT-LICENSE.txt | 30 - site/assets/MANIFEST-Latin-Modern-Math.txt | 60 - site/assets/MANIFEST-Latin-Modern.TXT | 1426 - site/assets/README-Latin-Modern-Math.txt | 92 - site/assets/README-Latin-Modern.TXT | 1022 - site/assets/STIXTwoMath-Regular.woff2 | Bin 551908 -> 0 bytes site/assets/Temml-Asana.css | 57 - site/assets/Temml-Latin-Modern.css | 90 - site/assets/Temml-Local.css | 47 - site/assets/Temml-STIX2.css | 56 - site/assets/Temml-XITS.css | 63 - site/assets/Temml.woff2 | Bin 11744 -> 0 bytes site/assets/XITS-FAQ.txt | 369 - site/assets/XITS-README.txt | 37 - site/assets/XITS.txt | 103 - site/assets/latinmodern-math.woff2 | Bin 388456 -> 0 bytes site/assets/lmroman12-bold.woff2 | Bin 46120 -> 0 bytes site/assets/lmroman12-italic.woff2 | Bin 48476 -> 0 bytes site/assets/lmroman12-regular.woff2 | Bin 46124 -> 0 bytes site/assets/mhchem.min.js | 1 - site/assets/physics.js | 132 - site/assets/temml.min.js | 1 - site/assets/texvc.js | 61 - site/assets/xits-math.woff2 | Bin 293336 -> 0 bytes site/assets/xits-mathbold.woff2 | Bin 140880 -> 0 bytes site/docs/docStyles.css | 375 - site/docs/en/administration.html | 254 - site/docs/en/comparison.html | 9732 ------ site/docs/en/support_table.html | 1587 - site/docs/en/supported.html | 749 - site/docs/katex.css | 11 - site/docs/sphere.jpg | Bin 12278 -> 0 bytes site/index.html | 222 - site/indexStyles.css | 200 - site/mathml.css | 218 - site/tests/LaTeXML-tests.html | 84 - site/tests/images/AccentsText.svg | 207 - site/tests/images/ArrayMode.svg | 330 - site/tests/images/ArrayType.svg | 33 - site/tests/images/Arrays.svg | 238 - site/tests/images/BinCancellation.svg | 99 - site/tests/images/BoldSymbol.svg | 178 - site/tests/images/CD.svg | 61 - site/tests/images/ColorBox.svg | 52 - site/tests/images/ColorImplicit.svg | 183 - site/tests/images/ColorSpacing.svg | 54 - site/tests/images/DashesAndQuotes.svg | 276 - site/tests/images/DelimiterSizing1.svg | 102 - site/tests/images/DelimiterSizing2.svg | 69 - site/tests/images/DisplayMode.svg | 52 - site/tests/images/ExtensibleArrows.svg | 326 - site/tests/images/Fractions1.svg | 119 - site/tests/images/Fractions2.svg | 158 - site/tests/images/HorizontalBraces.svg | 191 - site/tests/images/Integrands.svg | 129 - site/tests/images/LargeRuleNumerator.svg | 17 - site/tests/images/LeftRight.svg | 60 - site/tests/images/LeftRightListStyling.svg | 57 - site/tests/images/LeftRightMiddle.svg | 111 - site/tests/images/LeftRightStyleSizing.svg | 72 - site/tests/images/LimitControls.svg | 120 - site/tests/images/MathChoice.svg | 51 - site/tests/images/MathtoolsMatrix.svg | 69 - site/tests/images/NegativeSpace.svg | 55 - site/tests/images/NestedFractions.svg | 90 - .../tests/images/NullDelimiterInteraction.svg | 39 - site/tests/images/OpLimits.svg | 301 - site/tests/images/OperatorName.svg | 231 - site/tests/images/OverUnderline.svg | 87 - site/tests/images/OverUnderset.svg | 229 - site/tests/images/PrimeSpacing.svg | 57 - site/tests/images/PrimeSuper.svg | 81 - site/tests/images/RelativeUnits.svg | 99 - site/tests/images/SizingBaseline.svg | 63 - site/tests/images/SqrtRoot.svg | 169 - site/tests/images/StretchyAccent.svg | 385 - site/tests/images/StrikeThrough.svg | 337 - site/tests/images/StrikeThroughColor.svg | 103 - site/tests/images/StyleSpacing.svg | 33 - site/tests/images/StyleSwitching.svg | 61 - site/tests/images/SupSubCharacterBox.svg | 75 - site/tests/images/SupSubHorizSpacing.svg | 99 - site/tests/images/SupSubLeftAlignReset.svg | 85 - site/tests/images/SupSubOffsets.svg | 114 - site/tests/images/TextSpace.svg | 141 - site/tests/images/TextStacked.svg | 405 - site/tests/images/TextWithMath.svg | 226 - site/tests/images/accents.svg | 82 - site/tests/images/align.svg | 105 - site/tests/images/aligned.svg | 81 - site/tests/images/alignedat.svg | 123 - site/tests/images/angl.svg | 18 - site/tests/images/baseline.svg | 63 - site/tests/images/binom.svg | 99 - site/tests/images/boxed.svg | 76 - site/tests/images/cases.svg | 207 - site/tests/images/colors.svg | 21 - site/tests/images/displaystyle.svg | 73 - site/tests/images/dots.svg | 141 - site/tests/images/equation.svg | 96 - site/tests/images/ex1.gif | Bin 202 -> 0 bytes site/tests/images/ex10.gif | Bin 684 -> 0 bytes site/tests/images/ex11.gif | Bin 156 -> 0 bytes site/tests/images/ex12.gif | Bin 951 -> 0 bytes site/tests/images/ex13.gif | Bin 1763 -> 0 bytes site/tests/images/ex14.gif | Bin 1131 -> 0 bytes site/tests/images/ex15.gif | Bin 175 -> 0 bytes site/tests/images/ex16.gif | Bin 362 -> 0 bytes site/tests/images/ex17.gif | Bin 522 -> 0 bytes site/tests/images/ex18.gif | Bin 1476 -> 0 bytes site/tests/images/ex19.gif | Bin 467 -> 0 bytes site/tests/images/ex2.gif | Bin 163 -> 0 bytes site/tests/images/ex20.gif | Bin 144 -> 0 bytes site/tests/images/ex21.gif | Bin 1072 -> 0 bytes site/tests/images/ex22.gif | Bin 1039 -> 0 bytes site/tests/images/ex23.gif | Bin 1600 -> 0 bytes site/tests/images/ex24.gif | Bin 2003 -> 0 bytes site/tests/images/ex25.gif | Bin 145 -> 0 bytes site/tests/images/ex26.gif | Bin 343 -> 0 bytes site/tests/images/ex27.gif | Bin 222 -> 0 bytes site/tests/images/ex28.gif | Bin 179 -> 0 bytes site/tests/images/ex29.png | Bin 3313 -> 0 bytes site/tests/images/ex3.gif | Bin 349 -> 0 bytes site/tests/images/ex30.png | Bin 3392 -> 0 bytes site/tests/images/ex4.gif | Bin 268 -> 0 bytes site/tests/images/ex5.gif | Bin 235 -> 0 bytes site/tests/images/ex6.gif | Bin 906 -> 0 bytes site/tests/images/ex7.gif | Bin 739 -> 0 bytes site/tests/images/ex8.gif | Bin 416 -> 0 bytes site/tests/images/ex9.gif | Bin 869 -> 0 bytes site/tests/images/exponents.svg | 39 - site/tests/images/functions.svg | 78 - site/tests/images/gather.svg | 61 - site/tests/images/greek.svg | 33 - site/tests/images/kern.svg | 52 - site/tests/images/lap.svg | 220 - site/tests/images/latex.svg | 54 - site/tests/images/mathop.svg | 111 - site/tests/images/mod.svg | 183 - site/tests/images/newline.svg | 155 - site/tests/images/not.svg | 147 - site/tests/images/oldfont.svg | 128 - site/tests/images/phantom.svg | 147 - site/tests/images/pmb.svg | 54 - site/tests/images/raisebox.svg | 92 - site/tests/images/rcases.svg | 75 - site/tests/images/rlapbug.svg | 22 - site/tests/images/rule.svg | 9 - site/tests/images/sizing.svg | 64 - site/tests/images/smash.svg | 52 - site/tests/images/spacing.svg | 330 - site/tests/images/sqrt.svg | 176 - site/tests/images/stackrel.svg | 60 - site/tests/images/subarray.svg | 39 - site/tests/images/text.svg | 64 - site/tests/images/units.svg | 351 - site/tests/images/verb.svg | 271 - site/tests/katex-tests.html | 382 - site/tests/mhchem-tests.html | 242 - site/tests/mozilla-tests.html | 60 - site/tests/wiki-tests.html | 362 - src/Style.js | 144 - src/autocorrect.js | 126 - src/environments.js | 8 - src/functions.js | 59 - src/functions/hbox.js | 29 - src/functions/ordgroup.js | 9 - src/functions/toggle.js | 13 - src/postProcess.js | 57 - src/unicodeSymbolBuilder.js | 31 - temml.js | 177 - test/Investigate.html | 88 - test/LaTeXML-tests.md | 141 - test/auto-render.js | 212 - test/katex-tests.md | 1159 - test/main.css | 16 - test/mhchem-tests.md | 279 - test/mozilla-tests.md | 176 - test/processTests.js | 6 - test/repl.html | 59 - test/temml.js | 11069 ------ test/temmlPostProcess.js | 70 - test/wiki-tests.md | 935 - utils/TeXZilla.js | 4220 --- utils/buildDocs.js | 92 - utils/buildTests.js | 23 - utils/copyfiles.js | 56 - utils/hurmetMark.cjs | 1160 - utils/insertPlugins.js | 22 - utils/katex.min.js | 1 - utils/rollupConfig.js | 28 - utils/temml.cjs | 12966 ------- utils/temml.cjs.js | 13022 ------- utils/temml.mjs | 12964 ------- utils/temml.mjs.js | 13020 ------- yarn-error.log | 5361 --- yarn.lock | 648 - 1653 files changed, 378870 insertions(+), 124979 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc delete mode 100644 .gitattributes delete mode 100644 CHANGELOG.md delete mode 100644 README.md delete mode 100644 contrib/auto-render/README.md delete mode 100644 contrib/auto-render/auto-render.js delete mode 100644 contrib/auto-render/dist/auto-render.js delete mode 100644 contrib/auto-render/dist/auto-render.min.js delete mode 100644 contrib/auto-render/splitAtDelimiters.js delete mode 100644 contrib/auto-render/test/auto-render-spec.js delete mode 100644 contrib/auto-render/test/auto-render.js delete mode 100644 contrib/auto-render/test/test_page.html delete mode 100644 contrib/mhchem/README.md delete mode 100644 contrib/mhchem/mhchem.js delete mode 100644 contrib/mhchem/mhchem.min.js delete mode 100644 contrib/physics/README.md delete mode 100644 contrib/physics/physics.js delete mode 100644 contrib/texvc/README.md delete mode 100644 contrib/texvc/texvc.js delete mode 100644 docs/administration.md delete mode 100644 docs/comparison.html delete mode 100644 docs/support_table.md delete mode 100644 docs/supported.md create mode 100644 node_modules/.bin/acorn create mode 100644 node_modules/.bin/acorn.cmd create mode 100644 node_modules/.bin/eslint create mode 100644 node_modules/.bin/eslint.cmd create mode 100644 node_modules/.bin/js-yaml create mode 100644 node_modules/.bin/js-yaml.cmd create mode 100644 node_modules/.bin/node-which create mode 100644 node_modules/.bin/node-which.cmd create mode 100644 node_modules/.bin/rimraf create mode 100644 node_modules/.bin/rimraf.cmd create mode 100644 node_modules/.bin/rollup create mode 100644 node_modules/.bin/rollup.cmd create mode 100644 node_modules/.bin/terser create mode 100644 node_modules/.bin/terser.cmd create mode 100644 node_modules/.cache/esm/.data.blob create mode 100644 node_modules/.cache/esm/.data.json rename src/functions/kern.js => node_modules/.cache/esm/01213ad5ebe913ab.js (75%) rename src/functions/char.js => node_modules/.cache/esm/07f40cd0a1979bb8.js (72%) rename src/functions/not.js => node_modules/.cache/esm/084e312bebe913ab.js (75%) rename src/functions/html.js => node_modules/.cache/esm/09072dd2ebe913ab.js (83%) rename src/functions/horizBrace.js => node_modules/.cache/esm/09e11035ebe913ab.js (62%) rename src/functions/smash.js => node_modules/.cache/esm/0c42ee30e6680135.js (77%) rename src/functions/def.js => node_modules/.cache/esm/0f15107545864523.js (96%) rename src/functions/arrow.js => node_modules/.cache/esm/1102649ea1979bb8.js (93%) rename src/functions/sizing.js => node_modules/.cache/esm/12de9d270a107660.js (83%) rename src/Parser.js => node_modules/.cache/esm/152f1360641820f0.js (95%) rename src/Lexer.js => node_modules/.cache/esm/1a027479b259b40b.js (90%) rename src/parseNode.js => node_modules/.cache/esm/2440d87371fd6955.js (71%) rename src/Settings.js => node_modules/.cache/esm/26d39376b259b40b.js (93%) rename src/constants.js => node_modules/.cache/esm/26fa0765b259b40b.js (77%) rename src/functions/multiscript.js => node_modules/.cache/esm/2c899bbbebe913ab.js (85%) rename src/Namespace.js => node_modules/.cache/esm/2f0eea18b259b40b.js (94%) rename src/functions/symbolsOp.js => node_modules/.cache/esm/37e8613ce6680135.js (83%) rename src/functions/text.js => node_modules/.cache/esm/3c644d22e6680135.js (83%) rename src/buildMathML.js => node_modules/.cache/esm/3d1acd5242504511.js (81%) rename src/functions/genfrac.js => node_modules/.cache/esm/40d7d56debe913ab.js (91%) rename src/functions/color.js => node_modules/.cache/esm/4140f73aa1979bb8.js (89%) rename src/macros.js => node_modules/.cache/esm/415a1b8154bacd54.js (98%) rename src/utils.js => node_modules/.cache/esm/47e21039263fcca5.js (95%) rename src/functions/accent.js => node_modules/.cache/esm/4b814e5ea1979bb8.js (85%) rename src/functions/ref.js => node_modules/.cache/esm/4f5b46e8e6680135.js (69%) rename src/defineMacro.js => node_modules/.cache/esm/503006f7b259b40b.js (65%) create mode 100644 node_modules/.cache/esm/50c5ce70ebe913ab.js rename src/environments/array.js => node_modules/.cache/esm/50cb3c426cec69b1.js (95%) rename src/units.js => node_modules/.cache/esm/53c7472571fd6955.js (86%) rename test/unit-test.js => node_modules/.cache/esm/54785600e4ea2425.js (99%) rename src/environments/cd.js => node_modules/.cache/esm/56d92e32a1979bb8.js (93%) rename src/functions/lap.js => node_modules/.cache/esm/5ad04edaebe913ab.js (77%) rename src/functions/cr.js => node_modules/.cache/esm/5f0badd9a1979bb8.js (67%) rename src/functions/tag.js => node_modules/.cache/esm/5fb3ab22e6680135.js (59%) rename src/stretchy.js => node_modules/.cache/esm/64a47e6271fd6955.js (91%) rename src/ParseError.js => node_modules/.cache/esm/66625645b259b40b.js (96%) rename src/functions/supsub.js => node_modules/.cache/esm/67a4a0cae6680135.js (90%) rename src/unicodeSymbols.js => node_modules/.cache/esm/6b760a9c71fd6955.js (98%) rename src/defineEnvironment.js => node_modules/.cache/esm/6bc9a89cb259b40b.js (62%) rename src/functions/sqrt.js => node_modules/.cache/esm/6c4f6f38e6680135.js (68%) create mode 100644 node_modules/.cache/esm/6cd6eb7b71fd6955.js rename src/mathMLTree.js => node_modules/.cache/esm/6f8890a171fd6955.js (85%) rename src/functions/symbolsOrd.js => node_modules/.cache/esm/708f7a05e6680135.js (86%) create mode 100644 node_modules/.cache/esm/70c30b38a1979bb8.js rename src/linebreaking.js => node_modules/.cache/esm/735ee25771fd6955.js (96%) rename src/functions/enclose.js => node_modules/.cache/esm/74e37820a1979bb8.js (87%) rename src/functions/operatorname.js => node_modules/.cache/esm/7656336bebe913ab.js (84%) rename src/functions/raise.js => node_modules/.cache/esm/77e74ac9e6680135.js (70%) rename src/functions/label.js => node_modules/.cache/esm/794974ccebe913ab.js (65%) rename src/functions/includegraphics.js => node_modules/.cache/esm/7b8368efebe913ab.js (84%) rename src/symbols.js => node_modules/.cache/esm/7d900532c766ce74.js (99%) rename src/parseTree.js => node_modules/.cache/esm/8047d9c771fd6955.js (82%) rename src/Token.js => node_modules/.cache/esm/84937861b259b40b.js (87%) rename src/functions/delimsizing.js => node_modules/.cache/esm/871d40d7a1979bb8.js (90%) rename src/functions/rule.js => node_modules/.cache/esm/893c2beae6680135.js (78%) rename src/variant.js => node_modules/.cache/esm/8b6242c2263fcca5.js (93%) rename src/functions/overline.js => node_modules/.cache/esm/8be833dcebe913ab.js (68%) rename src/functions/environment.js => node_modules/.cache/esm/8c88a678a1979bb8.js (80%) rename src/functions/symbolsSpacing.js => node_modules/.cache/esm/9239d7f1e6680135.js (83%) rename src/domTree.js => node_modules/.cache/esm/93a664b9b259b40b.js (93%) rename src/functions/mclass.js => node_modules/.cache/esm/a17b3cdc153a61dc.js (90%) rename src/functions/envTag.js => node_modules/.cache/esm/aaaebdd8a1979bb8.js (73%) rename src/functions/verb.js => node_modules/.cache/esm/ae2a02a071fd6955.js (76%) rename src/SourceLocation.js => node_modules/.cache/esm/aeca4994b259b40b.js (91%) rename src/defineFunction.js => node_modules/.cache/esm/af822f39b259b40b.js (74%) rename src/functions/math.js => node_modules/.cache/esm/afe3434febe913ab.js (80%) rename src/functions/pmb.js => node_modules/.cache/esm/b194f146e6680135.js (67%) rename src/unicodeScripts.js => node_modules/.cache/esm/b83e2d2371fd6955.js (94%) rename src/functions/font.js => node_modules/.cache/esm/c0b56ffba1979bb8.js (90%) rename src/tree.js => node_modules/.cache/esm/c483b32671fd6955.js (88%) rename src/MacroExpander.js => node_modules/.cache/esm/ca9563c6b259b40b.js (94%) rename src/functions/href.js => node_modules/.cache/esm/cb739c37ebe913ab.js (75%) rename src/unicodeAccents.js => node_modules/.cache/esm/cdc6a6b471fd6955.js (80%) rename src/functions/underline.js => node_modules/.cache/esm/d6e0df4671fd6955.js (68%) rename src/functions/accentunder.js => node_modules/.cache/esm/daae4870a1979bb8.js (65%) rename src/replace.js => node_modules/.cache/esm/dbf986fb71fd6955.js (97%) rename src/functions/tip.js => node_modules/.cache/esm/ddf57047e6680135.js (84%) rename src/functions/cancelto.js => node_modules/.cache/esm/df1639a1a1979bb8.js (73%) create mode 100644 node_modules/.cache/esm/e0e79d5bb259b40b.js rename src/functions/relax.js => node_modules/.cache/esm/e81a0221e6680135.js (65%) rename src/functions/op.js => node_modules/.cache/esm/e96fb62bebe913ab.js (91%) rename src/functions/styling.js => node_modules/.cache/esm/f54a4174e6680135.js (84%) rename src/functions/mathchoice.js => node_modules/.cache/esm/f6323132ebe913ab.js (72%) rename src/functions/phantom.js => node_modules/.cache/esm/ff8bd730e6680135.js (82%) create mode 100644 node_modules/.yarn-integrity create mode 100644 node_modules/@eslint/eslintrc/LICENSE create mode 100644 node_modules/@eslint/eslintrc/README.md create mode 100644 node_modules/@eslint/eslintrc/conf/config-schema.js create mode 100644 node_modules/@eslint/eslintrc/conf/environments.js create mode 100644 node_modules/@eslint/eslintrc/conf/eslint-all.cjs create mode 100644 node_modules/@eslint/eslintrc/conf/eslint-recommended.cjs create mode 100644 node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs create mode 100644 node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map create mode 100644 node_modules/@eslint/eslintrc/dist/eslintrc.cjs create mode 100644 node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map create mode 100644 node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array-factory.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/config-array.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/index.js create mode 100644 node_modules/@eslint/eslintrc/lib/config-array/override-tester.js create mode 100644 node_modules/@eslint/eslintrc/lib/flat-compat.js create mode 100644 node_modules/@eslint/eslintrc/lib/index-universal.js create mode 100644 node_modules/@eslint/eslintrc/lib/index.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/ajv.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/config-ops.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/config-validator.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/naming.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js create mode 100644 node_modules/@eslint/eslintrc/lib/shared/types.js create mode 100644 node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml create mode 100644 node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml.cmd create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/CHANGELOG.md create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/LICENSE-MIT create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/README.md create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/index.d.ts create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/index.js create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/legacy.js create mode 100644 node_modules/@eslint/eslintrc/node_modules/ignore/package.json create mode 100644 node_modules/@eslint/eslintrc/node_modules/import-fresh/index.d.ts create mode 100644 node_modules/@eslint/eslintrc/node_modules/import-fresh/index.js create mode 100644 node_modules/@eslint/eslintrc/node_modules/import-fresh/license create mode 100644 node_modules/@eslint/eslintrc/node_modules/import-fresh/package.json create mode 100644 node_modules/@eslint/eslintrc/node_modules/import-fresh/readme.md create mode 100644 node_modules/@eslint/eslintrc/package.json create mode 100644 node_modules/@eslint/eslintrc/universal.js create mode 100644 node_modules/@humanwhocodes/config-array/CHANGELOG.md create mode 100644 node_modules/@humanwhocodes/config-array/LICENSE create mode 100644 node_modules/@humanwhocodes/config-array/README.md create mode 100644 node_modules/@humanwhocodes/config-array/api.js create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/CHANGELOG.md create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/LICENSE create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/README.md create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/dist/debug.js create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/package.json create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/src/browser.js create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/src/common.js create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/src/index.js create mode 100644 node_modules/@humanwhocodes/config-array/node_modules/debug/src/node.js create mode 100644 node_modules/@humanwhocodes/config-array/package.json create mode 100644 node_modules/@humanwhocodes/object-schema/.eslintrc.js create mode 100644 node_modules/@humanwhocodes/object-schema/.github/workflows/nodejs-test.yml create mode 100644 node_modules/@humanwhocodes/object-schema/.github/workflows/release-please.yml create mode 100644 node_modules/@humanwhocodes/object-schema/CHANGELOG.md create mode 100644 node_modules/@humanwhocodes/object-schema/LICENSE create mode 100644 node_modules/@humanwhocodes/object-schema/README.md create mode 100644 node_modules/@humanwhocodes/object-schema/package.json create mode 100644 node_modules/@humanwhocodes/object-schema/src/index.js create mode 100644 node_modules/@humanwhocodes/object-schema/src/merge-strategy.js create mode 100644 node_modules/@humanwhocodes/object-schema/src/object-schema.js create mode 100644 node_modules/@humanwhocodes/object-schema/src/validation-strategy.js create mode 100644 node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js create mode 100644 node_modules/@humanwhocodes/object-schema/tests/object-schema.js create mode 100644 node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js create mode 100644 node_modules/acorn-jsx/LICENSE create mode 100644 node_modules/acorn-jsx/README.md create mode 100644 node_modules/acorn-jsx/index.d.ts create mode 100644 node_modules/acorn-jsx/index.js create mode 100644 node_modules/acorn-jsx/node_modules/.bin/acorn create mode 100644 node_modules/acorn-jsx/node_modules/.bin/acorn.cmd create mode 100644 node_modules/acorn-jsx/package.json create mode 100644 node_modules/acorn-jsx/xhtml.js create mode 100644 node_modules/acorn/CHANGELOG.md create mode 100644 node_modules/acorn/LICENSE create mode 100644 node_modules/acorn/README.md create mode 100644 node_modules/acorn/bin/acorn create mode 100644 node_modules/acorn/dist/acorn.d.ts create mode 100644 node_modules/acorn/dist/acorn.js create mode 100644 node_modules/acorn/dist/acorn.mjs create mode 100644 node_modules/acorn/dist/acorn.mjs.d.ts create mode 100644 node_modules/acorn/dist/bin.js create mode 100644 node_modules/acorn/package.json create mode 100644 node_modules/ajv/.tonic_example.js create mode 100644 node_modules/ajv/LICENSE create mode 100644 node_modules/ajv/README.md create mode 100644 node_modules/ajv/dist/ajv.bundle.js create mode 100644 node_modules/ajv/dist/ajv.min.js create mode 100644 node_modules/ajv/dist/ajv.min.js.map create mode 100644 node_modules/ajv/lib/ajv.d.ts create mode 100644 node_modules/ajv/lib/ajv.js create mode 100644 node_modules/ajv/lib/cache.js create mode 100644 node_modules/ajv/lib/compile/async.js create mode 100644 node_modules/ajv/lib/compile/equal.js create mode 100644 node_modules/ajv/lib/compile/error_classes.js create mode 100644 node_modules/ajv/lib/compile/formats.js create mode 100644 node_modules/ajv/lib/compile/index.js create mode 100644 node_modules/ajv/lib/compile/resolve.js create mode 100644 node_modules/ajv/lib/compile/rules.js create mode 100644 node_modules/ajv/lib/compile/schema_obj.js create mode 100644 node_modules/ajv/lib/compile/ucs2length.js create mode 100644 node_modules/ajv/lib/compile/util.js create mode 100644 node_modules/ajv/lib/data.js create mode 100644 node_modules/ajv/lib/definition_schema.js create mode 100644 node_modules/ajv/lib/dot/_limit.jst create mode 100644 node_modules/ajv/lib/dot/_limitItems.jst create mode 100644 node_modules/ajv/lib/dot/_limitLength.jst create mode 100644 node_modules/ajv/lib/dot/_limitProperties.jst create mode 100644 node_modules/ajv/lib/dot/allOf.jst create mode 100644 node_modules/ajv/lib/dot/anyOf.jst create mode 100644 node_modules/ajv/lib/dot/coerce.def create mode 100644 node_modules/ajv/lib/dot/comment.jst create mode 100644 node_modules/ajv/lib/dot/const.jst create mode 100644 node_modules/ajv/lib/dot/contains.jst create mode 100644 node_modules/ajv/lib/dot/custom.jst create mode 100644 node_modules/ajv/lib/dot/defaults.def create mode 100644 node_modules/ajv/lib/dot/definitions.def create mode 100644 node_modules/ajv/lib/dot/dependencies.jst create mode 100644 node_modules/ajv/lib/dot/enum.jst create mode 100644 node_modules/ajv/lib/dot/errors.def create mode 100644 node_modules/ajv/lib/dot/format.jst create mode 100644 node_modules/ajv/lib/dot/if.jst create mode 100644 node_modules/ajv/lib/dot/items.jst create mode 100644 node_modules/ajv/lib/dot/missing.def create mode 100644 node_modules/ajv/lib/dot/multipleOf.jst create mode 100644 node_modules/ajv/lib/dot/not.jst create mode 100644 node_modules/ajv/lib/dot/oneOf.jst create mode 100644 node_modules/ajv/lib/dot/pattern.jst create mode 100644 node_modules/ajv/lib/dot/properties.jst create mode 100644 node_modules/ajv/lib/dot/propertyNames.jst create mode 100644 node_modules/ajv/lib/dot/ref.jst create mode 100644 node_modules/ajv/lib/dot/required.jst create mode 100644 node_modules/ajv/lib/dot/uniqueItems.jst create mode 100644 node_modules/ajv/lib/dot/validate.jst create mode 100644 node_modules/ajv/lib/dotjs/README.md create mode 100644 node_modules/ajv/lib/dotjs/_limit.js create mode 100644 node_modules/ajv/lib/dotjs/_limitItems.js create mode 100644 node_modules/ajv/lib/dotjs/_limitLength.js create mode 100644 node_modules/ajv/lib/dotjs/_limitProperties.js create mode 100644 node_modules/ajv/lib/dotjs/allOf.js create mode 100644 node_modules/ajv/lib/dotjs/anyOf.js create mode 100644 node_modules/ajv/lib/dotjs/comment.js create mode 100644 node_modules/ajv/lib/dotjs/const.js create mode 100644 node_modules/ajv/lib/dotjs/contains.js create mode 100644 node_modules/ajv/lib/dotjs/custom.js create mode 100644 node_modules/ajv/lib/dotjs/dependencies.js create mode 100644 node_modules/ajv/lib/dotjs/enum.js create mode 100644 node_modules/ajv/lib/dotjs/format.js create mode 100644 node_modules/ajv/lib/dotjs/if.js create mode 100644 node_modules/ajv/lib/dotjs/index.js create mode 100644 node_modules/ajv/lib/dotjs/items.js create mode 100644 node_modules/ajv/lib/dotjs/multipleOf.js create mode 100644 node_modules/ajv/lib/dotjs/not.js create mode 100644 node_modules/ajv/lib/dotjs/oneOf.js create mode 100644 node_modules/ajv/lib/dotjs/pattern.js create mode 100644 node_modules/ajv/lib/dotjs/properties.js create mode 100644 node_modules/ajv/lib/dotjs/propertyNames.js create mode 100644 node_modules/ajv/lib/dotjs/ref.js create mode 100644 node_modules/ajv/lib/dotjs/required.js create mode 100644 node_modules/ajv/lib/dotjs/uniqueItems.js create mode 100644 node_modules/ajv/lib/dotjs/validate.js create mode 100644 node_modules/ajv/lib/keyword.js create mode 100644 node_modules/ajv/lib/refs/data.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-04.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-06.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-07.json create mode 100644 node_modules/ajv/lib/refs/json-schema-secure.json create mode 100644 node_modules/ajv/package.json create mode 100644 node_modules/ajv/scripts/.eslintrc.yml create mode 100644 node_modules/ajv/scripts/bundle.js create mode 100644 node_modules/ajv/scripts/compile-dots.js create mode 100644 node_modules/ajv/scripts/info create mode 100644 node_modules/ajv/scripts/prepare-tests create mode 100644 node_modules/ajv/scripts/publish-built-version create mode 100644 node_modules/ajv/scripts/travis-gh-pages create mode 100644 node_modules/ansi-regex/index.d.ts create mode 100644 node_modules/ansi-regex/index.js create mode 100644 node_modules/ansi-regex/license create mode 100644 node_modules/ansi-regex/package.json create mode 100644 node_modules/ansi-regex/readme.md create mode 100644 node_modules/ansi-styles/index.d.ts create mode 100644 node_modules/ansi-styles/index.js create mode 100644 node_modules/ansi-styles/license create mode 100644 node_modules/ansi-styles/package.json create mode 100644 node_modules/ansi-styles/readme.md create mode 100644 node_modules/argparse/CHANGELOG.md create mode 100644 node_modules/argparse/LICENSE create mode 100644 node_modules/argparse/README.md create mode 100644 node_modules/argparse/argparse.js create mode 100644 node_modules/argparse/lib/sub.js create mode 100644 node_modules/argparse/lib/textwrap.js create mode 100644 node_modules/argparse/package.json create mode 100644 node_modules/balanced-match/.npmignore create mode 100644 node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/balanced-match/README.md create mode 100644 node_modules/balanced-match/index.js create mode 100644 node_modules/balanced-match/package.json create mode 100644 node_modules/brace-expansion/LICENSE create mode 100644 node_modules/brace-expansion/README.md create mode 100644 node_modules/brace-expansion/index.js create mode 100644 node_modules/brace-expansion/package.json create mode 100644 node_modules/buffer-from/LICENSE create mode 100644 node_modules/buffer-from/index.js create mode 100644 node_modules/buffer-from/package.json create mode 100644 node_modules/buffer-from/readme.md create mode 100644 node_modules/callsites/index.d.ts create mode 100644 node_modules/callsites/index.js create mode 100644 node_modules/callsites/license create mode 100644 node_modules/callsites/package.json create mode 100644 node_modules/callsites/readme.md create mode 100644 node_modules/chalk/index.d.ts create mode 100644 node_modules/chalk/license create mode 100644 node_modules/chalk/package.json create mode 100644 node_modules/chalk/readme.md create mode 100644 node_modules/chalk/source/index.js create mode 100644 node_modules/chalk/source/templates.js create mode 100644 node_modules/chalk/source/util.js create mode 100644 node_modules/color-convert/CHANGELOG.md create mode 100644 node_modules/color-convert/LICENSE create mode 100644 node_modules/color-convert/README.md create mode 100644 node_modules/color-convert/conversions.js create mode 100644 node_modules/color-convert/index.js create mode 100644 node_modules/color-convert/package.json create mode 100644 node_modules/color-convert/route.js create mode 100644 node_modules/color-name/LICENSE create mode 100644 node_modules/color-name/README.md create mode 100644 node_modules/color-name/index.js create mode 100644 node_modules/color-name/package.json create mode 100644 node_modules/commander/CHANGELOG.md create mode 100644 node_modules/commander/LICENSE create mode 100644 node_modules/commander/Readme.md create mode 100644 node_modules/commander/index.js create mode 100644 node_modules/commander/package.json create mode 100644 node_modules/commander/typings/index.d.ts create mode 100644 node_modules/concat-map/.travis.yml create mode 100644 node_modules/concat-map/LICENSE create mode 100644 node_modules/concat-map/README.markdown create mode 100644 node_modules/concat-map/example/map.js create mode 100644 node_modules/concat-map/index.js create mode 100644 node_modules/concat-map/package.json create mode 100644 node_modules/concat-map/test/map.js create mode 100644 node_modules/cross-spawn/CHANGELOG.md create mode 100644 node_modules/cross-spawn/LICENSE create mode 100644 node_modules/cross-spawn/README.md create mode 100644 node_modules/cross-spawn/index.js create mode 100644 node_modules/cross-spawn/lib/enoent.js create mode 100644 node_modules/cross-spawn/lib/parse.js create mode 100644 node_modules/cross-spawn/lib/util/escape.js create mode 100644 node_modules/cross-spawn/lib/util/readShebang.js create mode 100644 node_modules/cross-spawn/lib/util/resolveCommand.js create mode 100644 node_modules/cross-spawn/node_modules/.bin/node-which create mode 100644 node_modules/cross-spawn/node_modules/.bin/node-which.cmd create mode 100644 node_modules/cross-spawn/package.json create mode 100644 node_modules/debug/LICENSE create mode 100644 node_modules/debug/README.md create mode 100644 node_modules/debug/package.json create mode 100644 node_modules/debug/src/browser.js create mode 100644 node_modules/debug/src/common.js create mode 100644 node_modules/debug/src/index.js create mode 100644 node_modules/debug/src/node.js rename .gitignore => node_modules/deep-is/.npmignore (100%) create mode 100644 node_modules/deep-is/.travis.yml create mode 100644 node_modules/deep-is/LICENSE create mode 100644 node_modules/deep-is/README.markdown create mode 100644 node_modules/deep-is/example/cmp.js create mode 100644 node_modules/deep-is/index.js create mode 100644 node_modules/deep-is/package.json create mode 100644 node_modules/deep-is/test/NaN.js create mode 100644 node_modules/deep-is/test/cmp.js create mode 100644 node_modules/deep-is/test/neg-vs-pos-0.js create mode 100644 node_modules/doctrine/CHANGELOG.md create mode 100644 node_modules/doctrine/LICENSE create mode 100644 node_modules/doctrine/LICENSE.closure-compiler create mode 100644 node_modules/doctrine/LICENSE.esprima create mode 100644 node_modules/doctrine/README.md create mode 100644 node_modules/doctrine/lib/doctrine.js create mode 100644 node_modules/doctrine/lib/typed.js create mode 100644 node_modules/doctrine/lib/utility.js create mode 100644 node_modules/doctrine/package.json create mode 100644 node_modules/escape-string-regexp/index.d.ts create mode 100644 node_modules/escape-string-regexp/index.js create mode 100644 node_modules/escape-string-regexp/license create mode 100644 node_modules/escape-string-regexp/package.json create mode 100644 node_modules/escape-string-regexp/readme.md create mode 100644 node_modules/eslint-scope/LICENSE create mode 100644 node_modules/eslint-scope/README.md create mode 100644 node_modules/eslint-scope/dist/eslint-scope.cjs create mode 100644 node_modules/eslint-scope/lib/definition.js create mode 100644 node_modules/eslint-scope/lib/index.js create mode 100644 node_modules/eslint-scope/lib/pattern-visitor.js create mode 100644 node_modules/eslint-scope/lib/reference.js create mode 100644 node_modules/eslint-scope/lib/referencer.js create mode 100644 node_modules/eslint-scope/lib/scope-manager.js create mode 100644 node_modules/eslint-scope/lib/scope.js create mode 100644 node_modules/eslint-scope/lib/variable.js create mode 100644 node_modules/eslint-scope/lib/version.js create mode 100644 node_modules/eslint-scope/package.json create mode 100644 node_modules/eslint-utils/LICENSE create mode 100644 node_modules/eslint-utils/README.md create mode 100644 node_modules/eslint-utils/index.js create mode 100644 node_modules/eslint-utils/index.js.map create mode 100644 node_modules/eslint-utils/index.mjs create mode 100644 node_modules/eslint-utils/index.mjs.map create mode 100644 node_modules/eslint-utils/node_modules/.bin/eslint create mode 100644 node_modules/eslint-utils/node_modules/.bin/eslint.cmd create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/CHANGELOG.md create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/LICENSE create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/README.md create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/index.js create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/visitor-keys.json create mode 100644 node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json create mode 100644 node_modules/eslint-utils/package.json create mode 100644 node_modules/eslint-visitor-keys/LICENSE create mode 100644 node_modules/eslint-visitor-keys/README.md create mode 100644 node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs create mode 100644 node_modules/eslint-visitor-keys/lib/index.js create mode 100644 node_modules/eslint-visitor-keys/lib/visitor-keys.js create mode 100644 node_modules/eslint-visitor-keys/package.json create mode 100644 node_modules/eslint/LICENSE create mode 100644 node_modules/eslint/README.md create mode 100644 node_modules/eslint/bin/eslint.js create mode 100644 node_modules/eslint/conf/config-schema.js create mode 100644 node_modules/eslint/conf/default-cli-options.js create mode 100644 node_modules/eslint/conf/eslint-all.js create mode 100644 node_modules/eslint/conf/eslint-recommended.js create mode 100644 node_modules/eslint/conf/globals.js create mode 100644 node_modules/eslint/conf/replacements.json create mode 100644 node_modules/eslint/conf/rule-type-list.json create mode 100644 node_modules/eslint/lib/api.js create mode 100644 node_modules/eslint/lib/cli-engine/cli-engine.js create mode 100644 node_modules/eslint/lib/cli-engine/file-enumerator.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/checkstyle.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/compact.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/html.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/json.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/junit.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/stylish.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/tap.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/unix.js create mode 100644 node_modules/eslint/lib/cli-engine/formatters/visualstudio.js create mode 100644 node_modules/eslint/lib/cli-engine/hash.js create mode 100644 node_modules/eslint/lib/cli-engine/index.js create mode 100644 node_modules/eslint/lib/cli-engine/lint-result-cache.js create mode 100644 node_modules/eslint/lib/cli-engine/load-rules.js create mode 100644 node_modules/eslint/lib/cli-engine/xml-escape.js create mode 100644 node_modules/eslint/lib/cli.js create mode 100644 node_modules/eslint/lib/config/default-config.js create mode 100644 node_modules/eslint/lib/config/flat-config-array.js create mode 100644 node_modules/eslint/lib/config/flat-config-helpers.js create mode 100644 node_modules/eslint/lib/config/flat-config-schema.js create mode 100644 node_modules/eslint/lib/config/rule-validator.js create mode 100644 node_modules/eslint/lib/eslint/eslint.js create mode 100644 node_modules/eslint/lib/eslint/index.js create mode 100644 node_modules/eslint/lib/linter/apply-disable-directives.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/code-path.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/fork-context.js create mode 100644 node_modules/eslint/lib/linter/code-path-analysis/id-generator.js create mode 100644 node_modules/eslint/lib/linter/config-comment-parser.js create mode 100644 node_modules/eslint/lib/linter/index.js create mode 100644 node_modules/eslint/lib/linter/interpolate.js create mode 100644 node_modules/eslint/lib/linter/linter.js create mode 100644 node_modules/eslint/lib/linter/node-event-generator.js create mode 100644 node_modules/eslint/lib/linter/report-translator.js create mode 100644 node_modules/eslint/lib/linter/rule-fixer.js create mode 100644 node_modules/eslint/lib/linter/rules.js create mode 100644 node_modules/eslint/lib/linter/safe-emitter.js create mode 100644 node_modules/eslint/lib/linter/source-code-fixer.js create mode 100644 node_modules/eslint/lib/linter/timing.js create mode 100644 node_modules/eslint/lib/options.js create mode 100644 node_modules/eslint/lib/rule-tester/index.js create mode 100644 node_modules/eslint/lib/rule-tester/rule-tester.js create mode 100644 node_modules/eslint/lib/rules/accessor-pairs.js create mode 100644 node_modules/eslint/lib/rules/array-bracket-newline.js create mode 100644 node_modules/eslint/lib/rules/array-bracket-spacing.js create mode 100644 node_modules/eslint/lib/rules/array-callback-return.js create mode 100644 node_modules/eslint/lib/rules/array-element-newline.js create mode 100644 node_modules/eslint/lib/rules/arrow-body-style.js create mode 100644 node_modules/eslint/lib/rules/arrow-parens.js create mode 100644 node_modules/eslint/lib/rules/arrow-spacing.js create mode 100644 node_modules/eslint/lib/rules/block-scoped-var.js create mode 100644 node_modules/eslint/lib/rules/block-spacing.js create mode 100644 node_modules/eslint/lib/rules/brace-style.js create mode 100644 node_modules/eslint/lib/rules/callback-return.js create mode 100644 node_modules/eslint/lib/rules/camelcase.js create mode 100644 node_modules/eslint/lib/rules/capitalized-comments.js create mode 100644 node_modules/eslint/lib/rules/class-methods-use-this.js create mode 100644 node_modules/eslint/lib/rules/comma-dangle.js create mode 100644 node_modules/eslint/lib/rules/comma-spacing.js create mode 100644 node_modules/eslint/lib/rules/comma-style.js create mode 100644 node_modules/eslint/lib/rules/complexity.js create mode 100644 node_modules/eslint/lib/rules/computed-property-spacing.js create mode 100644 node_modules/eslint/lib/rules/consistent-return.js create mode 100644 node_modules/eslint/lib/rules/consistent-this.js create mode 100644 node_modules/eslint/lib/rules/constructor-super.js create mode 100644 node_modules/eslint/lib/rules/curly.js create mode 100644 node_modules/eslint/lib/rules/default-case-last.js create mode 100644 node_modules/eslint/lib/rules/default-case.js create mode 100644 node_modules/eslint/lib/rules/default-param-last.js create mode 100644 node_modules/eslint/lib/rules/dot-location.js create mode 100644 node_modules/eslint/lib/rules/dot-notation.js create mode 100644 node_modules/eslint/lib/rules/eol-last.js create mode 100644 node_modules/eslint/lib/rules/eqeqeq.js create mode 100644 node_modules/eslint/lib/rules/for-direction.js create mode 100644 node_modules/eslint/lib/rules/func-call-spacing.js create mode 100644 node_modules/eslint/lib/rules/func-name-matching.js create mode 100644 node_modules/eslint/lib/rules/func-names.js create mode 100644 node_modules/eslint/lib/rules/func-style.js create mode 100644 node_modules/eslint/lib/rules/function-call-argument-newline.js create mode 100644 node_modules/eslint/lib/rules/function-paren-newline.js create mode 100644 node_modules/eslint/lib/rules/generator-star-spacing.js create mode 100644 node_modules/eslint/lib/rules/getter-return.js create mode 100644 node_modules/eslint/lib/rules/global-require.js create mode 100644 node_modules/eslint/lib/rules/grouped-accessor-pairs.js create mode 100644 node_modules/eslint/lib/rules/guard-for-in.js create mode 100644 node_modules/eslint/lib/rules/handle-callback-err.js create mode 100644 node_modules/eslint/lib/rules/id-blacklist.js create mode 100644 node_modules/eslint/lib/rules/id-denylist.js create mode 100644 node_modules/eslint/lib/rules/id-length.js create mode 100644 node_modules/eslint/lib/rules/id-match.js create mode 100644 node_modules/eslint/lib/rules/implicit-arrow-linebreak.js create mode 100644 node_modules/eslint/lib/rules/indent-legacy.js create mode 100644 node_modules/eslint/lib/rules/indent.js create mode 100644 node_modules/eslint/lib/rules/index.js create mode 100644 node_modules/eslint/lib/rules/init-declarations.js create mode 100644 node_modules/eslint/lib/rules/jsx-quotes.js create mode 100644 node_modules/eslint/lib/rules/key-spacing.js create mode 100644 node_modules/eslint/lib/rules/keyword-spacing.js create mode 100644 node_modules/eslint/lib/rules/line-comment-position.js create mode 100644 node_modules/eslint/lib/rules/linebreak-style.js create mode 100644 node_modules/eslint/lib/rules/lines-around-comment.js create mode 100644 node_modules/eslint/lib/rules/lines-around-directive.js create mode 100644 node_modules/eslint/lib/rules/lines-between-class-members.js create mode 100644 node_modules/eslint/lib/rules/max-classes-per-file.js create mode 100644 node_modules/eslint/lib/rules/max-depth.js create mode 100644 node_modules/eslint/lib/rules/max-len.js create mode 100644 node_modules/eslint/lib/rules/max-lines-per-function.js create mode 100644 node_modules/eslint/lib/rules/max-lines.js create mode 100644 node_modules/eslint/lib/rules/max-nested-callbacks.js create mode 100644 node_modules/eslint/lib/rules/max-params.js create mode 100644 node_modules/eslint/lib/rules/max-statements-per-line.js create mode 100644 node_modules/eslint/lib/rules/max-statements.js create mode 100644 node_modules/eslint/lib/rules/multiline-comment-style.js create mode 100644 node_modules/eslint/lib/rules/multiline-ternary.js create mode 100644 node_modules/eslint/lib/rules/new-cap.js create mode 100644 node_modules/eslint/lib/rules/new-parens.js create mode 100644 node_modules/eslint/lib/rules/newline-after-var.js create mode 100644 node_modules/eslint/lib/rules/newline-before-return.js create mode 100644 node_modules/eslint/lib/rules/newline-per-chained-call.js create mode 100644 node_modules/eslint/lib/rules/no-alert.js create mode 100644 node_modules/eslint/lib/rules/no-array-constructor.js create mode 100644 node_modules/eslint/lib/rules/no-async-promise-executor.js create mode 100644 node_modules/eslint/lib/rules/no-await-in-loop.js create mode 100644 node_modules/eslint/lib/rules/no-bitwise.js create mode 100644 node_modules/eslint/lib/rules/no-buffer-constructor.js create mode 100644 node_modules/eslint/lib/rules/no-caller.js create mode 100644 node_modules/eslint/lib/rules/no-case-declarations.js create mode 100644 node_modules/eslint/lib/rules/no-catch-shadow.js create mode 100644 node_modules/eslint/lib/rules/no-class-assign.js create mode 100644 node_modules/eslint/lib/rules/no-compare-neg-zero.js create mode 100644 node_modules/eslint/lib/rules/no-cond-assign.js create mode 100644 node_modules/eslint/lib/rules/no-confusing-arrow.js create mode 100644 node_modules/eslint/lib/rules/no-console.js create mode 100644 node_modules/eslint/lib/rules/no-const-assign.js create mode 100644 node_modules/eslint/lib/rules/no-constant-condition.js create mode 100644 node_modules/eslint/lib/rules/no-constructor-return.js create mode 100644 node_modules/eslint/lib/rules/no-continue.js create mode 100644 node_modules/eslint/lib/rules/no-control-regex.js create mode 100644 node_modules/eslint/lib/rules/no-debugger.js create mode 100644 node_modules/eslint/lib/rules/no-delete-var.js create mode 100644 node_modules/eslint/lib/rules/no-div-regex.js create mode 100644 node_modules/eslint/lib/rules/no-dupe-args.js create mode 100644 node_modules/eslint/lib/rules/no-dupe-class-members.js create mode 100644 node_modules/eslint/lib/rules/no-dupe-else-if.js create mode 100644 node_modules/eslint/lib/rules/no-dupe-keys.js create mode 100644 node_modules/eslint/lib/rules/no-duplicate-case.js create mode 100644 node_modules/eslint/lib/rules/no-duplicate-imports.js create mode 100644 node_modules/eslint/lib/rules/no-else-return.js create mode 100644 node_modules/eslint/lib/rules/no-empty-character-class.js create mode 100644 node_modules/eslint/lib/rules/no-empty-function.js create mode 100644 node_modules/eslint/lib/rules/no-empty-pattern.js create mode 100644 node_modules/eslint/lib/rules/no-empty.js create mode 100644 node_modules/eslint/lib/rules/no-eq-null.js create mode 100644 node_modules/eslint/lib/rules/no-eval.js create mode 100644 node_modules/eslint/lib/rules/no-ex-assign.js create mode 100644 node_modules/eslint/lib/rules/no-extend-native.js create mode 100644 node_modules/eslint/lib/rules/no-extra-bind.js create mode 100644 node_modules/eslint/lib/rules/no-extra-boolean-cast.js create mode 100644 node_modules/eslint/lib/rules/no-extra-label.js create mode 100644 node_modules/eslint/lib/rules/no-extra-parens.js create mode 100644 node_modules/eslint/lib/rules/no-extra-semi.js create mode 100644 node_modules/eslint/lib/rules/no-fallthrough.js create mode 100644 node_modules/eslint/lib/rules/no-floating-decimal.js create mode 100644 node_modules/eslint/lib/rules/no-func-assign.js create mode 100644 node_modules/eslint/lib/rules/no-global-assign.js create mode 100644 node_modules/eslint/lib/rules/no-implicit-coercion.js create mode 100644 node_modules/eslint/lib/rules/no-implicit-globals.js create mode 100644 node_modules/eslint/lib/rules/no-implied-eval.js create mode 100644 node_modules/eslint/lib/rules/no-import-assign.js create mode 100644 node_modules/eslint/lib/rules/no-inline-comments.js create mode 100644 node_modules/eslint/lib/rules/no-inner-declarations.js create mode 100644 node_modules/eslint/lib/rules/no-invalid-regexp.js create mode 100644 node_modules/eslint/lib/rules/no-invalid-this.js create mode 100644 node_modules/eslint/lib/rules/no-irregular-whitespace.js create mode 100644 node_modules/eslint/lib/rules/no-iterator.js create mode 100644 node_modules/eslint/lib/rules/no-label-var.js create mode 100644 node_modules/eslint/lib/rules/no-labels.js create mode 100644 node_modules/eslint/lib/rules/no-lone-blocks.js create mode 100644 node_modules/eslint/lib/rules/no-lonely-if.js create mode 100644 node_modules/eslint/lib/rules/no-loop-func.js create mode 100644 node_modules/eslint/lib/rules/no-loss-of-precision.js create mode 100644 node_modules/eslint/lib/rules/no-magic-numbers.js create mode 100644 node_modules/eslint/lib/rules/no-misleading-character-class.js create mode 100644 node_modules/eslint/lib/rules/no-mixed-operators.js create mode 100644 node_modules/eslint/lib/rules/no-mixed-requires.js create mode 100644 node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js create mode 100644 node_modules/eslint/lib/rules/no-multi-assign.js create mode 100644 node_modules/eslint/lib/rules/no-multi-spaces.js create mode 100644 node_modules/eslint/lib/rules/no-multi-str.js create mode 100644 node_modules/eslint/lib/rules/no-multiple-empty-lines.js create mode 100644 node_modules/eslint/lib/rules/no-native-reassign.js create mode 100644 node_modules/eslint/lib/rules/no-negated-condition.js create mode 100644 node_modules/eslint/lib/rules/no-negated-in-lhs.js create mode 100644 node_modules/eslint/lib/rules/no-nested-ternary.js create mode 100644 node_modules/eslint/lib/rules/no-new-func.js create mode 100644 node_modules/eslint/lib/rules/no-new-object.js create mode 100644 node_modules/eslint/lib/rules/no-new-require.js create mode 100644 node_modules/eslint/lib/rules/no-new-symbol.js create mode 100644 node_modules/eslint/lib/rules/no-new-wrappers.js create mode 100644 node_modules/eslint/lib/rules/no-new.js create mode 100644 node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js create mode 100644 node_modules/eslint/lib/rules/no-obj-calls.js create mode 100644 node_modules/eslint/lib/rules/no-octal-escape.js create mode 100644 node_modules/eslint/lib/rules/no-octal.js create mode 100644 node_modules/eslint/lib/rules/no-param-reassign.js create mode 100644 node_modules/eslint/lib/rules/no-path-concat.js create mode 100644 node_modules/eslint/lib/rules/no-plusplus.js create mode 100644 node_modules/eslint/lib/rules/no-process-env.js create mode 100644 node_modules/eslint/lib/rules/no-process-exit.js create mode 100644 node_modules/eslint/lib/rules/no-promise-executor-return.js create mode 100644 node_modules/eslint/lib/rules/no-proto.js create mode 100644 node_modules/eslint/lib/rules/no-prototype-builtins.js create mode 100644 node_modules/eslint/lib/rules/no-redeclare.js create mode 100644 node_modules/eslint/lib/rules/no-regex-spaces.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-exports.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-globals.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-imports.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-modules.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-properties.js create mode 100644 node_modules/eslint/lib/rules/no-restricted-syntax.js create mode 100644 node_modules/eslint/lib/rules/no-return-assign.js create mode 100644 node_modules/eslint/lib/rules/no-return-await.js create mode 100644 node_modules/eslint/lib/rules/no-script-url.js create mode 100644 node_modules/eslint/lib/rules/no-self-assign.js create mode 100644 node_modules/eslint/lib/rules/no-self-compare.js create mode 100644 node_modules/eslint/lib/rules/no-sequences.js create mode 100644 node_modules/eslint/lib/rules/no-setter-return.js create mode 100644 node_modules/eslint/lib/rules/no-shadow-restricted-names.js create mode 100644 node_modules/eslint/lib/rules/no-shadow.js create mode 100644 node_modules/eslint/lib/rules/no-spaced-func.js create mode 100644 node_modules/eslint/lib/rules/no-sparse-arrays.js create mode 100644 node_modules/eslint/lib/rules/no-sync.js create mode 100644 node_modules/eslint/lib/rules/no-tabs.js create mode 100644 node_modules/eslint/lib/rules/no-template-curly-in-string.js create mode 100644 node_modules/eslint/lib/rules/no-ternary.js create mode 100644 node_modules/eslint/lib/rules/no-this-before-super.js create mode 100644 node_modules/eslint/lib/rules/no-throw-literal.js create mode 100644 node_modules/eslint/lib/rules/no-trailing-spaces.js create mode 100644 node_modules/eslint/lib/rules/no-undef-init.js create mode 100644 node_modules/eslint/lib/rules/no-undef.js create mode 100644 node_modules/eslint/lib/rules/no-undefined.js create mode 100644 node_modules/eslint/lib/rules/no-underscore-dangle.js create mode 100644 node_modules/eslint/lib/rules/no-unexpected-multiline.js create mode 100644 node_modules/eslint/lib/rules/no-unmodified-loop-condition.js create mode 100644 node_modules/eslint/lib/rules/no-unneeded-ternary.js create mode 100644 node_modules/eslint/lib/rules/no-unreachable-loop.js create mode 100644 node_modules/eslint/lib/rules/no-unreachable.js create mode 100644 node_modules/eslint/lib/rules/no-unsafe-finally.js create mode 100644 node_modules/eslint/lib/rules/no-unsafe-negation.js create mode 100644 node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js create mode 100644 node_modules/eslint/lib/rules/no-unused-expressions.js create mode 100644 node_modules/eslint/lib/rules/no-unused-labels.js create mode 100644 node_modules/eslint/lib/rules/no-unused-private-class-members.js create mode 100644 node_modules/eslint/lib/rules/no-unused-vars.js create mode 100644 node_modules/eslint/lib/rules/no-use-before-define.js create mode 100644 node_modules/eslint/lib/rules/no-useless-backreference.js create mode 100644 node_modules/eslint/lib/rules/no-useless-call.js create mode 100644 node_modules/eslint/lib/rules/no-useless-catch.js create mode 100644 node_modules/eslint/lib/rules/no-useless-computed-key.js create mode 100644 node_modules/eslint/lib/rules/no-useless-concat.js create mode 100644 node_modules/eslint/lib/rules/no-useless-constructor.js create mode 100644 node_modules/eslint/lib/rules/no-useless-escape.js create mode 100644 node_modules/eslint/lib/rules/no-useless-rename.js create mode 100644 node_modules/eslint/lib/rules/no-useless-return.js create mode 100644 node_modules/eslint/lib/rules/no-var.js create mode 100644 node_modules/eslint/lib/rules/no-void.js create mode 100644 node_modules/eslint/lib/rules/no-warning-comments.js create mode 100644 node_modules/eslint/lib/rules/no-whitespace-before-property.js create mode 100644 node_modules/eslint/lib/rules/no-with.js create mode 100644 node_modules/eslint/lib/rules/nonblock-statement-body-position.js create mode 100644 node_modules/eslint/lib/rules/object-curly-newline.js create mode 100644 node_modules/eslint/lib/rules/object-curly-spacing.js create mode 100644 node_modules/eslint/lib/rules/object-property-newline.js create mode 100644 node_modules/eslint/lib/rules/object-shorthand.js create mode 100644 node_modules/eslint/lib/rules/one-var-declaration-per-line.js create mode 100644 node_modules/eslint/lib/rules/one-var.js create mode 100644 node_modules/eslint/lib/rules/operator-assignment.js create mode 100644 node_modules/eslint/lib/rules/operator-linebreak.js create mode 100644 node_modules/eslint/lib/rules/padded-blocks.js create mode 100644 node_modules/eslint/lib/rules/padding-line-between-statements.js create mode 100644 node_modules/eslint/lib/rules/prefer-arrow-callback.js create mode 100644 node_modules/eslint/lib/rules/prefer-const.js create mode 100644 node_modules/eslint/lib/rules/prefer-destructuring.js create mode 100644 node_modules/eslint/lib/rules/prefer-exponentiation-operator.js create mode 100644 node_modules/eslint/lib/rules/prefer-named-capture-group.js create mode 100644 node_modules/eslint/lib/rules/prefer-numeric-literals.js create mode 100644 node_modules/eslint/lib/rules/prefer-object-has-own.js create mode 100644 node_modules/eslint/lib/rules/prefer-object-spread.js create mode 100644 node_modules/eslint/lib/rules/prefer-promise-reject-errors.js create mode 100644 node_modules/eslint/lib/rules/prefer-reflect.js create mode 100644 node_modules/eslint/lib/rules/prefer-regex-literals.js create mode 100644 node_modules/eslint/lib/rules/prefer-rest-params.js create mode 100644 node_modules/eslint/lib/rules/prefer-spread.js create mode 100644 node_modules/eslint/lib/rules/prefer-template.js create mode 100644 node_modules/eslint/lib/rules/quote-props.js create mode 100644 node_modules/eslint/lib/rules/quotes.js create mode 100644 node_modules/eslint/lib/rules/radix.js create mode 100644 node_modules/eslint/lib/rules/require-atomic-updates.js create mode 100644 node_modules/eslint/lib/rules/require-await.js create mode 100644 node_modules/eslint/lib/rules/require-jsdoc.js create mode 100644 node_modules/eslint/lib/rules/require-unicode-regexp.js create mode 100644 node_modules/eslint/lib/rules/require-yield.js create mode 100644 node_modules/eslint/lib/rules/rest-spread-spacing.js create mode 100644 node_modules/eslint/lib/rules/semi-spacing.js create mode 100644 node_modules/eslint/lib/rules/semi-style.js create mode 100644 node_modules/eslint/lib/rules/semi.js create mode 100644 node_modules/eslint/lib/rules/sort-imports.js create mode 100644 node_modules/eslint/lib/rules/sort-keys.js create mode 100644 node_modules/eslint/lib/rules/sort-vars.js create mode 100644 node_modules/eslint/lib/rules/space-before-blocks.js create mode 100644 node_modules/eslint/lib/rules/space-before-function-paren.js create mode 100644 node_modules/eslint/lib/rules/space-in-parens.js create mode 100644 node_modules/eslint/lib/rules/space-infix-ops.js create mode 100644 node_modules/eslint/lib/rules/space-unary-ops.js create mode 100644 node_modules/eslint/lib/rules/spaced-comment.js create mode 100644 node_modules/eslint/lib/rules/strict.js create mode 100644 node_modules/eslint/lib/rules/switch-colon-spacing.js create mode 100644 node_modules/eslint/lib/rules/symbol-description.js create mode 100644 node_modules/eslint/lib/rules/template-curly-spacing.js create mode 100644 node_modules/eslint/lib/rules/template-tag-spacing.js create mode 100644 node_modules/eslint/lib/rules/unicode-bom.js create mode 100644 node_modules/eslint/lib/rules/use-isnan.js create mode 100644 node_modules/eslint/lib/rules/utils/ast-utils.js create mode 100644 node_modules/eslint/lib/rules/utils/fix-tracker.js create mode 100644 node_modules/eslint/lib/rules/utils/keywords.js create mode 100644 node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js create mode 100644 node_modules/eslint/lib/rules/utils/patterns/letters.js create mode 100644 node_modules/eslint/lib/rules/utils/unicode/index.js create mode 100644 node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js create mode 100644 node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js create mode 100644 node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js create mode 100644 node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js create mode 100644 node_modules/eslint/lib/rules/valid-jsdoc.js create mode 100644 node_modules/eslint/lib/rules/valid-typeof.js create mode 100644 node_modules/eslint/lib/rules/vars-on-top.js create mode 100644 node_modules/eslint/lib/rules/wrap-iife.js create mode 100644 node_modules/eslint/lib/rules/wrap-regex.js create mode 100644 node_modules/eslint/lib/rules/yield-star-spacing.js create mode 100644 node_modules/eslint/lib/rules/yoda.js create mode 100644 node_modules/eslint/lib/shared/ajv.js create mode 100644 node_modules/eslint/lib/shared/ast-utils.js create mode 100644 node_modules/eslint/lib/shared/config-validator.js create mode 100644 node_modules/eslint/lib/shared/deprecation-warnings.js create mode 100644 node_modules/eslint/lib/shared/logging.js create mode 100644 node_modules/eslint/lib/shared/relative-module-resolver.js create mode 100644 node_modules/eslint/lib/shared/runtime-info.js create mode 100644 node_modules/eslint/lib/shared/string-utils.js create mode 100644 node_modules/eslint/lib/shared/traverser.js create mode 100644 node_modules/eslint/lib/shared/types.js create mode 100644 node_modules/eslint/lib/source-code/index.js create mode 100644 node_modules/eslint/lib/source-code/source-code.js create mode 100644 node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/cursors.js create mode 100644 node_modules/eslint/lib/source-code/token-store/decorative-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/filter-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/index.js create mode 100644 node_modules/eslint/lib/source-code/token-store/limit-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/skip-cursor.js create mode 100644 node_modules/eslint/lib/source-code/token-store/utils.js create mode 100644 node_modules/eslint/lib/unsupported-api.js create mode 100644 node_modules/eslint/messages/all-files-ignored.js create mode 100644 node_modules/eslint/messages/extend-config-missing.js create mode 100644 node_modules/eslint/messages/failed-to-read-json.js create mode 100644 node_modules/eslint/messages/file-not-found.js create mode 100644 node_modules/eslint/messages/no-config-found.js create mode 100644 node_modules/eslint/messages/plugin-conflict.js create mode 100644 node_modules/eslint/messages/plugin-invalid.js create mode 100644 node_modules/eslint/messages/plugin-missing.js create mode 100644 node_modules/eslint/messages/print-config-with-directory-path.js create mode 100644 node_modules/eslint/messages/whitespace-found.js create mode 100644 node_modules/eslint/node_modules/.bin/js-yaml create mode 100644 node_modules/eslint/node_modules/.bin/js-yaml.cmd create mode 100644 node_modules/eslint/package.json create mode 100644 node_modules/esm/LICENSE create mode 100644 node_modules/esm/README.md create mode 100644 node_modules/esm/esm.js create mode 100644 node_modules/esm/esm/loader.js create mode 100644 node_modules/esm/index.js create mode 100644 node_modules/esm/node_modules/.cache/esm/.data.blob create mode 100644 node_modules/esm/node_modules/.cache/esm/.data.json create mode 100644 node_modules/esm/package.json create mode 100644 node_modules/espree/LICENSE create mode 100644 node_modules/espree/README.md create mode 100644 node_modules/espree/dist/espree.cjs create mode 100644 node_modules/espree/espree.js create mode 100644 node_modules/espree/lib/ast-node-types.js create mode 100644 node_modules/espree/lib/espree.js create mode 100644 node_modules/espree/lib/features.js create mode 100644 node_modules/espree/lib/options.js create mode 100644 node_modules/espree/lib/token-translator.js create mode 100644 node_modules/espree/lib/version.js create mode 100644 node_modules/espree/node_modules/.bin/acorn create mode 100644 node_modules/espree/node_modules/.bin/acorn.cmd create mode 100644 node_modules/espree/package.json create mode 100644 node_modules/esquery/README.md create mode 100644 node_modules/esquery/dist/esquery.esm.js create mode 100644 node_modules/esquery/dist/esquery.esm.min.js create mode 100644 node_modules/esquery/dist/esquery.esm.min.js.map create mode 100644 node_modules/esquery/dist/esquery.js create mode 100644 node_modules/esquery/dist/esquery.lite.js create mode 100644 node_modules/esquery/dist/esquery.lite.min.js create mode 100644 node_modules/esquery/dist/esquery.lite.min.js.map create mode 100644 node_modules/esquery/dist/esquery.min.js create mode 100644 node_modules/esquery/dist/esquery.min.js.map create mode 100644 node_modules/esquery/license.txt create mode 100644 node_modules/esquery/package.json create mode 100644 node_modules/esquery/parser.js create mode 100644 node_modules/esrecurse/.babelrc create mode 100644 node_modules/esrecurse/README.md create mode 100644 node_modules/esrecurse/esrecurse.js create mode 100644 node_modules/esrecurse/gulpfile.babel.js create mode 100644 node_modules/esrecurse/package.json create mode 100644 node_modules/estraverse/.jshintrc create mode 100644 node_modules/estraverse/LICENSE.BSD create mode 100644 node_modules/estraverse/README.md create mode 100644 node_modules/estraverse/estraverse.js create mode 100644 node_modules/estraverse/gulpfile.js create mode 100644 node_modules/estraverse/package.json create mode 100644 node_modules/esutils/LICENSE.BSD create mode 100644 node_modules/esutils/README.md create mode 100644 node_modules/esutils/lib/ast.js create mode 100644 node_modules/esutils/lib/code.js create mode 100644 node_modules/esutils/lib/keyword.js create mode 100644 node_modules/esutils/lib/utils.js create mode 100644 node_modules/esutils/package.json create mode 100644 node_modules/fast-deep-equal/LICENSE create mode 100644 node_modules/fast-deep-equal/README.md create mode 100644 node_modules/fast-deep-equal/es6/index.d.ts create mode 100644 node_modules/fast-deep-equal/es6/index.js create mode 100644 node_modules/fast-deep-equal/es6/react.d.ts create mode 100644 node_modules/fast-deep-equal/es6/react.js create mode 100644 node_modules/fast-deep-equal/index.d.ts create mode 100644 node_modules/fast-deep-equal/index.js create mode 100644 node_modules/fast-deep-equal/package.json create mode 100644 node_modules/fast-deep-equal/react.d.ts create mode 100644 node_modules/fast-deep-equal/react.js create mode 100644 node_modules/fast-json-stable-stringify/.eslintrc.yml create mode 100644 node_modules/fast-json-stable-stringify/.npmignore create mode 100644 node_modules/fast-json-stable-stringify/.travis.yml create mode 100644 node_modules/fast-json-stable-stringify/LICENSE create mode 100644 node_modules/fast-json-stable-stringify/README.md create mode 100644 node_modules/fast-json-stable-stringify/benchmark/index.js create mode 100644 node_modules/fast-json-stable-stringify/benchmark/test.json create mode 100644 node_modules/fast-json-stable-stringify/example/key_cmp.js create mode 100644 node_modules/fast-json-stable-stringify/example/nested.js create mode 100644 node_modules/fast-json-stable-stringify/example/str.js create mode 100644 node_modules/fast-json-stable-stringify/example/value_cmp.js create mode 100644 node_modules/fast-json-stable-stringify/index.js create mode 100644 node_modules/fast-json-stable-stringify/package.json create mode 100644 node_modules/fast-json-stable-stringify/test/cmp.js create mode 100644 node_modules/fast-json-stable-stringify/test/nested.js create mode 100644 node_modules/fast-json-stable-stringify/test/str.js create mode 100644 node_modules/fast-json-stable-stringify/test/to-json.js create mode 100644 node_modules/fast-levenshtein/LICENSE.md create mode 100644 node_modules/fast-levenshtein/README.md create mode 100644 node_modules/fast-levenshtein/levenshtein.js create mode 100644 node_modules/fast-levenshtein/package.json create mode 100644 node_modules/file-entry-cache/LICENSE create mode 100644 node_modules/file-entry-cache/README.md create mode 100644 node_modules/file-entry-cache/cache.js create mode 100644 node_modules/file-entry-cache/changelog.md create mode 100644 node_modules/file-entry-cache/package.json create mode 100644 node_modules/flat-cache/LICENSE create mode 100644 node_modules/flat-cache/README.md create mode 100644 node_modules/flat-cache/changelog.md create mode 100644 node_modules/flat-cache/node_modules/.bin/rimraf create mode 100644 node_modules/flat-cache/node_modules/.bin/rimraf.cmd create mode 100644 node_modules/flat-cache/package.json create mode 100644 node_modules/flat-cache/src/cache.js create mode 100644 node_modules/flat-cache/src/del.js create mode 100644 node_modules/flat-cache/src/utils.js create mode 100644 node_modules/flatted/.github/FUNDING.yml create mode 100644 node_modules/flatted/.github/workflows/node.js.yml create mode 100644 node_modules/flatted/LICENSE create mode 100644 node_modules/flatted/README.md create mode 100644 node_modules/flatted/SPECS.md create mode 100644 node_modules/flatted/cjs/index.js create mode 100644 node_modules/flatted/cjs/package.json create mode 100644 node_modules/flatted/es.js create mode 100644 node_modules/flatted/esm/index.js create mode 100644 node_modules/flatted/flatted.jpg create mode 100644 node_modules/flatted/index.js create mode 100644 node_modules/flatted/min.js create mode 100644 node_modules/flatted/package.json create mode 100644 node_modules/flatted/php/flatted.php create mode 100644 node_modules/flatted/types.d.ts create mode 100644 node_modules/fs.realpath/LICENSE create mode 100644 node_modules/fs.realpath/README.md create mode 100644 node_modules/fs.realpath/index.js create mode 100644 node_modules/fs.realpath/old.js create mode 100644 node_modules/fs.realpath/package.json create mode 100644 node_modules/functional-red-black-tree/.npmignore create mode 100644 node_modules/functional-red-black-tree/LICENSE create mode 100644 node_modules/functional-red-black-tree/README.md create mode 100644 node_modules/functional-red-black-tree/bench/test.js create mode 100644 node_modules/functional-red-black-tree/package.json create mode 100644 node_modules/functional-red-black-tree/rbtree.js create mode 100644 node_modules/functional-red-black-tree/test/test.js create mode 100644 node_modules/glob-parent/LICENSE create mode 100644 node_modules/glob-parent/README.md create mode 100644 node_modules/glob-parent/index.js create mode 100644 node_modules/glob-parent/node_modules/is-glob/LICENSE create mode 100644 node_modules/glob-parent/node_modules/is-glob/README.md create mode 100644 node_modules/glob-parent/node_modules/is-glob/index.js create mode 100644 node_modules/glob-parent/node_modules/is-glob/package.json create mode 100644 node_modules/glob-parent/package.json create mode 100644 node_modules/glob/LICENSE create mode 100644 node_modules/glob/README.md create mode 100644 node_modules/glob/changelog.md create mode 100644 node_modules/glob/common.js create mode 100644 node_modules/glob/glob.js create mode 100644 node_modules/glob/package.json create mode 100644 node_modules/glob/sync.js create mode 100644 node_modules/globals/globals.json create mode 100644 node_modules/globals/index.d.ts create mode 100644 node_modules/globals/index.js create mode 100644 node_modules/globals/license create mode 100644 node_modules/globals/package.json create mode 100644 node_modules/globals/readme.md create mode 100644 node_modules/has-flag/index.d.ts create mode 100644 node_modules/has-flag/index.js create mode 100644 node_modules/has-flag/license create mode 100644 node_modules/has-flag/package.json create mode 100644 node_modules/has-flag/readme.md create mode 100644 node_modules/ignore/LICENSE-MIT create mode 100644 node_modules/ignore/README.md create mode 100644 node_modules/ignore/index.d.ts create mode 100644 node_modules/ignore/index.js create mode 100644 node_modules/ignore/legacy.js create mode 100644 node_modules/ignore/package.json create mode 100644 node_modules/import-fresh/index.js create mode 100644 node_modules/import-fresh/license create mode 100644 node_modules/import-fresh/package.json create mode 100644 node_modules/import-fresh/readme.md create mode 100644 node_modules/imurmurhash/README.md create mode 100644 node_modules/imurmurhash/imurmurhash.js create mode 100644 node_modules/imurmurhash/imurmurhash.min.js create mode 100644 node_modules/imurmurhash/package.json create mode 100644 node_modules/inflight/LICENSE create mode 100644 node_modules/inflight/README.md create mode 100644 node_modules/inflight/inflight.js create mode 100644 node_modules/inflight/package.json create mode 100644 node_modules/inherits/LICENSE create mode 100644 node_modules/inherits/README.md create mode 100644 node_modules/inherits/inherits.js create mode 100644 node_modules/inherits/inherits_browser.js create mode 100644 node_modules/inherits/package.json create mode 100644 node_modules/is-extglob/LICENSE create mode 100644 node_modules/is-extglob/README.md create mode 100644 node_modules/is-extglob/index.js create mode 100644 node_modules/is-extglob/package.json create mode 100644 node_modules/is-glob/LICENSE create mode 100644 node_modules/is-glob/README.md create mode 100644 node_modules/is-glob/index.js create mode 100644 node_modules/is-glob/package.json create mode 100644 node_modules/isexe/.npmignore create mode 100644 node_modules/isexe/LICENSE create mode 100644 node_modules/isexe/README.md create mode 100644 node_modules/isexe/index.js create mode 100644 node_modules/isexe/mode.js create mode 100644 node_modules/isexe/package.json create mode 100644 node_modules/isexe/test/basic.js create mode 100644 node_modules/isexe/windows.js create mode 100644 node_modules/js-yaml/CHANGELOG.md create mode 100644 node_modules/js-yaml/LICENSE create mode 100644 node_modules/js-yaml/README.md create mode 100644 node_modules/js-yaml/bin/js-yaml.js create mode 100644 node_modules/js-yaml/dist/js-yaml.js create mode 100644 node_modules/js-yaml/dist/js-yaml.min.js create mode 100644 node_modules/js-yaml/dist/js-yaml.mjs create mode 100644 node_modules/js-yaml/index.js create mode 100644 node_modules/js-yaml/lib/common.js create mode 100644 node_modules/js-yaml/lib/dumper.js create mode 100644 node_modules/js-yaml/lib/exception.js create mode 100644 node_modules/js-yaml/lib/loader.js create mode 100644 node_modules/js-yaml/lib/schema.js create mode 100644 node_modules/js-yaml/lib/schema/core.js create mode 100644 node_modules/js-yaml/lib/schema/default.js create mode 100644 node_modules/js-yaml/lib/schema/failsafe.js create mode 100644 node_modules/js-yaml/lib/schema/json.js create mode 100644 node_modules/js-yaml/lib/snippet.js create mode 100644 node_modules/js-yaml/lib/type.js create mode 100644 node_modules/js-yaml/lib/type/binary.js create mode 100644 node_modules/js-yaml/lib/type/bool.js create mode 100644 node_modules/js-yaml/lib/type/float.js create mode 100644 node_modules/js-yaml/lib/type/int.js create mode 100644 node_modules/js-yaml/lib/type/map.js create mode 100644 node_modules/js-yaml/lib/type/merge.js create mode 100644 node_modules/js-yaml/lib/type/null.js create mode 100644 node_modules/js-yaml/lib/type/omap.js create mode 100644 node_modules/js-yaml/lib/type/pairs.js create mode 100644 node_modules/js-yaml/lib/type/seq.js create mode 100644 node_modules/js-yaml/lib/type/set.js create mode 100644 node_modules/js-yaml/lib/type/str.js create mode 100644 node_modules/js-yaml/lib/type/timestamp.js create mode 100644 node_modules/js-yaml/package.json create mode 100644 node_modules/json-schema-traverse/.eslintrc.yml create mode 100644 node_modules/json-schema-traverse/.travis.yml create mode 100644 node_modules/json-schema-traverse/LICENSE create mode 100644 node_modules/json-schema-traverse/README.md create mode 100644 node_modules/json-schema-traverse/index.js create mode 100644 node_modules/json-schema-traverse/package.json create mode 100644 node_modules/json-schema-traverse/spec/.eslintrc.yml create mode 100644 node_modules/json-schema-traverse/spec/fixtures/schema.js create mode 100644 node_modules/json-schema-traverse/spec/index.spec.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/.npmignore create mode 100644 node_modules/json-stable-stringify-without-jsonify/.travis.yml create mode 100644 node_modules/json-stable-stringify-without-jsonify/LICENSE create mode 100644 node_modules/json-stable-stringify-without-jsonify/example/key_cmp.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/example/nested.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/example/str.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/example/value_cmp.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/index.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/package.json create mode 100644 node_modules/json-stable-stringify-without-jsonify/readme.markdown create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/cmp.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/nested.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/replacer.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/space.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/str.js create mode 100644 node_modules/json-stable-stringify-without-jsonify/test/to-json.js create mode 100644 node_modules/levn/LICENSE create mode 100644 node_modules/levn/README.md create mode 100644 node_modules/levn/lib/cast.js create mode 100644 node_modules/levn/lib/index.js create mode 100644 node_modules/levn/lib/parse-string.js create mode 100644 node_modules/levn/package.json create mode 100644 node_modules/lodash.merge/LICENSE create mode 100644 node_modules/lodash.merge/README.md create mode 100644 node_modules/lodash.merge/index.js create mode 100644 node_modules/lodash.merge/package.json create mode 100644 node_modules/minimatch/LICENSE create mode 100644 node_modules/minimatch/README.md create mode 100644 node_modules/minimatch/minimatch.js create mode 100644 node_modules/minimatch/package.json create mode 100644 node_modules/ms/index.js rename LICENSE => node_modules/ms/license.md (97%) create mode 100644 node_modules/ms/package.json create mode 100644 node_modules/ms/readme.md create mode 100644 node_modules/natural-compare/README.md create mode 100644 node_modules/natural-compare/index.js create mode 100644 node_modules/natural-compare/package.json create mode 100644 node_modules/once/LICENSE create mode 100644 node_modules/once/README.md create mode 100644 node_modules/once/once.js create mode 100644 node_modules/once/package.json create mode 100644 node_modules/optionator/CHANGELOG.md create mode 100644 node_modules/optionator/LICENSE create mode 100644 node_modules/optionator/README.md create mode 100644 node_modules/optionator/lib/help.js create mode 100644 node_modules/optionator/lib/index.js create mode 100644 node_modules/optionator/lib/util.js create mode 100644 node_modules/optionator/package.json create mode 100644 node_modules/parent-module/index.js create mode 100644 node_modules/parent-module/license create mode 100644 node_modules/parent-module/package.json create mode 100644 node_modules/parent-module/readme.md create mode 100644 node_modules/path-is-absolute/index.js create mode 100644 node_modules/path-is-absolute/license create mode 100644 node_modules/path-is-absolute/package.json create mode 100644 node_modules/path-is-absolute/readme.md create mode 100644 node_modules/path-key/index.d.ts create mode 100644 node_modules/path-key/index.js create mode 100644 node_modules/path-key/license create mode 100644 node_modules/path-key/package.json create mode 100644 node_modules/path-key/readme.md create mode 100644 node_modules/prelude-ls/CHANGELOG.md create mode 100644 node_modules/prelude-ls/LICENSE create mode 100644 node_modules/prelude-ls/README.md create mode 100644 node_modules/prelude-ls/lib/Func.js create mode 100644 node_modules/prelude-ls/lib/List.js create mode 100644 node_modules/prelude-ls/lib/Num.js create mode 100644 node_modules/prelude-ls/lib/Obj.js create mode 100644 node_modules/prelude-ls/lib/Str.js create mode 100644 node_modules/prelude-ls/lib/index.js create mode 100644 node_modules/prelude-ls/package.json create mode 100644 node_modules/punycode/LICENSE-MIT.txt create mode 100644 node_modules/punycode/README.md create mode 100644 node_modules/punycode/package.json create mode 100644 node_modules/punycode/punycode.es6.js create mode 100644 node_modules/punycode/punycode.js create mode 100644 node_modules/regexpp/LICENSE create mode 100644 node_modules/regexpp/README.md create mode 100644 node_modules/regexpp/index.d.ts create mode 100644 node_modules/regexpp/index.js create mode 100644 node_modules/regexpp/index.js.map create mode 100644 node_modules/regexpp/index.mjs create mode 100644 node_modules/regexpp/index.mjs.map create mode 100644 node_modules/regexpp/package.json create mode 100644 node_modules/resolve-from/index.js create mode 100644 node_modules/resolve-from/license create mode 100644 node_modules/resolve-from/package.json create mode 100644 node_modules/resolve-from/readme.md create mode 100644 node_modules/rimraf/CHANGELOG.md create mode 100644 node_modules/rimraf/LICENSE create mode 100644 node_modules/rimraf/README.md create mode 100644 node_modules/rimraf/bin.js create mode 100644 node_modules/rimraf/package.json create mode 100644 node_modules/rimraf/rimraf.js create mode 100644 node_modules/rollup/CHANGELOG.md create mode 100644 node_modules/rollup/LICENSE.md create mode 100644 node_modules/rollup/README.md create mode 100644 node_modules/rollup/dist/bin/rollup create mode 100644 node_modules/rollup/dist/es/package.json create mode 100644 node_modules/rollup/dist/es/rollup.browser.js create mode 100644 node_modules/rollup/dist/es/rollup.js create mode 100644 node_modules/rollup/dist/es/shared/rollup.js create mode 100644 node_modules/rollup/dist/es/shared/watch.js create mode 100644 node_modules/rollup/dist/loadConfigFile.js create mode 100644 node_modules/rollup/dist/rollup.browser.js create mode 100644 node_modules/rollup/dist/rollup.browser.js.map create mode 100644 node_modules/rollup/dist/rollup.d.ts create mode 100644 node_modules/rollup/dist/rollup.js create mode 100644 node_modules/rollup/dist/shared/index.js create mode 100644 node_modules/rollup/dist/shared/loadConfigFile.js create mode 100644 node_modules/rollup/dist/shared/mergeOptions.js create mode 100644 node_modules/rollup/dist/shared/rollup.js create mode 100644 node_modules/rollup/dist/shared/watch-cli.js create mode 100644 node_modules/rollup/dist/shared/watch.js create mode 100644 node_modules/rollup/package.json create mode 100644 node_modules/shebang-command/index.js create mode 100644 node_modules/shebang-command/license create mode 100644 node_modules/shebang-command/package.json create mode 100644 node_modules/shebang-command/readme.md create mode 100644 node_modules/shebang-regex/index.d.ts create mode 100644 node_modules/shebang-regex/index.js create mode 100644 node_modules/shebang-regex/license create mode 100644 node_modules/shebang-regex/package.json create mode 100644 node_modules/shebang-regex/readme.md create mode 100644 node_modules/source-map-support/LICENSE.md create mode 100644 node_modules/source-map-support/README.md create mode 100644 node_modules/source-map-support/browser-source-map-support.js create mode 100644 node_modules/source-map-support/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/source-map-support/node_modules/source-map/LICENSE create mode 100644 node_modules/source-map-support/node_modules/source-map/README.md create mode 100644 node_modules/source-map-support/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/source-map-support/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/source-map-support/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/source-map-support/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/base64.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/source-map-support/node_modules/source-map/lib/util.js create mode 100644 node_modules/source-map-support/node_modules/source-map/package.json create mode 100644 node_modules/source-map-support/node_modules/source-map/source-map.d.ts create mode 100644 node_modules/source-map-support/node_modules/source-map/source-map.js create mode 100644 node_modules/source-map-support/package.json create mode 100644 node_modules/source-map-support/register-hook-require.js create mode 100644 node_modules/source-map-support/register.js create mode 100644 node_modules/source-map-support/source-map-support.js create mode 100644 node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/source-map/LICENSE create mode 100644 node_modules/source-map/README.md create mode 100644 node_modules/source-map/dist/source-map.js create mode 100644 node_modules/source-map/lib/array-set.js create mode 100644 node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/source-map/lib/base64.js create mode 100644 node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/source-map/lib/mappings.wasm create mode 100644 node_modules/source-map/lib/read-wasm.js create mode 100644 node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/source-map/lib/source-node.js create mode 100644 node_modules/source-map/lib/util.js create mode 100644 node_modules/source-map/lib/wasm.js create mode 100644 node_modules/source-map/package.json create mode 100644 node_modules/source-map/source-map.d.ts create mode 100644 node_modules/source-map/source-map.js create mode 100644 node_modules/strip-ansi/index.d.ts create mode 100644 node_modules/strip-ansi/index.js create mode 100644 node_modules/strip-ansi/license create mode 100644 node_modules/strip-ansi/package.json create mode 100644 node_modules/strip-ansi/readme.md create mode 100644 node_modules/strip-json-comments/index.d.ts create mode 100644 node_modules/strip-json-comments/index.js create mode 100644 node_modules/strip-json-comments/license create mode 100644 node_modules/strip-json-comments/package.json create mode 100644 node_modules/strip-json-comments/readme.md create mode 100644 node_modules/supports-color/browser.js create mode 100644 node_modules/supports-color/index.js create mode 100644 node_modules/supports-color/license create mode 100644 node_modules/supports-color/package.json create mode 100644 node_modules/supports-color/readme.md create mode 100644 node_modules/terser/CHANGELOG.md create mode 100644 node_modules/terser/LICENSE create mode 100644 node_modules/terser/PATRONS.md create mode 100644 node_modules/terser/README.md create mode 100644 node_modules/terser/bin/package.json create mode 100644 node_modules/terser/bin/terser create mode 100644 node_modules/terser/bin/terser.mjs create mode 100644 node_modules/terser/bin/uglifyjs create mode 100644 node_modules/terser/dist/.gitkeep create mode 100644 node_modules/terser/dist/bundle.min.js create mode 100644 node_modules/terser/dist/package.json create mode 100644 node_modules/terser/lib/ast.js create mode 100644 node_modules/terser/lib/cli.js create mode 100644 node_modules/terser/lib/compress/common.js create mode 100644 node_modules/terser/lib/compress/compressor-flags.js create mode 100644 node_modules/terser/lib/compress/drop-side-effect-free.js create mode 100644 node_modules/terser/lib/compress/evaluate.js create mode 100644 node_modules/terser/lib/compress/index.js create mode 100644 node_modules/terser/lib/compress/inference.js create mode 100644 node_modules/terser/lib/compress/native-objects.js create mode 100644 node_modules/terser/lib/compress/reduce-vars.js create mode 100644 node_modules/terser/lib/compress/tighten-body.js create mode 100644 node_modules/terser/lib/equivalent-to.js create mode 100644 node_modules/terser/lib/minify.js create mode 100644 node_modules/terser/lib/mozilla-ast.js create mode 100644 node_modules/terser/lib/output.js create mode 100644 node_modules/terser/lib/parse.js create mode 100644 node_modules/terser/lib/propmangle.js create mode 100644 node_modules/terser/lib/scope.js create mode 100644 node_modules/terser/lib/size.js create mode 100644 node_modules/terser/lib/sourcemap.js create mode 100644 node_modules/terser/lib/transform.js create mode 100644 node_modules/terser/lib/utils/first_in_statement.js create mode 100644 node_modules/terser/lib/utils/index.js create mode 100644 node_modules/terser/main.js create mode 100644 node_modules/terser/package.json create mode 100644 node_modules/terser/tools/domprops.js create mode 100644 node_modules/terser/tools/exit.cjs create mode 100644 node_modules/terser/tools/props.html create mode 100644 node_modules/terser/tools/terser.d.ts create mode 100644 node_modules/text-table/.travis.yml create mode 100644 node_modules/text-table/LICENSE create mode 100644 node_modules/text-table/example/align.js create mode 100644 node_modules/text-table/example/center.js create mode 100644 node_modules/text-table/example/dotalign.js create mode 100644 node_modules/text-table/example/doubledot.js create mode 100644 node_modules/text-table/example/table.js create mode 100644 node_modules/text-table/index.js create mode 100644 node_modules/text-table/package.json create mode 100644 node_modules/text-table/readme.markdown create mode 100644 node_modules/text-table/test/align.js create mode 100644 node_modules/text-table/test/ansi-colors.js create mode 100644 node_modules/text-table/test/center.js create mode 100644 node_modules/text-table/test/dotalign.js create mode 100644 node_modules/text-table/test/doubledot.js create mode 100644 node_modules/text-table/test/table.js create mode 100644 node_modules/type-check/LICENSE create mode 100644 node_modules/type-check/README.md create mode 100644 node_modules/type-check/lib/check.js create mode 100644 node_modules/type-check/lib/index.js create mode 100644 node_modules/type-check/lib/parse-type.js create mode 100644 node_modules/type-check/package.json create mode 100644 node_modules/type-fest/base.d.ts create mode 100644 node_modules/type-fest/index.d.ts create mode 100644 node_modules/type-fest/license create mode 100644 node_modules/type-fest/package.json create mode 100644 node_modules/type-fest/readme.md create mode 100644 node_modules/type-fest/source/async-return-type.d.ts create mode 100644 node_modules/type-fest/source/asyncify.d.ts create mode 100644 node_modules/type-fest/source/basic.d.ts create mode 100644 node_modules/type-fest/source/conditional-except.d.ts create mode 100644 node_modules/type-fest/source/conditional-keys.d.ts create mode 100644 node_modules/type-fest/source/conditional-pick.d.ts create mode 100644 node_modules/type-fest/source/entries.d.ts create mode 100644 node_modules/type-fest/source/entry.d.ts create mode 100644 node_modules/type-fest/source/except.d.ts create mode 100644 node_modules/type-fest/source/fixed-length-array.d.ts create mode 100644 node_modules/type-fest/source/iterable-element.d.ts create mode 100644 node_modules/type-fest/source/literal-union.d.ts create mode 100644 node_modules/type-fest/source/merge-exclusive.d.ts create mode 100644 node_modules/type-fest/source/merge.d.ts create mode 100644 node_modules/type-fest/source/mutable.d.ts create mode 100644 node_modules/type-fest/source/opaque.d.ts create mode 100644 node_modules/type-fest/source/package-json.d.ts create mode 100644 node_modules/type-fest/source/partial-deep.d.ts create mode 100644 node_modules/type-fest/source/promisable.d.ts create mode 100644 node_modules/type-fest/source/promise-value.d.ts create mode 100644 node_modules/type-fest/source/readonly-deep.d.ts create mode 100644 node_modules/type-fest/source/require-at-least-one.d.ts create mode 100644 node_modules/type-fest/source/require-exactly-one.d.ts create mode 100644 node_modules/type-fest/source/set-optional.d.ts create mode 100644 node_modules/type-fest/source/set-required.d.ts create mode 100644 node_modules/type-fest/source/set-return-type.d.ts create mode 100644 node_modules/type-fest/source/stringified.d.ts create mode 100644 node_modules/type-fest/source/tsconfig-json.d.ts create mode 100644 node_modules/type-fest/source/union-to-intersection.d.ts create mode 100644 node_modules/type-fest/source/utilities.d.ts create mode 100644 node_modules/type-fest/source/value-of.d.ts create mode 100644 node_modules/type-fest/ts41/camel-case.d.ts create mode 100644 node_modules/type-fest/ts41/delimiter-case.d.ts create mode 100644 node_modules/type-fest/ts41/index.d.ts create mode 100644 node_modules/type-fest/ts41/kebab-case.d.ts create mode 100644 node_modules/type-fest/ts41/pascal-case.d.ts create mode 100644 node_modules/type-fest/ts41/snake-case.d.ts create mode 100644 node_modules/uri-js/README.md create mode 100644 node_modules/uri-js/bower.json create mode 100644 node_modules/uri-js/dist/es5/uri.all.d.ts create mode 100644 node_modules/uri-js/dist/es5/uri.all.js create mode 100644 node_modules/uri-js/dist/es5/uri.all.js.map create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.d.ts create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.js create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.js.map create mode 100644 node_modules/uri-js/dist/esnext/index.d.ts create mode 100644 node_modules/uri-js/dist/esnext/index.js create mode 100644 node_modules/uri-js/dist/esnext/index.js.map create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.js create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.js.map create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.js create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.js.map create mode 100644 node_modules/uri-js/dist/esnext/uri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/uri.js create mode 100644 node_modules/uri-js/dist/esnext/uri.js.map create mode 100644 node_modules/uri-js/dist/esnext/util.d.ts create mode 100644 node_modules/uri-js/dist/esnext/util.js create mode 100644 node_modules/uri-js/dist/esnext/util.js.map create mode 100644 node_modules/uri-js/package.json create mode 100644 node_modules/uri-js/rollup.config.js create mode 100644 node_modules/uri-js/src/index.ts create mode 100644 node_modules/uri-js/src/punycode.d.ts create mode 100644 node_modules/uri-js/src/regexps-iri.ts create mode 100644 node_modules/uri-js/src/regexps-uri.ts create mode 100644 node_modules/uri-js/src/schemes/http.ts create mode 100644 node_modules/uri-js/src/schemes/https.ts create mode 100644 node_modules/uri-js/src/schemes/mailto.ts create mode 100644 node_modules/uri-js/src/schemes/urn-uuid.ts create mode 100644 node_modules/uri-js/src/schemes/urn.ts create mode 100644 node_modules/uri-js/src/uri.ts create mode 100644 node_modules/uri-js/src/util.ts create mode 100644 node_modules/uri-js/tests/qunit.css create mode 100644 node_modules/uri-js/tests/qunit.js create mode 100644 node_modules/uri-js/tests/test-es5-min.html create mode 100644 node_modules/uri-js/tests/test-es5.html create mode 100644 node_modules/uri-js/tests/tests.js create mode 100644 node_modules/uri-js/tsconfig.json create mode 100644 node_modules/uri-js/yarn.lock create mode 100644 node_modules/v8-compile-cache/CHANGELOG.md create mode 100644 node_modules/v8-compile-cache/LICENSE create mode 100644 node_modules/v8-compile-cache/README.md create mode 100644 node_modules/v8-compile-cache/package.json create mode 100644 node_modules/v8-compile-cache/v8-compile-cache.js create mode 100644 node_modules/which/CHANGELOG.md create mode 100644 node_modules/which/LICENSE create mode 100644 node_modules/which/README.md create mode 100644 node_modules/which/bin/node-which create mode 100644 node_modules/which/package.json create mode 100644 node_modules/which/which.js create mode 100644 node_modules/word-wrap/LICENSE create mode 100644 node_modules/word-wrap/README.md create mode 100644 node_modules/word-wrap/index.d.ts create mode 100644 node_modules/word-wrap/index.js create mode 100644 node_modules/word-wrap/package.json create mode 100644 node_modules/wrappy/LICENSE create mode 100644 node_modules/wrappy/README.md create mode 100644 node_modules/wrappy/package.json create mode 100644 node_modules/wrappy/wrappy.js create mode 100644 node_modules/xml-formatter/LICENSE create mode 100644 node_modules/xml-formatter/README.md rename {site => node_modules/xml-formatter/dist/browser}/xml-formatter.js (100%) create mode 100644 node_modules/xml-formatter/index.d.ts create mode 100644 node_modules/xml-formatter/index.js create mode 100644 node_modules/xml-formatter/package.json create mode 100644 node_modules/xml-parser-xo/LICENSE create mode 100644 node_modules/xml-parser-xo/README.md create mode 100644 node_modules/xml-parser-xo/index.js create mode 100644 node_modules/xml-parser-xo/package.json delete mode 100644 package.json delete mode 100644 site/assets/Asana-Math.woff2 delete mode 100644 site/assets/GUST-FONT-LICENSE.txt delete mode 100644 site/assets/MANIFEST-Latin-Modern-Math.txt delete mode 100644 site/assets/MANIFEST-Latin-Modern.TXT delete mode 100644 site/assets/README-Latin-Modern-Math.txt delete mode 100644 site/assets/README-Latin-Modern.TXT delete mode 100644 site/assets/STIXTwoMath-Regular.woff2 delete mode 100644 site/assets/Temml-Asana.css delete mode 100644 site/assets/Temml-Latin-Modern.css delete mode 100644 site/assets/Temml-Local.css delete mode 100644 site/assets/Temml-STIX2.css delete mode 100644 site/assets/Temml-XITS.css delete mode 100644 site/assets/Temml.woff2 delete mode 100644 site/assets/XITS-FAQ.txt delete mode 100644 site/assets/XITS-README.txt delete mode 100644 site/assets/XITS.txt delete mode 100644 site/assets/latinmodern-math.woff2 delete mode 100644 site/assets/lmroman12-bold.woff2 delete mode 100644 site/assets/lmroman12-italic.woff2 delete mode 100644 site/assets/lmroman12-regular.woff2 delete mode 100644 site/assets/mhchem.min.js delete mode 100644 site/assets/physics.js delete mode 100644 site/assets/temml.min.js delete mode 100644 site/assets/texvc.js delete mode 100644 site/assets/xits-math.woff2 delete mode 100644 site/assets/xits-mathbold.woff2 delete mode 100644 site/docs/docStyles.css delete mode 100644 site/docs/en/administration.html delete mode 100644 site/docs/en/comparison.html delete mode 100644 site/docs/en/support_table.html delete mode 100644 site/docs/en/supported.html delete mode 100644 site/docs/katex.css delete mode 100644 site/docs/sphere.jpg delete mode 100644 site/index.html delete mode 100644 site/indexStyles.css delete mode 100644 site/mathml.css delete mode 100644 site/tests/LaTeXML-tests.html delete mode 100644 site/tests/images/AccentsText.svg delete mode 100644 site/tests/images/ArrayMode.svg delete mode 100644 site/tests/images/ArrayType.svg delete mode 100644 site/tests/images/Arrays.svg delete mode 100644 site/tests/images/BinCancellation.svg delete mode 100644 site/tests/images/BoldSymbol.svg delete mode 100644 site/tests/images/CD.svg delete mode 100644 site/tests/images/ColorBox.svg delete mode 100644 site/tests/images/ColorImplicit.svg delete mode 100644 site/tests/images/ColorSpacing.svg delete mode 100644 site/tests/images/DashesAndQuotes.svg delete mode 100644 site/tests/images/DelimiterSizing1.svg delete mode 100644 site/tests/images/DelimiterSizing2.svg delete mode 100644 site/tests/images/DisplayMode.svg delete mode 100644 site/tests/images/ExtensibleArrows.svg delete mode 100644 site/tests/images/Fractions1.svg delete mode 100644 site/tests/images/Fractions2.svg delete mode 100644 site/tests/images/HorizontalBraces.svg delete mode 100644 site/tests/images/Integrands.svg delete mode 100644 site/tests/images/LargeRuleNumerator.svg delete mode 100644 site/tests/images/LeftRight.svg delete mode 100644 site/tests/images/LeftRightListStyling.svg delete mode 100644 site/tests/images/LeftRightMiddle.svg delete mode 100644 site/tests/images/LeftRightStyleSizing.svg delete mode 100644 site/tests/images/LimitControls.svg delete mode 100644 site/tests/images/MathChoice.svg delete mode 100644 site/tests/images/MathtoolsMatrix.svg delete mode 100644 site/tests/images/NegativeSpace.svg delete mode 100644 site/tests/images/NestedFractions.svg delete mode 100644 site/tests/images/NullDelimiterInteraction.svg delete mode 100644 site/tests/images/OpLimits.svg delete mode 100644 site/tests/images/OperatorName.svg delete mode 100644 site/tests/images/OverUnderline.svg delete mode 100644 site/tests/images/OverUnderset.svg delete mode 100644 site/tests/images/PrimeSpacing.svg delete mode 100644 site/tests/images/PrimeSuper.svg delete mode 100644 site/tests/images/RelativeUnits.svg delete mode 100644 site/tests/images/SizingBaseline.svg delete mode 100644 site/tests/images/SqrtRoot.svg delete mode 100644 site/tests/images/StretchyAccent.svg delete mode 100644 site/tests/images/StrikeThrough.svg delete mode 100644 site/tests/images/StrikeThroughColor.svg delete mode 100644 site/tests/images/StyleSpacing.svg delete mode 100644 site/tests/images/StyleSwitching.svg delete mode 100644 site/tests/images/SupSubCharacterBox.svg delete mode 100644 site/tests/images/SupSubHorizSpacing.svg delete mode 100644 site/tests/images/SupSubLeftAlignReset.svg delete mode 100644 site/tests/images/SupSubOffsets.svg delete mode 100644 site/tests/images/TextSpace.svg delete mode 100644 site/tests/images/TextStacked.svg delete mode 100644 site/tests/images/TextWithMath.svg delete mode 100644 site/tests/images/accents.svg delete mode 100644 site/tests/images/align.svg delete mode 100644 site/tests/images/aligned.svg delete mode 100644 site/tests/images/alignedat.svg delete mode 100644 site/tests/images/angl.svg delete mode 100644 site/tests/images/baseline.svg delete mode 100644 site/tests/images/binom.svg delete mode 100644 site/tests/images/boxed.svg delete mode 100644 site/tests/images/cases.svg delete mode 100644 site/tests/images/colors.svg delete mode 100644 site/tests/images/displaystyle.svg delete mode 100644 site/tests/images/dots.svg delete mode 100644 site/tests/images/equation.svg delete mode 100644 site/tests/images/ex1.gif delete mode 100644 site/tests/images/ex10.gif delete mode 100644 site/tests/images/ex11.gif delete mode 100644 site/tests/images/ex12.gif delete mode 100644 site/tests/images/ex13.gif delete mode 100644 site/tests/images/ex14.gif delete mode 100644 site/tests/images/ex15.gif delete mode 100644 site/tests/images/ex16.gif delete mode 100644 site/tests/images/ex17.gif delete mode 100644 site/tests/images/ex18.gif delete mode 100644 site/tests/images/ex19.gif delete mode 100644 site/tests/images/ex2.gif delete mode 100644 site/tests/images/ex20.gif delete mode 100644 site/tests/images/ex21.gif delete mode 100644 site/tests/images/ex22.gif delete mode 100644 site/tests/images/ex23.gif delete mode 100644 site/tests/images/ex24.gif delete mode 100644 site/tests/images/ex25.gif delete mode 100644 site/tests/images/ex26.gif delete mode 100644 site/tests/images/ex27.gif delete mode 100644 site/tests/images/ex28.gif delete mode 100644 site/tests/images/ex29.png delete mode 100644 site/tests/images/ex3.gif delete mode 100644 site/tests/images/ex30.png delete mode 100644 site/tests/images/ex4.gif delete mode 100644 site/tests/images/ex5.gif delete mode 100644 site/tests/images/ex6.gif delete mode 100644 site/tests/images/ex7.gif delete mode 100644 site/tests/images/ex8.gif delete mode 100644 site/tests/images/ex9.gif delete mode 100644 site/tests/images/exponents.svg delete mode 100644 site/tests/images/functions.svg delete mode 100644 site/tests/images/gather.svg delete mode 100644 site/tests/images/greek.svg delete mode 100644 site/tests/images/kern.svg delete mode 100644 site/tests/images/lap.svg delete mode 100644 site/tests/images/latex.svg delete mode 100644 site/tests/images/mathop.svg delete mode 100644 site/tests/images/mod.svg delete mode 100644 site/tests/images/newline.svg delete mode 100644 site/tests/images/not.svg delete mode 100644 site/tests/images/oldfont.svg delete mode 100644 site/tests/images/phantom.svg delete mode 100644 site/tests/images/pmb.svg delete mode 100644 site/tests/images/raisebox.svg delete mode 100644 site/tests/images/rcases.svg delete mode 100644 site/tests/images/rlapbug.svg delete mode 100644 site/tests/images/rule.svg delete mode 100644 site/tests/images/sizing.svg delete mode 100644 site/tests/images/smash.svg delete mode 100644 site/tests/images/spacing.svg delete mode 100644 site/tests/images/sqrt.svg delete mode 100644 site/tests/images/stackrel.svg delete mode 100644 site/tests/images/subarray.svg delete mode 100644 site/tests/images/text.svg delete mode 100644 site/tests/images/units.svg delete mode 100644 site/tests/images/verb.svg delete mode 100644 site/tests/katex-tests.html delete mode 100644 site/tests/mhchem-tests.html delete mode 100644 site/tests/mozilla-tests.html delete mode 100644 site/tests/wiki-tests.html delete mode 100644 src/Style.js delete mode 100644 src/autocorrect.js delete mode 100644 src/environments.js delete mode 100644 src/functions.js delete mode 100644 src/functions/hbox.js delete mode 100644 src/functions/ordgroup.js delete mode 100644 src/functions/toggle.js delete mode 100644 src/postProcess.js delete mode 100644 src/unicodeSymbolBuilder.js delete mode 100644 temml.js delete mode 100644 test/Investigate.html delete mode 100644 test/LaTeXML-tests.md delete mode 100644 test/auto-render.js delete mode 100644 test/katex-tests.md delete mode 100644 test/main.css delete mode 100644 test/mhchem-tests.md delete mode 100644 test/mozilla-tests.md delete mode 100644 test/processTests.js delete mode 100644 test/repl.html delete mode 100644 test/temml.js delete mode 100644 test/temmlPostProcess.js delete mode 100644 test/wiki-tests.md delete mode 100644 utils/TeXZilla.js delete mode 100644 utils/buildDocs.js delete mode 100644 utils/buildTests.js delete mode 100644 utils/copyfiles.js delete mode 100644 utils/hurmetMark.cjs delete mode 100644 utils/insertPlugins.js delete mode 100644 utils/katex.min.js delete mode 100644 utils/rollupConfig.js delete mode 100644 utils/temml.cjs delete mode 100644 utils/temml.cjs.js delete mode 100644 utils/temml.mjs delete mode 100644 utils/temml.mjs.js delete mode 100644 yarn-error.log delete mode 100644 yarn.lock diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index a0a65c66..00000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -contrib/auto-render/test/*.js -src/autocorrect.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 0511c021..00000000 --- a/.eslintrc +++ /dev/null @@ -1,73 +0,0 @@ -{ - "extends": [ - "eslint:recommended" - ], - "globals":{ - "BigInt":true - }, - "rules": { - "arrow-spacing": 2, - "brace-style": [2, "1tbs", { "allowSingleLine": true }], - "camelcase": [2, { "properties": "never" }], - "comma-dangle": [2, "never"], - "comma-spacing": [2, { "before": false, "after": true }], - "constructor-super": 2, - "curly": 2, - "eol-last": 2, - "eqeqeq": [2, "allow-null"], - "guard-for-in": 2, - "indent": "off", - "indent-legacy": [2, 2, {"SwitchCase": 1}], - "keyword-spacing": 2, - "linebreak-style": [2, "unix"], - "max-len": [2, 100, 4, { "ignoreUrls": true, "ignoreRegExpLiterals": true }], - "new-cap": 2, - "no-alert": 2, - "no-array-constructor": 2, - "no-console": 2, - "no-const-assign": 2, - "no-debugger": 2, - "no-dupe-class-members": 2, - "no-dupe-keys": 2, - "no-extra-bind": 2, - "no-misleading-character-class": 0, - "no-new": 2, - "no-new-func": 2, - "no-new-object": 2, - "no-spaced-func": 2, - "no-this-before-super": 2, - "no-throw-literal": 2, - "no-trailing-spaces": 2, - "no-undef": 2, - "no-unexpected-multiline": 2, - "no-unreachable": 2, - "no-unused-vars": [2, {"args": "none", "varsIgnorePattern": "^_*$"}], - "no-useless-call": 2, - "no-var": 2, - "no-with": 2, - "object-curly-spacing": [2, "always"], - "one-var": [2, "never"], - "prefer-const": 2, - "prefer-spread": 0, - "semi": 0, - "space-before-blocks": 2, - "space-before-function-paren": [2, "never"], - "space-infix-ops": 2, - "space-unary-ops": 2, - "prefer-template": 0, - "arrow-parens": 0, - "prefer-arrow-callback": 0, - "valid-jsdoc": 0, - "require-jsdoc": 0 - }, - "env": { - "node": true, - "browser": true, - "es6": true - }, - "parserOptions": { - "ecmaVersion": 8, - "sourceType": "module" - }, - "root": true -} diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 5dc46e6b..00000000 --- a/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -* text=auto eol=lf -*.{cmd,[cC][mM][dD]} text eol=crlf -*.{bat,[bB][aA][tT]} text eol=crlf \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e8d6b5b1..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,348 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. This CHANGELOG roughly follows the guidelines from [keepachangelog.com](https://keepachangelog.com/en/1.0.0/). - -## [0.6.7] = 2022-03-27 - -### Fixed - -- Added operator spacing to Unicode characters ∖∘∙ -- Avoid error when a spacing function is the base of a subscript. -- Fix nested font size changes -- Replace string.substr() with string.slice() -- Use Unicode U+203E, Overline, for \bar{} - -### Added - -- Support \strictif and \strictfi - -### Docs - -- Explain how to work around a Cambria Math radical size problem -- Edit README for brevity - -## [0.6.6] = 2022-01-28 - -### Fixed - -- Workaround a Firefox bug. Prevent space around a \mathrm{} function with a one-character argument. - -## [0.6.5] = 2022-01-20 - -### Added - -- 15 functions from the `cmll` package - -### Fixed - -- Omit color attribute and wrapper from \rule when unecessary - -## [0.6.4] = 2022-01-15 - -### Fixed - -- More improvement of recognition of delimiters after functions like \sin - -## [0.6.3] = 2022-01-14 - -### Fixed - -- Improve recognition of delimiters after functions like \sin - -## [0.6.2] = 2022-01-13 - -### Fixed - -- \bm{\sin} -- Remove spurious space between \sin (x) - -## [0.6.1] = 2022-01-12 - -### Fixed - -- \mathinner when part of a denominator - -## [0.6.0] = 2022-01-11 - -### Changed - -- In default Temml, Numbers are now consolidated into one element if they begin and end with a number and contain numerals, commas, or dots -- Some error messages are revised - -### Added - -- Documentation section regarding numbers - -## [0.5.3] = 2022-01-08 - -### Fixed - -- Suppress operator spacing between adjacent relations - -## [0.5.2] = 2022-01-07 - -### Fixed - -- \tag now stays in display mode - -### Changed - -- Parse error message now is displayed on screen, not in a hover hint. -- Added locations to some error messages. - -## [0.5.1] = 2022-01-05 - -### Fixed - -- \vcentcolon, \ratio - -## [0.5.0] = 2022-01-04 - -### Changed - -- Rendering option `maxSize` now takes an array of two numbers. - -### Added - -- \centerdot - -### Fixed - -- text-mode colon -- All unit tests now pass. -- All SVG images have been removed from Temml - -## [0.4.2] = 2021-12-24 - -### Fixed - -- \mathcal{ego} -- \not\operatorname -- \big\backslash and \right\backslash -- displaystyle \sideset -- := -- {cases} environment row spacing -- \varnothing -- math-mode \O and \o -- Greek edge cases of bold, italic, and sans-serif -- \shortmid, \nshortmid, \shortparallel, \nshortparallel, \smallsetminus -- non-stretchy accents (so they do not stretch) -- Make best effort to support Greek sans-serif - -### Added - -- \sgn - -## [0.4.1] = 2021-12-20 - -### Fixed - -- \bmod -- \colon spacing -- \right . -- \includegraphics -- \angle padding -- \subarray row spacing -- "/" spacing -- width of stacked harpoons -- operator spacing when adjacent to \color -- Improve laps -- Use character U+2044 for inline fractions -- Work around Firefox bug affecting \mathrlap -- \boldsymbol when it wraps an operator -- array environment enclosing lines -- \mathbf{\Omega} -- \mathop - -### Added - -- Copy button to home page. -- Images from LaTeX in KaTeX screenshotter tests -- Mozilla test suite -- mhchem test suite - -## [0.4.0] = 2021-12-06 - -### Changed - -- Remove \centerdot -- Remove \vcenter -- Remove \newextarrow -- Edit mhchem to sync w/extensible arrow fix. - -### Fixed - -- Prevent arrowhead distortion on extensible arrows -- Fix scriptstyle errors. -- Adjust RGB values of base colors. - -## [0.3.3] - 2021-11-24 - -### Added - -- Support \odv and \pdv from derivative package -- Rendering option `elementIsMath` - -### Changed - -- Make color names case-sensitive -- Use Unicode character U+212B for \AA - -### Fixed - -- Explicitly set stretchy="true" on delimiters to evade a Firefox bug -- Soft line breaks inside \color -- \mathbin that contains a - -## [0.3.2] - 2021-11-21 - -### Added - -- \definecolor -- Optional argument that sets the color model in color functions -- Predefined colors per Tables 4.1 and 4.2 in xcolor package -- \nsubset and \nsupset - -### Changed - -- Use character U+005F for \overline and \underline. Regain stretchiness. - -### Fixed - -- Spacing for \mid -- Workaround a Fireox bug for spacing of - -## [0.3.1] - 2021-11-15 - -### Added - -- Rendering option preventTagLap - -## [0.3.0] - 2021-11-12 - -### Removed - -- Support for \global, \gdef, and \xdef - -### Added - -- Preamble definition -- Support \nonumber -- STIX2 is now available on the home page - -### Fixed - -- Text mode accents in strict mode get only a console message, not an error. - -### Changed - -- Revert to macron character for \bar -- Change a font name from Temml-Script.woff2 to Temml.woff2. -- Change a folder name from /temml/ to /assets/. -- Documentation clarifies the current chancery/roundhand situation. - -## [0.2.3] - 2021-11-06 - -### Added - -- Support \ballotx -- Support \permil - -## [0.2.2] - 2021-11-04 - -### Added - -- Support \c -- Support \female and \male -- Support \relax -- Soft line breaks in Firefox, if no - -### Changed - -- element namespace is now optional -- elemennt w/TeX string is now optional -- Removed "temml" class from element -- Reduced number of visible DOM elements -- Support AMS environment w/one empty row -- \bar{} accent now uses character U+2015, horizontal bar - -### Fixed - -- Spaces inside \text{} -- \char now supports >16-bit Unicode characters -- \mathbb operating on numbers -- Circular dependency -- Stretchy arrow bug -- Validation errors in \mathop, \mathrel, and \operatorname - -## [0.2.1] - 2021-08-10 - -### Changed - -- Change CSS files. Each CSS file now is synchronized with a single math font. - -### Added - -- Support Asana and XITS fonts. -- Support \Braket, \Set, and \set. - -## [0.2.0] - 2021-08-02 - -### Removed - -- Soft line breaks, since they will not work in Chromium. - -### Fixed - -- Improve handling of \limits -- Improve handling of newline. -- Respect catcode in macro expansion and set ~ correctly. -- Improve \operatorname*. -- Fix non-stretchy accents in Firefox. -- Use correct Unicode for uppercase Greek. - -### Changed - -- Support font functions via substitution of Unicode characters instead of `mathvariant`. Font functions will now work in Chromium. -- Change \pmb to use CSS text-shadow instead of `mathvariant = bold`. - -### Added - -- Support \backcong. - -## [0.1.3] - 2021-05-21 - -### Fixed - -- Treat `\` followed by whitespace including up to one newline as equivalent to `\ `. -- Isolate `border-color` from page CSS. - -### Added - -- `\P` and `\S` in math mode. - -## [0.1.2] - 2021-02-18 - -### Fixed - -- Workaround for Firefox arrow minlength bug. - -### Removed - -- \overlinesegment & \underlinesegment - -## [0.1.1] - 2021-02-17 - -### Fixed - -- \overlinesegment & \underlinesegment SVGs - -### Changed - -- Removed Firefox browser sniff from CSS - -## [0.1.0] - 2021-02-01 - -### Added - -- Initial Release diff --git a/README.md b/README.md deleted file mode 100644 index 6bb9f387..00000000 --- a/README.md +++ /dev/null @@ -1,44 +0,0 @@ -*Temml* is a LaTeX-to-MathML JavaScript conversion utility. It is built to be lightweight. - -| Library | Minified JavaScript + CSS | -|:--------------|:-------------------------:| -| Temml | 140 KB | -| MathJax 2.7.5 | 338 KB | -| KaTeX | 280 KB | -| TeXZilla | 168 KB | - -As a futher advantage, Temml can use local system fonts. The minimum Temml installation serves a font file that is only 12kb. - -When the [MathML-in-Chromium](https://mathml.igalia.com/news/) project is complete, all the major browsers will support MathML and Temml will become the most lightweight way to render math in a browser. - -Temml’s coverage of LaTeX functions is as good as MathJax, slightly better than KaTeX 0.13.0 and substantially better than TeXZilla. See a [detailed coverage comparison](https://temml.org/docs/en/comparison.html). - -Temml's [test](https://temml.org/docs/en/supported.html) suite [includes](https://temml.org/tests/mozilla-tests.html) many [rendered](https://temml.org/tests/wiki-tests.html) examples [that](https://temml.org/tests/mhchem-tests.html) are [available](https://temml.org/tests/LaTeXML-tests.html) for viewing. - -Temml's demonstration page is at https://temml.org/ - -Documentation can be found at: - -* [Installation](https://temml.org/docs/en/administration.html) - -* LaTeX function support, [sorted into logical groups](https://temml.org/docs/en/supported.html). - -* LaTeX function support, [sorted alphabetically](https://temml.org/docs/en/support_table.html). - -### Acknowledgements - -I built Temml by: - -1. Forking [KaTeX](https://katex.org/). - -2. Deleting half the code, removing the HTML parts and keeping the parser, the macro expander, and the MathML parts. - -3. Doing some code refactoring and many MathML bug fixes. - -4. Adding new functionality: upright lower-case Greek letters, `\euro`, `\label{…}`, `\ref{…}`, `\longdiv{…}`, `\prescript`, `\definecolor`, `xcolor` color names, etc. - -I wish to thank Khan Academy and the many volunteer KaTeX contributors. This library would not exist if KaTeX had not existed first. - ---- - -Temml is released under terms of the [MIT license](https://mit-license.org/) diff --git a/contrib/auto-render/README.md b/contrib/auto-render/README.md deleted file mode 100644 index db7a1276..00000000 --- a/contrib/auto-render/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Auto-render extension - -This is a client-side extension to automatically render all of the math inside of the -text of a running HTML document. It searches all of the text nodes in a given element -for the given delimiters, and renders the math in place. - - -This extension isn't part of Temml proper, so the script needs to be included -(via a ` - ... - - - - ... - - - ... - - -``` - -The auto-render extension exposes a single function, `window.renderMathInElement`, with -the following API: - -```js -function renderMathInElement(elem, options) -``` - -`elem` is an HTML DOM element, typically `document.main`. The function will -recursively search for text nodes inside this element and render the math in them. - -`options` is an optional object argument that can have the same keys as [the -options](https://temml.org/docs/en/administration.html#options) passed to -`temml.render`. In addition, there are five auto-render-specific keys: - -- `delimiters`: This is a list of delimiters to look for math, processed in - the same order as the list. Each delimiter has three properties: - - - `left`: A string which starts the math expression (i.e. the left delimiter). - - `right`: A string which ends the math expression (i.e. the right delimiter). - - `display`: A boolean of whether the math in the expression should be - rendered in display mode or not. - - The default `delimiters` value is: - - ```js - [ - { left: "$$", right: "$$", display: true }, - { left: "\\(", right: "\\)", display: false }, - { left: "\\begin{equation}", right: "\\end{equation}", display: true }, - { left: "\\begin{align}", right: "\\end{align}", display: true }, - { left: "\\begin{alignat}", right: "\\end{alignat}", display: true }, - { left: "\\begin{gather}", right: "\\end{gather}", display: true }, - { left: "\\begin{CD}", right: "\\end{CD}", display: true }, - { left: "\\begin{multline}", right: "\\end{multline}", display: true }, - { left: "\\[", right: "\\]", display: true } - ] - ``` - - If you want to add support for inline math via `$…$`, be sure to list it - **after** `$$…$$`. Because rules are processed in order, putting a `$` rule first would - match `$$` and treat as an empty math expression. Here is an example that includes `$…$`: - - ```js - [ - {left: "$$", right: "$$", display: true}, - // Put $ after $$. - {left: "$", right: "$", display: false}, - {left: "\\(", right: "\\)", display: false}, - // Put \[ last to avoid conflict with possible future \\[1em] row separator. - {left: "\\[", right: "\\]", display: true} - ] - ``` - -- `ignoredTags`: This is a list of DOM node types to ignore when recursing - through. The default value is - `["script", "noscript", "style", "textarea", "pre", "code", "option"]`. - -- `ignoredClasses`: This is a list of DOM node class names to ignore when - recursing through. By default, this value is not set. - -- `errorCallback`: A callback method returning a message and an error stack - in case of an critical error during rendering. The default uses `console.error`. - -- `preProcess`: A callback function, `(math: string) => string`, used to process - math expressions before rendering. diff --git a/contrib/auto-render/auto-render.js b/contrib/auto-render/auto-render.js deleted file mode 100644 index e0de5cad..00000000 --- a/contrib/auto-render/auto-render.js +++ /dev/null @@ -1,128 +0,0 @@ -/* eslint no-console:0 */ - -import temml from "temml"; -import splitAtDelimiters from "./splitAtDelimiters"; - -/* Note: optionsCopy is mutated by this method. If it is ever exposed in the - * API, we should copy it before mutating. - */ -const renderMathInText = function(text, optionsCopy) { - const data = splitAtDelimiters(text, optionsCopy.delimiters); - if (data.length === 1 && data[0].type === "text") { - // There is no formula in the text. - // Let's return null which means there is no need to replace - // the current text node with a new one. - return null; - } - - const fragment = document.createDocumentFragment(); - - for (let i = 0; i < data.length; i++) { - if (data[i].type === "text") { - fragment.appendChild(document.createTextNode(data[i].data)); - } else { - const span = document.createElement("span"); - let math = data[i].data; - // Override any display mode defined in the settings with that - // defined by the text itself - optionsCopy.displayMode = data[i].display; - try { - if (optionsCopy.preProcess) { - math = optionsCopy.preProcess(math); - } - temml.render(math, span, optionsCopy); - } catch (e) { - if (!(e instanceof temml.ParseError)) { - throw e; - } - optionsCopy.errorCallback( - "Temml auto-render: Failed to parse `" + data[i].data + "` with ", - e - ); - fragment.appendChild(document.createTextNode(data[i].rawData)); - continue; - } - fragment.appendChild(span); - } - } - - return fragment; -}; - -const renderElem = function(elem, optionsCopy) { - for (let i = 0; i < elem.childNodes.length; i++) { - const childNode = elem.childNodes[i]; - if (childNode.nodeType === 3) { - // Text node - const frag = renderMathInText(childNode.textContent, optionsCopy); - if (frag) { - i += frag.childNodes.length - 1; - elem.replaceChild(frag, childNode); - } - } else if (childNode.nodeType === 1) { - // Element node - const className = " " + childNode.className + " "; - const shouldRender = - optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && - optionsCopy.ignoredClasses.every((x) => className.indexOf(" " + x + " ") === -1); - - if (shouldRender) { - renderElem(childNode, optionsCopy); - } - } - // Otherwise, it's something else, and ignore it. - } -}; - -const renderMathInElement = function(elem, options) { - if (!elem) { - throw new Error("No element provided to render"); - } - - const optionsCopy = {}; - - // Object.assign(optionsCopy, option) - for (const option in options) { - if (Object.prototype.hasOwnProperty.call(options, option)) { - optionsCopy[option] = options[option]; - } - } - - // default options - optionsCopy.delimiters = optionsCopy.delimiters || [ - { left: "$$", right: "$$", display: true }, - { left: "\\(", right: "\\)", display: false }, - // LaTeX uses $…$, but it ruins the display of normal `$` in text: - // {left: "$", right: "$", display: false}, - // $ must come after $$ - - // Render AMS environments even if outside $$…$$ delimiters. - { left: "\\begin{equation}", right: "\\end{equation}", display: true }, - { left: "\\begin{align}", right: "\\end{align}", display: true }, - { left: "\\begin{alignat}", right: "\\end{alignat}", display: true }, - { left: "\\begin{gather}", right: "\\end{gather}", display: true }, - { left: "\\begin{CD}", right: "\\end{CD}", display: true }, - - { left: "\\[", right: "\\]", display: true } - ]; - optionsCopy.ignoredTags = optionsCopy.ignoredTags || [ - "script", - "noscript", - "style", - "textarea", - "pre", - "code", - "option" - ]; - optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; - optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; - - // Enable sharing of global macros defined via `\gdef` between different - // math elements within a single call to `renderMathInElement`. - optionsCopy.macros = optionsCopy.macros || {}; - - renderElem(elem, optionsCopy); - temml.postProcess(elem); -}; - -export default renderMathInElement; diff --git a/contrib/auto-render/dist/auto-render.js b/contrib/auto-render/dist/auto-render.js deleted file mode 100644 index 3848e38f..00000000 --- a/contrib/auto-render/dist/auto-render.js +++ /dev/null @@ -1,217 +0,0 @@ -var renderMathInElement = (function (temml) { - 'use strict'; - - function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - - var temml__default = /*#__PURE__*/_interopDefaultLegacy(temml); - - /* eslint no-constant-condition:0 */ - const findEndOfMath = function(delimiter, text, startIndex) { - // Adapted from - // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx - let index = startIndex; - let braceLevel = 0; - - const delimLength = delimiter.length; - - while (index < text.length) { - const character = text[index]; - - if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { - return index; - } else if (character === "\\") { - index++; - } else if (character === "{") { - braceLevel++; - } else if (character === "}") { - braceLevel--; - } - - index++; - } - - return -1; - }; - - const escapeRegex = function(string) { - return string.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"); - }; - - const amsRegex = /^\\begin{/; - - const splitAtDelimiters = function(text, delimiters) { - let index; - const data = []; - - const regexLeft = new RegExp( - "(" + delimiters.map((x) => escapeRegex(x.left)).join("|") + ")" - ); - - while (true) { - index = text.search(regexLeft); - if (index === -1) { - break; - } - if (index > 0) { - data.push({ - type: "text", - data: text.slice(0, index) - }); - text = text.slice(index); // now text starts with delimiter - } - // ... so this always succeeds: - const i = delimiters.findIndex((delim) => text.startsWith(delim.left)); - index = findEndOfMath(delimiters[i].right, text, delimiters[i].left.length); - if (index === -1) { - break; - } - const rawData = text.slice(0, index + delimiters[i].right.length); - const math = amsRegex.test(rawData) - ? rawData - : text.slice(delimiters[i].left.length, index); - data.push({ - type: "math", - data: math, - rawData, - display: delimiters[i].display - }); - text = text.slice(index + delimiters[i].right.length); - } - - if (text !== "") { - data.push({ - type: "text", - data: text - }); - } - - return data; - }; - - /* eslint no-console:0 */ - - /* Note: optionsCopy is mutated by this method. If it is ever exposed in the - * API, we should copy it before mutating. - */ - const renderMathInText = function(text, optionsCopy) { - const data = splitAtDelimiters(text, optionsCopy.delimiters); - if (data.length === 1 && data[0].type === "text") { - // There is no formula in the text. - // Let's return null which means there is no need to replace - // the current text node with a new one. - return null; - } - - const fragment = document.createDocumentFragment(); - - for (let i = 0; i < data.length; i++) { - if (data[i].type === "text") { - fragment.appendChild(document.createTextNode(data[i].data)); - } else { - const span = document.createElement("span"); - let math = data[i].data; - // Override any display mode defined in the settings with that - // defined by the text itself - optionsCopy.displayMode = data[i].display; - try { - if (optionsCopy.preProcess) { - math = optionsCopy.preProcess(math); - } - temml__default["default"].render(math, span, optionsCopy); - } catch (e) { - if (!(e instanceof temml__default["default"].ParseError)) { - throw e; - } - optionsCopy.errorCallback( - "Temml auto-render: Failed to parse `" + data[i].data + "` with ", - e - ); - fragment.appendChild(document.createTextNode(data[i].rawData)); - continue; - } - fragment.appendChild(span); - } - } - - return fragment; - }; - - const renderElem = function(elem, optionsCopy) { - for (let i = 0; i < elem.childNodes.length; i++) { - const childNode = elem.childNodes[i]; - if (childNode.nodeType === 3) { - // Text node - const frag = renderMathInText(childNode.textContent, optionsCopy); - if (frag) { - i += frag.childNodes.length - 1; - elem.replaceChild(frag, childNode); - } - } else if (childNode.nodeType === 1) { - // Element node - const className = " " + childNode.className + " "; - const shouldRender = - optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && - optionsCopy.ignoredClasses.every((x) => className.indexOf(" " + x + " ") === -1); - - if (shouldRender) { - renderElem(childNode, optionsCopy); - } - } - // Otherwise, it's something else, and ignore it. - } - }; - - const renderMathInElement = function(elem, options) { - if (!elem) { - throw new Error("No element provided to render"); - } - - const optionsCopy = {}; - - // Object.assign(optionsCopy, option) - for (const option in options) { - if (Object.prototype.hasOwnProperty.call(options, option)) { - optionsCopy[option] = options[option]; - } - } - - // default options - optionsCopy.delimiters = optionsCopy.delimiters || [ - { left: "$$", right: "$$", display: true }, - { left: "\\(", right: "\\)", display: false }, - // LaTeX uses $…$, but it ruins the display of normal `$` in text: - // {left: "$", right: "$", display: false}, - // $ must come after $$ - - // Render AMS environments even if outside $$…$$ delimiters. - { left: "\\begin{equation}", right: "\\end{equation}", display: true }, - { left: "\\begin{align}", right: "\\end{align}", display: true }, - { left: "\\begin{alignat}", right: "\\end{alignat}", display: true }, - { left: "\\begin{gather}", right: "\\end{gather}", display: true }, - { left: "\\begin{CD}", right: "\\end{CD}", display: true }, - - { left: "\\[", right: "\\]", display: true } - ]; - optionsCopy.ignoredTags = optionsCopy.ignoredTags || [ - "script", - "noscript", - "style", - "textarea", - "pre", - "code", - "option" - ]; - optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; - optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; - - // Enable sharing of global macros defined via `\gdef` between different - // math elements within a single call to `renderMathInElement`. - optionsCopy.macros = optionsCopy.macros || {}; - - renderElem(elem, optionsCopy); - temml__default["default"].postProcess(elem); - }; - - return renderMathInElement; - -})(temml); diff --git a/contrib/auto-render/dist/auto-render.min.js b/contrib/auto-render/dist/auto-render.min.js deleted file mode 100644 index 55bcd20c..00000000 --- a/contrib/auto-render/dist/auto-render.min.js +++ /dev/null @@ -1 +0,0 @@ -var renderMathInElement=function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);const r=function(e,t,n){let r=n,a=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;n=e.search(l),-1!==n;){n>0&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const l=t.findIndex((t=>e.startsWith(t.left)));if(n=r(t[l].right,e,t[l].left.length),-1===n)break;const o=e.slice(0,n+t[l].right.length),s=a.test(o)?o:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:o,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i}(e,t.delimiters);if(1===i.length&&"text"===i[0].type)return null;const l=document.createDocumentFragment();for(let e=0;e-1===e.indexOf(" "+t+" ")))&&l(r,t)}}};return function(e,t){if(!e)throw new Error("No element provided to render");const r={};for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},l(e,r),n.default.postProcess(e)}}(temml); \ No newline at end of file diff --git a/contrib/auto-render/splitAtDelimiters.js b/contrib/auto-render/splitAtDelimiters.js deleted file mode 100644 index 0c93c13a..00000000 --- a/contrib/auto-render/splitAtDelimiters.js +++ /dev/null @@ -1,84 +0,0 @@ -/* eslint no-constant-condition:0 */ -const findEndOfMath = function(delimiter, text, startIndex) { - // Adapted from - // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx - let index = startIndex; - let braceLevel = 0; - - const delimLength = delimiter.length; - - while (index < text.length) { - const character = text[index]; - - if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { - return index; - } else if (character === "\\") { - index++; - } else if (character === "{") { - braceLevel++; - } else if (character === "}") { - braceLevel--; - } - - index++; - } - - return -1; -}; - -const escapeRegex = function(string) { - return string.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"); -}; - -const amsRegex = /^\\begin{/; - -const splitAtDelimiters = function(text, delimiters) { - let index; - const data = []; - - const regexLeft = new RegExp( - "(" + delimiters.map((x) => escapeRegex(x.left)).join("|") + ")" - ) - - while (true) { - index = text.search(regexLeft); - if (index === -1) { - break; - } - if (index > 0) { - data.push({ - type: "text", - data: text.slice(0, index) - }); - text = text.slice(index); // now text starts with delimiter - } - // ... so this always succeeds: - const i = delimiters.findIndex((delim) => text.startsWith(delim.left)); - index = findEndOfMath(delimiters[i].right, text, delimiters[i].left.length); - if (index === -1) { - break; - } - const rawData = text.slice(0, index + delimiters[i].right.length); - const math = amsRegex.test(rawData) - ? rawData - : text.slice(delimiters[i].left.length, index); - data.push({ - type: "math", - data: math, - rawData, - display: delimiters[i].display - }); - text = text.slice(index + delimiters[i].right.length); - } - - if (text !== "") { - data.push({ - type: "text", - data: text - }); - } - - return data; -}; - -export default splitAtDelimiters; diff --git a/contrib/auto-render/test/auto-render-spec.js b/contrib/auto-render/test/auto-render-spec.js deleted file mode 100644 index 3875bfb1..00000000 --- a/contrib/auto-render/test/auto-render-spec.js +++ /dev/null @@ -1,234 +0,0 @@ -/* global beforeEach: false */ -/* global expect: false */ -/* global it: false */ -/* global describe: false */ - -import splitAtDelimiters from "../splitAtDelimiters"; -import renderMathInElement from "../auto-render"; - -beforeEach(function() { - expect.extend({ - toSplitInto: function(actual, left, right, result) { - const message = { - pass: true, - message: "'" + actual + "' split correctly" - }; - - const startData = [{ type: "text", data: actual }]; - - const split = splitAtDelimiters(startData, left, right, false); - - if (split.length !== result.length) { - message.pass = false; - message.message = - "Different number of splits: " + - split.length + - " vs. " + - result.length + - " (" + - JSON.stringify(split) + - " vs. " + - JSON.stringify(result) + - ")"; - return message; - } - - for (let i = 0; i < split.length; i++) { - const real = split[i]; - const correct = result[i]; - - let good = true; - let diff; - - if (real.type !== correct.type) { - good = false; - diff = "type"; - } else if (real.data !== correct.data) { - good = false; - diff = "data"; - } else if (real.display !== correct.display) { - good = false; - diff = "display"; - } - - if (!good) { - message.pass = false; - message.message = - "Difference at split " + - (i + 1) + - ": " + - JSON.stringify(real) + - " vs. " + - JSON.stringify(correct) + - " (" + - diff + - " differs)"; - break; - } - } - - return message; - } - }); -}); - -describe("A delimiter splitter", function() { - it("doesn't split when there are no delimiters", function() { - expect("hello").toSplitInto("(", ")", [{ type: "text", data: "hello" }]); - }); - - it("doesn't create a math node with only one left delimiter", function() { - expect("hello ( world").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "text", data: "( world" } - ]); - }); - - it("doesn't split when there's only a right delimiter", function() { - expect("hello ) world").toSplitInto("(", ")", [{ type: "text", data: "hello ) world" }]); - }); - - it("splits when there are both delimiters", function() { - expect("hello ( world ) boo").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo" } - ]); - }); - - it("splits on multi-character delimiters", function() { - expect("hello [[ world ]] boo").toSplitInto("[[", "]]", [ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "[[ world ]]", display: false }, - { type: "text", data: " boo" } - ]); - }); - - it("splits mutliple times", function() { - expect("hello ( world ) boo ( more ) stuff").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo " }, - { type: "math", data: " more ", rawData: "( more )", display: false }, - { type: "text", data: " stuff" } - ]); - }); - - it("leaves the ending when there's only a left delimiter", function() { - expect("hello ( world ) boo ( left").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo " }, - { type: "text", data: "( left" } - ]); - }); - - it("doesn't split when close delimiters are in {}s", function() { - expect("hello ( world { ) } ) boo").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world { ) } ", rawData: "( world { ) } )", display: false }, - { type: "text", data: " boo" } - ]); - - expect("hello ( world { { } ) } ) boo").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world { { } ) } ", rawData: "( world { { } ) } )", display: false }, - { type: "text", data: " boo" } - ]); - }); - - it("doesn't split at escaped delimiters", function() { - expect("hello ( world \\) ) boo").toSplitInto("(", ")", [ - { type: "text", data: "hello " }, - { type: "math", data: " world \\) ", rawData: "( world \\) )", display: false }, - { type: "text", data: " boo" } - ]); - - /* TODO(emily): make this work maybe? - expect("hello \\( ( world ) boo").toSplitInto( - "(", ")", - [ - {type: "text", data: "hello \\( "}, - {type: "math", data: " world ", - rawData: "( world )", display: false}, - {type: "text", data: " boo"}, - ]); - */ - }); - - it("splits when the right and left delimiters are the same", function() { - expect("hello $ world $ boo").toSplitInto("$", "$", [ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "$ world $", display: false }, - { type: "text", data: " boo" } - ]); - }); - - it("remembers which delimiters are display-mode", function() { - const startData = [{ type: "text", data: "hello ( world ) boo" }]; - - expect(splitAtDelimiters(startData, "(", ")", true)).toEqual([ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: true }, - { type: "text", data: " boo" } - ]); - }); - - it("works with more than one start datum", function() { - const startData = [ - { type: "text", data: "hello ( world ) boo" }, - { type: "math", data: "math", rawData: "(math)", display: true }, - { type: "text", data: "hello ( world ) boo" } - ]; - - expect(splitAtDelimiters(startData, "(", ")", false)).toEqual([ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo" }, - { type: "math", data: "math", rawData: "(math)", display: true }, - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo" } - ]); - }); - - it("doesn't do splitting inside of math nodes", function() { - const startData = [ - { type: "text", data: "hello ( world ) boo" }, - { - type: "math", - data: "hello ( world ) boo", - rawData: "(hello ( world ) boo)", - display: true - } - ]; - - expect(splitAtDelimiters(startData, "(", ")", false)).toEqual([ - { type: "text", data: "hello " }, - { type: "math", data: " world ", rawData: "( world )", display: false }, - { type: "text", data: " boo" }, - { - type: "math", - data: "hello ( world ) boo", - rawData: "(hello ( world ) boo)", - display: true - } - ]); - }); -}); - -describe("Pre-process callback", function() { - it("replace `-squared` with `^2 `", function() { - const el1 = document.createElement("div"); - el1.textContent = "Circle equation: $x-squared + y-squared = r-squared$."; - const el2 = document.createElement("div"); - el2.textContent = "Circle equation: $x^2 + y^2 = r^2$."; - const delimiters = [{ left: "$", right: "$", display: false }]; - renderMathInElement(el1, { - delimiters, - preProcess: (math) => math.replace(/-squared/g, "^2") - }); - renderMathInElement(el2, { delimiters }); - expect(el1.innerHTML).toEqual(el2.innerHTML); - }); -}); diff --git a/contrib/auto-render/test/auto-render.js b/contrib/auto-render/test/auto-render.js deleted file mode 100644 index 3848e38f..00000000 --- a/contrib/auto-render/test/auto-render.js +++ /dev/null @@ -1,217 +0,0 @@ -var renderMathInElement = (function (temml) { - 'use strict'; - - function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - - var temml__default = /*#__PURE__*/_interopDefaultLegacy(temml); - - /* eslint no-constant-condition:0 */ - const findEndOfMath = function(delimiter, text, startIndex) { - // Adapted from - // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx - let index = startIndex; - let braceLevel = 0; - - const delimLength = delimiter.length; - - while (index < text.length) { - const character = text[index]; - - if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { - return index; - } else if (character === "\\") { - index++; - } else if (character === "{") { - braceLevel++; - } else if (character === "}") { - braceLevel--; - } - - index++; - } - - return -1; - }; - - const escapeRegex = function(string) { - return string.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"); - }; - - const amsRegex = /^\\begin{/; - - const splitAtDelimiters = function(text, delimiters) { - let index; - const data = []; - - const regexLeft = new RegExp( - "(" + delimiters.map((x) => escapeRegex(x.left)).join("|") + ")" - ); - - while (true) { - index = text.search(regexLeft); - if (index === -1) { - break; - } - if (index > 0) { - data.push({ - type: "text", - data: text.slice(0, index) - }); - text = text.slice(index); // now text starts with delimiter - } - // ... so this always succeeds: - const i = delimiters.findIndex((delim) => text.startsWith(delim.left)); - index = findEndOfMath(delimiters[i].right, text, delimiters[i].left.length); - if (index === -1) { - break; - } - const rawData = text.slice(0, index + delimiters[i].right.length); - const math = amsRegex.test(rawData) - ? rawData - : text.slice(delimiters[i].left.length, index); - data.push({ - type: "math", - data: math, - rawData, - display: delimiters[i].display - }); - text = text.slice(index + delimiters[i].right.length); - } - - if (text !== "") { - data.push({ - type: "text", - data: text - }); - } - - return data; - }; - - /* eslint no-console:0 */ - - /* Note: optionsCopy is mutated by this method. If it is ever exposed in the - * API, we should copy it before mutating. - */ - const renderMathInText = function(text, optionsCopy) { - const data = splitAtDelimiters(text, optionsCopy.delimiters); - if (data.length === 1 && data[0].type === "text") { - // There is no formula in the text. - // Let's return null which means there is no need to replace - // the current text node with a new one. - return null; - } - - const fragment = document.createDocumentFragment(); - - for (let i = 0; i < data.length; i++) { - if (data[i].type === "text") { - fragment.appendChild(document.createTextNode(data[i].data)); - } else { - const span = document.createElement("span"); - let math = data[i].data; - // Override any display mode defined in the settings with that - // defined by the text itself - optionsCopy.displayMode = data[i].display; - try { - if (optionsCopy.preProcess) { - math = optionsCopy.preProcess(math); - } - temml__default["default"].render(math, span, optionsCopy); - } catch (e) { - if (!(e instanceof temml__default["default"].ParseError)) { - throw e; - } - optionsCopy.errorCallback( - "Temml auto-render: Failed to parse `" + data[i].data + "` with ", - e - ); - fragment.appendChild(document.createTextNode(data[i].rawData)); - continue; - } - fragment.appendChild(span); - } - } - - return fragment; - }; - - const renderElem = function(elem, optionsCopy) { - for (let i = 0; i < elem.childNodes.length; i++) { - const childNode = elem.childNodes[i]; - if (childNode.nodeType === 3) { - // Text node - const frag = renderMathInText(childNode.textContent, optionsCopy); - if (frag) { - i += frag.childNodes.length - 1; - elem.replaceChild(frag, childNode); - } - } else if (childNode.nodeType === 1) { - // Element node - const className = " " + childNode.className + " "; - const shouldRender = - optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && - optionsCopy.ignoredClasses.every((x) => className.indexOf(" " + x + " ") === -1); - - if (shouldRender) { - renderElem(childNode, optionsCopy); - } - } - // Otherwise, it's something else, and ignore it. - } - }; - - const renderMathInElement = function(elem, options) { - if (!elem) { - throw new Error("No element provided to render"); - } - - const optionsCopy = {}; - - // Object.assign(optionsCopy, option) - for (const option in options) { - if (Object.prototype.hasOwnProperty.call(options, option)) { - optionsCopy[option] = options[option]; - } - } - - // default options - optionsCopy.delimiters = optionsCopy.delimiters || [ - { left: "$$", right: "$$", display: true }, - { left: "\\(", right: "\\)", display: false }, - // LaTeX uses $…$, but it ruins the display of normal `$` in text: - // {left: "$", right: "$", display: false}, - // $ must come after $$ - - // Render AMS environments even if outside $$…$$ delimiters. - { left: "\\begin{equation}", right: "\\end{equation}", display: true }, - { left: "\\begin{align}", right: "\\end{align}", display: true }, - { left: "\\begin{alignat}", right: "\\end{alignat}", display: true }, - { left: "\\begin{gather}", right: "\\end{gather}", display: true }, - { left: "\\begin{CD}", right: "\\end{CD}", display: true }, - - { left: "\\[", right: "\\]", display: true } - ]; - optionsCopy.ignoredTags = optionsCopy.ignoredTags || [ - "script", - "noscript", - "style", - "textarea", - "pre", - "code", - "option" - ]; - optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; - optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; - - // Enable sharing of global macros defined via `\gdef` between different - // math elements within a single call to `renderMathInElement`. - optionsCopy.macros = optionsCopy.macros || {}; - - renderElem(elem, optionsCopy); - temml__default["default"].postProcess(elem); - }; - - return renderMathInElement; - -})(temml); diff --git a/contrib/auto-render/test/test_page.html b/contrib/auto-render/test/test_page.html deleted file mode 100644 index 04172f26..00000000 --- a/contrib/auto-render/test/test_page.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - Auto-render test - - - - - - -
- This is some text $math \frac12$ other text - - Other node \[ displaymath \frac{1}{2} \] blah $$ \int_2^3 $$ - - and some more text \(and math\) blah. And $math with a - \$ sign$. -
-        Stuff in a $pre tag$
-      
-

An AMS environment without $$…$$ delimiters.

-

\begin{equation}\begin{split} a &=b+c\\ &=e+f \end{split} \end{equation}

-

$\unsupported$

-
- - - diff --git a/contrib/mhchem/README.md b/contrib/mhchem/README.md deleted file mode 100644 index b81ffcfa..00000000 --- a/contrib/mhchem/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# mhchem extension - -This extension adds to Temml the `\ce` and `\pu` functions from the [mhchem](https://mhchem.github.io/MathJax-mhchem/) package. - -You can download the `mhchem.min.js` file from this repository. - -### Usage - -This extension isn't part of core Temml, so the script should be separately included. Write the following line into the HTML page's ``. Place it _after_ the line that calls `temml.js`. - -```html - - -``` - -If you are working sever-side, just use `temml.cjs`. It already includes all the functions in `mhchem.js`. - -### Syntax - -See the [mhchem Manual](https://mhchem.github.io/MathJax-mhchem/) for a full explanation of the input syntax, with working examples. The manual also includes a demonstration box. - -Note that old versions of `mhchem.sty` used `\cf` for chemical formula and `\ce` for chemical equations, but `\cf` has been deprecated in place of `\ce`. This extension supports only `\ce`. You can define a macro mapping `\cf` to `\ce` if needed. - -### Browser Support - -This extension has been tested on Chrome, Firefox, Opera, and Edge. diff --git a/contrib/mhchem/mhchem.js b/contrib/mhchem/mhchem.js deleted file mode 100644 index 2419146c..00000000 --- a/contrib/mhchem/mhchem.js +++ /dev/null @@ -1,1705 +0,0 @@ -/* eslint-disable */ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * Temml mhchem.js - * - * This file implements a Temml version of mhchem version 3.3.0. - * It is adapted from MathJax/extensions/TeX/mhchem.js - * It differs from the MathJax version as follows: - * 1. The interface is changed so that it can be called from Temml, not MathJax. - * 2. \rlap and \llap are replaced with \mathrlap and \mathllap. - * 3. The reaction arrow code is simplified. All reaction arrows are rendered - * using Temml extensible arrows instead of building non-extensible arrows. - * 4. The ~bond forms are composed entirely of \rule elements. - * 5. Two dashes in _getBond are wrapped in braces to suppress spacing. i.e., {-} - * 6. The electron dot uses \textbullet instead of \bullet. - * - * This code, as other Temml code, is released under the MIT license. - * - * /************************************************************* - * - * MathJax/extensions/TeX/mhchem.js - * - * Implements the \ce command for handling chemical formulas - * from the mhchem LaTeX package. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2015 The MathJax Consortium - * Copyright (c) 2015-2018 Martin Hensel - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// -// Coding Style -// - use '' for identifiers that can by minified/uglified -// - use "" for strings that need to stay untouched - -// version: "3.3.0" for MathJax and Temml - - -// Add \ce, \pu, and \tripleDash to the Temml macros. - -temml.__defineMacro("\\ce", function(context) { - return chemParse(context.consumeArgs(1)[0], "ce") -}); - -temml.__defineMacro("\\pu", function(context) { - return chemParse(context.consumeArgs(1)[0], "pu"); -}); - -// Math fonts do not include glyphs for the ~ form of bonds. So we'll send path geometry -// So we'll compose characters built from \rule elements. -temml.__defineMacro("\\uniDash", `{\\rule{0.672em}{0.06em}}`) -temml.__defineMacro("\\triDash", `{\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}}`) -temml.__defineMacro("\\tripleDash", `\\kern0.075em\\raise0.25em{\\triDash}\\kern0.075em`) -temml.__defineMacro("\\tripleDashOverLine", `\\kern0.075em\\mathrlap{\\raise0.125em{\\uniDash}}\\raise0.34em{\\triDash}\\kern0.075em`) -temml.__defineMacro("\\tripleDashOverDoubleLine", `\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\triDash}}\\raise0.27em{\\uniDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em`) -temml.__defineMacro("\\tripleDashBetweenDoubleLine", `\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\uniDash}}\\raise0.27em{\\triDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em`) - - // - // This is the main function for handing the \ce and \pu commands. - // It takes the argument to \ce or \pu and returns the corresponding TeX string. - // - - var chemParse = function (tokens, stateMachine) { - // Recreate the argument string from Temml's array of tokens. - var str = ""; - var expectedLoc = tokens[tokens.length - 1].loc.start - for (var i = tokens.length - 1; i >= 0; i--) { - if(tokens[i].loc.start > expectedLoc) { - // context.consumeArgs has eaten a space. - str += " "; - expectedLoc = tokens[i].loc.start; - } - str += tokens[i].text; - expectedLoc += tokens[i].text.length; - } - // Call the mhchem core parser. - var tex = texify.go(mhchemParser.go(str, stateMachine)); - return tex; - }; - - // - // Core parser for mhchem syntax (recursive) - // - /** @type {MhchemParser} */ - var mhchemParser = { - // - // Parses mchem \ce syntax - // - // Call like - // go("H2O"); - // - go: function (input, stateMachine) { - if (!input) { return []; } - if (stateMachine === undefined) { stateMachine = 'ce'; } - var state = '0'; - - // - // String buffers for parsing: - // - // buffer.a == amount - // buffer.o == element - // buffer.b == left-side superscript - // buffer.p == left-side subscript - // buffer.q == right-side subscript - // buffer.d == right-side superscript - // - // buffer.r == arrow - // buffer.rdt == arrow, script above, type - // buffer.rd == arrow, script above, content - // buffer.rqt == arrow, script below, type - // buffer.rq == arrow, script below, content - // - // buffer.text_ - // buffer.rm - // etc. - // - // buffer.parenthesisLevel == int, starting at 0 - // buffer.sb == bool, space before - // buffer.beginsWithBond == bool - // - // These letters are also used as state names. - // - // Other states: - // 0 == begin of main part (arrow/operator unlikely) - // 1 == next entity - // 2 == next entity (arrow/operator unlikely) - // 3 == next atom - // c == macro - // - /** @type {Buffer} */ - var buffer = {}; - buffer['parenthesisLevel'] = 0; - - input = input.replace(/\n/g, " "); - input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); - input = input.replace(/[\u2026]/g, "..."); - - // - // Looks through mhchemParser.transitions, to execute a matching action - // (recursive) - // - var lastInput; - var watchdog = 10; - /** @type {ParserOutput[]} */ - var output = []; - while (true) { - if (lastInput !== input) { - watchdog = 10; - lastInput = input; - } else { - watchdog--; - } - // - // Find actions in transition table - // - var machine = mhchemParser.stateMachines[stateMachine]; - var t = machine.transitions[state] || machine.transitions['*']; - iterateTransitions: - for (var i=0; i 0) { - if (!task.revisit) { - input = matches.remainder; - } - if (!task.toContinue) { - break iterateTransitions; - } - } else { - return output; - } - } - } - // - // Prevent infinite loop - // - if (watchdog <= 0) { - throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character - } - } - }, - concatArray: function (a, b) { - if (b) { - if (Array.isArray(b)) { - for (var iB=0; iB': /^[=<>]/, - '#': /^[#\u2261]/, - '+': /^\+/, - '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, // -space -, -; -] -/ -$ -state-of-aggregation - '-9': /^-(?=[0-9])/, - '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, - '-': /^-/, - 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, - 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, - 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, - '\\bond{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); }, - '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, - 'CMT': /^[CMT](?=\[)/, - '[(...)]': function (input) { return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); }, - '1st-level escape': /^(&|\\\\|\\hline)\s*/, - '\\,': /^(?:\\[,\ ;:])/, // \\x - but output no space before - '\\x{}{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); }, - '\\x{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); }, - '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, - '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, - 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, // only those with numbers in front, because the others will be formatted correctly anyway - 'others': /^[\/~|]/, - '\\frac{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); }, - '\\overset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); }, - '\\underset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); }, - '\\underbrace{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); }, - '\\color{(...)}0': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); }, - '\\color{(...)}{(...)}1': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); }, - '\\color(...){(...)}2': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); }, - '\\ce{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); }, - 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, - 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, // 0 could be oxidation or charge - 'roman numeral': /^[IVX]+/, - '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, - 'amount': function (input) { - var match; - // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing - match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); - if (a) { // e.g. $2n-1$, $-$ - match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - } - return null; - }, - 'amount2': function (input) { return this['amount'](input); }, - '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, - 'formula$': function (input) { - if (input.match(/^\([a-z]+\)$/)) { return null; } // state of aggregation = no formula - var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - return null; - }, - 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, - '/': /^\s*(\/)\s*/, - '//': /^\s*(\/\/)\s*/, - '*': /^\s*[*.]\s*/ - }, - findObserveGroups: function (input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { - /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ - var _match = function (input, pattern) { - if (typeof pattern === "string") { - if (input.indexOf(pattern) !== 0) { return null; } - return pattern; - } else { - var match = input.match(pattern); - if (!match) { return null; } - return match[0]; - } - }; - /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ - var _findObserveGroups = function (input, i, endChars) { - var braces = 0; - while (i < input.length) { - var a = input.charAt(i); - var match = _match(input.substr(i), endChars); - if (match !== null && braces === 0) { - return { endMatchBegin: i, endMatchEnd: i + match.length }; - } else if (a === "{") { - braces++; - } else if (a === "}") { - if (braces === 0) { - throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; - } else { - braces--; - } - } - i++; - } - if (braces > 0) { - return null; - } - return null; - }; - var match = _match(input, begExcl); - if (match === null) { return null; } - input = input.substr(match.length); - match = _match(input, begIncl); - if (match === null) { return null; } - var e = _findObserveGroups(input, match.length, endIncl || endExcl); - if (e === null) { return null; } - var match1 = input.substring(0, (endIncl ? e.endMatchEnd : e.endMatchBegin)); - if (!(beg2Excl || beg2Incl)) { - return { - match_: match1, - remainder: input.substr(e.endMatchEnd) - }; - } else { - var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); - if (group2 === null) { return null; } - /** @type {string[]} */ - var matchRet = [match1, group2.match_]; - return { - match_: (combine ? matchRet.join("") : matchRet), - remainder: group2.remainder - }; - } - }, - - // - // Matching function - // e.g. match("a", input) will look for the regexp called "a" and see if it matches - // returns null or {match_:"a", remainder:"bc"} - // - match_: function (m, input) { - var pattern = mhchemParser.patterns.patterns[m]; - if (pattern === undefined) { - throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern - } else if (typeof pattern === "function") { - return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser - } else { // RegExp - var match = input.match(pattern); - if (match) { - var mm; - if (match[2]) { - mm = [ match[1], match[2] ]; - } else if (match[1]) { - mm = match[1]; - } else { - mm = match[0]; - } - return { match_: mm, remainder: input.substr(match[0].length) }; - } - return null; - } - } - }, - - // - // Generic state machine actions - // - actions: { - 'a=': function (buffer, m) { buffer.a = (buffer.a || "") + m; }, - 'b=': function (buffer, m) { buffer.b = (buffer.b || "") + m; }, - 'p=': function (buffer, m) { buffer.p = (buffer.p || "") + m; }, - 'o=': function (buffer, m) { buffer.o = (buffer.o || "") + m; }, - 'q=': function (buffer, m) { buffer.q = (buffer.q || "") + m; }, - 'd=': function (buffer, m) { buffer.d = (buffer.d || "") + m; }, - 'rm=': function (buffer, m) { buffer.rm = (buffer.rm || "") + m; }, - 'text=': function (buffer, m) { buffer.text_ = (buffer.text_ || "") + m; }, - 'insert': function (buffer, m, a) { return { type_: a }; }, - 'insert+p1': function (buffer, m, a) { return { type_: a, p1: m }; }, - 'insert+p1+p2': function (buffer, m, a) { return { type_: a, p1: m[0], p2: m[1] }; }, - 'copy': function (buffer, m) { return m; }, - 'rm': function (buffer, m) { return { type_: 'rm', p1: m || ""}; }, - 'text': function (buffer, m) { return mhchemParser.go(m, 'text'); }, - '{text}': function (buffer, m) { - var ret = [ "{" ]; - mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); - ret.push("}"); - return ret; - }, - 'tex-math': function (buffer, m) { return mhchemParser.go(m, 'tex-math'); }, - 'tex-math tight': function (buffer, m) { return mhchemParser.go(m, 'tex-math tight'); }, - 'bond': function (buffer, m, k) { return { type_: 'bond', kind_: k || m }; }, - 'color0-output': function (buffer, m) { return { type_: 'color0', color: m[0] }; }, - 'ce': function (buffer, m) { return mhchemParser.go(m); }, - '1/2': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m.match(/^[+\-]/)) { - ret.push(m.substr(0, 1)); - m = m.substr(1); - } - var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); - n[1] = n[1].replace(/\$/g, ""); - ret.push({ type_: 'frac', p1: n[1], p2: n[2] }); - if (n[3]) { - n[3] = n[3].replace(/\$/g, ""); - ret.push({ type_: 'tex-math', p1: n[3] }); - } - return ret; - }, - '9,9': function (buffer, m) { return mhchemParser.go(m, '9,9'); } - }, - // - // createTransitions - // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } - // with expansion of 'a|b' to 'a' and 'b' (at 2 places) - // - createTransitions: function (o) { - var pattern, state; - /** @type {string[]} */ - var stateArray; - var i; - // - // 1. Collect all states - // - /** @type {Transitions} */ - var transitions = {}; - for (pattern in o) { - for (state in o[pattern]) { - stateArray = state.split("|"); - o[pattern][state].stateArray = stateArray; - for (i=0; i': { - '0|1|2|3': { action_: 'r=', nextState: 'r' }, - 'a|as': { action_: [ 'output', 'r=' ], nextState: 'r' }, - '*': { action_: [ 'output', 'r=' ], nextState: 'r' } }, - '+': { - 'o': { action_: 'd= kv', nextState: 'd' }, - 'd|D': { action_: 'd=', nextState: 'd' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'qd|qD': { action_: 'd=', nextState: 'qd' }, - 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' }, - '3': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, - 'amount': { - '0|2': { action_: 'a=', nextState: 'a' } }, - 'pm-operator': { - '0|1|2|a|as': { action_: [ 'sb=false', 'output', { type_: 'operator', option: '\\pm' } ], nextState: '0' } }, - 'operator': { - '0|1|2|a|as': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, - '-$': { - 'o|q': { action_: [ 'charge or bond', 'output' ], nextState: 'qd' }, - 'd': { action_: 'd=', nextState: 'd' }, - 'D': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'qd': { action_: 'd=', nextState: 'qd' }, - 'qD|dq': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, - '-9': { - '3|o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '3' } }, - '- orbital overlap': { - 'o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, - 'd': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' } }, - '-': { - '0|1|2': { action_: [ { type_: 'output', option: 1 }, 'beginsWithBond=true', { type_: 'bond', option: "-" } ], nextState: '3' }, - '3': { action_: { type_: 'bond', option: "-" } }, - 'a': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, - 'as': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "-" } ], nextState: '3' }, - 'b': { action_: 'b=' }, - 'o': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, - 'q': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, - 'd|qd|dq': { action_: { type_: '- after o/d', option: true }, nextState: '2' }, - 'D|qD|p': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, - 'amount2': { - '1|3': { action_: 'a=', nextState: 'a' } }, - 'letters': { - '0|1|2|3|a|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, - 'q|dq': { action_: ['output', 'o='], nextState: 'o' }, - 'd|D|qd|qD': { action_: 'o after d', nextState: 'o' } }, - 'digits': { - 'o': { action_: 'q=', nextState: 'q' }, - 'd|D': { action_: 'q=', nextState: 'dq' }, - 'q': { action_: [ 'output', 'o=' ], nextState: 'o' }, - 'a': { action_: 'o=', nextState: 'o' } }, - 'space A': { - 'b|p|bp': {} }, - 'space': { - 'a': { nextState: 'as' }, - '0': { action_: 'sb=false' }, - '1|2': { action_: 'sb=true' }, - 'r|rt|rd|rdt|rdq': { action_: 'output', nextState: '0' }, - '*': { action_: [ 'output', 'sb=true' ], nextState: '1'} }, - '1st-level escape': { - '1|2': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ] }, - '*': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ], nextState: '0' } }, - '[(...)]': { - 'r|rt': { action_: 'rd=', nextState: 'rd' }, - 'rd|rdt': { action_: 'rq=', nextState: 'rdq' } }, - '...': { - 'o|d|D|dq|qd|qD': { action_: [ 'output', { type_: 'bond', option: "..." } ], nextState: '3' }, - '*': { action_: [ { type_: 'output', option: 1 }, { type_: 'insert', option: 'ellipsis' } ], nextState: '1' } }, - '. |* ': { - '*': { action_: [ 'output', { type_: 'insert', option: 'addition compound' } ], nextState: '1' } }, - 'state of aggregation $': { - '*': { action_: [ 'output', 'state of aggregation' ], nextState: '1' } }, - '{[(': { - 'a|as|o': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, - '0|1|2|3': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, - '*': { action_: [ 'output', 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' } }, - ')]}': { - '0|1|2|3|b|p|bp|o': { action_: [ 'o=', 'parenthesisLevel--' ], nextState: 'o' }, - 'a|as|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=', 'parenthesisLevel--' ], nextState: 'o' } }, - ', ': { - '*': { action_: [ 'output', 'comma' ], nextState: '0' } }, - '^_': { // ^ and _ without a sensible argument - '*': { } }, - '^{(...)}|^($...$)': { - '0|1|2|as': { action_: 'b=', nextState: 'b' }, - 'p': { action_: 'b=', nextState: 'bp' }, - '3|o': { action_: 'd= kv', nextState: 'D' }, - 'q': { action_: 'd=', nextState: 'qD' }, - 'd|D|qd|qD|dq': { action_: [ 'output', 'd=' ], nextState: 'D' } }, - '^a|^\\x{}{}|^\\x{}|^\\x|\'': { - '0|1|2|as': { action_: 'b=', nextState: 'b' }, - 'p': { action_: 'b=', nextState: 'bp' }, - '3|o': { action_: 'd= kv', nextState: 'd' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'd|qd|D|qD': { action_: 'd=' }, - 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' } }, - '_{(state of aggregation)}$': { - 'd|D|q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, - '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { - '0|1|2|as': { action_: 'p=', nextState: 'p' }, - 'b': { action_: 'p=', nextState: 'bp' }, - '3|o': { action_: 'q=', nextState: 'q' }, - 'd|D': { action_: 'q=', nextState: 'dq' }, - 'q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, - '=<>': { - '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: '3' } }, - '#': { - '0|1|2|3|a|as|o': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "#" } ], nextState: '3' } }, - '{}': { - '*': { action_: { type_: 'output', option: 1 }, nextState: '1' } }, - '{...}': { - '0|1|2|3|a|as|b|p|bp': { action_: 'o=', nextState: 'o' }, - 'o|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, - '$...$': { - 'a': { action_: 'a=' }, // 2$n$ - '0|1|2|3|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, // not 'amount' - 'as|o': { action_: 'o=' }, - 'q|d|D|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, - '\\bond{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: "3" } }, - '\\frac{(...)}': { - '*': { action_: [ { type_: 'output', option: 1 }, 'frac-output' ], nextState: '3' } }, - '\\overset{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'overset-output' ], nextState: '3' } }, - '\\underset{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'underset-output' ], nextState: '3' } }, - '\\underbrace{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'underbrace-output' ], nextState: '3' } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: [ { type_: 'output', option: 2 }, 'color-output' ], nextState: '3' } }, - '\\color{(...)}0': { - '*': { action_: [ { type_: 'output', option: 2 }, 'color0-output' ] } }, - '\\ce{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'ce' ], nextState: '3' } }, - '\\,': { - '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '1' } }, - '\\x{}{}|\\x{}|\\x': { - '0|1|2|3|a|as|b|p|bp|o|c0': { action_: [ 'o=', 'output' ], nextState: '3' }, - '*': { action_: ['output', 'o=', 'output' ], nextState: '3' } }, - 'others': { - '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '3' } }, - 'else2': { - 'a': { action_: 'a to o', nextState: 'o', revisit: true }, - 'as': { action_: [ 'output', 'sb=true' ], nextState: '1', revisit: true }, - 'r|rt|rd|rdt|rdq': { action_: [ 'output' ], nextState: '0', revisit: true }, - '*': { action_: [ 'output', 'copy' ], nextState: '3' } } - }), - actions: { - 'o after d': function (buffer, m) { - var ret; - if ((buffer.d || "").match(/^[0-9]+$/)) { - var tmp = buffer.d; - buffer.d = undefined; - ret = this['output'](buffer); - buffer.b = tmp; - } else { - ret = this['output'](buffer); - } - mhchemParser.actions['o='](buffer, m); - return ret; - }, - 'd= kv': function (buffer, m) { - buffer.d = m; - buffer.dType = 'kv'; - }, - 'charge or bond': function (buffer, m) { - if (buffer['beginsWithBond']) { - /** @type {ParserOutput[]} */ - var ret = []; - mhchemParser.concatArray(ret, this['output'](buffer)); - mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); - return ret; - } else { - buffer.d = m; - } - }, - '- after o/d': function (buffer, m, isAfterD) { - var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); - var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); - var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); - var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); - var hyphenFollows = m==="-" && ( c1 && c1.remainder==="" || c2 || c3 || c4 ); - if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { - buffer.o = '$' + buffer.o + '$'; - } - /** @type {ParserOutput[]} */ - var ret = []; - if (hyphenFollows) { - mhchemParser.concatArray(ret, this['output'](buffer)); - ret.push({ type_: 'hyphen' }); - } else { - c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); - if (isAfterD && c1 && c1.remainder==='') { - mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); - mhchemParser.concatArray(ret, this['output'](buffer)); - } else { - mhchemParser.concatArray(ret, this['output'](buffer)); - mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); - } - } - return ret; - }, - 'a to o': function (buffer) { - buffer.o = buffer.a; - buffer.a = undefined; - }, - 'sb=true': function (buffer) { buffer.sb = true; }, - 'sb=false': function (buffer) { buffer.sb = false; }, - 'beginsWithBond=true': function (buffer) { buffer['beginsWithBond'] = true; }, - 'beginsWithBond=false': function (buffer) { buffer['beginsWithBond'] = false; }, - 'parenthesisLevel++': function (buffer) { buffer['parenthesisLevel']++; }, - 'parenthesisLevel--': function (buffer) { buffer['parenthesisLevel']--; }, - 'state of aggregation': function (buffer, m) { - return { type_: 'state of aggregation', p1: mhchemParser.go(m, 'o') }; - }, - 'comma': function (buffer, m) { - var a = m.replace(/\s*$/, ''); - var withSpace = (a !== m); - if (withSpace && buffer['parenthesisLevel'] === 0) { - return { type_: 'comma enumeration L', p1: a }; - } else { - return { type_: 'comma enumeration M', p1: a }; - } - }, - 'output': function (buffer, m, entityFollows) { - // entityFollows: - // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) - // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) - // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) - /** @type {ParserOutput | ParserOutput[]} */ - var ret; - if (!buffer.r) { - ret = []; - if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) { - //ret = []; - } else { - if (buffer.sb) { - ret.push({ type_: 'entitySkip' }); - } - if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows!==2) { - buffer.o = buffer.a; - buffer.a = undefined; - } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { - buffer.o = buffer.a; - buffer.d = buffer.b; - buffer.q = buffer.p; - buffer.a = buffer.b = buffer.p = undefined; - } else { - if (buffer.o && buffer.dType==='kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { - buffer.dType = 'oxidation'; - } else if (buffer.o && buffer.dType==='kv' && !buffer.q) { - buffer.dType = undefined; - } - } - ret.push({ - type_: 'chemfive', - a: mhchemParser.go(buffer.a, 'a'), - b: mhchemParser.go(buffer.b, 'bd'), - p: mhchemParser.go(buffer.p, 'pq'), - o: mhchemParser.go(buffer.o, 'o'), - q: mhchemParser.go(buffer.q, 'pq'), - d: mhchemParser.go(buffer.d, (buffer.dType === 'oxidation' ? 'oxidation' : 'bd')), - dType: buffer.dType - }); - } - } else { // r - /** @type {ParserOutput[]} */ - var rd; - if (buffer.rdt === 'M') { - rd = mhchemParser.go(buffer.rd, 'tex-math'); - } else if (buffer.rdt === 'T') { - rd = [ { type_: 'text', p1: buffer.rd || "" } ]; - } else { - rd = mhchemParser.go(buffer.rd); - } - /** @type {ParserOutput[]} */ - var rq; - if (buffer.rqt === 'M') { - rq = mhchemParser.go(buffer.rq, 'tex-math'); - } else if (buffer.rqt === 'T') { - rq = [ { type_: 'text', p1: buffer.rq || ""} ]; - } else { - rq = mhchemParser.go(buffer.rq); - } - ret = { - type_: 'arrow', - r: buffer.r, - rd: rd, - rq: rq - }; - } - for (var p in buffer) { - if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { - delete buffer[p]; - } - } - return ret; - }, - 'oxidation-output': function (buffer, m) { - var ret = [ "{" ]; - mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); - ret.push("}"); - return ret; - }, - 'frac-output': function (buffer, m) { - return { type_: 'frac-ce', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'overset-output': function (buffer, m) { - return { type_: 'overset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'underset-output': function (buffer, m) { - return { type_: 'underset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'underbrace-output': function (buffer, m) { - return { type_: 'underbrace', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1]) }; - }, - 'r=': function (buffer, m) { buffer.r = m; }, - 'rdt=': function (buffer, m) { buffer.rdt = m; }, - 'rd=': function (buffer, m) { buffer.rd = m; }, - 'rqt=': function (buffer, m) { buffer.rqt = m; }, - 'rq=': function (buffer, m) { buffer.rq = m; }, - 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; } - } - }, - 'a': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '1', revisit: true } }, - '$(...)$': { - '*': { action_: 'tex-math tight', nextState: '1' } }, - ',': { - '*': { action_: { type_: 'insert', option: 'commaDecimal' } } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: {} - }, - 'o': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '1', revisit: true } }, - 'letters': { - '*': { action_: 'rm' } }, - '\\ca': { - '*': { action_: { type_: 'insert', option: 'circa' } } }, - '\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: '{text}' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: {} - }, - 'text': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '{...}': { - '*': { action_: 'text=' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '\\greek': { - '*': { action_: [ 'output', 'rm' ] } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: [ 'output', 'copy' ] } }, - 'else': { - '*': { action_: 'text=' } } - }), - actions: { - 'output': function (buffer) { - if (buffer.text_) { - /** @type {ParserOutput} */ - var ret = { type_: 'text', p1: buffer.text_ }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - 'pq': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'state of aggregation $': { - '*': { action_: 'state of aggregation' } }, - 'i$': { - '0': { nextState: '!f', revisit: true } }, - '(KV letters),': { - '0': { action_: 'rm', nextState: '0' } }, - 'formula$': { - '0': { nextState: 'f', revisit: true } }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '!f', revisit: true } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: 'text' } }, - 'a-z': { - 'f': { action_: 'tex-math' } }, - 'letters': { - '*': { action_: 'rm' } }, - '-9.,9': { - '*': { action_: '9,9' } }, - ',': { - '*': { action_: { type_: 'insert+p1', option: 'comma enumeration S' } } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: 'color-output' } }, - '\\color{(...)}0': { - '*': { action_: 'color0-output' } }, - '\\ce{(...)}': { - '*': { action_: 'ce' } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: { - 'state of aggregation': function (buffer, m) { - return { type_: 'state of aggregation subscript', p1: mhchemParser.go(m, 'o') }; - }, - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'pq') }; - } - } - }, - 'bd': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'x$': { - '0': { nextState: '!f', revisit: true } }, - 'formula$': { - '0': { nextState: 'f', revisit: true } }, - 'else': { - '0': { nextState: '!f', revisit: true } }, - '-9.,9 no missing 0': { - '*': { action_: '9,9' } }, - '.': { - '*': { action_: { type_: 'insert', option: 'electron dot' } } }, - 'a-z': { - 'f': { action_: 'tex-math' } }, - 'x': { - '*': { action_: { type_: 'insert', option: 'KV x' } } }, - 'letters': { - '*': { action_: 'rm' } }, - '\'': { - '*': { action_: { type_: 'insert', option: 'prime' } } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: 'text' } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: 'color-output' } }, - '\\color{(...)}0': { - '*': { action_: 'color0-output' } }, - '\\ce{(...)}': { - '*': { action_: 'ce' } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: { - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'bd') }; - } - } - }, - 'oxidation': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'roman numeral': { - '*': { action_: 'roman-numeral' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - 'else': { - '*': { action_: 'copy' } } - }), - actions: { - 'roman-numeral': function (buffer, m) { return { type_: 'roman numeral', p1: m || "" }; } - } - }, - 'tex-math': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '\\ce{(...)}': { - '*': { action_: [ 'output', 'ce' ] } }, - '{...}|\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'o=' } }, - 'else': { - '*': { action_: 'o=' } } - }), - actions: { - 'output': function (buffer) { - if (buffer.o) { - /** @type {ParserOutput} */ - var ret = { type_: 'tex-math', p1: buffer.o }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - 'tex-math tight': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '\\ce{(...)}': { - '*': { action_: [ 'output', 'ce' ] } }, - '{...}|\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'o=' } }, - '-|+': { - '*': { action_: 'tight operator' } }, - 'else': { - '*': { action_: 'o=' } } - }), - actions: { - 'tight operator': function (buffer, m) { buffer.o = (buffer.o || "") + "{"+m+"}"; }, - 'output': function (buffer) { - if (buffer.o) { - /** @type {ParserOutput} */ - var ret = { type_: 'tex-math', p1: buffer.o }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - '9,9': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - ',': { - '*': { action_: 'comma' } }, - 'else': { - '*': { action_: 'copy' } } - }), - actions: { - 'comma': function () { return { type_: 'commaDecimal' }; } - } - }, - //#endregion - // - // \pu state machines - // - //#region pu - 'pu': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - 'space$': { - '*': { action_: [ 'output', 'space' ] } }, - '{[(|)]}': { - '0|a': { action_: 'copy' } }, - '(-)(9)^(-9)': { - '0': { action_: 'number^', nextState: 'a' } }, - '(-)(9.,9)(e)(99)': { - '0': { action_: 'enumber', nextState: 'a' } }, - 'space': { - '0|a': {} }, - 'pm-operator': { - '0|a': { action_: { type_: 'operator', option: '\\pm' }, nextState: '0' } }, - 'operator': { - '0|a': { action_: 'copy', nextState: '0' } }, - '//': { - 'd': { action_: 'o=', nextState: '/' } }, - '/': { - 'd': { action_: 'o=', nextState: '/' } }, - '{...}|else': { - '0|d': { action_: 'd=', nextState: 'd' }, - 'a': { action_: [ 'space', 'd=' ], nextState: 'd' }, - '/|q': { action_: 'q=', nextState: 'q' } } - }), - actions: { - 'enumber': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m[0] === "+-" || m[0] === "+/-") { - ret.push("\\pm "); - } else if (m[0]) { - ret.push(m[0]); - } - if (m[1]) { - mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); - if (m[2]) { - if (m[2].match(/[,.]/)) { - mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); - } else { - ret.push(m[2]); - } - } - m[3] = m[4] || m[3]; - if (m[3]) { - m[3] = m[3].trim(); - if (m[3] === "e" || m[3].substr(0, 1) === "*") { - ret.push({ type_: 'cdot' }); - } else { - ret.push({ type_: 'times' }); - } - } - } - if (m[3]) { - ret.push("10^{"+m[5]+"}"); - } - return ret; - }, - 'number^': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m[0] === "+-" || m[0] === "+/-") { - ret.push("\\pm "); - } else if (m[0]) { - ret.push(m[0]); - } - mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); - ret.push("^{"+m[2]+"}"); - return ret; - }, - 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; }, - 'space': function () { return { type_: 'pu-space-1' }; }, - 'output': function (buffer) { - /** @type {ParserOutput | ParserOutput[]} */ - var ret; - var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); - if (md && md.remainder === '') { buffer.d = md.match_; } - var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); - if (mq && mq.remainder === '') { buffer.q = mq.match_; } - if (buffer.d) { - buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); - buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); - } - if (buffer.q) { // fraction - buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); - buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); - var b5 = { - d: mhchemParser.go(buffer.d, 'pu'), - q: mhchemParser.go(buffer.q, 'pu') - }; - if (buffer.o === '//') { - ret = { type_: 'pu-frac', p1: b5.d, p2: b5.q }; - } else { - ret = b5.d; - if (b5.d.length > 1 || b5.q.length > 1) { - ret.push({ type_: ' / ' }); - } else { - ret.push({ type_: '/' }); - } - mhchemParser.concatArray(ret, b5.q); - } - } else { // no fraction - ret = mhchemParser.go(buffer.d, 'pu-2'); - } - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - }, - 'pu-2': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '*': { - '*': { action_: [ 'output', 'cdot' ], nextState: '0' } }, - '\\x': { - '*': { action_: 'rm=' } }, - 'space': { - '*': { action_: [ 'output', 'space' ], nextState: '0' } }, - '^{(...)}|^(-1)': { - '1': { action_: '^(-1)' } }, - '-9.,9': { - '0': { action_: 'rm=', nextState: '0' }, - '1': { action_: '^(-1)', nextState: '0' } }, - '{...}|else': { - '*': { action_: 'rm=', nextState: '1' } } - }), - actions: { - 'cdot': function () { return { type_: 'tight cdot' }; }, - '^(-1)': function (buffer, m) { buffer.rm += "^{"+m+"}"; }, - 'space': function () { return { type_: 'pu-space-2' }; }, - 'output': function (buffer) { - /** @type {ParserOutput | ParserOutput[]} */ - var ret = []; - if (buffer.rm) { - var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); - if (mrm && mrm.remainder === '') { - ret = mhchemParser.go(mrm.match_, 'pu'); - } else { - ret = { type_: 'rm', p1: buffer.rm }; - } - } - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - }, - 'pu-9,9': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '0': { action_: 'output-0' }, - 'o': { action_: 'output-o' } }, - ',': { - '0': { action_: [ 'output-0', 'comma' ], nextState: 'o' } }, - '.': { - '0': { action_: [ 'output-0', 'copy' ], nextState: 'o' } }, - 'else': { - '*': { action_: 'text=' } } - }), - actions: { - 'comma': function () { return { type_: 'commaDecimal' }; }, - 'output-0': function (buffer) { - /** @type {ParserOutput[]} */ - var ret = []; - buffer.text_ = buffer.text_ || ""; - if (buffer.text_.length > 4) { - var a = buffer.text_.length % 3; - if (a === 0) { a = 3; } - for (var i=buffer.text_.length-3; i>0; i-=3) { - ret.push(buffer.text_.substr(i, 3)); - ret.push({ type_: '1000 separator' }); - } - ret.push(buffer.text_.substr(0, a)); - ret.reverse(); - } else { - ret.push(buffer.text_); - } - for (var p in buffer) { delete buffer[p]; } - return ret; - }, - 'output-o': function (buffer) { - /** @type {ParserOutput[]} */ - var ret = []; - buffer.text_ = buffer.text_ || ""; - if (buffer.text_.length > 4) { - var a = buffer.text_.length - 3; - for (var i=0; i, so we change \vphantom{X} to {} - // TODO: Reinstate \vphantom{X} when the Firefox bug is fixed. -// res += "{\\vphantom{X}}"; - res += "{{}}"; - res += "_{\\smash[t]{"+b5.q+"}}"; - } - } else { - if (b5.q) { - // TODO: Reinstate \vphantom{X} when the Firefox bug is fixed. -// res += "{\\vphantom{X}}"; - res += "{{}}"; - res += "_{\\smash[t]{"+b5.q+"}}"; - } - if (b5.d) { - // TODO: Reinstate \vphantom{X} when the Firefox bug is fixed. -// res += "{\\vphantom{X}}"; - res += "{{}}"; - res += "^{"+b5.d+"}"; - } - } - break; - case 'rm': - res = "\\mathrm{"+buf.p1+"}"; - break; - case 'text': - if (buf.p1.match(/[\^_]/)) { - buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}"); - res = "\\mathrm{"+buf.p1+"}"; - } else { - res = "\\text{"+buf.p1+"}"; - } - break; - case 'roman numeral': - res = "\\mathrm{"+buf.p1+"}"; - break; - case 'state of aggregation': - res = "\\mskip2mu "+texify._goInner(buf.p1); - break; - case 'state of aggregation subscript': - res = "\\mskip1mu "+texify._goInner(buf.p1); - break; - case 'bond': - res = texify._getBond(buf.kind_); - if (!res) { - throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"]; - } - break; - case 'frac': - var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}"; - res = "\\mathchoice{\\textstyle"+c+"}{"+c+"}{"+c+"}{"+c+"}"; - break; - case 'pu-frac': - var d = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; - res = "\\mathchoice{\\textstyle"+d+"}{"+d+"}{"+d+"}{"+d+"}"; - break; - case 'tex-math': - res = buf.p1 + " "; - break; - case 'frac-ce': - res = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; - break; - case 'overset': - res = "\\overset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; - break; - case 'underset': - res = "\\underset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; - break; - case 'underbrace': - res = "\\underbrace{" + texify._goInner(buf.p1) + "}_{" + texify._goInner(buf.p2) + "}"; - break; - case 'color': - res = "{\\color{" + buf.color1 + "}{" + texify._goInner(buf.color2) + "}}"; - break; - case 'color0': - res = "\\color{" + buf.color + "}"; - break; - case 'arrow': - var b6 = { - rd: texify._goInner(buf.rd), - rq: texify._goInner(buf.rq) - }; - var arrow = texify._getArrow(buf.r); - if (b6.rq) { arrow += "[{\\rm " + b6.rq + "}]"; } - if (b6.rd) { - arrow += "{\\rm " + b6.rd + "}"; - } else { - arrow += "{}"; - } - res = arrow; - break; - case 'operator': - res = texify._getOperator(buf.kind_); - break; - case '1st-level escape': - res = buf.p1+" "; // &, \\\\, \\hlin - break; - case 'space': - res = " "; - break; - case 'entitySkip': - res = "~"; - break; - case 'pu-space-1': - res = "~"; - break; - case 'pu-space-2': - res = "\\mkern3mu "; - break; - case '1000 separator': - res = "\\mkern2mu "; - break; - case 'commaDecimal': - res = "{,}"; - break; - case 'comma enumeration L': - res = "{"+buf.p1+"}\\mkern6mu "; - break; - case 'comma enumeration M': - res = "{"+buf.p1+"}\\mkern3mu "; - break; - case 'comma enumeration S': - res = "{"+buf.p1+"}\\mkern1mu "; - break; - case 'hyphen': - res = "\\text{-}"; - break; - case 'addition compound': - res = "\\,{\\cdot}\\,"; - break; - case 'electron dot': - res = "\\mkern1mu \\text{\\textbullet}\\mkern1mu "; - break; - case 'KV x': - res = "{\\times}"; - break; - case 'prime': - res = "\\prime "; - break; - case 'cdot': - res = "\\cdot "; - break; - case 'tight cdot': - res = "\\mkern1mu{\\cdot}\\mkern1mu "; - break; - case 'times': - res = "\\times "; - break; - case 'circa': - res = "{\\sim}"; - break; - case '^': - res = "uparrow"; - break; - case 'v': - res = "downarrow"; - break; - case 'ellipsis': - res = "\\ldots "; - break; - case '/': - res = "/"; - break; - case ' / ': - res = "\\,/\\,"; - break; - default: - assertNever(buf); - throw ["MhchemBugT", "mhchem bug T. Please report."]; // Missing texify rule or unknown MhchemParser output - } - assertString(res); - return res; - }, - _getArrow: function (a) { - switch (a) { - case "->": return "\\yields"; - case "\u2192": return "\\yields"; - case "\u27F6": return "\\yields"; - case "<-": return "\\yieldsLeft"; - case "<->": return "\\mesomerism"; - case "<-->": return "\\yieldsLeftRight"; - case "<=>": return "\\equilibrium"; - case "\u21CC": return "\\equilibrium"; - case "<=>>": return "\\equilibriumRight"; - case "<<=>": return "\\equilibriumLeft"; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - }, - _getBond: function (a) { - switch (a) { - case "-": return "{-}"; - case "1": return "{-}"; - case "=": return "{=}"; - case "2": return "{=}"; - case "#": return "{\\equiv}"; - case "3": return "{\\equiv}"; - case "~": return "{\\tripleDash}"; - case "~-": return "{\\tripleDashOverLine}"; - case "~=": return "{\\tripleDashOverDoubleLine}"; - case "~--": return "{\\tripleDashOverDoubleLine}"; - case "-~-": return "{\\tripleDashBetweenDoubleLine}"; - case "...": return "{{\\cdot}{\\cdot}{\\cdot}}"; - case "....": return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; - case "->": return "{\\rightarrow}"; - case "<-": return "{\\leftarrow}"; - case "<": return "{<}"; - case ">": return "{>}"; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - }, - _getOperator: function (a) { - switch (a) { - case "+": return " {}+{} "; - case "-": return " {}-{} "; - case "=": return " {}={} "; - case "<": return " {}<{} "; - case ">": return " {}>{} "; - case "<<": return " {}\\ll{} "; - case ">>": return " {}\\gg{} "; - case "\\pm": return " {}\\pm{} "; - case "\\approx": return " {}\\approx{} "; - case "$\\approx$": return " {}\\approx{} "; - case "v": return " \\downarrow{} "; - case "(v)": return " \\downarrow{} "; - case "^": return " \\uparrow{} "; - case "(^)": return " \\uparrow{} "; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - } - }; - - // - // Helpers for code anaylsis - // Will show type error at calling position - // - /** @param {number} a */ - function assertNever(a) {} - /** @param {string} a */ - function assertString(a) {} diff --git a/contrib/mhchem/mhchem.min.js b/contrib/mhchem/mhchem.min.js deleted file mode 100644 index 1e317929..00000000 --- a/contrib/mhchem/mhchem.min.js +++ /dev/null @@ -1 +0,0 @@ -temml.__defineMacro("\\ce",(function(t){return chemParse(t.consumeArgs(1)[0],"ce")})),temml.__defineMacro("\\pu",(function(t){return chemParse(t.consumeArgs(1)[0],"pu")})),temml.__defineMacro("\\uniDash","{\\rule{0.672em}{0.06em}}"),temml.__defineMacro("\\triDash","{\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}}"),temml.__defineMacro("\\tripleDash","\\kern0.075em\\raise0.25em{\\triDash}\\kern0.075em"),temml.__defineMacro("\\tripleDashOverLine","\\kern0.075em\\mathrlap{\\raise0.125em{\\uniDash}}\\raise0.34em{\\triDash}\\kern0.075em"),temml.__defineMacro("\\tripleDashOverDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\triDash}}\\raise0.27em{\\uniDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em"),temml.__defineMacro("\\tripleDashBetweenDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\uniDash}}\\raise0.27em{\\triDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em");var chemParse=function(t,e){for(var r="",a=t[t.length-1].loc.start,n=t.length-1;n>=0;n--)t[n].loc.start>a&&(r+=" ",a=t[n].loc.start),r+=t[n].text,a+=t[n].text.length;return texify.go(mhchemParser.go(r,e))},mhchemParser={go:function(t,e){if(!t)return[];void 0===e&&(e="ce");var r,a="0",n={};n.parenthesisLevel=0,t=(t=(t=t.replace(/\n/g," ")).replace(/[\u2212\u2013\u2014\u2010]/g,"-")).replace(/[\u2026]/g,"...");for(var o=10,i=[];;){r!==t?(o=10,r=t):o--;var c=mhchemParser.stateMachines[e],s=c.transitions[a]||c.transitions["*"];t:for(var u=0;u0))return i;if(m.revisit||(t=p.remainder),!m.toContinue)break t}}if(o<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var r=0;r":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return mhchemParser.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return mhchemParser.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return mhchemParser.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return mhchemParser.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var r=mhchemParser.patterns.findObserveGroups(t,"","$","$","");return r&&(e=r.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,r,a,n,o,i,c,s,u){var p=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var r=t.match(e);return r?r[0]:null},m=p(t,e);if(null===m)return null;if(t=t.substr(m.length),null===(m=p(t,r)))return null;var h=function(t,e,r){for(var a=0;e":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var r;if((t.d||"").match(/^[0-9]+$/)){var a=t.d;t.d=void 0,r=this.output(t),t.b=a}else r=this.output(t);return mhchemParser.actions["o="](t,e),r},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var r=[];return mhchemParser.concatArray(r,this.output(t)),mhchemParser.concatArray(r,mhchemParser.actions.bond(t,e,"-")),r}t.d=e},"- after o/d":function(t,e,r){var a=mhchemParser.patterns.match_("orbital",t.o||""),n=mhchemParser.patterns.match_("one lowercase greek letter $",t.o||""),o=mhchemParser.patterns.match_("one lowercase latin letter $",t.o||""),i=mhchemParser.patterns.match_("$one lowercase latin letter$ $",t.o||""),c="-"===e&&(a&&""===a.remainder||n||o||i);!c||t.a||t.b||t.p||t.d||t.q||a||!o||(t.o="$"+t.o+"$");var s=[];return c?(mhchemParser.concatArray(s,this.output(t)),s.push({type_:"hyphen"})):(a=mhchemParser.patterns.match_("digits",t.d||""),r&&a&&""===a.remainder?(mhchemParser.concatArray(s,mhchemParser.actions["d="](t,e)),mhchemParser.concatArray(s,this.output(t))):(mhchemParser.concatArray(s,this.output(t)),mhchemParser.concatArray(s,mhchemParser.actions.bond(t,e,"-")))),s},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:mhchemParser.go(e,"o")}},comma:function(t,e){var r=e.replace(/\s*$/,"");return r!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:r}:{type_:"comma enumeration M",p1:r}},output:function(t,e,r){var a,n,o;t.r?(n="M"===t.rdt?mhchemParser.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:mhchemParser.go(t.rd),o="M"===t.rqt?mhchemParser.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:mhchemParser.go(t.rq),a={type_:"arrow",r:t.r,rd:n,rq:o}):(a=[],(t.a||t.b||t.p||t.o||t.q||t.d||r)&&(t.sb&&a.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===r?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&mhchemParser.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),a.push({type_:"chemfive",a:mhchemParser.go(t.a,"a"),b:mhchemParser.go(t.b,"bd"),p:mhchemParser.go(t.p,"pq"),o:mhchemParser.go(t.o,"o"),q:mhchemParser.go(t.q,"pq"),d:mhchemParser.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType})));for(var i in t)"parenthesisLevel"!==i&&"beginsWithBond"!==i&&delete t[i];return a},"oxidation-output":function(t,e){var r=["{"];return mhchemParser.concatArray(r,mhchemParser.go(e,"oxidation")),r.push("}"),r},"frac-output":function(t,e){return{type_:"frac-ce",p1:mhchemParser.go(e[0]),p2:mhchemParser.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:mhchemParser.go(e[0]),p2:mhchemParser.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:mhchemParser.go(e[0]),p2:mhchemParser.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:mhchemParser.go(e[0]),p2:mhchemParser.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:mhchemParser.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,r){return{type_:"operator",kind_:r||e}}}},a:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var r in t)delete t[r];return e}}}},pq:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:mhchemParser.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:mhchemParser.go(e[1],"pq")}}}},bd:{transitions:mhchemParser.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:mhchemParser.go(e[1],"bd")}}}},oxidation:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var r in t)delete t[r];return e}}}},"tex-math tight":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var r in t)delete t[r];return e}}}},"9,9":{transitions:mhchemParser.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var r=[];return"+-"===e[0]||"+/-"===e[0]?r.push("\\pm "):e[0]&&r.push(e[0]),e[1]&&(mhchemParser.concatArray(r,mhchemParser.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?mhchemParser.concatArray(r,mhchemParser.go(e[2],"pu-9,9")):r.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),"e"===e[3]||"*"===e[3].substr(0,1)?r.push({type_:"cdot"}):r.push({type_:"times"}))),e[3]&&r.push("10^{"+e[5]+"}"),r},"number^":function(t,e){var r=[];return"+-"===e[0]||"+/-"===e[0]?r.push("\\pm "):e[0]&&r.push(e[0]),mhchemParser.concatArray(r,mhchemParser.go(e[1],"pu-9,9")),r.push("^{"+e[2]+"}"),r},operator:function(t,e,r){return{type_:"operator",kind_:r||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,r=mhchemParser.patterns.match_("{(...)}",t.d||"");r&&""===r.remainder&&(t.d=r.match_);var a=mhchemParser.patterns.match_("{(...)}",t.q||"");if(a&&""===a.remainder&&(t.q=a.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var n={d:mhchemParser.go(t.d,"pu"),q:mhchemParser.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:n.d,p2:n.q}:(e=n.d,n.d.length>1||n.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),mhchemParser.concatArray(e,n.q))}else e=mhchemParser.go(t.d,"pu-2");for(var o in t)delete t[o];return e}}},"pu-2":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var r=mhchemParser.patterns.match_("{(...)}",t.rm||"");e=r&&""===r.remainder?mhchemParser.go(r.match_,"pu"):{type_:"rm",p1:t.rm}}for(var a in t)delete t[a];return e}}},"pu-9,9":{transitions:mhchemParser.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var r=t.text_.length%3;0===r&&(r=3);for(var a=t.text_.length-3;a>0;a-=3)e.push(t.text_.substr(a,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,r)),e.reverse()}else e.push(t.text_);for(var n in t)delete t[n];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var r=t.text_.length-3,a=0;a":case"→":case"⟶":return"\\yields";case"<-":return"\\yieldsLeft";case"<->":return"\\mesomerism";case"<--\x3e":return"\\yieldsLeftRight";case"<=>":case"⇌":return"\\equilibrium";case"<=>>":return"\\equilibriumRight";case"<<=>":return"\\equilibriumLeft";default:throw assertNever(t),["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripleDash}";case"~-":return"{\\tripleDashOverLine}";case"~=":case"~--":return"{\\tripleDashOverDoubleLine}";case"-~-":return"{\\tripleDashBetweenDoubleLine}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw assertNever(t),["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw assertNever(t),["MhchemBugT","mhchem bug T. Please report."]}}};function assertNever(t){}function assertString(t){} \ No newline at end of file diff --git a/contrib/physics/README.md b/contrib/physics/README.md deleted file mode 100644 index 5df6d4e6..00000000 --- a/contrib/physics/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# physics extension - -This extension adds to Temml many of the functions from the LaTeX [physics package](https://www.ctan.org/tex-archive/macros/latex/contrib/physics). - -You can download the `physics.js` file from this repository. - -### Usage - -This extension isn't part of core Temml, so the script should be separately included in the HTML page's ``. Place it _after_ the line that calls `temml.js`. - -```html - - -``` - -If you are working sever-side, just use `temml.cjs`. It already includes all the functions in `physics.js`. - -### Syntax - -All the functions in the physics extension are listed in the [physics section](https://temml.org/docs/en/supported.html#physics-and-chemistry) (below the fold) of the Temml docs. diff --git a/contrib/physics/physics.js b/contrib/physics/physics.js deleted file mode 100644 index 961e7f22..00000000 --- a/contrib/physics/physics.js +++ /dev/null @@ -1,131 +0,0 @@ -/* eslint-disable no-undef */ - -/**************************************************** - * - * physics.js - * - * Implements the Physics Package for LaTeX input. - * - * --------------------------------------------------------------------- - * - * The original version of this file is licensed as follows: - * Copyright (c) 2015-2016 Kolen Cheung . - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * --------------------------------------------------------------------- - * - * This file has been revised from the original in the following ways: - * 1. The interface is changed so that it can be called from Temml, not MathJax. - * 2. \Re and \Im are not used, to avoid conflict with existing LaTeX letters. - * - * This revision of the file is released under the MIT license. - * https://mit-license.org/ - */ -temml.__defineMacro("\\quantity", "{\\left\\{ #1 \\right\\}}"); -temml.__defineMacro("\\qty", "{\\left\\{ #1 \\right\\}}"); -temml.__defineMacro("\\pqty", "{\\left( #1 \\right)}"); -temml.__defineMacro("\\bqty", "{\\left[ #1 \\right]}"); -temml.__defineMacro("\\vqty", "{\\left\\vert #1 \\right\\vert}"); -temml.__defineMacro("\\Bqty", "{\\left\\{ #1 \\right\\}}"); -temml.__defineMacro("\\absolutevalue", "{\\left\\vert #1 \\right\\vert}"); -temml.__defineMacro("\\abs", "{\\left\\vert #1 \\right\\vert}"); -temml.__defineMacro("\\norm", "{\\left\\Vert #1 \\right\\Vert}"); -temml.__defineMacro("\\evaluated", "{\\left.#1 \\right\\vert}"); -temml.__defineMacro("\\eval", "{\\left.#1 \\right\\vert}"); -temml.__defineMacro("\\order", "{\\mathcal{O} \\left( #1 \\right)}"); -temml.__defineMacro("\\commutator", "{\\left[ #1 , #2 \\right]}"); -temml.__defineMacro("\\comm", "{\\left[ #1 , #2 \\right]}"); -temml.__defineMacro("\\anticommutator", "{\\left\\{ #1 , #2 \\right\\}}"); -temml.__defineMacro("\\acomm", "{\\left\\{ #1 , #2 \\right\\}}"); -temml.__defineMacro("\\poissonbracket", "{\\left\\{ #1 , #2 \\right\\}}"); -temml.__defineMacro("\\pb", "{\\left\\{ #1 , #2 \\right\\}}"); -temml.__defineMacro("\\vectorbold", "{\\boldsymbol{ #1 }}"); -temml.__defineMacro("\\vb", "{\\boldsymbol{ #1 }}"); -temml.__defineMacro("\\vectorarrow", "{\\vec{\\boldsymbol{ #1 }}}"); -temml.__defineMacro("\\va", "{\\vec{\\boldsymbol{ #1 }}}"); -temml.__defineMacro("\\vectorunit", "{{\\boldsymbol{\\hat{ #1 }}}}"); -temml.__defineMacro("\\vu", "{{\\boldsymbol{\\hat{ #1 }}}}"); -temml.__defineMacro("\\dotproduct", "\\mathbin{\\boldsymbol\\cdot}"); -temml.__defineMacro("\\vdot", "{\\boldsymbol\\cdot}"); -temml.__defineMacro("\\crossproduct", "\\mathbin{\\boldsymbol\\times}"); -temml.__defineMacro("\\cross", "\\mathbin{\\boldsymbol\\times}"); -temml.__defineMacro("\\cp", "\\mathbin{\\boldsymbol\\times}"); -temml.__defineMacro("\\gradient", "{\\boldsymbol\\nabla}"); -temml.__defineMacro("\\grad", "{\\boldsymbol\\nabla}"); -temml.__defineMacro("\\divergence", "{\\grad\\vdot}"); -//temml.__defineMacro("\\div", "{\\grad\\vdot}"); Not included in Temml. Conflicts w/LaTeX \div -temml.__defineMacro("\\curl", "{\\grad\\cross}"); -temml.__defineMacro("\\laplacian", "\\nabla^2"); -temml.__defineMacro("\\tr", "{\\operatorname{tr}}"); -temml.__defineMacro("\\Tr", "{\\operatorname{Tr}}"); -temml.__defineMacro("\\rank", "{\\operatorname{rank}}"); -temml.__defineMacro("\\erf", "{\\operatorname{erf}}"); -temml.__defineMacro("\\Res", "{\\operatorname{Res}}"); -temml.__defineMacro("\\principalvalue", "{\\mathcal{P}}"); -temml.__defineMacro("\\pv", "{\\mathcal{P}}"); -temml.__defineMacro("\\PV", "{\\operatorname{P.V.}}"); -// Temml does not use the next two lines. They conflict with LaTeX letters. -//temml.__defineMacro("\\Re", "{\\operatorname{Re} \\left\\{ #1 \\right\\}}"); -//temml.__defineMacro("\\Im", "{\\operatorname{Im} \\left\\{ #1 \\right\\}}"); -temml.__defineMacro("\\qqtext", "{\\quad\\text{ #1 }\\quad}"); -temml.__defineMacro("\\qq", "{\\quad\\text{ #1 }\\quad}"); -temml.__defineMacro("\\qcomma", "{\\text{,}\\quad}"); -temml.__defineMacro("\\qc", "{\\text{,}\\quad}"); -temml.__defineMacro("\\qcc", "{\\quad\\text{c.c.}\\quad}"); -temml.__defineMacro("\\qif", "{\\quad\\text{if}\\quad}"); -temml.__defineMacro("\\qthen", "{\\quad\\text{then}\\quad}"); -temml.__defineMacro("\\qelse", "{\\quad\\text{else}\\quad}"); -temml.__defineMacro("\\qotherwise", "{\\quad\\text{otherwise}\\quad}"); -temml.__defineMacro("\\qunless", "{\\quad\\text{unless}\\quad}"); -temml.__defineMacro("\\qgiven", "{\\quad\\text{given}\\quad}"); -temml.__defineMacro("\\qusing", "{\\quad\\text{using}\\quad}"); -temml.__defineMacro("\\qassume", "{\\quad\\text{assume}\\quad}"); -temml.__defineMacro("\\qsince", "{\\quad\\text{since}\\quad}"); -temml.__defineMacro("\\qlet", "{\\quad\\text{let}\\quad}"); -temml.__defineMacro("\\qfor", "{\\quad\\text{for}\\quad}"); -temml.__defineMacro("\\qall", "{\\quad\\text{all}\\quad}"); -temml.__defineMacro("\\qeven", "{\\quad\\text{even}\\quad}"); -temml.__defineMacro("\\qodd", "{\\quad\\text{odd}\\quad}"); -temml.__defineMacro("\\qinteger", "{\\quad\\text{integer}\\quad}"); -temml.__defineMacro("\\qand", "{\\quad\\text{and}\\quad}"); -temml.__defineMacro("\\qor", "{\\quad\\text{or}\\quad}"); -temml.__defineMacro("\\qas", "{\\quad\\text{as}\\quad}"); -temml.__defineMacro("\\qin", "{\\quad\\text{in}\\quad}"); -temml.__defineMacro("\\differential", "{\\text{d}}"); -temml.__defineMacro("\\dd", "{\\text{d}}"); -temml.__defineMacro("\\derivative", "{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}"); -temml.__defineMacro("\\dv", "{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}"); -temml.__defineMacro("\\partialderivative", "{\\frac{\\partial{ #1 }}{\\partial{ #2 }}}"); -temml.__defineMacro("\\variation", "{\\delta}"); -temml.__defineMacro("\\var", "{\\delta}"); -temml.__defineMacro("\\functionalderivative", "{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}"); -temml.__defineMacro("\\fdv", "{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}"); -temml.__defineMacro("\\innerproduct", "{\\left\\langle {#1} \\mid { #2} \\right\\rangle}"); -temml.__defineMacro("\\outerproduct", - "{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}"); -temml.__defineMacro("\\dyad", - "{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}"); -temml.__defineMacro("\\ketbra", - "{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}"); -temml.__defineMacro("\\op", - "{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}"); -temml.__defineMacro("\\expectationvalue", "{\\left\\langle {#1 } \\right\\rangle}"); -temml.__defineMacro("\\expval", "{\\left\\langle {#1 } \\right\\rangle}"); -temml.__defineMacro("\\ev", "{\\left\\langle {#1 } \\right\\rangle}"); -temml.__defineMacro("\\matrixelement", - "{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}"); -temml.__defineMacro("\\matrixel", - "{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}"); -temml.__defineMacro("\\mel", - "{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}"); diff --git a/contrib/texvc/README.md b/contrib/texvc/README.md deleted file mode 100644 index 2b6d8cac..00000000 --- a/contrib/texvc/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# texvc extension - -This extension adds to Temml functions available in mediawiki pages. - -It omits the functions deprecated at -https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax - -You can download the `texvc.js` file from this repository. - -### Usage - -This extension isn't part of core Temml, so the script should be separately included in the HTML page's ``. Place it _after_ the line that calls `temml.js`. - -```html - - -``` - -If you are working sever-side, just use `temml.cjs`. It already includes all the functions in `texvc.js`. - -### Syntax - -All the functions in the _texvc_ extension are listed in the [Temml docs](https://temml.org/docs/en/supported.html). diff --git a/contrib/texvc/texvc.js b/contrib/texvc/texvc.js deleted file mode 100644 index ddd5b1aa..00000000 --- a/contrib/texvc/texvc.js +++ /dev/null @@ -1,61 +0,0 @@ -/* eslint-disable no-undef */ - -////////////////////////////////////////////////////////////////////// -// texvc.sty - -// The texvc package contains macros available in mediawiki pages. -// We omit the functions deprecated at -// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax - -// We also omit texvc's \O, which conflicts with \text{\O} - -temml.__defineMacro("\\darr", "\\downarrow"); -temml.__defineMacro("\\dArr", "\\Downarrow"); -temml.__defineMacro("\\Darr", "\\Downarrow"); -temml.__defineMacro("\\lang", "\\langle"); -temml.__defineMacro("\\rang", "\\rangle"); -temml.__defineMacro("\\uarr", "\\uparrow"); -temml.__defineMacro("\\uArr", "\\Uparrow"); -temml.__defineMacro("\\Uarr", "\\Uparrow"); -temml.__defineMacro("\\N", "\\mathbb{N}"); -temml.__defineMacro("\\R", "\\mathbb{R}"); -temml.__defineMacro("\\Z", "\\mathbb{Z}"); -temml.__defineMacro("\\alef", "\\aleph"); -temml.__defineMacro("\\alefsym", "\\aleph"); -temml.__defineMacro("\\bull", "\\bullet"); -temml.__defineMacro("\\clubs", "\\clubsuit"); -temml.__defineMacro("\\cnums", "\\mathbb{C}"); -temml.__defineMacro("\\Complex", "\\mathbb{C}"); -temml.__defineMacro("\\Dagger", "\\ddagger"); -temml.__defineMacro("\\diamonds", "\\diamondsuit"); -temml.__defineMacro("\\empty", "\\emptyset"); -temml.__defineMacro("\\exist", "\\exists"); -temml.__defineMacro("\\harr", "\\leftrightarrow"); -temml.__defineMacro("\\hArr", "\\Leftrightarrow"); -temml.__defineMacro("\\Harr", "\\Leftrightarrow"); -temml.__defineMacro("\\hearts", "\\heartsuit"); -temml.__defineMacro("\\image", "\\Im"); -temml.__defineMacro("\\infin", "\\infty"); -temml.__defineMacro("\\isin", "\\in"); -temml.__defineMacro("\\larr", "\\leftarrow"); -temml.__defineMacro("\\lArr", "\\Leftarrow"); -temml.__defineMacro("\\Larr", "\\Leftarrow"); -temml.__defineMacro("\\lrarr", "\\leftrightarrow"); -temml.__defineMacro("\\lrArr", "\\Leftrightarrow"); -temml.__defineMacro("\\Lrarr", "\\Leftrightarrow"); -temml.__defineMacro("\\natnums", "\\mathbb{N}"); -temml.__defineMacro("\\plusmn", "\\pm"); -temml.__defineMacro("\\rarr", "\\rightarrow"); -temml.__defineMacro("\\rArr", "\\Rightarrow"); -temml.__defineMacro("\\Rarr", "\\Rightarrow"); -temml.__defineMacro("\\real", "\\Re"); -temml.__defineMacro("\\reals", "\\mathbb{R}"); -temml.__defineMacro("\\Reals", "\\mathbb{R}"); -temml.__defineMacro("\\sdot", "\\cdot"); -temml.__defineMacro("\\sect", "\\S"); -temml.__defineMacro("\\spades", "\\spadesuit"); -temml.__defineMacro("\\sub", "\\subset"); -temml.__defineMacro("\\sube", "\\subseteq"); -temml.__defineMacro("\\supe", "\\supseteq"); -temml.__defineMacro("\\thetasym", "\\vartheta"); -temml.__defineMacro("\\weierp", "\\wp"); diff --git a/docs/administration.md b/docs/administration.md deleted file mode 100644 index 17e31317..00000000 --- a/docs/administration.md +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - Temml Administration - - - - -
- -# Temml Administration - -# Browser Support - -Temml works in browsers that support MathML. This includes Firefox and Safari. -It will [soon](https://www.igalia.com/2021/08/09/MathML-Progress.html) include -Chrome, Edge, Opera, Brave, and Vivaldi.\ -Temml will never work in Internet Explorer. - -# Installation - -You can download a zip file of Temml from the [releases page][] of the Temml repository -and serve Temml files from your own site. The minimum browser installation needs the -following files. The `css` file and font file must be in the same folder. - -[releases page]: https://github.com/ronkok/Temml/releases - -* temml.min.js -* Temml-Local.css -* Temml.woff2 - -A server-side installation should include `temml.cjs` instead of `temml.min.js`. - -#### Starter template - -```html - - - - - ... - - - - ... - -``` - -# API - -### Overview - -Say that you have an HTMLCollection of elements whose contents should be converted from TeX -strings to math. And also say that you wish to define two macros and a color with document-wide -scope. The code for such a conversion might look like this: - -```js -// Optional preamble. -const macros = temml.definePreamble( - `\\newcommand\\d[0]{\\operatorname{d}\\!} - \\def\\foo{x^2} - \\definecolor{sortaGreen}{RGB}{128,128,0}` -); -// Render all the math. -for (let aSpan of [...mathSpans]) { - const tex = aSpan.textContent; - const displayMode = aSpan.classList.contains("display"); - temml.render(tex, aSpan, { macros, displayMode }); -} -// Optional postProcess to render \ref{} -temml.postProcess(document.body); -``` - -Below, we examine the parts of that code. - -### In-Browser - -To render math in one DOM element, call `temml.render` with a TeX expression -and a DOM element to render into: - -```js -temml.render("c = \\pm\\sqrt{a^2 + b^2}", element); -``` - -### Server-Side - -To generate MathML on the server or to generate an MathML string of the -rendered math, you can use `temml.renderToString`: - -```js -const temml = require('./temml.cjs'); // if in Node.js -const mathML = temml.renderToString("c = \\pm\\sqrt{a^2 + b^2}"); -``` - -### Preamble - -To give document-wide scope to a set of macros or colors, define them in a preamble. - -```js -const macros = temml.definePreamble( - `\\newcommand\\d[0]{\\operatorname{d}\\!} - \\def\\foo{x^2} - \\definecolor{sortaGreen}{RGB}{128,128,0}` -); -``` - -Any valid [Temml macro](supported.html#macros) or [\definecolor](supported.html#style-color-size-and-font) -may be written into a preamble. Then include the resulting macros in the Temml options. - -### Options - -You can provide an object of options as the last argument to `temml.render` and `temml.renderToString`. For example: - -```js -temml.render( - "c = \\pm\\sqrt{a^2 + b^2}", - element, - { displayMode: true, macros } -); -``` - -Available options are: - -- `displayMode`: `boolean`. If `true` the math will be rendered in display mode, which will put the math in display style (so `\int` and `\sum` are large, for example), and will center the math on the page on its own line. If `false` the math will be rendered in inline mode. (default: `false`) - -- `macros`: `object`. A collection of custom macros. The easy way to create them is via a preamble, noted just above. Alternatively, you can provide a set of key-value pairs in which each key is a new Temml function name and each value is the expansion of the macro. Example: `macros: {"\\R": "\\mathbb{R}"}`. - -- `annotate`: `boolean`. If `true`, Temml will include an `` element that contains the input TeX string. Note: this will defeat [soft line breaks](./supported.html#line-breaks) in Firefox. (default: `false`) - -- `elementIsMath`: `boolean`. When you call the `temml.render()` function, you pass an `element` as an argument to the function. If that `element` is a span, then allow `elementIsMath` to remain `false` (the default), and Temml will create a new `` element inside the span. It you pass a `` element as the argument, then set `elementIsMath` to `true`. Then Temml will populate it with math contents. - -- `leqno`: `boolean`. If `true`, display math has `\tag`s rendered on the left instead of the right, like `\usepackage[leqno]{amsmath}` in LaTeX. (default: `false`) - -- `preventTagLap`: `boolean`. This option affects the horizontal alignment of `displayMode` math and `\tag`s. The default (`false`) acts in the LaTeX manner and centers the math. That’s good in a wide container, but if the container is narrow, the tag will overlap the math. The `preventTagLap: true` option acts differently. It will first place the tag and then center the math in the remainder of the container, with no overlap. If you are targeting mobile, `preventTagLap: true` is probably a good choice . - -- `colorIsTextColor`: `boolean`. In LaTeX, `\color` is a switch, but in early versions of MathJax and KaTeX, `\color` applied its color to a second argument, the way that LaTeX `\textcolor` works. Set option `colorIsTextColor` to `true` if you want `\color` to work like early MathJax or KaTeX. (default: `false`) - -- `errorColor`: `string`. A color string given in the format `"#XXX"` or `"#XXXXXX"`. This option determines the color that unsupported commands and invalid LaTeX are rendered in. (default: `#b22222`) - -- `maxSize`: `[number, number]`. This provides a way to cap all user-specified sizes, e.g. in `\rule{500em}{500em}`. The first number is the cap in `em` units, which will be applied to user-specified relative units. The second number is the cap in CSS `pt` units, which will be applied to user-specified absolute units. The default is `[Infinity, Infinity]`, which allows users to make elements and spaces arbitrarily large. - -- `maxExpand`: `number`. Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to `Infinity`, the macro expander will try to fully expand as in LaTeX. (default: 1000) - -- `strict`: `boolean`. If `false` (similar to MathJax), allow features that make writing LaTeX convenient but are not actually supported by LaTeX. If `true` (LaTeX faithfulness mode), throw an error for any such transgressions. (default: `false`) -- `xml`: `boolean`. If `true`, Temml will write a namespace into the `` element. That namespace is `xmlns="http://www.w3.org/1998/Math/MathML"`. Such a namespace is unnecessary for modern browsers but may be helpful for other user agents. (default: `false`) - -- `trust`: `boolean` or `function` (default: `false`). If `false` (do not trust input), prevent any commands like `\includegraphics` that could enable adverse behavior, rendering them instead in `errorColor`. If `true` (trust input), allow all such commands. Provide a custom function `handler(context)` to customize behavior depending on the context (command, arguments e.g. a URL, etc.). A list of possible contexts: - - - `{command: "\\url", url, protocol}` - - `{command: "\\href", url, protocol}` - - `{command: "\\includegraphics", url, protocol}` - - `{command: "\\class", class}` - - `{command: "\\id", id}` - - `{command: "\\style", style}` - - `{command: "\\data", attributes}` - - Here are some sample trust settings: - - - Forbid specific command: `trust: (context) => context.command !== '\\includegraphics'` - - Allow specific command: `trust: (context) => context.command === '\\url'` - - Allow multiple specific commands: `trust: (context) => ['\\url', '\\href'].includes(context.command)` - - Allow all commands with a specific protocol: `trust: (context) => context.protocol === 'http'` - - Allow all commands with specific protocols: `trust: (context) => ['http', 'https', '_relative'].includes(context.protocol)` - - Allow all commands but forbid specific protocol: `trust: (context) => context.protocol !== 'file'` - - Allow certain commands with specific protocols: `trust: (context) => ['\\url', '\\href'].includes(context.command) && ['http', 'https', '_relative'].includes(context.protocol)` - -## Post Process - -The `postProcess` function implements the AMS functions `\ref` and `\label`. It should be called outside of any loop. - -The main Temml functions, `temml.render` and `temml.renderToString`, each operate on only one element at a time. In contrast, the `postProcess` function makes two passes through the entire document. If you choose not to support `\ref`, `postProcess` can be omitted. - -If Temml is used server-side, `\ref` and `\label` are still implemented at runtime with client-side JavaScript. A small file, `temmlPostProcess.js`, is provided to be installed in place of `temml.min.js`. It exposes one function: - -``` -temml.postProcess(document.body) -``` - -If you do not provide a runtime `postProcess`, everthing in Temml will work except `\ref`. - -If you use the [auto-render extension][https://github.com/ronkok/Temml/tree/main/contrib/auto-render], it includes the post-processor nuances. - -# Fonts - -Temml has several different pre-written CSS files. You should use only one and by that choice, you also choose a math font. There are several math fonts available and each has different advantages. - -**Cambria Math** comes pre-installed in Windows, Macs, and iOS, so it is the light-weight option. Cambria Math lacks roundhand glyphs, so you still have to serve a small (12 kb) font, `Temml.woff2`, in order to support `\mathscr{…}`. Sadly, Cambria Math radicals are sometimes too tall for their content. - -
More… - -You can mitigate the radical problem. It occurs because the font expects a cramped subscript when under a radical and Firefox does not perform that cramp. You can create your own cramp with braces. The expression `f{_c'}` will render just fine when `f_c'` renders poorly. - -
- -**Latin Modern** is a clone of Computer Modern and so is very home-like for readers accustomed to LaTeX documents. Rendering is excellent except that some line thicknesses may be too thin for some screens. This option also needs that additional 12kb `Temml.woff2` file in order to support `\mathscr{…}`. - -**Asana**, **STIX TWO**, and **XITS** can be served without the `Temml.woff2` file. - -Several other math fonts exist and you can try them out at Frédéric Wang’s [Mathematical OpenType Fonts][]. - -Where to find font files: - -- Temml.woff2 can be found in the Temml [dist folder][]. -- STIXTwoMath-Regular.woff2 is located at the STIX [repository](https://github.com/stipub/stixfonts/blob/master/fonts/static_otf_woff2/STIXTwoMath-Regular.woff2). -- The other fonts can be downloaded at [Mathematical OpenType Fonts][]. - -[Mathematical OpenType Fonts]: https://fred-wang.github.io/MathFonts/ - -If you want a different math font size, you can add a rule to your own page's CSS, like this example: - -```css -math { font-size: 125%; } -``` - -# Equation numbering - -In order to place automatic equation numbering in certain AMS environments, Temml contains these CSS rules: - -``` -.tml-eqn::before { - counter-increment: tmlEqnNo; - content: "(" counter(tmlEqnNo) ")"; -} -body { counter-reset: tmlEqnNo; } -``` - -You can overwrite the `content` rule to produce customized equation numbers. -For instance, if chapter three of your book is in its own html file, that file’s -`
` could contain: - -``` - -``` - -Then the automatic equation numbering in that chapter would look like: (3.1) - -If your site does not render automatic numbering properly, check if your other -CSS has overwritten the Temml counter-reset. - -# Extensions - -More Temml functionality can be added via the following extensions: - -* [auto-render][]: Find and render all math in a running HTML page. -* [mhchem][]: Write beautiful chemical equations easily. -* [physics][]: Implement much of the LaTeX `physics` package. -* [texvc][]: Provide functions used in wikimedia. - -[auto-render]: https://github.com/ronkok/Temml/tree/main/contrib/auto-render -[mhchem]: https://github.com/ronkok/Temml/tree/main/contrib/mhchem -[physics]: https://github.com/ronkok/Temml/tree/main/contrib/texvc -[texvc]: https://github.com/ronkok/Temml/tree/main/contrib/texvc - -To install extensions for browser use, include the appropriate file from the `contrib` folder of the Temml repository. Then reference the file in the `` of the HTML page. As in this `mhchem` example: - -```html - - ... - - - - -``` - -The extension reference must come after the reference to `temml.min.js`. - -For server-side use, just use `temml.cjs` instead of `temml.min.js`. `temml.cjs` includes `mhchem`, `physics`, and `texvc`. - -# Security - -Any HTML generated by Temml should be safe from ` - - - - - -
- -

Foreword

- -

This page compares the MathML output from four TeX-to-MathML conversion libraries. You should use Firefox or Safari to view this page because they can render the MathML today. MathML will be viewable in Chrome and Edge soon.

- -

MathJax and KaTeX of course also render math in other formats. This comparison is limited to MathML.

- -

Versions used are: Temml 0.6.7, MathJax 2.7.5, KaTeX 0.13.9, and TeXZilla 1.0.2.0

- -

Symbols

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Symbol/FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
+₮a+b₮\(a+b\)₭a+b₭₸a+b₸a+b
-₮a-b₮\(a-b\)₭a-b₭₸a-b₸a-b
!₮n!₮\(n!\)₭n!₭₸n!₸n!
\!₮a!b₮\(a!b\)₭a!b₭₸a!b₸a\!b
#₮\def\bar#1{#1^2} \bar{y}₮\(\def\bar#1{#1^2} \bar{y}\)₭\def\bar#1{#1^2} \bar{y}₭Not supported\def\bar#1{#1^2} \bar{y}
\#₮\#₮\(\#\)₭\#₭₸\#₸
%₮%a comment₮\(%a comment\)₭%a comment₭Not supported%a comment
\%₮\%₮\(\%\)₭\%₭₸\%₸
&₮\begin{matrix} a & b\cr c & d \end{matrix}₮\(\begin{matrix} a & b\\ c & d \end{matrix}\)₭\begin{matrix} a & b\\ c & d \end{matrix}₭₸\begin{matrix} a & b\\ c & d \end{matrix}₸\begin{matrix}
   a & b \\
   c & d
\end{matrix}
\&₮\&₮\(\&\)₭\&₭₸\&₸
'₮'₮\('\)₭'₭₸'₸
\'₮\text{\'{a}}₮Not supported₭\text{\'{a}}₭₸\text{\'{a}}₸\text{\'{a}}
(₮(₮\((\)₭(₭₸(₸
)₮)₮\()\)₭)₭₸)₸
\₮a\ b₮\(a\ b\)₭a\ b₭Not supporteda\ b
\"₮\text{\"{a}}₮Not supported₭\text{\"{a}}₭₸\text{\"{a}}₸\text{\"{a}}
\$₮\text{\textdollar}₮Not supported₭\text{\textdollar}₭₸\text{\textdollar}₸
\,₮a\,\,{b}₮\(a\,\,{b}\)₭a\,\,{b}₭₸a\,\,{b}₸a\,\,{b}
\.₮\text{\.{a}}₮Not supported₭\text{\.{a}}₭₸\text{\.{a}}₸\text{\.{a}}
\:₮a\:\:{b}₮\(a\:\:{b}\)₭a\:\:{b}₭₸a\:\:{b}₸a\:\:{b}
\;₮a\;\;{b}₮\(a\;\;{b}\)₭a\;\;{b}₭₸a\;\;{b}₸aa\;\;{b}
_₮x_i₮\(x_i\)₭x_i₭₸x_i₸x_i
\_₮\_₮\(\_\)₭\_₭₸\_₸
\`₮\text{\'{a}}₮Not supported₭\text{\'{a}}₭₸\text{\'{a}}₸\text{\'{a}}
<₮<₮\(<\)₭<₭₸<₸
\=₮\text{\={a}}₮Not supported₭\text{\={a}}₭₸\text{\={a}}₸\text{\={a}}
>₮>₮\( > \)₭>₭₸>₸
\>₮a\>\>{b}₮\(a\>\>{b}\)₭a\>\>{b}₭Not supporteda\>\>{b}
[₮[₮\([\)₭[₭₸[₸
]₮]₮\(]\)₭]₭₸]₸
{₮{a}₮\({a}\)₭{a}₭₸{a}₸{a}
}₮{a}₮\({a}\)₭{a}₭₸{a}₸{a}
\{₮\{₮\(\{\)₭\{₭₸\{₸
\}₮\}₮\(\}\)₭\}₭₸\}₸
|₮|₮\(|\)₭|₭₸|₸
\|₮\|₮\(\|\)₭\|₭₸\|₸
~₮\text{no~break}₮\(\text{no~break}\)₭\text{no~break}₭Not supported\text{no~break}
\~₮\text{\~{a}}₮Not supported₭\text{\~{a}}₭₸\text{\~{a}}₸\text{\~{a}}
\\₮\begin{matrix} a & b\\ c & d\end{matrix}₮\(\begin{matrix} a & b\\ c & d\end{matrix}\)₭\begin{matrix} a & b\\ c & d\end{matrix}₭₸\begin{matrix} a & b\\ c & d\end{matrix}₸\begin{matrix}
   a & b \\
   c & d
\end{matrix}
\\₮x \\ y₮\(x \\ y\)₭x \\ y₭₸x \\ y₸x \\ y
^₮x^i₮\(x^i\)₭x^i₭₸x^i₸x^i
\^₮\text{\^{a}}₮Not supported₭\text{\^{a}}₭₸\text{\^{a}}₸\text{\^{a}}
special fraction₮1\kern2mu \text{³⁄₄}₮\(1\kern2mu \text{³⁄₄}\)₭1\kern2mu \text{³⁄₄}₭Not supported1\kern2mu \text{³⁄₄}
- -

A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\AA₮\text{\AA}₮Not supported₭\text{\AA}₭₸\text{\AA}₸\text{\AA}
\aa₮\text{\aa}₮Not supported₭\text{\aa}₭₸\text{\aa}₸\text{\aa}
\above₮{a \above{2pt} b+1}₮\({a \above{2pt} b+1}\)₭{a \above{2pt} b+1}₭Not supported{a \above{2pt} b+1}
\abovewithdelimsNot supported\(a+1 \abovewithdelims [ ] 1pt b\)Not supportedNot supporteda+1 \abovewithdelims [ ] 1pt b
\acute₮\acute e₮\(\acute e\)₭\acute e₭Not supported\acute e
\AE₮\text{\AE}₮Not supported₭\text{\AE}₭₸\text{\AE}₸\text{\AE}
\ae₮\text{\ae}₮Not supported₭\text{\ae}₭₸\text{\ae}₸\text{\ae}
\alef₮\alef₮\(\alef\)₭\alef₭Not supported
\alefsym₮\alefsym₮\(\alefsym\)₭\alefsym₭Not supported
\aleph₮\aleph₮\(\aleph\)₭\aleph₭₸\aleph₸
{align}₮₮\begin{align}a&=b+c\\d+e&=f\end{align}₮₮\[\begin{align}a &=b+c\\d+e&=f\end{align}\]₭₭\begin{align}a &=b+c\\d+e&=f\end{align}₭₭₸\begin{align}a&=b+c\\d+e&=f\end{align}₸\begin{align}
   a&=b+c \\
   d+e&=f
\end{align}
{align*}₮₮\begin{align*}a&=b+c\\d+e&=f\end{align*}₮₮\[\begin{align*}a &=b+c\\d+e&=f\end{align*}\]₭₭\begin{align*}a &=b+c\\d+e&=f\end{align*}₭₭₸\begin{align}a&=b+c\\d+e&=f\end{align}₸\begin{align*}
   a&=b+c \\
   d+e&=f
\end{align*}
{aligned}₮\begin{aligned}x&=y & a&=b+c\\x'&=y' & a'&=b'\end{aligned}₮\(\begin{aligned}x&=y & a&=b+c\\x'&=y' & a'&=b'\end{aligned}\)₭\begin{aligned}x&=y & a&=b+c\\x'&=y' & a'&=b'\end{aligned}₭₸\begin{aligned}x&=y & a&=b+c\\x'&=y' & a'&=b'\end{aligned}₸\begin{aligned}
x&=y & a&=b+c\\
x'&=y' & a'&=b'
\end{aligned}
{alignat}₮₮\begin{alignat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat}₮₮\[\begin{alignat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat}\]₭₭\begin{alignat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat}₭₭₸\begin{alignat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat}₸
{alignat*}₮₮\begin{alignat*}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat*}₮₮\[\begin{alignat*}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat*}\]₭₭\begin{alignat*}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat*}₭₭₸\begin{alignat*}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat*}₸
{alignedat}₮\begin{alignedat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignedat}₮\(\begin{alignedat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignedat}\)₭\begin{alignedat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignedat}₭₸\begin{alignedat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignedat}₸\begin{alignedat}{2}
   10&x+ &3&y = 2 \\
   3&x+&13&y = 4
\end{alignedat}
\allowbreakSupportedNot supportedNot supportedNot supported
\Alpha₮\Alpha₮\(\Alpha\)₭\Alpha₭₸\Alpha₸
\alpha₮\alpha₮\(\alpha\)₭\alpha₭₸\alpha₸
\amalg₮\amalg₮\(\amalg\)₭\amalg₭₸\amalg₸
\And₮\And₮\(\And\)₭\And₭Not supported
\andNot supported\(\and\)Not supportedNot supportedDeprecated
\angNot supported\(\ang\)Not supportedNot supportedDeprecated
\angl₮a_{\angl n}₮Not supported
See \enclose
₭a_{\angl n}₭Not supporteda_{\angl n}
\angle₮\angle₮\(\angle\)₭\angle₭₸\angle₸
\angln₮a_\angln₮Not supported
See \enclose
₭a_\angln₭Not supporteda_\angln
\approx₮\approx₮\(\approx\)₭\approx₭₸\approx₸
\approxeq₮\approxeq₮\(\approxeq\)₭\approxeq₭₸\approxeq₸
\arccos₮\arccos x₮\(\arccos x\)₭\arccos x₭₸\arccos x₸
\arcctg₮\arcctg x₮Not supported₭\arcctg x₭Not supported
\arcsin₮\arcsin x₮\(\arcsin x\)₭\arcsin x₭₸\arcsin x₸
\arctan₮\arctan x₮\(\arctan x\)₭\arctan x₭₸\arctan x₸
\arctg₮\arctg x₮Not supported₭\arctg x₭Not supported
\arg₮\arg₮\(\arg\)₭\arg₭₸\arg₸
\argmax₮\begin{matrix}\argmax x \\ \argmax_y x \\\argmax\limits_y x\end{matrix}₮Not supported₭\begin{matrix}\argmax x \\ \argmax_y x \\\argmax\limits_y x\end{matrix}₭Not supported
\argmin₮\argmin₮Not supported₭\argmin₭Not supported
{array}₮\begin{array}{cc}a&b\\c&d\end{array}₮\(\begin{array}{cc}a&b\\c&d\end{array}\)₭\begin{array}{cc}a&b\\c&d\end{array}₭₸\begin{array}{cc}a&b\\c&d\end{array}₸\begin{array}{cc}
   a & b \\
   c & d
\end{array}
{array}
with lines
₮\begin{array}{c|c:c}a & b & c \\ \hline d & e & f \\ \hdashline g & h & i\end{array}₮\(\begin{array}{c|c:c}a & b & c \\ \hline d & e & f \\ \hdashline g & h & i\end{array}\)₭\begin{array}{c|c:c}a & b & c \\ \hline d & e & f \\ \hdashline g & h & i\end{array}₭Not supported\begin{array}{c|c:c}
a & b & c \\ \hline
d & e & f\\
\hdashline g & h & i
\end{array}
\arrayNot supported\(\array{ a & b+1 \\ c+1 & d }\)Not supported₸\array{ a & b+1 \\ c+1 & d }₸\array{ a & b+1 \\ c+1 & d }
\arraystretch₮\def\arraystretch{1.5}\begin{array}{cc}a&b\\c&d\end{array}₮\(\def\arraystretch{1.5}\begin{array}{cc}a&b\\c&d\end{array}\)₭\def\arraystretch{1.5}\begin{array}{cc}a&b\\c&d\end{array}₭₸\def\arraystretch{1.5}\begin{array}{cc}a&b\\c&d\end{array}₸\def\arraystretch{1.5}
\begin{array}{cc}
   a & b \\
   c & d
\end{array}
\ArrowvertNot supported\(\Arrowvert\)Not supportedNot supported
\arrowvertNot supported\(\arrowvert\)Not supportedNot supported
\ast₮\ast₮\(\ast\)₭\ast₭₸\ast₸
\asymp₮\asymp₮\(\asymp\)₭\asymp₭₸\asymp₸
\atop₮{a \atop b}₮\({a \atop b}\)₭{a \atop b}₭₸{a \atop b}₸{a \atop b}
\atopwithdelimsNot supported\(a \atopwithdelims [ ] b\)Not supportedNot supporteda \atopwithdelims [ ] b
- -

B

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\backepsilon₮\backepsilon₮\(\backepsilon\)₭\backepsilon₭₸\backepsilon₸
\backprime₮\backprime₮\(\backprime\)₭\backprime₭₸\backprime₸
\backsim₮\backsim₮\(\backsim\)₭\backsim₭₸\backsim₸
\backsimeq₮\backsimeq₮\(\backsimeq\)₭\backsimeq₭₸\backsimeq₸
\backslash₮\backslash₮\(\backslash\)₭\backslash₭₸\backslash₸
\ballotx₮\ballotx₮Not supportedNot supportedNot supported
\bar₮\bar{y}₮\(\bar{y}\)₭\bar{y}₭₸\bar{y}₸\bar{y}
\barwedge₮\barwedge₮\(\barwedge\)₭\barwedge₭₸\barwedge₸
\Bbb₮\Bbb{ABC}₮\(\Bbb{ABC}\)₭\Bbb{ABC}₭Not supported\Bbb{ABC}
\Bbbk₮\Bbbk₮\(\Bbbk\)₭\Bbbk₭Not supported
\bboxNot supportedRequires extensionNot supportedNot supported
\bcancel₮\bcancel{5}₮\(\bcancel{5}\)₭\bcancel{5}₭Not supported\bcancel{5}
\because₮\because₮\(\because\)₭\because₭₸\because₸
\begin₮\begin{matrix} a & b\\ c & d\end{matrix}₮\(\begin{matrix} a & b\\ c & d\end{matrix}\)₭\begin{matrix} a & b\\ c & d\end{matrix}₭₸\begin{matrix} a & b\\ c & d\end{matrix}₸\begin{matrix}
   a & b \\
   c & d
\end{matrix}
\begingroup₮\begingroup a \endgroup₮\(\begingroup a \endgroup\)₭\begingroup a \endgroup₭Not supported\begingroup a\endgroup
\Beta₮\Beta₮\(\Beta\)₭\Beta₭₸\Beta₸
\beta₮\beta₮\(\beta\)₭\beta₭₸\beta₸
\beth₮\beth₮\(\beth\)₭\beth₭₸\beth₸
\between₮\between₮\(\between\)₭\between₭₸\between₸
\bf₮\bf AaBb12₮\(\bf AaBb12\)₭\bf AaBb12₭Not supported\bf AaBb12
\big₮\big(\big)₮\(\big(\big)\)₭\big(\big)₭₸\big(\big)₸\big(\big)
\Big₮\Big(\Big)₮\(\Big(\Big)\)₭\Big(\Big)₭₸\Big(\Big)₸\Big(\Big)
\bigcap₮\bigcap_0^n x \; \displaystyle \bigcap_0^n x₮\(\bigcap_0^n x \; \displaystyle \bigcap_0^n x\)₭\bigcap_0^n x \; \displaystyle \bigcap_0^n x₭₸\bigcap₸
\bigcirc₮\bigcirc₮\(\bigcirc\)₭\bigcirc₭₸\bigcirc₸
\bigcup₮\bigcup_0^n x \; \displaystyle \bigcup_0^n x₮\(\bigcup_0^n x \; \displaystyle \bigcup_0^n x\)₭\bigcup_0^n x \; \displaystyle \bigcup_0^n x₭₸\bigcup₸
\bigg₮\bigg(\bigg)₮\(\bigg(\bigg)\)₭\bigg(\bigg)₭₸\bigg(\bigg)₸\bigg(\bigg)
\Bigg₮\Bigg(\Bigg)₮\(\Bigg(\Bigg)\)₭\Bigg(\Bigg)₭₸\Bigg(\Bigg)₸\Bigg(\Bigg)
\biggl₮\biggl(₮\(\biggl(\)₭\biggl(₭₸\biggl(₸\biggl(
\Biggl₮\Biggl(₮\(\Biggl(\)₭\Biggl(₭₸\Biggl(₸\Biggl(
\biggm₮\biggm\vert₮\(\biggm\vert\)₭\biggm\vert₭₸\biggm\vert₸\biggm\vert
\Biggm₮\Biggm\vert₮\(\Biggm\vert\)₭\Biggm\vert₭₸\Biggm\vert₸\Biggm\vert
\biggr₮\biggr)₮\(\biggr)\)₭\biggr)₭₸\biggr)₸\biggr)
\Biggr₮\Biggr)₮\(\Biggr)\)₭\Biggr)₭₸\Biggr)₸\Biggr)
\bigl₮\bigl(₮\(\bigl(\)₭\bigl(₭₸\bigl(₸\bigl(
\Bigl₮\Bigl(₮\(\Bigl(\)₭\Bigl(₭₸\Bigl(₸\Bigl(
\bigm₮\bigm\vert₮\(\bigm\vert\)₭\bigm\vert₭₸\bigm\vert₸\bigm\vert
\Bigm₮\Bigm\vert₮\(\Bigm\vert\)₭\Bigm\vert₭₸\Bigm\vert₸\Bigm\vert
\bigodot₮\bigodot_0^n x \; \displaystyle \bigodot_0^n x₮\(\bigodot_0^n x \; \displaystyle \bigodot_0^n x\)₭\bigodot_0^n x \; \displaystyle \bigodot_0^n x₭₸\bigodot₸
\bigominusNot supportedNot supportedNot supported₸\bigominus₸
\bigoplus₮\bigoplus_0^n x \; \displaystyle \bigoplus_0^n x₮\(\bigoplus_0^n x \; \displaystyle \bigoplus_0^n x\)₭\bigoplus_0^n x \; \displaystyle \bigoplus_0^n x₭₸\bigoplus₸
\bigoslashNot supportedNot supportedNot supported₸\bigoslash₸
\bigotimes₮\bigotimes_0^n x \; \displaystyle \bigotimes_0^n x₮\(\bigotimes_0^n x \; \displaystyle \bigotimes_0^n x\)₭\bigotimes_0^n x \; \displaystyle \bigotimes_0^n x₭₸\bigotimes₸
\bigr₮\bigr)₮\(\bigr)\)₭\bigr)₭₸\bigr)₸\bigr)
\Bigr₮\Bigr)₮\(\Bigr)\)₭\Bigr)₭₸\Bigr)₸\Bigr)
\bigsqcapNot supportedNot supportedNot supported₸\bigsqcap₸
\bigsqcup₮\bigsqcup_0^n x \; \displaystyle \bigsqcup_0^n x₮\(\bigsqcup_0^n x \; \displaystyle \bigsqcup_0^n x\)₭\bigsqcup_0^n x \; \displaystyle \bigsqcup_0^n x₭₸\bigsqcup₸
\bigstar₮\bigstar₮\(\bigstar\)₭\bigstar₭₸\bigstar₸
\bigtriangledown₮\bigtriangledown₮\(\bigtriangledown\)₭\bigtriangledown₭₸\bigtriangledown₸
\bigtriangleup₮\bigtriangleup₮\(\bigtriangleup\)₭\bigtriangleup₭₸\bigtriangleup₸
\biguplus₮\biguplus_0^n x \; \displaystyle \biguplus_0^n x₮\(\biguplus_0^n x \; \displaystyle \biguplus_0^n x\)₭\biguplus_0^n x \; \displaystyle \biguplus_0^n x₭₸\biguplus₸
\bigvee₮\bigvee_0^n x \; \displaystyle \bigvee_0^n x₮\(\bigvee_0^n x \; \displaystyle \bigvee_0^n x\)₭\bigvee_0^n x \; \displaystyle \bigvee_0^n x₭₸\bigvee₸
\bigwedge₮\bigwedge_0^n x \; \displaystyle \bigwedge_0^n x₮\(\bigwedge_0^n x \; \displaystyle \bigwedge_0^n x\)₭\bigwedge_0^n x \; \displaystyle \bigwedge_0^n x₭₸\bigwedge₸
\binom₮\binom n k₮\(\binom n k\)₭\binom n k₭₸\binom n k₸\binom n k
\blacklozenge₮\blacklozenge₮\(\blacklozenge\)₭\blacklozenge₭₸\blacklozenge₸
\blacksquare₮\blacksquare₮\(\blacksquare\)₭\blacksquare₭₸\blacksquare₸
\blacktriangle₮\blacktriangle₮\(\blacktriangle\)₭\blacktriangle₭₸\blacktriangle₸
\blacktriangledown₮\blacktriangledown₮\(\blacktriangledown\)₭\blacktriangledown₭₸\blacktriangledown₸
\blacktriangleleft₮\blacktriangleleft₮\(\blacktriangleleft\)₭\blacktriangleleft₭₸\blacktriangleleft₸
\blacktriangleright₮\blacktriangleright₮\(\blacktriangleright\)₭\blacktriangleright₭₸\blacktriangleright₸
\bm₮\bm{AaBb}₮Not supported₭\bm{AaBb}₭Not supported\bm{AaBb}
{Bmatrix}₮\begin{Bmatrix}a&b\\c&d\end{Bmatrix}₮\(\begin{Bmatrix}a&b\\c&d\end{Bmatrix}\)₭\begin{Bmatrix}a&b\\c&d\end{Bmatrix}₭₸\begin{Bmatrix}a&b\\c&d\end{Bmatrix}₸\begin{Bmatrix}
   a & b \\
   c & d
\end{Bmatrix}
{bmatrix}₮\begin{bmatrix}a&b\\c&d\end{bmatrix}₮\(\begin{bmatrix}a&b\\c&d\end{bmatrix}\)₭\begin{bmatrix}a&b\\c&d\end{bmatrix}₭₸\begin{bmatrix}a&b\\c&d\end{bmatrix}₸\begin{bmatrix}
   a & b \\
   c & d
\end{bmatrix}
\bmod₮a \bmod b₮\(a \bmod b\)₭a \bmod b₭Not supporteda \bmod b
\bold₮\bold{AaBb123}₮\(\bold{AaBb123}\)₭\bold{AaBb123}₭Not supported\bold{AaBb123}
\boldsymbol₮\boldsymbol{AaBb0}₮\(\boldsymbol{AaBb0}\)₭\boldsymbol{AaBb0}₭₸\boldsymbol{AaBb0}₸\boldsymbol{AaBb0}
\bot₮\bot₮\(\bot\)₭\bot₭₸\bot₸
\Bot₮\Bot₮Not supportedNot supportedNot supported
\bowtie₮\bowtie₮\(\bowtie\)₭\bowtie₭₸\bowtie₸
\Box₮\Box₮\(\Box\)₭\Box₭₸\Box₸
\boxdot₮\boxdot₮\(\boxdot\)₭\boxdot₭₸\boxdot₸
\boxed₮\boxed{ab}₮\(\boxed{ab}\)₭\boxed{ab}₭₸\boxed{ab}₸\boxed{ab}
\boxminus₮\boxminus₮\(\boxminus\)₭\boxminus₭₸\boxminus₸
\boxplus₮\boxplus₮\(\boxplus\)₭\boxplus₭₸\boxplus₸
\boxtimes₮\boxtimes₮\(\boxtimes\)₭\boxtimes₭₸\boxtimes₸
\Bra₮\Bra{\psi}₮Requires extension₭\Bra{\psi}₭Not supported\Bra{\psi}
\bra₮\bra{\psi}₮Requires extension₭\bra{\psi}₭Not supported\bra{\psi}
\brace₮{n\brace k}₮\({n\brace k}\)₭{n\brace k}₭Not supported{n\brace k}
\brack₮{n\brack k}₮\({n\brack k}\)₭{n\brack k}₭Not supported{n\brack k}
\braket₮\braket{\phi|\psi}₮Not supported₭\braket{\phi|\psi}₭Not supported\braket{\phi|\psi}
\Braket₮\Braket{ϕ|\frac{∂^2}{∂ t^2}|ψ}₮Requires extenstionNot supportedNot supported\Braket{ϕ|\frac{∂^2}{∂ t^2}|ψ}
\breve₮\breve{eu}₮\(\breve{eu}\)₭\breve{eu}₭Not supported\breve{eu}
\buildrelNot supported\(\buildrel \rm def \over {:=}\)Not supported₸\buildrel \rm def \over {:=}₸\buildrel \rm def \over {:=}
\bull₮\bull₮\(\bull\)₭\bull₭Not supported
\bullet₮\bullet₮\(\bullet\)₭\bullet₭₸\bullet₸
\Bumpeq₮\Bumpeq₮\(\Bumpeq\)₭\Bumpeq₭₸\Bumpeq₸
\bumpeq₮\bumpeq₮\(\bumpeq\)₭\bumpeq₭₸\bumpeq₸
- -

C

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\CNot supported\(\C\)Not supportedNot supportedDeprecated
\c₮\text{\c{c}}₮Not supported₭\text{\c{c}}₭Not supported\text{\c{c}}
\cal₮\cal ABC₮Not supported₭\cal ABC₭Not supported\cal ABC
\cancel₮\cancel{5}₮\(\cancel{5}\)₭\cancel{5}₭Not supported\cancel{5}
\cancelto₮\cancelto{0}{x}₮Not supportedNot supportedNot supported
\Cap₮\Cap₮\(\Cap\)₭\Cap₭₸\Cap₸
\cap₮\cap₮\(\cap\)₭\cap₭₸\cap₸
{cases}₮\begin{cases}a&\text{if }b\\c&\text{if }d\end{cases}₮\(\begin{cases}a&\text{if }b\\c&\text{if }d\end{cases}\)₭\begin{cases}a&\text{if }b\\c&\text{if }d\end{cases}₭₸\begin{cases}a&\text{if }b\\c&\text{if }d\end{cases}₸\begin{cases}
   a &\text{if } b \\
   c &\text{if } d
\end{cases}
\casesNot supported\(\cases{ x & \text{if } x\ge 0\\ -x & \text{if } x\lt 0}\)Not supported₸\cases{ x & \text{if } x\ge 0\\ -x & \text{if } x\lt 0}₸\cases{x & \text{if } x\ge 0\\
- -x & \text{if } x\lt 0} -
{CD}₮₮\begin{CD} A @>a>> B\\@VbVV @AAcA \\ C @= D\end{CD}₮₮\(\begin{CD} A @>a>> B\\@VbVV @AAcA \\ C @= D\end{CD}\)₭₭\begin{CD} A @>a>> B\\@VbVV @AAcA \\ C @= D\end{CD}₭₭Not supported
\cdot₮\cdot₮\(\cdot\)₭\cdot₭₸\cdot₸
\cdotp₮\cdotp₮\(\cdotp\)₭\cdotp₭₸\cdotp₸
\cdots₮\cdots₮\(\cdots\)₭\cdots₭₸\cdots₸
\ce₮\ce{A\bond{~}B\bond{~-}C}₮\(\ce{A\bond{~}B\bond{~-}C}\)₭\ce{A\bond{~}B\bond{~-}C}₭Not supported\ce{A\bond{~}B\bond{~-}C}
Requires `mhchem` extension
\ceeNot supported\(\cee{C6H5-CHO}\)Not supportedNot supportedDeprecated by mhchem
\centerdot₮a\centerdot b₮\(a\centerdot b\)₭a\centerdot b₭Not supportedIn LaTeX, \centerdot is a small
square on the baseline, not
a centered dot.
\cfNot supported\(\cf{C6H5-CHO}\)Not supportedNot supportedDeprecated by mhchem
\cfrac₮\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}₮\(\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}\)₭\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}₭Not supported\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}
\char₮\char"263a₮Not supported
See \unicode
₭\char"263a₭Not supported\char"263a
\check₮\check{oe}₮\(\check{oe}\)₭\check{oe}₭₸\check{oe}₸\check{oe}
\ch₮\ch₮Not supported₭\ch₭Not supported
\checkmark₮\checkmark₮\(\checkmark\)₭\checkmark₭Not supported
\Chi₮\Chi₮\(\Chi\)₭\Chi₭Not supported
\chi₮\chi₮\(\chi\)₭\chi₭₸\chi₸
\choose₮{n+1 \choose k+2}₮\({n+1 \choose k+2}\)₭{n+1 \choose k+2}₭₸{n+1 \choose k+2}₸{n+1 \choose k+2}
\circ₮\circ₮\(\circ\)₭\circ₭₸\circ₸
\circeq₮\circeq₮\(\circeq\)₭\circeq₭₸\circeq₸
\circlearrowleft₮\circlearrowleft₮\(\circlearrowleft\)₭\circlearrowleft₭₸\circlearrowleft₸
\circlearrowright₮\circlearrowright₮\(\circlearrowright\)₭\circlearrowright₭₸\circlearrowright₸
\circledast₮\circledast₮\(\circledast\)₭\circledast₭₸\circledast₸
\circledcirc₮\circledcirc₮\(\circledcirc\)₭\circledcirc₭₸\circledcirc₸
\circleddash₮\circleddash₮\(\circleddash\)₭\circleddash₭₸\circleddash₸
\circledR₮\circledR₮\(\circledR\)₭\circledR₭Not supported
\circledS₮\circledS₮\(\circledS\)₭\circledS₭Not supported
\class₮ab\class{mathHighlight}{cdef}gh₮Not supportedNot supportedNot supportedab\class{mathHighlight}{cdef}gh
\clineNot supportedNot supportedNot supportedNot supported
\clubs₮\clubs₮\(\clubs\)₭\clubs₭Not supported
\clubsuit₮\clubsuit₮\(\clubsuit\)₭\clubsuit₭₸\clubsuit₸
\cnums₮\cnums₮\(\cnums\)₭\cnums₭Not supported
\coh₮\coh₮Not supportedNot supportedNot supported
\colon₮\colon₮\(\colon\)₭\colon₭₸\colon₸
\Colonapprox₮\Colonapprox₮Not supported₭\Colonapprox₭₸\Colonapprox₸
\colonapprox₮\colonapprox₮Not supported₭\colonapprox₭₸\colonapprox₸
\Coloneq₮\Coloneq₮Not supported₭\Coloneq₭₸\Coloneq₸
\coloneq₮\coloneq₮Not supported₭\coloneq₭₸\coloneq₸
\Coloneqq₮\Coloneqq₮Not supported₭\Coloneqq₭₸\Coloneqq₸
\coloneqq₮a \coloneqq b₮Not supported₭a \coloneqq b₭₸a \coloneqq b₸
\Colonsim₮\Colonsim₮Not supported₭\Colonsim₭₸\Colonsim₸
\colonsim₮\colonsim₮Not supported₭\colonsim₭₸\colonsim₸
\color₮\color{#0000FF} AaBb123₮\(\color{#0000FF} AaBb123\)₭\color{#0000FF} AaBb123₭₸\color{#0000FF} AaBb123₸\color{#0000FF} AaBb123
\colorbox₮\colorbox{red}{Black on red}₮\(\colorbox{red}{Black on red}\)₭\colorbox{red}{Black on red}₭₸\colorbox{red}{Black on red}₸\colorbox{red}{Black on red}
\complement₮\complement₮\(\complement\)₭\complement₭₸\complement₸
\Complex₮\Complex₮\(\Complex\)₭\Complex₭Not supported
\cong₮\cong₮\(\cong\)₭\cong₭₸\cong₸
\Coppa₮\Coppa₮Not supportedNot supportedNot supported
\coppa₮\coppa₮Not supportedNot supportedNot supported
\coprod₮\coprod_0^n x \; \displaystyle \coprod_0^n x₮\(\coprod_0^n x \; \displaystyle \coprod_0^n x\)₭\coprod_0^n x \; \displaystyle \coprod_0^n x₭₸\coprod₸
\copyright₮\copyright₮Not supported₭\copyright₭Not supported
\cos₮\cos x₮\(\cos x\)₭\cos x₭₸\cos x₸
\cosec₮\cosec x₮Not supported₭\cosec x₭Not supported
\cosh₮\cosh x₮\(\cosh x\)₭\cosh x₭₸\cosh x₸
\cot₮\cot x₮\(\cot x\)₭\cot x₭₸\cot x₸
\cotg₮\cotg x₮Not supported₭\cotg x₭Not supported
\coth₮\coth x₮\(\coth x\)₭\coth x₭₸\coth x₸
\cr₮\begin{matrix} a & b\cr c & d \end{matrix}₮\(\begin{matrix} a & b\\ c & d \end{matrix}\)₭\begin{matrix} a & b\\ c & d \end{matrix}₭₸\begin{matrix} a & b\\ c & d \end{matrix}₸\begin{matrix}
   a & b \cr
   c & d
\end{matrix}
\csc₮\csc x₮\(\csc x\)₭\csc x₭₸\csc x₸
\cssIdNot supportedNot supportedNot supported
\ctg₮\ctg x₮Not supported₭\ctg x₭Not supported
\cth₮\cth x₮Not supported₭\cth x₭Not supported
\Cup₮\Cup₮\(\Cup\)₭\Cup₭₸\Cup₸
\cup₮\cup₮\(\cup\)₭\cup₭₸\cup₸
\curlyeqprec₮\curlyeqprec₮\(\curlyeqprec\)₭\curlyeqprec₭₸\curlyeqprec₸
\curlyeqsucc₮\curlyeqsucc₮\(\curlyeqsucc\)₭\curlyeqsucc₭₸\curlyeqsucc₸
\curlyvee₮\curlyvee₮\(\curlyvee\)₭\curlyvee₭₸\curlyvee₸
\curlywedge₮\curlywedge₮\(\curlywedge\)₭\curlywedge₭₸\curlywedge₸
\curvearrowleft₮\curvearrowleft₮\(\curvearrowleft\)₭\curvearrowleft₭₸\curvearrowleft₸
\curvearrowright₮\curvearrowright₮\(\curvearrowright\)₭\curvearrowright₭₸\curvearrowright₸
- -

D

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\dag₮\dag₮Not supported₭\dag₭Not supported
\Dagger₮\Dagger₮\(\Dagger\)₭\Dagger₭Not supported
\dagger₮\dagger₮\(\dagger\)₭\dagger₭₸\dagger₸
\daleth₮\daleth₮\(\daleth\)₭\daleth₭₸\daleth₸
\Darr₮\Darr₮\(\Darr\)₭\Darr₭Not supported
\dArr₮\dArr₮\(\dArr\)₭\dArr₭Not supported
\darr₮\darr₮\(\darr\)₭\darr₭₸\darr₸
{darray}₮\begin{array}{cc}a & b\\c & d\end{array}₮\(\begin{array}{cc}a & b\\c & d\end{array}\)₭\begin{array}{cc}a & b\\c & d\end{array}₭₸\begin{array}{cc}a & b\\c & d\end{array}₸\begin{darray}{cc}
   a & b \\
   c & d
\end{darray}
\dashleftarrow₮\dashleftarrow₮\(\dashleftarrow\)₭\dashleftarrow₭₸\dashleftarrow₸
\dashrightarrow₮\dashrightarrow₮\(\dashrightarrow\)₭\dashrightarrow₭₸\dashrightarrow₸
\dashv₮\dashv₮\(\dashv\)₭\dashv₭₸\dashv₸
\dbinom₮\dbinom n k₮\(\dbinom n k\)₭\dbinom n k₭Not supported\dbinom n k
\dblcolon₮\dblcolon₮Not supported₭\dblcolon₭₸\dblcolon₸
{dcases}₮\begin{dcases}a&\text{if }b\\c&\text{if }d\end{dcases}₮Not supported₭\begin{dcases}a&\text{if }b\\c&\text{if }d\end{dcases}₭₸\begin{dcases}a&\text{if }b\\c&\text{if }d\end{dcases}₸\begin{dcases}
   a &\text{if } b \\
   c &\text{if } d
\end{dcases}
\ddag₮\ddag₮Not supported₭\ddag₭Not supported
\ddagger₮\ddagger₮\(\ddagger\)₭\ddagger₭₸\ddagger₸
\ddddot₮\ddddot x₮Not supportedNot supported₸\ddddot x₸
\dddot₮\dddot x₮Not supportedNot supported₸\dddot x₸
\ddot₮\ddot x₮\(\ddot x\)₭\ddot x₭₸\ddot x₸\ddot x
\ddots₮\ddots₮\(\ddots\)₭\ddots₭₸\ddots₸
\DeclareMathOperatorNot supported\(\DeclareMathOperator - {\myOp}{myOp} - \myOp(x)\) - Not supportedNot supported
\def₮\def\foo{x^2} \foo + \foo₮\(\def\foo{x^2} \foo + \foo\)₭\def\foo{x^2} \foo + \foo₭Not supported\def\foo{x^2} \foo + \foo
\definecolor₮\definecolor{sortaGreen}{RGB}{128,128,0} \color{sortaGreen} F=ma₮Not supportedNot supportedNot supported
\deg₮\deg x₮\(\deg x\)₭\deg x₭₸\deg x₸
\degree₮\degree₮Not supported₭\degree₭₸\degree₸
\delta₮\delta₮\(\delta\)₭\delta₭₸\delta₸
\Delta₮\Delta₮\(\Delta\)₭\Delta₭₸\Delta₸
\det₮\begin{matrix}\det x \\ \det_y x \\\det\limits_y x\end{matrix}₮\(\begin{matrix}\det x \\ \det_y x \\\det\limits_y x\end{matrix}\)₭\begin{matrix}\det x \\ \det_y x \\\det\limits_y x\end{matrix}₭₸\det₸
\DigammaNot supported\(\Digamma\)Not supportedNot supported
\digamma₮\digamma₮\(\digamma\)₭\digamma₭₸\digamma₸
\dfrac₮\dfrac{a-1}{b-1}₮\(\dfrac{a-1}{b-1}\)₭\dfrac{a-1}{b-1}₭Not supported\dfrac{a-1}{b-1}
\diagdown₮\diagdown₮\(\diagdown\)₭\diagdown₭Not supported
\diagup₮\diagup₮\(\diagup\)₭\diagup₭Not supported
\Diamond₮\Diamond₮\(\Diamond\)₭\Diamond₭₸\Diamond₸
\diamond₮\diamond₮\(\diamond\)₭\diamond₭₸\diamond₸
\diamonds₮\diamonds₮\(\diamonds\)₭\diamonds₭Not supported
\diamondsuit₮\diamondsuit₮\(\diamondsuit\)₭\diamondsuit₭₸\diamondsuit₸
\dim₮\dim x₮\(\dim x\)₭\dim x₭₸\dim x₸
\displaylinesNot supported\(\displaylines{a\\ a+b=c+d}\)Not supported₸\displaylines{a\\ a+b=c+d}₸\displaylines{a\\ a+b=c+d}
\displaystyle₮\displaystyle\sum_0^n₮\(\displaystyle\sum_0^n\)₭\displaystyle\sum_0^n₭₸\displaystyle\sum_0^n₸\displaystyle\sum_0^n
\div₮\div₮\(\div\)₭\div₭₸\div₸
\divideontimes₮\divideontimes₮\(\divideontimes\)₭\divideontimes₭₸\divideontimes₸
\dot₮\dot x₮\(\dot x\)₭\dot x₭₸\dot x₸\dot x
\Doteq₮\Doteq₮\(\Doteq\)₭\Doteq₭₸\Doteq₸
\doteq₮\doteq₮\(\doteq\)₭\doteq₭₸\doteq₸
\doteqdot₮\doteqdot₮\(\doteqdot\)₭\doteqdot₭₸\doteqdot₸
\dotplus₮\dotplus₮\(\dotplus\)₭\dotplus₭₸\dotplus₸
\dots₮x_1 + \dots + x_n₮\(x_1 + \dots + x_n\)₭x_1 + \dots + x_n₭₸x_1 + \dots + x_n₸x_1 + \dots + x_n
\dotsb₮x_1 +\dotsb + x_n₮\(x_1 +\dotsb + x_n\)₭x_1 +\dotsb + x_n₭Not supportedx_1 +\dotsb + x_n
\dotsc₮x,\dotsc,y₮\(x,\dotsc,y\)₭x,\dotsc,y₭Not supportedx,\dotsc,y
\dotsi₮\int_{A_1}\int_{A_2}\dotsi₮\(\int_{A_1}\int_{A_2}\dotsi\)₭\int_{A_1}\int_{A_2}\dotsi₭Not supported\int_{A_1}\int_{A_2}\dotsi
\dotsm₮x_1 x_2 \dotsm x_n₮\(x_1 x_2 \dotsm x_n\)₭x_1 x_2 \dotsm x_n₭Not supportedx_1 x_2 \dotsm x_n
\dotso₮\dotso₮\(\dotso\)₭\dotso₭Not supported
\doublebarwedge₮\doublebarwedge₮\(\doublebarwedge\)₭\doublebarwedge₭₸\doublebarwedge₸
\doublecap₮\doublecap₮\(\doublecap\)₭\doublecap₭Not supported
\doublecup₮\doublecup₮\(\doublecup\)₭\doublecup₭Not supported
\Downarrow₮\Downarrow₮\(\Downarrow\)₭\Downarrow₭₸\Downarrow₸
\downarrow₮\downarrow₮\(\downarrow\)₭\downarrow₭₸\downarrow₸
\downdownarrows₮\downdownarrows₮\(\downdownarrows\)₭\downdownarrows₭₸\downdownarrows₸
\downharpoonleft₮\downharpoonleft₮\(\downharpoonleft\)₭\downharpoonleft₭₸\downharpoonleft₸
\downharpoonright₮\downharpoonright₮\(\downharpoonright\)₭\downharpoonright₭₸\downharpoonright₸
{drcases}₮\begin{drcases}a&\text{if }b\\c&\text{if }d\end{drcases}₮Not supported₭\begin{drcases}a&\text{if }b\\c&\text{if }d\end{drcases}₭₸\begin{drcases}a&\text{if }b\\c&\text{if }d\end{drcases}₸\begin{drcases}
   a&\text{if }b\\
   c&\text{if }d
\end{drcases}
- -

E

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\ell₮\ell₮\(\ell\)₭\ell₭₸\ell₸
\elseNot supportedNot supportedNot supportedNot supported
\empty₮\empty₮\(\empty\)₭\empty₭₸\empty₸
\emptyset₮\emptyset₮\(\emptyset\)₭\emptyset₭₸\emptyset₸
\encloseNot supported
See \longdiv,
\angl, \phase
\(\enclose{longdiv}{500}\)
\(\enclose{actuarial}{500}\)
\(\enclose{phasorangle}{500}\)
Not supportedNot supported\enclose{longdiv}{500}
\enclose{actuarial}{500}
\enclose{phasorangle}{500}
Non-standard
\end₮\begin{matrix} a & b\\ c & d\end{matrix}₮\(\begin{matrix} a & b\\ c & d\end{matrix}\)₭\begin{matrix} a & b\\ c & d\end{matrix}₭₸\begin{matrix} a & b\\ c & d\end{matrix}₸\begin{matrix}
   a & b \\
   c & d
\end{matrix}
\endgroup₮\begingroup a \endgroup₮\(\begingroup a \endgroup\)₭\begingroup a \endgroup₭Not supported\begingroup a\endgroup
\enspace₮a\enspace b₮\(a\enspace b\)₭a\enspace b₭Not supporteda\enspace b
\Epsilon₮\Epsilon₮\(\Epsilon\)₭\Epsilon₭Not supported
\epsilon₮\epsilon₮\(\epsilon\)₭\epsilon₭₸\epsilon₸
\eqalignNot supported\(\eqalign{3x - 4y &= 5\\x + 7 &= -2y}\)Not supported₸\eqalign{3x - 4y &= 5\\x + 7 &= -2y}₸
\eqalignnoNot supported\(\eqalignno{3x - 4y &= 5 &(\dagger) \\ x + 7 &= -2y &(\ddagger)\\ z &= 2}\)Not supportedNot supported
\eqcirc₮\eqcirc₮\(\eqcirc\)₭\eqcirc₭₸\eqcirc₸
\Eqcolon₮\Eqcolon₮Not supported₭\Eqcolon₭₸\Eqcolon₸
\eqcolon₮\eqcolon₮Not supported₭\eqcolon₭₸\eqcolon₸
{equation}₮₮\begin{equation}\label{maxwell}\begin{split}∇·𝐃&=ρ_v \\ ∇·𝐁&=0 \end{split}\end{equation}₮₮\[\begin{equation}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation}\]₭₭\begin{equation}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation}₭₭Not supported\begin{equation}
\begin{split}
   ∇·𝐃&=ρ_v \\
   ∇·𝐁&=0
\end{split}
\end{equation}
{equation*}₮₮\begin{equation*}\begin{split}∇·𝐃&=ρ_v \\ ∇·𝐁&=0 \end{split}\end{equation*}₮₮\[\begin{equation*}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation*}\]₭₭\begin{equation*}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation*}₭₭Not supported
{eqnarray}Not supported\(\begin{eqnarray} -y &=& (x-1)^2 \\ - &=& (x-1)(x-1) \\ - &=& x^2 - 2x + 1 -\end{eqnarray}\)Not supportedNot supported
{eqnarray*}Not supported\(\begin{eqnarray*} -y &=& (x-1)^2 \\ - &=& (x-1)(x-1) \\ - &=& x^2 - 2x + 1 -\end{eqnarray*}\)Not supportedNot supported
\Eqqcolon₮\Eqqcolon₮Not supported₭\Eqqcolon₭₸\Eqqcolon₸
\eqqcolon₮\eqqcolon₮Not supported₭\eqqcolon₭₸\eqqcolon₸
\eqref₮\eqref{maxwell}₮Not supportedNot supportedNot supported
\eqsim₮\eqsim₮\(\eqsim\)₭\eqsim₭₸\eqsim₸
\eqslantgtr₮\eqslantgtr₮\(\eqslantgtr\)₭\eqslantgtr₭₸\eqslantgtr₸
\eqslantless₮\eqslantless₮\(\eqslantless\)₭\eqslantless₭₸\eqslantless₸
\equiv₮\equiv₮\(\equiv\)₭\equiv₭₸\equiv₸
\Eta₮\Eta₮\(\Eta\)₭\Eta₭₸\Eta₸
\eta₮\eta₮\(\eta\)₭\eta₭₸\eta₸
\eth₮\eth₮\(\eth\)₭\eth₭₸\eth₸
\euro₮\euro₮\(\euro\)Not supportedNot supported
\exist₮\exist₮\(\exist\)₭\exist₭Not supported
\exists₮\exists₮\(\exists\)₭\exists₭₸\exists₸
\exp₮\exp x₮\(\exp x\)₭\exp x₭₸\exp x₸
- -

F

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\fallingdotseq₮\fallingdotseq₮\(\fallingdotseq\)₭\fallingdotseq₭₸\fallingdotseq₸
\fbox₮\fbox{Hi there!}₮\(\fbox{Hi there!}\)₭\fbox{Hi there!}₭Not supported\fbox{Hi there!}
\fcolorbox₮\fcolorbox{red}{aqua}{A}₮\(\fcolorbox{red}{aqua}{A}\)₭\fcolorbox{red}{aqua}{A}₭Not supported\fcolorbox{red}{aqua}{A}
\female₮\female₮Not supportedNot supportedNot supported\female
\fiNot supportedNot supportedNot supportedNot supported
\Finv₮\Finv₮\(\Finv\)₭\Finv₭Not supported
\flat₮\flat₮\(\flat\)₭\flat₭₸\flat₸
\footnotesize₮\footnotesize footnotesize₮Not supported₭\footnotesize footnotesize₭Not supported\footnotesize footnotesize
\forall₮\forall₮\(\forall\)₭\forall₭₸\forall₸
\frac₮\frac{a+b}{c+d}₮\(\frac{a+b}{c+d}\)₭\frac{a+b}{c+d}₭₸\frac{a+b}{c+d}₸\frac{a+b}{c+d}
\frak₮\frak{AaBb}₮\(\frak{AaBb}\)₭\frak{AaBb}₭Not supported\frak{AaBb}
\frown₮\frown₮\(\frown\)₭\frown₭₸\frown₸
- -

G

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\Game₮\Game₮\(\Game\)₭\Game₭Not supported
\Gamma₮\Gamma₮\(\Gamma\)₭\Gamma₭₸\Gamma₸
\gamma₮\gamma₮\(\gamma\)₭\gamma₭₸\gamma₸
{gather}₮₮\begin{gather}a=b\\e=b+c\end{gather}₮₮\(\begin{gather}a=b\\e=b+c\end{gather}\)₭₭\begin{gather}a=b\\e=b+c\end{gather}₭₭₸\begin{gather}a=b\\e=b+c\end{gather}₸\begin{gather}
   a=b \\
   e=b+c
\end{gather}
{gather*}₮₮\begin{gather*}a=b\\e=b+c\end{gather*}₮₮\(\begin{gather*}a=b\\e=b+c\end{gather*}\)₭₭\begin{gather*}a=b\\e=b+c\end{gather*}₭₭₸\begin{gather*}a=b\\e=b+c\end{gather*}₸\begin{gather*}
   a=b \\
   e=b+c
\end{gather*}
{gathered}₮\begin{gathered}a=b\\e=b+c\end{gathered}₮\(\begin{gathered}a=b\\e=b+c\end{gathered}\)₭\begin{gathered}a=b\\e=b+c\end{gathered}₭₸\begin{gathered}a=b\\e=b+c\end{gathered}₸\begin{gathered}
   a=b \\
   e=b+c
\end{gathered}
\gcd₮\begin{matrix}\gcd x \\ \gcd_y x \\\gcd\limits_y x\end{matrix}₮\(\begin{matrix}\gcd x \\ \gcd_y x \\\gcd\limits_y x\end{matrix}\)₭\begin{matrix}\gcd x \\ \gcd_y x \\\gcd\limits_y x\end{matrix}₭₸\begin{matrix}\gcd x \\ \gcd_y x \\\gcd\limits_y x\end{matrix}₸
\gdefNot supportedNot supported₭\gdef\bar#1{#1^2} \bar{y} + \bar{y}₭Not supported\gdef\bar#1{#1^2} \bar{y} + \bar{y}
\ge₮\ge₮\(\ge\)₭\ge₭₸\ge₸
\geneuroNot supported\(\geneuro\)Not supportedNot supported
\geneuronarrowNot supported\(\geneuronarrow\)Not supportedNot supported
\geneurowideNot supported\(\geneurowide\)Not supportedNot supported
\genfrac₮\genfrac ( ] {2pt}{0}a{a+1}₮\(\genfrac ( ] {2pt}{0}a{a+1}\)₭\genfrac ( ] {2pt}{0}a{a+1}₭Not supported\genfrac ( ] {2pt}{0}a{a+1}
\geq₮\geq₮\(\geq\)₭\geq₭₸\geq₸
\geqq₮\geqq₮\(\geqq\)₭\geqq₭₸\geqq₸
\geqslant₮\geqslant₮\(\geqslant\)₭\geqslant₭₸\geqslant₸
\gets₮\gets₮\(\gets\)₭\gets₭Not supported
\gg₮\gg₮\(\gg\)₭\gg₭₸\gg₸
\ggg₮\ggg₮\(\ggg\)₭\ggg₭₸\ggg₸
\gggtr₮\gggtr₮\(\gggtr\)₭\gggtr₭Not supported
\gimel₮\gimel₮\(\gimel\)₭\gimel₭₸\gimel₸
\globalNot supported\(\global\def\add#1#2{#1+#2} \add 2 3\)₭\global\def\add#1#2{#1+#2} \add 2 3₭Not supported\global\def\add#1#2{#1+#2} \add 2 3
\gnapprox₮\gnapprox₮\(\gnapprox\)₭\gnapprox₭₸\gnapprox₸
\gneq₮\gneq₮\(\gneq\)₭\gneq₭₸\gneq₸
\gneqq₮\gneqq₮\(\gneqq\)₭\gneqq₭₸\gneqq₸
\gnsim₮\gnsim₮\(\gnsim\)₭\gnsim₭₸\gnsim₸
\grave₮\grave{eu}₮\(\grave{eu}\)₭\grave{eu}₭Not supported\grave{eu}
\gt₮a \gt b₮\(a \gt b\)₭a \gt b₭₸a \gt b₸a \gt b
\gtrdot₮\gtrdot₮\(\gtrdot\)₭\gtrdot₭₸\gtrdot₸
\gtrapprox₮\gtrapprox₮\(\gtrapprox\)₭\gtrapprox₭₸\gtrapprox₸
\gtreqless₮\gtreqless₮\(\gtreqless\)₭\gtreqless₭₸\gtreqless₸
\gtreqqless₮\gtreqqless₮\(\gtreqqless\)₭\gtreqqless₭₸\gtreqqless₸
\gtrless₮\gtrless₮\(\gtrless\)₭\gtrless₭₸\gtrless₸
\gtrsim₮\gtrsim₮\(\gtrsim\)₭\gtrsim₭₸\gtrsim₸
\gvertneqq₮\gvertneqq₮\(\gvertneqq\)₭\gvertneqq₭₸\gvertneqq₸
- -

H

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\H₮\text{\H{a}}₮Not supported₭\text{\H{a}}₭₸\text{\H{a}}₸\text{\H{a}}
\Harr₮\Harr₮\(\Harr\)₭\Harr₭Not supported
\hArr₮\hArr₮Not supported₭\hArr₭Not supported
\harr₮\harr₮\(\harr\)₭\harr₭Not supported
\hat₮\hat{\theta}₮\(\hat{\theta}\)₭\hat{\theta}₭₸\hat{\theta}₸\hat{\theta}
\hbar₮\hbar₮\(\hbar\)₭\hbar₭₸\hbar₸
\hbox₮\hbox{in a box}₮\(\hbox{in a box}\)₭\hbox{in a box}₭Not supported\hbox{in a box}
\hdashline₮\begin{matrix}a&b\\ \hdashline c &d\end{matrix}₮\(\begin{matrix}a&b\\ \hdashline c &d\end{matrix}\)₭\begin{matrix}a&b\\ \hdashline c &d\end{matrix}₭Not supported\begin{matrix}
   a & b \\
   \hdashline
   c & d
\end{matrix}
\hearts₮\hearts₮\(\hearts\)₭\hearts₭Not supported
\heartsuit₮\heartsuit₮\(\heartsuit\)₭\heartsuit₭₸\heartsuit₸
\hfilNot supportedSee \hfillNot supportedNot supported
\hfillNot supported\(\begin{matrix}xxxxxx & xxxxxx & xxxxxx \\ ab & \hfil ab & ab\hfil\\ \end{matrix}\)Not supportedNot supported
\hline₮\begin{matrix}a&b\\ \hline c &d\end{matrix}₮\(\begin{matrix}a&b\\ \hline c &d\end{matrix}\)₭\begin{matrix}a&b\\ \hline c &d\end{matrix}₭Not supported\begin{matrix}
   a & b \\ \hline
   c & d
\end{matrix}
\hom₮\hom x₮\(\hom x\)₭\hom x₭₸\hom x₸
\hookleftarrow₮\hookleftarrow₮\(\hookleftarrow\)₭\hookleftarrow₭₸\hookleftarrow₸
\hookrightarrow₮\hookrightarrow₮\(\hookrightarrow\)₭\hookrightarrow₭₸\hookrightarrow₸
\hphantom₮a\hphantom{bc}d₮\(a\hphantom{bc}d\)₭a\hphantom{bc}d₭Not supporteda\hphantom{bc}d
\href₮\href{https://www.mathjax.org/}{\text{MathJax}}₮\(\href{https://MathJax.org/}{\text{MathJax}}\)₭\href{https://MathJax.org/}{\text{MathJax}}₭Not supported\href{https://www.mathjax.org/}{\text{MathJax}}
\hskip₮w\hskip1em i\hskip2em d₮\(w\hskip1em i\hskip2em d\)₭w\hskip1em i\hskip2em d₭Not supportedw\hskip1em i\hskip2em d
\hslash₮\hslash₮\(\hslash\)₭\hslash₭₸\hslash₸
\hspace₮s\hspace7ex k₮\(s\hspace7ex k\)₭s\hspace7ex k₭Not supporteds\hspace7ex k
\htmlClass₮\htmlClass{foo}{x}₮Not supportedNot supportedNot supported\htmlClass{foo}{x}
\htmlData₮\htmlData{foo=a, bar=b}{x}₮Not supportedNot supportedNot supported\htmlData{foo=a, bar=b}{x}
\htmlId₮\htmlId{bar}{x}₮Not supportedNot supportedNot supported\htmlId{bar}{x}
\htmlStyle₮\htmlStyle{color: red;}{x}₮Not supportedNot supportedNot supported\htmlStyle{color: red;}{x}}
\huge₮\huge huge₮\(\huge huge\)₭\huge huge₭Not supported\huge huge
\Huge₮\Huge Huge₮\(\Huge Huge\)₭\Huge Huge₭Not supported\Huge Huge
- -

I

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\i₮\text{\i}₮Not supported₭\text{\i}₭₸\text{\i}₸\text{\i}
\idotsint₮\idotsint₮Not supportedNot supportedNot supported
\iddotsNot supportedNot supportedNot supportedNot supported
\ifNot supportedNot supportedNot supportedNot supported
\iff₮A\iff B₮\(A\iff B\)₭A\iff B₭₸A\iff B₸A\iff B
\ifmodeNot supportedNot supportedNot supportedNot supported
\ifxNot supportedNot supportedNot supportedNot supported
\iiiintNot supportedNot supportedNot supportedNot supported
\iiint₮\iiint_0^n x \; \displaystyle \iiint_0^n x₮\(\iiint_0^n x \; \displaystyle \iiint_0^n x\)₭\iiint_0^n x \; \displaystyle \iiint_0^n x₭₸\iiint₸
\iint₮\iint_0^n x \; \displaystyle \iint_0^n x₮\(\iint_0^n x \; \displaystyle \iint_0^n x\)₭\iint_0^n x \; \displaystyle \iint_0^n x₭₸\iint₸
\Im₮\Im₮\(\Im\)₭\Im₭₸\Im₸
\image₮\image₮\(\image\)₭\image₭Not supported
\imageof₮\imageof₮Not supported₭\imageof₭Not supported
\imath₮\imath₮\(\imath\)₭\imath₭₸\imath₸
\impliedby₮P\impliedby Q₮\(P\impliedby Q\)₭P\impliedby Q₭₸P\impliedby Q₸P\impliedby Q
\implies₮P\implies Q₮\(P\implies Q\)₭P\implies Q₭₸P\implies Q₸P\implies Q
\in₮\in₮\(\in\)₭\in₭₸\in₸
\includegraphics₮\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}₮Not supported₭\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}₭Not supported
\incoh₮\incoh₮Not supportedNot supportedNot supported
\inf₮\begin{matrix}\inf x \\ \inf_y x \\\inf\limits_y x\end{matrix}₮\(\begin{matrix}\inf x \\ \inf_y x \\\inf\limits_y x\end{matrix}\)₭\begin{matrix}\inf x \\ \inf_y x \\\inf\limits_y x\end{matrix}₭₸\inf₸
\infin₮\infin₮\(\infin\)₭\infin₭Not supported
\infty₮\infty₮\(\infty\)₭\infty₭₸\infty₸
\injlim₮\begin{matrix}\injlim x \\ \injlim_y x \\\injlim\limits_y x\end{matrix}₮\(\begin{matrix}\injlim x \\ \injlim_y x \\\injlim\limits_y x\end{matrix}\)₭\begin{matrix}\injlim x \\ \injlim_y x \\\injlim\limits_y x\end{matrix}₭Not supported\injlim x
\injlim_y x
\injlim\limits_y x
\int₮\int_0^n x \; \displaystyle \int_0^n x₮\(\int_0^n x \; \displaystyle \int_0^n x\)₭\int_0^n x \; \displaystyle \int_0^n x₭₸\int₸
\intercal₮\intercal₮\(\intercal\)₭\intercal₭₸\intercal₸
\intop₮\intop_0^n x \; \displaystyle \intop_0^n x₮\(\intop_0^n x \; \displaystyle \intop_0^n x\)₭\intop_0^n x \; \displaystyle \intop_0^n x₭Not supported
\invamp₮\invamp₮Not supportedNot supportedNot supported
\Iota₮\Iota₮\(\Iota\)₭\Iota₭₸\Iota₸
\iota₮\iota₮\(\iota\)₭\iota₭₸\iota₸
\isin₮\isin₮\(\isin\)₭\isin₭Not supported
\it₮{\it AaBb}₮\({\it AaBb}\)₭{\it AaBb}₭Not supported{\it AaBb}
- -

JK

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\j₮\text{\j}₮Not supported₭\text{\j}₭₸\text{\j}₸\text{\j}
\jmath₮\jmath₮\(\jmath\)₭\jmath₭₸\jmath₸
\Join₮\Join₮\(\Join\)₭\Join₭Not supported
\Kappa₮\Kappa₮\(\Kappa\)₭\Kappa₭₸\Kappa₸
\kappa₮\kappa₮\(\kappa\)₭\kappa₭₸\kappa₸
\ker₮\ker x₮\(\ker x\)₭\ker x₭₸\ker x₸
\kern₮I\kern-2.5pt R₮\(I\kern-2.5pt R\)₭I\kern-2.5pt R₭Not supportedI\kern-2.5pt R
\Ket₮\Ket{\psi}₮Requires extension₭\Ket{\psi}₭Not supported\Ket{\psi}
\ket₮\ket{\psi}₮Requires extension₭\ket{\psi}₭Not supported\ket{\psi}
\Koppa₮\Koppa₮Not supportedNot supportedNot supported
\koppa₮\koppa₮Not supportedNot supportedNot supported
- -

L

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\LNot supportedNot supportedNot supportedNot supported
\lNot supportedNot supportedNot supportedNot supported
\Lambda₮\Lambda₮\(\Lambda\)₭\Lambda₭₸\Lambda₸
\lambda₮\lambda₮\(\lambda\)₭\lambda₭₸\lambda₸
\labelSee {equation}SupportedNot supported
\land₮\land₮\(\land\)₭\land₭Not supported
\lang₮\lang A\rangle₮\(\lang A\rangle\)₭\lang A\rangle₭₸\lang A\rangle₸\lang A\rangle
\langle₮\langle A\rangle₮\(\langle A\rangle\)₭\langle A\rangle₭₸\langle A\rangle₸\langle A\rangle
\Larr₮\Larr₮\(\Larr\)₭\Larr₭Not supported
\lArr₮\lArr₮\(\lArr\)₭\lArr₭Not supported
\larr₮\larr₮\(\larr\)₭\larr₭Not supported
\large₮\large large₮\(\large large\)₭\large large₭Not supported\large large
\Large₮\Large Large₮\(\Large Large\)₭\Large Large₭Not supported\Large Large
\LARGE₮\LARGE LARGE₮\(\LARGE LARGE\)₭\LARGE LARGE₭Not supported\LARGE LARGE
\LaTeX₮\LaTeX₮\(\LaTeX\)₭\LaTeX₭Not supported
\lBrace₮\lBrace₮Not supported₭\lBrace₭Not supported
\lbrace₮\lbrace₮\(\lbrace\)₭\lbrace₭₸\lbrace₸
\lbrack₮\lbrack₮\(\lbrack\)₭\lbrack₭₸\lbrack₸
\lceil₮\lceil₮\(\lceil\)₭\lceil₭₸\lceil₸
\lcroofNot supportedNot supportedNot supportedNot supportedSee \enclose
\ldotp₮\ldotp₮\(\ldotp\)₭\ldotp₭Not supported
\ldots₮\ldots₮\(\ldots\)₭\ldots₭₸\ldots₸
\le₮\le₮\(\le\)₭\le₭₸\le₸
\leadsto₮\leadsto₮\(\leadsto\)₭\leadsto₭Not supported
\left₮\left\lbrace \frac ab \right.₮\(\left\lbrace \frac ab \right.\)₭\left\lbrace \frac ab \right.₭₸\left\lbrace \frac ab \right.₸\left\lbrace \frac ab \right.
\leftarrow₮\leftarrow₮\(\leftarrow\)₭\leftarrow₭₸\leftarrow₸
\Leftarrow₮\Leftarrow₮\(\Leftarrow\)₭\Leftarrow₭₸\Leftarrow₸
\leftarrowtail₮\leftarrowtail₮\(\leftarrowtail\)₭\leftarrowtail₭₸\leftarrowtail₸
\leftharpoondown₮\leftharpoondown₮\(\leftharpoondown\)₭\leftharpoondown₭₸\leftharpoondown₸
\leftharpoonup₮\leftharpoonup₮\(\leftharpoonup\)₭\leftharpoonup₭₸\leftharpoonup₸
\leftleftarrows₮\leftleftarrows₮\(\leftleftarrows\)₭\leftleftarrows₭₸\leftleftarrows₸
\Leftrightarrow₮\Leftrightarrow₮\(\Leftrightarrow\)₭\Leftrightarrow₭₸\Leftrightarrow₸
\leftrightarrow₮\leftrightarrow₮\(\leftrightarrow\)₭\leftrightarrow₭₸\leftrightarrow₸
\leftrightarrows₮\leftrightarrows₮\(\leftrightarrows\)₭\leftrightarrows₭₸\leftrightarrows₸
\leftrightharpoons₮\leftrightharpoons₮\(\leftrightharpoons\)₭\leftrightharpoons₭₸\leftrightharpoons₸
\leftrightsquigarrow₮\leftrightsquigarrow₮\(\leftrightsquigarrow\)₭\leftrightsquigarrow₭₸\leftrightsquigarrow₸
\leftrootNot supported\(\sqrt[3\leftroot1]{x}\)Not supportedNot supported
\leftthreetimes₮\leftthreetimes₮\(\leftthreetimes\)₭\leftthreetimes₭₸\leftthreetimes₸
\leq₮\leq₮\(\leq\)₭\leq₭₸\leq₸
\leqalignnoNot supportedNot supportedNot supported
\leqq₮\leqq₮\(\leqq\)₭\leqq₭₸\leqq₸
\leqslant₮\leqslant₮\(\leqslant\)₭\leqslant₭₸\leqslant₸
\lessapprox₮\lessapprox₮\(\lessapprox\)₭\lessapprox₭₸\lessapprox₸
\lessdot₮\lessdot₮\(\lessdot\)₭\lessdot₭₸\lessdot₸
\lesseqgtr₮\lesseqgtr₮\(\lesseqgtr\)₭\lesseqgtr₭₸\lesseqgtr₸
\lesseqqgtr₮\lesseqqgtr₮\(\lesseqqgtr\)₭\lesseqqgtr₭₸\lesseqqgtr₸
\lessgtr₮\lessgtr₮\(\lessgtr\)₭\lessgtr₭₸\lessgtr₸
\lesssim₮\lesssim₮\(\lesssim\)₭\lesssim₭₸\lesssim₸
\letNot supportedNot supportedNot supported
\lfloor₮\lfloor₮\(\lfloor\)₭\lfloor₭₸\lfloor₸
\lg₮\lg₮\(\lg\)₭\lg₭₸\lg₸
\lgroup₮\lgroup₮\(\lgroup\)₭\lgroup₭Not supported
\lhd₮\lhd₮\(\lhd\)₭\lhd₭₸\lhd₸
\lim₮\begin{matrix}\lim x \\ \lim_y x \\\lim\limits_y x\end{matrix}₮\(\begin{matrix}\lim x \\ \lim_y x \\\lim\limits_y x\end{matrix}\)₭\begin{matrix}\lim x \\ \lim_y x \\\lim\limits_y x\end{matrix}₭₸\lim_y x₸\lim x
\lim_y x
\lim\limits_y x
\liminf₮\begin{matrix}\liminf x \\ \liminf_y x \\\liminf\limits_y x\end{matrix}₮\(\begin{matrix}\liminf x \\ \liminf_y x \\\liminf\limits_y x\end{matrix}\)₭\begin{matrix}\liminf x \\ \liminf_y x \\\liminf\limits_y x\end{matrix}₭₸\liminf₸
\limits₮\lim\limits_x₮\(\lim\limits_x\)₭\lim\limits_x₭Not supported\lim\limits_x
\limsup₮\begin{matrix}\limsup x \\ \limsup_y x \\\limsup\limits_y x\end{matrix}₮\(\begin{matrix}\limsup x \\ \limsup_y x \\\limsup\limits_y x\end{matrix}\)₭\begin{matrix}\limsup x \\ \limsup_y x \\\limsup\limits_y x\end{matrix}₭₸\limsup₸
\ll₮\ll₮\(\ll\)₭\ll₭₸\ll₸
\llap₮{=}\llap{/\,}₮\({=}\llap{/\,}\)₭{=}\llap{/\,}₭Not supported{=}\llap{/\,}
\llbracket₮\llbracket₮Not supported₭\llbracket₭Not supported
\llcorner₮\llcorner a \lrcorner₮\(\llcorner a \lrcorner\)₭\llcorner a \lrcorner₭Not supported
\Lleftarrow₮\Lleftarrow₮\(\Lleftarrow\)₭\Lleftarrow₭₸\Lleftarrow₸
\lll₮\lll₮\(\lll\)₭\lll₭₸\lll₸
\llless₮\llless₮\(\llless\)₭\llless₭Not supported
\lmoustache₮\lmoustache₮\(\lmoustache\)₭\lmoustache₭₸\lmoustache₸
\ln₮\ln x₮\(\ln x\)₭\ln x₭₸\ln x₸
\lnapprox₮\lnapprox₮\(\lnapprox\)₭\lnapprox₭₸\lnapprox₸
\lneq₮\lneq₮\(\lneq\)₭\lneq₭₸\lneq₸
\lneqq₮\lneqq₮\(\lneqq\)₭\lneqq₭₸\lneqq₸
\longdiv₮\longdiv{45.2}₮Not supported
See \enclose
₭\longdiv{45.2}₭Not supported\longdiv{45.2}
\lnot₮\lnot₮\(\lnot\)₭\lnot₭Not supported
\lnsim₮\lnsim₮\(\lnsim\)₭\lnsim₭₸\lnsim₸
\log₮\begin{matrix}\log x \\ \log_y x \\ \log\limits_y x\end{matrix}₮\(\begin{matrix}\log x \\ \log_y x \\ \log\limits_y x\end{matrix}\)₭\begin{matrix}\log x \\ \log_y x \\ \log\limits_y x\end{matrix}₭₸\begin{matrix}\log x \\ \log_y x \\ \log\limits_y x\end{matrix}₸\log x
\log_y x
\log\limits_y x
\Longleftarrow₮\Longleftarrow₮\(\Longleftarrow\)₭\Longleftarrow₭₸\Longleftarrow₸
\longleftarrow₮\longleftarrow₮\(\longleftarrow\)₭\longleftarrow₭₸\longleftarrow₸
\Longleftrightarrow₮\Longleftrightarrow₮\(\Longleftrightarrow\)₭\Longleftrightarrow₭₸\Longleftrightarrow₸
\longleftrightarrow₮\longleftrightarrow₮\(\longleftrightarrow\)₭\longleftrightarrow₭₸\longleftrightarrow₸
\longmapsto₮\longmapsto₮\(\longmapsto\)₭\longmapsto₭₸\longmapsto₸
\Longrightarrow₮\Longrightarrow₮\(\Longrightarrow\)₭\Longrightarrow₭₸\Longrightarrow₸
\longrightarrow₮\longrightarrow₮\(\longrightarrow\)₭\longrightarrow₭₸\longrightarrow₸
\looparrowleft₮\looparrowleft₮\(\looparrowleft\)₭\looparrowleft₭₸\looparrowleft₸
\looparrowright₮\looparrowright₮\(\looparrowright\)₭\looparrowright₭₸\looparrowright₸
\lor₮\lor₮\(\lor\)₭\lor₭Not supported
\lower₮l\lower 2pt{owe}r₮\(l\lower 2pt{owe}r\)₭l\lower 2pt{owe}r₭Not supportedl\lower 2pt{owe}r
\lozenge₮\lozenge₮\(\lozenge\)₭\lozenge₭₸\lozenge₸
\lparen₮\lparen₮Not supported₭\lparen₭Not supported
\Lrarr₮\Lrarr₮\(\Lrarr\)₭\Lrarr₭Not supported
\lrArr₮\lrArr₮\(\lrArr\)₭\lrArr₭Not supported
\lrarr₮\lrarr₮\(\lrarr\)₭\lrarr₭Not supported
\lrcorner₮\lrcorner₮\(\lrcorner\)₭\lrcorner₭Not supported
\lq₮\lq₮Not supported₭\lq₭₸\lq₸
\Lsh₮\Lsh₮\(\Lsh\)₭\Lsh₭₸\Lsh₸
\lt₮\lt₮\(\lt\)₭\lt₭₸\lt₸
\ltimes₮\ltimes₮\(\ltimes\)₭\ltimes₭₸\ltimes₸
\lVert₮\lVert₮\(\lVert\)₭\lVert₭Not supported
\lvert₮\lvert₮\(\lvert\)₭\lvert₭Not supported
\lvertneqq₮\lvertneqq₮\(\lvertneqq\)₭\lvertneqq₭₸\lvertneqq₸
- -

M

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\male₮\male₮Not supportedNot supportedNot supported\male
\maltese₮\maltese₮\(\maltese\)₭\maltese₭Not supported
\mapsto₮\mapsto₮\(\mapsto\)₭\mapsto₭₸\mapsto₸
\mathbb₮\mathbb{AB}₮\(\mathbb{AB}\)₭\mathbb{AB}₭₸\mathbb{AB}₸\mathbb{AB}
\mathbf₮\mathbf{AaBb123}₮\(\mathbf{AaBb123}\)₭\mathbf{AaBb123}₭₸\mathbf{AaBb123}₸\mathbf{AaBb123}
\mathbin₮a\mathbin{!}b₮\(a\mathbin{!}b\)₭a\mathbin{!}b₭₸a\mathbin{!}b₸a\mathbin{!}b
\mathcal₮\mathcal{AaBb123}₮\(\mathcal{AaBb123}\)₭\mathcal{AaBb123}₭₸\mathcal{AaBb123}₸\mathcal{AaBb123}
\mathchoice₮a\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b₮\(a\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b\)₭a\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b₭Not supporteda\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b
\mathclap₮\displaystyle\sum_{\mathclap{1\le i\le n}} x_{i}₮Not supported₭\displaystyle\sum_{\mathclap{1\le i\le n}} x_{i}₭₸\displaystyle\sum_{\mathclap{1\le i\le n}} x_{i}₸\sum_{\mathclap{1\le i\le n}} x_{i}
\mathclose₮a + (b\mathclose\gt + c₮\(a + (b\mathclose\gt + c\)₭a + (b\mathclose\gt + c₭Not supporteda + (b\mathclose\gt + c
\mathellipsis₮\mathellipsis₮Not supported₭\mathellipsis₭Not supported
\mathfrak₮\mathfrak{AaBb}₮\(\mathfrak{AaBb}\)₭\mathfrak{AaBb}₭₸\mathfrak{AaBb}₸\mathfrak{AaBb}
\mathinner₮ab\mathinner{\text{inside}}cd₮\(ab\mathinner{\text{inside}}cd\)₭ab\mathinner{\text{inside}}cd₭Not supportedab\mathinner{\text{inside}}cd
\mathit₮\mathit{AaBb}₮\(\mathit{AaBb}\)₭\mathit{AaBb}₭₸\mathit{AaBb}₸\mathit{AaBb}
\mathllap₮{\mathrlap{\,/}{=}}₮Not supported₭{\mathrlap{\,/}{=}}₭₸{\mathrlap{\,/}{=}}₸\mathrlap{\,/}{=}
\mathnormal₮\mathnormal{AaBb\theta}₮Not supported₭\mathnormal{AaBb\theta}₭Not supported\mathnormal{AaBb\theta}
\mathop₮a \mathop{x} b₮\(a \mathop{x} b\)₭a \mathop{x} b₭₸a \mathop{x} b₸a \mathop{x} b
\mathopen₮a + \mathopen\lt b) + c₮\(a + \mathopen\lt b) + c\)₭a + \mathopen\lt b) + c₭₸a + \mathopen\lt b) + c₸a + \mathopen\lt b) + c
\mathord₮1\mathord{,}234{,}567₮\(1\mathord{,}234{,}567\)₭1\mathord{,}234{,}567₭Not supported1\mathord{,}234{,}567
\mathpunct₮A\mathpunct{-}B₮\(A\mathpunct{-}B\)₭A\mathpunct{-}B₭Not supportedA\mathpunct{-}B
\mathraiseboxNot supportedNot supportedNot supported₸h\mathraisebox{2pt}{ighe}r₸
\mathrel₮a \mathrel{\#} b₮\(a \mathrel{\#} b\)₭a \mathrel{\#} b₭₸a \mathrel{#} b₸a \mathrel{\#} b
\mathrlap₮{\displaystyle \int_0^{\mathrlap{2\pi}} x \,\mathrm{d} x}₮Not supported₭{\displaystyle \int_0^{\mathrlap{2\pi}} x \,\mathrm{d} x}₭₸{\displaystyle \int_0^{\mathrlap{2\pi}} x \,\mathrm{d} x}₸\int_0^{\mathrlap{2\pi}} x\,\mathrm{d} x
\mathring₮\mathring{a}₮\(\mathring{a}\)₭\mathring{a}₭Not supported\mathring{a}
\mathrm₮\mathrm{AaBb12\theta}₮\(\mathrm{AaBb12\theta}\)₭\mathrm{AaBb12\theta}₭₸\mathrm{AaBb12\theta}₸\mathrm{AaBb12\theta}
\mathscr₮\mathscr{AB}₮\(\mathscr{AB}\)₭\mathscr{AB}₭₸\mathscr{AB}₸\mathscr{AaBb123}
\mathsf₮\mathsf{AaBb123}₮\(\mathsf{AaBb123}\)₭\mathsf{AaBb123}₭₸\mathsf{AaBb123}₸\mathsf{AaBb123}
\mathsterling₮\mathsterling₮Not supported₭\mathsterling₭Not supported
\mathstrut₮\sqrt{\mathstrut\alpha}₮\(\sqrt{\mathstrut\alpha}\)₭\sqrt{\mathstrut\alpha}₭Not supported\sqrt{\mathstrut\alpha}
\mathtip₮\mathtip{a=b}{tip}₮Not supportedNot supportedNot supported\mathtip{a=b}{tip}s
\mathtt₮\mathtt{AaBb123}₮\(\mathtt{AaBb123}\)₭\mathtt{AaBb123}₭₸\mathtt{AaBb123}₸\mathtt{AaBb123}
\matrixNot supported\(\matrix{a & b \\ c & d}\)Not supported₸\matrix{a & b \\ c & d}₸\matrix{a & b \\ c & d}
{matrix}₮\begin{matrix}\frac A B&b\\\frac A B&d\end{matrix}₮\(\begin{matrix}\frac A B&b\\\frac A B&d\end{matrix}\)₭\begin{matrix}\frac A B&b\\\frac A B&d\end{matrix}₭₸\begin{matrix}\frac A B&b\\\frac A B&d\end{matrix}₸\begin{matrix}
   \frac A B & b \\
   \frac A B & d
\end{matrix}
\max₮\begin{matrix}\max x \\ \max_y x \\\max\limits_y x\end{matrix}₮\(\begin{matrix}\max x \\ \max_y x \\\max\limits_y x\end{matrix}\)₭\begin{matrix}\max x \\ \max_y x \\\max\limits_y x\end{matrix}₭₸\max₸
\mboxNot supported\(\mbox{in a box}\)Not supportedNot supported\mbox{in a box}
\measuredangle₮\measuredangle₮\(\measuredangle\)₭\measuredangle₭₸\measuredangle₸
\medspace₮a\medspace b₮Not supported₭a\medspace b₭₸a\medspace b₸a\medspace b
\mho₮\mho₮\(\mho\)₭\mho₭₸\mho₸
\mid₮\{x∈ℝ\mid x > 0\}₮\(\{x∈ℝ\mid x>0\}\)₭\{x∈ℝ\mid x > 0\}₭₸\{x∈ℝ\mid x>0\}₸\{x∈ℝ\mid x>0\}
\middle₮P\left(A\middle\vert B\right)₮\(P\left(A\middle\vert B\right)\)₭P\left(A\middle\vert B\right)₭Not supportedP\left(A\middle\vert B\right)
\min₮\begin{matrix}\min x \\ \min_y x \\\min\limits_y x\end{matrix}₮\(\begin{matrix}\min x \\ \min_y x \\\min\limits_y x\end{matrix}\)₭\begin{matrix}\min x \\ \min_y x \\\min\limits_y x\end{matrix}₭₸\min₸
\minusoNot supported
See \standardstate
Not supported₭\minuso₭Not supported
\mitNot supported\(\mit{\Gamma\Theta}\)Not supportedNot supported\mit{\Gamma\Theta}
\mkern₮a\mkern18mu b₮\(a\mkern18mu b\)₭a\mkern18mu b₭Not supporteda\mkern18mu b
\mmlToken?Not supportedNot supportedNot supported
\mod₮3\equiv 5 \mod 2₮\(3\equiv 5 \mod 2\)₭3\equiv 5 \mod 2₭₸3\equiv 5 \mod 2₸3\equiv 5 \mod 2
\models₮\models₮\(\models\)₭\models₭₸\models₸
\moveleftNot supported\(O\moveleft3pt O\)Not supportedNot supportedO\moveleft3pt O
\moverightNot supported\(O\moveright3pt O\)Not supportedNot supportedO\moveright3pt O
\mp₮\mp₮\(\mp\)₭\mp₭₸\mp₸
\mskip₮a\mskip{10mu}b₮\(a\mskip{10mu}b\)₭a\mskip{10mu}b₭₸a\mskip{10mu}b₸a\mskip{10mu}b
\mspaceNot supported\(a\mspace18mu b\)Not supportedNot supporteda\mspace18mu b
\Mu₮\Mu₮\(\Mu\)₭\Mu₭₸\Mu₸
\mu₮\mu₮\(\mu\)₭\mu₭₸\mu₸
\multicolumnNot supportedNot supportedNot supportedNot supported
{multline}₮₮\begin{multline} -\rm first\ line \\ -\rm second\ line \\ -\rm third\ line -\end{multline}₮₮\[\begin{multline} - \rm first\ line \\ - \rm second\ line \\ - \rm third\ line - \end{multline}\]Not supportedNot supported
{multline*}₮₮\begin{multline*} -\rm first\ line \\ -\rm second\ line \\ -\rm third\ line -\end{multline*}₮₮\[\begin{multline*} - \rm first\ line \\ - \rm second\ line \\ - \rm third\ line - \end{multline*}\]Not supportedNot supported
\multimap₮\multimap₮\(\multimap\)₭\multimap₭₸\multimap₸
\multimapboth₮\multimapboth₮Not supportedNot supportedNot supported
\multimapinv₮\multimapinv₮Not supportedNot supportedNot supported
- -

N

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\N₮\N₮\(\N\)₭\N₭Not supported
\nabla₮\nabla₮\(\nabla\)₭\nabla₭₸\nabla₸
\natnums₮\natnums₮\(\natnums\)₭\natnums₭Not supported
\natural₮\natural₮\(\natural\)₭\natural₭₸\natural₸
\negmedspace₮a\negmedspace b₮\(a\negmedspace b\)₭a\negmedspace b₭₸a\negmedspace b₸a\negmedspace b
\ncong₮\ncong₮\(\ncong\)₭\ncong₭₸\ncong₸
\ne₮\ne₮\(\ne\)₭\ne₭₸\ne₸
\nearrow₮\nearrow₮\(\nearrow\)₭\nearrow₭₸\nearrow₸
\neg₮\neg₮\(\neg\)₭\neg₭₸\neg₸
\negthickspace₮a\negthickspace b₮\(a\negthickspace b\)₭a\negthickspace b₭Not supporteda\negthickspace b
\negthinspace₮a\negthinspace b₮\(a\negthinspace b\)₭a\negthinspace b₭Not supporteda\negthinspace b
\neq₮\neq₮\(\neq\)₭\neq₭₸\neq₸
\newcommand₮\newcommand\chk{\checkmark} \chk₮\(\newcommand\chk{\checkmark} \chk\)₭\newcommand\chk{\checkmark} \chk₭Not supported\newcommand\chk{\checkmark} \chk
\newenvironmentNot supported\(\newenvironment{tinyit}{\tiny\it}{\normalsize\rm}\begin{tinyit}Really small.\end{tinyit}\)Not supportedNot supported\newenvironment{tinyit}{\tiny\it}{\normalsize\rm}
\begin{tinyit}Really small.\end{tinyit}
\NewextarrowNot supported\(\Newextarrow{\xrightharpoonup}{5,10}{0x21C0} A \xrightharpoonup{\text{note}} B\)Not supportedNot supported\Newextarrow{\xrightharpoonup}{5,10}{0x21C0}
A \xrightharpoonup{\text{note}} B
\newextarrowNot supported<Not supportedNot supportedNot supportedSpelling per LaTeX.
\newline₮a\newline b₮Not supported₭a\newline b₭Not supporteda\newline b
\nexists₮\nexists₮\(\nexists\)₭\nexists₭₸\nexists₸
\ngeq₮\ngeq₮\(\ngeq\)₭\ngeq₭₸\ngeq₸
\ngeqq₮\ngeqq₮\(\ngeqq\)₭\ngeqq₭₸\ngeqq₸
\ngeqslant₮\ngeqslant₮\(\ngeqslant\)₭\ngeqslant₭₸\ngeqslant₸
\ngtr₮\ngtr₮\(\ngtr\)₭\ngtr₭₸\ngtr₸
\ni₮\ni₮\(\ni\)₭\ni₭₸\ni₸
\nleftarrow₮\nleftarrow₮\(\nleftarrow\)₭\nleftarrow₭₸\nleftarrow₸
\nLeftarrow₮\nLeftarrow₮\(\nLeftarrow\)₭\nLeftarrow₭₸\nLeftarrow₸
\nLeftrightarrow₮\nLeftrightarrow₮\(\nLeftrightarrow\)₭\nLeftrightarrow₭₸\nLeftrightarrow₸
\nleftrightarrow₮\nleftrightarrow₮\(\nleftrightarrow\)₭\nleftrightarrow₭₸\nleftrightarrow₸
\nleq₮\nleq₮\(\nleq\)₭\nleq₭₸\nleq₸
\nleqq₮\nleqq₮\(\nleqq\)₭\nleqq₭₸\nleqq₸
\nleqslant₮\nleqslant₮\(\nleqslant\)₭\nleqslant₭₸\nleqslant₸
\nless₮\nless₮\(\nless\)₭\nless₭₸\nless₸
\nmid₮\nmid₮\(\nmid\)₭\nmid₭₸\nmid₸
\nobreakNot supportedNot supportedNot supportedNot supported
\nobreakspace₮a\nobreakspace b₮\(a\nobreakspace b\)₭a\nobreakspace b₭Not supporteda\nobreakspace b
\nolimits₮\lim\nolimits_x₮\(\lim\nolimits_x\)₭\lim\nolimits_x₭Not supported\lim\nolimits_x
\normalsize₮\normalsize normalsize₮\(\normalsize normalsize\)₭\normalsize normalsize₭Not supported\normalsize normalsize
\not₮\not =₮\(\not =\)₭\not =₭₸\not =₸\not =
\notagNot supportedNot supportedNot supported
\notin₮\notin₮\(\notin\)₭\notin₭₸\notin₸
\notni₮\notni₮Not supported₭\notni₭₸\notni₸
\nparallel₮\nparallel₮\(\nparallel\)₭\nparallel₭₸\nparallel₸
\nprec₮\nprec₮\(\nprec\)₭\nprec₭₸\nprec₸
\npreceq₮\npreceq₮\(\npreceq\)₭\npreceq₭₸\npreceq₸
\nRightarrow₮\nRightarrow₮\(\nRightarrow\)₭\nRightarrow₭₸\nRightarrow₸
\nrightarrow₮\nrightarrow₮\(\nrightarrow\)₭\nrightarrow₭₸\nrightarrow₸
\nshortmid₮\nshortmid₮\(\nshortmid\)₭\nshortmid₭₸\nshortmid₸
\nshortparallel₮\nshortparallel₮\(\nshortparallel\)₭\nshortparallel₭₸\nshortparallel₸
\nsim₮\nsim₮\(\nsim\)₭\nsim₭₸\nsim₸
\nsubset₮\nsubset₮Not supportedNot supported₸\nsubset₸
\nsubseteq₮\nsubseteq₮\(\nsubseteq\)₭\nsubseteq₭₸\nsubseteq₸
\nsubseteqq₮\nsubseteqq₮\(\nsubseteqq\)₭\nsubseteqq₭₸\nsubseteqq₸
\nsucc₮\nsucc₮\(\nsucc\)₭\nsucc₭₸\nsucc₸
\nsucceq₮\nsucceq₮\(\nsucceq\)₭\nsucceq₭₸\nsucceq₸
\nsupset₮\nsupset₮Not supportedNot supported₸\nsupset₸
\nsupseteq₮\nsupseteq₮\(\nsupseteq\)₭\nsupseteq₭₸\nsupseteq₸
\nsupseteqq₮\nsupseteqq₮\(\nsupseteqq\)₭\nsupseteqq₭Not supported
\ntriangleleft₮\ntriangleleft₮\(\ntriangleleft\)₭\ntriangleleft₭₸\ntriangleleft₸
\ntrianglelefteq₮\ntrianglelefteq₮\(\ntrianglelefteq\)₭\ntrianglelefteq₭₸\ntrianglelefteq₸
\ntriangleright₮\ntriangleright₮\(\ntriangleright\)₭\ntriangleright₭₸\ntriangleright₸
\ntrianglerighteq₮\ntrianglerighteq₮\(\ntrianglerighteq\)₭\ntrianglerighteq₭₸\ntrianglerighteq₸
\Nu₮\Nu₮\(\Nu\)₭\Nu₭₸\Nu₸
\nu₮\nu₮\(\nu\)₭\nu₭₸\nu₸
\nVDash₮\nVDash₮\(\nVDash\)₭\nVDash₭₸\nVDash₸
\nVdash₮\nVdash₮\(\nVdash\)₭\nVdash₭₸\nVdash₸
\nvDash₮\nvDash₮\(\nvDash\)₭\nvDash₭₸\nvDash₸
\nvdash₮\nvdash₮\(\nvdash\)₭\nvdash₭₸\nvdash₸
\nwarrow₮\nwarrow₮\(\nwarrow\)₭\nwarrow₭₸\nwarrow₸
- -

O

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\O₮\text{\O}₮Not supported₭\text{\O}₭₸\text{\O}₸\text{\O}
\o₮\text{\o}₮Not supported₭\text{\o}₭₸\text{\o}₸\text{\o}
\oc₮\oc₮Not supportedNot supportedNot supported
\odv₮\odv{f}{x}₮Not supportedNot supportedNot supported\odv{f}{x}
\odv*`₮\odv*{f}{x}₮Not supportedNot supportedNot supported\odv*{f}{x}
\odot₮\odot₮\(\odot\)₭\odot₭₸\odot₸
\OE₮\text{\OE}₮Not supported₭\text{\OE}₭₸\text{\OE}₸\text{\OE}
\oe₮\text{\oe}₮Not supported₭\text{\oe}₭₸\text{\oe}₸\text{\oe}
\officialeuroNot supported
See \euro
\(\officialeuro\)Not supportedNot supported
\oiiint₮\oiiint_0^n x \; \displaystyle \oiiint_0^n x₮\(\oiiint_0^n x \; \displaystyle \oiiint_0^n x\)₭\oiiint_0^n x \; \displaystyle \oiiint_0^n x₭₸\oiiint₸
\oiint₮\oiint_0^n x \; \displaystyle \oiint_0^n x₮\(\oiint_0^n x \; \displaystyle \oiint_0^n x\)₭\oiint_0^n x \; \displaystyle \oiint_0^n x₭₸\oiint₸
\oint₮\oint_0^n x \; \displaystyle \oint_0^n x₮\(\oint_0^n x \; \displaystyle \oint_0^n x\)₭\oint_0^n x \; \displaystyle \oint_0^n x₭₸\oint₸
\oldstyleNot supported
See \oldstylenums
\(\oldstyle 0123456\)Not supportedNot supported\oldstyle 0123456
\oldstylenums₮\oldstylenums{123}₮Not supportedNot supportedNot supported\oldstylenums{123}
\omega₮\omega₮\(\omega\)₭\omega₭₸\omega₸
\Omega₮\Omega₮\(\Omega\)₭\Omega₭₸\Omega₸
\Omicron₮\Omicron₮\(\Omicron\)₭\Omicron₭Not supported
\omicron₮\omicron₮\(\omicron\)₭\omicron₭₸\omicron₸
\ominus₮\ominus₮\(\ominus\)₭\ominus₭₸\ominus₸
\operatorname₮\operatorname{asin} x₮\(\operatorname{asin} x\)₭\operatorname{asin} x₭₸\operatorname{asin} x₸\operatorname{asin} x
\operatorname*₮\begin{matrix}\operatorname*{asin} x \\ \operatorname*{asin}_y x \\ \operatorname*{asin}\limits_y x\end{matrix}₮\(\begin{matrix}\operatorname*{asin} x \\ \operatorname*{asin}_y x \\ \operatorname*{asin}\limits_y x\end{matrix}\)₭\begin{matrix}\operatorname*{asin} x \\ \operatorname*{asin}_y x \\ \operatorname*{asin}\limits_y x\end{matrix}₭₸\operatorname*{func}\limits_a^b(x)₸\operatorname*{asin} x
\operatorname*{asin}_y x
\operatorname*{asin}\limits_y x\end
\oplus₮\oplus₮\(\oplus\)₭\oplus₭₸\oplus₸
\orNot supportedNot supportedNot supportedNot supported
\origof₮\origof₮Not supported₭\origof₭Not supported
\oslash₮\oslash₮\(\oslash\)₭\oslash₭₸\oslash₸
\otimes₮\otimes₮\(\otimes\)₭\otimes₭₸\otimes₸
\over₮{a+1 \over b+2}+c₮\({a+1 \over b+2}+c\)₭{a+1 \over b+2}+c₭₸{a+1 \over b+2}+c₸{a+1 \over b+2}+c
\overbrace₮\overbrace{x+⋯+x}^{n\text{ times}}₮\(\overbrace{x+⋯+x}^{n\text{ times}}\)₭\overbrace{x+⋯+x}^{n\text{ times}}₭₸\overbrace{x+⋯+x}^{n\text{ times}}₸\overbrace{x+⋯+x}^{n\text{ times}}
\overbracketNot supportedNot supportedNot supportedNot supported
\overgroup₮\overgroup{AB}₮Not supported₭\overgroup{AB}₭₸\overgroup{AB}₸\overgroup{AB}
\overleftarrow₮\overleftarrow{AB}₮\(\overleftarrow{AB}\)₭\overleftarrow{AB}₭₸\overleftarrow{AB}₸\overleftarrow{AB}
\overleftharpoon₮\overleftharpoon{AB}₮Not supported₭\overleftharpoon{AB}₭₸\overleftharpoon{AB}₸\overleftharpoon{AB}
\overleftrightarrow₮\overleftrightarrow{AB}₮\(\overleftrightarrow{AB}\)₭\overleftrightarrow{AB}₭₸\overleftrightarrow{AB}₸\overleftrightarrow{AB}
\overline₮\overline{\text{a long argument}}₮\(\overline{\text{a long argument}}\)₭\overline{\text{a long argument}}₭₸\overline{\text{a long argument}}₸\overline{\text{a long argument}}
\overlinesegmentNot supportedNot supportedNot supportedNot supported
\overparen₮\overparen{AB}₮\(\overparen{AB}\)Not supported₸\overparen{AB}₸See \overgroup
\Overrightarrow₮\Overrightarrow{AB}₮Not supported₭\Overrightarrow{AB}₭Not supported\Overrightarrow{AB}
\overrightarrow₮\overrightarrow{AB}₮\(\overrightarrow{AB}\)₭\overrightarrow{AB}₭₸\overrightarrow{AB}₸\overrightarrow{AB}
\overrightharpoon₮\overrightharpoon{ac}₮Not supported₭\overrightharpoon{ac}₭₸\overrightharpoon{ac}₸\overrightharpoon{ac}
\overset₮\overset{!}{=}₮\(\overset{!}{=}\)₭\overset{!}{=}₭₸\overset{!}{=}₸\overset{!}{=}
\overwithdelimsNot supported\(a \overwithdelims [ ] b\)Not supportedNot supported
\owns₮\owns₮\(\owns\)₭\owns₭Not supported
- -

P

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\P₮\text{\P}₮Not supported₭\text{\P}₭₸\text{\P}₸\text{\P}
\pagecolor?Not supportedNot supportedNot supportedDeprecated
\parallel₮\parallel₮\(\parallel\)₭\parallel₭₸\parallel₸
\parr₮\parr₮Not supportedNot supportedNot supported
\part??Not supportedNot supportedNot supportedDeprecated
\partial₮\partial₮\(\partial\)₭\partial₭₸\partial₸
\permil₮\permil₮Not supportedNot supportedNot supported
\pdv₮\pdv{f}{x,y}₮Not supportedNot supportedNot supported\pdv{f}{x,y}
\pdv*₮\pdv*{f}{x,y}₮Not supportedNot supportedNot supported\pdv*{f}{x,y}
\perp₮\perp₮\(\perp\)₭\perp₭₸\perp₸
\phantom₮\Gamma^{\phantom{i}j}_{i\phantom{j}k}₮\(\Gamma^{\phantom{i}j}_{i\phantom{j}k}\)₭\Gamma^{\phantom{i}j}_{i\phantom{j}k}₭₸\Gamma^{\phantom{i}j}_{i\phantom{j}k}₸\Gamma^{\phantom{i}j}_{i\phantom{j}k}
\phase₮120\text{V}\phase{78.2\degree}₮Not supported
See \enclose
₭120\text{V}\phase{78.2\degree}₭Not supported120\text{V}\phase{78.2\degree}
\Phi₮\Phi₮\(\Phi\)₭\Phi₭₸\Phi₸
\phi₮\phi₮\(\phi\)₭\phi₭₸\phi₸
\Pi₮\Pi₮\(\Pi\)₭\Pi₭₸\Pi₸
\pi₮\pi₮\(\pi\)₭\pi₭₸\pi₸
{picture}Not supportedNot supportedNot supportedNot supported
\pitchfork₮\pitchfork₮\(\pitchfork\)₭\pitchfork₭₸\pitchfork₸
\plim₮\plim₮Not supported₭\plim₭Not supported
\plusmn₮\plusmn₮\(\plusmn\)₭\plusmn₭Not supported
\pm₮\pm₮\(\pm\)₭\pm₭₸\pm₸
\pmatrixNot supported\(\pmatrix{a&b\\c&d}\)Not supported₸\pmatrix{a&b\\c&d}₸See {pmatrix}
{pmatrix}₮\begin{pmatrix}a&b\\c&d\end{pmatrix}₮\(\begin{pmatrix}a&b\\c&d\end{pmatrix}\)₭\begin{pmatrix}a&b\\c&d\end{pmatrix}₭₸\begin{pmatrix}a&b\\c&d\end{pmatrix}₸\begin{pmatrix}
   a & b \\
   c & d
\end{pmatrix}
\pmb₮\pmb{\mu}₮\(\pmb{\mu}\)₭\pmb{\mu}₭Not supported\pmb{\mu}
\pmod₮x\pmod a₮\(x\pmod a\)₭x\pmod a₭Not supportedx\pmod a
\pod₮x \pod a₮\(x \pod a\)₭x \pod a₭Not supportedx \pod a
\pounds₮\pounds₮Not supported₭\pounds₭Not supported
\Pr₮\begin{matrix}\Pr x \\ \Pr_y x \\\Pr\limits_y x\end{matrix}₮\(\begin{matrix}\Pr x \\ \Pr_y x \\\Pr\limits_y x\end{matrix}\)₭\begin{matrix}\Pr x \\ \Pr_y x \\\Pr\limits_y x\end{matrix}₭₸\Pr₸
\prec₮\prec₮\(\prec\)₭\prec₭₸\prec₸
\precapprox₮\precapprox₮\(\precapprox\)₭\precapprox₭₸\precapprox₸
\preccurlyeq₮\preccurlyeq₮\(\preccurlyeq\)₭\preccurlyeq₭₸\preccurlyeq₸
\preceq₮\preceq₮\(\preceq\)₭\preceq₭₸\preceq₸
\precnapprox₮\precnapprox₮\(\precnapprox\)₭\precnapprox₭₸\precnapprox₸
\precneqq₮\precneqq₮\(\precneqq\)₭\precneqq₭₸\precneqq₸
\precnsim₮\precnsim₮\(\precnsim\)₭\precnsim₭₸\precnsim₸
\precsim₮\precsim₮\(\precsim\)₭\precsim₭₸\precsim₸
\prescript₮\prescript{a}{2}{\mathbf{C}}^{5+}_{2}₮Not supported₭\prescript{a}{2}{\mathbf{C}}^{5+}_{2}₭Not supported\prescript{a}{2}{\mathbf{C}}^{5+}_{2}
\prime₮\prime₮\(\prime\)₭\prime₭₸\prime₸
\prod₮\prod_0^n x \; \displaystyle \prod_0^n x₮\(\prod_0^n x \; \displaystyle \prod_0^n x\)₭\prod_0^n x \; \displaystyle \prod_0^n x₭₸\prod₸
\projlim₮\projlim_n x₮\(\projlim_n x\)₭\projlim_n x₭Not supported\projlim_n x
\propto₮\propto₮\(\propto\)₭\propto₭₸\propto₸
\providecommand₮\providecommand\greet{\text{Hello}} \greet₮Not supported₭\providecommand\greet{\text{Hello}} \greet₭Not supported\providecommand\greet{\text{Hello}} \greet
\psi₮\psi₮\(\psi\)₭\psi₭₸\psi₸
\Psi₮\Psi₮\(\Psi\)₭\Psi₭₸\Psi₸
\pu₮{123~\mathchoice{\textstyle\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}}₮\({123~\mathchoice{\textstyle\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}}\)₭{123~\mathchoice{\textstyle\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}}₭Not supported\pu{123 kJ//mol}
- -

QR

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\QNot supported\(\Q\)Not supportedNot supportedSee \Bbb{Q}
\qquad₮a\qquad\qquad{b}₮\(a\qquad\qquad{b}\)₭a\qquad\qquad{b}₭₸a\qquad\qquad{b}₸a\qquad\qquad{b}
\quad₮a\quad\quad{b}₮\(a\quad\quad{b}\)₭a\quad\quad{b}₭₸a\quad\quad{b}₸a\quad\quad{b}
\R₮\R₮\(\R\)₭\R₭Not supported
\r₮\text{\r{a}}₮\(\text{\r{a}}\)₭\text{\r{a}}₭₸\text{\r{a}}₸\text{\r{a}}
\raise₮h\raise{2pt}{ighe}r₮\(h\raise{2pt}{ighe}r\)₭h\raise{2pt}{ighe}r₭Not supportedh\raise{2pt}{ighe}r
\raisebox₮h\raisebox{2pt}{ighe}r₮Not supported₭h\raisebox{2pt}{ighe}r₭Not supportedh\raisebox{2pt}{ighe}r
\rang₮\langle A\rang₮\(\langle A\rang\)₭\langle A\rang₭₸\langle A\rang₸\langle A\rang
\rangle₮\langle A\rangle₮\(\langle A\rangle\)₭\langle A\rangle₭₸\langle A\rangle₸\langle A\rangle
\Rarr₮\Rarr₮\(\Rarr\)₭\Rarr₭Not supported
\rArr₮\rArr₮\(\rArr\)₭\rArr₭Not supported
\rarr₮\rarr₮\(\rarr\)₭\rarr₭Not supported
\rBrace₮\rBrace₮Not supported₭\rBrace₭Not supported
\rbrace₮\rbrace₮\(\rbrace\)₭\rbrace₭₸\rbrace₸
\rbrack₮\rbrack₮\(\rbrack\)₭\rbrack₭₸\rbrack₸
{rcases}₮\begin{rcases}a&\text{if }b\\c&\text{if }d\end{rcases}₮Not supported₭\begin{rcases}a&\text{if }b\\c&\text{if }d\end{rcases}₭₸\begin{rcases}a&\text{if }b\\c&\text{if }d\end{rcases}₸\begin{rcases}
   a&\text{if }b\\
   c&\text{if }d
\end{rcases}
\rceil₮\rceil₮\(\rceil\)₭\rceil₭₸\rceil₸
\Re₮\Re₮\(\Re\)₭\Re₭₸\Re₸
\real₮\real₮\(\real\)₭\real₭Not supported
\Reals₮\Reals₮\(\Reals\)₭\Reals₭Not supported
\reals₮\reals₮\(\reals\)₭\reals₭Not supported
\ref₮\ref{maxwell}₮SupportedNot supportedNot supported\ref{maxwell}
\relaxNot supportedNot supported
\renewcommand₮\def\hail{Hi!}\renewcommand\hail{\text{Ahoy!}} \hail₮\(\def\hail{Hi!}\renewcommand\hail{\text{Ahoy!}} \hail\)₭\def\hail{Hi!}\renewcommand\hail{\text{Ahoy!}} \hail₭Not supported\def\hail{Hi!}
\renewcommand\hail{\text{Ahoy!}}
\hail
\renewenvironmentNot supportedNot supportedNot supported
\requireNot supportedNot supportedNot supported
\restriction₮\restriction₮\(\restriction\)₭\restriction₭Not supported
\rfloor₮\rfloor₮\(\rfloor\)₭\rfloor₭₸\rfloor₸
\rgroup₮\rgroup₮\(\rgroup\)₭\rgroup₭Not supported
\rhd₮\rhd₮\(\rhd\)₭\rhd₭₸\rhd₸
\Rho₮\Rho₮\(\Rho\)₭\Rho₭₸\Rho₸
\rho₮\rho₮\(\rho\)₭\rho₭₸\rho₸
\right₮\left.\frac a b\right)₮\(\left.\frac a b\right)\)₭\left.\frac a b\right)₭₸\left.\frac a b\right)₸\left.\frac a b\right)
\Rightarrow₮\Rightarrow₮\(\Rightarrow\)₭\Rightarrow₭₸\Rightarrow₸
\rightarrow₮\rightarrow₮\(\rightarrow\)₭\rightarrow₭₸\rightarrow₸
\rightarrowtail₮\rightarrowtail₮\(\rightarrowtail\)₭\rightarrowtail₭₸\rightarrowtail₸
\rightharpoondown₮\rightharpoondown₮\(\rightharpoondown\)₭\rightharpoondown₭₸\rightharpoondown₸
\rightharpoonup₮\rightharpoonup₮\(\rightharpoonup\)₭\rightharpoonup₭₸\rightharpoonup₸
\rightleftarrows₮\rightleftarrows₮\(\rightleftarrows\)₭\rightleftarrows₭₸\rightleftarrows₸
\rightleftharpoons₮\rightleftharpoons₮\(\rightleftharpoons\)₭\rightleftharpoons₭₸\rightleftharpoons₸
\rightrightarrows₮\rightrightarrows₮\(\rightrightarrows\)₭\rightrightarrows₭₸\rightrightarrows₸
\rightsquigarrow₮\rightsquigarrow₮\(\rightsquigarrow\)₭\rightsquigarrow₭₸\rightsquigarrow₸
\rightthreetimes₮\rightthreetimes₮\(\rightthreetimes\)₭\rightthreetimes₭₸\rightthreetimes₸
\risingdotseq₮\risingdotseq₮\(\risingdotseq\)₭\risingdotseq₭₸\risingdotseq₸
\rlap₮\rlap{\,/}{=}₮\(\rlap{\,/}{=}\)₭\rlap{\,/}{=}₭Not supported\rlap{\,/}{=}
\rm₮\rm AaBb12\theta₮\(\rm AaBb12\theta\)₭\rm AaBb12\theta₭Not supported\rm AaBb12\theta
\rmoustache₮\rmoustache₮\(\rmoustache\)₭\rmoustache₭₸\rmoustache₸
\rootNot supported\(\root 3 \of x\)Not supported₸\root{3}{x}₸MathJax and TeXZilla differ in syntax:
\root 3 \of x vs. \root{3}{x}
\rotateboxNot supportedNot supportedNot supportedNot supported
\rparen₮\rparen₮Not supported₭\rparen₭Not supported
\rq₮\rq₮Not supported₭\rq₭₸\rq₸
\Rrightarrow₮\Rrightarrow₮\(\Rrightarrow\)₭\Rrightarrow₭₸\Rrightarrow₸
\rrbracket₮\rrbracket₮Not supported₭\rrbracket₭Not supported
\Rsh₮\Rsh₮\(\Rsh\)₭\Rsh₭₸\Rsh₸
\rtimes₮\rtimes₮\(\rtimes\)₭\rtimes₭₸\rtimes₸
\RuleNot supported\(x\Rule{3px}{0.5ex}{2ex}x\)Not supportedNot supportedNon-standard
\rule₮x\color{blue}\rule[6pt]{2ex}{1ex}x₮\(x\color{blue}\rule[6pt]{2ex}{1ex}x\)₭x\color{blue}\rule[6pt]{2ex}{1ex}x₭Not supportedx\color{blue}\rule[6pt]{2ex}{1ex}x
\rVert₮\rVert₮\(\rVert\)₭\rVert₭Not supported
\rvert₮\rvert₮\(\rvert\)₭\rvert₭Not supported
- -

S

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\S₮\text{\S}₮Not supported₭\text{\S}₭₸\text{\S}₸\text{\S}
\Sampi₮\Sampi₮Not supportedNot supportedNot supported
\sampi₮\sampi₮Not supportedNot supportedNot supported
\scaleboxNot supportedNot supportedNot supportedNot supported
\scoh₮\scoh₮Not supportedNot supportedNot supported
\scrNot supported\(\scr M\)Not supportedNot supported\scr M
\scriptscriptstyle₮\scriptscriptstyle \frac cd₮\(\scriptscriptstyle \frac cd\)₭\scriptscriptstyle \frac cd₭Not supported\scriptscriptstyle \frac cd
\scriptsize₮\scriptsize scriptsize₮\(\scriptsize scriptsize\)₭\scriptsize scriptsize₭₸\scriptsize scriptsize₸\scriptsize scriptsize
\scriptstyle₮\frac ab + {\scriptstyle \frac cd}₮\(\frac ab + {\scriptstyle \frac cd}\)₭\frac ab + {\scriptstyle \frac cd}₭Not supported\frac ab + {\scriptstyle \frac cd}
\sdot₮\sdot₮\(\sdot\)₭\sdot₭Not supported
\searrow₮\searrow₮\(\searrow\)₭\searrow₭₸\searrow₸
\sec₮\sec₮\(\sec\)₭\sec₭₸\sec₸
\sect₮\text{\sect}₮Not supported₭\text{\sect}₭Not supported\text{\sect}
\set₮\set{ x | x<5 }₮Requires extensionNot supportedNot supported\Set{x|x<5}
\Set₮\Set{ x | x<\frac 1 2 }₮Requires extensionNot supportedNot supported\Set{ x | x<\frac 1 2 }
\setlengthNot supportedNot supportedNot supportedNot supported
\setminus₮\setminus₮\(\setminus\)₭\setminus₭₸\setminus₸
\sf₮\sf AaBb123₮\(\sf AaBb123\)₭\sf AaBb123₭Not supported\sf AaBb123
\sgn₮\sgn₮Not supportedNot supportedNot supported
\sharp₮\sharp₮\(\sharp\)₭\sharp₭₸\sharp₸
\shift₮\shift₮Not supportedNot supportedNot supported
\shneg₮\shneg₮Not supportedNot supportedNot supported
\shortmid₮\shortmid₮\(\shortmid\)₭\shortmid₭₸\shortmid₸
\shortparallel₮\shortparallel₮\(\shortparallel\)₭\shortparallel₭₸\shortparallel₸
\shoveleftNot supported\(\begin{multline*} -\rm first\ line \\ -\shoveleft{\rm 2nd} \\ -\rm third\ line -\end{multline*}\)Not supportedNot supported
\shoverightNot supported\(\begin{multline*} -\rm first\ line \\ -\shoveright{\rm 2nd} \\ -\rm third\ line -\end{multline*}\)Not supportedNot supported
\shpos₮\shpos₮Not supportedNot supportedNot supported
\sideset₮\sideset{_1^2}{_3^4}\sum₮Not supportedNot supported₸\sideset{_1^2}{_3^4}\sum₸
\Sigma₮\Sigma₮\(\Sigma\)₭\Sigma₭₸\Sigma₸
\sigma₮\sigma₮\(\sigma\)₭\sigma₭₸\sigma₸
\sim₮\sim₮\(\sim\)₭\sim₭₸\sim₸
\simeq₮\simeq₮\(\simeq\)₭\simeq₭₸\simeq₸
\sin₮\sin x₮\(\sin x\)₭\sin x₭₸\sin x₸
\sincoh₮\sincoh₮Not supportedNot supportedNot supported
\sinh₮\sinh x₮\(\sinh x\)₭\sinh x₭₸\sinh x₸
\sixptsize₮\sixptsize sixptsize₮Not supported₭\sixptsize sixptsize₭Not supported\sixptsize sixptsize
\sh₮\sh₮Not supported₭\sh₭Not supported
\skewNot supported\(\hat A\skew9\hat A\)Not supportedNot supported\hat A\skew9\hat A
\skipNot supportedNot supportedNot supportedNot supported
\small₮\small small₮\(\small small\)₭\small small₭Not supported\small small
\smallfrown₮\smallfrown₮\(\smallfrown\)₭\smallfrown₭₸\smallfrown₸
\smallint₮\smallint_0^n x \; \smallint\limits_0^n x \; \displaystyle \smallint_0^n x₮\(\smallint_0^n x \; \smallint\limits_0^n x \; \displaystyle \smallint_0^n x\)₭\smallint_0^n x \; \smallint\limits_0^n x \; \displaystyle \smallint_0^n x₭Not supported - \smallint_0^n x
\smallint\limits_0^n x
\displaystyle \smallint_0^n x -
{smallmatrix}₮\begin{smallmatrix}a & b\\c & d\end{smallmatrix}₮\(\begin{smallmatrix}a & b\\c & d\end{smallmatrix}\)₭\begin{smallmatrix}a & b\\c & d\end{smallmatrix}₭₸\begin{smallmatrix}a & b\\c & d\end{smallmatrix}₸\begin{smallmatrix}a & b\\
c & d\end{smallmatrix}
\smallsetminus₮\smallsetminus₮\(\smallsetminus\)₭\smallsetminus₭₸\smallsetminus₸
\smallsmile₮\smallsmile₮\(\smallsmile\)₭\smallsmile₭₸\smallsmile₸
\smash₮\left(x^{\smash{2}}\right)₮\(\left(x^{\smash{2}}\right)\)₭\left(x^{\smash{2}}\right)₭Not supported\left(x^{\smash{2}}\right)
\smile₮\smile₮\(\smile\)₭\smile₭₸\smile₸
\smiley₮\smiley₮Not supportedNot supportedNot supportedwasysym
\sout₮\sout{abc}₮Not supported₭\sout{abc}₭Not supported\sout{abc}
\SpaceNot supported\(a\Space{5px}{4ex}{2ex}^b_c d\)Not supportedNot supporteda\Space{5px}{4ex}{2ex}^b_c d
\space₮a\space{b}₮\(a\space{b}\)₭a\space{b}₭₸a\space{b}₸a\space{b}
\spades₮\spades₮\(\spades\)₭\spades₭Not supported
\spadesuit₮\spadesuit₮\(\spadesuit\)₭\spadesuit₭₸\spadesuit₸
\sphericalangle₮\sphericalangle₮\(\sphericalangle\)₭\sphericalangle₭₸\sphericalangle₸
{split}₮₮\begin{equation}\begin{split}∇·𝐃&=ρ_v \\ ∇·𝐁&=0 \end{split}\end{equation}₮₮\[\begin{equation}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation}\]₭₭\begin{equation}\begin{split}∇·𝐃&=ρ_v \\∇·𝐁&=0\end{split}\end{equation}₭₭Not supported\begin{equation}
\begin{split}
   ∇·𝐃&=ρ_v \\
   ∇·𝐁&=0
\end{split}
\end{equation}
\sqcap₮\sqcap₮\(\sqcap\)₭\sqcap₭₸\sqcap₸
\sqcup₮\sqcup₮\(\sqcup\)₭\sqcup₭₸\sqcup₸
\square₮\square₮\(\square\)₭\square₭₸\square₸
\sqrt₮\sqrt[3]{x}₮\(\sqrt[3]{x}\)₭\sqrt[3]{x}₭₸\sqrt[3]{x}₸\sqrt[3]{x}
\sqsubset₮\sqsubset₮\(\sqsubset\)₭\sqsubset₭₸\sqsubset₸
\sqsubseteq₮\sqsubseteq₮\(\sqsubseteq\)₭\sqsubseteq₭₸\sqsubseteq₸
\sqsupset₮\sqsupset₮\(\sqsupset\)₭\sqsupset₭₸\sqsupset₸
\sqsupseteq₮\sqsupseteq₮\(\sqsupseteq\)₭\sqsupseteq₭₸\sqsupseteq₸
\ss₮\text{\ss}₮Not supported₭\text{\ss}₭₸\text{\ss}₸\text{\ss}
\stackrel₮\stackrel{!}{=}₮\(\stackrel{!}{=}\)₭\stackrel{!}{=}₭₸\stackrel{!}{=}₸\stackrel{!}{=}
\star₮\star₮\(\star\)₭\star₭₸\star₸
\Stigma₮\Stigma₮Not supportedNot supportedNot supported
\stigma₮\stigma₮Not supportedNot supportedNot supported
\strictif₮\strictif₮Not supportedNot supportedNot supported
\strictfi₮\strictfi₮Not supportedNot supportedNot supported
\strutNot supported\(\boxed{ab\strut}\)Not supportedNot supported\boxed{ab\strut}
\styleNot supported\(\frac{\style{color:red}{x+1}}{y+2}\)Not supportedNot supported\frac{\style{color:red}{x+1}}{y+2}
Non standard
\sub₮\sub₮\(\sub\)₭\sub₭Not supported
{subarray}₮\begin{subarray}{c} a \\ c \end{subarray}₮\(\begin{subarray}{c} a \\ c \end{subarray}\)₭\begin{subarray}{c} a \\ c \end{subarray}₭Not supported\sum_{\begin{subarray}
   {c} a \\
   c
\end{subarray}}
\sube₮\sube₮\(\sube\)₭\sube₭Not supported
\Subset₮\Subset₮\(\Subset\)₭\Subset₭₸\Subset₸
\subset₮\subset₮\(\subset\)₭\subset₭₸\subset₸
\subseteq₮\subseteq₮\(\subseteq\)₭\subseteq₭₸\subseteq₸
\subseteqq₮\subseteqq₮\(\subseteqq\)₭\subseteqq₭₸\subseteqq₸
\subsetneq₮\subsetneq₮\(\subsetneq\)₭\subsetneq₭₸\subsetneq₸
\subsetneqq₮\subsetneqq₮\(\subsetneqq\)₭\subsetneqq₭₸\subsetneqq₸
\substack₮\displaystyle\sum_{\substack{1\lt i\lt 3 \\ 1\le j\lt 5}}a_{ij}₮\(\displaystyle\sum_{\substack{1\lt i\lt 3 \\ 1\le j\lt 5}}a_{ij}\)₭\displaystyle\sum_{\substack{1\lt i\lt 3 \\ 1\le j\lt 5}}a_{ij}₭₸\displaystyle\sum_{\substack{1\lt i\lt 3 \\ 1\le j\lt 5}}a_{ij}₸\sum_{\substack{1\lt i\lt 3 \\
1\le j\lt 5}}a_{ij}
\succ₮\succ₮\(\succ\)₭\succ₭₸\succ₸
\succapprox₮\succapprox₮\(\succapprox\)₭\succapprox₭₸\succapprox₸
\succcurlyeq₮\succcurlyeq₮\(\succcurlyeq\)₭\succcurlyeq₭₸\succcurlyeq₸
\succeq₮\succeq₮\(\succeq\)₭\succeq₭₸\succeq₸
\succnapprox₮\succnapprox₮\(\succnapprox\)₭\succnapprox₭₸\succnapprox₸
\succneqq₮\succneqq₮\(\succneqq\)₭\succneqq₭₸\succneqq₸
\succnsim₮\succnsim₮\(\succnsim\)₭\succnsim₭₸\succnsim₸
\succsim₮\succsim₮\(\succsim\)₭\succsim₭₸\succsim₸
\sum₮\sum_0^n x \; \displaystyle \sum_0^n x₮\(\sum_0^n x \; \displaystyle \sum_0^n x\)₭\sum_0^n x \; \displaystyle \sum_0^n x₭₸\sum_0^n x₸
\sup₮\begin{matrix}\sup x \\ \sup_y x \\\sup\limits_y x\end{matrix}₮\(\begin{matrix}\sup x \\ \sup_y x \\\sup\limits_y x\end{matrix}\)₭\begin{matrix}\sup x \\ \sup_y x \\\sup\limits_y x\end{matrix}₭₸\begin{matrix}\sup x \\ \sup_y x \\\sup\limits_y x\end{matrix}₸
\supe₮\supe₮\(\supe\)₭\supe₭₸\supe₸
\Supset₮\Supset₮\(\Supset\)₭\Supset₭₸\Supset₸
\supset₮\supset₮\(\supset\)₭\supset₭₸\supset₸
\supseteq₮\supseteq₮\(\supseteq\)₭\supseteq₭₸\supseteq₸
\supseteqq₮\supseteqq₮\(\supseteqq\)₭\supseteqq₭₸\supseteqq₸
\supsetneq₮\supsetneq₮\(\supsetneq\)₭\supsetneq₭₸\supsetneq₸
\supsetneqq₮\supsetneqq₮\(\supsetneqq\)₭\supsetneqq₭₸\supsetneqq₸
\surd₮\surd₮\(\surd\)₭\surd₭₸\surd₸
\swarrow₮\swarrow₮\(\swarrow\)₭\swarrow₭₸\swarrow₸
- -

T

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\tag₮₮\tag{3.1c} a^2+b^2=c^2₮₮\(\tag{3.1c} a^2+b^2=c^2\)₭₭\tag{3.1c} a^2+b^2=c^2₭₭Not supported\tag{3.1c} a^2+b^2=c^2
\tag*₮₮\tag*{3.1c} a^2+b^2=c^2₮₮\(\tag*{3.1c} a^2+b^2=c^2\)₭₭\tag*{3.1c} a^2+b^2=c^2₭₭Not supported\tag*{3.1c} a^2+b^2=c^2
\tan₮\tan x₮\(\tan x\)₭\tan x₭₸\tan x₸
\tanh₮\tanh x₮\(\tanh x\)₭\tanh x₭₸\tanh x₸
\Tau₮\Tau₮\(\Tau\)₭\Tau₭₸\Tau₸
\tau₮\tau₮\(\tau\)₭\tau₭₸\tau₸
\tbinom₮\tbinom n k₮\(\tbinom n k\)₭\tbinom n k₭₸\tbinom n k₸\tbinom n k
\TeX₮\TeX₮\(\TeX\)₭\TeX₭Not supported
\text₮\text{ yes }\&\text{ no }₮\(\text{ yes }\&\text{ no }\)₭\text{ yes }\&\text{ no }₭₸\text{ yes }\&\text{ no }₸\text{ yes }\&\text{ no }
\text₮\text{MMM$M\mkern2mu M$M}₮\(\text{MMM$M\mkern2mu M$M}\)₭\text{MMM$M\mkern2mu M$M}₭₸\text{MMM$M\mkern2mu M$M}₸\text{MMM$M\mkern2mu M$M}
\textasciitilde₮\text{\textasciitilde}₮Not supported₭\text{\textasciitilde}₭₸\text{\textasciitilde}₸\text{\textasciitilde}
\textasciicircum₮\text{\textasciicircum}₮Not supported₭\text{\textasciicircum}₭₸\text{\textasciicircum}₸\text{\textasciicircum}
\textbackslash₮\text{\textbackslash}₮Not supported₭\text{\textbackslash}₭₸\text{\textbackslash}₸\text{\textbackslash}
\textbar₮\text{\textbar}₮Not supported₭\text{\textbar}₭₸\text{\textbar}₸\text{\textbar}
\textbardbl₮\text{\textbardbl}₮Not supported₭\text{\textbardbl}₭₸\text{\textbardbl}₸\text{\textbardbl}
\textbf₮\textbf{AaBb123}₮\(\textbf{AaBb123}\)₭\textbf{AaBb123}₭₸\textbf{AaBb123}₸\textbf{AaBb123}
\textbraceleft₮\text{\textbraceleft}₮Not supported₭\text{\textbraceleft}₭₸\text{\textbraceleft}₸\text{\textbraceleft}
\textbraceright₮\text{\textbraceright}₮Not supported₭\text{\textbraceright}₭₸\text{\textbraceright}₸\text{\textbraceright}
\textcircledNot supportedNot supportedNot supported₸\text{\textcircled a}₸\text{\textcircled a}
\textcolor₮\textcolor{blue}{F=ma}₮\(\textcolor{blue}{F=ma}\)₭\textcolor{blue}{F=ma}₭₸\textcolor{blue}{F=ma}₸\textcolor{blue}{F=ma}
\textdagger₮\text{\textdagger}₮Not supported₭\text{\textdagger}₭₸\text{\textdagger}₸\text{\textdagger}
\textdaggerdbl₮\text{\textdaggerdbl}₮Not supported₭\text{\textdaggerdbl}₭₸\text{\textdaggerdbl}₸\text{\textdaggerdbl}
\textdegree₮\text{\textdegree}₮Not supported₭\text{\textdegree}₭₸\text{\textdegree}₸\text{\textdegree}
\textdollar₮\text{\textdollar}₮Not supported₭\text{\textdollar}₭₸\text{\textdollar}₸\text{\textdollar}
\textellipsis₮\text{\textellipsis}₮Not supported₭\text{\textellipsis}₭₸\text{\textellipsis}₸\text{\textellipsis}
\textemdash₮\text{\textemdash}₮Not supported₭\text{\textemdash}₭₸\text{\textemdash}₸\text{\textemdash}
\textendash₮\text{\textendash}₮Not supported₭\text{\textendash}₭₸\text{\textendash}₸\text{\textendash}
\textgreater₮\text{\textgreater}₮Not supported₭\text{\textgreater}₭₸\text{\textgreater}₸\text{\textgreater}
\textit₮\textit{AaBb}₮\(\textit{AaBb}\)₭\textit{AaBb}₭₸\textit{AaBb}₸\textit{AaBb}
\textless₮\text{\textless}₮Not supported₭\text{\textless}₭₸\text{\textless}₸\text{\textless}
\textnormal₮\textnormal{AB}₮Not supported₭\textnormal{AB}₭₸\textnormal{AB}₸\textnormal{AB}
\textquotedblleft₮\text{\textquotedblleft}₮Not supported₭\text{\textquotedblleft}₭₸\text{\textquotedblleft}₸\text{\textquotedblleft}
\textquotedblright₮\text{\textquotedblright}₮Not supported₭\text{\textquotedblright}₭₸\text{\textquotedblright}₸\text{\textquotedblright}
\textquoteleft₮\text{\textquoteleft}₮Not supported₭\text{\textquoteleft}₭₸\text{\textquoteleft}₸\text{\textquoteleft}
\textquoteright₮\text{\textquoteright}₮Not supported₭\text{\textquoteright}₭₸\text{\textquoteright}₸\text{\textquoteright}
\textregistered₮\text{\textregistered}₮Not supported₭\text{\textregistered}₭₸\text{\textregistered}₸\text{\textregistered}
\textrm₮\textrm{AaBb123}₮\(\textrm{AaBb123}\)₭\textrm{AaBb123}₭₸\textrm{AaBb123}₸\textrm{AaBb123}
\textscNot supportedNot supportedNot supportedNot supported
\textsf₮\textsf{AaBb123}₮\(\textsf{AaBb123}\)₭\textsf{AaBb123}₭₸\textsf{AaBb123}₸\textsf{AaBb123}
\textsterling₮\text{\textsterling}₮Not supported₭\text{\textsterling}₭₸\text{\textsterling}₸\text{\textsterling}
\textstyle₮\textstyle\sum_0^n₮\(\textstyle\sum_0^n\)₭\textstyle\sum_0^n₭₸\textstyle\sum_0^n₸\textstyle\sum_0^n
\texttip₮\texttip{\text{hover here}}{tip}₮Not supportedNot supportedNot supported\texttip{\text{hover here}}{tip}
\texttt₮\texttt{AaBb123}₮\(\texttt{AaBb123}\)₭\texttt{AaBb123}₭₸\texttt{AaBb123}₸\texttt{AaBb123}
\textunderscore₮\text{\textunderscore}₮Not supported₭\text{\textunderscore}₭Not supported\text{\textunderscore}
\textvisiblespaceNot supported\(a\textvisiblespace b\)Not supportedNot supported
\tfrac₮\displaystyle \tfrac a b₮\(\displaystyle \tfrac a b\)₭\displaystyle \tfrac a b₭₸\displaystyle \tfrac a b₸\displaystyle \tfrac a b
\tg₮\tg₮Not supported₭\tg₭Not supported
\th₮\th₮Not supported₭\th₭Not supported
\therefore₮\therefore₮\(\therefore\)₭\therefore₭₸\therefore₸
\Theta₮\Theta₮\(\Theta\)₭\Theta₭₸\Theta₸
\theta₮\theta₮\(\theta\)₭\theta₭₸\theta₸
\thetasym₮\thetasym₮\(\thetasym\)₭\thetasym₭₸\thetasym₸
\thickapprox₮\thickapprox₮\(\thickapprox\)₭\thickapprox₭₸\thickapprox₸
\thicksim₮\thicksim₮\(\thicksim\)₭\thicksim₭₸\thicksim₸
\thickspace₮a\thickspace b₮Not supported₭a\thickspace b₭₸a\thickspace b₸a\thickspace b
\thinspace₮a\thinspace b₮\(a\thinspace b\)₭a\thinspace b₭₸a\thinspace b₸a\thinspace b
\tilde₮\tilde M₮\(\tilde M\)₭\tilde M₭₸\tilde M₸\tilde M
\times₮\times₮\(\times\)₭\times₭₸\times₸
\Tiny₮{\Tiny A B}₮Not supportedNot supportedNot supportedNon standard
\tiny₮\tiny tiny₮\(\tiny tiny\)₭\tiny tiny₭Not supported\tiny tiny
\to₮\to₮\(\to\)₭\to₭₸\to₸
\toggle₮\toggle{\text{Click Here}}{Ouch}\endtoggle₮Not supportedNot supported₸\toggle{\text{Hey!}}{\text{Click Here}}₸
\top₮\top₮\(\top\)₭\top₭₸\top₸
\triangle₮\triangle₮\(\triangle\)₭\triangle₭₸\triangle₸
\triangledown₮\triangledown₮\(\triangledown\)₭\triangledown₭₸\triangledown₸
\triangleleft₮\triangleleft₮\(\triangleleft\)₭\triangleleft₭₸\triangleleft₸
\trianglelefteq₮\trianglelefteq₮\(\trianglelefteq\)₭\trianglelefteq₭₸\trianglelefteq₸
\triangleq₮\triangleq₮\(\triangleq\)₭\triangleq₭₸\triangleq₸
\triangleright₮\triangleright₮\(\triangleright\)₭\triangleright₭₸\triangleright₸
\trianglerighteq₮\trianglerighteq₮\(\trianglerighteq\)₭\trianglerighteq₭₸\trianglerighteq₸
\tt₮{\tt AaBb123}₮\({\tt AaBb123}\)₭{\tt AaBb123}₭Not supported{\tt AaBb123}
\twoheadleftarrow₮\twoheadleftarrow₮\(\twoheadleftarrow\)₭\twoheadleftarrow₭₸\twoheadleftarrow₸
\twoheadrightarrow₮\twoheadrightarrow₮\(\twoheadrightarrow\)₭\twoheadrightarrow₭₸\twoheadrightarrow₸
- -

U

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\u₮\text{\u{a}}₮Not supported₭\text{\u{a}}₭₸\text{\u{a}}₸\text{\u{a}}
\Uarr₮\Uarr₮\(\Uarr\)₭\Uarr₭Not supported
\uArr₮\uArr₮\(\uArr\)₭\uArr₭Not supported
\uarr₮\uarr₮\(\uarr\)₭\uarr₭Not supported
\ulcorner₮\ulcorner₮\(\ulcorner\)₭\ulcorner₭Not supported
\underbrace₮\underbrace{x+⋯+x}_{n\text{ times}}₮\(\underbrace{x+⋯+x}_{n\text{ times}}\)₭\underbrace{x+⋯+x}_{n\text{ times}}₭₸\underbrace{x+⋯+x}_{n\text{ times}}₸\underbrace{x+⋯+x}_{n\text{ times}}
\underbracketNot supportedNot supportedNot supportedNot supported
\undergroup₮\undergroup{AB}₮Not supported₭\undergroup{AB}₭Not supported\undergroup{AB}
\underleftarrow₮\underleftarrow{AB}₮\(\underleftarrow{AB}\)₭\underleftarrow{AB}₭Not supported\underleftarrow{AB}
\underleftrightarrow₮\underleftrightarrow{AB}₮\(\underleftrightarrow{AB}\)₭\underleftrightarrow{AB}₭Not supported\underleftrightarrow{AB}
\underrightarrow₮\underrightarrow{AB}₮\(\underrightarrow{AB}\)₭\underrightarrow{AB}₭Not supported\underrightarrow{AB}
\underline₮\underline{\text{a long argument}}₮\(\underline{\text{a long argument}}\)₭\underline{\text{a long argument}}₭₸\underline{\text{a long argument}}₸\underline{\text{a long argument}}
\underlinesegmentNot supportedNot supportedNot supportedNot supported
\underparen₮\underparen{abc}₮Not supportedNot supportedNot supported\underparen{abc}
\underrightarrow₮\underrightarrow{AB}₮\(\underrightarrow{AB}\)₭\underrightarrow{AB}₭Not supported\underrightarrow{AB}
\underset₮\underset{!}{=}₮\(\underset{!}{=}\)₭\underset{!}{=}₭₸\underset{!}{=}₸\underset{!}{=}
\unicodeNot supported
See \char
\(\unicode{x263a}\)Not supportedNot supported\unicode{x263a}
See \char for alternate.
\unlhd₮\unlhd₮\(\unlhd\)₭\unlhd₭₸\unlhd₸
\unrhd₮\unrhd₮\(\unrhd\)₭\unrhd₭₸\unrhd₸
\upalpha₮\upalpha₮Not supported₭\upalpha₭Not supported
\Uparrow₮\Uparrow₮\(\Uparrow\)₭\Uparrow₭₸\Uparrow₸
\uparrow₮\uparrow₮\(\uparrow\)₭\uparrow₭₸\uparrow₸
\upbeta₮\upbeta₮Not supported₭\upbeta₭Not supported
\upchi₮\upchi₮Not supported₭\upchi₭Not supported
\updelta₮\updelta₮Not supported₭\updelta₭Not supported
\Updownarrow₮\Updownarrow₮\(\Updownarrow\)₭\Updownarrow₭₸\Updownarrow₸
\updownarrow₮\updownarrow₮\(\updownarrow\)₭\updownarrow₭₸\updownarrow₸
\upeta₮\upeta₮Not supported₭\upeta₭Not supported
\upepsilon₮\upepsilon₮Not supported₭\upepsilon₭Not supported
\upgamma₮\upgamma₮Not supported₭\upgamma₭Not supported
\upharpoonleft₮\upharpoonleft₮\(\upharpoonleft\)₭\upharpoonleft₭₸\upharpoonleft₸
\upharpoonright₮\upharpoonright₮\(\upharpoonright\)₭\upharpoonright₭₸\upharpoonright₸
\upiota₮\upiota₮Not supported₭\upiota₭Not supported
\upkappa₮\upkappa₮Not supported₭\upkappa₭Not supported
\uplambda₮\uplambda₮Not supported₭\uplambda₭Not supported
\uplus₮\uplus₮\(\uplus\)₭\uplus₭₸\uplus₸
\upmu₮\upmu₮Not supported₭\upmu₭Not supported
\upnu₮\upnu₮Not supported₭\upnu₭Not supported
\upomega₮\upomega₮Not supported₭\upomega₭Not supported
\upomicron₮\upomicron₮Not supported₭\upomicron₭Not supported
\upphi₮\upphi₮Not supported₭\upphi₭Not supported
\uppi₮\uppi₮Not supported₭\uppi₭Not supported
\uppsi₮\uppsi₮Not supported₭\uppsi₭Not supported
\uprho₮\uprho₮Not supported₭\uprho₭Not supported
\uprootNot supported\(\sqrt[3\uproot2]{x}\)Not supportedNot supported\sqrt[3\uproot2]{x}
\upsigma₮\upsigma₮Not supported₭\upsigma₭Not supported
\Upsilon₮\Upsilon₮\(\Upsilon\)₭\Upsilon₭₸\Upsilon₸
\upsilon₮\upsilon₮\(\upsilon\)₭\upsilon₭₸\upsilon₸
\uptau₮\uptau₮Not supported₭\uptau₭Not supported
\uptheta₮\uptheta₮Not supported₭\uptheta₭Not supported
\upuparrows₮\upuparrows₮\(\upuparrows\)₭\upuparrows₭₸\upuparrows₸
\upupsilon₮\upupsilon₮Not supported₭\upupsilon₭Not supported
\upxi₮\upxi₮Not supported₭\upxi₭Not supported
\upzeta₮\upzeta₮Not supported₭\upzeta₭Not supported
\urcorner₮\urcorner₮\(\urcorner\)₭\urcorner₭Not supported
\url₮\url{https://temml.org/}₮Not supported₭\url{https://temml.org/}₭Not supported\url{https://temml.org/}
\utilde₮\utilde{AB}₮Not supported₭\utilde{AB}₭Not supported\utilde{AB}
- -

V

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\v₮\text{\v{a}}₮Not supported₭\text{\v{a}}₭₸\text{\v{a}}₸\text{\v{a}}
\varcoppa₮\varcoppa₮Not supportedNot supportedNot supported
\varDelta₮\varDelta₮\(\varDelta\)₭\varDelta₭Not supported
\varepsilon₮\varepsilon₮\(\varepsilon\)₭\varepsilon₭₸\varepsilon₸
\varGamma₮\varGamma₮\(\varGamma\)₭\varGamma₭Not supported
\varinjlim₮\varinjlim\limits_n x₮\(\varinjlim\limits_n x\)₭\varinjlim\limits_n x₭Not supported\varinjlim\limits_n x
\varkappa₮\varkappa₮\(\varkappa\)₭\varkappa₭₸\varkappa₸
\varLambda₮\varLambda₮\(\varLambda\)₭\varLambda₭Not supported
\varliminf₮\varliminf\limits_n x₮\(\varliminf\limits_n x\)₭\varliminf\limits_n x₭Not supported\varliminf\limits_n x
\varlimsup₮\varlimsup\limits_n x₮\(\varlimsup\limits_n x\)₭\varlimsup\limits_n x₭Not supported\varlimsup\limits_n x
\varnothing₮\varnothing₮\(\varnothing\)₭\varnothing₭₸\varnothing₸
\varOmega₮\varOmega₮\(\varOmega\)₭\varOmega₭Not supported
\varPhi₮\varPhi₮\(\varPhi\)₭\varPhi₭Not supported
\varphi₮\varphi₮\(\varphi\)₭\varphi₭₸\varphi₸
\varPi₮\varPi₮\(\varPi\)₭\varPi₭Not supported
\varpi₮\varpi₮\(\varpi\)₭\varpi₭₸\varpi₸
\varprojlim₮\varprojlim\limits_n x₮\(\varprojlim\limits_n x\)₭\varprojlim\limits_n x₭Not supported\varprojlim\limits_n x
\varpropto₮\varpropto₮\(\varpropto\)₭\varpropto₭₸\varpropto₸
\varPsi₮\varPsi₮\(\varPsi\)₭\varPsi₭Not supported
\varrho₮\varrho₮\(\varrho\)₭\varrho₭₸\varrho₸
\varSigma₮\varSigma₮\(\varSigma\)₭\varSigma₭Not supported
\varsigma₮\varsigma₮\(\varsigma\)₭\varsigma₭₸\varsigma₸
\varstigmaNot supported\(\varstigma\)Not supportedNot supported
\varsubsetneq₮\varsubsetneq₮\(\varsubsetneq\)₭\varsubsetneq₭₸\varsubsetneq₸
\varsubsetneqq₮\varsubsetneqq₮\(\varsubsetneqq\)₭\varsubsetneqq₭₸\varsubsetneqq₸
\varsupsetneq₮\varsupsetneq₮\(\varsupsetneq\)₭\varsupsetneq₭₸\varsupsetneq₸
\varsupsetneqq₮\varsupsetneqq₮\(\varsupsetneqq\)₭\varsupsetneqq₭₸\varsupsetneqq₸
\varTheta₮\varTheta₮\(\varTheta\)₭\varTheta₭Not supported
\vartheta₮\vartheta₮\(\vartheta\)₭\vartheta₭₸\vartheta₸
\vartriangle₮\vartriangle₮\(\vartriangle\)₭\vartriangle₭₸\vartriangle₸
\vartriangleleft₮\vartriangleleft₮\(\vartriangleleft\)₭\vartriangleleft₭₸\vartriangleleft₸
\vartriangleright₮\vartriangleright₮\(\vartriangleright\)₭\vartriangleright₭₸\vartriangleright₸
\varUpsilon₮\varUpsilon₮\(\varUpsilon\)₭\varUpsilon₭Not supported
\varXi₮\varXi₮\(\varXi\)₭\varXi₭Not supported
\vcentcolon₮\mathrel{\vcentcolon =}₮Not supported₭\mathrel{\vcentcolon =}₭Not supported\mathrel{\vcentcolon =}
\vcenterNot supportedNot supportedNot supportedNot supported
\Vdash₮\Vdash₮\(\Vdash\)₭\Vdash₭₸\Vdash₸
\vDash₮\vDash₮\(\vDash\)₭\vDash₭₸\vDash₸
\vdash₮\vdash₮\(\vdash\)₭\vdash₭₸\vdash₸
\vdots₮\vdots₮\(\vdots\)₭\vdots₭₸\vdots₸
\vec₮\vec{F}₮\(\vec{F}\)₭\vec{F}₭₸\vec{F}₸\vec{F}
\vee₮\vee₮\(\vee\)₭\vee₭₸\vee₸
\veebar₮\veebar₮\(\veebar\)₭\veebar₭₸\veebar₸
\verb₮\verb!\frac a b!₮\(\verb!\frac a b!\)₭\verb!\frac a b!₭Not supported\verb!\frac a b!
\Vert₮\Vert₮\(\Vert\)₭\Vert₭₸\Vert₸
\vert₮\vert₮\(\vert\)₭\vert₭₸\vert₸
\vfilNot supportedNot supportedNot supportedNot supported
\vfillNot supportedNot supportedNot supportedNot supported
\vlineNot supportedNot supportedNot supportedNot supported
{Vmatrix}₮\begin{Vmatrix}a&b\\c&d\end{Vmatrix}₮\(\begin{Vmatrix}a&b\\c&d\end{Vmatrix}\)₭\begin{Vmatrix}a&b\\c&d\end{Vmatrix}₭₸\begin{Vmatrix}a&b\\c&d\end{Vmatrix}₸\begin{Vmatrix}
   a & b \\
   c & d
\end{Vmatrix}
{vmatrix}₮\begin{vmatrix}a&b\\c&d\end{vmatrix}₮\(\begin{vmatrix}a&b\\c&d\end{vmatrix}\)₭\begin{vmatrix}a&b\\c&d\end{vmatrix}₭₸\begin{vmatrix}a&b\\c&d\end{vmatrix}₸\begin{vmatrix}
   a & b \\
   c & d
\end{vmatrix}
\vphantom₮\overline{\vphantom{M}a}₮\(\overline{\vphantom{M}a}\)₭\overline{\vphantom{M}a}₭Not supported\overline{\vphantom{M}a}
\Vvdash₮\Vvdash₮\(\Vvdash\)₭\Vvdash₭₸\Vvdash₸
- -

W

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\wedge₮\wedge₮\(\wedge\)₭\wedge₭₸\wedge₸
\weierp₮\weierp₮\(\weierp\)₭\weierp₭Not supported
\widecheck₮\widecheck{AB}₮Not supported₭\widecheck{AB}₭₸\widecheck{AB}₸\widecheck{AB}
\widehat₮\widehat{AB}₮\(\widehat{AB}\)₭\widehat{AB}₭₸\widehat{AB}₸\widehat{AB}
\wideparen₮\wideparen{AB}₮Not supportedNot supportedNot supported -
\widetilde₮\widetilde{AB}₮\(\widetilde{AB}\)₭\widetilde{AB}₭₸\widetilde{AB}₸\widetilde{AB}
\with₮\with₮Not supportedNot supportedNot supported -
\wn₮\wn₮Not supportedNot supportedNot supported
\wp₮\wp₮\(\wp\)₭\wp₭₸\wp₸
\wr₮\wr₮\(\wr\)₭\wr₭₸\wr₸
- -

X

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\xcancel₮\xcancel{ABC}₮\(\xcancel{ABC}\)₭\xcancel{ABC}₭Not supported\xcancel{ABC}
\Xi₮\Xi₮\(\Xi\)₭\Xi₭₸\Xi₸
\xi₮\xi₮\(\xi\)₭\xi₭₸\xi₸
\xhookleftarrow₮\xhookleftarrow{abc}₮Not supported₭\xhookleftarrow{abc}₭₸\xhookleftarrow{abc}₸\xhookleftarrow{abc}
\xhookrightarrow₮\xhookrightarrow{abc}₮Not supported₭\xhookrightarrow{abc}₭₸\xhookrightarrow{abc}₸\xhookrightarrow{abc}
\xLeftarrow₮\xLeftarrow{abc}₮Not supported₭\xLeftarrow{abc}₭₸\xLeftarrow{abc}₸\xLeftarrow{abc}
\xleftarrow₮\xleftarrow{abc}₮\(\xleftarrow{abc}\)₭\xleftarrow{abc}₭₸\xleftarrow{abc}₸\xleftarrow{abc}
\xleftharpoondown₮\xleftharpoondown{abc}₮Not supported₭\xleftharpoondown{abc}₭Not supported\xleftharpoondown{abc}
\xleftharpoonup₮\xleftharpoonup{abc}₮Not supported₭\xleftharpoonup{abc}₭Not supported\xleftharpoonup{abc}
\xLeftrightarrow₮\xLeftrightarrow{abc}₮Not supported₭\xLeftrightarrow{abc}₭₸\xLeftrightarrow{abc}₸\xLeftrightarrow{abc}
\xleftrightarrow₮\xleftrightarrow{abc}₮\(\xleftrightarrow{abc}\)₭\xleftrightarrow{abc}₭₸\xleftrightarrow{abc}₸\xleftrightarrow{abc}
\xleftrightharpoons₮\xleftrightharpoons{abc}₮Not supported₭\xleftrightharpoons{abc}₭₸\xleftrightharpoons{abc}₸\xleftrightharpoons{abc}
\xlongequal₮\xlongequal{abc}₮\(\xlongequal{abc}\)₭\xlongequal{abc}₭Not supported\xlongequal{abc}
\xmapsto₮\xmapsto{abc}₮\(\xmapsto{abc}\)₭\xmapsto{abc}₭₸\xmapsto{abc}₸\xmapsto{abc}
\xRightarrow₮\xRightarrow{abc}₮Not supported₭\xRightarrow{abc}₭₸\xRightarrow{abc}₸\xRightarrow{abc}
\xrightarrow₮\begin{matrix}A \xrightarrow{abc} B\\ A \xrightarrow[ghi]{abcdef} B \end{matrix}₮\(\begin{matrix}A \xrightarrow{abc} B\\ A \xrightarrow[ghi]{abcdef} B \end{matrix}\)₭\begin{matrix}A \xrightarrow{abc} B\\ A \xrightarrow[ghi]{abcdef} B \end{matrix}₭₸\begin{matrix}A \xrightarrow{abc} B\\ A \xrightarrow[ghi]{abcdef} B \end{matrix}₸A \xrightarrow{abc} B
A \xrightarrow[ghi]{abcdef} B
\xrightharpoondown₮\xrightharpoondown{abc}₮Not supported₭\xrightharpoondown{abc}₭Not supported\xrightharpoondown{abc}
\xrightharpoonup₮\xrightharpoonup{abc}₮Not supported₭\xrightharpoonup{abc}₭Not supported\xrightharpoonup{abc}
\xrightleftharpoons₮\xrightleftharpoons{abc}₮\(\xrightleftharpoons{abc}\)₭\xrightleftharpoons{abc}₭₸\xrightleftharpoons{abc}₸\xrightleftharpoons{abc}
\xtofrom₮\xtofrom{abc}₮\(\xtofrom{abc}\)₭\xtofrom{abc}₭Not supported\xtofrom{abc}
\xtwoheadleftarrow₮\xtwoheadleftarrow{abc}₮\(\xtwoheadleftarrow{abc}\)₭\xtwoheadleftarrow{abc}₭Not supported\xtwoheadleftarrow{abc}
\xtwoheadrightarrow₮\xtwoheadrightarrow{abc}₮\(\xtwoheadrightarrow{abc}\)₭\xtwoheadrightarrow{abc}₭Not supported\xtwoheadrightarrow{abc}
- -

YZ

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionTemmlMathJaxKaTeXTeXZillaSource or Comment
\yen₮\yen₮\(\yen\)₭\yen₭Not supported
\Z₮\Z₮\(\Z\)₭\Z₭Not supported
\Zeta₮\Zeta₮\(\Zeta\)₭\Zeta₭₸\Zeta₸
\zeta₮\zeta₮\(\zeta\)₭\zeta₭₸\zeta₸
- -
- -

Copyright © 2021, 2022 Ron Kok. Released under the MIT License

- -
- -
- - - - - - - - - \ No newline at end of file diff --git a/docs/support_table.md b/docs/support_table.md deleted file mode 100644 index c39dfa2c..00000000 --- a/docs/support_table.md +++ /dev/null @@ -1,1570 +0,0 @@ - - - - - - Temml Support Table - - - - - - - -
- -# Support Table - -**Temml** is a JavaScript library that converts TeX math-mode functions to MathML. -This page provides an alphabetically sorted list of TeX functions that Temml -supports and some functions that it does not support. There is a similar page, -with functions [sorted by type](supported.html). - -To read this page, use a browser that supports MathML, such as Firefox or Safari. -Chrome and Edge will support MathML [soon](https://www.igalia.com/2021/08/09/MathML-Progress.html). - -Some functions are provided by an extension and are listed as such. They will -be available only in pages that include the extension. - -If you know the shape of a character, but not its name, -[Detexify](http://detexify.kirelabs.org/classify.html) can help. - - -## Symbols - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\!|$`n!`|`n!`|| -|\\\!|$`a\!b`|`a\!b`|| -|#|$`\def\bar#1{#1^2} \bar{y}`|`\def\bar#1{#1^2} \bar{y}`|| -|\\#|$`\#`||| -|%||`%this is a comment`|| -|\\%|$`\%`||| -|&|$`\begin{matrix} a & b\\ c & d \end{matrix}`|`\begin{matrix}`
   `a & b \\`
   `c & d`
`\end{matrix}`|| -|\\&|$`\&`||| -|'|$`'`||| -|\\\'|$`\text{\'{a}}`|`\text{\'{a}}`|| -|(|$`(`||| -|)|$`)`||| -|\\ |$`a\ b`|`a\ b`|| -|\\"|$`\text{\"{a}}`|`\text{\"{a}}`|| -|\\$ | $`\text{\textdollar}`||| -|\\,|$`a\,\,{b}`|`a\,\,{b}`|| -|\\.|$`\text{\.{a}}`|`\text{\.{a}}`|| -|\\:|$`a\:\:{b}`|`a\:\:{b}`|| -|\\;|$`a\;\;{b}`|a`\;\;{b}`|| -| \_ | $`x_i` | `x_i` || -|\\_|$`\_`||| -|\\\` | $``\text{\`{a}}`` | ``\text{\'{a}}`` || -|$`<`|$`<`||| -|\\=|$`\text{\={a}}`|`\text{\={a}}`|| -| >|$`>`||| -|\\>|$`a\>\>{b}`|`a\>\>{b}`|| -|\[|$`[`||| -|\]|$`]`||| -|{|$`{a}`|`{a}`|| -|}|$`{a}`|`{a}`|| -|\\{|$`\{`||| -|\\}|$`\}`||| -| \| |$`\vert`||| -| \\\| |$`\Vert`||| -|~|$`\text{no~no~no~breaks}`|`\text{no~no~no~breaks}`|| -|\\~|$`\text{\~{a}}`|`\text{\~{a}}`|| -|\\\\|$`\begin{matrix} a & b\\ c & d\end{matrix}`|`\begin{matrix}`
   `a & b \\`
   `c & d`
`\end{matrix}`|| -|^|$`x^i`|`x^i`|| -|\\^|$`\text{\^{a}}`|`\text{\^{a}}`|| - -## A - -
- -| Function | Rendered | Source or Comment| Package -|----------------|-------------|------------------|-----------| -|\AA|$`\text{\AA}`|`\text{\AA}`||| -|\aa|$`\text{\aa}`|`\text{\aa}`||| -|\above|$`{a \above{2pt} b+1}`|`{a \above{2pt} b+1}`|| -|\abovewithdelims|(Not supported)||| -|\abs|$`\abs{x}`|`\abs{x}`| physics extension | -|\absolutevalue|$`\absolutevalue{x}`|`\absolutevalue{x}`| physics extension | -|\acomm|$`\acomm{A}{B}`|`\acomm{A}{B}`| physics extension | -|\acute|$`\acute e`|`\acute e`|| -|\AE|$`\text{\AE}`|`\text{\AE}`|| -|\ae|$`\text{\ae}`|`\text{\ae}`|| -|\alef|$`\alef`|| texvc extension | -|\alefsym|$`\alefsym`|| texvc extension | -|\aleph|$`\aleph`||| -|{align}|$$\begin{align}a&=b+c\\d+e&=f\end{align}$$|`\begin{align}`
   `a&=b+c \\`
   `d+e&=f`
`\end{align}` | ams | -|{align\*}|$$\begin{align*}a&=b+c\\d+e&=f\end{align*}$$|`\begin{align*}`
   `a&=b+c \\`
   `d+e&=f`
`\end{align*}` | ams | -|{aligned}|$$\begin{aligned}a&=b+c\\d+e&=f\end{aligned}$$|`\begin{aligned}`
   `a&=b+c \\`
   `d+e&=f`
`\end{aligned}`| ams | -|{alignat}|$$\begin{alignat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat}$$|`\begin{alignat}{2}`
   `10&x+ &3&y = 2 \\`
   ` 3&x+&13&y = 4`
`\end{alignat}` | ams | -|{alignat\*}|$$\begin{alignat*}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignat*}$$|`\begin{alignat*}{2}`
   `10&x+ &3&y = 2 \\`
   ` 3&x+&13&y = 4`
`\end{alignat*}` | ams | -|{alignedat}|$$\begin{alignedat}{2}10&x+&3&y=2\\3&x+&13&y=4\end{alignedat}$$|`\begin{alignedat}{2}`
   `10&x+ &3&y = 2 \\`
   ` 3&x+&13&y = 4`
`\end{alignedat}` | ams | -|\allowbreak|||| -|\Alpha|$`\Alpha`||| -|\alpha|$`\alpha`||| -|\amalg|$`\amalg`||| -|\And|$`\And`||| -|\and|(Not supported)|[Deprecated](https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax)| texvc | -|\ang|(Not supported)|[Deprecated](https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax)| texvc | -|\angl|$`a_{\angl n}`|`a_{\angl n}` | actuarialangle | -|\angln|$`a_\angln`|`a_\angln` | actuarialangle | -|\angle|$`\angle`||| -|\anticommutator|$`\anticommutator{A}{B}`|`\anticommutator{A}{B}`| physics extension | -|\approx|$`\approx`||| -|\approxeq|$`\approxeq`||| -|\arccos|$`\arccos`||| -|\arcctg|$`\arcctg`||| -|\arceq|$`\arceq`|| stix | -|\arcsin|$`\arcsin`||| -|\arctan|$`\arctan`||| -|\arctg|$`\arctg`||| -|\arg|$`\arg`||| -|\argmax|$`\argmax`|| statmath | -|\argmin|$`\argmin`|| statmath | -|{array}|$`\begin{array}{cc}a&b\\c&d\end{array}` | `\begin{array}{cc}`
   `a & b \\`
   `c & d`
`\end{array}`| LaTeX2ε | -|\array|(Not supported)|See `{array}`|| -|\arraystretch|$`\def\arraystretch{1.5}\begin{array}{cc}a&b\\c&d\end{array}`|`\def\arraystretch{1.5}`
`\begin{array}{cc}`
   `a & b \\`
   `c & d`
`\end{array}`|| -|\Arrowvert|(Not supported)|see `\Vert`|| -|\arrowvert|(Not supported)|see `\vert`|| -|\ast|$`\ast`||| -|\asymp|$`\asymp`||| -|\atop|$`{a \atop b}`|`{a \atop b}`|| -|\atopwithdelims|(Not supported)||| - -## B - -| Function | Rendered | Source or Comment| Package -|----------------|-------------|------------------|-----------| -|\backcong|$`\backcong`|| MnSymbol | -|\backepsilon|$`\backepsilon`|| ams | -|\backprime|$`\backprime`|| ams | -|\backsim|$`\backsim`|| ams | -|\backsimeq|$`\backsimeq`|| ams | -|\backslash|$`\backslash`||| -|\bar|$`\bar{y}`|`\bar{y}`|| -|\barwedge|$`\barwedge`|| ams | -|\ballotx|$`\ballotx`|| arev | -|\Bbb|$`\Bbb{ABC}`|`\Bbb{ABC}`|| -|\Bbbk|$`\Bbbk`||| -|\bbox|(Not supported)||| -|\bcancel|$`\bcancel{5}`|`\bcancel{5}`| cancel | -|\because|$`\because`|| ams | -|\begin|$`\begin{matrix} a & b\\ c & d\end{matrix}`|`\begin{matrix}`
   `a & b \\`
   `c & d`
`\end{matrix}`| ams | -|\begingroup|$`\begingroup a\endgroup`|`\begingroup a\endgroup`|| -|\Beta|$`\Beta`||| -|\beta|$`\beta`||| -|\beth|$`\beth`|| ams | -|\between|$`\between`|| ams | -|\bf|$`{\bf AaBb12}`|`{\bf AaBb12}`|| -|\bfseries|(Not supported)||| -|\big|$`\big(\big)`|`\big(\big)`|| -|\Big|$`\Big(\Big)`|`\Big(\Big)`|| -|\bigcap|$`\bigcap`||| -|\bigcirc|$`\bigcirc`||| -|\bigcup|$`\bigcup`||| -|\bigg|$`\bigg(\bigg)`|`\bigg(\bigg)`|| -|\Bigg|$`\Bigg(\Bigg)`|`\Bigg(\Bigg)`|| -|\biggl|$`\biggl(`|`\biggl(`|| -|\Biggl|$`\Biggl(`|`\Biggl(`|| -|\biggm|$`\biggm\vert`|`\biggm\vert`|| -|\Biggm|$`\Biggm\vert`|`\Biggm\vert`|| -|\biggr|$`\biggr)`|`\biggr)`|| -|\Biggr|$`\Biggr)`|`\Biggr)`|| -|\bigl|$`\bigl(`|`\bigl(`|| -|\Bigl|$`\Bigl(`|`\Bigl(`|| -|\bigm|$`\bigm\vert`|`\bigm\vert`|| -|\Bigm|$`\Bigm\vert`|`\Bigm\vert`|| -|\bigodot|$`\bigodot`||| -|\bigominus|(Not supported)||| -|\bigoplus|$`\bigoplus`||| -|\bigoslash|(Not supported)||| -|\bigotimes|$`\bigotimes`||| -|\bigr|$`\bigr)`|`\bigr)`|| -|\Bigr|$`\Bigr)`|`\Bigr)`|| -|\bigsqcap|$`\bigsqcap`||| -|\bigsqcup|$`\bigsqcup`||| -|\bigstar|$`\bigstar`|| ams | -|\bigtriangledown|$`\bigtriangledown`||| -|\bigtriangleup|$`\bigtriangleup`||| -|\biguplus|$`\biguplus`||| -|\bigvee|$`\bigvee`||| -|\bigwedge|$`\bigwedge`||| -|\binom|$`\binom n k`|`\binom n k`| ams | -|\blacklozenge|$`\blacklozenge`|| ams | -|\blacksquare|$`\blacksquare`|| ams | -|\blacktriangle|$`\blacktriangle`|| ams | -|\blacktriangledown|$`\blacktriangledown`|| ams | -|\blacktriangleleft|$`\blacktriangleleft`|| ams | -|\blacktriangleright|$`\blacktriangleright`|| ams | -|\bm|$`\bm{AaBb}`|`\bm{AaBb}`| bm | -|{Bmatrix}|$`\begin{Bmatrix}a&b\\c&d\end{Bmatrix}`|`\begin{Bmatrix}`
   `a & b \\`
   `c & d`
`\end{Bmatrix}`| ams | -|{Bmatrix*}|$`\begin{Bmatrix*}[r] -1 & 3\\ 2 & -4 \end{Bmatrix*}`|`\begin{Bmatrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{Bmatrix*}`| mathtools | -|{bmatrix}|$`\begin{bmatrix}a&b\\c&d\end{bmatrix}`|`\begin{bmatrix}`
   `a & b \\`
   `c & d`
`\end{bmatrix}`| ams | -|{bmatrix*}|$`\begin{bmatrix*}[r] -1 & 3\\ 2 & -4 \end{bmatrix*}`|`\begin{bmatrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{bmatrix*}`| mathtools | -|\bmod|$`a \bmod b`|`a \bmod b`|| -|\bold|$`\bold{AaBb123}`|`\bold{AaBb123}`|| -|\boldsymbol|$`\boldsymbol{AaBb}`|`\boldsymbol{AaBb}`| ams | -|\bot|$`\bot`||| -|\Bot|$`\Bot`|| cmll | -|\bowtie|$`\bowtie`||| -|\Box|$`\Box`|| ams | -|\boxdot|$`\boxdot`|| ams | -|\boxed|$`\boxed{ab}`|`\boxed{ab}`| ams | -|\boxminus|$`\boxminus`|| ams | -|\boxplus|$`\boxplus`|| ams | -|\boxtimes|$`\boxtimes`|| ams | -|\Bqty|$`\Bqty{5 \text{mm}}`|`\Bqty{5 \text{mm}}`| physics extension | -|\bqty|$`\bqty{5 \text{mm}}`|`\bqty{5 \text{mm}}`| physics extension | -|\Bra|$`\left\langle\psi\right|`|`\Bra{\psi}`| braket | -|\bra|$`\mathinner{\langle{\psi}|}`|`\bra{\psi}`| braket | -|\braket|$`\mathinner{\langle{\phi | \psi}\rangle}`|`\braket{\phi\|\psi}`| braket | -|\Braket|$`\Braket{ \phi \| \frac{\partial^2}{\partial t^2} \| \psi }`|`\Braket{ϕ\|\frac{∂^2}{∂ t^2}\|ψ}`| braket -|\brace|$`{n\brace k}`|`{n\brace k}`|| -|\bracevert|(Not supported)||| -|\brack|$`{n\brack k}`|`{n\brack k}`|| -|\breve|$`\breve{eu}`|`\breve{eu}`|| -|\buildrel|(Not supported)||| -|\bull|$`\bull`|| texvc extension | -|\bullet|$`\bullet`||| -|\Bumpeq|$`\Bumpeq`|| ams | -|\bumpeq|$`\bumpeq`|| ams | - -## C - -| Function | Rendered | Source or Comment| Package -|----------------|-------------|------------------|-----------| -|\C|(Not supported)|[Deprecated](https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax)| texvc | -|\c|$`\text{\c{c}}`|`\text{\c{c}}`|| -|\cal|$`{\cal AaBb}`|`{\cal AaBb}`|| -|\cancel|$`\cancel{5}`|`\cancel{5}`| cancel | -|\cancelto|$`\cancelto{0}{x+1}`|`\cancelto{0}{x+1}`| cancel | -|\Cap|$`\Cap`|| ams | -|\cap|$`\cap`||| -|{cases}|$$\begin{cases}a&\text{if }b\\c&\text{if }d\end{cases}$$|`\begin{cases}`
   `a &\text{if } b \\`
   `c &\text{if } d`
`\end{cases}`| ams | -|\cases|(Not supported)|see `{cases}`|| -|{CD}|$$\begin{CD}A @>a>> B \\@VbVV @AAcA\\C @= D\end{CD}$$|`\begin{CD}`
   `A @>a>> B \\`
`@VbVV @AAcA \\`
   `C @= D`
`\end{CD}`| ams | -|\cdot|$`\cdot`||| -|\cdotp|$`\cdotp`||| -|\cdots|$`\cdots`||| -|\ce |$`{\mathrm{C}{\vphantom{X}}_{\smash[t]{6}}\mathrm{H}{\vphantom{X}}_{\smash[t]{5}}{-}\mathrm{CHO}}`|`\ce{C6H5-CHO}` | mhchem extension | -|\cee|(Not supported)|Deprecated
Use `\ce` instead. | mhchem | -|\centerdot|$`\centerdot`|| ams | -|\cf|(Not supported)|Deprecated
Use `\ce` instead.| mhchem | -|\cfrac|$`\cfrac{2}{1+\cfrac{2}{1}}`|`\cfrac{2}{1+\cfrac{2}{1}}`| ams | -|\check|$`\check{oe}`|`\check{oe}`|| -|\ch|$`\ch`||| -|\checkmark|$`\checkmark`|| ams | -|\Chi|$`\Chi`||| -|\chi|$`\chi`||| -|\choose|$`{n+1 \choose k+2}`|`{n+1 \choose k+2}`|| -|\circ|$`\circ`||| -|\circeq|$`\circeq`|| ams | -|\circlearrowleft|$`\circlearrowleft`|| ams | -|\circlearrowright|$`\circlearrowright`|| ams | -|\circledast|$`\circledast`|| ams | -|\circledcirc|$`\circledcirc`|| ams | -|\circleddash|$`\circleddash`|| ams | -|\circledR|$`\circledR`|| ams | -|\circledS|$`\circledS`|| ams | -|\class|(Not supported)||| -|\cline|(Not supported)||| -|\clubs|$`\clubs`|| texvc extension | -|\clubsuit|$`\clubsuit`||| -|\cnums|$`\cnums`|| texvc extension | -|\coh|$`\coh`|| cmll | -|\colon|$`\colon`||| -|\Colonapprox|$`\Colonapprox`|| mathtools | -|\colonapprox|$`\colonapprox`|| mathtools | -|\coloncolon|$`\coloncolon`|| colonequals | -|\coloncolonapprox|$`\coloncolonapprox`|| colonequals | -|\coloncolonequals|$`\coloncolonequals`|| colonequals | -|\coloncolonminus|$`\coloncolonminus`|| colonequals | -|\coloncolonsim|$`\coloncolonsim`|| colonequals | -|\colonminus|$`\colonminus`|| colonequals | -|\Coloneq|$`\Coloneq`|| mathtools | -|\coloneq|$`\coloneq`|| mathtools | -|\Coloneqq|$`\Coloneqq`|| mathtools | -|\coloneqq|$`\coloneqq`|| mathtools | -|\Colonsim|$`\Colonsim`|| mathtools | -|\colonsim|$`\colonsim`|| mathtools | -|\color|$`\color{#0000FF} AaBb123`|`\color{#0000FF} AaBb123`| color | -|\colorbox|$`\colorbox{red}{Black on red}`|`\colorbox{red}{Black on red}`| color | -|\comm|$`\comm{A}{B}`|`\comm{A}{B}`| physics extension | -|\commutator|$`\commutator{A}{B}`|`\commutator{A}{B}`| physics extension | -|\complement|$`\complement`|| ams | -|\Complex|$`\Complex`|| texvc extension | -|\cong|$`\cong`||| -|\Coppa|$`\Coppa`||| -|\coppa|$`\coppa`||| -|\coprod|$`\coprod`||| -|\copyright|$`\copyright`||| -|\cos|$`\cos`||| -|\cosec|$`\cosec`||| -|\cosh|$`\cosh`||| -|\cot|$`\cot`||| -|\cotg|$`\cotg`||| -|\coth|$`\coth`||| -|\cp|$`\cp`|| physics extension | -|\cr|$`\begin{matrix} a & b\cr c & d \end{matrix}`|`\begin{matrix}`
   `a & b \cr`
   `c & d`
`\end{matrix}`|| -|\cross|$`\cross`|| physics extension | -|\crossproduct|$`\crossproduct`|| physics extension | -|\csc|$`\csc`||| -|\cssId|(Not supported)|See `\id`.| -|\ctg|$`\ctg`||| -|\cth|$`\cth`||| -|\Cup|$`\Cup`|| ams | -|\cup|$`\cup`||| -|\curl|$`\curl`|| physics extension | -|\curlyeqprec|$`\curlyeqprec`|| ams | -|\curlyeqsucc|$`\curlyeqsucc`|| ams | -|\curlyvee|$`\curlyvee`|| ams | -|\curlywedge|$`\curlywedge`|| ams | -|\curvearrowleft|$`\curvearrowleft`|| ams | -|\curvearrowright|$`\curvearrowright`|| ams | - -## D - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\dag|$`\dag`||| -|\Dagger|$`\Dagger`|| texvc extension | -|\dagger|$`\dagger`||| -|\daleth|$`\daleth`|| ams | -|\Darr|$`\Darr`|| texvc extension | -|\dArr|$`\dArr`|| texvc extension | -|\darr|$`\darr`|| texvc extension | -|{darray}|$$\begin{darray}{cc}a&b\\c&d\end{darray}$$ | `\begin{darray}{cc}`
   `a & b \\`
   `c & d`
`\end{darray}`|| -|\dashleftarrow|$`\dashleftarrow`|| ams | -|\dashrightarrow|$`\dashrightarrow`|| ams | -|\dashv|$`\dashv`||| -|\dbinom|$`\dbinom n k`|`\dbinom n k`| ams | -|\dblcolon|$`\dblcolon`|| mathtools | -|{dcases}|$$\begin{dcases}a&\text{if }b\\c&\text{if }d\end{dcases}$$ | `\begin{dcases}`
   `a &\text{if } b \\`
   `c &\text{if } d`
`\end{dcases}`| mathtools | -|\dd|$`\dd`|`\dd`| physics extension | -|\ddag|$`\ddag`||| -|\ddagger|$`\ddagger`||| -|\ddddot|$`\ddddot x`|`\ddddot x`| ams | -|\dddot|$`\dddot x`|`\dddot x`| ams | -|\ddot|$`\ddot x`|`\ddot x`|| -|\ddots|$`\ddots`||| -|\DeclareMathOperator|(Not supported)||| -|\def|$`\def\foo{x^2} \foo + \foo`|`\def\foo{x^2} \foo + \foo`|| -|\definecolor|$`\definecolor{sortaGreen}{RGB}{128,128,0} \color{sortaGreen} F=ma`| `\definecolor{sortaGreen}{RGB}{128,128,0}`
`\color{sortaGreen} F=ma` | xcolor | -|\deg|$`\deg`||| -|\degree|$`\degree`||| -|\delta|$`\delta`||| -|\Delta|$`\Delta`||| -|\derivative|$`\derivative{x}{y}`|`\derivative{x}{y}`| physics extension | -|\det|$`\det`||| -|\dfrac|$`\dfrac{a-1}{b-1}`|`\dfrac{a-1}{b-1}`| ams | -|\differential|$`\differential`|`\differential`| physics extension | -|\diagdown|$`\diagdown`|| ams | -|\diagonalmatrix|(Not supported)|| physics | -|\diagup|$`\diagup`|| ams | -|\Diamond|$`\Diamond`||| -|\diamond|$`\diamond`||| -|\diamonds|$`\diamonds`|| texvc extension | -|\diamondsuit|$`\diamondsuit`||| -|\Digamma|(Not supported)||| -|\digamma|$`\digamma`|| ams | -|\dim|$`\dim`||| -|\displaylines|(Not supported)||| -|\displaystyle|$`\displaystyle\sum_0^n`|`\displaystyle\sum_0^n`|| -|\div|$`\div`||| -|\divergence|$`\divergence`|`\divergence`| physics extension | -|\divideontimes|$`\divideontimes`|| ams | -|\dot|$`\dot x`|`\dot x`|| -|\Doteq|$`\Doteq`|| ams | -|\doteq|$`\doteq`||| -|\doteqdot|$`\doteqdot`|| ams | -|\dotplus|$`\dotplus`|| ams | -|\dotproduct|$`\dotproduct`|`\dotproduct`| physics extension | -|\dots|$`x_1 + \dots + x_n` | `x_1 + \dots + x_n` || -|\dotsb|$`x_1 +\dotsb + x_n` | `x_1 +\dotsb + x_n` | ams | -|\dotsc|$`x,\dotsc,y`|`x,\dotsc,y`| ams | -|\dotsi|$$\int_{A_1}\int_{A_2}\dotsi$$|`\int_{A_1}\int_{A_2}\dotsi`| ams | -|\dotsm|$`x_1 x_2 \dotsm x_n`|`$x_1 x_2 \dotsm x_n`| ams | -|\dotso|$`\dotso`|| ams | -|\doublebarwedge|$`\doublebarwedge`|| ams | -|\doublecap|$`\doublecap`|| ams | -|\doublecup|$`\doublecup`|| ams | -|\Downarrow|$`\Downarrow`||| -|\downarrow|$`\downarrow`||| -|\downdownarrows|$`\downdownarrows`|| ams | -|\downharpoonleft|$`\downharpoonleft`|| ams | -|\downharpoonright|$`\downharpoonright`|| ams | -|{drcases}|$`\begin{drcases}a&\text{if }b\\c&\text{if }d\end{drcases}`|`\begin{drcases}`
   `a &\text{if } b \\`
   `c &\text{if } d`
`\end{drcases}`| mathtools | -|\dv|$`\dv{x}{y}`|`\dv{x}{y}`| physics extension | -|\dyad|$`\dyad{a}{b}`|`\dyad{a}{b}`| physics extension | - - -## E - -
- -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\edef|$`\def\foo{a}\edef\bar{\foo}\def\foo{}\bar`|`\def\foo{a}\edef\bar{\foo}\def\foo{}\bar`|| -|\ell|$`\ell`||| -|\else|(Not supported)||| -|\em|(Not supported)||| -|\emph|(Not supported)||| -|\empty|$`\empty`|| texvc extension | -|\emptyset|$`\emptyset`||| -|\enclose|(Not supported)|Non standard.
See `\boxed`, `\cancel`, `\bcancel`,
`\xcancel`, `\sout`, `\longdiv`, `\angl`|| -|\end|$`\begin{matrix} a & b\\ c & d\end{matrix}`|`\begin{matrix}`
   `a & b \\`
   `c & d`
`\end{matrix}`|| -|\endgroup|$`\begingroup a\endgroup`|`\begingroup a\endgroup`|| -|\enspace|$`a\enspace b`|`a\enspace b`|| -|\Epsilon|$`\Epsilon`||| -|\epsilon|$`\epsilon`||| -|\eqalign|(Not supported)|See {align*}|| -|\eqalignno|(Not supported)|See {align}|| -|\eqcirc|$`\eqcirc`|| ams | -|\Eqcolon|$`\Eqcolon`|| mathtools | -|\eqcolon|$`\eqcolon`|| mathtools | -|\equalscolon|$`\equalscolon`|| colonequals | -|\equalscoloncolon|$`\equalscoloncolon`|| colonequals | -|{equation}|$$\begin{equation}a = b + c\end{equation}$$|`\begin{equation}`
   `a = b + c`
`\end{equation}`| ams | -|{equation*}|$$\begin{equation*}a = b + c\end{equation*}$$|`\begin{equation*}`
   `a = b + c`
`\end{equation*}`| ams | -|{eqnarray}|(Not supported)||| -|\Eqqcolon|$`\Eqqcolon`|| mathtools | -|\eqqcolon|$`\eqqcolon`|| mathtools | -|\eqdef|$`\eqdef`|| stix | -|\eqref|$`\eqref{tag1}`|`\eqref{tag1}`
Some sites do not support `\eqref`.| ams | -|\eqsim|$`\eqsim`|| ams | -|\eqslantgtr|$`\eqslantgtr`|| ams | -|\eqslantless|$`\eqslantless`|| ams | -|\equiv|$`\equiv`||| -|\erf|$`\erf(x)`|`\erf(x)`| physics extension || -|\Eta|$`\Eta`||| -|\eta|$`\eta`||| -|\eth|$`\eth`|| ams | -|\euro|$`\euro`||| -|\ev|$`\ev{x}`|`\ev{x}`| physics extension | -|\eval|$`\eval{\tfrac 1 2 x}_0^n`|`\eval{\tfrac 1 2 x}_0^n`| physics extension | -|\evaluated|$`\evaluated{\tfrac 1 2 x}_0^n`|`\evaluated{\tfrac 1 2 x}_0^n`| physics extension | -|\exist|$`\exist`|| texvc extension | -|\exists|$`\exists`||| -|\exp|$`\exp`||| -|\expandafter|||| -|\expectationvalue|$`\expectationvalue{x}`|`\expectationvalue{x}`| physics extension | -|\expval|$`\expval{x}`|`\expval{x}`| physics extension | - -## F - -| Function | Rendered | Source or Comment | Package | -|-----------------------|--------------------------------|------------------------------|-------------------| -| \fallingdotseq | $`\fallingdotseq` | | ams | -| \fbox | $`\fbox{Hi there!}` | `\fbox{Hi there!}` | | -| \fcolorbox | $`\fcolorbox{red}{aqua}{A}` | `\fcolorbox{red}{aqua}{A}` | xcolor | -| \fdv | $`\fdv{x}{y}` | `\fdv{x}{y}` | physics extension | -| \female | $`\female` | | stix | -| \fi | (Not supported) | | | -| \Finv | $`\Finv` | | ams | -| \flat | $`\flat` | | | -| \footnotesize | $`\footnotesize footnotesize` | `\footnotesize footnotesize` | | -| \forall | $`\forall` | | | -| \frac | $`\frac a b` | `\frac a b` | ams | -| \frak | $`\frak{AaBb}` | `\frak{AaBb}` | | -| \frown | $`\frown` | | | -| \functionalderivative | $`\functionalderivative{x}{y}` | `\functionalderivative{x}{y}`| physics extension | -| \futurelet | | | | - -## G - -
- -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -| \Game | $`\Game`| | ams | -| \Gamma | $`\Gamma`| | | -| \gamma | $`\gamma`| | | -| {gather} | $$\begin{gather}a=b\\e=b+c\end{gather}$$| `\begin{gather}`
   `a=b \\ `
   `e=b+c`
`\end{gather}`| ams | -| {gather*} | $$\begin{gather*}a=b\\e=b+c\end{gather*}$$| `\begin{gather*}`
   `a=b \\ `
   `e=b+c`
`\end{gather*}`| ams | -| {gathered} | $`\begin{gathered}a=b\\e=b+c\end{gathered}`| `\begin{gathered}`
   `a=b \\ `
   `e=b+c`
`\end{gathered}`| ams | -| \gcd | $`\gcd`| | | -| \gdef | (Not supported)| | | -| \ge | $`\ge`| | | -| \geneuro | (Not supported) | See `\euro`| | -| \geneuronarrow | (Not supported) | See `\euro`| | -| \geneurowide | (Not supported) | See `\euro`| | -| \genfrac | $`\genfrac ( ] {2pt}{0}a{a+1}` | `\genfrac ( ] {2pt}{0}a{a+1}`| ams | -| \geq | $`\geq`| | | -| \geqq | $`\geqq`| | ams | -| \geqslant | $`\geqslant`| | ams | -| \gets | $`\gets`| | | -| \gg | $`\gg`| | | -| \ggg | $`\ggg`| | ams | -| \gggtr | $`\gggtr`| | ams | -| \gimel | $`\gimel`| | ams | -| \global | (Not supported)| | | -| \gnapprox | $`\gnapprox`| | ams | -| \gneq | $`\gneq`| | ams | -| \gneqq | $`\gneqq`| | ams | -| \gnsim | $`\gnsim`| | ams | -| \grad | $`\grad`| | physics extension | -| \gradient | $`\gradient`| | physics extension | -| \grave | $`\grave{eu}`| `\grave{eu}`| | -| \gt | $`a \gt b`| `a \gt b`| MathJax | -| \gtrapprox | $`\gtrapprox`| | ams | -| \gtrdot | $`\gtrdot`| | ams | -| \gtreqless | $`\gtreqless`| | ams | -| \gtreqqless | $`\gtreqqless`| | ams | -| \gtrless | $`\gtrless`| | ams | -| \gtrsim | $`\gtrsim`| | ams | -| \gvertneqq | $`\gvertneqq`| | ams | - -## H - -| Function | Rendered | Source or Comment | Package | -|-----------------|---------------------------|-------------------|-----------| -| \H | $`\text{\H{a}}` | `\text{\H{a}}`| | -| \Harr | $`\Harr` | | texvc extension | -| \hArr | $`\hArr` | | texvc extension | -| \harr | $`\harr` | | texvc extension | -| \hat | $`\hat{\theta}` | `\hat{\theta}`| | -| \hbar | $`\hbar` | | | -| \hbox | $`\hbox{$x^2$}` | `\hbox{$x^2$}`| | -| \hbox to | (Not supported) | | | -| \hdashline | $`\begin{matrix}a&b\\ \hdashline c &d\end{matrix}`| `\begin{matrix}`
   `a & b \\`
   `\hdashline`
   `c & d`
`\end{matrix}`| arydshln | -| \hearts | $`\hearts` | | texvc extension | -| \heartsuit | $`\heartsuit` | | | -| \hfil | (Not supported) | | | -| \hfill | (Not supported) | | | -| \hline | $`\begin{matrix}a&b\\ \hline c &d\end{matrix}`| `\begin{matrix}`
   `a & b \\ \hline`
   `c & d`
`\end{matrix}`| | -| \hom | $`\hom` | | | -| \hookleftarrow | $`\hookleftarrow` | | | -| \hookrightarrow | $`\hookrightarrow` | | | -| \hphantom | $`a\hphantom{bc}d` | `a\hphantom{bc}d`| | -| \href | $`\href{https://temml.org/}{\Temml}`| `\href{https://temml.org/}{\Temml}`
Requires `trust` [option](options.md)| href | -| \hskip | $`w\hskip1em i\hskip2em d` | `w\hskip1em i\hskip2em d`| | -| \hslash | $`\hslash` | | ams | -| \hspace | $`s\hspace{7ex} k` | `s\hspace{7ex} k`| | -| \class | $`\class{foo}{x}` | `\class{foo}{x}`
Must enable `trust` and disable `strict` [option](options.md)| | -| \data | $`\data{foo=a, bar=b}{x}` | `\data{foo=a, bar=b}{x}`
Must enable `trust` and disable `strict` [option](options.md)| | -| \id | $`\id{bar}{x}`| `\id{bar}{x}`
Must enable `trust` and disable `strict` [option](options.md)| | -| \style | $`\style{color: red;}{x}`| `\style{color: red;}{x}`
Must enable `trust` and disable `strict` [option](options.md)| | -| \huge | $`\huge huge` | `\huge huge`| | -| \Huge | $`\Huge Huge` | `\Huge Huge`| | - -## I - -| Function | Rendered | Source or Comment | Package | -|------------------|------------------------|-----------------------|-------------------| -| \i | $`\text{\i}` | `\text{\i}` | | -| \idotsint | $`\int\idotsint\int` | `\int\idotsint\int` | ams | -| \iddots | $`\iddots` | | | -| \if | (Not supported) | | | -| \iff | $`A\iff B` | `A\iff B` | | -| \ifmode | (Not supported) | | | -| \ifx | (Not supported) | | | -| \iiiint | $`\iiiint` | | ams | -| \iiint | $`\iiint` | | ams | -| \iint | $`\iint` | | ams | -| \Im | $`\Im` | | | -| \image | $`\image` | | texvc extension | -| \imageof | $`\imageof` | | stix | -| \imath | $`\imath` | | | -| \impliedby | $`P\impliedby Q` | `P\impliedby Q` | ams | -| \implies | $`P\implies Q` | `P\implies Q` | ams | -| \in | $`\in` | | | -| \includegraphics | $`\includegraphics[height=1em, totalheight=1.2em, width=1.2em, alt=sphere]{../sphere.jpg}` | `\includegraphics[height=1em,`
`totalheight=1.2em, width=1.2em,`
`alt=sphere]{../sphere.jpg}` | graphicx | -|\incoh | $`\incoh` | | cmll | -| \inf | $`\inf` | | | -| \infin | $`\infin` | | texvc extension | -| \infty | $`\infty` | | | -| \injlim | $`\injlim` | `\injlim` | ams | -| \innerproduct | $`\innerproduct{a}{b}` | `\innerproduct{a}{b}` | physics extension | -| \int | $`\int` | | | -| \intbar | $`\intbar` | | | -| \intBar | $`\intBar` | | | -| \intcap | $`\intcap` | | | -| \intclockwise | $`\intclockwise` | | | -| \intcup | $`\intcup` | | | -| \intercal | $`\intercal` | | ams | -| \intlarhk | $`\intlarhk` | | | -| \intop | $`\intop` | | | -| \intx | $`\intx` | | | -| \invamp | $`\invamp` | | cmll | -| \Iota | $`\Iota` | | | -| \iota | $`\iota` | | | -| \isin | $`\isin` | | texvc extension | -| \it | $`{\it AaBb}` | `{\it AaBb}` | | -| \itshape | (Not supported) | | | - -## JK - -| Function | Rendered | Source or Comment | Package | -|----------|---------------------------------|-------------------|-------------------| -| \j | $`\text{\j}` | `\text{\j}` | | -| \jmath | $`\jmath` | | | -| \Join | $`\Join` | | ams | -| \Kappa | $`\Kappa` | | | -| \kappa | $`\kappa` | | | -| \ker | $`\ker` | | | -| \kern | $`I\kern-2.5pt R` | `I\kern-2.5pt R` | | -| \Ket | $`\left| \psi\right\rangle` | `\Ket{\psi}` | braket | -| \ket | $`\mathinner{| {\psi}\rangle}` | `\ket{\psi}` | braket | -| \ketbra | $`\ketbra{a}{b}` | `\ketbra{a}{b}` | physics extension | -| \Koppa | $`\Koppa` | | | -| \koppa | $`\koppa` | | | - -## L - -| Function | Rendered | Source or Comment | Package | -|----------------------|----------------------------|-------------------|-----------| -| \L | (Not supported) | | | -| \l | (Not supported) | | | -| \Lambda | $`\Lambda` | | | -| \lambda | $`\lambda` | | | -| \label | | `\label{idName}`
Creates an HTML id.
Characters limited to: `A-Za-z0-9_-`| | -| \land | $`\land` | | | -| \lang | $`\lang A\rangle` | `\lang A\rangle` | texvc extension | -| \langle | $`\langle A\rangle` | `\langle A\rangle` | | -| \laplacian | $`\laplacian` | | physics extension | -| \Larr | $`\Larr` | | texvc extension | -| \lArr | $`\lArr` | | texvc extension | -| \larr | $`\larr` | | texvc extension | -| \large | $`\large large` | `\large large`| | -| \Large | $`\Large Large` | `\Large Large`| | -| \LARGE | $`\LARGE LARGE` | `\LARGE LARGE`| | -| \LaTeX | $`\LaTeX` | | | -| \lBrace | $`\lBrace` | | stix | -| \lbrace | $`\lbrace` | | | -| \lbrack | $`\lbrack` | | | -| \lceil | $`\lceil` | | | -| \ldotp | $`\ldotp` | | | -| \ldots | $`\ldots` | | | -| \le | $`\le` | | | -| \leadsto | $`\leadsto` | | ams | -| \left | $`\left\lbrace \dfrac ab \right.` | `\left\lbrace \dfrac ab \right.`| | -| \leftarrow | $`\leftarrow` | | | -| \Leftarrow | $`\Leftarrow` | | | -| \LeftArrow | (Not supported) | Non standard | | -| \leftarrowtail | $`\leftarrowtail` | | ams | -| \leftharpoondown | $`\leftharpoondown` | | | -| \leftharpoonup | $`\leftharpoonup` | | | -| \leftleftarrows | $`\leftleftarrows` | | ams | -| \Leftrightarrow | $`\Leftrightarrow` | | | -| \leftrightarrow | $`\leftrightarrow` | | | -| \leftrightarrows | $`\leftrightarrows` | | ams | -| \leftrightharpoons | $`\leftrightharpoons` | | ams | -| \leftrightsquigarrow | $`\leftrightsquigarrow` | | ams | -| \leftroot | (Not supported) | | | -| \leftthreetimes | $`\leftthreetimes` | | ams | -| \leq | $`\leq` | | | -| \leqalignno | (Not supported) | | | -| \leqq | $`\leqq` | | ams | -| \leqslant | $`\leqslant` | | ams | -| \lessapprox | $`\lessapprox` | | ams | -| \lessdot | $`\lessdot` | | ams | -| \lesseqgtr | $`\lesseqgtr` | | ams | -| \lesseqqgtr | $`\lesseqqgtr` | | ams | -| \lessgtr | $`\lessgtr` | | ams | -| \lesssim | $`\lesssim` | | ams | -| \let | | | | -| \lfloor | $`\lfloor` | | | -| \lg | $`\lg` | | | -| \lgroup | $`\lgroup` | | | -| \lhd | $`\lhd` | | ams | -| \lightning | $`\lightning` | | -| \lim | $`\lim` | | -| \liminf | $`\liminf` | | | -| \limits | $`\lim\limits_x` | `\lim\limits_x`| | -| \limsup | $`\limsup` | | | -| \ll | $`\ll` | | | -| \llap | $`{=}\llap{/\,}` | `{=}\llap{/\,}`| | -| \llbracket | $`\llbracket` | | stmaryrd | -| \llcorner | $`\llcorner` | | ams | -| \Lleftarrow | $`\Lleftarrow` | | ams | -| \lll | $`\lll` | | ams | -| \llless | $`\llless` | | ams | -| \lmoustache | $`\lmoustache` | | | -| \ln | $`\ln` | | | -| \lnapprox | $`\lnapprox` | | ams | -| \lneq | $`\lneq` | | ams | -| \lneqq | $`\lneqq` | | ams | -| \lnot | $`\lnot` | | | -| \lnsim | $`\lnsim` | | ams | -| \log | $`\log` | | | -| \long | | | | -| \longdiv | $`\longdiv{3x^2 + 2x + 5}` | `\longdiv{3x^2 + 2x + 5}` | Temml | -| \Longleftarrow | $`\Longleftarrow` | | | -| \longleftarrow | $`\longleftarrow` | | | -| \Longleftrightarrow | $`\Longleftrightarrow` | | | -| \longleftrightarrow | $`\longleftrightarrow` | | | -| \longmapsto | $`\longmapsto` | | | -| \Longrightarrow | $`\Longrightarrow` | | | -| \longrightarrow | $`\longrightarrow` | | | -| \looparrowleft | $`\looparrowleft` | | ams | -| \looparrowright | $`\looparrowright` | | ams | -| \lor | $`\lor` | | | -| \lower | $`M\lower5pt{M^2}M` | `M\lower5pt{M^2}M`  or
`M\lower5pt\hbox{$`M^2`}M`| | -| \lozenge | $`\lozenge` | | ams | -| \lparen | $`\lparen` | | mathtools | -| \Lrarr | $`\Lrarr` | | texvc extension | -| \lrArr | $`\lrArr` | | texvc extension | -| \lrarr | $`\lrarr` | | texvc extension | -| \lrcorner | $`\lrcorner` | | ams | -| \lq | $`\lq` | | | -| \Lsh | $`\Lsh` | | ams | -| \lt | $`\lt` | | MathJax | -| \ltimes | $`\ltimes` | | ams | -| \lVert | $`\lVert` | | ams | -| \lvert | $`\lvert` | | ams | -| \lvertneqq | $`\lvertneqq` | | ams | - -## M - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\male|$`\male`|| stix | -|\maltese|$`\maltese`|| ams | -|\mapsto|$`\mapsto`||| -|\mathbb|$`\mathbb{AB}`|`\mathbb{AB}`| ams | -|\mathbf|$`\mathbf{AaBb123}`|`\mathbf{AaBb123}`|| -|\mathbin|$`a\mathbin{!}b`|`a\mathbin{!}b`|| -|\mathcal|$`\mathcal{AaBb}`|`\mathcal{AaBb}`|| -|\mathchoice|$`a\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b`|`a\mathchoice{\,}{\,\,}{\,\,\,}{\,\,\,\,}b`|| -|\mathclap|$`\displaystyle\sum_{\mathclap{1\le i\le n}} x_{i}`|`\sum_{\mathclap{1\le i\le n}} x_{i}`| mathtools | -|\mathclose|$`a + (b\mathclose\gt + c`|`a + (b\mathclose\gt + c`|| -|\mathellipsis|$`\mathellipsis`||| -|\mathfrak|$`\mathfrak{AaBb}`|`\mathfrak{AaBb}`| ams | -|\mathinner|$`ab\mathinner{\text{inside}}cd`|`ab\mathinner{\text{inside}}cd`|| -|\mathit|$`\mathit{AaBb}`|`\mathit{AaBb}`|| -|\mathllap|$`{=}\mathllap{/\,}`|`{=}\mathllap{/\,}`| mathtools | -|\mathnormal|$`\mathnormal{AaBb}`|`\mathnormal{AaBb}`|| -|\mathop|$`\mathop{\star}_a^b`|`\mathop{\star}_a^b`|| -|\mathopen|$`a + \mathopen\lt b) + c`|`a + \mathopen\lt b) + c`|| -|\mathord|$`1\mathord{,}234{,}567`|`1\mathord{,}234{,}567`|| -|\mathpunct|$`A\mathpunct{-}B`|`A\mathpunct{-}B`|| -|\mathrel|$`a \mathrel{\#} b`|`a \mathrel{\#} b`|| -|\mathrlap|$`\mathrlap{\,/}{=}`|`\mathrlap{\,/}{=}`| mathtools | -|\mathring|$`\mathring{a}`|`\mathring{a}`| ams | -|\mathrm|$`\mathrm{AaBb12}`|`\mathrm{AaBb12}`|| -|\mathscr|$`\mathscr{AB}`|`\mathscr{AB}`|| -|\mathsf|$`\mathsf{AaBb123}`|`\mathsf{AaBb123}`|| -|\mathsterling|$`\mathsterling`||| -|\mathstrut|$`\sqrt{\mathstrut a}`|`\sqrt{\mathstrut a}`|| -|\mathtip|(Not supported)|See `\texttip`|| -|\mathtt|$`\mathtt{AaBb123}`|`\mathtt{AaBb123}`|| -|\matrix|(Not supported)|See `{matrix}`|| -|{matrix}|$`\begin{matrix}a&b\\c&d\end{matrix}`|`\begin{matrix}`
   `a & b \\`
   `c & d`
`\end{matrix}`| ams | -|{matrix*}|$`\begin{matrix*}[r] -1 & 3\\ 2 & -4 \end{matrix*}`|`\begin{matrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{matrix*}`| mathtools | -|\matrixel|$`\matrixel{n}{A}{m}`|`\matrixel{n}{A}{m}`| physics extension | -|\matrixelement|$`\matrixelement{n}{A}{m}`|`\matrixelement{n}{A}{m}`| physics extension | -|\mel|$`\mel{n}{A}{m}`|`\mel{n}{A}{m}`| physics extension | -|\max|$`\max`||| -|\mbox|(Not supported)||| -|\md|(Not supported)||| -|\mdseries|(Not supported)||| -|\measeq|$`\measeq`|| stix | -|\measuredangle|$`\measuredangle`|| ams | -|\medspace|$`a\medspace b`|`a\medspace b`| ams | -|\mho|$`\mho`||| -|\mid|$`\{x∈ℝ\mid x>0\}`|`\{x∈ℝ\mid x>0\}`|| -|\middle|$`P\left(A\middle\vert B\right)`|`P\left(A\middle\vert B\right)`|| -|\min|$`\min`||| -|\minuscolon|$`\minuscolon`|| colonequals | -|\minuscoloncolon|$`\minuscoloncolon`|| colonequals | -|\minuso|(Not supported)| See `\standardstate`|| -|\mit|(Not supported)|See `\mathit`|| -|\mkern|$`a\mkern18mu b`|`a\mkern18mu b`|| -|\mmlToken|(Not supported)||| -|\mod|$`3\equiv 5 \mod 2`|`3\equiv 5 \mod 2`| ams | -|\models|$`\models`||| -|\moveleft|(Not supported)||| -|\moveright|(Not supported)||| -|\mp|$`\mp`||| -|\mskip|$`a\mskip{10mu}b`|`a\mskip{10mu}b`|| -|\mspace|(Not supported)||| -|\Mu|$`\Mu`||| -|\mu|$`\mu`||| -|\multicolumn|(Not supported)||| -|\multimap|$`\multimap`|| ams | -|\multimapboth|$`\multimapboth`|| cmll | -|\multimapinv|$`\multimapinv`|| cmll | -|{multline}|$$\begin{multline}\rm uno \\ \rm dos \\ \rm tres\end{multline}$$|`\begin{multline}`
  `\rm uno \\`
  `\rm dos \\`
  `\rm tres`
`\end{multline}`| ams | -|{multline*}|$$\begin{multline*}\rm uno \\ \rm dos \\ \rm tres\end{multline*}$$|`\begin{multline*}`
  `\rm uno \\`
  `\rm dos \\`
  `\rm tres`
`\end{multline*}`| ams | - -## N - -
- -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\N|$`\N`|| texvc extension | -|\nabla|$`\nabla`||| -|\natnums|$`\natnums`|| texvc extension | -|\natural|$`\natural`||| -|\negmedspace|$`a\negmedspace b`|`a\negmedspace b`| ams | -|\ncong|$`\ncong`|| ams | -|\ne|$`\ne`||| -|\nearrow|$`\nearrow`||| -|\neg|$`\neg`||| -|\negthickspace|$`a\negthickspace b`|`a\negthickspace b`| ams | -|\negthinspace|$`a\negthinspace b`|`a\negthinspace b`| ams | -|\neq|$`\neq`||| -|\newcommand|$`\newcommand\chk{\checkmark} \chk`|`\newcommand\chk{\checkmark} \chk`| newcommand | -|\newenvironment|(Not supported)||| -|\newextarrow|(Not supported)|| extpfeil | -|\newline|$`a\newline b`|`a\newline b`|| -|\nexists|$`\nexists`|| ams | -|\ngeq|$`\ngeq`|| ams | -|\ngeqq|$`\ngeqq`|| ams | -|\ngeqslant|$`\ngeqslant`|| ams | -|\ngtr|$`\ngtr`|| ams | -|\ni|$`\ni`||| -|\nleftarrow|$`\nleftarrow`|| ams | -|\nLeftarrow|$`\nLeftarrow`|| ams | -|\nLeftrightarrow|$`\nLeftrightarrow`|| ams | -|\nleftrightarrow|$`\nleftrightarrow`|| ams | -|\nleq|$`\nleq`|| ams | -|\nleqq|$`\nleqq`|| ams | -|\nleqslant|$`\nleqslant`|| ams | -|\nless|$`\nless`|| ams | -|\nmid|$`\nmid`|| ams | -|\nobreak|||| -|\nobreakspace|$`a\nobreakspace b`|`a\nobreakspace b`| ams | -|\noexpand|||| -|\nolimits|$`\lim\nolimits_x`|`\lim\nolimits_x`|| -|\norm|$`\norm{x}`|\norm{x}| physics extension | -|\normalfont|(Not supported)||| -|\normalsize|$`\normalsize normalsize`|`\normalsize normalsize`|| -|\not|$`\not =`|`\not =`|| -|\notag|$$\begin{align} a&=b \\ \notag d+e&=f \end{align}$$|`\begin{align}`
  `a&=b \\`
  `\notag d+e&=f`
`\end{align}`| ams | -|\notin|$`\notin`||| -|\notni|$`\notni`|| txfonts/pxfonts | -|\nparallel|$`\nparallel`|| ams | -|\nprec|$`\nprec`|| ams | -|\npreceq|$`\npreceq`|| ams | -|\nRightarrow|$`\nRightarrow`|| ams | -|\nrightarrow|$`\nrightarrow`|| ams | -|\nshortmid|$`\nshortmid`|| ams | -|\nshortparallel|$`\nshortparallel`|| ams | -|\nsim|$`\nsim`|| ams | -|\nsubset|$`\nsubset`|| mathabx | -|\nsubseteq|$`\nsubseteq`|| ams | -|\nsubseteqq|$`\nsubseteqq`|| ams | -|\nsucc|$`\nsucc`|| ams | -|\nsucceq|$`\nsucceq`|| ams | -|\nsupset|$`\nsupset`|| mathabx | -|\nsupseteq|$`\nsupseteq`|| ams | -|\nsupseteqq|$`\nsupseteqq`|| ams | -|\ntriangleleft|$`\ntriangleleft`|| ams | -|\ntrianglelefteq|$`\ntrianglelefteq`|| ams | -|\ntriangleright|$`\ntriangleright`|| ams | -|\ntrianglerighteq|$`\ntrianglerighteq`|| ams | -|\Nu|$`\Nu`||| -|\nu|$`\nu`||| -|\nVDash|$`\nVDash`|| ams | -|\nVdash|$`\nVdash`|| ams | -|\nvDash|$`\nvDash`|| ams | -|\nvdash|$`\nvdash`|| ams | -|\nwarrow|$`\nwarrow`||| - -## O - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\O|$`\text{\O}`|`\text{\O}`|| -|\o|$`\text{\o}`|`\text{\o}`|| -|\oc|$`\oc`|| cmll | -|\odot|$`\odot`||| -|\odv|$`\odv{f}{x}`|`\odv{f}{x}`| derivative | -|\odv*|$`\odv*{f}{x}`|`\odv*{f}{x}`| derivative | -|\OE|$`\text{\OE}`|`\text{\OE}`|| -|\oe|$`\text{\oe}`|`\text{\oe}`|| -|\officialeuro|(Not supported)|See `\euro`|| -|\oiiint|$`\oiiint`||| -|\oiint|$`\oiint`||| -|\oint|$`\oint`||| -|\oldstyle|(Not supported)| See `\oldstylenums`|| -|\oldstylenums|$`\oldstylenums{123}`|`\oldstylenums{123}`| LaTeX2ε | -|\omega|$`\omega`||| -|\Omega|$`\Omega`||| -|\Omicron|$`\Omicron`||| -|\omicron|$`\omicron`||| -|\ominus|$`\ominus`||| -|\op|$`\op{a}{b}`|`\op{a}{b}`| physics extension | -|\operatorname|$`\operatorname{asin} x`|\operatorname{asin} x| ams | -|\operatorname\*|$`\operatorname*{asin}\limits_y x`|`\operatorname*{asin}\limits_y x`| ams | -|\operatornamewithlimits|$`\operatornamewithlimits{asin}\limits_y x`|`\operatornamewithlimits{asin}\limits_y x`| | -|\oplus|$`\oplus`||| -|\or|(Not supported)||| -|\order|$`\order{x^2}`|`\order{x^2}`| physics extension | -|\origof|$`\origof`|| stix | -|\oslash|$`\oslash`||| -|\otimes|$`\otimes`||| -|\outerproduct|$`\outerproduct{a}{b}`|`\outerproduct{a}{b}`| physics extension | -|\over|$`{a+1 \over b+2}+c`|`{a+1 \over b+2}+c`|| -|\overbrace|$`\overbrace{x+⋯+x}^{n\text{ times}}`|`\overbrace{x+⋯+x}^{n\text{ times}}`|| -|\overbracket|(Not supported)||| -|\overgroup|$`\overgroup{AB}`|`\overgroup{AB}`| MnSymbol | -|\overleftarrow|$`\overleftarrow{AB}`|`\overleftarrow{AB}`| ams | -|\overleftharpoon|$`\overleftharpoon{AB}`|`\overleftharpoon{AB}`| MnSymbol | -|\overleftrightarrow|$`\overleftrightarrow{AB}`|`\overleftrightarrow{AB}`| ams | -|\overline|$`\overline{\text{a long argument}}`|`\overline{\text{a long argument}}`|| -|\overlinesegment|(Not supported)||| -|\overparen|$`\overparen{abc}`|`\overparen{abc}`|| -|\Overrightarrow|$`\Overrightarrow{AB}`|`\Overrightarrow{AB}`| overrightarrow | -|\overrightarrow|$`\overrightarrow{AB}`|`\overrightarrow{AB}`| ams | -|\overrightharpoon|$`\overrightharpoon{ac}`|`\overrightharpoon{ac}`|| -|\overset|$`\overset{!}{=}`|`\overset{!}{=}`| ams | -|\overwithdelims|(Not supported)||| -|\owns|$`\owns`||| - -## P - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\P|$`\text{\P}`|`\text{\P}` or `\P`|| -|\pagecolor|(Not supported)|[Deprecated](https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax)| texvc | -|\parallel|$`\parallel`||| -|\parr|$`\parr`|| cmll | -|\part|(Not supported)|[Deprecated](https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax)| texvc | -|\partial|$`\partial`||| -|\partialderivative|$`\partialderivative{x}{y}`|`\partialderivative{x}{y}`| physics extension | -|\pb|$`\pb{x}{y}`|`\pb{x}{y}`| physics extension | -|\pdv|$`\pdv{f}{x,y}`|`\pdv{f}{x,y}`| derivative | -|\pdv*|$`\pdv*{f}{x,y}`|`\pdv*{f}{x,y}`| derivative | -|\permil|$`\permil`|| wasysym | -|\perp|$`\perp`||| -|\Perp|$`\Perp`|| cmll | -|\phantom|$`\Gamma^{\phantom{i}j}_{i\phantom{j}k}`|`\Gamma^{\phantom{i}j}_{i\phantom{j}k}`|| -|\phase|$`\phase{-78^\circ}`|`\phase{-78^\circ}`| steinmetz | -|\Phi|$`\Phi`||| -|\phi|$`\phi`||| -|\Pi|$`\Pi`||| -|\pi|$`\pi`||| -|{picture}|(Not supported)||| -|\pitchfork|$`\pitchfork`|| ams | -|\plim|$`\plim`|| statmath | -|\plusmn|$`\plusmn`|| texvc extension | -|\pm|$`\pm`||| -|\pmatrix|(Not supported)| See `{pmatrix}` || -|{pmatrix}|$`\begin{pmatrix}a&b\\c&d\end{pmatrix}`|`\begin{pmatrix}`
   `a & b \\`
   `c & d`
`\end{pmatrix}`| ams | -|{pmatrix*}|$`\begin{pmatrix*}[r] -1 & 3\\ 2 & -4 \end{pmatrix*}`|`\begin{pmatrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{pmatrix*}`| mathtools | -|\pmb|$`\pmb{\mu}`|`\pmb{\mu}`| ams | -|\pmod|$`x\pmod a`|`x\pmod a`|| -|\pod|$`x \pod a`|`x \pod a`| ams | -|\pointint|$`\pointint`||| -|\poissonbracket|$`\poissonbracket{A}{B}`|`\poissonbracket{A}{B}`| physics extension | -|\pounds|$`\pounds`||| -|\pqty|$`\pqty{5}`|`\pqty{5}`| physics extension | -|\Pr|$`\Pr`||| -|\prec|$`\prec`||| -|\precapprox|$`\precapprox`|| ams | -|\preccurlyeq|$`\preccurlyeq`|| ams | -|\preceq|$`\preceq`|| ams | -|\precnapprox|$`\precnapprox`|| ams | -|\precneqq|$`\precneqq`|| ams | -|\precnsim|$`\precnsim`|| ams | -|\precsim|$`\precsim`|| ams | -|\prescript|$`\prescript{a}{2}{\mathbf{C}}^{5+}_{2}`|`\prescript{a}{2}{\mathbf{C}}^{5+}_{2}`| mathtools | -|\prime|$`\prime`||| -|\principalvalue|$`\principalvalue`|| physics extension | -|\pv|$`\pv`|| physics extension | -|\PV|$`\PV(x)`|`\PV(x)`| physics extension | -|\prod|$`\prod`||| -|\projlim|$`\projlim`|`\projlim`| ams | -|\propto|$`\propto`||| -|\providecommand|$`\providecommand\greet{\text{Hello}} \greet`|`\providecommand\greet{\text{Hello}}`
`\greet`|| -|\psi|$`\psi`||| -|\Psi|$`\Psi`||| -|\pu |$`{123~\mathchoice{\textstyle\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}{\frac{\mathrm{kJ}}{\mathrm{mol}}}}`|`\pu{123 kJ//mol}`| mhchem extension | - -## Q - -| Function | Rendered | Source or Comment | Package | -|-------------|--------------------------|-------------------------|-------------------| -| \Q | (Not supported) | See `\Bbb{Q}` | | -| \qall | $`\qall` | | physics extension | -| \qand | $`\qand` | | physics extension | -| \qas | $`\qas` | | physics extension | -| \qassume | $`\qassume` | | physics extension | -| \qc | $`\qc` | | physics extension | -| \qcc | $`\qcc` | | physics extension | -| \qcomma | $`\qcomma` | | physics extension | -| \qelse | $`\qelse` | | physics extension | -| \qeven | $`\qeven` | | physics extension | -| \qfor | $`\qfor` | | physics extension | -| \qgiven | $`\qgiven` | | physics extension | -| \qif | $`\qif` | | physics extension | -| \qin | $`\qin` | | physics extension | -| \qinteger | $`\qinteger` | | physics extension | -| \qlet | $`\qlet` | | physics extension | -| \qodd | $`\qodd` | | physics extension | -| \qor | $`\qor` | | physics extension | -| \qotherwise | $`\qotherwise` | | physics extension | -| \qq | $`\qq{text}` | `\qq{text}` | physics extension | -| \qqtext | $`\qqtext{text}` | `\qqtext{text}` | physics extension | -| \qquad | $`a\qquad\qquad{b}` | `a\qquad\qquad{b}` | | -| \qsince | $`\qsince` | | physics extension | -| \qthen | $`\qthen` | | physics extension | -| \qty | $`\qty{5 \text{m}}` | `\qty{5 \text{m}}` | physics extension | -| \quad | $`a\quad\quad{b}` | `a\quad\quad{b}` | | -| \quantity | $`\quantity{5 \text{m}}` | `\quantity{5 \text{m}}` | physics extension | -| \qunless | $`\qunless` | | physics extension | -| \qusing | $`\qusing` | | physics extension | -| \questeq | $`\questeq` | | stix | - -## R - -| Function | Rendered | Source or Comment | Package | -|--------------------|-------------|-------------------|-----------| -| \R | $`\R`| | texvc extension | -| \r | $`\text{\r{a}}`| `\text{\r{a}}`| | -| \raise | $`M\raise3pt{M^2}M`| `M\raise3pt{M^2}M`  or
`M\raise3pt\hbox{$`M^2`}M`| | -| \raisebox | $`h\raisebox{2pt}{ighe}r`| `h\raisebox{2pt}{ighe}r`| | -| \rang | $`\langle A\rang`| `\langle A\rang` | texvc extension | -| \rangle | $`\langle A\rangle`| `\langle A\rangle`| | -| \rank | $`\rank M`| `\rank M`| physics extension | -| \Rarr | $`\Rarr`| | texvc extension | -| \rArr | $`\rArr`| | texvc extension | -| \rarr | $`\rarr`| | texvc extension | -| \ratio | $`\ratio`| | colonequals | -| \rBrace | $`\rBrace`| | stix | -| \rbrace | $`\rbrace`| | | -| \rbrack | $`\rbrack`| | | -| {rcases} | $`\begin{rcases}a&\text{if }b\\c&\text{if }d\end{rcases}`| `\begin{rcases}`
   `a &\text{if } b \\`
   `c &\text{if } d`
`\end{rcases}`| mathtools | -| \rceil | $`\rceil`| | | -| \Re | $`\Re`| | | -| \real | $`\real`| | texvc extension | -| \Reals | $`\Reals`| | texvc extension | -| \reals | $`\reals`| | texvc extension | -| \ref | $`\ref{tag1}`| `\ref{tag1}`
Some sites do not support `\ref`.| | -| \relax | | | | -| \renewcommand | $`\def\hail{Hi!}\renewcommand\hail{\text{Ahoy!}} \hail`| `\def\hail{Hi!}`
`\renewcommand\hail{\text{Ahoy!}}`
`\hail`| newcommand | -| \renewenvironment | (Not supported)| | newcommand | -| \require | (Not supported)| | | -| \Res | $`\Res[f(z)]`| `\Res[f(z)]`| physics extension | -| \restriction | $`\restriction`| | ams | -| \rfloor | $`\rfloor`| | | -| \rgroup | $`\rgroup`| | | -| \rhd | $`\rhd`| | ams | -| \Rho | $`\Rho`| | | -| \rho | $`\rho`| | | -| \right | $`\left.\dfrac a b\right)`| `\left.\dfrac a b\right)`| | -| \Rightarrow | $`\Rightarrow`| | | -| \rightarrow | $`\rightarrow`| | | -| \rightarrowtail | $`\rightarrowtail`| | ams | -| \rightharpoondown | $`\rightharpoondown`| | | -| \rightharpoonup | $`\rightharpoonup`| | | -| \rightleftarrows | $`\rightleftarrows`| | ams | -| \rightleftharpoons | $`\rightleftharpoons`| | ams | -| \rightrightarrows | $`\rightrightarrows`| | ams | -| \rightsquigarrow | $`\rightsquigarrow`| | ams | -| \rightthreetimes | $`\rightthreetimes`| | ams | -| \risingdotseq | $`\risingdotseq`| | ams | -| \rlap | $`\rlap{\,/}{=}`| `\rlap{\,/}{=}`| | -| \rm | $`{\rm AaBb12}`| `{\rm AaBb12}`| | -| \rmoustache | $`\rmoustache`| | | -| \root | (Not supported)| | | -| \rotatebox | (Not supported)| | | -| \rparen | $`\rparen`| | mathtools | -| \rppolint | $`\rppolint`| | | -| \rq | $`\rq`| | | -| \rrbracket | $`\rrbracket`| | stmaryrd | -| \Rrightarrow | $`\Rrightarrow`| | ams | -| \Rsh | $`\Rsh`| | ams | -| \rtimes | $`\rtimes`| | ams | -| \Rule | (Not supported)| see `\rule`| | -| \rule | $`x\rule[6pt]{2ex}{1ex}x`| `x\rule[6pt]{2ex}{1ex}x`| | -| \rVert | $`\rVert`| | ams | -| \rvert | $`\rvert`| | ams | - -## S - -
- -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\S|$`\text{\S}`|`\text{\S}` or `\S`|| -|\Sampi|$`\Sampi`||| -|\sampi|$`\sampi`||| -|\sc|(Not supported)|See `\textsc`|| -|\scoh|$`\scoh`|| cmll | -|\scalebox|(Not supported)||| -|\scpolint|$`\scpolint`||| -|\scr|(Not supported)|See `\mathscr`|| -|\scriptscriptstyle|$`\scriptscriptstyle \frac cd`|`\scriptscriptstyle \frac cd`|| -|\scriptsize|$`\scriptsize scriptsize`|`\scriptsize scriptsize`|| -|\scriptstyle|$`A{\scriptstyle B}`|`A{\scriptstyle B}`|| -|\sdot|$`\sdot`|| texvc extension | -|\searrow|$`\searrow`||| -|\sec|$`\sec`||| -|\sect|$`\text{\sect}`|`\text{\sect}`| texvc extension | -|\set| $`\Set{ x | x<5 }` |`\set{x | x<5}`| braket -|\Set| $`\Set{ x | x<\tfrac 1 2 }` |`\Set{ x | x<\tfrac 1 2 }`| braket -|\setlength|(Not supported)||| -|\setminus|$`\setminus`||| -|\sf|$`{\sf AaBb123}`|`{\sf AaBb123}`|| -|\sgn|$`\sgn`|| mismath | -|\sharp|$`\sharp`||| -|\shift|$`\shift`|| cmll | -|\shneg|$`\shneg`|| cmll | -|\shortmid|$`\shortmid`|| ams | -|\shortparallel|$`\shortparallel`|| ams | -|\shoveleft|(Not supported)|| ams | -|\shoveright|(Not supported)|| ams | -|\shpos|$`\shpos`|| cmll | -|\sideset|$`\sideset{_a^b}{_c^d}\sum`|`\sideset{_a^b}{_c^d}\sum`| ams | -|\Sigma|$`\Sigma`||| -|\sigma|$`\sigma`||| -|\sim|$`\sim`||| -|\simeq|$`\simeq`||| -|\sin|$`\sin`||| -|\sincoh|$`\sincoh`|| cmll | -|\sinh|$`\sinh`||| -|\sixptsize|$`\sixptsize sixptsize`|`\sixptsize sixptsize`|| -|\sh|$`\sh`||| -|\skew|(Not supported)||| -|\skip|(Not supported)||| -|\sl|(Not supported)||| -|\small|$`\small small`|`\small small`|| -|\smallfrown|$`\smallfrown`|| ams | -|\smallint|$`\smallint`||| -|{smallmatrix}|$`\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}`|`\begin{smallmatrix}`
   `a & b \\`
   `c & d`
`\end{smallmatrix}`|| -|\smallsetminus|$`\smallsetminus`|| ams | -|\smallsmile|$`\smallsmile`|| ams | -|\smash|$`\left(x^{\smash{2}}\right)`|`\left(x^{\smash{2}}\right)`|| -|\smile|$`\smile`||| -|\smiley|$`\smiley`|| wasysym | -|\sout|$`\sout{abc}`|`\sout{abc}`| ulem | -|\Space|(Not supported)|see `\space`|| -|\space|$`a\space b`|`a\space b`|| -|\spades|$`\spades`|| texvc extension | -|\spadesuit|$`\spadesuit`||| -|\sphericalangle|$`\sphericalangle`|| ams | -|{split}|$$\begin{equation}\begin{split}a &=b+c\\&=e+f\end{split}\end{equation}$$|`\begin{equation}`
`\begin{split}`
   `a &=b+c\\`
      `&=e+f`
`\end{split}`
`\end{equation}`| ams | -|\sqcap|$`\sqcap`||| -|\sqcup|$`\sqcup`||| -|\sqint|$`\sqint`||| -|\square|$`\square`||| -|\sqrt|$`\sqrt[3]{x}`|`\sqrt[3]{x}`|| -|\sqsubset|$`\sqsubset`|| ams | -|\sqsubseteq|$`\sqsubseteq`||| -|\sqsupset|$`\sqsupset`|| ams | -|\sqsupseteq|$`\sqsupseteq`|| ams | -|\ss|$`\text{\ss}`|`\text{\ss}`|| -|\stackrel|$`\stackrel{!}{=}`|`\stackrel{!}{=}`|| -|\standardstate|$`\standardstate`|| chemstyle | -|\star|$`\star`||| -|\stareq|$`\stareq`|| stix | -|\Stigma|$`\Stigma`||| -|\stigma|$`\stigma`||| -|\strictif|$`\strictif`|| txfonts/pxfonts | -|\strictfi|$`\strictfi`|| txfonts/pxfonts | -|\strut|(Not supported)||| -|\style|(Not supported)|Non standard|| -|\sub|$`\sub`|| texvc extension | -|{subarray}|$$\sum_{\begin{subarray}{l} i\in\Lambda\\ 0 `i\in\Lambda\\`
  `0`\end{subarray}}P(i,j)`| ams | -|\sube|$`\sube`|| texvc extension | -|\Subset|$`\Subset`|| ams | -|\subset|$`\subset`||| -|\subseteq|$`\subseteq`||| -|\subseteqq|$`\subseteqq`|| ams | -|\subsetneq|$`\subsetneq`|| ams | -|\subsetneqq|$`\subsetneqq`|| ams | -|\substack|$$\sum_{\substack{0 - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\tag|$$\tag{hi} e=mc^2 \label{tag1}$$|`\tag{hi} e=mc^2 \label{tag1}`| ams | -|\tag*|$$\tag*{hey} e=mc^2$$|`\tag*{hey} e=mc^2`| ams | -|\tan|$`\tan`||| -|\tanh|$`\tanh`||| -|\Tau|$`\Tau`||| -|\tau|$`\tau`||| -|\tbinom|$`\tbinom n k`|`\tbinom n k`| ams | -|\TeX|$`\TeX`||| -|\text|$`\text{ yes }\&\text{ no }`|`\text{ yes }\&\text{ no }`|| -|\textasciitilde|$`\text{\textasciitilde}`|`\text{\textasciitilde}`|| -|\textasciicircum|$`\text{\textasciicircum}`|`\text{\textasciicircum}`|| -|\textbackslash|$`\text{\textbackslash}`|`\text{\textbackslash}`|| -|\textbar|$`\text{\textbar}`|`\text{\textbar}`|| -|\textbardbl|$`\text{\textbardbl}`|`\text{\textbardbl}`|| -|\textbf|$`\textbf{AaBb123}`|`\textbf{AaBb123}`|| -|\textbraceleft|$`\text{\textbraceleft}`|`\text{\textbraceleft}`|| -|\textbraceright|$`\text{\textbraceright}`|`\text{\textbraceright}`|| -|\textbullet|$`\text{\textbullet}`|`\text{\textbullet}`|| -|\textcircled|(Not supported)||| -|\textcolor|$`\textcolor{blue}{F=ma}`|`\textcolor{blue}{F=ma}`| color | -|\textdagger|$`\text{\textdagger}`|`\text{\textdagger}`|| -|\textdaggerdbl|$`\text{\textdaggerdbl}`|`\text{\textdaggerdbl}`|| -|\textdegree|$`\text{\textdegree}`|`\text{\textdegree}`|| -|\textdollar|$`\text{\textdollar}`|`\text{\textdollar}`|| -|\textellipsis|$`\text{\textellipsis}`|`\text{\textellipsis}`|| -|\textemdash|$`\text{\textemdash}`|`\text{\textemdash}`|| -|\textendash|$`\text{\textendash}`|`\text{\textendash}`|| -|\\texteuro|$`\text{\texteuro}`|`\text{\texteuro}`|| -|\textgreater|$`\text{\textgreater}`|`\text{\textgreater}`|| -|\textit|$`\textit{AaBb}`|`\textit{AaBb}`|| -|\textless|$`\text{\textless}`|`\text{\textless}`|| -|\textmd|$`\textmd{AaBb123}`|`\textmd{AaBb123}`|| -|\textnormal|$`\textnormal{AB}`|`\textnormal{AB}`|| -|\textquotedblleft|$`\text{\textquotedblleft}`|`\text{\textquotedblleft}`|| -|\textquotedblright|$`\text{\textquotedblright}`|`\text{\textquotedblright}`|| -|\textquoteleft|$`\text{\textquoteleft}`|`\text{\textquoteleft}`|| -|\textquoteright|$`\text{\textquoteright}`|`\text{\textquoteright}`|| -|\textregistered|$`\text{\textregistered}`|`\text{\textregistered}`|| -|\textrm|$`\textrm{AaBb123}`|`\textrm{AaBb123}`|| -|\textsc|$`\textsc{hey}`|`\textsc{hey}`|| -|\textsf|$`\textsf{AaBb123}`|`\textsf{AaBb123}`|| -|\textsl|(Not supported)||| -|\textsterling|$`\text{\textsterling}`|`\text{\textsterling}`|| -|\textstyle|$`\textstyle\sum_0^n`|`\textstyle\sum_0^n`|| -|\texttip|$`\texttip{\text{hover here}}{This is a tooltip.}`|`\texttip{\text{hover here}}`
`{This is a tooltip.}`|MathJax| -|\texttt|$`\texttt{AaBb123}`|`\texttt{AaBb123}`|| -|\textunderscore|$`\text{\textunderscore}`|`\text{\textunderscore}`|| -|\textup|$`\textup{AaBb123}`|`\textup{AaBb123}`|| -|\textvisiblespace|$`\text{\textvisiblespace}`|`\text{\textvisiblespace}`|| -|\tfrac|$`\tfrac ab`|`\tfrac ab`| ams | -|\tg|$`\tg`||| -|\th|$`\th`||| -|\therefore|$`\therefore`|| ams | -|\Theta|$`\Theta`||| -|\theta|$`\theta`||| -|\thetasym|$`\thetasym`|| texvc extension | -|\thickapprox|$`\thickapprox`|| ams | -|\thicksim|$`\thicksim`|| ams | -|\thickspace|$`a\thickspace b`|`a\thickspace b`| ams | -|\thinspace|$`a\thinspace b`|`a\thinspace b`| ams | -|\tilde|$`\tilde M`|`\tilde M`|| -|\times|$`\times`||| -|\Tiny|$`\Tiny Tiny`|`\Tiny Tiny`|| -|\tiny|$`\tiny tiny`|`\tiny tiny`|| -|\to|$`\to`||| -|\toggle|$`\toggle{\text{Click me}}{Hey!}{Ow!}\endtoggle`|`\toggle{\text{Click me}}`
`{Hey!}{Ow!}\endtoggle`| MathJax | -|\top|$`\top`||| -|\Tr|$`\Tr\rho`|`\Tr\rho`| physics extension | -|\tr|$`\tr\rho`|`\tr\rho`| physics extension | -|\triangle|$`\triangle`||| -|\triangledown|$`\triangledown`|| ams | -|\triangleleft|$`\triangleleft`||| -|\trianglelefteq|$`\trianglelefteq`|| ams | -|\triangleq|$`\triangleq`|| ams | -|\triangleright|$`\triangleright`||| -|\trianglerighteq|$`\trianglerighteq`|| ams | -|\tt|$`{\tt AaBb123}`|`{\tt AaBb123}`|| -|\twoheadleftarrow|$`\twoheadleftarrow`|| ams | -|\twoheadrightarrow|$`\twoheadrightarrow`|| ams | - -## U - -| Function | Rendered | Source or Comment | Package | -|----------------------|-----------------------------|----------------------------|-----------------| -| \u | $`\text{\u{a}}` | `\text{\u{a}}` | | -| \Uarr | $`\Uarr` | | texvc extension | -| \uArr | $`\uArr` | | texvc extension | -| \uarr | $`\uarr` | | texvc extension | -| \ulcorner | $`\ulcorner` | | ams | -| \underbar | $`\underbar{X}` | `\underbar{X}` | | -| \underbrace | $`\underbrace{x+⋯+x}_{n\text{ times}}`| `\underbrace{x+⋯+x}_{n\text{ times}}`| | -| \underbracket | (Not supported) | | | -| \undergroup | $`\undergroup{AB}` | `\undergroup{AB}` | MnSymbol | -| \underleftarrow | $`\underleftarrow{AB}` | `\underleftarrow{AB}` | ams | -| \underleftrightarrow | $`\underleftrightarrow{AB}` | `\underleftrightarrow{AB}` | ams | -| \underrightarrow | $`\underrightarrow{AB}` | `\underrightarrow{AB}` | ams | -| \underline | $`\underline{\text{a long argument}}`| `\underline{\text{a long argument}}`| | -| \underlinesegment | (Not supported) | | | -| \underparen | $`\underparen{abc}` | `\underparen{abc}` | | -| \underrightarrow | $`\underrightarrow{AB}` | `\underrightarrow{AB}` | | -| \underset | $`\underset{!}{=}` | `\underset{!}{=}` | AMS | -| \unicode | (Not supported) | See `\char` | | -| \unlhd | $`\unlhd` | | ams | -| \unrhd | $`\unrhd` | | ams | -| \up | (Not supported) | | | -| \upalpha | $`\upalpha` | | upgreek | -| \Uparrow | $`\Uparrow` | | | -| \uparrow | $`\uparrow` | | | -| \upbeta | $`\upbeta` | | upgreek | -| \updelta | $`\updelta` | | upgreek | -| \upchi | $`\upchi` | | upgreek | -| \Updownarrow | $`\Updownarrow` | | | -| \updownarrow | $`\updownarrow` | | | -| \upeta | $`\upeta` | | upgreek | -| \upepsilon | $`\upepsilon` | | upgreek | -| \upgamma | $`\upgamma` | | upgreek | -| \upharpoonleft | $`\upharpoonleft` | | ams | -| \upharpoonright | $`\upharpoonright` | | ams | -| \upiota | $`\upiota` | | upgreek | -| \upkappa | $`\upkappa` | | upgreek | -| \uplambda | $`\uplambda` | | upgreek | -| \upmu | $`\upmu` | | upgreek | -| \upnu | $`\upnu` | | upgreek | -| \upomega | $`\upomega` | | upgreek | -| \upomicron | $`\upomicron` | | upgreek | -| \uplus | $`\uplus` | | upgreek | -| \upphi | $`\upphi` | | upgreek | -| \uppi | $`\uppi` | | upgreek | -| \uppsi | $`\uppsi` | | upgreek | -| \uprho | $`\uprho` | | upgreek | -| \uproot | (Not supported) | | | -| \upshape | (Not supported) | | | -| \upsigma | $`\upsigma` | | upgreek | -| \Upsilon | $`\Upsilon` | | | -| \upsilon | $`\upsilon` | | | -| \uptau | $`\uptau` | | upgreek | -| \uptheta | $`\uptheta` | | upgreek | -| \upuparrows | $`\upuparrows` | | ams | -| \upupsilon | $`\upupsilon` | | upgreek | -| \upxi | $`\upxi` | | upgreek | -| \upzeta | $`\upzeta` | | upgreek | -| \urcorner | $`\urcorner` | | ams | -| \url | $`\footnotesize\url{https://temml.org/}`| `\url{https://temml.org/}`
Requires `trust` [option](options.md)| | -| \utilde | $`\utilde{AB}` | `\utilde{AB}` | undertilde | - -## V - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------| -|\v|$`\text{\v{a}}`|`\text{\v{a}}`|| -|\va|$`\va{a}`|`\va{a}`| physics extension | -|\var|$`\var`|| physics extension | -|\varcoppa|$`\varcoppa`||| -|\varclubsuit|$`\varclubsuit`|| txfonts | -|\varDelta|$`\varDelta`|| ams | -|\vardiamondsuit|$`\vardiamondsuit`|| txfonts | -|\varepsilon|$`\varepsilon`||| -|\varGamma|$`\varGamma`|| ams | -|\varheartsuit|$`\varheartsuit`|| txfonts | -|\variation|$`\variation`|| physics extension | -|\varinjlim|$`\varinjlim`|`\varinjlim`| ams | -|\varkappa|$`\varkappa`|| ams | -|\varLambda|$`\varLambda`|| ams | -|\varliminf|$`\varliminf`|`\varliminf`| ams | -|\varlimsup|$`\varlimsup`|`\varlimsup`| ams | -|\varnothing|$`\varnothing`|| ams | -|\varointclockwise|$`\varointclockwise`||| -|\varOmega|$`\varOmega`|| ams | -|\varPhi|$`\varPhi`|| ams | -|\varphi|$`\varphi`||| -|\varPi|$`\varPi`|| ams | -|\varpi|$`\varpi`||| -|\varprojlim|$`\varprojlim`|`\varprojlim`| ams | -|\varpropto|$`\varpropto`|| ams | -|\varPsi|$`\varPsi`|| ams | -|\varrho|$`\varrho`||| -|\varSigma|$`\varSigma`|| ams | -|\varsigma|$`\varsigma`||| -|\varspadesuit|$`\varspadesuit`|| txfonts | -|\varstigma|(Not supported)||| -|\varsubsetneq|$`\varsubsetneq`|| ams | -|\varsubsetneqq|$`\varsubsetneqq`|| ams | -|\varsupsetneq|$`\varsupsetneq`|| ams | -|\varsupsetneqq|$`\varsupsetneqq`|| ams | -|\varTheta|$`\varTheta`|| ams | -|\vartheta|$`\vartheta`||| -|\vartriangle|$`\vartriangle`|| ams | -|\vartriangleleft|$`\vartriangleleft`|| ams | -|\vartriangleright|$`\vartriangleright`|| ams | -|\varUpsilon|$`\varUpsilon`|| ams | -|\varXi|$`\varXi`|| ams | -|\vb|$`\vb{a}`|`\vb{a}`| physics extension | -|\vcentcolon|$`\vcentcolon`||| -|\vcenter|(Not supported)||| -|\Vdash|$`\Vdash`|| ams | -|\vDash|$`\vDash`|| ams | -|\vdash|$`\vdash`||| -|\vdot|$`\vdot`|| physics extension | -|\vdots|$`\vdots`||| -|\vec|$`\vec{F}`|`\vec{F}`|| -|\vectorarrow|$`\vectorarrow{a}`|`\vectorarrow{a}`| physics extension | -|\vectorbold|$`\vectorbold{a}`|`\vectorbold{a}`| physics extension | -|\vectorunit|$`\vectorunit{a}`|`\vectorunit{a}`| physics extension | -|\vee|$`\vee`||| -|\veebar|$`\veebar`|| ams | -|\veeeq|$`\veeeq`|| stix | -|\verb|$`\verb!\frac a b!`|`\verb!\frac a b!`|| -|\Vert|$`\Vert`||| -|\vert|$`\vert`||| -|\vfil|(Not supported)||| -|\vfill|(Not supported)||| -|\vline|(Not supported)||| -|{Vmatrix}|$`\begin{Vmatrix}a&b\\c&d\end{Vmatrix}`|`\begin{Vmatrix}`
   `a & b \\`
   `c & d`
`\end{Vmatrix}`| ams | -|{Vmatrix*}|$`\begin{Vmatrix*}[r] -1 & 3\\ 2 & -4 \end{Vmatrix*}`|`\begin{Vmatrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{Vmatrix*}`| mathtools | -|{vmatrix}|$`\begin{vmatrix}a&b\\c&d\end{vmatrix}`|`\begin{vmatrix}`
   `a & b \\`
   `c & d`
`\end{vmatrix}`| ams | -|{vmatrix*}|$`\begin{vmatrix*}[r] -1 & 3\\ 2 & -4 \end{vmatrix*}`|`\begin{vmatrix*}[r]`
   `-1 & 3 \\`
   `2 & -4`
`\end{vmatrix*}`| mathtools | -|\vphantom|$`\overline{\vphantom{M}a}`|`\overline{\vphantom{M}a}`|| -|\vqty|$`\vqty{x}`|`\vqty{x}`| physics extension | -|\vu|$`\vu{a}`|`\vu{a}`| physics extension | -|\Vvdash|$`\Vvdash`|| ams | - -## W - -| Function | Rendered | Source or Comment | Package | -|------------|--------------------|-------------------|-----------------| -| \wedge | $`\wedge` | | | -| \wedgeq | $`\wedgeq` | | stix | -| \weierp | $`\weierp` | | texvc extension | -| \widecheck | $`\widecheck{AB}` |`\widecheck{AB}` | mathabx | -| \widehat | $`\widehat{AB}` |`\widehat{AB}` | | -| \wideparen | $`\wideparen{abc}` |`\wideparen{abc}` | MnSymbol | -| \widetilde | $`\widetilde{AB}` |`\widetilde{AB}` | | -| \with | $`\with` | | cmll | -| \wn | $`\wn` | | cmll | -| \wp | $`\wp` | | | -| \wr | $`\wr` | | | - -## X - -| Function | Rendered | Source or Comment | Package | -|---------------------|-----------------------------|----------------------------|-----------| -| \xcancel | $`\xcancel{ABC}` | `\xcancel{ABC}` | cancel | -| \xdef | (Not supported) | | | -| \Xi | $`\Xi` | | | -| \xi | $`\xi` | | | -| \xhookleftarrow | $`\xhookleftarrow{abc}` | `\xhookleftarrow{abc}` | mathtools | -| \xhookrightarrow | $`\xhookrightarrow{abc}` | `\xhookrightarrow{abc}` | mathtools | -| \xLeftarrow | $`\xLeftarrow{abc}` | `\xLeftarrow{abc}` | mathtools | -| \xleftarrow | $`\xleftarrow{abc}` | `\xleftarrow{abc}` | ams | -| \xleftharpoondown | $`\xleftharpoondown{abc}` | `\xleftharpoondown{abc}` | mathtools | -| \xleftharpoonup | $`\xleftharpoonup{abc}` | `\xleftharpoonup{abc}` | mathtools | -| \xLeftrightarrow | $`\xLeftrightarrow{abc}` | `\xLeftrightarrow{abc}` | mathtools | -| \xleftrightarrow | $`\xleftrightarrow{abc}` | `\xleftrightarrow{abc}` | mathtools | -| \xleftrightharpoons | $`\xleftrightharpoons{abc}` | `\xleftrightharpoons{abc}` | mathtools | -| \xlongequal | $`\xlongequal{abc}` | `\xlongequal{abc}` | extpfeil | -| \xmapsto | $`\xmapsto{abc}` | `\xmapsto{abc}` | mathtools | -| \xRightarrow | $`\xRightarrow{abc}` | `\xRightarrow{abc}` | mathtools | -| \xrightarrow | $`\xrightarrow{abc}` | `\xrightarrow{abc}` | ams | -| \xrightharpoondown | $`\xrightharpoondown{abc}` | `\xrightharpoondown{abc}` | mathtools | -| \xrightharpoonup | $`\xrightharpoonup{abc}` | `\xrightharpoonup{abc}` | mathtools | -| \xrightleftharpoons | $`\xrightleftharpoons{abc}` | `\xrightleftharpoons{abc}` | mathtools | -| \xtofrom | $`\xtofrom{abc}` | `\xtofrom{abc}` | extpfeil | -| \xtwoheadleftarrow | $`\xtwoheadleftarrow{abc}` | `\xtwoheadleftarrow{abc}` | extpfeil | -| \xtwoheadrightarrow | $`\xtwoheadrightarrow{abc}` | `\xtwoheadrightarrow{abc}` | extpfeil | - -## YZ - -| Function | Rendered | Source or Comment | Package | -|----------------|-------------|-------------------|-----------------| -| \yen | $`\yen` | | ams | -| \Z | $`\Z` | | texvc extension | -| \Zeta | $`\Zeta` | | | -| \zeta |$`\zeta` | | | - - -
- -

Copyright © 2021, 2022 Ron Kok. Released under the MIT License

- -
- -
- - - -
- - - - -
- - - - - \ No newline at end of file diff --git a/docs/supported.md b/docs/supported.md deleted file mode 100644 index f78ba119..00000000 --- a/docs/supported.md +++ /dev/null @@ -1,1621 +0,0 @@ - - - - - - Temml Functions - - - - - - - -
- -# Supported Functions - -**Temml** is a JavaScript library that converts TeX math-mode functions to MathML. -This page lists the TeX functions it supports, sorted into logical groups. - -To read this page, use a browser that supports MathML, such as Firefox or Safari. -Chrome and Edge will support MathML [soon](https://www.igalia.com/2021/08/09/MathML-Progress.html). - -There is a similar [Support Table](./support_table.html), sorted alphabetically, -that lists both supported and some un-supported functions. - -## Accents - -+:-------------------------+:-------------------------+:-----------------------------------+ -| $`a'` `a'` | $`\tilde{a}` `\tilde{a}` | $`\widetilde{ac}` `\widetilde{ac}` | -+--------------------------+--------------------------+------------------------------------+ -| $`a''` `a''` | $`\vec{F}` `\vec{F}` | $`\utilde{AB}` `\utilde{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`a^{\prime}` | $`\overleftarrow{AB}` | $`\overrightarrow{AB}` | -| `a^{\prime}` | `\overleftarrow{AB}` | `\overrightarrow{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\acute{a}` `\acute{a}` | $`\underleftarrow{AB}` | $`\underrightarrow{AB}` | -| | `\underleftarrow{AB}` | `\underrightarrow{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\bar{y}` `\bar{y}` | $`\overline{AB}` | $`\Overrightarrow{AB}` | -| | `\overline{AB}` | `\Overrightarrow{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\breve{a}` `\breve{a}` | $`\underline{AB}` | $`\overleftrightarrow{AB}` | -| | `\underline{AB}` | `\overleftrightarrow{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\check{a}` `\check{a}` | $`\widecheck{ac}` | $`\underleftrightarrow{AB}` | -| | `\widecheck{ac}` | `\underleftrightarrow{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\dot{a}` `\dot{a}` | $`\overleftharpoon{ac}` | $`\overrightharpoon{ac}` | -| | `\overleftharpoon{ac}` | `\overrightharpoon{ac}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\ddot{a}` `\ddot{a}` | $`\overgroup{AB}` | $`\wideparen{AB}` | -| | `\overgroup{AB}` | `\wideparen{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\dddot{a}` `\dddot{a}` | $`\undergroup{AB}` | $`\overparen{AB}` | -| | `\undergroup{AB}` | `\overparen{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\ddddot{a}` | $`\underbar{X}` | $`\underparen{AB}` | -| `\ddddot{a}` | `\underbar{X}` | `\underparen{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\grave{a}` `\grave{a}` | $`\mathring{g}` | $`\overbrace{AB}` | -| | `\mathring{g}` | `\overbrace{AB}` | -+--------------------------+--------------------------+------------------------------------+ -| $`\hat{\theta}` | $`\widehat{ac}` | $`\underbrace{AB}` | -| `\hat{\theta}` | `\widehat{ac}` | `\underbrace{AB}` | -+--------------------------+--------------------------+------------------------------------+ - - -**Accent functions inside \\text{…}** - -+:------------------+:------------------+:-----------------+:----------------+ -| $`\text{\'{a}}` | $`\text{\~{a}}` | $`\text{\.{a}}` | $`\text{\H{a}}` | -| `\'{a}` | `\~{a}` | `\.{a}` | `\H{a}` | -+-------------------+-------------------+------------------+-----------------+ -| $``\text{\`{a}}`` | $`\text{\={a}}` | $`\text{\"{a}}` | $`\text{\v{a}}` | -| ``\`{a}`` | `\={a}` | `\"{a}` | `\v{a}` | -+-------------------+-------------------+------------------+-----------------+ -| $`\text{\^{a}}` | $`\text{\u{a}}` | $`\text{\r{a}}` | $`\text{\c{c}}` | -| `\^{a}` | `\u{a}` | `\r{a}` | `\c{c}` | -+-------------------+-------------------+------------------+-----------------+ - -See also [letters](#letters) - -## Annotation - -+:---------------------------------+:---------------------------------------------------+ -| $`\cancel{5}` `\cancel{5}` | $`\overbrace{a+b+c}^{\text{note}}` | -| | `\overbrace{a+b+c}^{\text{note}}` | -+----------------------------------+----------------------------------------------------+ -| $`\bcancel{5}` `\bcancel{5}` | $`\underbrace{a+b+c}_{\text{note}}` | -| | `\underbrace{a+b+c}_{\text{note}}` | -+----------------------------------+----------------------------------------------------+ -| $`\xcancel{ABC}` `\xcancel{ABC}` | $`\cancelto{0}{x+1}` | -| | `\cancelto{0}{x+1}` | -+----------------------------------+----------------------------------------------------+ -| $`\sout{abc}` `\sout{abc}` | $`\boxed{\pi=\frac c d}` | -| | `\boxed{\pi=\frac c d}` | -+----------------------------------+----------------------------------------------------+ -| $`\ref{tag1}` `\ref{tag1}` | $`\texttip{\text{hover here}}{This is a tooltip.}` | -| |`\texttip{\text{hover here}}{This is a tooltip.}` | -+----------------------------------+----------------------------------------------------+ -| | $`\toggle{\text{Click me}}{Hey!}{Ow!}\endtoggle` | -| | `\toggle{\text{Click me}}{Hey!}{Ow!}\endtoggle` | -+----------------------------------+----------------------------------------------------+ -| $$ | `\tag{hi} x+y^{2x} \label{tag1}` | -| \tag{hi} x+y^{2x} \label{tag1} | | -| $$ | | -+----------------------------------+----------------------------------------------------+ -| $$ | `\tag*{bye} x+y^{2x}` | -| \tag*{bye} x+y^{2x} | | -| $$ | | -+----------------------------------+----------------------------------------------------+ - -Also some [environments](#environments) have automatic equation numbering. - -A `\label{…}` may be placed anywhere and will create an HTML id matching the -`\label{…}` argument. That argument may contain only the characters `A-Za-z0-9_-`. - -On sites where Temml fields are updated dynamically, `\ref{…}` may not be -supported. Other Temml functions update only the local field. `\ref{…}` must -make two passes through the entire document. Some sites may choose not to do this. - -## Color - -+------------------------------+---------------------------------------------+ -| $`\color{blue} F=ma` | $`\color[RGB]{255,0,255} F=ma` | -| `{\color{blue} F=ma}` | `{\color[RGB]{255,0,255} F=ma}` | -+------------------------------+---------------------------------------------+ -| $`\textcolor{blue}{F=ma}` | $`\color[rgb]{1,0,1} F=ma` | -| `\textcolor{blue}{F=ma}` | `{\color[rgb]{1,0,1} F=ma}` | -+------------------------------+---------------------------------------------+ -| $`\textcolor{#228B22}{F=ma}` | $`\color[HTML]{ff00ff} F=ma` | -| `\textcolor{#228B22}{F=ma}` | `{\color[HTML]{ff00ff} F=ma}` | -+------------------------------+---------------------------------------------+ -| $`\colorbox{aqua}{A}` | `\definecolor{sortaGreen}{RGB}{128,128,0}`\ | -| `\colorbox{aqua}{A}` | $`\definecolor{sortaGreen}{RGB}{128,128,0} | -+------------------------------+ \color{sortaGreen} F=ma` + -| $`\fcolorbox{red}{aqua}{A}` | `{\color{sortaGreen} F=ma}` | -| `\fcolorbox{red}{aqua}{A}` | | -+------------------------------+---------------------------------------------+ - -`\definecolor` functions can be included in a [preamble](administration.html#preamble). -If so, their color definitions will have document-wide scope. - -Color functions can all take an optional argument to set the color model, as -in the `xcolor` package. (Exception: `\definecolor`’s model argument is -required.) Temml supports color models `HTML`, `RGB`, and `rgb`. - -If the color model is omitted, Temml color functions will accept: - -- `#rrggbb`, `#rgb`, or `rrggbb`. -- A color name previously created by `\definecolor`. -- Any color from the following `xcolor` table. -- Any of the standard HTML [predefined color names](https://www.w3schools.com/colors/colors_names.asp). - -
- -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Apricot}\rule{1em}{0.8em}} `  Apricot | $` {\color{ForestGreen}\rule{1em}{0.8em}} `  ForestGreen | $` {\color{olive}\rule{1em}{0.8em}} `  olive | $` {\color{RoyalPurple}\rule{1em}{0.8em}} `  RoyalPurple | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Aquamarine}\rule{1em}{0.8em}} `  Aquamarine | $` {\color{Fuchsia}\rule{1em}{0.8em}} `  Fuchsia | $` {\color{OliveGreen}\rule{1em}{0.8em}} `  OliveGreen | $` {\color{RubineRed}\rule{1em}{0.8em}} `  RubineRed | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Bittersweet}\rule{1em}{0.8em}} `  Bittersweet | $` {\color{Goldenrod}\rule{1em}{0.8em}} `  Goldenrod | $` {\color{orange}\rule{1em}{0.8em}} `  orange | $` {\color{Salmon}\rule{1em}{0.8em}} `  Salmon | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{blue}\rule{1em}{0.8em}} `  blue | $` {\color{gray}\rule{1em}{0.8em}} `  gray | $` {\color{Orange}\rule{1em}{0.8em}} `  Orange | $` {\color{SeaGreen}\rule{1em}{0.8em}} `  SeaGreen | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Blue}\rule{1em}{0.8em}} `  Blue | $` {\color{Gray}\rule{1em}{0.8em}} `  Gray | $` {\color{OrangeRed}\rule{1em}{0.8em}} `  OrangeRed | $` {\color{Sepia}\rule{1em}{0.8em}} `  Sepia | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{BlueGreen}\rule{1em}{0.8em}} `  BlueGreen | $` {\color{green}\rule{1em}{0.8em}} `  green | $` {\color{Orchid}\rule{1em}{0.8em}} `  Orchid | $` {\color{SkyBlue}\rule{1em}{0.8em}} `  SkyBlue | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{BlueViolet}\rule{1em}{0.8em}} `  BlueViolet | $` {\color{Green}\rule{1em}{0.8em}} `  Green | $` {\color{Peach}\rule{1em}{0.8em}} `  Peach | $` {\color{SpringGreen}\rule{1em}{0.8em}} `  SpringGreen | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{BrickRed}\rule{1em}{0.8em}} `  BrickRed | $` {\color{GreenYellow}\rule{1em}{0.8em}} `  GreenYellow | $` {\color{Periwinkle}\rule{1em}{0.8em}} `  Periwinkle | $` {\color{Tan}\rule{1em}{0.8em}} `  Tan | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{brown}\rule{1em}{0.8em}} `  brown | $` {\color{JungleGreen}\rule{1em}{0.8em}} `  JungleGreen | $` {\color{PineGreen}\rule{1em}{0.8em}} `  PineGreen | $` {\color{teal}\rule{1em}{0.8em}} `  teal | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Brown}\rule{1em}{0.8em}} `  Brown | $` {\color{Lavender}\rule{1em}{0.8em}} `  Lavender | $` {\color{pink}\rule{1em}{0.8em}} `  pink | $` {\color{TealBlue}\rule{1em}{0.8em}} `  TealBlue | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{BurntOrange}\rule{1em}{0.8em}} `  BurntOrange | $` {\color{lightgray}\rule{1em}{0.8em}} `  lightgray | $` {\color{Plum}\rule{1em}{0.8em}} `  Plum | $` {\color{Thistle}\rule{1em}{0.8em}} `  Thistle | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{CadetBlue}\rule{1em}{0.8em}} `  CadetBlue | $` {\color{lime}\rule{1em}{0.8em}} `  lime | $` {\color{ProcessBlue}\rule{1em}{0.8em}} `  ProcessBlue | $` {\color{Turquoise}\rule{1em}{0.8em}} `  Turquoise | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{CarnationPink}\rule{1em}{0.8em}} `  CarnationPink | $` {\color{LimeGreen}\rule{1em}{0.8em}} `  LimeGreen | $` {\color{purple}\rule{1em}{0.8em}} `  purple | $` {\color{violet}\rule{1em}{0.8em}} `  violet | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Cerulean}\rule{1em}{0.8em}} `  Cerulean | $` {\color{magenta}\rule{1em}{0.8em}} `  magenta | $` {\color{Purple}\rule{1em}{0.8em}} `  Purple | $` {\color{Violet}\rule{1em}{0.8em}} `  Violet | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{CornflowerBlue}\rule{1em}{0.8em}} `  CornflowerBlue | $` {\color{Magenta}\rule{1em}{0.8em}} `  Magenta | $` {\color{RawSienna}\rule{1em}{0.8em}} `  RawSienna | $` {\color{VioletRed}\rule{1em}{0.8em}} `  VioletRed | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{cyan}\rule{1em}{0.8em}} `  cyan | $` {\color{Mahogany}\rule{1em}{0.8em}} `  Mahogany | $` {\color{red}\rule{1em}{0.8em}} `  red | $` {\color{WildStrawberry}\rule{1em}{0.8em}} `  WildStrawberry | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Cyan}\rule{1em}{0.8em}} `  Cyan | $` {\color{Maroon}\rule{1em}{0.8em}} `  Maroon | $` {\color{Red}\rule{1em}{0.8em}} `  Red | $` {\color{yellow}\rule{1em}{0.8em}} `  yellow | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Dandelion}\rule{1em}{0.8em}} `  Dandelion | $` {\color{Melon}\rule{1em}{0.8em}} `  Melon | $` {\color{RedOrange}\rule{1em}{0.8em}} `  RedOrange | $` {\color{Yellow}\rule{1em}{0.8em}} `  Yellow | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{darkgray}\rule{1em}{0.8em}} `  darkgray | $` {\color{MidnightBlue}\rule{1em}{0.8em}} `  MidnightBlue | $` {\color{RedViolet}\rule{1em}{0.8em}} `  RedViolet | $` {\color{YellowGreen}\rule{1em}{0.8em}} `  YellowGreen | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{DarkOrchid}\rule{1em}{0.8em}} `  DarkOrchid | $` {\color{Mulberry}\rule{1em}{0.8em}} `  Mulberry | $` {\color{Rhodamine}\rule{1em}{0.8em}} `  Rhodamine | $` {\color{YellowOrange}\rule{1em}{0.8em}} `  YellowOrange | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ -| $` {\color{Emerald}\rule{1em}{0.8em}} `  Emerald | $` {\color{NavyBlue}\rule{1em}{0.8em}} `  NavyBlue | $` {\color{RoyalBlue}\rule{1em}{0.8em}} `  RoyalBlue | | -+----------------------------------------------------------------+------------------------------------------------------------+----------------------------------------------------------+----------------------------------------------------------------+ - - -## Delimiters - -+:-----------------+:-------------------+:-------------+:---------------------------+:--------------------+ -| $`(~)` `( )` | $`\lparen~\rparen` | $`⌈~⌉` `⌈ ⌉` | $`\lceil~\rceil` | $`\uparrow` | -| | `\lparen`\ | | `\lceil`\ | `\uparrow` | -| | $`~~~~` `\rparen` | | $`~~~~~` `\rceil` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`[~]` `[ ]` | $`\lbrack~\rbrack` | $`⌊~⌋` `⌊ ⌋` | $`\lfloor~\rfloor` | $`\downarrow` | -| | `\lbrack`\ | | `\lfloor`\ | `\downarrow` | -| | $`~~~~` `\rbrack` | | $`~~~~~` `\rfloor` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`\{ \}` | $`\lbrace \rbrace` | $`⎰⎱` `⎰⎱` | $`\lmoustache \rmoustache` | $`\updownarrow` | -| `\{ \}` | `\lbrace`\ | | `\lmoustache`\ | `\updownarrow` | -| | $`~~~~` `\rbrace` | | $`~~~~` `\rmoustache` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`⟨~⟩` `⟨ ⟩` | $`\langle~\rangle` | $`⟮~⟯` `⟮ ⟯` | $`\lgroup~\rgroup` | $`\Uparrow` | -| | `\langle` \ | | `\lgroup`\ | `\Uparrow` | -| | $`~~~~~` `\rangle` | | $`~~~~~` `\rgroup` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`\vert` | $`\vert` | $`┌ ┐` `┌ ┐` | $`\ulcorner \urcorner` | $`\Downarrow` | -| `|` | `\vert` | | `\ulcorner`\ | `\Downarrow` | -| | | | $`~~~~` `\urcorner` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`\Vert` | $`\Vert` `\Vert` | $`└ ┘` `└ ┘` | $`\llcorner \lrcorner` | $`\Updownarrow` | -| `\|` | | | `\llcorner`\ | `\Updownarrow` | -| | | | $`~~~~` `\lrcorner` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| $`\lvert~\rvert` | $`\lVert~\rVert` | `\left.` | `\right.` | $`\backslash` | -| `\lvert`\ | `\lVert`\ | | | `\backslash` | -| $`~~~~` `\rvert` | $`~~~~~` `\rVert` | | | | -+------------------+--------------------+--------------+----------------------------+---------------------+ -| | $`\lt\gt` `\lt`\ | $`⟦~⟧` `⟦ ⟧` | $`\llbracket~\rrbracket` | $`\lBrace~\rBrace` | -| | $`~~~~~~~~~~` | | `\llbracket`\ | `\lBrace \rBrace` | -| | `\gt` | | $`~~~~` `\rrbracket` | | -+------------------+--------------------+--------------+----------------------------+---------------------+ - -The _texvc_ extension includes $`\lang` `\lang` and $`\rang` `\rang`. - -#### Delimiter Sizing - -$`\left(\LARGE{AB}\right)` `\left(\LARGE{AB}\right)` - -$`( \big( \Big( \bigg( \Bigg(` `( \big( \Big( \bigg( \Bigg(` - -+:----------+:--------+:---------+:---------+:---------+ -| `\left` | `\big` | `\bigl` | `\bigm` | `\bigr` | -+-----------+---------+----------+----------+----------+ -| `\middle` | `\Big` | `\Bigl` | `\Bigm` | `\Bigr` | -+-----------+---------+----------+----------+----------+ -| `\right` | `\bigg` | `\biggl` | `\biggm` | `\biggr` | -+-----------+---------+----------+----------+----------+ -| | `\Bigg` | `\Biggl` | `\Biggm` | `\Biggr` | -+-----------+---------+----------+----------+----------+ - -## Environments - -+:---------------------:+:---------------------------+:--------------------------:+:-----------------------------+ -| $`\begin{matrix} | `\begin{matrix}`\ | $`\begin{array}{cc} | `\begin{array}{cc}`\ | -| a & b \\ |    `a & b \\`\ |    a & b \\ |    `a & b \\`\ | -| c & d |    `c & d`\ |    c & d |    `c & d`\ | -| \end{matrix}` | `\end{matrix}` | \end{array}` | `\end{array}` | -+-----------------------+---------------------------+----------------------------+------------------------------+ -| $`\begin{pmatrix} | `\begin{pmatrix}`\ | $`\begin{bmatrix} | `\begin{bmatrix}`\ | -| a & b \\ |    `a & b \\`\ | a & b \\ |    `a & b \\`\ | -| c & d |    `c & d`\ | c & d |    `c & d`\ | -| \end{pmatrix}` | `\end{pmatrix}` | \end{bmatrix}` | `\end{matrix}` | -+-----------------------+----------------------------+----------------------------+------------------------------+ -| $`\begin{vmatrix} | `\begin{vmatrix}`\ | $`\begin{Vmatrix} | `\begin{Vmatrix}`\ | -| a & b \\ |    `a & b \\`\ | a & b \\ |    `a & b \\`\ | -| c & d |    `c & d`\ | c & d |    `c & d`\ | -| \end{vmatrix}` | `\end{vmatrix}` | \end{Vmatrix}` | `\end{Vmatrix}` | -+-----------------------+----------------------------+----------------------------+------------------------------+ -| $`\begin{Bmatrix} | `\begin{Bmatrix}`\ | $`\def\arraystretch{1.5} | `\def\arraystretch{1.5}`\ | -| a & b \\ |    `a & b \\`\ | \begin{array}{c|c:c} | `\begin{array}{c|c:c}`\ | -| c & d |    `c & d`\ | a & b & c \\ \hline |    `a & b & c \\ \hline`\ | -| \end{Bmatrix}` | `\end{Bmatrix}` | d & e & f \\ \hdashline |    `d & e & f \\`\ | -| | | g & h & i |    `\hdashline`\ | -| | | \end{array}` |    `g & h & i`\ | -| | | | `\end{array}` | -+-----------------------+----------------------------+----------------------------+------------------------------+ -| $`x = \begin{cases} | `x = \begin{cases}`\ | $`\begin{rcases} | `\begin{rcases}`\ | -| a &\text{if } b \\ |    `a &\text{if } b \\`\ | a &\text{if } b \\ |    `a &\text{if } b \\`\ | -| c &\text{if } d |    `c &\text{if } d`\ | c &\text{if } d |   `c &\text{if } d`\ | -| \end{cases}` | `\end{cases}` | \end{rcases}⇒` | `\end{rcases}⇒` | -+-----------------------+----------------------------+----------------------------+------------------------------+ -| $`\begin{smallmatrix} | `\begin{smallmatrix}`\ | $$ | `\sum_{\begin{subarray}{l}`\ | -| a & b \\ |    `a & b \\`\ | \sum_{\begin{subarray}{l} |    `i\in\Lambda\\`\ | -| c & d |    `c & d`\ | i\in\Lambda\\ |    `0 - -+:-----------------+:-----------------------+:-------------------+:--------------------------+ -| $$ | `\begin{equation}`\ | $$ | `\begin{align}`\ | -| \begin{equation} | `\begin{split}`\ | \begin{align} |    `a&=b+c \\`\ | -| \begin{split} |    `a &=b+c\\`\ | a&=b+c \\ |    `d+e&=f`\ | -| a &=b+c\\ |    `&=e+f`\ | d+e&=f | `\endalign` | -| &=e+f | `\end{split}`\ | \end{align} | | -| \end{split} | `\end{equation}` | $$ | | -| \end{equation} | | | | -| $$ | | | | -+------------------+------------------------+--------------------+---------------------------+ -| $$ | `\begin{gather}`\ | $$ | `\begin{alignat}{2}`\ | -| \begin{gather} |    `a=b \\`\ | \begin{alignat}{2} |    `10&x+ &3&y = 2 \\`\ | -| a=b \\ |    `e=b+c`\ | 10&x+ &3&y = 2 \\ |    `3&x+&13&y = 4`\ | -| e=b+c | `\end{gather}` | 3&x+&13&y = 4 | `\end{alignat}` | -| \end{gather} | | \end{alignat} | | -| $$ | | $$ | | -+------------------+------------------------+--------------------+---------------------------+ -| $$ | `\begin{CD}`\ | $$ | `\begin{multline}`\ | -| \begin{CD} | `A @>a>> B \\`\ | \begin{multline} |    `\rm uno \\`\ | -| A @>a>> B \\ | `@VbVV @AAcA \\`\ | \rm uno \\ \    `\rm dos \\`\ | -| @VbVV @AAcA\\ | `C @= D`\ | \rm dos \\ |    `\rm tres`\ | -| C @= D | `\end{CD}` | \rm tres | `\end{multline}` | -| \end{CD} | | \end{multline} | | -| $$ | | $$ | | -+------------------+------------------------+--------------------+---------------------------+ - -#### Other Temml Environments - -+:------------------------------------+:----------------------------------------------+ -| Environments | How they differ from those shown above | -+=====================================+===============================================+ -| `darray`, `dcases`, `drcases` | … apply `displaystyle` | -+-------------------------------------+-----------------------------------------------+ -| `matrix*`, `pmatrix*`, `bmatrix*`\ | … take an optional argument that sets column\ | -| `Bmatrix*`, `vmatrix*`, `Vmatrix*` | alignment, as in `\begin{matrix*}[r]` | -+-------------------------------------+-----------------------------------------------+ -| `equation*`, `gather*`\ | … have no automatic numbering. | -| `align*`, `alignat*` | | -+-------------------------------------+-----------------------------------------------+ -| `gathered`, `aligned`, `alignedat` | … do not need to be in display mode.\ | -| | … have no automatic numbering.\ | -| | … must be inside math delimiters in\ | -| | order to be rendered by the auto-render\ | -| | extension. | -+-------------------------------------+-----------------------------------------------+ - -Acceptable horizontal line separators are: `\\` and `\cr`. - -Temml supports `\tag{…}`, `\notag`, and `\nonumber` to modify equation numbering. - -The `{array}` environment does not yet support `\cline` or `\multicolumn`. - -## HTML - -The following "raw HTML" features are potentially dangerous for untrusted -inputs, so they are disabled by default, and attempting to use them produces -the command names in red (which you can configure via the `errorColor` -[option](administration.html#options)). To fully trust your LaTeX input, you need to pass -an option of `trust: true`; you can also enable just some of the commands -or for just some URLs via the `trust` [option](administration.html#options). - -+:-------------------------------------+:-----------------------------------------------+ -| $`\href{https://temml.org/}{\Temml}` | `\href{https://temml.org/}{\Temml}` | -+--------------------------------------+------------------------------------------------+ -| $`\url{https://temml.org/}` | `\url{https://temml.org/}` | -+--------------------------------------+------------------------------------------------+ -| $`\includegraphics[height=1em, | `\includegraphics[height=1em,`\ | -| totalheight=1.2em, width=1.2em, | `totalheight=1.2em,width=1.2em, alt=sphere]`\ | -| alt=sphere]{../sphere.jpg}` | `{../sphere.jpg}` | -+--------------------------------------+------------------------------------------------+ -| $`\id{idName}{x}` | `\id{idName}{x}` | -+--------------------------------------+------------------------------------------------+ -| $`\class{class-name}{x}` | `\class{class-name}{x}` | -+--------------------------------------+------------------------------------------------+ -| $`\style{color: red;}{x}` | `\style{color: red;}{x}` | -+--------------------------------------+------------------------------------------------+ -| $`\data{datum1=a, datum2=b}{x}` | `\data{datum1=a, datum2=b}{x}` | -+--------------------------------------+------------------------------------------------+ - -## Letters - -**Greek Letters** - -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\Alpha` `\Alpha` | $`\Beta` `\Beta` | $`\Gamma` `\Gamma` | $`\Delta` `\Delta` | $`\Epsilon` `\Epsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\Zeta` `\Zeta` | $`\Eta` `\Eta` | $`\Theta` `\Theta` | $`\Iota` `\Iota` | $`\Kappa` `\Kappa` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\Lambda` | $`\Mu` `\Mu` | $`\Nu` `\Nu` | $`\Xi` `\Xi` | $`\Omicron` `\Omicron` | -| `\Lambda` | | | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\Pi` `\Pi` | $`\Rho` `\Rho` | $`\Sigma` `\Sigma` | $`\Tau` `\Tau` | $`\Upsilon` `\Upsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\Phi` `\Phi` | $`\Chi` `\Chi` | $`\Psi` `\Psi` | $`\Omega` `\Omega` | $`\varGamma` `\varGamma` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\varDelta` | $`\varTheta` | $`\varLambda` | $`\varXi` `\varXi` | $`\varPi` `\varPi` | -| `\varDelta` | `\varTheta` | `\varLambda` | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\varSigma` | $`\varUpsilon` | $`\varPhi` | $`\varPsi` | $`\varOmega` `\varOmega` | -| `\varSigma` | `\varUpsilon` | `\varPhi` | `\varPsi` | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\alpha` `\alpha` | $`\beta` `\beta` | $`\gamma` `\gamma` | $`\delta` `\delta` | $`\epsilon` `\epsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\zeta` `\zeta` | $`\eta` `\eta` | $`\theta` `\theta` | $`\iota` `\iota` | $`\kappa` `\kappa` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\lambda` | $`\mu` `\mu` | $`\nu` `\nu` | $`\xi` `\xi` | $`\omicron` `\omicron` | -|`\lambda` | | | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\pi` `\pi` | $`\rho` `\rho` | $`\sigma` `\sigma` | $`\tau` `\tau` | $`\upsilon` `\upsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\phi` `\phi` | $`\chi` `\chi` | $`\psi` `\psi` | $`\omega` `\omega` | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\upalpha` | $`\upbeta` | $`\upgamma` | $`\updelta` | $`\upepsilon` | -| `\upalpha` | `\upbeta` | `\upgamma` | `\updelta` | `\upepsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\upzeta` | $`\upeta` | $`\uptheta` | $`\upiota` | $`\upkappa` `\upkappa` | -| `\upzeta` | `\upeta` | `\uptheta` | `\upiota` | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\uplambda` | $`\upmu` `\upmu` | $`\upnu` `\upnu` | $`\upxi` `\upxi` | $`\upomicron` | -| `\uplambda` | | | | `\upomicron` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\uppi` `\uppi` | $`\uprho` | $`\upsigma` | $`\uptau` `\uptau` | $`\upupsilon` | -| | `\uprho` | `\upsigma` | | `\upupsilon` | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\upphi` `\upphi` | $`\upchi` | $`\uppsi` `\uppsi` | $`\upomega` | | -| | `\upchi` | | `\upomega` | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\varepsilon` | $`\varkappa` | $`\vartheta` | $`\varpi` `\varpi` | $`\varrho` `\varrho` | -| `\varepsilon` | `\varkappa` | `\vartheta` | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\varsigma` | $`\varphi` | $`\Coppa` `\Coppa` | $`\coppa` `\coppa` | $`\Koppa` `\Koppa` | -| `\varsigma` | `\varphi` | | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\koppa` `\koppa` | $`\Sampi` | $`\sampi` `\sampi` | $`\Stigma` | $`\stigma` `\stigma` | -| | `\Sampi` | | `\Stigma` | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ -| $`\digamma` | $`\varcoppa` | | | | -| `\digamma` | `\varcoppa` | | | | -+--------------------+------------------+--------------------+--------------------+--------------------------+ - -Direct Input: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω - α β γ δ ϵ ζ η θ ι κ λ μ ν ξ o π ρ σ τ υ ϕ χ ψ ω ε ϑ ϖ ϱ ς φ ϝ - -#### Other Letters - -+:---------------------+:-------------------+:-------------------+:---------------------------+:---------------------------+ -| $`\aleph` `\aleph` | $`\nabla` `\nabla` | $`\imath` `\imath` | $`\text{\aa}` `\text{\aa}` | $`\text{\OE}` `\text{\OE}` | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ -| $`\beth` `\beth` | $`\partial` | $`\jmath` `\jmath` | $`\text{\AA}` `\text{\AA}` | $`\text{\o}` `\text{\o}` | -| | `\partial` | | | | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ -| $`\gimel` `\gimel` | $`\Game` `\Game` | $`\Im` `\Im` | $`\text{\ae}` `\text{\ae}` | $`\text{\O}` `\text{\O}` | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ -| $`\daleth` `\daleth` | $`\Finv` `\Finv` | $`\Bbbk` `\Bbbk` | $`\text{\AE}` `\text{\AE}` | $`\text{\ss}` `\text{\ss}` | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ -| $`\eth` `\eth` | $`\hbar` `\hbar` | $`\Re` `\Re` | $`\text{\oe}` `\text{\oe}` | $`\text{\i}` `\text{\i}` | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ -| $`\ell` `\ell` | $`\hslash` | $`\wp` `\wp` | | $`\text{\j}` `\text{\j}` | -| | `\hslash` | | | | -+----------------------+--------------------+--------------------+----------------------------+----------------------------+ - -Letters in the _texvc_ extension - -+:-----------------------+:-----------------------+:-----------------------+:-------------------+:-------------------------+ -| $`\alef` `\alef` | $`\Complex` `\Complex` | $`\natnums` `\natnums` | $`\real` `\real` | $`\weierp` `\weierp` | -+------------------------+------------------------+------------------------+--------------------+--------------------------+ -| $`\alefsym` `\alefsym` | $`\image` `\image` | $`\R` `\R` | $`\reals` `\reals` | $`\thetasym` `\thetasym` | -+------------------------+------------------------+------------------------+--------------------+--------------------------+ -| $`\cnums` `\cnums` | $`\N` `\N` | $`\Reals` `\Reals` | | $`\Z` `\Z` | -+------------------------+------------------------+------------------------+--------------------+--------------------------+ - -Direct Input: ∂ ∇ ℑ Ⅎ ℵ ℶ ℷ ℸ ⅁ ℏ ð À Á Â Ã Ä Å Æ Ç È É Ê Ë -Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ù Ú Û Ü Ý Þ ß à á â ã ä å ç è é ê ë ì í î ï ð ñ ò ó ô ö ù ú û ü ý þ ÿ - -#### Unicode Mathematical Alphanumeric Symbols - -| Item | Range | Item | Range | -|--------------|-----------------------|-------------------|-------------------------| -| Bold | $`\text{𝐀-𝐙 𝐚-𝐳 𝟎-𝟗}` | Double-struck | $`\text{𝔸-ℤ 𝕒-𝕫 𝟘-𝟡}` | -| Italic | $`\text{𝐴-𝑍 𝑎-𝑧}` | Sans serif | $`\text{𝖠-𝖹 𝖺-𝗓 𝟢-𝟫}` | -| Bold Italic | $`\text{𝑨-𝒁 𝒂-𝒛}` | Sans serif bold | $`\text{𝗔-𝗭 𝗮-𝘇 𝟬-𝟵}` | -| Fractur | $`\text{𝔄-ℨ}\text{𝔞-𝔷}`| Sans serif italic | $`\text{𝘈-𝘡 𝘢-𝘻}` | -| Monospace | $`\text{𝙰-𝚉 𝚊-𝚣 𝟶-𝟿}` | Sans serif bold italic | $`\text{𝘼-𝙕 𝙖-𝙯}` | - -Any character can be written with the `\char` function and the Unicode code in hex. For example `\char"263a` will render as $`\char"263a`. - -
- -
For chancery or roundhand characters, it’s probably best to use \mathcal and \mathscr instead of Unicode input.
Why? -

Unicode has historically accepted either chancery or roundhand glyphs in the range U+1D49C—U+1D4B5. That's confusing, -because Cambria Math has chancery in those code points and some other math fonts have roundhand in the same code points. -Unicode 14 has recently added code points that resolve the ambiguity. Both chancery and roundhand still occupy the same range, but each unambigous chancery character has a \ufe00 appended to the code point and each unambigous roundhand character has a \ufe01 appended to the code point.

-

Published fonts have not yet caught up to the new code point assignments. If you want your documents to not break in the future, it’s probably best to avoid Unicode input and stick with \mathcal and \mathscr.

-
-
- -## Layout - -### Line Breaks - -Hard line breaks are `\\` and `\newline`. - -If the rendering options do not include annotations, Hurmet will write MathML -with soft line breaks after relations and binary operators. These soft line -breaks will appear only in Firefox. Chromium and Safari do not support soft -line breaks. - -### Vertical Layout - -+:---------------+:-------------------------------------+:---------------------------------------------------+ -| $`x_n` `x_n` | $`\stackrel{!}{=}` `\stackrel{!}{=}` | $`a\raisebox{0.25em}{b}c` `a\raisebox{0.25em}{b}c` | -+----------------+--------------------------------------+----------------------------------------------------+ -| $`e^x` `e^x` | $`\overset{!}{=}` `\overset{!}{=}` | $`M\raise3pt{M^2}M` `M\raise3pt{M^2}M` | -+----------------+--------------------------------------+----------------------------------------------------+ -| $`_u^o` `_u^o` | $`\underset{!}{=}` `\underset{!}{=}` | $`M\lower3pt{M^2}M` `M\lower3pt{M^2}M` | -+----------------+--------------------------------------+----------------------------------------------------+ -| | $`a \atop b` `a \atop b` | | -+----------------+--------------------------------------+----------------------------------------------------+ - -+:-------------------------------+:---------------------------------+ -| $$ | `\sum_{\substack{0` | ⁴∕₁₈ em space | `\mskip{distance}` | space, width = _distance_ | -| `\:` | ⁴∕₁₈ em space | `\hskip{distance}` | space, width = _distance_ | -| `\medspace` | ⁴∕₁₈ em space | `\hspace{distance}` | space, width = _distance_ | -| `\;` | ⁵∕₁₈ em space | `\hspace*{distance}` | space, width = _distance_ | -| `\thickspace` | ⁵∕₁₈ em space | `\phantom{content}` | space the width and height of content | -| `\enspace` | ½ em space | `\hphantom{content}` | space the width of content | -| `\quad` | 1 em space | `\vphantom{content}` | a strut the height of content | -| `\qquad` | 2 em space | `\!` | – ³∕₁₈ em space | -| `~` | non-breaking space | `\negthinspace` | – ³∕₁₈ em space | -| `\` | space | `\negmedspace` | – ⁴∕₁₈ em space | -| `\nobreakspace` | non-breaking space | `\negthickspace` | – ⁵∕₁₈ em space | -| `\space` | space | | | - -**Notes:** - -`distance` will accept any of the [Temml units](#units). - -`\kern`, `\mkern`, `\mskip`, and `\hskip` accept unbraced distances, as in: `\kern1em`. - -`\mkern` and `\mskip` will not work in text mode and both will write a console warning for any unit except `mu`. - -`\rule{}{distance}` is valuable as a vertical strut. - -## Logic and Set Theory - -+:-----------------------+:---------------------+:----------------------------+:-----------------------------+ -| $`\forall` `\forall` | $`\complement` | $`\therefore` | $`\emptyset` `\emptyset` | -| | `\complement` | `\therefore` | | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\exists` `\exists` | $`\subset` `\subset` | $`\because` `\because` | $`\varnothing` `\varnothing` | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\nexists` `\nexists` | $`\supset` `\supset` | $`\mapsto` `\mapsto` | $`\implies` `\implies` | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\in` `\in` | $`\mid` `\mid` | $`\to` `\to` | $`\impliedby` `\impliedby` | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\ni` `\ni` | $`\land` `\land` | $`\gets` `\gets` | $`\iff` `\iff` | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\notin` `\notin` | $`\lor` `\lor` | $`\leftrightarrow` | $`\lightning` `\lightning` | -| | | `\leftrightarrow` | | -+------------------------+----------------------+-----------------------------+------------------------------+ -| $`\notni` `\notni` | $`\neg` `\neg` | $`\Set{ x | x<\frac 1 2 }`\ | $`\set{x|x<5 }`\ | -| | or `\lnot` | `\Set{ x | x<\frac 1 2 }` | `\set{x|x<5}` | -+------------------------+----------------------+ | | -| $`\strictif` | $`\strictfi` | | | -| `\strictif` | `\strictfi` | | | -+------------------------+----------------------+-----------------------------+------------------------------+ - -Linear Logic (from the `cmll` package): - -+-----------+----------------------+------------------------+----------------------+------------------------+ -| Operators | $` \oc ` `\oc` | $` \wn ` `\wn` | $` \with ` `\with` | $` \parr ` `\parr` | -* +----------------------+------------------------+----------------------+------------------------+ -| | $` \shpos ` `\shpos` | $` \shneg ` `\shneg` | $` \shift ` `\shift` | $` \invamp ` `\invamp` | -+-----------+----------------------+------------------------+----------------------+------------------------+ -| Relations | $` \coh ` `\coh` | $` \scoh ` `\scoh` | $` \Perp ` `\Perp` | $` \multimapboth ` | -| | | | | `\multimapboth` | -* +----------------------+------------------------+----------------------+------------------------+ -| | $` \incoh ` `\incoh` | $` \sincoh ` `\sincoh` | | $` \multimapinv ` | -| | | | | `\multimapinv` | -+-----------+----------------------+------------------------+----------------------+------------------------+ - -Equivalents in the _texvc_ extension - -+:-------------------+:-----------------+:-------------------+:---------------+ -| $`\exist` `\exist` | $`\isin` `\isin` | $`\empty` `\empty` | $`\sub` `\sub` | -+--------------------+------------------+--------------------+----------------+ - -Direct Input: ∀ ∴ ∁ ∵ ∃ ∣ ∈ ∉ ∋ ⊂ ⊃ ∧ ∨ ↦ → ← ↔ ∅ ⟹ ⟺ ¬ ↯ ⥼ ⥽\ -ℂ ℍ ℕ ℙ ℚ ℝ - -## Macros - -+:---------------------------------+:--------------------------------------------------------+ -| $`\def\foo#1#2{#1^2 #2^3} | `\def\macroname{definition to be expanded}` \ | -| \foo a b + \foo c d` | `\def\foo#1#2{#1^2 #2^3}` \ | -| | `\foo a b + \foo c d` | -+----------------------------------+---------------------------------------------------------+ -| | `\edef\macroname#1#2…{definition}` | -+----------------------------------+---------------------------------------------------------+ -| | `\let\foo=\bar` | -+----------------------------------+---------------------------------------------------------+ -| | `\futurelet\foo\bar x` | -+----------------------------------+---------------------------------------------------------+ -| $`\newcommand\foo[2]{#1^2 #2^3} | `\newcommand\macroname[numargs]{definition}` \ | -| \foo a b + \foo c d` | `\newcommand\foo[2]{#1^2 #2^3}` \ | -| | `\foo a b + \foo c d` | -+----------------------------------+---------------------------------------------------------+ -| | `\renewcommand\macroname[numargs]{definition}` | -+----------------------------------+---------------------------------------------------------+ -| | `\providecommand\macroname[numargs]{definition}` | -+----------------------------------+---------------------------------------------------------+ - -To create macros with document-wide scope, a [preamble](./administration.html#preamble) can be defined -as one of the Temml [rendering options](./administration.html#options) - -Macros accept up to nine arguments: #1, #2, etc. - -Available functions include: - -`\char` `\mathchoice` `\TextOrMath` `\@ifstar` `\@ifnextchar` `\@firstoftwo` `\@secondoftwo` `\relax` `\expandafter` `\noexpand` - -@ is a valid character for commands, as if `\makeatletter` were in effect. - -Temml macros do not escape their group, so `\gdef`, `\xdef`, and`\global` are not supported. -Temml has no `\par`, so `\long` is ignored. - -## Numbers - -Temml’s default mode will consolidate a string of numerals into a single MathML -`` element. This applies to any string that begins and ends with a digit -(0-9) and includes digits, commas, or dots. Example: `2,000.00`. - -In strict mode, Temml acts like LaTeX and treats each digit individually. This -is not as nice semantically, but it does maintain backwards compatibility for -LaTeX macros. Say that a macro is defined as: `\def\foo#1#2{#1^4 #2}`. Then -strict mode will expand `\foo 12 3` to: `1^4 2 3`. Default Temml will expand -the same macro to `{12}^4 3` because it treats the string `12` as a single -token. - -## Operators - -### Big Operators - -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\sum` `\sum` | $`\prod` `\prod` | $`\bigotimes` `\bigotimes` | $`\bigvee` `\bigvee` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\int` `\int` | $`\coprod` `\coprod` | $`\bigoplus` `\bigoplus` | $`\bigwedge` `\bigwedge` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\iint` `\iint` | $`\intop` `\intop` | $`\bigodot` `\bigodot` | $`\bigcap` `\bigcap` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\iiint` `\iiint` | $`\smallint` `\smallint` | $`\biguplus` `\biguplus` | $`\bigcup` `\bigcup` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\iiiint` `\iiiint` | $`\intcap` `\intcap` | $`\intcup` `\intcup` | $`\bigsqcup` `\bigsqcup` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\oint` `\oint` | $`\varointclockwise` | $`\intclockwise` | $`\bigsqcap` | -| | `\varointclockwise` | `\intclockwise` | `\bigsqcap` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\oiint` `\oiint` | $`\pointint` `\pointint` | $`\rppolint` `\rppolint` | $`\scpolint` `\scpolint` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\oiiint` `\oiiint` | $`\intlarhk` `\intlarhk` | $`\sqint` `\sqint` | $`\intx` `\intx` | -+----------------------+--------------------------+----------------------------+-------------------------------+ -| $`\intbar` `\intbar` | $`\intBar` `\intBar` | $`\fint` `\fint` | $`\sideset{_a^b}{_c^d}\sum` | -| | | | `\sideset{_a^b}{_c^d}\sum` | -+----------------------+--------------------------+----------------------------+-------------------------------+ - -Direct Input: ∫ ∬ ∭ ⨌ ∮ ∯ ∰ ⨖ ∲ ∏ ∐ ∑ ⋀ ⋁ ⋂ ⋃ ⨀ ⨁ ⨂ ⨄ ⨆ ⨅ - -### Binary Operators - -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` + ` `+` | $` \cdot ` `\cdot` | $` \gtrdot ` `\gtrdot` | $` x \pmod a ` `x \pmod | -| | | | a` | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` - ` `-` | $` \cdotp ` `\cdotp` | $` \intercal ` | $` x \pod a ` `x \pod a` | -| | | `\intercal` | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` / ` `/` | $`\centerdot` | $` \land ` `\land` | $` \rhd ` `\rhd` | -| | `\centerdot` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` * ` `*` | $` \circ ` `\circ` | $` \leftthreetimes ` | $` \rightthreetimes ` | -| | | `\leftthreetimes` | `\rightthreetimes` | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \amalg ` `\amalg` | $` \circledast ` | $` \ldotp ` `\ldotp` | $` \rtimes ` `\rtimes` | -| | `\circledast` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \And ` `\And` | $` \circledcirc ` | $` \lor ` `\lor` | $` \setminus ` | -| | `\circledcirc` | | `\setminus` | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \ast ` `\ast` | $` \circleddash ` | $` \lessdot ` `\lessdot` | $` \smallsetminus ` | -| | `\circleddash` | | `\smallsetminus` | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \barwedge ` | $` \Cup ` `\Cup` | $` \lhd ` `\lhd` | $` \sqcap ` `\sqcap` | -| `\barwedge` | | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \bigcirc ` `\bigcirc` | $` \cup ` `\cup` | $` \ltimes ` `\ltimes` | $` \sqcup ` `\sqcup` | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \bmod ` `\bmod` | $` \curlyvee ` | $` x \mod a ` `x\mod a` | $` \times ` `\times` | -| | `\curlyvee` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \boxdot ` `\boxdot` | $` \curlywedge ` | $` \mp ` `\mp` | $` \unlhd ` `\unlhd` | -| | `\curlywedge` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \boxminus ` | $` \div ` `\div` | $` \odot ` `\odot` | $` \unrhd ` `\unrhd` | -| `\boxminus` | | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \boxplus ` `\boxplus` | $` \divideontimes ` | $` \ominus ` `\ominus` | $` \uplus ` `\uplus` | -| | `\divideontimes` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \boxtimes ` | $` \dotplus ` `\dotplus` | $` \oplus ` `\oplus` | $` \vee ` `\vee` | -| `\boxtimes` | | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \bullet ` `\bullet` | $` \doublebarwedge ` | $` \otimes ` `\otimes` | $` \veebar ` `\veebar` | -| | `\doublebarwedge` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \Cap ` `\Cap` | $` \doublecap ` | $` \oslash ` `\oslash` | $` \wedge ` `\wedge` | -| | `\doublecap` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| $` \cap ` `\cap` | $` \doublecup ` | $` \parr ` ` \parr ` | $` \with ` ` \with ` | -| | `\doublecup` | | | -+--------------------------+--------------------------+--------------------------+--------------------------+ -| | | $` \pm ` `\pm` | $` \wr ` `\wr` | -+--------------------------+--------------------------+--------------------------+--------------------------+ - -The _texvc_ extension provides $`\plusmn` `\plusmn`. - -Direct Input: + - / ∖ * ⋅ ∘ ± × ÷ ∓ ∔ ∧ ∨ ∩ ∪ ≀ ⊎ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊝ ◯ - -### Fractions and Binomials - -+:----------------+:-----------------+:-------------------------------+ -| $`\frac{a}{b}` | $`\tfrac{a}{b}` | $`\genfrac ( ] {2pt}{1}a{a+1}` | -| `\frac{a}{b}` | `\tfrac{a}{b}` | `\genfrac ( ] {2pt}{1}a{a+1}` | -+-----------------+------------------+--------------------------------+ -| $`{a \over b}` | $`\dfrac{a}{b}` | $`{a \above{2pt} b+1}` | -| `{a \over b}` | `\dfrac{a}{b}` | `{a \above{2pt} b+1}` | -+-----------------+------------------+--------------------------------+ -| $`a/b` `a/b` | | $`\cfrac{a}{1 + \cfrac{1}{b}}` | -| | | `\cfrac{a}{1 + \cfrac{1}{b}}` | -+-----------------+------------------+--------------------------------+ - -+:---------------------------------+:---------------------------------+:-----------------------------+ -| $`\binom{n}{k}` `\binom{n}{k}` | $`\dbinom{n}{k}` `\dbinom{n}{k}` | $`{n\brace k}` `{n\brace k}` | -+----------------------------------+----------------------------------+------------------------------+ -| $`{n \choose k}` `{n \choose k}` | $`\tbinom{n}{k}` `\tbinom{n}{k}` | $`{n\brack k}` `{n\brack k}` | -+----------------------------------+----------------------------------+------------------------------+ - -### Math Operators - -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \operatorname{f} ` | $` \cosec ` `\cosec` | $` \dim ` `\dim` | $`\pdv*{f}{x,y}` | -| `\operatorname{f}` | | | `\pdv*{f}{x,y}` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arcsin ` `\arcsin` | $` \cosh ` `\cosh` | $` \exp ` `\exp` | $` \sec ` `\sec` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arccos ` `\arccos` | $` \cot ` `\cot` | $` \hom ` `\hom` | $` \sgn ` `\sgn` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arctan ` `\arctan` | $` \cotg ` `\cotg` | $` \ker ` `\ker` | $` \sin ` `\sin` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arctg ` `\arctg` | $` \coth ` `\coth` | $` \lg ` `\lg` | $` \sinh ` `\sinh` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arcctg ` `\arcctg` | $` \csc ` `\csc` | $` \ln ` `\ln` | $` \sh ` `\sh` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \arg ` `\arg` | $` \ctg ` `\ctg` | $` \log ` `\log` | $` \tan ` `\tan` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \ch ` `\ch` | $` \cth ` `\cth` | $`\odv{f}{x}` `\odv{f}{x}` | $` \tanh ` `\tanh` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \cos ` `\cos` | $` \nabla ` `\nabla` | $`\odv*{f}{x}` `\odv*{f}{x}` | $` \tg ` `\tg` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \partial ` `\partial` | $` \deg ` `\deg` | $`\pdv{f}{x,y}` `\pdv{f}{x,y}` | $` \th ` `\th` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \operatorname*{f} ` | $` \inf ` `\inf` | $` \max ` `\max` | $` \sup ` `\sup` | -| `\operatorname*{f}` or\ | | | | -| `\operatornamewithlimits` | | | | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \argmax ` `\argmax` | $` \injlim ` `\injlim` | $` \min ` `\min` | $` \varinjlim ` | -| | | | `\varinjlim` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \argmin ` `\argmin` | $` \lim ` `\lim` | $` \plim ` `\plim` | $` \varliminf ` | -| | | | `\varliminf` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \det ` `\det` | $` \liminf ` `\liminf` | $` \Pr ` `\Pr` | $` \varlimsup ` | -| | | | `\varlimsup` | -+---------------------------+------------------------+--------------------------------+--------------------+ -| $` \gcd ` `\gcd` | $` \limsup ` `\limsup` | $` \projlim ` `\projlim` | $` \varprojlim ` | -| | | | `\varprojlim` | -+---------------------------+------------------------+--------------------------------+--------------------+ - -Functions in the bottom five rows of this table can take `\limits`. - -### Enclosing Operators - -+:-------------------------------+:-----------------------------------------------------+ -| $`\sqrt{x}` `\sqrt{x}` | $`\longdiv{3x^2 + 2x + 5}` `\longdiv{3x^2 + 2x + 5}` | -+--------------------------------+------------------------------------------------------+ -| $`\sqrt[3]{x}` `\sqrt[3]{x}` | $`\phase{-78^\circ}` `\phase{-78^\circ}` | -+--------------------------------+------------------------------------------------------+ -| $`a_{\angl n}`   `a_{\angl n}` | $`a_\angln`   `a_\angln` | -+--------------------------------+------------------------------------------------------+ - -## Physics and Chemistry - -+:---------------------------+:-------------------------------------------------------------+ -| $`\bra{\phi}` `\bra{\phi}` | $`\prescript{a}{2}{\mathbf{C}}^{5+}_{2}` | -| | `\prescript{a}{2}{\mathbf{C}}^{5+}_{2}` | -+----------------------------+--------------------------------------------------------------+ -| $`\ket{\psi}` `\ket{\psi}` | $`\braket{\phi\vert\psi}` | -| | `\braket{\phi\vert\psi}` | -+----------------------------+--------------------------------------------------------------+ -| $`\Bra{\phi}` `\Bra{\phi}` | $`\Braket{ \phi | \frac{\partial^2}{\partial t^2} | \psi }`\ | -| | `\Braket{ \phi | \frac{\partial^2}{\partial t^2} | \psi }` | -+----------------------------+ + -| $`\Ket{\psi}` `\Ket{\psi}` | | -+----------------------------+--------------------------------------------------------------+ - -From the _mhchem_ extension: - -+:----------------------------------+:---------------------------------+ -| $`\ce{SO4^2- + Ba^2+ -> BaSO4 v}` | `\ce{SO4^2- + Ba^2+ -> BaSO4 v}` | -+-----------------------------------+----------------------------------+ -| $`\pu{75.3 J // mol K}` | `\pu{75.3 J // mol K}` | -+-----------------------------------+----------------------------------+ - -

There is much more mhchem information in the -mhchem docs.

- -
- -
Click to see the physics extension. - -+:--------------------------------+:----------------------------+:-------------------------+ -| $`\abs{x}` `\abs{x}` | $`\innerproduct{a}{b}` | $`\qif` `\qif` | -| | `\innerproduct{a}{b}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\absolutevalue{x}` | $`\ketbra{a}{b}` | $`\qin` `\qin` | -| `\absolutevalue{x}` | `\ketbra{a}{b}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\acomm{A}{B}` `\acomm{A}{B}` | $`\laplacian` | $`\qinteger` `\qinteger` | -| | `\laplacian` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\anticommutator{A}{B}` | $`\matrixel{n}{A}{m}` | $`\qlet` `\qlet` | -| `\anticommutator{A}{B}` | `\matrixel{n}{A}{m}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\Bqty{5 \text{mm}}` | $`\matrixelement{n}{A}{m}` | $`\qodd` `\qodd` | -| `\Bqty{5 \text{mm}}` | `\matrixelement{n}{A}{m}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\bqty{5 \text{mm}}` | $`\mel{n}{A}{m}` | $`\qor` `\qor` | -| `\bqty{5 \text{mm}}` | `\mel{n}{A}{m}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\comm{A}{B}` `\comm{A}{B}` | $`\norm{x}` `\norm{x}` | $`\qotherwise` | -| | | `\qotherwise` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\commutator{A}{B}` | $`\op{a}{b}` `\op{a}{b}` | $`\qq{text}` `\qq{text}` | -| `\commutator{A}{B}` | | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\cp` `\cp` | $`\order{x^2}` | $`\qqtext{text}` | -| | `\order{x^2}` | `\qqtext{text}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\cross` `\cross` | $`\outerproduct{a}{b}` | $`\qsince` `\qsince` | -| | `\outerproduct{a}{b}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\crossproduct` | $`\partialderivative{x}{y}` | $`\qthen` `\qthen` | -| `\crossproduct` | `\partialderivative{x}{y}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\curl` `\curl` | $`\pb{x}{y}` `\pb{x}{y}` | $`\qty{5 \text{m}}` | -| | | `\qty{5 \text{m}}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\dd` `\dd` | | $`\quantity{5 \text{m}}` | -| | | `\quantity{5 \text{m}}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\derivative{x}{y}` | $`\poissonbracket{A}{B}` | $`\qunless` `\qunless` | -| `\derivative{x}{y}` | `\poissonbracket{A}{B}` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\differential` | $`\pqty{5}` `\pqty{5}` | $`\qusing` `\qusing` | -| `\differential` | | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\divergence` `\divergence` | $`\principalvalue` | $`\rank M` `\rank M` | -| | `\principalvalue` | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\dotproduct` `\dotproduct` | $`\pv` `\pv` | $`\Res[f(z)]` | -| | | `\Res\[f(z)\]` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\dv{x}{y}` `\dv{x}{y}` | $`\PV(x)` `\PV(x)` | $`\Tr\rho` `\Tr\rho` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\dyad{a}{b}` `\dyad{a}{b}` | $`\qall` `\qall` | $`\tr\rho` `\tr\rho` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\erf(x)` `\erf(x)` | $`\qand` `\qand` | $`\va{a}` `\va{a}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\ev{x}` `\ev{x}` | $`\qas` `\qas` | $`\var` `\var` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\eval{\tfrac 1 2 x}_0^n` | $`\qassume` `\qassume` | $`\variation` | -| `\eval{\tfrac 1 2 x}_0^n` | | `\variation` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\evaluated{\tfrac 1 2 x}_0^n` | $`\qc` `\qc` | $`\vb{a}` `\vb{a}` | -| `\evaluated{\tfrac 1 2 x}_0^n` | | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\expectationvalue{x}` | $`\qcc` `\qcc` | $`\vdot` `\vdot` | -| `\expectationvalue{x}` | | | -+---------------------------------+-----------------------------+--------------------------+ -| $`\expval{x}` `\expval{x}` | $`\qcomma` `\qcomma` | $`\vectorarrow{a}` | -| | | `\vectorarrow{a}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\fdv{x}{y}` `\fdv{x}{y}` | $`\qelse` `\qelse` | $`\vectorbold{a}` | -| | | `\vectorbold{a}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\functionalderivative{x}{y}` | $`\qeven` `\qeven` | $`\vectorunit{a}` | -| `\functionalderivative{x}{y}` | | `\vectorunit{a}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\grad` `\grad` | $`\qfor` `\qfor` | $`\vqty{x}` `\vqty{x}` | -+---------------------------------+-----------------------------+--------------------------+ -| $`\gradient` `\gradient` | $`\qgiven` `\qgiven` | $`\vu{a}` `\vu{a}` | -+---------------------------------+-----------------------------+--------------------------+ - -
- -## Relations - -$`\stackrel{!}{=}\vphantom{\frac a b}` `\stackrel{!}{=}` - -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` = ` `=` | $` \eqcirc ` `\eqcirc` | $` \lesseqqgtr ` | $` \smallsmile ` | -| | | `\lesseqqgtr` | `\smallsmile` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` < ` `<` | $` \eqcolon ` `\eqcolon` | $` \lessgtr ` `\lessgtr` | $` \smile ` `\smile` | -| | or\ | | | -| |   `\minuscolon` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` > ` `>` | $` \Eqcolon ` `\Eqcolon` | $` \lesssim ` `\lesssim` | $` \sqsubset ` | -| | or\ | | `\sqsubset` | -| |    `\minuscoloncolon` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` : ` `:` | $` \eqqcolon ` | $` \ll ` `\ll` | $` \sqsubseteq ` | -| | `\eqqcolon` | | `\sqsubseteq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` := ` `:=` | $` \Eqqcolon ` | $` \lll ` `\lll` | $` \sqsupset ` | -| | `\Eqqcolon` | | `\sqsupset` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \approx ` `\approx` | $` \eqdef ` `\eqdef` | $` \llless ` `\llless` | $` \sqsupseteq ` | -| | | | `\sqsupseteq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \approxeq ` | $` \eqsim ` `\eqsim` | $` \lt ` `\lt` | $` \stareq ` `\stareq` | -| `\approxeq` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \arceq ` `\arceq` | $` \eqslantgtr ` | $` \measeq ` `\measeq` | $` \Subset ` `\Subset` | -| | `\eqslantgtr` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \asymp ` `\asymp` | $` \eqslantless ` | $` \mid ` `\mid` | $` \subset ` `\subset` | -| | `\eqslantless` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \backcong ` | $` \equiv ` `\equiv` | $` \models ` `\models` | $` \subseteq ` | -| `\backcong` | | | `\subseteq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \backepsilon ` | $` \fallingdotseq ` | $` \multimap ` | $` \subseteqq ` | -| `\backepsilon` | `\fallingdotseq` | `\multimap` | `\subseteqq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \backsim ` `\backsim` | $` \frown ` `\frown` | $`\multimapboth ` `\multimapboth` | $` \succ ` `\succ` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \backsimeq ` | $` \ge ` `\ge` | $`\multimapinv ` `\multimapinv` | $` \succapprox ` | -| `\backsimeq` | | | `\succapprox` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \between ` `\between` | $` \geq ` `\geq` | $` \origof ` `\origof` | $` \succcurlyeq ` | -| | | | `\succcurlyeq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \bowtie ` `\bowtie` | $` \geqq ` `\geqq` | $` \owns ` `\owns` | $` \succeq ` `\succeq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \bumpeq ` `\bumpeq` | $` \geqslant ` | $` \parallel ` | $` \succsim ` `\succsim` | -| | `\geqslant` | `\parallel` | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Bumpeq ` `\Bumpeq` | $` \gg ` `\gg` | $` \perp ` `\perp` | $` \Supset ` `\Supset` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \circeq ` `\circeq` | $` \ggg ` `\ggg` | $` \Perp ` `\Perp` | $` \supset ` `\supset` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \coh ` `\coh` | $` \gggtr ` `\gggtr` | $` \pitchfork ` | $` \supseteq ` | -| | | `\pitchfork` | `\supseteq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \colonapprox ` | $` \gt ` `\gt` | $` \prec ` `\prec` | $` \supseteqq ` | -| `\colonapprox` | | | `\supseteqq` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Colonapprox ` | $` \gtrapprox ` | $` \precapprox ` | $` \thickapprox ` | -| `\Colonapprox` or\ | `\gtrapprox` | `\precapprox` | `\thickapprox` | -|    `\coloncolonapprox` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \coloneq ` `\coloneq` | $` \gtreqless ` | $` \preccurlyeq ` | $` \thicksim ` | -| or\ | `\gtreqless` | `\preccurlyeq` | `\thicksim` | -|    `\colonminus` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Coloneq ` `\Coloneq` | $` \gtreqqless ` | $` \preceq ` `\preceq` | $` \trianglelefteq ` | -| or\ | `\gtreqqless` | | `\trianglelefteq` | -|    `\coloncolonminus` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \coloneqq ` | $` \gtrless ` `\gtrless` | $` \precsim ` `\precsim` | $` \triangleq ` | -| `\coloneqq` or\ | | | `\triangleq` | -|    `\colonequals` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Coloneqq ` | $` \gtrsim ` `\gtrsim` | $` \propto ` `\propto` | $` \trianglerighteq ` | -| `\Coloneqq` or \ | | | `\trianglerighteq` | -|     `\coloncolonequals` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \colonsim ` | $` \imageof ` `\imageof` | $` \questeq ` `\questeq` | $` \varpropto ` | -| `\colonsim` | | | `\varpropto` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Colonsim ` | $` \in ` `\in` or `\isin` | :`\ratio` or\ | $` \vartriangle ` | -| `\Colonsim` or\ | |   `\vcentcolon` | `\vartriangle` | -|    `\coloncolonsim` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \cong ` `\cong` | $` \incoh ` `\incoh` | $` \risingdotseq ` | $` \vartriangleleft ` | -| | | `\risingdotseq` | `\vartriangleleft` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \curlyeqprec ` | $` \Join ` `\Join` | $` \scoh ` `\scoh` | $` \vartriangleright ` | -| `\curlyeqprec` | | | `\vartriangleright` | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \curlyeqsucc ` | $` \le ` `\le` | $` \shortmid ` | $` \vdash ` `\vdash` | -| `\curlyeqsucc` | | `\shortmid` | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \dashv ` `\dashv` | $` \leq ` `\leq` | $` \shortparallel ` | $` \vDash ` `\vDash` | -| | | `\shortparallel` | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \dblcolon ` | $` \leqq ` `\leqq` | $` \sim ` `\sim` | $` \Vdash ` `\Vdash` | -| `\dblcolon` or\ | | | | -|    `\coloncolon` | | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \doteq ` `\doteq` | $` \leqslant ` | $` \simeq ` `\simeq` | $` \Vvdash ` `\Vvdash` | -| | `\leqslant` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \Doteq ` `\Doteq` | $` \lessapprox ` | $` \sincoh ` `\sincoh` | $` \veeeq ` `\veeeq` | -| | `\lessapprox` | | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ -| $` \doteqdot ` | $` \lesseqgtr ` | $` \smallfrown ` | $` \wedgeq ` `\wedgeq` | -| `\doteqdot` | `\lesseqgtr` | `\smallfrown` | | -+---------------------------+---------------------------+-----------------------------------+--------------------------+ - -The _texvc_ extension provides $`\sub` `\sub`, $`\sube` `\sube`, and $`\supe` `\supe`. - -Direct Input: = < > : ∈ ∋ ∝ ∼ ∽ ≂ ≃ ≅ ≈ ≊ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≖ -≗ ≜ ≡ ≤ ≥ ≦ ≧ ≫ ≬ ≳ ≷ ≺ ≻ ≼ ≽ ≾ ≿ ⊂ ⊃ ⊆ ⊇ ⊏ ⊐ ⊑ ⊒ ⊢ ⊣ ⊩ ⊪ ⊸ ⋈ ⋍ ⋐ ⋑ ⋔ ⋙ -⋛ ⋞ ⋟ ⌢ ⌣ ⩾ ⪆ ⪌ ⪕ ⪖ ⪯ ⪰ ⪷ ⪸ ⫅ ⫆ ≲ ⩽ ⪅ ≶ ⋚ ⪋ ⟂ ⊨ ≔ ≕ ⩴ ⊷ ⊶ - -### Negated Relations - -$`\not =` `\not =` - -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \gnapprox ` | $` \ngeqslant ` | $` \nsubset ` | $` \nVdash ` `\nVdash` | -| `\gnapprox` | `\ngeqslant` | ` \nsubset ` | | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \gneq ` `\gneq` | $` \ngtr ` `\ngtr` | $` \nsubseteq ` | $` \precnapprox ` | -| | | `\nsubseteq` | `\precnapprox` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \gneqq ` `\gneqq` | $` \nleq ` `\nleq` | $` \nsubseteqq ` | $` \precneqq ` | -| | | `\nsubseteqq` | `\precneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \gnsim ` `\gnsim` | $` \nleqq ` `\nleqq` | $` \nsucc ` `\nsucc` | $` \precnsim ` | -| | | | `\precnsim` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \gvertneqq ` | $` \nleqslant ` | $` \nsucceq ` `\nsucceq` | $` \subsetneq ` | -| `\gvertneqq` | `\nleqslant` | | `\subsetneq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \lnapprox ` | $` \nless ` `\nless` | $` \nsupset ` | $` \subsetneqq ` | -| `\lnapprox` | | ` \nsupset ` | `\subsetneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \lneq ` `\lneq` | $` \nmid ` `\nmid` | $` \nsupseteq ` | $` \succnapprox ` | -| | | `\nsupseteq` | `\succnapprox` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \lneqq ` `\lneqq` | $` \notin ` `\notin` | $` \nsupseteqq ` | $` \succneqq ` | -| | | `\nsupseteqq` | `\succneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \lnsim ` `\lnsim` | $` \notni ` `\notni` | $` \ntriangleleft ` | $` \succnsim ` | -| | | `\ntriangleleft` | `\succnsim` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \lvertneqq ` | $` \nparallel ` | $` \ntrianglelefteq ` | $` \supsetneq ` | -| `\lvertneqq` | `\nparallel` | `\ntrianglelefteq` | `\supsetneq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \ncong ` `\ncong` | $` \nprec ` `\nprec` | $` \ntriangleright ` | $` \supsetneqq ` | -| | | `\ntriangleright` | `\supsetneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \ne ` `\ne` | $` \npreceq ` `\npreceq` | $` \ntrianglerighteq ` | $` \varsubsetneq ` | -| | | `\ntrianglerighteq` | `\varsubsetneq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \neq ` `\neq` | $` \nshortmid ` | $` \nvdash ` `\nvdash` | $` \varsubsetneqq ` | -| | `\nshortmid` | | `\varsubsetneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \ngeq ` `\ngeq` | $` \nshortparallel ` | $` \nvDash ` `\nvDash` | $` \varsupsetneq ` | -| | `\nshortparallel` | | `\varsupsetneq` | -+----------------------+---------------------------+--------------------------+------------------------+ -| $` \ngeqq ` `\ngeqq` | $` \nsim ` `\nsim` | $` \nVDash ` `\nVDash` | $` \varsupsetneqq ` | -| | | | `\varsupsetneqq` | -+----------------------+---------------------------+--------------------------+------------------------+ - -Direct Input: ∉ ∌ ∤ ∦ ≁ ≆ ≠ ≨ ≩ ≮ ≯ ≰ ≱ ⊀ ⊁ ⊄ ⊅ ⊈ ⊉ ⊊ ⊋ ⊬ ⊭ -⊮ ⊯ ⋠ ⋡ ⋦ ⋧ ⋨ ⋩ ⋬ ⋭ ⪇ ⪈ ⪉ ⪊ ⪵ ⪶ ⪹ ⪺ ⫋ ⫌ - -### Arrows - -+------------------------+-------------------------+------------------------+ -| $`\circlearrowleft` | $`\Leftrightarrow` | $`\rightarrow` | -| `\circlearrowleft` | `\Leftrightarrow` | `\rightarrow` | -+------------------------+-------------------------+------------------------+ -| $`\circlearrowright` | $`\leftrightarrows` | $`\Rightarrow` | -| `\circlearrowright` | `\leftrightarrows` | `\Rightarrow` | -+------------------------+-------------------------+------------------------+ -| $`\curvearrowleft` | $`\leftrightharpoons` | $`\rightarrowtail` | -| `\curvearrowleft` | `\leftrightharpoons` | `\rightarrowtail` | -+------------------------+-------------------------+------------------------+ -| $`\curvearrowright` | $`\leftrightsquigarrow` | $`\rightharpoondown` | -| `\curvearrowright` | `\leftrightsquigarrow` | `\rightharpoondown` | -+------------------------+-------------------------+------------------------+ -| $`\dashleftarrow` | $`\Lleftarrow` | $`\rightharpoonup` | -| `\dashleftarrow` | `\Lleftarrow` | `\rightharpoonup` | -+------------------------+-------------------------+------------------------+ -| $`\dashrightarrow` | $`\longleftarrow` | $`\rightleftarrows` | -| `\dashrightarrow` | `\longleftarrow` | `\rightleftarrows` | -+------------------------+-------------------------+------------------------+ -| $`\downarrow` | $`\Longleftarrow` | $`\rightleftharpoons` | -| `\downarrow` | `\Longleftarrow` | `\rightleftharpoons` | -+------------------------+-------------------------+------------------------+ -| $`\Downarrow` | $`\longleftrightarrow` | $`\rightrightarrows` | -| `\Downarrow` | `\longleftrightarrow` | `\rightrightarrows` | -+------------------------+-------------------------+------------------------+ -| $`\downdownarrows` | $`\Longleftrightarrow` | $`\rightsquigarrow` | -| `\downdownarrows` | `\Longleftrightarrow` | `\rightsquigarrow` | -+------------------------+-------------------------+------------------------+ -| $`\downharpoonleft` | $`\longmapsto` | $`\Rrightarrow` | -| `\downharpoonleft` | `\longmapsto` | `\Rrightarrow` | -+------------------------+-------------------------+------------------------+ -| $`\downharpoonright` | $`\longrightarrow` | $`\Rsh` `\Rsh` | -| `\downharpoonright` | `\longrightarrow` | | -+------------------------+-------------------------+------------------------+ -| $`\gets` `\gets` | $`\Longrightarrow` | $`\searrow` `\searrow` | -| | `\Longrightarrow` | | -+------------------------+-------------------------+------------------------+ -| $`\hookleftarrow` | $`\looparrowleft` | $`\swarrow` `\swarrow` | -| `\hookleftarrow` | `\looparrowleft` | | -+------------------------+-------------------------+------------------------+ -| $`\hookrightarrow` | $`\looparrowright` | $`\to` `\to` | -| `\hookrightarrow` | `\looparrowright` | | -+------------------------+-------------------------+------------------------+ -| $`\iff` `\iff` | $`\Lsh` `\Lsh` | $`\twoheadleftarrow` | -| | | `\twoheadleftarrow` | -+------------------------+-------------------------+------------------------+ -| $`\impliedby` | $`\mapsto` `\mapsto` | $`\twoheadrightarrow` | -| `\impliedby` | | `\twoheadrightarrow` | -+------------------------+-------------------------+------------------------+ -| $`\implies` `\implies` | $`\nearrow` `\nearrow` | $`\uparrow` `\uparrow` | -+------------------------+-------------------------+------------------------+ -| $`\leadsto` `\leadsto` | $`\nleftarrow` | $`\Uparrow` `\Uparrow` | -| | `\nleftarrow` | | -+------------------------+-------------------------+------------------------+ -| $`\leftarrow` | $`\nLeftarrow` | $`\updownarrow` | -| `\leftarrow` | `\nLeftarrow` | `\updownarrow` | -+------------------------+-------------------------+------------------------+ -| $`\Leftarrow` | $`\nleftrightarrow` | $`\Updownarrow` | -| `\Leftarrow` | `\nleftrightarrow` | `\Updownarrow` | -+------------------------+-------------------------+------------------------+ -| $`\leftarrowtail` | $`\nLeftrightarrow` | $`\upharpoonleft` | -| `\leftarrowtail` | `\nLeftrightarrow` | `\upharpoonleft` | -+------------------------+-------------------------+------------------------+ -| $`\leftharpoondown` | $`\nrightarrow` | $`\upharpoonright` | -| `\leftharpoondown` | `\nrightarrow` | `\upharpoonright` | -+------------------------+-------------------------+------------------------+ -| $`\leftharpoonup` | $`\nRightarrow` | $`\upuparrows` | -| `\leftharpoonup` | `\nRightarrow` | `\upuparrows` | -+------------------------+-------------------------+------------------------+ -| $`\leftleftarrows` | $`\nwarrow` `\nwarrow` | | -| `\leftleftarrows` | | | -+------------------------+-------------------------+------------------------+ -| $`\leftrightarrow` | $`\restriction` | | -| `\leftrightarrow` | `\restriction` | | -+------------------------+-------------------------+------------------------+ - -Arrows in the _texvc_ extension - -+:-----------------+:-----------------+:-----------------+:-------------------+:-----------------+:-----------------+ -| $`\Darr` `\Darr` | $`\Harr` `\Harr` | $`\Larr` `\Larr` | $`\Lrarr` `\Lrarr` | $`\Rarr` `\Rarr` | $`\Uarr` `\Uarr` | -+------------------+------------------+------------------+--------------------+------------------+------------------+ -| $`\dArr` `\dArr` | $`\hArr` `\hArr` | $`\lArr` `\lArr` | $`\lrArr` `\lrArr` | $`\rArr` `\rArr` | $`\uArr` `\uArr` | -+------------------+------------------+------------------+--------------------+------------------+------------------+ -| $`\darr` `\darr` | $`\harr` `\harr` | $`\larr` `\larr` | $`\lrarr` `\lrarr` | $`\rarr` `\rarr` | $`\uarr` `\uarr` | -+------------------+------------------+------------------+--------------------+------------------+------------------+ - -Direct Input: ← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↚ ↛ ↞ ↠ ↢ ↣ ↦ ↩ ↪ ↫ ↬ ↭ ↮ ↰ ↱↶ ↷ ↺ ↻ ↼ ↽ ↾ ↾ ↿ ⇀ ⇁ ⇂ ⇃ ⇄ ⇆ ⇇ ⇈ ⇉ ⇊ ⇋ ⇌⇍ ⇎ ⇏ ⇐ ⇑ ⇒ ⇓ ⇔ ⇕ ⇚ ⇛ ⇝ ⇠ ⇢ ⟵ ⟶ ⟷ ⟸ ⟹ ⟺ ⟼ ↽ - -### Extensible Arrows - -+:-------------------------------------------------------+:---------------------------------------------------------+ -| $`\xleftarrow{abc}` `\xleftarrow{abc}` | $`\xrightarrow[under]{over}` `\xrightarrow[under]{over}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xLeftarrow{abc}` `\xLeftarrow{abc}` | $`\xRightarrow{abc}` `\xRightarrow{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xleftrightarrow{abc}` `\xleftrightarrow{abc}` | $`\xLeftrightarrow{abc}` `\xLeftrightarrow{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xhookleftarrow{abc}` `\xhookleftarrow{abc}` | $`\xhookrightarrow{abc}` `\xhookrightarrow{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xtwoheadleftarrow{abc}` `\xtwoheadleftarrow{abc}` | $`\xtwoheadrightarrow{abc}` `\xtwoheadrightarrow{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xleftharpoonup{abc}` `\xleftharpoonup{abc}` | $`\xrightharpoonup{abc}` `\xrightharpoonup{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xleftharpoondown{abc}` `\xleftharpoondown{abc}` | $`\xrightharpoondown{abc}` `\xrightharpoondown{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xleftrightharpoons{abc}` `\xleftrightharpoons{abc}` | $`\xrightleftharpoons{abc}` `\xrightleftharpoons{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xtofrom{abc}` `\xtofrom{abc}` | $`\xmapsto{abc}` `\xmapsto{abc}` | -+--------------------------------------------------------+----------------------------------------------------------+ -| $`\xlongequal{abc}` `\xlongequal{abc}` | | -+--------------------------------------------------------+----------------------------------------------------------+ - -All extensible arrows can take an optional argument in the same manner as `\xrightarrow[under]{over}`. - -## Style, Size, and Font - -#### Class Assignment - -Override the usual spacing and semantic meaning of a character or fragment. - -+-----------------------------------------------+-----------------------------------------------+ -| $`a = b`  `a = b` \ | $`a | b\;\,`  `a | b` \ | -| $`a \mathord = b\;\,`  `a \mathord{=} b` \ | $`a \mathpunct | b\;`  `a \mathpunct{|} b` \ | -| $`a \mathopen = b\;\,`  `a \mathopen{=} b` \ | $`a \mathop | b\;`  `a \mathop{|} b` \ | -| $`a \mathclose = b\;\,`  `a \mathclose{=} b` | $`a \mathbin | b\,`  `a \mathbin{|} b` \ | -| | $`a \mathrel | b`  `a \mathrel{|} b` | -+-----------------------------------------------+-----------------------------------------------+ - -See also [\operatorname](#math-operators). - -#### Font - -+:-------------------------------+:---------------------------------+:---------------------------------+ -| $`\mathrm{Ab0}` `\mathrm{Ab0}` | $`\mathbf{Ab0θ}` `\mathbf{Ab0θ}` | $`\mathit{Ab0θ}` `\mathit{Ab0θ}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\mathnormal{Ab0}` | $`\textbf{Ab0θ}` `\textbf{Ab0θ}` | $`\textit{Ab0θ}` `\textit{Ab0θ}` | -| `\mathnormal{Ab0}` | | | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\textrm{Ab0θ}` | $`{\bf Ab0θ}` `{\bf Ab0θ}` | $`{\it Ab0θ}` `{\it Ab0θ}` | -| `\textrm{Ab0θ}` | | | -+--------------------------------+----------------------------------+----------------------------------+ -| $`{\rm Ab0}` `{\rm Ab0}` | $`\bold{Ab0θ}` `\bold{Ab0θ}` | $`\textup{Ab0θ}` `\textup{Ab0θ}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\textnormal{Ab0θ}` | $`\boldsymbol{Ab0θ}` | $`\Bbb{Ab0}` `\Bbb{Ab0}` | -| `\textnormal{Ab0θ}` | `\boldsymbol{Ab0θ}` | | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\text{Ab0θ}` `\text{Ab0θ}` | $`\bm{Ab0θ}` `\bm{Ab0θ}` | $`\mathbb{Ab0}` `\mathbb{Ab0}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\mathsf{Ab0}` `\mathsf{Ab0}` | $`\textmd{Ab0θ}` `\textmd{Ab0θ}` | $`\frak{Ab}` `\frak{Ab}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\textsf{Ab0}` `\textsf{Ab0}` | $`\mathtt{Ab0}` `\mathtt{Ab0}` | $`\mathfrak{Ab}` `\mathfrak{Ab}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`{\sf Ab0}` `{\sf Ab0}` | $`\texttt{Ab0}` `\texttt{Ab0}` | $`\mathcal{AB}` `\mathcal{AB}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\textsc{hey}` `\textsc{hey}` | $`{\tt Ab0}` `{\tt Ab0 }` | $`{\cal AB}` `{\cal AB}` | -+--------------------------------+----------------------------------+----------------------------------+ -| $`\oldstylenums{123}` | | $`\mathscr{AB}` `\mathscr{AB}` | -| `\oldstylenums{123}` | | | -+--------------------------------+----------------------------------+----------------------------------+ - -The `\textXX` versions can stack font family, font weight, and font shape. So `\textsf{\textbf{H}}` will produce $`\textsf{\textbf{H}}`. The other versions do not stack, e.g., `\mathsf{\mathbf{H}}` will produce $`\mathsf{\mathbf{H}}`. - -In cases where math fonts do not have a bold glyph, `\pmb` can simulate one. For example, `\pmb{\vartheta}` renders as : $`\pmb{\vartheta}` - -#### Font Size - -+:-------------------------+:---------------------------------------+ -| $`\Huge AB` `\Huge AB` | $`\normalsize AB` `\normalsize AB` | -+--------------------------+----------------------------------------+ -| $`\huge AB` `\huge AB` | $`\small AB` `\small AB` | -+--------------------------+----------------------------------------+ -| $`\LARGE AB` `\LARGE AB` | $`\footnotesize AB` `\footnotesize AB` | -+--------------------------+----------------------------------------+ -| $`\Large AB` `\Large AB` | $`\scriptsize AB` `\scriptsize AB` | -+--------------------------+----------------------------------------+ -| $`\large AB` `\large AB` | $`\Tiny AB` `\Tiny AB` | -+--------------------------+----------------------------------------+ -| | $`\tiny AB` `\tiny AB` | -+--------------------------+----------------------------------------+ - -#### Style - -+:-----------------------------+:-----------------------------------------------------------------+ -| $`\displaystyle\sum_{i=1}^n` | `\displaystyle\sum_{i=1}^n` | -+------------------------------+------------------------------------------------------------------+ -| $`\textstyle\sum_{i=1}^n` | `\textstyle\sum_{i=1}^n` | -+------------------------------+------------------------------------------------------------------+ -| $`\scriptstyle x` | `\scriptstyle x`     (The size of a first sub/superscript) | -+------------------------------+------------------------------------------------------------------+ -| $`\scriptscriptstyle x` | `\scriptscriptstyle x` (The size of subsequent sub/superscripts) | -+------------------------------+------------------------------------------------------------------+ -| $`\lim\limits_y x` | `\lim\limits_y x` | -+------------------------------+------------------------------------------------------------------+ -| $`\lim\nolimits_y x` | `\lim\nolimits_y x` | -+------------------------------+------------------------------------------------------------------+ -| $`\verb!x^2!` | `\verb!x^2!` | -+------------------------------+------------------------------------------------------------------+ -| $`\text{ABcd }ABcd` | `\text{ABcd $ABcd$}` | -+------------------------------+------------------------------------------------------------------+ - -`\text{…}` shifts its contents into text mode, but you can shift back into math mode by nesting `$…$`. - -## Symbols and Punctuation - -+:-----------------------------+:------------------------+:-----------------------------------+ -| `% comment` | $`\dots` `\dots` | $`\TeX` `\TeX` | -+------------------------------+-------------------------+------------------------------------+ -| $`\%` `\%` | $`\cdots` `\cdots` | $`\LaTeX` `\LaTeX` | -+------------------------------+-------------------------+------------------------------------+ -| $`\#` `\#` | $`\ddots` `\ddots` | $`\Temml` `\Temml` | -+------------------------------+-------------------------+------------------------------------+ -| $`\&` `\&` | $`\ldots` `\ldots` | $`\rule[6pt]{2ex}{1ex}` | -| | | `\rule[6pt]{2ex}{1ex}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\_` `\_` | $`\vdots` `\vdots` | $`\surd` `\surd` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textunderscore}` | $`\iddots` `\iddots` | $`\infty` `\infty` | -| `\text{\textunderscore}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{--}` `\text{--}` | $`\dotsb` `\dotsb` | $`\checkmark` `\checkmark` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textendash}` | $`\dotsc` `\dotsc` | $`\ballotx` `\ballotx` | -| `\text{\textendash}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{---}` `\text{---}` | $`\dotsi` `\dotsi` | $`\dag` `\dagger` or `\dag` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textemdash}` | $`\dotsm` `\dotsm` | $`\text{\textdagger}` | -| `\text{\textemdash}` | | `\text{\textdagger}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textasciitilde}` | $`\dotso` `\dotso` | $`\ddagger` `\ddagger` or `\ddag` | -| `\text{\textasciitilde}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textasciicircum}` | $`\dotsi` `\idotsin` | $`\text{\textdaggerdbl}` | -| `\text{\textasciicircum}` | | `\text{\textdaggerdbl}` | -+------------------------------+-------------------------+------------------------------------+ -| $`` ` `` `` ` `` | $`\mathellipsis` | $`\angle` `\angle` | -| | `\mathellipsis` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textquoteleft}` | $`\text{\textellipsis}` | $`\measuredangle` `\measuredangle` | -| `text{\textquoteleft}` | `\text{\textellipsis}` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\lq` `\lq` | $`\Box` `\Box` | $`\sphericalangle` | -| | | `\sphericalangle` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textquoteright}` | $`\square` `\square` | $`\top` `\top` | -| `\text{\textquoteright}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\rq` `\rq` | $`\blacksquare` | $`\bot` `\bot` | -| | `\blacksquare` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textquotedblleft}` | $`\triangle` | $`\Bot` `\Bot` | -| `\text{\textquotedblleft}` | `\triangle` | | -+------------------------------+-------------------------+------------------------------------+ -| $`"` `"` | $`\triangledown` | $`\$` `\$` | -| | `\triangledown` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textquotedblright}` | $`\triangleleft` | $`\text{\textdollar}` | -| `\text{\textquotedblright}` | `\triangleleft` | `\text{\textdollar}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\colon` `\colon` | $`\triangleright` | $`\pounds` `\pounds` | -| | `\triangleright` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\backprime` `\backprime` | $`\bigtriangledown` | $`\mathsterling` `\mathsterling` | -| | `\bigtriangledown` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\prime` `\prime` | $`\bigtriangleup` | $`\text{\textsterling}` | -| | `\bigtriangleup` | `\text{\textsterling}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textless}` | $`\blacktriangle` | $`\yen` `\yen` | -| `\text{\textless}` | `\blacktriangle` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textgreater}` | $`\blacktriangledown` | $`\euro` `\euro` | -| `\text{\textgreater}` | `\blacktriangledown` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbar}` | $`\blacktriangleleft` | $`\text{\texteuro}` | -| `\text{\textbar}` | `\blacktriangleleft` | `\text{\texteuro}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbardbl}` | $`\blacktriangleright` | $`\degree` `\degree` | -| `\text{\textbardbl}` | `\blacktriangleright` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbraceleft}` | $`\diamond` `\diamond` | $`\text{\textdegree}` | -| `\text{\textbraceleft}` | | `\text{\textdegree}` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbraceright}` | $`\Diamond` `\Diamond` | $`\mho` `\mho` | -| `\text{\textbraceright}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbackslash}` | $`\lozenge` `\lozenge` | $`\diagdown` `\diagdown` | -| `\text{\textbackslash}` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textvisiblespace}` | $`\blacklozenge` | $`\diagup` `\diagup` | -| `\text{\textvisiblespace}` | `\blacklozenge` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\P}` `\text{\P}` | $`\star` `\star` | $`\flat` `\flat` | -| or `\P` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\S}` `\text{\S}` | $`\bigstar` `\bigstar` | $`\natural` `\natural` | -| or `\S` | | | -+------------------------------+-------------------------+------------------------------------+ -| $`\copyright` `\copyright` | $`\maltese` `\maltese` | $`\sharp` `\sharp` | -+------------------------------+-------------------------+------------------------------------+ -| $`\circledR` `\circledR` | $`\clubsuit` | $`\varclubsuit` `\varclubsuit` | -| | `\clubsuit` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\circledS` `\circledS` | $`\diamondsuit` | $`\vardiamondsuit` | -| | `\diamondsuit` | `\vardiamondsuit` | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textregistered}` | $`\heartsuit` | $`\varheartsuit` `\varheartsuit` | -| `\text{\textregistered}` | `\heartsuit` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\text{\textbullet}` | $`\spadesuit` | $`\varspadesuit` `\varspadesuit` | -| `\text{\textbullet}` | `\spadesuit` | | -+------------------------------+-------------------------+------------------------------------+ -| $`\smiley` `\smiley` | $`\female` `\female` | $`\male` `\male` | -+------------------------------+-------------------------+------------------------------------+ -| $`\standardstate` | $`\lightning` | $`\permil` `\permil` | -| `\standardstate` | `\lightning` | | -+------------------------------+-------------------------+------------------------------------+ - -Symbols in the _texvc_ extension - -+:-------------------------+:-------------------------------+:---------------------+ -| $`\clubs` `\clubs` | $`\hearts` `\hearts` | $`\sdot` `\sdot` | -+--------------------------+--------------------------------+----------------------+ -| $`\diamonds` `\diamonds` | $`\spades` `\spades` | $`\infin` `\infin` | -+--------------------------+--------------------------------+----------------------+ -| $`\bull` `\bull` | $`\text{\sect}` `\text{\sect}` | $`\Dagger` `\Dagger` | -+--------------------------+--------------------------------+----------------------+ - -Direct Input: § ¶ £ ¥ € ∇ ∞ · ∠ ∡ ∢ ♠ ♡ ♢ ♣ ♭ ♮ ♯ © ® ☺ ✓ ↯ … ⋮ ⋯ ⋱ ! ‼ - -## Units - -| Unit | Value | Unit | Value | -|:-----|:-------------|:-----|:--------------| -| em | CSS em | bp | 1/72​ inch | -| ex | CSS ex | pc | 12 pt | -| mu | 1/18 em | dd | 1238/1157​ pt | -| pt | 1/72.27 inch | cc | 14856/1157 pt | -| mm | 1 mm | nd | 685/642 pt | -| cm | 1 cm | nc | 1370/107​ pt | -| in | 1 inch | sp | 1/65536 pt | - -The effect of script level and font size: - -| Unit | textstyle
normal size | scriptscript | huge | -|:------:|:-----------------:|:-----------------------------------:|:--------------------------:| -|em or ex|$`\rule{1em}{1em}` |$`\scriptscriptstyle\rule{1em}{1em}` |$`\huge\rule{1em}{1em}` | -| mu |$`\rule{18mu}{18mu}`|$`\scriptscriptstyle\rule{18mu}{18mu}`|$`\huge\rule{18mu}{18mu}` | -| others |$`\rule{16pt}{16pt}`|$`\scriptscriptstyle\rule{16pt}{16pt}`|$`\huge\rule{16pt}{16pt}` | - -`em` and `ex` are affected by font size changes such as `\Large`, but they are not affected -by script level, so they will not change size in a fraction numerator or an -exponent. - -`mu` is affected by both script level and font size. - -The other units are absolute and are not affected by either script level or font size. - -
- -

Copyright © 2021, 2022 Ron Kok. -Released under the MIT License

- -
- -
- - - - - - - - - \ No newline at end of file diff --git a/node_modules/.bin/acorn b/node_modules/.bin/acorn new file mode 100644 index 00000000..558ebb98 --- /dev/null +++ b/node_modules/.bin/acorn @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../acorn/bin/acorn" "$@" + ret=$? +else + node "$basedir/../acorn/bin/acorn" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/acorn.cmd b/node_modules/.bin/acorn.cmd new file mode 100644 index 00000000..61e50de9 --- /dev/null +++ b/node_modules/.bin/acorn.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\acorn\bin\acorn" %* +) \ No newline at end of file diff --git a/node_modules/.bin/eslint b/node_modules/.bin/eslint new file mode 100644 index 00000000..9f3ac314 --- /dev/null +++ b/node_modules/.bin/eslint @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@" + ret=$? +else + node "$basedir/../eslint/bin/eslint.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/eslint.cmd b/node_modules/.bin/eslint.cmd new file mode 100644 index 00000000..9d31668a --- /dev/null +++ b/node_modules/.bin/eslint.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\eslint\bin\eslint.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\eslint\bin\eslint.js" %* +) \ No newline at end of file diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml new file mode 100644 index 00000000..460d9df4 --- /dev/null +++ b/node_modules/.bin/js-yaml @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@" + ret=$? +else + node "$basedir/../js-yaml/bin/js-yaml.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/js-yaml.cmd b/node_modules/.bin/js-yaml.cmd new file mode 100644 index 00000000..74091a9c --- /dev/null +++ b/node_modules/.bin/js-yaml.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\js-yaml\bin\js-yaml.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\js-yaml\bin\js-yaml.js" %* +) \ No newline at end of file diff --git a/node_modules/.bin/node-which b/node_modules/.bin/node-which new file mode 100644 index 00000000..645ab6c6 --- /dev/null +++ b/node_modules/.bin/node-which @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../which/bin/node-which" "$@" + ret=$? +else + node "$basedir/../which/bin/node-which" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/node-which.cmd b/node_modules/.bin/node-which.cmd new file mode 100644 index 00000000..fd9d0ed0 --- /dev/null +++ b/node_modules/.bin/node-which.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\which\bin\node-which" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\which\bin\node-which" %* +) \ No newline at end of file diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf new file mode 100644 index 00000000..3cebd6e8 --- /dev/null +++ b/node_modules/.bin/rimraf @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../rimraf/bin.js" "$@" + ret=$? +else + node "$basedir/../rimraf/bin.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/rimraf.cmd b/node_modules/.bin/rimraf.cmd new file mode 100644 index 00000000..6e88bbfd --- /dev/null +++ b/node_modules/.bin/rimraf.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\rimraf\bin.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\rimraf\bin.js" %* +) \ No newline at end of file diff --git a/node_modules/.bin/rollup b/node_modules/.bin/rollup new file mode 100644 index 00000000..e1c7fee9 --- /dev/null +++ b/node_modules/.bin/rollup @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@" + ret=$? +else + node "$basedir/../rollup/dist/bin/rollup" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/rollup.cmd b/node_modules/.bin/rollup.cmd new file mode 100644 index 00000000..264b5a34 --- /dev/null +++ b/node_modules/.bin/rollup.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\rollup\dist\bin\rollup" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\rollup\dist\bin\rollup" %* +) \ No newline at end of file diff --git a/node_modules/.bin/terser b/node_modules/.bin/terser new file mode 100644 index 00000000..490042d8 --- /dev/null +++ b/node_modules/.bin/terser @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../terser/bin/terser" "$@" + ret=$? +else + node "$basedir/../terser/bin/terser" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/terser.cmd b/node_modules/.bin/terser.cmd new file mode 100644 index 00000000..0c201412 --- /dev/null +++ b/node_modules/.bin/terser.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\terser\bin\terser" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\terser\bin\terser" %* +) \ No newline at end of file diff --git a/node_modules/.cache/esm/.data.blob b/node_modules/.cache/esm/.data.blob new file mode 100644 index 0000000000000000000000000000000000000000..b79e60046f75492a2eaa41c43003ead5c05b3be8 GIT binary patch literal 2032040 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%0AU??0MJUmz!4o<+|;DlgF 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

Xw2R>GS{Y3hNRj7L`O7cKRCX3JW^WR#-*>fl?oK z?jBcjxsV?|r5W&`y|OI#RU8@LBf??06ULW@3`oAkH5lU(s1G@=0m(e

$Hw&o)Lq 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