@qredence/fleet 0.7.4 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +5 -4
- package/bin/fleet-prime.mjs +33 -6
- package/bin/prime-runtime.mjs +79 -0
- package/dist/runtime-manifest.json +32 -0
- package/dist/web/client/assets/DialogTitle-RY2UDuCY.js +1 -0
- package/dist/web/client/assets/FloatingPortal-XC0MCNnD.js +1 -0
- package/dist/web/client/assets/action-swap-BWRUNKQA.js +1 -0
- package/dist/web/client/assets/{alert-dialog-DtXvVhsF.js → alert-dialog-DGNvg0B1.js} +1 -1
- package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
- package/dist/web/client/assets/{artifacts-panel-Bseg97yQ.js → artifacts-panel-BGXpKRJ7.js} +1 -1
- package/dist/web/client/assets/{badge-C--lf3bb.js → badge-DM06QVqB.js} +6 -6
- package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
- package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
- package/dist/web/client/assets/{chat-command-palette-D_rm1r9d.js → chat-command-palette-PenyaZBw.js} +1 -1
- package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
- package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
- package/dist/web/client/assets/{command-CmtCIDdH.js → command-imgUMV3r.js} +1 -1
- package/dist/web/client/assets/{create-project-dialog-m-9aoobN.js → create-project-dialog-C00d5yCq.js} +1 -1
- package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
- package/dist/web/client/assets/{dialog-Ddouieuu.js → dialog-zCNOQI63.js} +1 -1
- package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
- package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
- package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-Cgi48NnT.js} +1 -1
- package/dist/web/client/assets/globals-BuMuB_ea.css +2 -0
- package/dist/web/client/assets/{index-Bz5W4EOn.js → index-BqBdQGWs.js} +3 -3
- package/dist/web/client/assets/input-7g8_nw-Z.js +1 -0
- package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-Nq03Qums.js} +1 -1
- package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
- package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
- package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
- package/dist/web/client/assets/{message-queue-Bg2MiJHM.js → message-queue-sSljtjYz.js} +1 -1
- package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-Cp687pdm.js} +1 -1
- package/dist/web/client/assets/{notify-DhtmUPfE.js → notify-Cqdu6EV8.js} +1 -1
- package/dist/web/client/assets/{openui-renderer-MIB3JKYa.js → openui-renderer-BdYTcn-_.js} +50 -50
- package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
- package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
- package/dist/web/client/assets/provider-label-QrVOwKBO.js +1 -0
- package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
- package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
- package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
- package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
- package/dist/web/client/assets/right-panel-registry-BaLZiKny.js +2 -0
- package/dist/web/client/assets/routes-BkFkhfO3.js +16 -0
- package/dist/web/client/assets/select-BhV4ikeN.js +1 -0
- package/dist/web/client/assets/session-activity-panel-Bc4-HSfb.js +1 -0
- package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
- package/dist/web/client/assets/session-tool-renderer-C7mYeUOs.js +166 -0
- package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-By9m9tGB.js} +1 -1
- package/dist/web/client/assets/settings-dialog-Dpt4Ha_m.js +2 -0
- package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
- package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
- package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
- package/dist/web/client/assets/sparkles-BwVa9zQJ.js +1 -0
- package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
- package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-DsPmLZSf.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-CNQ9wGk2.js +1 -0
- package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-gQ9BLfV3.js} +1 -1
- package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
- package/dist/web/client/assets/switch-C7Myu-Dt.js +1 -0
- package/dist/web/client/assets/toast-DlbKi6K-.js +1 -0
- package/dist/web/client/assets/tool-output-normalizer-CADgEiI4.js +4 -0
- package/dist/web/client/assets/tool-part-normalizer-CYK62WZM.js +4 -0
- package/dist/web/client/assets/tool-result-bjAGZ2qm.js +5 -0
- package/dist/web/client/assets/tool-timeline-eNqH1zj7.js +2 -0
- package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
- package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
- package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
- package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
- package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
- package/dist/web/client/assets/useRender-Bbk_fl72.js +1 -0
- package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
- package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
- package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
- package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
- package/dist/web/client/bundle-budget.json +6 -6
- package/dist/web/server/{_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js → _tanstack-start-manifest_v-BiNPG4xt-BZTMSM2I.js} +33 -28
- package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-CqGBNU4q-UHNMC7PK.js} +23 -27
- package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-B94-zIEz-ES2ZB4ZF.js} +8 -10
- package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-2FHYWKDN.js} +669 -833
- package/dist/web/server/{chunk-EBC7QORX.js → chunk-5GUEYYYO.js} +3680 -2098
- package/dist/web/server/{chunk-GLH2GWMG.js → chunk-7L5PCCYR.js} +411 -306
- package/dist/web/server/{chunk-KHHXJZK7.js → chunk-ABMGW6QH.js} +2784 -1662
- package/dist/web/server/{chunk-36CAMOVG.js → chunk-BAHZXA4D.js} +6 -6
- package/dist/web/server/{chunk-IN2ATSEG.js → chunk-CZLGB3NE.js} +2 -2
- package/dist/web/server/{chunk-WCKKN5BR.js → chunk-E6T36NM5.js} +347 -583
- package/dist/web/server/{chunk-ORCOCCER.js → chunk-EAKPTSWR.js} +4 -4
- package/dist/web/server/chunk-EL2JCDAM.js +270 -0
- package/dist/web/server/{chunk-6GTTTYSE.js → chunk-FB2QLQTN.js} +67 -73
- package/dist/web/server/{chunk-LLO4MNGE.js → chunk-K67IDUAI.js} +24 -26
- package/dist/web/server/{chunk-YU6RHHK6.js → chunk-LQM6QR7S.js} +10 -12
- package/dist/web/server/chunk-LTTBT3J7.js +129 -0
- package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-OAYEN3JV.js} +2 -0
- package/dist/web/server/{chunk-ZUZPJNLY.js → chunk-OSPDNT7S.js} +829 -642
- package/dist/web/server/{chunk-XA7EOCHM.js → chunk-SGAQVAYL.js} +2 -2
- package/dist/web/server/chunk-SI5IQSG4.js +206 -0
- package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
- package/dist/web/server/{chunk-QSM3BRMA.js → chunk-WSK55TKE.js} +169 -156
- package/dist/web/server/{chunk-BUKOEXE7.js → chunk-YQO36OP6.js} +2 -2
- package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-CFPX6Ihl-EO4XTINS.js} +12 -14
- package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
- package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
- package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-B2RBFzoZ-R6GXPSPL.js} +6 -8
- package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-BvCfOB26-VDH4YOQD.js} +9 -6
- package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-SYc-BQvp-MR4FXT5C.js} +48 -9
- package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-D32rLiJo-HEBRGH5B.js} +6 -8
- package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-DKzt_xEN-5ZPU6XDY.js} +8 -10
- package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-CeVtOdYl-PY37PCJI.js} +12 -14
- package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-CpTK_fHV-Q4ILLZKC.js} +1 -1
- package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
- package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-DDM5ADGZ.js} +3 -3
- package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-S4NHlpz7-NF7WYYSR.js} +7 -9
- package/dist/web/server/{router-DZYr-9uT-AEXHEFXF.js → router-DVKxZik_-254GZAJW.js} +5 -6
- package/dist/web/server/{routes-vYxWRhis-AAZ73SNP.js → routes-BTxAklRp-UM7ZTLLP.js} +50 -30
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/session-activity-panel-Bz2GrdMk-PCOXG46X.js +173 -0
- package/dist/web/server/session-reasoning-panel-CpiTdyQz-O3B5CDKS.js +62 -0
- package/dist/web/server/{session-tool-renderer-Dtt74Mts-7YYNSWRV.js → session-tool-renderer-BZiOxtt1-T3ZGAQKX.js} +10 -13
- package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-CzkE0RFB-P4KWA7S2.js} +7 -9
- package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-BUgVNpr1-THSYIOZL.js} +18 -21
- package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-mw3kEFfK-CDYX7LST.js} +13 -16
- package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-2ZJfYrXG-NDJKHJHD.js} +15 -18
- package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-xznrPDLt-QCJRZOF3.js} +7 -9
- package/package.json +2 -2
- package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
- package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
- package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
- package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
- package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
- package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
- package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
- package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
- package/dist/web/client/assets/globals-C961mr-b.css +0 -2
- package/dist/web/client/assets/input-Def1xOZz.js +0 -1
- package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
- package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
- package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
- package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
- package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
- package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
- package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
- package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
- package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
- package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
- package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
- package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
- package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
- package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
- package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
- package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
- package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
- package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
- package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
- package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
- package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
- package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
- package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
- package/dist/web/server/chunk-CHSKEU3V.js +0 -166
- package/dist/web/server/chunk-OO7NBFQQ.js +0 -15
- package/dist/web/server/chunk-OXEAXEWD.js +0 -13
- package/dist/web/server/chunk-SIJVVYQT.js +0 -234
- package/dist/web/server/chunk-UQV2NU63.js +0 -163
- package/dist/web/server/chunk-VUBITQ5X.js +0 -653
- package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
- package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
|
@@ -861,7 +861,7 @@ function closedDialog(node) {
|
|
|
861
861
|
return node.tagName === "dialog" && !(node.properties || {}).open;
|
|
862
862
|
}
|
|
863
863
|
|
|
864
|
-
// node_modules/.pnpm/katex@0.
|
|
864
|
+
// node_modules/.pnpm/katex@0.18.10/node_modules/katex/dist/katex.mjs
|
|
865
865
|
var ParseError = class _ParseError extends Error {
|
|
866
866
|
// The underlying error message without any context added.
|
|
867
867
|
constructor(message, token) {
|
|
@@ -1059,15 +1059,16 @@ function getImplicitDefault(type) {
|
|
|
1059
1059
|
}
|
|
1060
1060
|
}
|
|
1061
1061
|
function getDefaultValue(schema) {
|
|
1062
|
-
if (schema.default !== void 0) {
|
|
1062
|
+
if (Object.prototype.hasOwnProperty.call(schema, "default") && schema.default !== void 0) {
|
|
1063
1063
|
return schema.default;
|
|
1064
1064
|
}
|
|
1065
1065
|
var type = Array.isArray(schema.type) ? schema.type[0] : schema.type;
|
|
1066
1066
|
return getImplicitDefault(type);
|
|
1067
1067
|
}
|
|
1068
1068
|
function applySetting(target, prop, options, schema) {
|
|
1069
|
-
var optionValue = options[prop];
|
|
1070
|
-
|
|
1069
|
+
var optionValue = Object.prototype.hasOwnProperty.call(options, prop) ? options[prop] : void 0;
|
|
1070
|
+
var processor = Object.prototype.hasOwnProperty.call(schema, "processor") ? schema.processor : void 0;
|
|
1071
|
+
target[prop] = optionValue !== void 0 ? processor ? processor(optionValue) : optionValue : getDefaultValue(schema);
|
|
1071
1072
|
}
|
|
1072
1073
|
var Settings = class {
|
|
1073
1074
|
constructor(options) {
|
|
@@ -4246,10 +4247,8 @@ function getGlobalMetrics(size) {
|
|
|
4246
4247
|
var metrics = fontMetricsBySizeIndex[sizeIndex] = {
|
|
4247
4248
|
cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18
|
|
4248
4249
|
};
|
|
4249
|
-
for (var key
|
|
4250
|
-
|
|
4251
|
-
metrics[key] = sigmasAndXis[key][sizeIndex];
|
|
4252
|
-
}
|
|
4250
|
+
for (var key of Object.keys(sigmasAndXis)) {
|
|
4251
|
+
metrics[key] = sigmasAndXis[key][sizeIndex];
|
|
4253
4252
|
}
|
|
4254
4253
|
}
|
|
4255
4254
|
return fontMetricsBySizeIndex[sizeIndex];
|
|
@@ -5188,16 +5187,12 @@ var boldSymbol = function boldSymbol2(value, mode, type) {
|
|
|
5188
5187
|
};
|
|
5189
5188
|
}
|
|
5190
5189
|
};
|
|
5191
|
-
var makeOrd = function makeOrd2(group, options
|
|
5190
|
+
var makeOrd = function makeOrd2(group, options) {
|
|
5191
|
+
var type = group.type === "mathord" ? "mathord" : "textord";
|
|
5192
5192
|
var mode = group.mode;
|
|
5193
5193
|
var text2 = group.text;
|
|
5194
5194
|
var classes = ["mord"];
|
|
5195
|
-
var
|
|
5196
|
-
font,
|
|
5197
|
-
fontFamily,
|
|
5198
|
-
fontWeight,
|
|
5199
|
-
fontShape
|
|
5200
|
-
} = options;
|
|
5195
|
+
var font = options.font, fontFamily = options.fontFamily, fontWeight = options.fontWeight, fontShape = options.fontShape;
|
|
5201
5196
|
var useFont = mode === "math" || mode === "text" && !!font;
|
|
5202
5197
|
var fontOrFamily = useFont ? font : fontFamily;
|
|
5203
5198
|
var wideFontName = "";
|
|
@@ -5225,7 +5220,7 @@ var makeOrd = function makeOrd2(group, options, type) {
|
|
|
5225
5220
|
}
|
|
5226
5221
|
if (lookupSymbol(text2, fontName, mode).metrics) {
|
|
5227
5222
|
return makeSymbol(text2, fontName, mode, options, classes.concat(fontClasses));
|
|
5228
|
-
} else if (
|
|
5223
|
+
} else if (Object.prototype.hasOwnProperty.call(ligatures, text2) && fontName.slice(0, 10) === "Typewriter") {
|
|
5229
5224
|
var parts = [];
|
|
5230
5225
|
for (var i2 = 0; i2 < text2.length; i2++) {
|
|
5231
5226
|
parts.push(makeSymbol(text2[i2], fontName, mode, options, classes.concat(fontClasses)));
|
|
@@ -5387,10 +5382,7 @@ var getVListChildrenAndDepth = function getVListChildrenAndDepth2(params) {
|
|
|
5387
5382
|
};
|
|
5388
5383
|
};
|
|
5389
5384
|
var makeVList = function makeVList2(params, options) {
|
|
5390
|
-
var
|
|
5391
|
-
children,
|
|
5392
|
-
depth
|
|
5393
|
-
} = getVListChildrenAndDepth(params);
|
|
5385
|
+
var _getVListChildrenAndD = getVListChildrenAndDepth(params), children = _getVListChildrenAndD.children, depth = _getVListChildrenAndD.depth;
|
|
5394
5386
|
var pstrutSize = 0;
|
|
5395
5387
|
for (var i2 = 0; i2 < children.length; i2++) {
|
|
5396
5388
|
var child = children[i2];
|
|
@@ -5550,7 +5542,7 @@ var svgData = {
|
|
|
5550
5542
|
oiiintSize2: ["oiiintSize2", 1.98, 0.659]
|
|
5551
5543
|
};
|
|
5552
5544
|
var staticSvg = function staticSvg2(value, options) {
|
|
5553
|
-
var [pathName, width, height
|
|
5545
|
+
var _svgData$value = svgData[value], pathName = _svgData$value[0], width = _svgData$value[1], height = _svgData$value[2];
|
|
5554
5546
|
var path2 = new PathNode(pathName);
|
|
5555
5547
|
var svgNode = new SvgNode([path2], {
|
|
5556
5548
|
"width": makeEm(width),
|
|
@@ -5560,7 +5552,7 @@ var staticSvg = function staticSvg2(value, options) {
|
|
|
5560
5552
|
"viewBox": "0 0 " + 1e3 * width + " " + 1e3 * height,
|
|
5561
5553
|
"preserveAspectRatio": "xMinYMin"
|
|
5562
5554
|
});
|
|
5563
|
-
var span = makeSvgSpan(["overlay"], [svgNode], options);
|
|
5555
|
+
var span = makeSvgSpan(["katex-overlay"], [svgNode], options);
|
|
5564
5556
|
span.height = height;
|
|
5565
5557
|
span.style.height = makeEm(height);
|
|
5566
5558
|
span.style.width = makeEm(width);
|
|
@@ -5651,27 +5643,8 @@ var tightSpacings = {
|
|
|
5651
5643
|
var _functions = {};
|
|
5652
5644
|
var _htmlGroupBuilders = {};
|
|
5653
5645
|
var _mathmlGroupBuilders = {};
|
|
5654
|
-
function defineFunction(
|
|
5655
|
-
var
|
|
5656
|
-
type,
|
|
5657
|
-
names,
|
|
5658
|
-
props,
|
|
5659
|
-
handler,
|
|
5660
|
-
htmlBuilder: htmlBuilder3,
|
|
5661
|
-
mathmlBuilder: mathmlBuilder3
|
|
5662
|
-
} = _ref;
|
|
5663
|
-
var data = {
|
|
5664
|
-
type,
|
|
5665
|
-
numArgs: props.numArgs,
|
|
5666
|
-
argTypes: props.argTypes,
|
|
5667
|
-
allowedInArgument: !!props.allowedInArgument,
|
|
5668
|
-
allowedInText: !!props.allowedInText,
|
|
5669
|
-
allowedInMath: props.allowedInMath === void 0 ? true : props.allowedInMath,
|
|
5670
|
-
numOptionalArgs: props.numOptionalArgs || 0,
|
|
5671
|
-
infix: !!props.infix,
|
|
5672
|
-
primitive: !!props.primitive,
|
|
5673
|
-
handler
|
|
5674
|
-
};
|
|
5646
|
+
function defineFunction(data) {
|
|
5647
|
+
var type = data.type, names = data.names, htmlBuilder3 = data.htmlBuilder, mathmlBuilder3 = data.mathmlBuilder;
|
|
5675
5648
|
for (var i2 = 0; i2 < names.length; ++i2) {
|
|
5676
5649
|
_functions[names[i2]] = data;
|
|
5677
5650
|
}
|
|
@@ -5684,24 +5657,14 @@ function defineFunction(_ref) {
|
|
|
5684
5657
|
}
|
|
5685
5658
|
}
|
|
5686
5659
|
}
|
|
5687
|
-
function defineFunctionBuilders(
|
|
5688
|
-
var
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
names: [],
|
|
5696
|
-
props: {
|
|
5697
|
-
numArgs: 0
|
|
5698
|
-
},
|
|
5699
|
-
handler() {
|
|
5700
|
-
throw new Error("Should never be called.");
|
|
5701
|
-
},
|
|
5702
|
-
htmlBuilder: htmlBuilder3,
|
|
5703
|
-
mathmlBuilder: mathmlBuilder3
|
|
5704
|
-
});
|
|
5660
|
+
function defineFunctionBuilders(_ref) {
|
|
5661
|
+
var type = _ref.type, htmlBuilder3 = _ref.htmlBuilder, mathmlBuilder3 = _ref.mathmlBuilder;
|
|
5662
|
+
if (htmlBuilder3) {
|
|
5663
|
+
_htmlGroupBuilders[type] = htmlBuilder3;
|
|
5664
|
+
}
|
|
5665
|
+
if (mathmlBuilder3) {
|
|
5666
|
+
_mathmlGroupBuilders[type] = mathmlBuilder3;
|
|
5667
|
+
}
|
|
5705
5668
|
}
|
|
5706
5669
|
var normalizeArgument = function normalizeArgument2(arg) {
|
|
5707
5670
|
return arg.type === "ordgroup" && arg.body.length === 1 ? arg.body[0] : arg;
|
|
@@ -5807,7 +5770,7 @@ var _traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, pre
|
|
|
5807
5770
|
}
|
|
5808
5771
|
if (nonspace) {
|
|
5809
5772
|
prev.node = node;
|
|
5810
|
-
} else if (isRoot && node.hasClass("newline")) {
|
|
5773
|
+
} else if (isRoot && node.hasClass("katex-newline")) {
|
|
5811
5774
|
prev.node = makeSpan(["leftmost"]);
|
|
5812
5775
|
}
|
|
5813
5776
|
prev.insertAfter = /* @__PURE__ */ ((index) => (n) => {
|
|
@@ -5871,8 +5834,8 @@ var buildGroup$1 = function buildGroup(group, options, baseOptions) {
|
|
|
5871
5834
|
}
|
|
5872
5835
|
};
|
|
5873
5836
|
function buildHTMLUnbreakable(children, options) {
|
|
5874
|
-
var body = makeSpan(["base"], children, options);
|
|
5875
|
-
var strut = makeSpan(["strut"]);
|
|
5837
|
+
var body = makeSpan(["katex-base"], children, options);
|
|
5838
|
+
var strut = makeSpan(["katex-strut"]);
|
|
5876
5839
|
strut.style.height = makeEm(body.height + body.depth);
|
|
5877
5840
|
if (body.depth) {
|
|
5878
5841
|
strut.style.verticalAlign = makeEm(-body.depth);
|
|
@@ -5888,7 +5851,7 @@ function buildHTML(tree, options) {
|
|
|
5888
5851
|
}
|
|
5889
5852
|
var expression = buildExpression$1(tree, options, "root");
|
|
5890
5853
|
var eqnNum;
|
|
5891
|
-
if (expression.length === 2 && expression[1].hasClass("tag")) {
|
|
5854
|
+
if (expression.length === 2 && expression[1].hasClass("katex-tag")) {
|
|
5892
5855
|
eqnNum = expression.pop();
|
|
5893
5856
|
}
|
|
5894
5857
|
var children = [];
|
|
@@ -5897,7 +5860,7 @@ function buildHTML(tree, options) {
|
|
|
5897
5860
|
parts.push(expression[i2]);
|
|
5898
5861
|
if (expression[i2].hasClass("mbin") || expression[i2].hasClass("mrel") || expression[i2].hasClass("allowbreak")) {
|
|
5899
5862
|
var nobreak = false;
|
|
5900
|
-
while (i2 < expression.length - 1 && expression[i2 + 1].hasClass("mspace") && !expression[i2 + 1].hasClass("newline")) {
|
|
5863
|
+
while (i2 < expression.length - 1 && expression[i2 + 1].hasClass("mspace") && !expression[i2 + 1].hasClass("katex-newline")) {
|
|
5901
5864
|
i2++;
|
|
5902
5865
|
parts.push(expression[i2]);
|
|
5903
5866
|
if (expression[i2].hasClass("nobreak")) {
|
|
@@ -5908,7 +5871,7 @@ function buildHTML(tree, options) {
|
|
|
5908
5871
|
children.push(buildHTMLUnbreakable(parts, options));
|
|
5909
5872
|
parts = [];
|
|
5910
5873
|
}
|
|
5911
|
-
} else if (expression[i2].hasClass("newline")) {
|
|
5874
|
+
} else if (expression[i2].hasClass("katex-newline")) {
|
|
5912
5875
|
parts.pop();
|
|
5913
5876
|
if (parts.length > 0) {
|
|
5914
5877
|
children.push(buildHTMLUnbreakable(parts, options));
|
|
@@ -5923,7 +5886,7 @@ function buildHTML(tree, options) {
|
|
|
5923
5886
|
var tagChild;
|
|
5924
5887
|
if (tag) {
|
|
5925
5888
|
tagChild = buildHTMLUnbreakable(buildExpression$1(tag, options, true), options);
|
|
5926
|
-
tagChild.classes = ["tag"];
|
|
5889
|
+
tagChild.classes = ["katex-tag"];
|
|
5927
5890
|
children.push(tagChild);
|
|
5928
5891
|
} else if (eqnNum) {
|
|
5929
5892
|
children.push(eqnNum);
|
|
@@ -5971,10 +5934,10 @@ var MathNode = class {
|
|
|
5971
5934
|
*/
|
|
5972
5935
|
toNode() {
|
|
5973
5936
|
var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type);
|
|
5974
|
-
for (var
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5937
|
+
for (var _ref2 of Object.entries(this.attributes)) {
|
|
5938
|
+
var attr = _ref2[0];
|
|
5939
|
+
var value = _ref2[1];
|
|
5940
|
+
node.setAttribute(attr, value);
|
|
5978
5941
|
}
|
|
5979
5942
|
if (this.classes.length > 0) {
|
|
5980
5943
|
node.className = createClass(this.classes);
|
|
@@ -5997,12 +5960,12 @@ var MathNode = class {
|
|
|
5997
5960
|
*/
|
|
5998
5961
|
toMarkup() {
|
|
5999
5962
|
var markup = "<" + this.type;
|
|
6000
|
-
for (var
|
|
6001
|
-
|
|
6002
|
-
|
|
6003
|
-
|
|
6004
|
-
|
|
6005
|
-
|
|
5963
|
+
for (var _ref4 of Object.entries(this.attributes)) {
|
|
5964
|
+
var attr = _ref4[0];
|
|
5965
|
+
var value = _ref4[1];
|
|
5966
|
+
markup += " " + attr + '="';
|
|
5967
|
+
markup += escape(value);
|
|
5968
|
+
markup += '"';
|
|
6006
5969
|
}
|
|
6007
5970
|
if (this.classes.length > 0) {
|
|
6008
5971
|
markup += ' class ="' + escape(createClass(this.classes)) + '"';
|
|
@@ -6111,7 +6074,8 @@ var SpaceNode = class {
|
|
|
6111
6074
|
var noVariantSymbols = /* @__PURE__ */ new Set(["\\imath", "\\jmath"]);
|
|
6112
6075
|
var rowLikeTypes = /* @__PURE__ */ new Set(["mrow", "mtable"]);
|
|
6113
6076
|
var makeText = function makeText2(text2, mode, options) {
|
|
6114
|
-
|
|
6077
|
+
var _options$fontFamily, _options$font;
|
|
6078
|
+
if (symbols[mode][text2] && symbols[mode][text2].replace && text2.charCodeAt(0) !== 55349 && !(Object.prototype.hasOwnProperty.call(ligatures, text2) && ((options == null || (_options$fontFamily = options.fontFamily) == null ? void 0 : _options$fontFamily.slice(4, 6)) === "tt" || (options == null || (_options$font = options.font) == null ? void 0 : _options$font.slice(4, 6)) === "tt"))) {
|
|
6115
6079
|
text2 = symbols[mode][text2].replace;
|
|
6116
6080
|
}
|
|
6117
6081
|
return new TextNode(text2);
|
|
@@ -6504,7 +6468,7 @@ var Options = class _Options {
|
|
|
6504
6468
|
*/
|
|
6505
6469
|
sizingClasses(oldOptions) {
|
|
6506
6470
|
if (oldOptions.size !== this.size) {
|
|
6507
|
-
return ["sizing", "reset-size" + oldOptions.size, "size" + this.size];
|
|
6471
|
+
return ["katex-sizing", "reset-size" + oldOptions.size, "size" + this.size];
|
|
6508
6472
|
} else {
|
|
6509
6473
|
return [];
|
|
6510
6474
|
}
|
|
@@ -6515,7 +6479,7 @@ var Options = class _Options {
|
|
|
6515
6479
|
*/
|
|
6516
6480
|
baseSizingClasses() {
|
|
6517
6481
|
if (this.size !== _Options.BASESIZE) {
|
|
6518
|
-
return ["sizing", "reset-size" + this.size, "size" + _Options.BASESIZE];
|
|
6482
|
+
return ["katex-sizing", "reset-size" + this.size, "size" + _Options.BASESIZE];
|
|
6519
6483
|
} else {
|
|
6520
6484
|
return [];
|
|
6521
6485
|
}
|
|
@@ -6739,7 +6703,7 @@ var stretchySvg = function stretchySvg2(group, options) {
|
|
|
6739
6703
|
if (!data) {
|
|
6740
6704
|
throw new Error('No SVG data for "' + label + '".');
|
|
6741
6705
|
}
|
|
6742
|
-
var [
|
|
6706
|
+
var paths = data[0], _minWidth = data[1], _viewBoxHeight = data[2];
|
|
6743
6707
|
var _height2 = _viewBoxHeight / 1e3;
|
|
6744
6708
|
var numSvgChildren = paths.length;
|
|
6745
6709
|
var widthClasses;
|
|
@@ -6780,17 +6744,13 @@ var stretchySvg = function stretchySvg2(group, options) {
|
|
|
6780
6744
|
}
|
|
6781
6745
|
}
|
|
6782
6746
|
return {
|
|
6783
|
-
span: makeSpan(["stretchy"], spans, options),
|
|
6747
|
+
span: makeSpan(["katex-stretchy"], spans, options),
|
|
6784
6748
|
minWidth: _minWidth,
|
|
6785
6749
|
height: _height2
|
|
6786
6750
|
};
|
|
6787
6751
|
}
|
|
6788
6752
|
}
|
|
6789
|
-
var
|
|
6790
|
-
span,
|
|
6791
|
-
minWidth,
|
|
6792
|
-
height
|
|
6793
|
-
} = buildSvgSpan_();
|
|
6753
|
+
var _buildSvgSpan_ = buildSvgSpan_(), span = _buildSvgSpan_.span, minWidth = _buildSvgSpan_.minWidth, height = _buildSvgSpan_.height;
|
|
6794
6754
|
span.height = height;
|
|
6795
6755
|
span.style.height = makeEm(height);
|
|
6796
6756
|
if (minWidth > 0) {
|
|
@@ -6802,7 +6762,7 @@ var stretchyEnclose = function stretchyEnclose2(inner2, label, topPad, bottomPad
|
|
|
6802
6762
|
var img;
|
|
6803
6763
|
var totalHeight = inner2.height + inner2.depth + topPad + bottomPad;
|
|
6804
6764
|
if (/fbox|color|angl/.test(label)) {
|
|
6805
|
-
img = makeSpan(["stretchy", label], [], options);
|
|
6765
|
+
img = makeSpan(["katex-stretchy", label], [], options);
|
|
6806
6766
|
if (label === "fbox") {
|
|
6807
6767
|
var color = options.color && options.getColor();
|
|
6808
6768
|
if (color) {
|
|
@@ -6839,23 +6799,12 @@ var stretchyEnclose = function stretchyEnclose2(inner2, label, topPad, bottomPad
|
|
|
6839
6799
|
img.style.height = makeEm(totalHeight);
|
|
6840
6800
|
return img;
|
|
6841
6801
|
};
|
|
6842
|
-
var
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
"open": 1,
|
|
6847
|
-
"punct": 1,
|
|
6848
|
-
"rel": 1
|
|
6849
|
-
};
|
|
6850
|
-
var NON_ATOMS = {
|
|
6851
|
-
"accent-token": 1,
|
|
6852
|
-
"mathord": 1,
|
|
6853
|
-
"op-token": 1,
|
|
6854
|
-
"spacing": 1,
|
|
6855
|
-
"textord": 1
|
|
6856
|
-
};
|
|
6802
|
+
var atomList = ["bin", "close", "inner", "open", "punct", "rel"];
|
|
6803
|
+
var nonAtomList = ["accent-token", "mathord", "op-token", "spacing", "textord"];
|
|
6804
|
+
var Atoms = new Set(atomList);
|
|
6805
|
+
var NonAtoms = new Set(nonAtomList);
|
|
6857
6806
|
function isAtom(value) {
|
|
6858
|
-
return value
|
|
6807
|
+
return Atoms.has(value);
|
|
6859
6808
|
}
|
|
6860
6809
|
function assertNodeType(node, type) {
|
|
6861
6810
|
if (!node || node.type !== type) {
|
|
@@ -6871,11 +6820,24 @@ function assertSymbolNodeType(node) {
|
|
|
6871
6820
|
return typedNode;
|
|
6872
6821
|
}
|
|
6873
6822
|
function checkSymbolNodeType(node) {
|
|
6874
|
-
if (node
|
|
6823
|
+
if (node.type === "atom" || NonAtoms.has(node.type)) {
|
|
6875
6824
|
return node;
|
|
6876
6825
|
}
|
|
6877
6826
|
return null;
|
|
6878
6827
|
}
|
|
6828
|
+
function assertCharacterGroup(group, errorMessage, allowSpaces) {
|
|
6829
|
+
var text2 = "";
|
|
6830
|
+
for (var node of group.body) {
|
|
6831
|
+
if (node.type === "textord") {
|
|
6832
|
+
text2 += node.text;
|
|
6833
|
+
} else if (allowSpaces && node.type === "spacing" && node.text === " ") {
|
|
6834
|
+
text2 += " ";
|
|
6835
|
+
} else {
|
|
6836
|
+
throw new ParseError(errorMessage, group);
|
|
6837
|
+
}
|
|
6838
|
+
}
|
|
6839
|
+
return text2;
|
|
6840
|
+
}
|
|
6879
6841
|
var getBaseSymbol = (group) => {
|
|
6880
6842
|
if (group instanceof SymbolNode) {
|
|
6881
6843
|
return group;
|
|
@@ -6919,7 +6881,7 @@ var htmlBuilder$a = (grp, options) => {
|
|
|
6919
6881
|
type: "textord",
|
|
6920
6882
|
mode: group.mode,
|
|
6921
6883
|
text: group.label
|
|
6922
|
-
}, options
|
|
6884
|
+
}, options);
|
|
6923
6885
|
accent2 = assertSymbolDomNode(accent2);
|
|
6924
6886
|
accent2.italic = 0;
|
|
6925
6887
|
width = accent2.width;
|
|
@@ -6972,7 +6934,7 @@ var htmlBuilder$a = (grp, options) => {
|
|
|
6972
6934
|
}]
|
|
6973
6935
|
});
|
|
6974
6936
|
}
|
|
6975
|
-
var accentWrap = makeSpan(["mord", "accent"], [accentBody], options);
|
|
6937
|
+
var accentWrap = makeSpan(["mord", "katex-accent"], [accentBody], options);
|
|
6976
6938
|
if (supSubGroup) {
|
|
6977
6939
|
supSubGroup.children[0] = accentWrap;
|
|
6978
6940
|
supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height);
|
|
@@ -6992,9 +6954,7 @@ var NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\t
|
|
|
6992
6954
|
defineFunction({
|
|
6993
6955
|
type: "accent",
|
|
6994
6956
|
names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"],
|
|
6995
|
-
|
|
6996
|
-
numArgs: 1
|
|
6997
|
-
},
|
|
6957
|
+
numArgs: 1,
|
|
6998
6958
|
handler: (context, args) => {
|
|
6999
6959
|
var base2 = normalizeArgument(args[0]);
|
|
7000
6960
|
var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);
|
|
@@ -7014,13 +6974,11 @@ defineFunction({
|
|
|
7014
6974
|
defineFunction({
|
|
7015
6975
|
type: "accent",
|
|
7016
6976
|
names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\c", "\\r", "\\H", "\\v", "\\textcircled"],
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
argTypes: ["primitive"]
|
|
7023
|
-
},
|
|
6977
|
+
numArgs: 1,
|
|
6978
|
+
allowedInText: true,
|
|
6979
|
+
allowedInMath: true,
|
|
6980
|
+
// unless in strict mode
|
|
6981
|
+
argTypes: ["primitive"],
|
|
7024
6982
|
handler: (context, args) => {
|
|
7025
6983
|
var base2 = args[0];
|
|
7026
6984
|
var mode = context.parser.mode;
|
|
@@ -7036,21 +6994,14 @@ defineFunction({
|
|
|
7036
6994
|
isShifty: true,
|
|
7037
6995
|
base: base2
|
|
7038
6996
|
};
|
|
7039
|
-
}
|
|
7040
|
-
htmlBuilder: htmlBuilder$a,
|
|
7041
|
-
mathmlBuilder: mathmlBuilder$9
|
|
6997
|
+
}
|
|
7042
6998
|
});
|
|
7043
6999
|
defineFunction({
|
|
7044
7000
|
type: "accentUnder",
|
|
7045
7001
|
names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"],
|
|
7046
|
-
|
|
7047
|
-
numArgs: 1
|
|
7048
|
-
},
|
|
7002
|
+
numArgs: 1,
|
|
7049
7003
|
handler: (_ref, args) => {
|
|
7050
|
-
var
|
|
7051
|
-
parser,
|
|
7052
|
-
funcName
|
|
7053
|
-
} = _ref;
|
|
7004
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
7054
7005
|
var base2 = args[0];
|
|
7055
7006
|
return {
|
|
7056
7007
|
type: "accentUnder",
|
|
@@ -7125,15 +7076,10 @@ defineFunction({
|
|
|
7125
7076
|
"\\\\cdleftarrow",
|
|
7126
7077
|
"\\\\cdlongequal"
|
|
7127
7078
|
],
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
numOptionalArgs: 1
|
|
7131
|
-
},
|
|
7079
|
+
numArgs: 1,
|
|
7080
|
+
numOptionalArgs: 1,
|
|
7132
7081
|
handler(_ref, args, optArgs) {
|
|
7133
|
-
var
|
|
7134
|
-
parser,
|
|
7135
|
-
funcName
|
|
7136
|
-
} = _ref;
|
|
7082
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
7137
7083
|
return {
|
|
7138
7084
|
type: "xArrow",
|
|
7139
7085
|
mode: parser.mode,
|
|
@@ -7251,9 +7197,6 @@ function mathmlBuilder$8(group, options) {
|
|
|
7251
7197
|
} else if (group.mclass === "mopen" || group.mclass === "mclose") {
|
|
7252
7198
|
node.attributes.lspace = "0em";
|
|
7253
7199
|
node.attributes.rspace = "0em";
|
|
7254
|
-
} else if (group.mclass === "minner") {
|
|
7255
|
-
node.attributes.lspace = "0.0556em";
|
|
7256
|
-
node.attributes.width = "+0.1111em";
|
|
7257
7200
|
}
|
|
7258
7201
|
}
|
|
7259
7202
|
return node;
|
|
@@ -7261,21 +7204,15 @@ function mathmlBuilder$8(group, options) {
|
|
|
7261
7204
|
defineFunction({
|
|
7262
7205
|
type: "mclass",
|
|
7263
7206
|
names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"],
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
primitive: true
|
|
7267
|
-
},
|
|
7207
|
+
numArgs: 1,
|
|
7208
|
+
primitive: true,
|
|
7268
7209
|
handler(_ref, args) {
|
|
7269
|
-
var
|
|
7270
|
-
parser,
|
|
7271
|
-
funcName
|
|
7272
|
-
} = _ref;
|
|
7210
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
7273
7211
|
var body = args[0];
|
|
7274
7212
|
return {
|
|
7275
7213
|
type: "mclass",
|
|
7276
7214
|
mode: parser.mode,
|
|
7277
7215
|
mclass: "m" + funcName.slice(5),
|
|
7278
|
-
// TODO(kevinb): don't prefix with 'm'
|
|
7279
7216
|
body: ordargument(body),
|
|
7280
7217
|
isCharacterBox: isCharacterBox(body)
|
|
7281
7218
|
};
|
|
@@ -7294,13 +7231,9 @@ var binrelClass = (arg) => {
|
|
|
7294
7231
|
defineFunction({
|
|
7295
7232
|
type: "mclass",
|
|
7296
7233
|
names: ["\\@binrel"],
|
|
7297
|
-
|
|
7298
|
-
numArgs: 2
|
|
7299
|
-
},
|
|
7234
|
+
numArgs: 2,
|
|
7300
7235
|
handler(_ref2, args) {
|
|
7301
|
-
var
|
|
7302
|
-
parser
|
|
7303
|
-
} = _ref2;
|
|
7236
|
+
var parser = _ref2.parser;
|
|
7304
7237
|
return {
|
|
7305
7238
|
type: "mclass",
|
|
7306
7239
|
mode: parser.mode,
|
|
@@ -7313,14 +7246,9 @@ defineFunction({
|
|
|
7313
7246
|
defineFunction({
|
|
7314
7247
|
type: "mclass",
|
|
7315
7248
|
names: ["\\stackrel", "\\overset", "\\underset"],
|
|
7316
|
-
|
|
7317
|
-
numArgs: 2
|
|
7318
|
-
},
|
|
7249
|
+
numArgs: 2,
|
|
7319
7250
|
handler(_ref3, args) {
|
|
7320
|
-
var
|
|
7321
|
-
parser,
|
|
7322
|
-
funcName
|
|
7323
|
-
} = _ref3;
|
|
7251
|
+
var parser = _ref3.parser, funcName = _ref3.funcName;
|
|
7324
7252
|
var baseArg = args[1];
|
|
7325
7253
|
var shiftedArg = args[0];
|
|
7326
7254
|
var mclass;
|
|
@@ -7339,12 +7267,16 @@ defineFunction({
|
|
|
7339
7267
|
suppressBaseShift: funcName !== "\\stackrel",
|
|
7340
7268
|
body: ordargument(baseArg)
|
|
7341
7269
|
};
|
|
7342
|
-
var supsub = {
|
|
7270
|
+
var supsub = funcName === "\\underset" ? {
|
|
7343
7271
|
type: "supsub",
|
|
7344
7272
|
mode: shiftedArg.mode,
|
|
7345
7273
|
base: baseOp,
|
|
7346
|
-
|
|
7347
|
-
|
|
7274
|
+
sub: shiftedArg
|
|
7275
|
+
} : {
|
|
7276
|
+
type: "supsub",
|
|
7277
|
+
mode: shiftedArg.mode,
|
|
7278
|
+
base: baseOp,
|
|
7279
|
+
sup: shiftedArg
|
|
7348
7280
|
};
|
|
7349
7281
|
return {
|
|
7350
7282
|
type: "mclass",
|
|
@@ -7353,21 +7285,15 @@ defineFunction({
|
|
|
7353
7285
|
body: [supsub],
|
|
7354
7286
|
isCharacterBox: isCharacterBox(supsub)
|
|
7355
7287
|
};
|
|
7356
|
-
}
|
|
7357
|
-
htmlBuilder: htmlBuilder$9,
|
|
7358
|
-
mathmlBuilder: mathmlBuilder$8
|
|
7288
|
+
}
|
|
7359
7289
|
});
|
|
7360
7290
|
defineFunction({
|
|
7361
7291
|
type: "pmb",
|
|
7362
7292
|
names: ["\\pmb"],
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
allowedInText: true
|
|
7366
|
-
},
|
|
7293
|
+
numArgs: 1,
|
|
7294
|
+
allowedInText: true,
|
|
7367
7295
|
handler(_ref, args) {
|
|
7368
|
-
var
|
|
7369
|
-
parser
|
|
7370
|
-
} = _ref;
|
|
7296
|
+
var parser = _ref.parser;
|
|
7371
7297
|
return {
|
|
7372
7298
|
type: "pmb",
|
|
7373
7299
|
mode: parser.mode,
|
|
@@ -7566,14 +7492,9 @@ function parseCD(parser) {
|
|
|
7566
7492
|
defineFunction({
|
|
7567
7493
|
type: "cdlabel",
|
|
7568
7494
|
names: ["\\\\cdleft", "\\\\cdright"],
|
|
7569
|
-
|
|
7570
|
-
numArgs: 1
|
|
7571
|
-
},
|
|
7495
|
+
numArgs: 1,
|
|
7572
7496
|
handler(_ref, args) {
|
|
7573
|
-
var
|
|
7574
|
-
parser,
|
|
7575
|
-
funcName
|
|
7576
|
-
} = _ref;
|
|
7497
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
7577
7498
|
return {
|
|
7578
7499
|
type: "cdlabel",
|
|
7579
7500
|
mode: parser.mode,
|
|
@@ -7607,13 +7528,9 @@ defineFunction({
|
|
|
7607
7528
|
defineFunction({
|
|
7608
7529
|
type: "cdlabelparent",
|
|
7609
7530
|
names: ["\\\\cdparent"],
|
|
7610
|
-
|
|
7611
|
-
numArgs: 1
|
|
7612
|
-
},
|
|
7531
|
+
numArgs: 1,
|
|
7613
7532
|
handler(_ref2, args) {
|
|
7614
|
-
var
|
|
7615
|
-
parser
|
|
7616
|
-
} = _ref2;
|
|
7533
|
+
var parser = _ref2.parser;
|
|
7617
7534
|
return {
|
|
7618
7535
|
type: "cdlabelparent",
|
|
7619
7536
|
mode: parser.mode,
|
|
@@ -7632,26 +7549,17 @@ defineFunction({
|
|
|
7632
7549
|
defineFunction({
|
|
7633
7550
|
type: "textord",
|
|
7634
7551
|
names: ["\\@char"],
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
allowedInText: true
|
|
7638
|
-
},
|
|
7552
|
+
numArgs: 1,
|
|
7553
|
+
allowedInText: true,
|
|
7639
7554
|
handler(_ref, args) {
|
|
7640
|
-
var
|
|
7641
|
-
parser
|
|
7642
|
-
} = _ref;
|
|
7555
|
+
var parser = _ref.parser;
|
|
7643
7556
|
var arg = assertNodeType(args[0], "ordgroup");
|
|
7644
|
-
var
|
|
7645
|
-
var number = "";
|
|
7646
|
-
for (var i2 = 0; i2 < group.length; i2++) {
|
|
7647
|
-
var node = assertNodeType(group[i2], "textord");
|
|
7648
|
-
number += node.text;
|
|
7649
|
-
}
|
|
7557
|
+
var number = assertCharacterGroup(arg, "\\@char has non-numeric argument");
|
|
7650
7558
|
var code = parseInt(number);
|
|
7651
7559
|
var text2;
|
|
7652
7560
|
if (isNaN(code)) {
|
|
7653
7561
|
throw new ParseError("\\@char has non-numeric argument " + number);
|
|
7654
|
-
} else if (code < 0 || code
|
|
7562
|
+
} else if (code < 0 || code > 1114111) {
|
|
7655
7563
|
throw new ParseError("\\@char with invalid code point " + number);
|
|
7656
7564
|
} else if (code <= 65535) {
|
|
7657
7565
|
text2 = String.fromCharCode(code);
|
|
@@ -7679,15 +7587,11 @@ var mathmlBuilder$7 = (group, options) => {
|
|
|
7679
7587
|
defineFunction({
|
|
7680
7588
|
type: "color",
|
|
7681
7589
|
names: ["\\textcolor"],
|
|
7682
|
-
|
|
7683
|
-
|
|
7684
|
-
|
|
7685
|
-
argTypes: ["color", "original"]
|
|
7686
|
-
},
|
|
7590
|
+
numArgs: 2,
|
|
7591
|
+
allowedInText: true,
|
|
7592
|
+
argTypes: ["color", "original"],
|
|
7687
7593
|
handler(_ref, args) {
|
|
7688
|
-
var
|
|
7689
|
-
parser
|
|
7690
|
-
} = _ref;
|
|
7594
|
+
var parser = _ref.parser;
|
|
7691
7595
|
var color = assertNodeType(args[0], "color-token").color;
|
|
7692
7596
|
var body = args[1];
|
|
7693
7597
|
return {
|
|
@@ -7703,16 +7607,11 @@ defineFunction({
|
|
|
7703
7607
|
defineFunction({
|
|
7704
7608
|
type: "color",
|
|
7705
7609
|
names: ["\\color"],
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
argTypes: ["color"]
|
|
7710
|
-
},
|
|
7610
|
+
numArgs: 1,
|
|
7611
|
+
allowedInText: true,
|
|
7612
|
+
argTypes: ["color"],
|
|
7711
7613
|
handler(_ref2, args) {
|
|
7712
|
-
var
|
|
7713
|
-
parser,
|
|
7714
|
-
breakOnTokenText
|
|
7715
|
-
} = _ref2;
|
|
7614
|
+
var parser = _ref2.parser, breakOnTokenText = _ref2.breakOnTokenText;
|
|
7716
7615
|
var color = assertNodeType(args[0], "color-token").color;
|
|
7717
7616
|
parser.gullet.macros.set("\\current@color", color);
|
|
7718
7617
|
var body = parser.parseExpression(true, breakOnTokenText);
|
|
@@ -7722,22 +7621,16 @@ defineFunction({
|
|
|
7722
7621
|
color,
|
|
7723
7622
|
body
|
|
7724
7623
|
};
|
|
7725
|
-
}
|
|
7726
|
-
htmlBuilder: htmlBuilder$8,
|
|
7727
|
-
mathmlBuilder: mathmlBuilder$7
|
|
7624
|
+
}
|
|
7728
7625
|
});
|
|
7729
7626
|
defineFunction({
|
|
7730
7627
|
type: "cr",
|
|
7731
7628
|
names: ["\\\\"],
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
allowedInText: true
|
|
7736
|
-
},
|
|
7629
|
+
numArgs: 0,
|
|
7630
|
+
numOptionalArgs: 0,
|
|
7631
|
+
allowedInText: true,
|
|
7737
7632
|
handler(_ref, args, optArgs) {
|
|
7738
|
-
var
|
|
7739
|
-
parser
|
|
7740
|
-
} = _ref;
|
|
7633
|
+
var parser = _ref.parser;
|
|
7741
7634
|
var size = parser.gullet.future().text === "[" ? parser.parseSizeGroup(true) : null;
|
|
7742
7635
|
var newLine = !parser.settings.displayMode || !parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline does nothing in display mode");
|
|
7743
7636
|
return {
|
|
@@ -7752,7 +7645,7 @@ defineFunction({
|
|
|
7752
7645
|
htmlBuilder(group, options) {
|
|
7753
7646
|
var span = makeSpan(["mspace"], [], options);
|
|
7754
7647
|
if (group.newLine) {
|
|
7755
|
-
span.classes.push("newline");
|
|
7648
|
+
span.classes.push("katex-newline");
|
|
7756
7649
|
if (group.size) {
|
|
7757
7650
|
span.style.marginTop = makeEm(calculateSize(group.size, options));
|
|
7758
7651
|
}
|
|
@@ -7819,15 +7712,10 @@ defineFunction({
|
|
|
7819
7712
|
"\\\\globallong"
|
|
7820
7713
|
// can’t be entered directly
|
|
7821
7714
|
],
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
allowedInText: true
|
|
7825
|
-
},
|
|
7715
|
+
numArgs: 0,
|
|
7716
|
+
allowedInText: true,
|
|
7826
7717
|
handler(_ref) {
|
|
7827
|
-
var
|
|
7828
|
-
parser,
|
|
7829
|
-
funcName
|
|
7830
|
-
} = _ref;
|
|
7718
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
7831
7719
|
parser.consumeSpaces();
|
|
7832
7720
|
var token = parser.fetch();
|
|
7833
7721
|
if (globalMap[token.text]) {
|
|
@@ -7842,16 +7730,11 @@ defineFunction({
|
|
|
7842
7730
|
defineFunction({
|
|
7843
7731
|
type: "internal",
|
|
7844
7732
|
names: ["\\def", "\\gdef", "\\edef", "\\xdef"],
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
|
|
7848
|
-
primitive: true
|
|
7849
|
-
},
|
|
7733
|
+
numArgs: 0,
|
|
7734
|
+
allowedInText: true,
|
|
7735
|
+
primitive: true,
|
|
7850
7736
|
handler(_ref2) {
|
|
7851
|
-
var
|
|
7852
|
-
parser,
|
|
7853
|
-
funcName
|
|
7854
|
-
} = _ref2;
|
|
7737
|
+
var parser = _ref2.parser, funcName = _ref2.funcName;
|
|
7855
7738
|
var tok = parser.gullet.popToken();
|
|
7856
7739
|
var name = tok.text;
|
|
7857
7740
|
if (/^(?:[\\{}$&#^_]|EOF)$/.test(name)) {
|
|
@@ -7883,9 +7766,7 @@ defineFunction({
|
|
|
7883
7766
|
delimiters2[numArgs].push(tok.text);
|
|
7884
7767
|
}
|
|
7885
7768
|
}
|
|
7886
|
-
var
|
|
7887
|
-
tokens
|
|
7888
|
-
} = parser.gullet.consumeArg();
|
|
7769
|
+
var _parser$gullet$consum = parser.gullet.consumeArg(), tokens = _parser$gullet$consum.tokens;
|
|
7889
7770
|
if (insert) {
|
|
7890
7771
|
tokens.unshift(insert);
|
|
7891
7772
|
}
|
|
@@ -7911,16 +7792,11 @@ defineFunction({
|
|
|
7911
7792
|
"\\\\globallet"
|
|
7912
7793
|
// can’t be entered directly
|
|
7913
7794
|
],
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
primitive: true
|
|
7918
|
-
},
|
|
7795
|
+
numArgs: 0,
|
|
7796
|
+
allowedInText: true,
|
|
7797
|
+
primitive: true,
|
|
7919
7798
|
handler(_ref3) {
|
|
7920
|
-
var
|
|
7921
|
-
parser,
|
|
7922
|
-
funcName
|
|
7923
|
-
} = _ref3;
|
|
7799
|
+
var parser = _ref3.parser, funcName = _ref3.funcName;
|
|
7924
7800
|
var name = checkControlSequence(parser.gullet.popToken());
|
|
7925
7801
|
parser.gullet.consumeSpaces();
|
|
7926
7802
|
var tok = getRHS(parser);
|
|
@@ -7938,16 +7814,11 @@ defineFunction({
|
|
|
7938
7814
|
"\\\\globalfuture"
|
|
7939
7815
|
// can’t be entered directly
|
|
7940
7816
|
],
|
|
7941
|
-
|
|
7942
|
-
|
|
7943
|
-
|
|
7944
|
-
primitive: true
|
|
7945
|
-
},
|
|
7817
|
+
numArgs: 0,
|
|
7818
|
+
allowedInText: true,
|
|
7819
|
+
primitive: true,
|
|
7946
7820
|
handler(_ref4) {
|
|
7947
|
-
var
|
|
7948
|
-
parser,
|
|
7949
|
-
funcName
|
|
7950
|
-
} = _ref4;
|
|
7821
|
+
var parser = _ref4.parser, funcName = _ref4.funcName;
|
|
7951
7822
|
var name = checkControlSequence(parser.gullet.popToken());
|
|
7952
7823
|
var middle = parser.gullet.popToken();
|
|
7953
7824
|
var tok = parser.gullet.popToken();
|
|
@@ -8526,12 +8397,10 @@ function checkDelimiter(delim, context) {
|
|
|
8526
8397
|
defineFunction({
|
|
8527
8398
|
type: "delimsizing",
|
|
8528
8399
|
names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"],
|
|
8529
|
-
|
|
8530
|
-
|
|
8531
|
-
argTypes: ["primitive"]
|
|
8532
|
-
},
|
|
8400
|
+
numArgs: 1,
|
|
8401
|
+
argTypes: ["primitive"],
|
|
8533
8402
|
handler: (context, args) => {
|
|
8534
|
-
var delim = checkDelimiter(args[0], context);
|
|
8403
|
+
var delim = checkDelimiter(normalizeArgument(args[0]), context);
|
|
8535
8404
|
return {
|
|
8536
8405
|
type: "delimsizing",
|
|
8537
8406
|
mode: context.parser.mode,
|
|
@@ -8572,10 +8441,8 @@ function assertParsed(group) {
|
|
|
8572
8441
|
defineFunction({
|
|
8573
8442
|
type: "leftright-right",
|
|
8574
8443
|
names: ["\\right"],
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
-
primitive: true
|
|
8578
|
-
},
|
|
8444
|
+
numArgs: 1,
|
|
8445
|
+
primitive: true,
|
|
8579
8446
|
handler: (context, args) => {
|
|
8580
8447
|
var color = context.parser.gullet.macros.get("\\current@color");
|
|
8581
8448
|
if (color && typeof color !== "string") {
|
|
@@ -8593,10 +8460,8 @@ defineFunction({
|
|
|
8593
8460
|
defineFunction({
|
|
8594
8461
|
type: "leftright",
|
|
8595
8462
|
names: ["\\left"],
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
primitive: true
|
|
8599
|
-
},
|
|
8463
|
+
numArgs: 1,
|
|
8464
|
+
primitive: true,
|
|
8600
8465
|
handler: (context, args) => {
|
|
8601
8466
|
var delim = checkDelimiter(args[0], context);
|
|
8602
8467
|
var parser = context.parser;
|
|
@@ -8679,10 +8544,8 @@ defineFunction({
|
|
|
8679
8544
|
defineFunction({
|
|
8680
8545
|
type: "middle",
|
|
8681
8546
|
names: ["\\middle"],
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
primitive: true
|
|
8685
|
-
},
|
|
8547
|
+
numArgs: 1,
|
|
8548
|
+
primitive: true,
|
|
8686
8549
|
handler: (context, args) => {
|
|
8687
8550
|
var delim = checkDelimiter(args[0], context);
|
|
8688
8551
|
if (!context.parser.leftrightDepth) {
|
|
@@ -8724,7 +8587,7 @@ var htmlBuilder$7 = (group, options) => {
|
|
|
8724
8587
|
var imgShift;
|
|
8725
8588
|
var isSingleChar = isCharacterBox(group.body);
|
|
8726
8589
|
if (label === "sout") {
|
|
8727
|
-
img = makeSpan(["stretchy", "sout"]);
|
|
8590
|
+
img = makeSpan(["katex-stretchy", "katex-sout"]);
|
|
8728
8591
|
img.height = options.fontMetrics().defaultRuleThickness / scale;
|
|
8729
8592
|
imgShift = -0.5 * options.fontMetrics().xHeight;
|
|
8730
8593
|
} else if (label === "phase") {
|
|
@@ -8894,16 +8757,11 @@ var mathmlBuilder$6 = (group, options) => {
|
|
|
8894
8757
|
defineFunction({
|
|
8895
8758
|
type: "enclose",
|
|
8896
8759
|
names: ["\\colorbox"],
|
|
8897
|
-
|
|
8898
|
-
|
|
8899
|
-
|
|
8900
|
-
argTypes: ["color", "hbox"]
|
|
8901
|
-
},
|
|
8760
|
+
numArgs: 2,
|
|
8761
|
+
allowedInText: true,
|
|
8762
|
+
argTypes: ["color", "hbox"],
|
|
8902
8763
|
handler(_ref, args, optArgs) {
|
|
8903
|
-
var
|
|
8904
|
-
parser,
|
|
8905
|
-
funcName
|
|
8906
|
-
} = _ref;
|
|
8764
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
8907
8765
|
var color = assertNodeType(args[0], "color-token").color;
|
|
8908
8766
|
var body = args[1];
|
|
8909
8767
|
return {
|
|
@@ -8920,16 +8778,11 @@ defineFunction({
|
|
|
8920
8778
|
defineFunction({
|
|
8921
8779
|
type: "enclose",
|
|
8922
8780
|
names: ["\\fcolorbox"],
|
|
8923
|
-
|
|
8924
|
-
|
|
8925
|
-
|
|
8926
|
-
argTypes: ["color", "color", "hbox"]
|
|
8927
|
-
},
|
|
8781
|
+
numArgs: 3,
|
|
8782
|
+
allowedInText: true,
|
|
8783
|
+
argTypes: ["color", "color", "hbox"],
|
|
8928
8784
|
handler(_ref2, args, optArgs) {
|
|
8929
|
-
var
|
|
8930
|
-
parser,
|
|
8931
|
-
funcName
|
|
8932
|
-
} = _ref2;
|
|
8785
|
+
var parser = _ref2.parser, funcName = _ref2.funcName;
|
|
8933
8786
|
var borderColor = assertNodeType(args[0], "color-token").color;
|
|
8934
8787
|
var backgroundColor = assertNodeType(args[1], "color-token").color;
|
|
8935
8788
|
var body = args[2];
|
|
@@ -8941,22 +8794,16 @@ defineFunction({
|
|
|
8941
8794
|
borderColor,
|
|
8942
8795
|
body
|
|
8943
8796
|
};
|
|
8944
|
-
}
|
|
8945
|
-
htmlBuilder: htmlBuilder$7,
|
|
8946
|
-
mathmlBuilder: mathmlBuilder$6
|
|
8797
|
+
}
|
|
8947
8798
|
});
|
|
8948
8799
|
defineFunction({
|
|
8949
8800
|
type: "enclose",
|
|
8950
8801
|
names: ["\\fbox"],
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
allowedInText: true
|
|
8955
|
-
},
|
|
8802
|
+
numArgs: 1,
|
|
8803
|
+
argTypes: ["hbox"],
|
|
8804
|
+
allowedInText: true,
|
|
8956
8805
|
handler(_ref3, args) {
|
|
8957
|
-
var
|
|
8958
|
-
parser
|
|
8959
|
-
} = _ref3;
|
|
8806
|
+
var parser = _ref3.parser;
|
|
8960
8807
|
return {
|
|
8961
8808
|
type: "enclose",
|
|
8962
8809
|
mode: parser.mode,
|
|
@@ -8968,14 +8815,9 @@ defineFunction({
|
|
|
8968
8815
|
defineFunction({
|
|
8969
8816
|
type: "enclose",
|
|
8970
8817
|
names: ["\\cancel", "\\bcancel", "\\xcancel", "\\phase"],
|
|
8971
|
-
|
|
8972
|
-
numArgs: 1
|
|
8973
|
-
},
|
|
8818
|
+
numArgs: 1,
|
|
8974
8819
|
handler(_ref4, args) {
|
|
8975
|
-
var
|
|
8976
|
-
parser,
|
|
8977
|
-
funcName
|
|
8978
|
-
} = _ref4;
|
|
8820
|
+
var parser = _ref4.parser, funcName = _ref4.funcName;
|
|
8979
8821
|
var body = args[0];
|
|
8980
8822
|
return {
|
|
8981
8823
|
type: "enclose",
|
|
@@ -8983,22 +8825,15 @@ defineFunction({
|
|
|
8983
8825
|
label: funcName,
|
|
8984
8826
|
body
|
|
8985
8827
|
};
|
|
8986
|
-
}
|
|
8987
|
-
htmlBuilder: htmlBuilder$7,
|
|
8988
|
-
mathmlBuilder: mathmlBuilder$6
|
|
8828
|
+
}
|
|
8989
8829
|
});
|
|
8990
8830
|
defineFunction({
|
|
8991
8831
|
type: "enclose",
|
|
8992
8832
|
names: ["\\sout"],
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
allowedInText: true
|
|
8996
|
-
},
|
|
8833
|
+
numArgs: 1,
|
|
8834
|
+
allowedInText: true,
|
|
8997
8835
|
handler(_ref5, args) {
|
|
8998
|
-
var
|
|
8999
|
-
parser,
|
|
9000
|
-
funcName
|
|
9001
|
-
} = _ref5;
|
|
8836
|
+
var parser = _ref5.parser, funcName = _ref5.funcName;
|
|
9002
8837
|
if (parser.mode === "math") {
|
|
9003
8838
|
parser.settings.reportNonstrict("mathVsSout", "LaTeX's \\sout works only in text mode");
|
|
9004
8839
|
}
|
|
@@ -9009,22 +8844,16 @@ defineFunction({
|
|
|
9009
8844
|
label: funcName,
|
|
9010
8845
|
body
|
|
9011
8846
|
};
|
|
9012
|
-
}
|
|
9013
|
-
htmlBuilder: htmlBuilder$7,
|
|
9014
|
-
mathmlBuilder: mathmlBuilder$6
|
|
8847
|
+
}
|
|
9015
8848
|
});
|
|
9016
8849
|
defineFunction({
|
|
9017
8850
|
type: "enclose",
|
|
9018
8851
|
names: ["\\angl"],
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
allowedInText: false
|
|
9023
|
-
},
|
|
8852
|
+
numArgs: 1,
|
|
8853
|
+
argTypes: ["hbox"],
|
|
8854
|
+
allowedInText: false,
|
|
9024
8855
|
handler(_ref6, args) {
|
|
9025
|
-
var
|
|
9026
|
-
parser
|
|
9027
|
-
} = _ref6;
|
|
8856
|
+
var parser = _ref6.parser;
|
|
9028
8857
|
return {
|
|
9029
8858
|
type: "enclose",
|
|
9030
8859
|
mode: parser.mode,
|
|
@@ -9035,20 +8864,13 @@ defineFunction({
|
|
|
9035
8864
|
});
|
|
9036
8865
|
var _environments = {};
|
|
9037
8866
|
function defineEnvironment(_ref) {
|
|
9038
|
-
var
|
|
9039
|
-
type,
|
|
9040
|
-
names,
|
|
9041
|
-
props,
|
|
9042
|
-
handler,
|
|
9043
|
-
htmlBuilder: htmlBuilder3,
|
|
9044
|
-
mathmlBuilder: mathmlBuilder3
|
|
9045
|
-
} = _ref;
|
|
8867
|
+
var type = _ref.type, names = _ref.names, props = _ref.props, handler2 = _ref.handler, htmlBuilder3 = _ref.htmlBuilder, mathmlBuilder3 = _ref.mathmlBuilder;
|
|
9046
8868
|
var data = {
|
|
9047
8869
|
type,
|
|
9048
8870
|
numArgs: props.numArgs || 0,
|
|
9049
8871
|
allowedInText: false,
|
|
9050
8872
|
numOptionalArgs: 0,
|
|
9051
|
-
handler
|
|
8873
|
+
handler: handler2
|
|
9052
8874
|
};
|
|
9053
8875
|
for (var i2 = 0; i2 < names.length; ++i2) {
|
|
9054
8876
|
_environments[names[i2]] = data;
|
|
@@ -9140,18 +8962,7 @@ function getAutoTag(name) {
|
|
|
9140
8962
|
}
|
|
9141
8963
|
}
|
|
9142
8964
|
function parseArray(parser, _ref, style) {
|
|
9143
|
-
var
|
|
9144
|
-
hskipBeforeAndAfter,
|
|
9145
|
-
addJot,
|
|
9146
|
-
cols,
|
|
9147
|
-
arraystretch,
|
|
9148
|
-
colSeparationType,
|
|
9149
|
-
autoTag,
|
|
9150
|
-
singleRow,
|
|
9151
|
-
emptySingleRow,
|
|
9152
|
-
maxNumCols,
|
|
9153
|
-
leqno
|
|
9154
|
-
} = _ref;
|
|
8965
|
+
var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, addJot = _ref.addJot, cols = _ref.cols, arraystretch = _ref.arraystretch, colSeparationType = _ref.colSeparationType, autoTag = _ref.autoTag, singleRow = _ref.singleRow, emptySingleRow = _ref.emptySingleRow, maxNumCols = _ref.maxNumCols, leqno = _ref.leqno;
|
|
9155
8966
|
parser.gullet.beginGroup();
|
|
9156
8967
|
if (!singleRow) {
|
|
9157
8968
|
parser.gullet.macros.set("\\cr", "\\\\\\relax");
|
|
@@ -9221,7 +9032,7 @@ function parseArray(parser, _ref, style) {
|
|
|
9221
9032
|
parser.consume();
|
|
9222
9033
|
} else if (next === "\\end") {
|
|
9223
9034
|
endRow();
|
|
9224
|
-
if (row2.length === 1 && cell2.type === "styling" && cell2.body.length === 1 && cell2.body[0].type === "ordgroup" && cell2.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {
|
|
9035
|
+
if (row2.length === 1 && cell2.type === "styling" && cell2.body.length === 1 && cell2.body[0].type === "ordgroup" && cell2.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow) && !Array.isArray(tags == null ? void 0 : tags[tags.length - 1]) && !(autoTag && (tags == null ? void 0 : tags[tags.length - 1]) === true)) {
|
|
9225
9036
|
body.pop();
|
|
9226
9037
|
}
|
|
9227
9038
|
if (hLinesBeforeRow.length < body.length + 1) {
|
|
@@ -9465,8 +9276,8 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
9465
9276
|
}
|
|
9466
9277
|
var tableBody = makeSpan(["mtable"], cols);
|
|
9467
9278
|
if (hlines.length > 0) {
|
|
9468
|
-
var line = makeLineSpan("hline", options, ruleThickness);
|
|
9469
|
-
var dashes = makeLineSpan("hdashline", options, ruleThickness);
|
|
9279
|
+
var line = makeLineSpan("katex-hline", options, ruleThickness);
|
|
9280
|
+
var dashes = makeLineSpan("katex-hdashline", options, ruleThickness);
|
|
9470
9281
|
var vListElems = [{
|
|
9471
9282
|
type: "elem",
|
|
9472
9283
|
elem: tableBody,
|
|
@@ -9501,7 +9312,7 @@ var htmlBuilder$6 = function htmlBuilder(group, options) {
|
|
|
9501
9312
|
positionType: "individualShift",
|
|
9502
9313
|
children: tagSpans
|
|
9503
9314
|
});
|
|
9504
|
-
var tagCol = makeSpan(["tag"], [eqnNumCol], options);
|
|
9315
|
+
var tagCol = makeSpan(["katex-tag"], [eqnNumCol], options);
|
|
9505
9316
|
return makeFragment([tableBody, tagCol]);
|
|
9506
9317
|
}
|
|
9507
9318
|
};
|
|
@@ -9611,14 +9422,13 @@ var alignedHandler = function alignedHandler2(context, args) {
|
|
|
9611
9422
|
validateAmsEnvironmentContext(context);
|
|
9612
9423
|
}
|
|
9613
9424
|
var cols = [];
|
|
9614
|
-
var separationType = context.envName.includes("at") ? "alignat" : "align";
|
|
9615
9425
|
var isSplit = context.envName === "split";
|
|
9616
9426
|
var res = parseArray(context.parser, {
|
|
9617
9427
|
cols,
|
|
9618
9428
|
addJot: true,
|
|
9619
9429
|
autoTag: isSplit ? void 0 : getAutoTag(context.envName),
|
|
9620
9430
|
emptySingleRow: true,
|
|
9621
|
-
colSeparationType:
|
|
9431
|
+
colSeparationType: context.envName.includes("at") ? "alignat" : "align",
|
|
9622
9432
|
maxNumCols: isSplit ? 2 : void 0,
|
|
9623
9433
|
leqno: context.parser.settings.leqno
|
|
9624
9434
|
}, "display");
|
|
@@ -9630,18 +9440,18 @@ var alignedHandler = function alignedHandler2(context, args) {
|
|
|
9630
9440
|
body: []
|
|
9631
9441
|
};
|
|
9632
9442
|
if (args[0] && args[0].type === "ordgroup") {
|
|
9633
|
-
var
|
|
9634
|
-
|
|
9635
|
-
|
|
9636
|
-
|
|
9443
|
+
var message = "Number of columns should be a positive integer";
|
|
9444
|
+
var numColumns = assertCharacterGroup(args[0], message);
|
|
9445
|
+
if (!/^[0-9]+$/.test(numColumns) || Number(numColumns) < 1) {
|
|
9446
|
+
throw new ParseError(message, args[0]);
|
|
9637
9447
|
}
|
|
9638
|
-
numMaths = Number(
|
|
9448
|
+
numMaths = Number(numColumns);
|
|
9639
9449
|
numCols = numMaths * 2;
|
|
9640
9450
|
}
|
|
9641
9451
|
var isAligned = !numCols;
|
|
9642
9452
|
res.body.forEach(function(row2) {
|
|
9643
|
-
for (var
|
|
9644
|
-
var styling = assertNodeType(row2[
|
|
9453
|
+
for (var i3 = 1; i3 < row2.length; i3 += 2) {
|
|
9454
|
+
var styling = assertNodeType(row2[i3], "styling");
|
|
9645
9455
|
var ordgroup = assertNodeType(styling.body[0], "ordgroup");
|
|
9646
9456
|
ordgroup.body.unshift(emptyGroup);
|
|
9647
9457
|
}
|
|
@@ -9654,15 +9464,15 @@ var alignedHandler = function alignedHandler2(context, args) {
|
|
|
9654
9464
|
numCols = row2.length;
|
|
9655
9465
|
}
|
|
9656
9466
|
});
|
|
9657
|
-
for (var
|
|
9467
|
+
for (var i2 = 0; i2 < numCols; ++i2) {
|
|
9658
9468
|
var align = "r";
|
|
9659
9469
|
var pregap = 0;
|
|
9660
|
-
if (
|
|
9470
|
+
if (i2 % 2 === 1) {
|
|
9661
9471
|
align = "l";
|
|
9662
|
-
} else if (
|
|
9472
|
+
} else if (i2 > 0 && isAligned) {
|
|
9663
9473
|
pregap = 1;
|
|
9664
9474
|
}
|
|
9665
|
-
cols[
|
|
9475
|
+
cols[i2] = {
|
|
9666
9476
|
type: "align",
|
|
9667
9477
|
align,
|
|
9668
9478
|
pregap,
|
|
@@ -9953,11 +9763,9 @@ defineFunction({
|
|
|
9953
9763
|
type: "text",
|
|
9954
9764
|
// Doesn't matter what this is.
|
|
9955
9765
|
names: ["\\hline", "\\hdashline"],
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
allowedInMath: true
|
|
9960
|
-
},
|
|
9766
|
+
numArgs: 0,
|
|
9767
|
+
allowedInText: true,
|
|
9768
|
+
allowedInMath: true,
|
|
9961
9769
|
handler(context, args) {
|
|
9962
9770
|
throw new ParseError(context.funcName + " valid only within array environment");
|
|
9963
9771
|
}
|
|
@@ -9966,32 +9774,21 @@ var environments = _environments;
|
|
|
9966
9774
|
defineFunction({
|
|
9967
9775
|
type: "environment",
|
|
9968
9776
|
names: ["\\begin", "\\end"],
|
|
9969
|
-
|
|
9970
|
-
|
|
9971
|
-
argTypes: ["text"]
|
|
9972
|
-
},
|
|
9777
|
+
numArgs: 1,
|
|
9778
|
+
argTypes: ["text"],
|
|
9973
9779
|
handler(_ref, args) {
|
|
9974
|
-
var
|
|
9975
|
-
parser,
|
|
9976
|
-
funcName
|
|
9977
|
-
} = _ref;
|
|
9780
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
9978
9781
|
var nameGroup = args[0];
|
|
9979
9782
|
if (nameGroup.type !== "ordgroup") {
|
|
9980
9783
|
throw new ParseError("Invalid environment name", nameGroup);
|
|
9981
9784
|
}
|
|
9982
|
-
var envName = "";
|
|
9983
|
-
for (var i2 = 0; i2 < nameGroup.body.length; ++i2) {
|
|
9984
|
-
envName += assertNodeType(nameGroup.body[i2], "textord").text;
|
|
9985
|
-
}
|
|
9785
|
+
var envName = assertCharacterGroup(nameGroup, "Environment name should contain only text characters and spaces", true);
|
|
9986
9786
|
if (funcName === "\\begin") {
|
|
9987
|
-
if (!
|
|
9787
|
+
if (!Object.prototype.hasOwnProperty.call(environments, envName)) {
|
|
9988
9788
|
throw new ParseError("No such environment: " + envName, nameGroup);
|
|
9989
9789
|
}
|
|
9990
9790
|
var env = environments[envName];
|
|
9991
|
-
var {
|
|
9992
|
-
args: _args,
|
|
9993
|
-
optArgs
|
|
9994
|
-
} = parser.parseArguments("\\begin{" + envName + "}", env);
|
|
9791
|
+
var _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), _args = _parser$parseArgument.args, optArgs = _parser$parseArgument.optArgs;
|
|
9995
9792
|
var context = {
|
|
9996
9793
|
mode: parser.mode,
|
|
9997
9794
|
envName,
|
|
@@ -10050,20 +9847,12 @@ defineFunction({
|
|
|
10050
9847
|
"\\bold",
|
|
10051
9848
|
"\\frak"
|
|
10052
9849
|
],
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
allowedInArgument: true
|
|
10056
|
-
},
|
|
9850
|
+
numArgs: 1,
|
|
9851
|
+
allowedInArgument: true,
|
|
10057
9852
|
handler: (_ref, args) => {
|
|
10058
|
-
var
|
|
10059
|
-
parser,
|
|
10060
|
-
funcName
|
|
10061
|
-
} = _ref;
|
|
9853
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
10062
9854
|
var body = normalizeArgument(args[0]);
|
|
10063
|
-
var func = funcName;
|
|
10064
|
-
if (func in fontAliases) {
|
|
10065
|
-
func = fontAliases[func];
|
|
10066
|
-
}
|
|
9855
|
+
var func = funcName in fontAliases ? fontAliases[funcName] : funcName;
|
|
10067
9856
|
return {
|
|
10068
9857
|
type: "font",
|
|
10069
9858
|
mode: parser.mode,
|
|
@@ -10077,13 +9866,9 @@ defineFunction({
|
|
|
10077
9866
|
defineFunction({
|
|
10078
9867
|
type: "mclass",
|
|
10079
9868
|
names: ["\\boldsymbol", "\\bm"],
|
|
10080
|
-
|
|
10081
|
-
numArgs: 1
|
|
10082
|
-
},
|
|
9869
|
+
numArgs: 1,
|
|
10083
9870
|
handler: (_ref2, args) => {
|
|
10084
|
-
var
|
|
10085
|
-
parser
|
|
10086
|
-
} = _ref2;
|
|
9871
|
+
var parser = _ref2.parser;
|
|
10087
9872
|
var body = args[0];
|
|
10088
9873
|
return {
|
|
10089
9874
|
type: "mclass",
|
|
@@ -10102,19 +9887,11 @@ defineFunction({
|
|
|
10102
9887
|
defineFunction({
|
|
10103
9888
|
type: "font",
|
|
10104
9889
|
names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"],
|
|
10105
|
-
|
|
10106
|
-
|
|
10107
|
-
allowedInText: true
|
|
10108
|
-
},
|
|
9890
|
+
numArgs: 0,
|
|
9891
|
+
allowedInText: true,
|
|
10109
9892
|
handler: (_ref3, args) => {
|
|
10110
|
-
var
|
|
10111
|
-
|
|
10112
|
-
funcName,
|
|
10113
|
-
breakOnTokenText
|
|
10114
|
-
} = _ref3;
|
|
10115
|
-
var {
|
|
10116
|
-
mode
|
|
10117
|
-
} = parser;
|
|
9893
|
+
var parser = _ref3.parser, funcName = _ref3.funcName, breakOnTokenText = _ref3.breakOnTokenText;
|
|
9894
|
+
var mode = parser.mode;
|
|
10118
9895
|
var body = parser.parseExpression(true, breakOnTokenText);
|
|
10119
9896
|
return {
|
|
10120
9897
|
type: "font",
|
|
@@ -10126,9 +9903,7 @@ defineFunction({
|
|
|
10126
9903
|
body
|
|
10127
9904
|
}
|
|
10128
9905
|
};
|
|
10129
|
-
}
|
|
10130
|
-
htmlBuilder: htmlBuilder$5,
|
|
10131
|
-
mathmlBuilder: mathmlBuilder$4
|
|
9906
|
+
}
|
|
10132
9907
|
});
|
|
10133
9908
|
var htmlBuilder$4 = (group, options) => {
|
|
10134
9909
|
var style = options.style;
|
|
@@ -10308,15 +10083,10 @@ defineFunction({
|
|
|
10308
10083
|
"\\\\brackfrac"
|
|
10309
10084
|
// ditto
|
|
10310
10085
|
],
|
|
10311
|
-
|
|
10312
|
-
|
|
10313
|
-
allowedInArgument: true
|
|
10314
|
-
},
|
|
10086
|
+
numArgs: 2,
|
|
10087
|
+
allowedInArgument: true,
|
|
10315
10088
|
handler: (_ref, args) => {
|
|
10316
|
-
var
|
|
10317
|
-
parser,
|
|
10318
|
-
funcName
|
|
10319
|
-
} = _ref;
|
|
10089
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
10320
10090
|
var numer = args[0];
|
|
10321
10091
|
var denom = args[1];
|
|
10322
10092
|
var hasBarLine;
|
|
@@ -10377,16 +10147,10 @@ defineFunction({
|
|
|
10377
10147
|
defineFunction({
|
|
10378
10148
|
type: "infix",
|
|
10379
10149
|
names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"],
|
|
10380
|
-
|
|
10381
|
-
|
|
10382
|
-
infix: true
|
|
10383
|
-
},
|
|
10150
|
+
numArgs: 0,
|
|
10151
|
+
infix: true,
|
|
10384
10152
|
handler(_ref2) {
|
|
10385
|
-
var
|
|
10386
|
-
parser,
|
|
10387
|
-
funcName,
|
|
10388
|
-
token
|
|
10389
|
-
} = _ref2;
|
|
10153
|
+
var parser = _ref2.parser, funcName = _ref2.funcName, token = _ref2.token;
|
|
10390
10154
|
var replaceWith;
|
|
10391
10155
|
switch (funcName) {
|
|
10392
10156
|
case "\\over":
|
|
@@ -10427,15 +10191,11 @@ var delimFromValue = function delimFromValue2(delimString) {
|
|
|
10427
10191
|
defineFunction({
|
|
10428
10192
|
type: "genfrac",
|
|
10429
10193
|
names: ["\\genfrac"],
|
|
10430
|
-
|
|
10431
|
-
|
|
10432
|
-
|
|
10433
|
-
argTypes: ["math", "math", "size", "text", "math", "math"]
|
|
10434
|
-
},
|
|
10194
|
+
numArgs: 6,
|
|
10195
|
+
allowedInArgument: true,
|
|
10196
|
+
argTypes: ["math", "math", "size", "text", "math", "math"],
|
|
10435
10197
|
handler(_ref3, args) {
|
|
10436
|
-
var
|
|
10437
|
-
parser
|
|
10438
|
-
} = _ref3;
|
|
10198
|
+
var parser = _ref3.parser;
|
|
10439
10199
|
var numer = args[4];
|
|
10440
10200
|
var denom = args[5];
|
|
10441
10201
|
var leftNode = normalizeArgument(args[0]);
|
|
@@ -10478,17 +10238,13 @@ defineFunction({
|
|
|
10478
10238
|
defineFunction({
|
|
10479
10239
|
type: "infix",
|
|
10480
10240
|
names: ["\\above"],
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
infix: true
|
|
10485
|
-
},
|
|
10241
|
+
numArgs: 1,
|
|
10242
|
+
argTypes: ["size"],
|
|
10243
|
+
infix: true,
|
|
10486
10244
|
handler(_ref4, args) {
|
|
10487
|
-
var
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
token
|
|
10491
|
-
} = _ref4;
|
|
10245
|
+
var parser = _ref4.parser;
|
|
10246
|
+
_ref4.funcName;
|
|
10247
|
+
var token = _ref4.token;
|
|
10492
10248
|
return {
|
|
10493
10249
|
type: "infix",
|
|
10494
10250
|
mode: parser.mode,
|
|
@@ -10501,15 +10257,11 @@ defineFunction({
|
|
|
10501
10257
|
defineFunction({
|
|
10502
10258
|
type: "genfrac",
|
|
10503
10259
|
names: ["\\\\abovefrac"],
|
|
10504
|
-
|
|
10505
|
-
|
|
10506
|
-
argTypes: ["math", "size", "math"]
|
|
10507
|
-
},
|
|
10260
|
+
numArgs: 3,
|
|
10261
|
+
argTypes: ["math", "size", "math"],
|
|
10508
10262
|
handler: (_ref5, args) => {
|
|
10509
|
-
var
|
|
10510
|
-
|
|
10511
|
-
funcName
|
|
10512
|
-
} = _ref5;
|
|
10263
|
+
var parser = _ref5.parser;
|
|
10264
|
+
_ref5.funcName;
|
|
10513
10265
|
var numer = args[0];
|
|
10514
10266
|
var barSize = assertNodeType(args[1], "infix").size;
|
|
10515
10267
|
if (!barSize) {
|
|
@@ -10617,14 +10369,9 @@ var mathmlBuilder$2 = (group, options) => {
|
|
|
10617
10369
|
defineFunction({
|
|
10618
10370
|
type: "horizBrace",
|
|
10619
10371
|
names: ["\\overbrace", "\\underbrace", "\\overbracket", "\\underbracket"],
|
|
10620
|
-
|
|
10621
|
-
numArgs: 1
|
|
10622
|
-
},
|
|
10372
|
+
numArgs: 1,
|
|
10623
10373
|
handler(_ref, args) {
|
|
10624
|
-
var
|
|
10625
|
-
parser,
|
|
10626
|
-
funcName
|
|
10627
|
-
} = _ref;
|
|
10374
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
10628
10375
|
return {
|
|
10629
10376
|
type: "horizBrace",
|
|
10630
10377
|
mode: parser.mode,
|
|
@@ -10639,15 +10386,11 @@ defineFunction({
|
|
|
10639
10386
|
defineFunction({
|
|
10640
10387
|
type: "href",
|
|
10641
10388
|
names: ["\\href"],
|
|
10642
|
-
|
|
10643
|
-
|
|
10644
|
-
|
|
10645
|
-
allowedInText: true
|
|
10646
|
-
},
|
|
10389
|
+
numArgs: 2,
|
|
10390
|
+
argTypes: ["url", "original"],
|
|
10391
|
+
allowedInText: true,
|
|
10647
10392
|
handler: (_ref, args) => {
|
|
10648
|
-
var
|
|
10649
|
-
parser
|
|
10650
|
-
} = _ref;
|
|
10393
|
+
var parser = _ref.parser;
|
|
10651
10394
|
var body = args[1];
|
|
10652
10395
|
var href = assertNodeType(args[0], "url").url;
|
|
10653
10396
|
if (!parser.settings.isTrusted({
|
|
@@ -10679,15 +10422,11 @@ defineFunction({
|
|
|
10679
10422
|
defineFunction({
|
|
10680
10423
|
type: "href",
|
|
10681
10424
|
names: ["\\url"],
|
|
10682
|
-
|
|
10683
|
-
|
|
10684
|
-
|
|
10685
|
-
allowedInText: true
|
|
10686
|
-
},
|
|
10425
|
+
numArgs: 1,
|
|
10426
|
+
argTypes: ["url"],
|
|
10427
|
+
allowedInText: true,
|
|
10687
10428
|
handler: (_ref2, args) => {
|
|
10688
|
-
var
|
|
10689
|
-
parser
|
|
10690
|
-
} = _ref2;
|
|
10429
|
+
var parser = _ref2.parser;
|
|
10691
10430
|
var href = assertNodeType(args[0], "url").url;
|
|
10692
10431
|
if (!parser.settings.isTrusted({
|
|
10693
10432
|
command: "\\url",
|
|
@@ -10724,16 +10463,12 @@ defineFunction({
|
|
|
10724
10463
|
defineFunction({
|
|
10725
10464
|
type: "hbox",
|
|
10726
10465
|
names: ["\\hbox"],
|
|
10727
|
-
|
|
10728
|
-
|
|
10729
|
-
|
|
10730
|
-
|
|
10731
|
-
primitive: true
|
|
10732
|
-
},
|
|
10466
|
+
numArgs: 1,
|
|
10467
|
+
argTypes: ["text"],
|
|
10468
|
+
allowedInText: true,
|
|
10469
|
+
primitive: true,
|
|
10733
10470
|
handler(_ref, args) {
|
|
10734
|
-
var
|
|
10735
|
-
parser
|
|
10736
|
-
} = _ref;
|
|
10471
|
+
var parser = _ref.parser;
|
|
10737
10472
|
return {
|
|
10738
10473
|
type: "hbox",
|
|
10739
10474
|
mode: parser.mode,
|
|
@@ -10751,17 +10486,12 @@ defineFunction({
|
|
|
10751
10486
|
defineFunction({
|
|
10752
10487
|
type: "html",
|
|
10753
10488
|
names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"],
|
|
10754
|
-
|
|
10755
|
-
|
|
10756
|
-
|
|
10757
|
-
allowedInText: true
|
|
10758
|
-
},
|
|
10489
|
+
numArgs: 2,
|
|
10490
|
+
argTypes: ["raw", "original"],
|
|
10491
|
+
allowedInText: true,
|
|
10759
10492
|
handler: (_ref, args) => {
|
|
10760
|
-
var
|
|
10761
|
-
|
|
10762
|
-
funcName,
|
|
10763
|
-
token
|
|
10764
|
-
} = _ref;
|
|
10493
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
10494
|
+
_ref.token;
|
|
10765
10495
|
var value = assertNodeType(args[0], "raw").string;
|
|
10766
10496
|
var body = args[1];
|
|
10767
10497
|
if (parser.settings.strict) {
|
|
@@ -10792,9 +10522,23 @@ defineFunction({
|
|
|
10792
10522
|
};
|
|
10793
10523
|
break;
|
|
10794
10524
|
case "\\htmlData": {
|
|
10795
|
-
var
|
|
10796
|
-
|
|
10797
|
-
|
|
10525
|
+
var ESCAPED_COMMA = "{,}";
|
|
10526
|
+
var data = [];
|
|
10527
|
+
var current = "";
|
|
10528
|
+
for (var i2 = 0; i2 < value.length; i2++) {
|
|
10529
|
+
if (value.startsWith(ESCAPED_COMMA, i2)) {
|
|
10530
|
+
current += ",";
|
|
10531
|
+
i2 += ESCAPED_COMMA.length - 1;
|
|
10532
|
+
} else if (value[i2] === ",") {
|
|
10533
|
+
data.push(current);
|
|
10534
|
+
current = "";
|
|
10535
|
+
} else {
|
|
10536
|
+
current += value[i2];
|
|
10537
|
+
}
|
|
10538
|
+
}
|
|
10539
|
+
data.push(current);
|
|
10540
|
+
for (var _i6 = 0; _i6 < data.length; _i6++) {
|
|
10541
|
+
var item = data[_i6];
|
|
10798
10542
|
var firstEquals = item.indexOf("=");
|
|
10799
10543
|
if (firstEquals < 0) {
|
|
10800
10544
|
throw new ParseError("\\htmlData key/value '" + item + "' missing equals sign");
|
|
@@ -10829,9 +10573,11 @@ defineFunction({
|
|
|
10829
10573
|
classes.push(...group.attributes.class.trim().split(/\s+/));
|
|
10830
10574
|
}
|
|
10831
10575
|
var span = makeSpan(classes, elements, options);
|
|
10832
|
-
for (var
|
|
10833
|
-
|
|
10834
|
-
|
|
10576
|
+
for (var _ref3 of Object.entries(group.attributes)) {
|
|
10577
|
+
var attr = _ref3[0];
|
|
10578
|
+
var value = _ref3[1];
|
|
10579
|
+
if (attr !== "class") {
|
|
10580
|
+
span.setAttribute(attr, value);
|
|
10835
10581
|
}
|
|
10836
10582
|
}
|
|
10837
10583
|
return span;
|
|
@@ -10843,15 +10589,11 @@ defineFunction({
|
|
|
10843
10589
|
defineFunction({
|
|
10844
10590
|
type: "htmlmathml",
|
|
10845
10591
|
names: ["\\html@mathml"],
|
|
10846
|
-
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
allowedInText: true
|
|
10850
|
-
},
|
|
10592
|
+
numArgs: 2,
|
|
10593
|
+
allowedInArgument: true,
|
|
10594
|
+
allowedInText: true,
|
|
10851
10595
|
handler: (_ref, args) => {
|
|
10852
|
-
var
|
|
10853
|
-
parser
|
|
10854
|
-
} = _ref;
|
|
10596
|
+
var parser = _ref.parser;
|
|
10855
10597
|
return {
|
|
10856
10598
|
type: "htmlmathml",
|
|
10857
10599
|
mode: parser.mode,
|
|
@@ -10892,16 +10634,12 @@ var sizeData = function sizeData2(str) {
|
|
|
10892
10634
|
defineFunction({
|
|
10893
10635
|
type: "includegraphics",
|
|
10894
10636
|
names: ["\\includegraphics"],
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
allowedInText: false
|
|
10900
|
-
},
|
|
10637
|
+
numArgs: 1,
|
|
10638
|
+
numOptionalArgs: 1,
|
|
10639
|
+
argTypes: ["raw", "url"],
|
|
10640
|
+
allowedInText: false,
|
|
10901
10641
|
handler: (_ref, args, optArgs) => {
|
|
10902
|
-
var
|
|
10903
|
-
parser
|
|
10904
|
-
} = _ref;
|
|
10642
|
+
var parser = _ref.parser;
|
|
10905
10643
|
var width = {
|
|
10906
10644
|
number: 0,
|
|
10907
10645
|
unit: "em"
|
|
@@ -11008,17 +10746,12 @@ defineFunction({
|
|
|
11008
10746
|
defineFunction({
|
|
11009
10747
|
type: "kern",
|
|
11010
10748
|
names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"],
|
|
11011
|
-
|
|
11012
|
-
|
|
11013
|
-
|
|
11014
|
-
|
|
11015
|
-
allowedInText: true
|
|
11016
|
-
},
|
|
10749
|
+
numArgs: 1,
|
|
10750
|
+
argTypes: ["size"],
|
|
10751
|
+
primitive: true,
|
|
10752
|
+
allowedInText: true,
|
|
11017
10753
|
handler(_ref, args) {
|
|
11018
|
-
var
|
|
11019
|
-
parser,
|
|
11020
|
-
funcName
|
|
11021
|
-
} = _ref;
|
|
10754
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
11022
10755
|
var size = assertNodeType(args[0], "size");
|
|
11023
10756
|
if (parser.settings.strict) {
|
|
11024
10757
|
var mathFunction = funcName[1] === "m";
|
|
@@ -11053,15 +10786,10 @@ defineFunction({
|
|
|
11053
10786
|
defineFunction({
|
|
11054
10787
|
type: "lap",
|
|
11055
10788
|
names: ["\\mathllap", "\\mathrlap", "\\mathclap"],
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
allowedInText: true
|
|
11059
|
-
},
|
|
10789
|
+
numArgs: 1,
|
|
10790
|
+
allowedInText: true,
|
|
11060
10791
|
handler: (_ref, args) => {
|
|
11061
|
-
var
|
|
11062
|
-
parser,
|
|
11063
|
-
funcName
|
|
11064
|
-
} = _ref;
|
|
10792
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
11065
10793
|
var body = args[0];
|
|
11066
10794
|
return {
|
|
11067
10795
|
type: "lap",
|
|
@@ -11074,20 +10802,20 @@ defineFunction({
|
|
|
11074
10802
|
var inner2;
|
|
11075
10803
|
if (group.alignment === "clap") {
|
|
11076
10804
|
inner2 = makeSpan([], [buildGroup$1(group.body, options)]);
|
|
11077
|
-
inner2 = makeSpan(["inner"], [inner2], options);
|
|
10805
|
+
inner2 = makeSpan(["katex-inner"], [inner2], options);
|
|
11078
10806
|
} else {
|
|
11079
|
-
inner2 = makeSpan(["inner"], [buildGroup$1(group.body, options)]);
|
|
10807
|
+
inner2 = makeSpan(["katex-inner"], [buildGroup$1(group.body, options)]);
|
|
11080
10808
|
}
|
|
11081
|
-
var fix = makeSpan(["fix"], []);
|
|
10809
|
+
var fix = makeSpan(["katex-fix"], []);
|
|
11082
10810
|
var node = makeSpan([group.alignment], [inner2, fix], options);
|
|
11083
|
-
var strut = makeSpan(["strut"]);
|
|
10811
|
+
var strut = makeSpan(["katex-strut"]);
|
|
11084
10812
|
strut.style.height = makeEm(node.height + node.depth);
|
|
11085
10813
|
if (node.depth) {
|
|
11086
10814
|
strut.style.verticalAlign = makeEm(-node.depth);
|
|
11087
10815
|
}
|
|
11088
10816
|
node.children.unshift(strut);
|
|
11089
|
-
node = makeSpan(["thinbox"], [node], options);
|
|
11090
|
-
return makeSpan(["mord", "vbox"], [node], options);
|
|
10817
|
+
node = makeSpan(["katex-thinbox"], [node], options);
|
|
10818
|
+
return makeSpan(["mord", "katex-vbox"], [node], options);
|
|
11091
10819
|
},
|
|
11092
10820
|
mathmlBuilder: (group, options) => {
|
|
11093
10821
|
var node = new MathNode("mpadded", [buildGroup2(group.body, options)]);
|
|
@@ -11102,16 +10830,11 @@ defineFunction({
|
|
|
11102
10830
|
defineFunction({
|
|
11103
10831
|
type: "styling",
|
|
11104
10832
|
names: ["\\(", "$"],
|
|
11105
|
-
|
|
11106
|
-
|
|
11107
|
-
|
|
11108
|
-
allowedInMath: false
|
|
11109
|
-
},
|
|
10833
|
+
numArgs: 0,
|
|
10834
|
+
allowedInText: true,
|
|
10835
|
+
allowedInMath: false,
|
|
11110
10836
|
handler(_ref, args) {
|
|
11111
|
-
var
|
|
11112
|
-
funcName,
|
|
11113
|
-
parser
|
|
11114
|
-
} = _ref;
|
|
10837
|
+
var funcName = _ref.funcName, parser = _ref.parser;
|
|
11115
10838
|
var outerMode = parser.mode;
|
|
11116
10839
|
parser.switchMode("math");
|
|
11117
10840
|
var close2 = funcName === "\\(" ? "\\)" : "$";
|
|
@@ -11131,11 +10854,9 @@ defineFunction({
|
|
|
11131
10854
|
type: "text",
|
|
11132
10855
|
// Doesn't matter what this is.
|
|
11133
10856
|
names: ["\\)", "\\]"],
|
|
11134
|
-
|
|
11135
|
-
|
|
11136
|
-
|
|
11137
|
-
allowedInMath: false
|
|
11138
|
-
},
|
|
10857
|
+
numArgs: 0,
|
|
10858
|
+
allowedInText: true,
|
|
10859
|
+
allowedInMath: false,
|
|
11139
10860
|
handler(context, args) {
|
|
11140
10861
|
throw new ParseError("Mismatched " + context.funcName);
|
|
11141
10862
|
}
|
|
@@ -11157,14 +10878,10 @@ var chooseMathStyle = (group, options) => {
|
|
|
11157
10878
|
defineFunction({
|
|
11158
10879
|
type: "mathchoice",
|
|
11159
10880
|
names: ["\\mathchoice"],
|
|
11160
|
-
|
|
11161
|
-
|
|
11162
|
-
primitive: true
|
|
11163
|
-
},
|
|
10881
|
+
numArgs: 4,
|
|
10882
|
+
primitive: true,
|
|
11164
10883
|
handler: (_ref, args) => {
|
|
11165
|
-
var
|
|
11166
|
-
parser
|
|
11167
|
-
} = _ref;
|
|
10884
|
+
var parser = _ref.parser;
|
|
11168
10885
|
return {
|
|
11169
10886
|
type: "mathchoice",
|
|
11170
10887
|
mode: parser.mode,
|
|
@@ -11402,14 +11119,9 @@ var singleCharBigOps = {
|
|
|
11402
11119
|
defineFunction({
|
|
11403
11120
|
type: "op",
|
|
11404
11121
|
names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22C0", "\u22C1", "\u22C2", "\u22C3", "\u2A00", "\u2A01", "\u2A02", "\u2A04", "\u2A06"],
|
|
11405
|
-
|
|
11406
|
-
numArgs: 0
|
|
11407
|
-
},
|
|
11122
|
+
numArgs: 0,
|
|
11408
11123
|
handler: (_ref, args) => {
|
|
11409
|
-
var
|
|
11410
|
-
parser,
|
|
11411
|
-
funcName
|
|
11412
|
-
} = _ref;
|
|
11124
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
11413
11125
|
var fName = funcName;
|
|
11414
11126
|
if (fName.length === 1) {
|
|
11415
11127
|
fName = singleCharBigOps[fName];
|
|
@@ -11429,14 +11141,10 @@ defineFunction({
|
|
|
11429
11141
|
defineFunction({
|
|
11430
11142
|
type: "op",
|
|
11431
11143
|
names: ["\\mathop"],
|
|
11432
|
-
|
|
11433
|
-
|
|
11434
|
-
primitive: true
|
|
11435
|
-
},
|
|
11144
|
+
numArgs: 1,
|
|
11145
|
+
primitive: true,
|
|
11436
11146
|
handler: (_ref2, args) => {
|
|
11437
|
-
var
|
|
11438
|
-
parser
|
|
11439
|
-
} = _ref2;
|
|
11147
|
+
var parser = _ref2.parser;
|
|
11440
11148
|
var body = args[0];
|
|
11441
11149
|
return {
|
|
11442
11150
|
type: "op",
|
|
@@ -11446,9 +11154,7 @@ defineFunction({
|
|
|
11446
11154
|
symbol: false,
|
|
11447
11155
|
body: ordargument(body)
|
|
11448
11156
|
};
|
|
11449
|
-
}
|
|
11450
|
-
htmlBuilder: htmlBuilder$2,
|
|
11451
|
-
mathmlBuilder: mathmlBuilder$1
|
|
11157
|
+
}
|
|
11452
11158
|
});
|
|
11453
11159
|
var singleCharIntegrals = {
|
|
11454
11160
|
"\u222B": "\\int",
|
|
@@ -11461,14 +11167,9 @@ var singleCharIntegrals = {
|
|
|
11461
11167
|
defineFunction({
|
|
11462
11168
|
type: "op",
|
|
11463
11169
|
names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"],
|
|
11464
|
-
|
|
11465
|
-
numArgs: 0
|
|
11466
|
-
},
|
|
11170
|
+
numArgs: 0,
|
|
11467
11171
|
handler(_ref3) {
|
|
11468
|
-
var
|
|
11469
|
-
parser,
|
|
11470
|
-
funcName
|
|
11471
|
-
} = _ref3;
|
|
11172
|
+
var parser = _ref3.parser, funcName = _ref3.funcName;
|
|
11472
11173
|
return {
|
|
11473
11174
|
type: "op",
|
|
11474
11175
|
mode: parser.mode,
|
|
@@ -11477,21 +11178,14 @@ defineFunction({
|
|
|
11477
11178
|
symbol: false,
|
|
11478
11179
|
name: funcName
|
|
11479
11180
|
};
|
|
11480
|
-
}
|
|
11481
|
-
htmlBuilder: htmlBuilder$2,
|
|
11482
|
-
mathmlBuilder: mathmlBuilder$1
|
|
11181
|
+
}
|
|
11483
11182
|
});
|
|
11484
11183
|
defineFunction({
|
|
11485
11184
|
type: "op",
|
|
11486
11185
|
names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"],
|
|
11487
|
-
|
|
11488
|
-
numArgs: 0
|
|
11489
|
-
},
|
|
11186
|
+
numArgs: 0,
|
|
11490
11187
|
handler(_ref4) {
|
|
11491
|
-
var
|
|
11492
|
-
parser,
|
|
11493
|
-
funcName
|
|
11494
|
-
} = _ref4;
|
|
11188
|
+
var parser = _ref4.parser, funcName = _ref4.funcName;
|
|
11495
11189
|
return {
|
|
11496
11190
|
type: "op",
|
|
11497
11191
|
mode: parser.mode,
|
|
@@ -11500,22 +11194,15 @@ defineFunction({
|
|
|
11500
11194
|
symbol: false,
|
|
11501
11195
|
name: funcName
|
|
11502
11196
|
};
|
|
11503
|
-
}
|
|
11504
|
-
htmlBuilder: htmlBuilder$2,
|
|
11505
|
-
mathmlBuilder: mathmlBuilder$1
|
|
11197
|
+
}
|
|
11506
11198
|
});
|
|
11507
11199
|
defineFunction({
|
|
11508
11200
|
type: "op",
|
|
11509
11201
|
names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222B", "\u222C", "\u222D", "\u222E", "\u222F", "\u2230"],
|
|
11510
|
-
|
|
11511
|
-
|
|
11512
|
-
allowedInArgument: true
|
|
11513
|
-
},
|
|
11202
|
+
numArgs: 0,
|
|
11203
|
+
allowedInArgument: true,
|
|
11514
11204
|
handler(_ref5) {
|
|
11515
|
-
var
|
|
11516
|
-
parser,
|
|
11517
|
-
funcName
|
|
11518
|
-
} = _ref5;
|
|
11205
|
+
var parser = _ref5.parser, funcName = _ref5.funcName;
|
|
11519
11206
|
var fName = funcName;
|
|
11520
11207
|
if (fName.length === 1) {
|
|
11521
11208
|
fName = singleCharIntegrals[fName];
|
|
@@ -11528,9 +11215,7 @@ defineFunction({
|
|
|
11528
11215
|
symbol: true,
|
|
11529
11216
|
name: fName
|
|
11530
11217
|
};
|
|
11531
|
-
}
|
|
11532
|
-
htmlBuilder: htmlBuilder$2,
|
|
11533
|
-
mathmlBuilder: mathmlBuilder$1
|
|
11218
|
+
}
|
|
11534
11219
|
});
|
|
11535
11220
|
var htmlBuilder$1 = (grp, options) => {
|
|
11536
11221
|
var supGroup;
|
|
@@ -11622,14 +11307,9 @@ var mathmlBuilder2 = (group, options) => {
|
|
|
11622
11307
|
defineFunction({
|
|
11623
11308
|
type: "operatorname",
|
|
11624
11309
|
names: ["\\operatorname@", "\\operatornamewithlimits"],
|
|
11625
|
-
|
|
11626
|
-
numArgs: 1
|
|
11627
|
-
},
|
|
11310
|
+
numArgs: 1,
|
|
11628
11311
|
handler: (_ref, args) => {
|
|
11629
|
-
var
|
|
11630
|
-
parser,
|
|
11631
|
-
funcName
|
|
11632
|
-
} = _ref;
|
|
11312
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
11633
11313
|
var body = args[0];
|
|
11634
11314
|
return {
|
|
11635
11315
|
type: "operatorname",
|
|
@@ -11659,13 +11339,9 @@ defineFunctionBuilders({
|
|
|
11659
11339
|
defineFunction({
|
|
11660
11340
|
type: "overline",
|
|
11661
11341
|
names: ["\\overline"],
|
|
11662
|
-
|
|
11663
|
-
numArgs: 1
|
|
11664
|
-
},
|
|
11342
|
+
numArgs: 1,
|
|
11665
11343
|
handler(_ref, args) {
|
|
11666
|
-
var
|
|
11667
|
-
parser
|
|
11668
|
-
} = _ref;
|
|
11344
|
+
var parser = _ref.parser;
|
|
11669
11345
|
var body = args[0];
|
|
11670
11346
|
return {
|
|
11671
11347
|
type: "overline",
|
|
@@ -11693,7 +11369,7 @@ defineFunction({
|
|
|
11693
11369
|
size: defaultRuleThickness
|
|
11694
11370
|
}]
|
|
11695
11371
|
});
|
|
11696
|
-
return makeSpan(["mord", "overline"], [vlist], options);
|
|
11372
|
+
return makeSpan(["mord", "katex-overline"], [vlist], options);
|
|
11697
11373
|
},
|
|
11698
11374
|
mathmlBuilder(group, options) {
|
|
11699
11375
|
var operator = new MathNode("mo", [new TextNode("\u203E")]);
|
|
@@ -11706,14 +11382,10 @@ defineFunction({
|
|
|
11706
11382
|
defineFunction({
|
|
11707
11383
|
type: "phantom",
|
|
11708
11384
|
names: ["\\phantom"],
|
|
11709
|
-
|
|
11710
|
-
|
|
11711
|
-
allowedInText: true
|
|
11712
|
-
},
|
|
11385
|
+
numArgs: 1,
|
|
11386
|
+
allowedInText: true,
|
|
11713
11387
|
handler: (_ref, args) => {
|
|
11714
|
-
var
|
|
11715
|
-
parser
|
|
11716
|
-
} = _ref;
|
|
11388
|
+
var parser = _ref.parser;
|
|
11717
11389
|
var body = args[0];
|
|
11718
11390
|
return {
|
|
11719
11391
|
type: "phantom",
|
|
@@ -11734,14 +11406,10 @@ defineMacro("\\hphantom", "\\smash{\\phantom{#1}}");
|
|
|
11734
11406
|
defineFunction({
|
|
11735
11407
|
type: "vphantom",
|
|
11736
11408
|
names: ["\\vphantom"],
|
|
11737
|
-
|
|
11738
|
-
|
|
11739
|
-
allowedInText: true
|
|
11740
|
-
},
|
|
11409
|
+
numArgs: 1,
|
|
11410
|
+
allowedInText: true,
|
|
11741
11411
|
handler: (_ref2, args) => {
|
|
11742
|
-
var
|
|
11743
|
-
parser
|
|
11744
|
-
} = _ref2;
|
|
11412
|
+
var parser = _ref2.parser;
|
|
11745
11413
|
var body = args[0];
|
|
11746
11414
|
return {
|
|
11747
11415
|
type: "vphantom",
|
|
@@ -11750,8 +11418,8 @@ defineFunction({
|
|
|
11750
11418
|
};
|
|
11751
11419
|
},
|
|
11752
11420
|
htmlBuilder: (group, options) => {
|
|
11753
|
-
var inner2 = makeSpan(["inner"], [buildGroup$1(group.body, options.withPhantom())]);
|
|
11754
|
-
var fix = makeSpan(["fix"], []);
|
|
11421
|
+
var inner2 = makeSpan(["katex-inner"], [buildGroup$1(group.body, options.withPhantom())]);
|
|
11422
|
+
var fix = makeSpan(["katex-fix"], []);
|
|
11755
11423
|
return makeSpan(["mord", "rlap"], [inner2, fix], options);
|
|
11756
11424
|
},
|
|
11757
11425
|
mathmlBuilder: (group, options) => {
|
|
@@ -11765,15 +11433,11 @@ defineFunction({
|
|
|
11765
11433
|
defineFunction({
|
|
11766
11434
|
type: "raisebox",
|
|
11767
11435
|
names: ["\\raisebox"],
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
|
|
11771
|
-
allowedInText: true
|
|
11772
|
-
},
|
|
11436
|
+
numArgs: 2,
|
|
11437
|
+
argTypes: ["size", "hbox"],
|
|
11438
|
+
allowedInText: true,
|
|
11773
11439
|
handler(_ref, args) {
|
|
11774
|
-
var
|
|
11775
|
-
parser
|
|
11776
|
-
} = _ref;
|
|
11440
|
+
var parser = _ref.parser;
|
|
11777
11441
|
var amount = assertNodeType(args[0], "size").value;
|
|
11778
11442
|
var body = args[1];
|
|
11779
11443
|
return {
|
|
@@ -11802,18 +11466,43 @@ defineFunction({
|
|
|
11802
11466
|
return node;
|
|
11803
11467
|
}
|
|
11804
11468
|
});
|
|
11469
|
+
var handler = (_ref, args) => {
|
|
11470
|
+
var parser = _ref.parser;
|
|
11471
|
+
return {
|
|
11472
|
+
type: "reflectbox",
|
|
11473
|
+
mode: parser.mode,
|
|
11474
|
+
body: args[0]
|
|
11475
|
+
};
|
|
11476
|
+
};
|
|
11477
|
+
defineFunction({
|
|
11478
|
+
type: "reflectbox",
|
|
11479
|
+
names: ["\\reflectbox"],
|
|
11480
|
+
numArgs: 1,
|
|
11481
|
+
argTypes: ["hbox"],
|
|
11482
|
+
allowedInText: true,
|
|
11483
|
+
handler,
|
|
11484
|
+
htmlBuilder(group, options) {
|
|
11485
|
+
return makeSpan(["mord", "reflectbox"], [buildGroup$1(group.body, options)], options);
|
|
11486
|
+
},
|
|
11487
|
+
mathmlBuilder(group, options) {
|
|
11488
|
+
return buildGroup2(group.body, options);
|
|
11489
|
+
}
|
|
11490
|
+
});
|
|
11491
|
+
defineFunction({
|
|
11492
|
+
type: "reflectbox",
|
|
11493
|
+
names: ["\\mathreflectbox"],
|
|
11494
|
+
numArgs: 1,
|
|
11495
|
+
argTypes: ["math"],
|
|
11496
|
+
handler
|
|
11497
|
+
});
|
|
11805
11498
|
defineFunction({
|
|
11806
11499
|
type: "internal",
|
|
11807
11500
|
names: ["\\relax"],
|
|
11808
|
-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
allowedInArgument: true
|
|
11812
|
-
},
|
|
11501
|
+
numArgs: 0,
|
|
11502
|
+
allowedInText: true,
|
|
11503
|
+
allowedInArgument: true,
|
|
11813
11504
|
handler(_ref) {
|
|
11814
|
-
var
|
|
11815
|
-
parser
|
|
11816
|
-
} = _ref;
|
|
11505
|
+
var parser = _ref.parser;
|
|
11817
11506
|
return {
|
|
11818
11507
|
type: "internal",
|
|
11819
11508
|
mode: parser.mode
|
|
@@ -11823,17 +11512,13 @@ defineFunction({
|
|
|
11823
11512
|
defineFunction({
|
|
11824
11513
|
type: "rule",
|
|
11825
11514
|
names: ["\\rule"],
|
|
11826
|
-
|
|
11827
|
-
|
|
11828
|
-
|
|
11829
|
-
|
|
11830
|
-
|
|
11831
|
-
argTypes: ["size", "size", "size"]
|
|
11832
|
-
},
|
|
11515
|
+
numArgs: 2,
|
|
11516
|
+
numOptionalArgs: 1,
|
|
11517
|
+
allowedInText: true,
|
|
11518
|
+
allowedInMath: true,
|
|
11519
|
+
argTypes: ["size", "size", "size"],
|
|
11833
11520
|
handler(_ref, args, optArgs) {
|
|
11834
|
-
var
|
|
11835
|
-
parser
|
|
11836
|
-
} = _ref;
|
|
11521
|
+
var parser = _ref.parser;
|
|
11837
11522
|
var shift = optArgs[0];
|
|
11838
11523
|
var width = assertNodeType(args[0], "size");
|
|
11839
11524
|
var height = assertNodeType(args[1], "size");
|
|
@@ -11846,7 +11531,7 @@ defineFunction({
|
|
|
11846
11531
|
};
|
|
11847
11532
|
},
|
|
11848
11533
|
htmlBuilder(group, options) {
|
|
11849
|
-
var rule = makeSpan(["mord", "rule"], [], options);
|
|
11534
|
+
var rule = makeSpan(["mord", "katex-rule"], [], options);
|
|
11850
11535
|
var width = calculateSize(group.width, options);
|
|
11851
11536
|
var height = calculateSize(group.height, options);
|
|
11852
11537
|
var shift = group.shift ? calculateSize(group.shift, options) : 0;
|
|
@@ -11883,7 +11568,7 @@ function sizingGroup(value, options, baseOptions) {
|
|
|
11883
11568
|
var inner2 = buildExpression$1(value, options, false);
|
|
11884
11569
|
var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;
|
|
11885
11570
|
for (var i2 = 0; i2 < inner2.length; i2++) {
|
|
11886
|
-
var pos = inner2[i2].classes.indexOf("sizing");
|
|
11571
|
+
var pos = inner2[i2].classes.indexOf("katex-sizing");
|
|
11887
11572
|
if (pos < 0) {
|
|
11888
11573
|
Array.prototype.push.apply(inner2[i2].classes, options.sizingClasses(baseOptions));
|
|
11889
11574
|
} else if (inner2[i2].classes[pos + 1] === "reset-size" + options.size) {
|
|
@@ -11902,16 +11587,10 @@ var htmlBuilder2 = (group, options) => {
|
|
|
11902
11587
|
defineFunction({
|
|
11903
11588
|
type: "sizing",
|
|
11904
11589
|
names: sizeFuncs,
|
|
11905
|
-
|
|
11906
|
-
|
|
11907
|
-
allowedInText: true
|
|
11908
|
-
},
|
|
11590
|
+
numArgs: 0,
|
|
11591
|
+
allowedInText: true,
|
|
11909
11592
|
handler: (_ref, args) => {
|
|
11910
|
-
var
|
|
11911
|
-
breakOnTokenText,
|
|
11912
|
-
funcName,
|
|
11913
|
-
parser
|
|
11914
|
-
} = _ref;
|
|
11593
|
+
var breakOnTokenText = _ref.breakOnTokenText, funcName = _ref.funcName, parser = _ref.parser;
|
|
11915
11594
|
var body = parser.parseExpression(false, breakOnTokenText);
|
|
11916
11595
|
return {
|
|
11917
11596
|
type: "sizing",
|
|
@@ -11933,15 +11612,11 @@ defineFunction({
|
|
|
11933
11612
|
defineFunction({
|
|
11934
11613
|
type: "smash",
|
|
11935
11614
|
names: ["\\smash"],
|
|
11936
|
-
|
|
11937
|
-
|
|
11938
|
-
|
|
11939
|
-
allowedInText: true
|
|
11940
|
-
},
|
|
11615
|
+
numArgs: 1,
|
|
11616
|
+
numOptionalArgs: 1,
|
|
11617
|
+
allowedInText: true,
|
|
11941
11618
|
handler: (_ref, args, optArgs) => {
|
|
11942
|
-
var
|
|
11943
|
-
parser
|
|
11944
|
-
} = _ref;
|
|
11619
|
+
var parser = _ref.parser;
|
|
11945
11620
|
var smashHeight = false;
|
|
11946
11621
|
var smashDepth = false;
|
|
11947
11622
|
var tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup");
|
|
@@ -11985,7 +11660,7 @@ defineFunction({
|
|
|
11985
11660
|
node.depth = 0;
|
|
11986
11661
|
}
|
|
11987
11662
|
if (group.smashHeight && group.smashDepth) {
|
|
11988
|
-
return makeSpan(["mord", "smash"], [node], options);
|
|
11663
|
+
return makeSpan(["mord", "katex-smash"], [node], options);
|
|
11989
11664
|
}
|
|
11990
11665
|
if (node.children) {
|
|
11991
11666
|
for (var i2 = 0; i2 < node.children.length; i2++) {
|
|
@@ -12020,14 +11695,10 @@ defineFunction({
|
|
|
12020
11695
|
defineFunction({
|
|
12021
11696
|
type: "sqrt",
|
|
12022
11697
|
names: ["\\sqrt"],
|
|
12023
|
-
|
|
12024
|
-
|
|
12025
|
-
numOptionalArgs: 1
|
|
12026
|
-
},
|
|
11698
|
+
numArgs: 1,
|
|
11699
|
+
numOptionalArgs: 1,
|
|
12027
11700
|
handler(_ref, args, optArgs) {
|
|
12028
|
-
var
|
|
12029
|
-
parser
|
|
12030
|
-
} = _ref;
|
|
11701
|
+
var parser = _ref.parser;
|
|
12031
11702
|
var index = optArgs[0];
|
|
12032
11703
|
var body = args[0];
|
|
12033
11704
|
return {
|
|
@@ -12051,11 +11722,7 @@ defineFunction({
|
|
|
12051
11722
|
}
|
|
12052
11723
|
var lineClearance = theta + phi / 4;
|
|
12053
11724
|
var minDelimiterHeight = inner2.height + inner2.depth + lineClearance + theta;
|
|
12054
|
-
var
|
|
12055
|
-
span: img,
|
|
12056
|
-
ruleWidth,
|
|
12057
|
-
advanceWidth
|
|
12058
|
-
} = makeSqrtImage(minDelimiterHeight, options);
|
|
11725
|
+
var _makeSqrtImage = makeSqrtImage(minDelimiterHeight, options), img = _makeSqrtImage.span, ruleWidth = _makeSqrtImage.ruleWidth, advanceWidth = _makeSqrtImage.advanceWidth;
|
|
12059
11726
|
var delimDepth = img.height - ruleWidth;
|
|
12060
11727
|
if (delimDepth > inner2.height + inner2.depth + lineClearance) {
|
|
12061
11728
|
lineClearance = (lineClearance + delimDepth - inner2.height - inner2.depth) / 2;
|
|
@@ -12093,15 +11760,12 @@ defineFunction({
|
|
|
12093
11760
|
elem: rootm
|
|
12094
11761
|
}]
|
|
12095
11762
|
});
|
|
12096
|
-
var rootVListWrap = makeSpan(["root"], [rootVList]);
|
|
11763
|
+
var rootVListWrap = makeSpan(["katex-root"], [rootVList]);
|
|
12097
11764
|
return makeSpan(["mord", "sqrt"], [rootVListWrap, body], options);
|
|
12098
11765
|
}
|
|
12099
11766
|
},
|
|
12100
11767
|
mathmlBuilder(group, options) {
|
|
12101
|
-
var
|
|
12102
|
-
body,
|
|
12103
|
-
index
|
|
12104
|
-
} = group;
|
|
11768
|
+
var body = group.body, index = group.index;
|
|
12105
11769
|
return index ? new MathNode("mroot", [buildGroup2(body, options), buildGroup2(index, options)]) : new MathNode("msqrt", [buildGroup2(body, options)]);
|
|
12106
11770
|
}
|
|
12107
11771
|
});
|
|
@@ -12117,17 +11781,11 @@ function isStyleStr(s) {
|
|
|
12117
11781
|
defineFunction({
|
|
12118
11782
|
type: "styling",
|
|
12119
11783
|
names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"],
|
|
12120
|
-
|
|
12121
|
-
|
|
12122
|
-
|
|
12123
|
-
primitive: true
|
|
12124
|
-
},
|
|
11784
|
+
numArgs: 0,
|
|
11785
|
+
allowedInText: true,
|
|
11786
|
+
primitive: true,
|
|
12125
11787
|
handler(_ref, args) {
|
|
12126
|
-
var
|
|
12127
|
-
breakOnTokenText,
|
|
12128
|
-
funcName,
|
|
12129
|
-
parser
|
|
12130
|
-
} = _ref;
|
|
11788
|
+
var breakOnTokenText = _ref.breakOnTokenText, funcName = _ref.funcName, parser = _ref.parser;
|
|
12131
11789
|
var body = parser.parseExpression(true, breakOnTokenText);
|
|
12132
11790
|
var style = funcName.slice(1, funcName.length - 5);
|
|
12133
11791
|
if (!isStyleStr(style)) {
|
|
@@ -12196,11 +11854,7 @@ defineFunctionBuilders({
|
|
|
12196
11854
|
if (builderDelegate) {
|
|
12197
11855
|
return builderDelegate(group, options);
|
|
12198
11856
|
}
|
|
12199
|
-
var
|
|
12200
|
-
base: valueBase,
|
|
12201
|
-
sup: valueSup,
|
|
12202
|
-
sub: valueSub
|
|
12203
|
-
} = group;
|
|
11857
|
+
var valueBase = group.base, valueSup = group.sup, valueSub = group.sub;
|
|
12204
11858
|
var base2 = buildGroup$1(valueBase, options);
|
|
12205
11859
|
var supm;
|
|
12206
11860
|
var subm;
|
|
@@ -12383,7 +12037,7 @@ var defaultVariant = {
|
|
|
12383
12037
|
defineFunctionBuilders({
|
|
12384
12038
|
type: "mathord",
|
|
12385
12039
|
htmlBuilder(group, options) {
|
|
12386
|
-
return makeOrd(group, options
|
|
12040
|
+
return makeOrd(group, options);
|
|
12387
12041
|
},
|
|
12388
12042
|
mathmlBuilder(group, options) {
|
|
12389
12043
|
var node = new MathNode("mi", [makeText(group.text, group.mode, options)]);
|
|
@@ -12397,7 +12051,7 @@ defineFunctionBuilders({
|
|
|
12397
12051
|
defineFunctionBuilders({
|
|
12398
12052
|
type: "textord",
|
|
12399
12053
|
htmlBuilder(group, options) {
|
|
12400
|
-
return makeOrd(group, options
|
|
12054
|
+
return makeOrd(group, options);
|
|
12401
12055
|
},
|
|
12402
12056
|
mathmlBuilder(group, options) {
|
|
12403
12057
|
var text2 = makeText(group.text, group.mode, options);
|
|
@@ -12418,44 +12072,37 @@ defineFunctionBuilders({
|
|
|
12418
12072
|
return node;
|
|
12419
12073
|
}
|
|
12420
12074
|
});
|
|
12421
|
-
var cssSpace =
|
|
12422
|
-
|
|
12423
|
-
|
|
12424
|
-
}
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
"\\ ": {},
|
|
12428
|
-
"~": {
|
|
12429
|
-
className: "nobreak"
|
|
12430
|
-
},
|
|
12431
|
-
"\\space": {},
|
|
12432
|
-
"\\nobreakspace": {
|
|
12433
|
-
className: "nobreak"
|
|
12434
|
-
}
|
|
12435
|
-
};
|
|
12075
|
+
var cssSpace = /* @__PURE__ */ new Map([["\\nobreak", "nobreak"], ["\\allowbreak", "allowbreak"]]);
|
|
12076
|
+
var regularSpace = /* @__PURE__ */ new Map([[" ", {}], ["\\ ", {}], ["~", {
|
|
12077
|
+
className: "nobreak"
|
|
12078
|
+
}], ["\\space", {}], ["\\nobreakspace", {
|
|
12079
|
+
className: "nobreak"
|
|
12080
|
+
}]]);
|
|
12436
12081
|
defineFunctionBuilders({
|
|
12437
12082
|
type: "spacing",
|
|
12438
12083
|
htmlBuilder(group, options) {
|
|
12439
|
-
|
|
12440
|
-
|
|
12084
|
+
var regularSpaceItem = regularSpace.get(group.text);
|
|
12085
|
+
var cssSpaceClass = cssSpace.get(group.text);
|
|
12086
|
+
if (regularSpaceItem) {
|
|
12087
|
+
var className = regularSpaceItem.className || "";
|
|
12441
12088
|
if (group.mode === "text") {
|
|
12442
|
-
var ord = makeOrd(group, options
|
|
12089
|
+
var ord = makeOrd(group, options);
|
|
12443
12090
|
ord.classes.push(className);
|
|
12444
12091
|
return ord;
|
|
12445
12092
|
} else {
|
|
12446
12093
|
return makeSpan(["mspace", className], [mathsym(group.text, group.mode, options)], options);
|
|
12447
12094
|
}
|
|
12448
|
-
} else if (
|
|
12449
|
-
return makeSpan(["mspace",
|
|
12095
|
+
} else if (cssSpaceClass) {
|
|
12096
|
+
return makeSpan(["mspace", cssSpaceClass], [], options);
|
|
12450
12097
|
} else {
|
|
12451
12098
|
throw new ParseError('Unknown type of space "' + group.text + '"');
|
|
12452
12099
|
}
|
|
12453
12100
|
},
|
|
12454
12101
|
mathmlBuilder(group, options) {
|
|
12455
12102
|
var node;
|
|
12456
|
-
if (regularSpace.
|
|
12103
|
+
if (regularSpace.has(group.text)) {
|
|
12457
12104
|
node = new MathNode("mtext", [new TextNode("\xA0")]);
|
|
12458
|
-
} else if (cssSpace.
|
|
12105
|
+
} else if (cssSpace.has(group.text)) {
|
|
12459
12106
|
return new MathNode("mspace");
|
|
12460
12107
|
} else {
|
|
12461
12108
|
throw new ParseError('Unknown type of space "' + group.text + '"');
|
|
@@ -12521,17 +12168,12 @@ defineFunction({
|
|
|
12521
12168
|
"\\textup",
|
|
12522
12169
|
"\\emph"
|
|
12523
12170
|
],
|
|
12524
|
-
|
|
12525
|
-
|
|
12526
|
-
|
|
12527
|
-
|
|
12528
|
-
allowedInText: true
|
|
12529
|
-
},
|
|
12171
|
+
numArgs: 1,
|
|
12172
|
+
argTypes: ["text"],
|
|
12173
|
+
allowedInArgument: true,
|
|
12174
|
+
allowedInText: true,
|
|
12530
12175
|
handler(_ref, args) {
|
|
12531
|
-
var
|
|
12532
|
-
parser,
|
|
12533
|
-
funcName
|
|
12534
|
-
} = _ref;
|
|
12176
|
+
var parser = _ref.parser, funcName = _ref.funcName;
|
|
12535
12177
|
var body = args[0];
|
|
12536
12178
|
return {
|
|
12537
12179
|
type: "text",
|
|
@@ -12553,14 +12195,10 @@ defineFunction({
|
|
|
12553
12195
|
defineFunction({
|
|
12554
12196
|
type: "underline",
|
|
12555
12197
|
names: ["\\underline"],
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
allowedInText: true
|
|
12559
|
-
},
|
|
12198
|
+
numArgs: 1,
|
|
12199
|
+
allowedInText: true,
|
|
12560
12200
|
handler(_ref, args) {
|
|
12561
|
-
var
|
|
12562
|
-
parser
|
|
12563
|
-
} = _ref;
|
|
12201
|
+
var parser = _ref.parser;
|
|
12564
12202
|
return {
|
|
12565
12203
|
type: "underline",
|
|
12566
12204
|
mode: parser.mode,
|
|
@@ -12588,7 +12226,7 @@ defineFunction({
|
|
|
12588
12226
|
elem: innerGroup
|
|
12589
12227
|
}]
|
|
12590
12228
|
});
|
|
12591
|
-
return makeSpan(["mord", "underline"], [vlist], options);
|
|
12229
|
+
return makeSpan(["mord", "katex-underline"], [vlist], options);
|
|
12592
12230
|
},
|
|
12593
12231
|
mathmlBuilder(group, options) {
|
|
12594
12232
|
var operator = new MathNode("mo", [new TextNode("\u203E")]);
|
|
@@ -12601,16 +12239,12 @@ defineFunction({
|
|
|
12601
12239
|
defineFunction({
|
|
12602
12240
|
type: "vcenter",
|
|
12603
12241
|
names: ["\\vcenter"],
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
allowedInText: false
|
|
12609
|
-
},
|
|
12242
|
+
numArgs: 1,
|
|
12243
|
+
argTypes: ["original"],
|
|
12244
|
+
// In LaTeX, \vcenter can act only on a box.
|
|
12245
|
+
allowedInText: false,
|
|
12610
12246
|
handler(_ref, args) {
|
|
12611
|
-
var
|
|
12612
|
-
parser
|
|
12613
|
-
} = _ref;
|
|
12247
|
+
var parser = _ref.parser;
|
|
12614
12248
|
return {
|
|
12615
12249
|
type: "vcenter",
|
|
12616
12250
|
mode: parser.mode,
|
|
@@ -12638,10 +12272,8 @@ defineFunction({
|
|
|
12638
12272
|
defineFunction({
|
|
12639
12273
|
type: "verb",
|
|
12640
12274
|
names: ["\\verb"],
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
allowedInText: true
|
|
12644
|
-
},
|
|
12275
|
+
numArgs: 0,
|
|
12276
|
+
allowedInText: true,
|
|
12645
12277
|
handler(context, args, optArgs) {
|
|
12646
12278
|
throw new ParseError("\\verb ended by end of line instead of matching delimiter");
|
|
12647
12279
|
},
|
|
@@ -12764,13 +12396,11 @@ var Namespace = class {
|
|
|
12764
12396
|
throw new ParseError("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");
|
|
12765
12397
|
}
|
|
12766
12398
|
var undefs = this.undefStack.pop();
|
|
12767
|
-
for (var
|
|
12768
|
-
if (undefs
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
|
|
12772
|
-
this.current[undef] = undefs[undef];
|
|
12773
|
-
}
|
|
12399
|
+
for (var key of Object.keys(undefs)) {
|
|
12400
|
+
if (undefs[key] === void 0) {
|
|
12401
|
+
delete this.current[key];
|
|
12402
|
+
} else {
|
|
12403
|
+
this.current[key] = undefs[key];
|
|
12774
12404
|
}
|
|
12775
12405
|
}
|
|
12776
12406
|
}
|
|
@@ -12788,7 +12418,7 @@ var Namespace = class {
|
|
|
12788
12418
|
* `get(name) != null`.
|
|
12789
12419
|
*/
|
|
12790
12420
|
has(name) {
|
|
12791
|
-
return
|
|
12421
|
+
return Object.prototype.hasOwnProperty.call(this.current, name) || Object.prototype.hasOwnProperty.call(this.builtins, name);
|
|
12792
12422
|
}
|
|
12793
12423
|
/**
|
|
12794
12424
|
* Get the current value of a name, or `undefined` if there is no value.
|
|
@@ -12799,10 +12429,12 @@ var Namespace = class {
|
|
|
12799
12429
|
* `if (namespace.has(...))`.
|
|
12800
12430
|
*/
|
|
12801
12431
|
get(name) {
|
|
12802
|
-
if (
|
|
12432
|
+
if (Object.prototype.hasOwnProperty.call(this.current, name)) {
|
|
12803
12433
|
return this.current[name];
|
|
12804
|
-
} else {
|
|
12434
|
+
} else if (Object.prototype.hasOwnProperty.call(this.builtins, name)) {
|
|
12805
12435
|
return this.builtins[name];
|
|
12436
|
+
} else {
|
|
12437
|
+
return void 0;
|
|
12806
12438
|
}
|
|
12807
12439
|
}
|
|
12808
12440
|
/**
|
|
@@ -12825,8 +12457,8 @@ var Namespace = class {
|
|
|
12825
12457
|
}
|
|
12826
12458
|
} else {
|
|
12827
12459
|
var top = this.undefStack[this.undefStack.length - 1];
|
|
12828
|
-
if (top && !
|
|
12829
|
-
top[name] = this.current[name];
|
|
12460
|
+
if (top && !Object.prototype.hasOwnProperty.call(top, name)) {
|
|
12461
|
+
top[name] = Object.prototype.hasOwnProperty.call(this.current, name) ? this.current[name] : void 0;
|
|
12830
12462
|
}
|
|
12831
12463
|
}
|
|
12832
12464
|
if (value == null) {
|
|
@@ -13318,6 +12950,8 @@ defineMacro("\u27E6", "\\llbracket");
|
|
|
13318
12950
|
defineMacro("\u27E7", "\\rrbracket");
|
|
13319
12951
|
defineMacro("\\lBrace", "\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");
|
|
13320
12952
|
defineMacro("\\rBrace", "\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");
|
|
12953
|
+
defineMacro("\u21A4", "\\mapsfrom");
|
|
12954
|
+
defineMacro("\\mapsfrom", "\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`\u21A4}}");
|
|
13321
12955
|
defineMacro("\u2983", "\\lBrace");
|
|
13322
12956
|
defineMacro("\u2984", "\\rBrace");
|
|
13323
12957
|
defineMacro("\\minuso", "\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");
|
|
@@ -13601,16 +13235,14 @@ var MacroExpander = class {
|
|
|
13601
13235
|
return null;
|
|
13602
13236
|
}
|
|
13603
13237
|
start = this.popToken();
|
|
13604
|
-
(
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
} = this.consumeArg(["]"]));
|
|
13238
|
+
var _this$consumeArg = this.consumeArg(["]"]);
|
|
13239
|
+
tokens = _this$consumeArg.tokens;
|
|
13240
|
+
end = _this$consumeArg.end;
|
|
13608
13241
|
} else {
|
|
13609
|
-
(
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
} = this.consumeArg());
|
|
13242
|
+
var _this$consumeArg2 = this.consumeArg();
|
|
13243
|
+
tokens = _this$consumeArg2.tokens;
|
|
13244
|
+
start = _this$consumeArg2.start;
|
|
13245
|
+
end = _this$consumeArg2.end;
|
|
13614
13246
|
}
|
|
13615
13247
|
this.pushToken(new Token("EOF", end.loc));
|
|
13616
13248
|
this.pushTokens(tokens);
|
|
@@ -13879,14 +13511,17 @@ var MacroExpander = class {
|
|
|
13879
13511
|
* `implicitCommands`.
|
|
13880
13512
|
*/
|
|
13881
13513
|
isDefined(name) {
|
|
13882
|
-
return this.macros.has(name) ||
|
|
13514
|
+
return this.macros.has(name) || Object.prototype.hasOwnProperty.call(functions, name) || Object.prototype.hasOwnProperty.call(symbols.math, name) || Object.prototype.hasOwnProperty.call(symbols.text, name) || Object.prototype.hasOwnProperty.call(implicitCommands, name);
|
|
13883
13515
|
}
|
|
13884
13516
|
/**
|
|
13885
13517
|
* Determine whether a command is expandable.
|
|
13886
13518
|
*/
|
|
13887
13519
|
isExpandable(name) {
|
|
13888
13520
|
var macro = this.macros.get(name);
|
|
13889
|
-
|
|
13521
|
+
if (macro != null) {
|
|
13522
|
+
return typeof macro === "string" || typeof macro === "function" || !macro.unexpandable;
|
|
13523
|
+
}
|
|
13524
|
+
return Object.prototype.hasOwnProperty.call(functions, name) && !functions[name].primitive;
|
|
13890
13525
|
}
|
|
13891
13526
|
};
|
|
13892
13527
|
var unicodeSubRegEx = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/;
|
|
@@ -14631,8 +14266,7 @@ var Parser = class _Parser {
|
|
|
14631
14266
|
var lex = this.fetch();
|
|
14632
14267
|
if (lex.text === "\\limits" || lex.text === "\\nolimits") {
|
|
14633
14268
|
if (base2 && base2.type === "op") {
|
|
14634
|
-
|
|
14635
|
-
base2.limits = limits;
|
|
14269
|
+
base2.limits = lex.text === "\\limits";
|
|
14636
14270
|
base2.alwaysHandleSupSub = true;
|
|
14637
14271
|
} else if (base2 && base2.type === "operatorname") {
|
|
14638
14272
|
if (base2.alwaysHandleSupSub) {
|
|
@@ -14709,7 +14343,7 @@ var Parser = class _Parser {
|
|
|
14709
14343
|
break;
|
|
14710
14344
|
}
|
|
14711
14345
|
}
|
|
14712
|
-
if (superscript
|
|
14346
|
+
if (superscript && subscript) {
|
|
14713
14347
|
return {
|
|
14714
14348
|
type: "supsub",
|
|
14715
14349
|
mode: this.mode,
|
|
@@ -14717,6 +14351,20 @@ var Parser = class _Parser {
|
|
|
14717
14351
|
sup: superscript,
|
|
14718
14352
|
sub: subscript
|
|
14719
14353
|
};
|
|
14354
|
+
} else if (superscript) {
|
|
14355
|
+
return {
|
|
14356
|
+
type: "supsub",
|
|
14357
|
+
mode: this.mode,
|
|
14358
|
+
base: base2,
|
|
14359
|
+
sup: superscript
|
|
14360
|
+
};
|
|
14361
|
+
} else if (subscript) {
|
|
14362
|
+
return {
|
|
14363
|
+
type: "supsub",
|
|
14364
|
+
mode: this.mode,
|
|
14365
|
+
base: base2,
|
|
14366
|
+
sub: subscript
|
|
14367
|
+
};
|
|
14720
14368
|
} else {
|
|
14721
14369
|
return base2;
|
|
14722
14370
|
}
|
|
@@ -14739,10 +14387,7 @@ var Parser = class _Parser {
|
|
|
14739
14387
|
} else if (this.mode === "math" && funcData.allowedInMath === false) {
|
|
14740
14388
|
throw new ParseError("Can't use function '" + func + "' in math mode", token);
|
|
14741
14389
|
}
|
|
14742
|
-
var
|
|
14743
|
-
args,
|
|
14744
|
-
optArgs
|
|
14745
|
-
} = this.parseArguments(func, funcData);
|
|
14390
|
+
var _this$parseArguments = this.parseArguments(func, funcData), args = _this$parseArguments.args, optArgs = _this$parseArguments.optArgs;
|
|
14746
14391
|
return this.callFunction(func, args, optArgs, token, breakOnTokenText);
|
|
14747
14392
|
}
|
|
14748
14393
|
/**
|
|
@@ -14766,7 +14411,9 @@ var Parser = class _Parser {
|
|
|
14766
14411
|
* Parses the arguments of a function or environment
|
|
14767
14412
|
*/
|
|
14768
14413
|
parseArguments(func, funcData) {
|
|
14769
|
-
var
|
|
14414
|
+
var _funcData$numOptional;
|
|
14415
|
+
var numOptionalArgs = (_funcData$numOptional = funcData.numOptionalArgs) != null ? _funcData$numOptional : 0;
|
|
14416
|
+
var totalArgs = funcData.numArgs + numOptionalArgs;
|
|
14770
14417
|
if (totalArgs === 0) {
|
|
14771
14418
|
return {
|
|
14772
14419
|
args: [],
|
|
@@ -14776,8 +14423,9 @@ var Parser = class _Parser {
|
|
|
14776
14423
|
var args = [];
|
|
14777
14424
|
var optArgs = [];
|
|
14778
14425
|
for (var i2 = 0; i2 < totalArgs; i2++) {
|
|
14779
|
-
var
|
|
14780
|
-
var
|
|
14426
|
+
var _funcData$argTypes;
|
|
14427
|
+
var argType = (_funcData$argTypes = funcData.argTypes) == null ? void 0 : _funcData$argTypes[i2];
|
|
14428
|
+
var isOptional = i2 < numOptionalArgs;
|
|
14781
14429
|
if ("primitive" in funcData && funcData.primitive && argType == null || // \sqrt expands into primitive if optional argument doesn't exist
|
|
14782
14430
|
funcData.type === "sqrt" && i2 === 1 && optArgs[0] == null) {
|
|
14783
14431
|
argType = "primitive";
|
|
@@ -14822,7 +14470,7 @@ var Parser = class _Parser {
|
|
|
14822
14470
|
} : null;
|
|
14823
14471
|
}
|
|
14824
14472
|
case "raw": {
|
|
14825
|
-
var token = this.parseStringGroup(
|
|
14473
|
+
var token = this.parseStringGroup(optional);
|
|
14826
14474
|
return token != null ? {
|
|
14827
14475
|
type: "raw",
|
|
14828
14476
|
mode: "text",
|
|
@@ -14840,7 +14488,6 @@ var Parser = class _Parser {
|
|
|
14840
14488
|
return _group2;
|
|
14841
14489
|
}
|
|
14842
14490
|
case "original":
|
|
14843
|
-
case null:
|
|
14844
14491
|
case void 0:
|
|
14845
14492
|
return this.parseArgumentGroup(optional);
|
|
14846
14493
|
default:
|
|
@@ -14859,7 +14506,7 @@ var Parser = class _Parser {
|
|
|
14859
14506
|
* Parses a group, essentially returning the string formed by the
|
|
14860
14507
|
* brace-enclosed tokens plus some position information.
|
|
14861
14508
|
*/
|
|
14862
|
-
parseStringGroup(
|
|
14509
|
+
parseStringGroup(optional) {
|
|
14863
14510
|
var argToken = this.gullet.scanArgument(optional);
|
|
14864
14511
|
if (argToken == null) {
|
|
14865
14512
|
return null;
|
|
@@ -14898,7 +14545,7 @@ var Parser = class _Parser {
|
|
|
14898
14545
|
* Parses a color description.
|
|
14899
14546
|
*/
|
|
14900
14547
|
parseColorGroup(optional) {
|
|
14901
|
-
var res = this.parseStringGroup(
|
|
14548
|
+
var res = this.parseStringGroup(optional);
|
|
14902
14549
|
if (res == null) {
|
|
14903
14550
|
return null;
|
|
14904
14551
|
}
|
|
@@ -14926,7 +14573,7 @@ var Parser = class _Parser {
|
|
|
14926
14573
|
if (!optional && this.gullet.future().text !== "{") {
|
|
14927
14574
|
res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size");
|
|
14928
14575
|
} else {
|
|
14929
|
-
res = this.parseStringGroup(
|
|
14576
|
+
res = this.parseStringGroup(optional);
|
|
14930
14577
|
}
|
|
14931
14578
|
if (!res) {
|
|
14932
14579
|
return null;
|
|
@@ -14961,7 +14608,7 @@ var Parser = class _Parser {
|
|
|
14961
14608
|
parseUrlGroup(optional) {
|
|
14962
14609
|
this.gullet.lexer.setCatcode("%", 13);
|
|
14963
14610
|
this.gullet.lexer.setCatcode("~", 12);
|
|
14964
|
-
var res = this.parseStringGroup(
|
|
14611
|
+
var res = this.parseStringGroup(optional);
|
|
14965
14612
|
this.gullet.lexer.setCatcode("%", 14);
|
|
14966
14613
|
this.gullet.lexer.setCatcode("~", 13);
|
|
14967
14614
|
if (res == null) {
|
|
@@ -15032,7 +14679,7 @@ var Parser = class _Parser {
|
|
|
15032
14679
|
};
|
|
15033
14680
|
} else {
|
|
15034
14681
|
result = this.parseFunction(breakOnTokenText, name) || this.parseSymbol();
|
|
15035
|
-
if (result == null && text2[0] === "\\" && !
|
|
14682
|
+
if (result == null && text2[0] === "\\" && !Object.prototype.hasOwnProperty.call(implicitCommands, text2)) {
|
|
15036
14683
|
if (this.settings.throwOnError) {
|
|
15037
14684
|
throw new ParseError("Undefined control sequence: " + text2, firstToken);
|
|
15038
14685
|
}
|
|
@@ -15118,7 +14765,7 @@ var Parser = class _Parser {
|
|
|
15118
14765
|
star
|
|
15119
14766
|
};
|
|
15120
14767
|
}
|
|
15121
|
-
if (
|
|
14768
|
+
if (Object.prototype.hasOwnProperty.call(unicodeSymbols, text2[0]) && !symbols[this.mode][text2[0]]) {
|
|
15122
14769
|
if (this.settings.strict && this.mode === "math") {
|
|
15123
14770
|
this.settings.reportNonstrict("unicodeTextInMathMode", 'Accented Unicode text character "' + text2[0] + '" used in math mode', nucleus);
|
|
15124
14771
|
}
|
|
@@ -15271,7 +14918,7 @@ var renderToHTMLTree = function renderToHTMLTree2(expression, options) {
|
|
|
15271
14918
|
return renderError(error, expression, settings);
|
|
15272
14919
|
}
|
|
15273
14920
|
};
|
|
15274
|
-
var version = "0.
|
|
14921
|
+
var version = "0.18.10";
|
|
15275
14922
|
var __domTree = {
|
|
15276
14923
|
Span,
|
|
15277
14924
|
Anchor,
|