From 363f32a0fffda1ee103deb12225f17f3f6909da6 Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 12:18:31 +0200
Subject: [PATCH 1/6] feat: add MathtoolsConfiguration.ts from MathJax
Matches https://github.com/mathjax/MathJax-src/blob/7c4f3af883d78944adc2e152ca4b4d5f1b59b29d/ts/input/tex/mathtools/MathtoolsConfiguration.ts
---
ts/MathtoolsConfiguration.ts | 196 +++++++++++++++++++++++++++++++++++
1 file changed, 196 insertions(+)
create mode 100644 ts/MathtoolsConfiguration.ts
diff --git a/ts/MathtoolsConfiguration.ts b/ts/MathtoolsConfiguration.ts
new file mode 100644
index 0000000..6faf3f4
--- /dev/null
+++ b/ts/MathtoolsConfiguration.ts
@@ -0,0 +1,196 @@
+/*************************************************************
+ * Copyright (c) 2019-2020 MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import {ArrayItem} from '../base/BaseItems.js';
+import {MultlineItem} from '../ams/AmsItems.js';
+import {StackItem} from '../StackItem.js';
+import ParseUtil from '../ParseUtil.js';
+import ParseMethods from '../ParseMethods.js';
+import {Configuration} from '../Configuration.js';
+import {ParseMethod} from '../Types.js';
+import {AmsMethods} from '../ams/AmsMethods.js';
+import BaseMethods from '../base/BaseMethods.js';
+import TexParser from '../TexParser.js';
+import TexError from '../TexError.js';
+import {MmlNode} from '../../../core/MmlTree/MmlNode.js';
+import {CommandMap, EnvironmentMap} from '../SymbolMap.js';
+import NodeUtil from '../NodeUtil.js';
+import {TexConstant} from '../TexConstants.js';
+
+
+let MathtoolsMethods: Record = {};
+
+export class MultlinedItem extends MultlineItem {
+
+ /**
+ * @override
+ */
+ get kind() {
+ return 'multlined';
+ }
+
+
+ /**
+ * @override
+ */
+ public EndTable() {
+ if (this.Size() || this.row.length) {
+ this.EndEntry();
+ this.EndRow();
+ }
+ if (this.table.length) {
+ let first = NodeUtil.getChildren(this.table[0])[0];
+ let m = this.table.length - 1;
+ if (NodeUtil.getAttribute(first, 'columnalign') !== TexConstant.Align.RIGHT) {
+ first.appendChild(
+ this.create('node', 'mspace', [],
+ { width: this.factory.configuration.options['MultlineGap'] || '2em' })
+ );
+ }
+ let last = NodeUtil.getChildren(this.table[m])[0];
+ if (NodeUtil.getAttribute(
+ last, 'columnalign') !== TexConstant.Align.LEFT) {
+ let top = last.childNodes[0] as MmlNode;
+ top.childNodes.unshift(null);
+ const space = this.create(
+ 'node', 'mspace', [],
+ { width: this.factory.configuration.options['MultlineGap'] || '2em' });
+ NodeUtil.setChild(top, 0, space);
+ }
+ }
+ super.EndTable.call(this);
+ }
+
+}
+
+
+MathtoolsMethods.MtMatrix = function(parser: TexParser, begin: StackItem, open, close) {
+ const align = parser.GetBrackets('\\begin{' + begin.getName() + '}') || 'c';
+ return BaseMethods.Array(parser, begin, open, close, align);
+},
+
+MathtoolsMethods.MtSmallMatrix = function(
+ parser: TexParser, begin: StackItem, open, close, align) {
+ if (!align) {
+ align = parser.GetBrackets('\\begin{' + begin.getName() + '}') || 'c';
+ }
+ return BaseMethods.Array(
+ parser, begin, open, close, align, ParseUtil.Em(1 / 3), '.2em', 'S', 1);
+},
+
+MathtoolsMethods.MtMultlined = function(parser: TexParser, begin: StackItem) {
+ let pos = parser.GetBrackets('\\begin{' + begin.getName() + '}') || '';
+ let width = pos ? parser.GetBrackets('\\begin{' + begin.getName() + '}') : null;
+ if (!pos.match(/^[cbt]$/)) {
+ let tmp = width;
+ width = pos;
+ pos = tmp;
+ }
+ parser.Push(begin);
+ let item = parser.itemFactory.create('multlined', parser, begin) as ArrayItem;
+ item.arraydef = {
+ displaystyle: true,
+ rowspacing: '.5em',
+ width: width || parser.options['multlineWidth'],
+ columnwidth: '100%',
+ };
+ return ParseUtil.setArrayAlign(item as ArrayItem, pos || 'c');
+};
+
+MathtoolsMethods.HandleShove = function(parser: TexParser, name: string, shove: string) {
+ let top = parser.stack.Top();
+ if (top.kind !== 'multline' && top.kind !== 'multlined') {
+ throw new TexError(
+ 'CommandInMultlined',
+ '%1 can only appear within the multline or multlined environments',
+ name);
+ }
+ if (top.Size()) {
+ throw new TexError(
+ 'CommandAtTheBeginingOfLine',
+ '%1 must come at the beginning of the line',
+ name);
+ }
+ top.setProperty('shove', shove);
+ let shift = parser.GetBrackets(name);
+ let mml = parser.ParseArg(name);
+ if (shift) {
+ let mrow = parser.create('node', 'mrow', []);
+ let mspace = parser.create('node', 'mspace', [], { width: shift });
+ if (shove === 'left') {
+ mrow.appendChild(mspace);
+ mrow.appendChild(mml);
+ } else {
+ mrow.appendChild(mml);
+ mrow.appendChild(mspace);
+ }
+ mml = mrow;
+ }
+ parser.Push(mml);
+};
+
+
+MathtoolsMethods.Array = BaseMethods.Array;
+MathtoolsMethods.Macro = BaseMethods.Macro;
+MathtoolsMethods.xArrow = AmsMethods.xArrow;
+
+
+new CommandMap('mathtools-macros', {
+ shoveleft: ['HandleShove', TexConstant.Align.LEFT],
+ shoveright: ['HandleShove', TexConstant.Align.RIGHT],
+
+ coloneqq: ['Macro', '\\mathrel{≔}'],
+ xleftrightarrow: ['xArrow', 0x2194, 7, 6]
+}, MathtoolsMethods);
+
+
+new EnvironmentMap('mathtools-environment', ParseMethods.environment, {
+ dcases: ['Array', null, '\\{', '.', 'll', null, '.2em', 'D'],
+ rcases: ['Array', null, '.', '\\}', 'll', null, '.2em', 'D'],
+ drcases: ['Array', null, '\\{', '\\}', 'll', null, '.2em', 'D'],
+ 'matrix*': ['MtMatrix', null, null, null],
+ 'pmatrix*': ['MtMatrix', null, '(', ')'],
+ 'bmatrix*': ['MtMatrix', null, '[', ']'],
+ 'Bmatrix*': ['MtMatrix', null, '\\{', '\\}'],
+ 'vmatrix*': ['MtMatrix', null, '\\vert', '\\vert'],
+ 'Vmatrix*': ['MtMatrix', null, '\\Vert', '\\Vert'],
+
+ 'smallmatrix*': ['MtSmallMatrix', null, null, null],
+ psmallmatrix: ['MtSmallMatrix', null, '(', ')', 'c'],
+ 'psmallmatrix*': ['MtSmallMatrix', null, '(', ')'],
+ bsmallmatrix: ['MtSmallMatrix', null, '[', ']', 'c'],
+ 'bsmallmatrix*': ['MtSmallMatrix', null, '[', ']'],
+ Bsmallmatrix: ['MtSmallMatrix', null, '\\{', '\\}', 'c'],
+ 'Bsmallmatrix*': ['MtSmallMatrix', null, '\\{', '\\}'],
+ vsmallmatrix: ['MtSmallMatrix', null, '\\vert', '\\vert', 'c'],
+ 'vsmallmatrix*': ['MtSmallMatrix', null, '\\vert', '\\vert'],
+ Vsmallmatrix: ['MtSmallMatrix', null, '\\Vert', '\\Vert', 'c'],
+ 'Vsmallmatrix*': ['MtSmallMatrix', null, '\\Vert', '\\Vert'],
+
+ multlined: 'MtMultlined',
+}, MathtoolsMethods);
+
+
+export const MathtoolsConfiguration = Configuration.create(
+ 'mathtools', {
+ handler: {
+ macro: ['mathtools-macros'],
+ environment: ['mathtools-environment']
+ },
+ items: {[MultlinedItem.prototype.kind]: MultlinedItem}
+ }
+);
From 7fb8d1f3e76378b8c7501089db80bab2cc91e053 Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 12:26:49 +0200
Subject: [PATCH 2/6] fix: update imports
To work outside the mathjax source structure.
---
ts/MathtoolsConfiguration.ts | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/ts/MathtoolsConfiguration.ts b/ts/MathtoolsConfiguration.ts
index 6faf3f4..2b6a038 100644
--- a/ts/MathtoolsConfiguration.ts
+++ b/ts/MathtoolsConfiguration.ts
@@ -15,21 +15,21 @@
*/
-import {ArrayItem} from '../base/BaseItems.js';
-import {MultlineItem} from '../ams/AmsItems.js';
-import {StackItem} from '../StackItem.js';
-import ParseUtil from '../ParseUtil.js';
-import ParseMethods from '../ParseMethods.js';
-import {Configuration} from '../Configuration.js';
-import {ParseMethod} from '../Types.js';
-import {AmsMethods} from '../ams/AmsMethods.js';
-import BaseMethods from '../base/BaseMethods.js';
-import TexParser from '../TexParser.js';
-import TexError from '../TexError.js';
-import {MmlNode} from '../../../core/MmlTree/MmlNode.js';
-import {CommandMap, EnvironmentMap} from '../SymbolMap.js';
-import NodeUtil from '../NodeUtil.js';
-import {TexConstant} from '../TexConstants.js';
+import {ArrayItem} from 'mathjax-full/js/input/tex/base/BaseItems.js';
+import {MultlineItem} from 'mathjax-full/js/input/tex/ams/AmsItems.js';
+import {StackItem} from 'mathjax-full/js/input/tex/StackItem.js';
+import ParseUtil from 'mathjax-full/js/input/tex/ParseUtil.js';
+import ParseMethods from 'mathjax-full/js/input/tex/ParseMethods.js';
+import {Configuration} from 'mathjax-full/js/input/tex/Configuration.js';
+import {ParseMethod} from 'mathjax-full/js/input/tex/Types.js';
+import {AmsMethods} from 'mathjax-full/js/input/tex/ams/AmsMethods.js';
+import BaseMethods from 'mathjax-full/js/input/tex/base/BaseMethods.js';
+import TexParser from 'mathjax-full/js/input/tex/TexParser.js';
+import TexError from 'mathjax-full/js/input/tex/TexError.js';
+import {MmlNode} from 'mathjax-full/js/core/MmlTree/MmlNode.js';
+import {CommandMap, EnvironmentMap} from 'mathjax-full/js/input/tex/SymbolMap.js';
+import NodeUtil from 'mathjax-full/js/input/tex/NodeUtil.js';
+import {TexConstant} from 'mathjax-full/js/input/tex/TexConstants.js';
let MathtoolsMethods: Record = {};
From d72ff869935d6134da58fbc40a95e0a8909606d4 Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 12:27:30 +0200
Subject: [PATCH 3/6] feat: setup typescript, mathjax-full
---
package-lock.json | 58 +++++++++++++++++++++++++++++++++++++++++++++++
package.json | 6 +++--
tsconfig.json | 25 ++++++++++++++++++++
3 files changed, 87 insertions(+), 2 deletions(-)
create mode 100644 tsconfig.json
diff --git a/package-lock.json b/package-lock.json
index a436ef7..46caf20 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -173,6 +173,12 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
+ "commander": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.1.0.tgz",
+ "integrity": "sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA==",
+ "dev": true
+ },
"compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@@ -549,6 +555,12 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
+ "dev": true
+ },
"figures": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -1204,6 +1216,17 @@
"integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
"dev": true
},
+ "mathjax-full": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.1.2.tgz",
+ "integrity": "sha512-jFCwRFdFwIOa8J7r6VZT0AIv9ZwbLQ9aPc9YZp695NTvv7XKU2NunJodA+zDWzElIFJ7mTsImyfe5R3QyRNZjw==",
+ "dev": true,
+ "requires": {
+ "esm": "^3.2.25",
+ "mj-context-menu": "^0.6.1",
+ "speech-rule-engine": "^3.1.1"
+ }
+ },
"meow": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz",
@@ -1296,6 +1319,12 @@
"kind-of": "^6.0.3"
}
},
+ "mj-context-menu": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz",
+ "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==",
+ "dev": true
+ },
"modify-values": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
@@ -1715,6 +1744,17 @@
"integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
"dev": true
},
+ "speech-rule-engine": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-3.1.1.tgz",
+ "integrity": "sha512-FGX8B44yI3yGhmcw8nZ/by2ffUlZG6m5b/O3RULXsSiwhL/evL+jwQ6BXQxV3gGtOYptOFalTVCAFknAJgBKAg==",
+ "dev": true,
+ "requires": {
+ "commander": "^6.0.0",
+ "wicked-good-xpath": "^1.3.0",
+ "xmldom-sre": "^0.1.31"
+ }
+ },
"split": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
@@ -1906,6 +1946,12 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
+ "typescript": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
+ "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
+ "dev": true
+ },
"uglify-js": {
"version": "3.10.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.4.tgz",
@@ -1935,6 +1981,12 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "wicked-good-xpath": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz",
+ "integrity": "sha1-gbDpXoZQ5JyUsiKY//hoa1VTz2w=",
+ "dev": true
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -1985,6 +2037,12 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
+ "xmldom-sre": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz",
+ "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==",
+ "dev": true
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
diff --git a/package.json b/package.json
index c01ac48..7fbc343 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mathjax-mathtools",
- "main": "./mathtools.js",
+ "main": "./js/mathtools.js",
"version": "1.3.0",
"description": "MathJax extension reimplementing (parts of) the mathtools package",
"keywords": [
@@ -26,6 +26,8 @@
"test": "echo 'No tests yet'"
},
"devDependencies": {
- "standard-version": "^9.0.0"
+ "mathjax-full": "^3.1.2",
+ "standard-version": "^9.0.0",
+ "typescript": "^3.9.7"
}
}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..57e0b43
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compileOnSave": true,
+ "compilerOptions": {
+ "target": "ES5",
+ "downlevelIteration": true,
+ "module": "commonjs",
+ "declaration": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "removeComments": true,
+ "baseUrl": ".",
+ "paths": {
+ "mathjax-full": ["node_modules/mathjax-full"]
+ },
+ "lib": ["es6", "dom"],
+ "noLib": false,
+ "sourceMap": true,
+ "outDir": "js",
+ "typeRoots": ["./typings"]
+ },
+ "include": ["ts/**/*"],
+ "exclude": ["js", "es5", "components"]
+ }
From ec31b7ebbbc77b69ec6198ed285ae06922daf2ed Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 12:27:54 +0200
Subject: [PATCH 4/6] feat!: remove old JS version
---
mathtools.js | 194 ---------------------------------------------------
1 file changed, 194 deletions(-)
delete mode 100644 mathtools.js
diff --git a/mathtools.js b/mathtools.js
deleted file mode 100644
index de7a552..0000000
--- a/mathtools.js
+++ /dev/null
@@ -1,194 +0,0 @@
-/*************************************************************
- * Copyright (c) 2019 MathJax Consortium
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-MathJax.Extension['mathtools'] = {
- version: '1.2.0',
-};
-
-MathJax.Hub.Register.StartupHook('TeX Jax Ready', function () {
- var TEX = MathJax.InputJax.TeX;
- TEX.Definitions.Add({
- macros: {
- coloneqq: ['Macro', '\\mathrel{≔}'],
- xleftrightarrow: ['xArrow', 0x2194, 7, 6],
- },
- environment: {
- dcases: ['Array', null, '\\{', '.', 'll', null, '.2em', 'D'],
- rcases: ['Array', null, '.', '\\}', 'll', null, '.2em', 'D'],
-
- 'matrix*': ['ExtensionEnv', null, 'AMSmath'],
- 'pmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- 'bmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- 'Bmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- 'vmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- 'Vmatrix*': ['ExtensionEnv', null, 'AMSmath'],
-
- 'smallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- psmallmatrix: ['ExtensionEnv', null, 'AMSmath'],
- 'psmallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- bsmallmatrix: ['ExtensionEnv', null, 'AMSmath'],
- 'bsmallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- Bsmallmatrix: ['ExtensionEnv', null, 'AMSmath'],
- 'Bsmallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- vsmallmatrix: ['ExtensionEnv', null, 'AMSmath'],
- 'vsmallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
- Vsmallmatrix: ['ExtensionEnv', null, 'AMSmath'],
- 'Vsmallmatrix*': ['ExtensionEnv', null, 'AMSmath'],
-
- multlined: ['ExtensionEnv', null, 'AMSmath'],
- },
- });
-});
-
-MathJax.Hub.Register.StartupHook('TeX AMSmath Ready', function () {
- var MML = MathJax.ElementJax.mml,
- TEX = MathJax.InputJax.TeX,
- STACKITEM = TEX.Stack.Item;
-
- TEX.Definitions.Add({
- environment: {
- 'matrix*': ['MtMatrix', null, null, null],
- 'pmatrix*': ['MtMatrix', null, '(', ')'],
- 'bmatrix*': ['MtMatrix', null, '[', ']'],
- 'Bmatrix*': ['MtMatrix', null, '\\{', '\\}'],
- 'vmatrix*': ['MtMatrix', null, '\\vert', '\\vert'],
- 'Vmatrix*': ['MtMatrix', null, '\\Vert', '\\Vert'],
-
- 'smallmatrix*': ['MtSmallMatrix', null, null, null],
- psmallmatrix: ['MtSmallMatrix', null, '(', ')', 'c'],
- 'psmallmatrix*': ['MtSmallMatrix', null, '(', ')'],
- bsmallmatrix: ['MtSmallMatrix', null, '[', ']', 'c'],
- 'bsmallmatrix*': ['MtSmallMatrix', null, '[', ']'],
- Bsmallmatrix: ['MtSmallMatrix', null, '\\{', '\\}', 'c'],
- 'Bsmallmatrix*': ['MtSmallMatrix', null, '\\{', '\\}'],
- vsmallmatrix: ['MtSmallMatrix', null, '\\vert', '\\vert', 'c'],
- 'vsmallmatrix*': ['MtSmallMatrix', null, '\\vert', '\\vert'],
- Vsmallmatrix: ['MtSmallMatrix', null, '\\Vert', '\\Vert', 'c'],
- 'Vsmallmatrix*': ['MtSmallMatrix', null, '\\Vert', '\\Vert'],
-
- multlined: 'MtMultlined',
- },
- });
-
- TEX.Parse.Augment({
- MtMatrix: function (begin, open, close) {
- var align = this.GetBrackets('\\begin{' + begin.name + '}') || 'c';
- return this.Array(begin, open, close, align);
- },
-
- MtSmallMatrix: function (begin, open, close, align) {
- if (!align)
- align = this.GetBrackets('\\begin{' + begin.name + '}') || 'c';
- return this.Array(
- begin,
- open,
- close,
- align,
- this.Em(1 / 3),
- '.2em',
- 'S',
- 1
- );
- },
-
- MtMultlined: function (begin) {
- var pos = this.GetBrackets('\\begin{' + begin.name + '}') || '';
- var width = pos ? this.GetBrackets('\\begin{' + begin.name + '}') : null;
- if (!pos.match(/^[cbt]$/)) {
- var tmp = width;
- width = pos;
- pos = tmp;
- }
- this.Push(begin);
- return this.setArrayAlign(
- STACKITEM.multlined(false, this.stack).With({
- arraydef: {
- displaystyle: true,
- rowspacing: '.5em',
- width: width,
- columnwidth: '100%',
- },
- }),
- pos || 'c'
- );
- },
-
- HandleShove: function (name, shove) {
- var top = this.stack.Top();
- if (top.type !== 'multline' && top.type !== 'multlined') {
- TEX.Error([
- 'CommandInMultlined',
- '%1 can only appear within the multline or multlined environments',
- name,
- ]);
- }
- if (top.data.length) {
- TEX.Error([
- 'CommandAtTheBeginingOfLine',
- '%1 must come at the beginning of the line',
- name,
- ]);
- }
- top.data.shove = shove;
- var shift = this.GetBrackets(name);
- var mml = this.ParseArg(name);
- if (shift) {
- var mrow = MML.mrow();
- var mspace = MML.mspace().With({ width: shift });
- if (shove === 'left') {
- mrow.Append(mspace);
- mrow.Append(mml);
- } else {
- mrow.Append(mml);
- mrow.Append(mspace);
- }
- mml = mrow;
- }
- this.Push(mml);
- },
- });
-
- STACKITEM.multlined = STACKITEM.multline.Subclass({
- EndTable: function () {
- if (this.data.length || this.row.length) {
- this.EndEntry();
- this.EndRow();
- }
- if (this.table.length) {
- var m = this.table.length - 1;
- if (this.table[0][0].columnalign !== 'right') {
- this.table[0][0].Append(
- MML.mspace().With({ width: TEX.config.MultlineGap || '2em' })
- );
- }
- if (this.table[m][0].columnalign !== 'left') {
- this.table[m][0].data[0].data.unshift(null);
- this.table[m][0].data[0].SetData(
- 0,
- MML.mspace().With({ width: TEX.config.MultlineGap || '2em' })
- );
- }
- }
- this.SUPER(arguments).EndTable.call(this);
- },
- });
-});
-
-MathJax.Callback.Queue([
- 'loadComplete',
- MathJax.Ajax,
- '[mathtools]/mathtools.js',
-]);
From 8556b6b7a9482e763763476aeb3ea5e8fd412d47 Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 12:28:12 +0200
Subject: [PATCH 5/6] feat: add CommonJS output
---
js/MathtoolsConfiguration.d.ts | 7 ++
js/MathtoolsConfiguration.js | 158 +++++++++++++++++++++++++++++++
js/MathtoolsConfiguration.js.map | 1 +
3 files changed, 166 insertions(+)
create mode 100644 js/MathtoolsConfiguration.d.ts
create mode 100644 js/MathtoolsConfiguration.js
create mode 100644 js/MathtoolsConfiguration.js.map
diff --git a/js/MathtoolsConfiguration.d.ts b/js/MathtoolsConfiguration.d.ts
new file mode 100644
index 0000000..da04679
--- /dev/null
+++ b/js/MathtoolsConfiguration.d.ts
@@ -0,0 +1,7 @@
+import { MultlineItem } from 'mathjax-full/js/input/tex/ams/AmsItems.js';
+import { Configuration } from 'mathjax-full/js/input/tex/Configuration.js';
+export declare class MultlinedItem extends MultlineItem {
+ get kind(): string;
+ EndTable(): void;
+}
+export declare const MathtoolsConfiguration: Configuration;
diff --git a/js/MathtoolsConfiguration.js b/js/MathtoolsConfiguration.js
new file mode 100644
index 0000000..f65eb4c
--- /dev/null
+++ b/js/MathtoolsConfiguration.js
@@ -0,0 +1,158 @@
+"use strict";
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = function (d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+ };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+var _a;
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.MathtoolsConfiguration = exports.MultlinedItem = void 0;
+var AmsItems_js_1 = require("mathjax-full/js/input/tex/ams/AmsItems.js");
+var ParseUtil_js_1 = require("mathjax-full/js/input/tex/ParseUtil.js");
+var ParseMethods_js_1 = require("mathjax-full/js/input/tex/ParseMethods.js");
+var Configuration_js_1 = require("mathjax-full/js/input/tex/Configuration.js");
+var AmsMethods_js_1 = require("mathjax-full/js/input/tex/ams/AmsMethods.js");
+var BaseMethods_js_1 = require("mathjax-full/js/input/tex/base/BaseMethods.js");
+var TexError_js_1 = require("mathjax-full/js/input/tex/TexError.js");
+var SymbolMap_js_1 = require("mathjax-full/js/input/tex/SymbolMap.js");
+var NodeUtil_js_1 = require("mathjax-full/js/input/tex/NodeUtil.js");
+var TexConstants_js_1 = require("mathjax-full/js/input/tex/TexConstants.js");
+var MathtoolsMethods = {};
+var MultlinedItem = (function (_super) {
+ __extends(MultlinedItem, _super);
+ function MultlinedItem() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ Object.defineProperty(MultlinedItem.prototype, "kind", {
+ get: function () {
+ return 'multlined';
+ },
+ enumerable: false,
+ configurable: true
+ });
+ MultlinedItem.prototype.EndTable = function () {
+ if (this.Size() || this.row.length) {
+ this.EndEntry();
+ this.EndRow();
+ }
+ if (this.table.length) {
+ var first = NodeUtil_js_1.default.getChildren(this.table[0])[0];
+ var m = this.table.length - 1;
+ if (NodeUtil_js_1.default.getAttribute(first, 'columnalign') !== TexConstants_js_1.TexConstant.Align.RIGHT) {
+ first.appendChild(this.create('node', 'mspace', [], { width: this.factory.configuration.options['MultlineGap'] || '2em' }));
+ }
+ var last = NodeUtil_js_1.default.getChildren(this.table[m])[0];
+ if (NodeUtil_js_1.default.getAttribute(last, 'columnalign') !== TexConstants_js_1.TexConstant.Align.LEFT) {
+ var top_1 = last.childNodes[0];
+ top_1.childNodes.unshift(null);
+ var space = this.create('node', 'mspace', [], { width: this.factory.configuration.options['MultlineGap'] || '2em' });
+ NodeUtil_js_1.default.setChild(top_1, 0, space);
+ }
+ }
+ _super.prototype.EndTable.call(this);
+ };
+ return MultlinedItem;
+}(AmsItems_js_1.MultlineItem));
+exports.MultlinedItem = MultlinedItem;
+MathtoolsMethods.MtMatrix = function (parser, begin, open, close) {
+ var align = parser.GetBrackets('\\begin{' + begin.getName() + '}') || 'c';
+ return BaseMethods_js_1.default.Array(parser, begin, open, close, align);
+},
+ MathtoolsMethods.MtSmallMatrix = function (parser, begin, open, close, align) {
+ if (!align) {
+ align = parser.GetBrackets('\\begin{' + begin.getName() + '}') || 'c';
+ }
+ return BaseMethods_js_1.default.Array(parser, begin, open, close, align, ParseUtil_js_1.default.Em(1 / 3), '.2em', 'S', 1);
+ },
+ MathtoolsMethods.MtMultlined = function (parser, begin) {
+ var pos = parser.GetBrackets('\\begin{' + begin.getName() + '}') || '';
+ var width = pos ? parser.GetBrackets('\\begin{' + begin.getName() + '}') : null;
+ if (!pos.match(/^[cbt]$/)) {
+ var tmp = width;
+ width = pos;
+ pos = tmp;
+ }
+ parser.Push(begin);
+ var item = parser.itemFactory.create('multlined', parser, begin);
+ item.arraydef = {
+ displaystyle: true,
+ rowspacing: '.5em',
+ width: width || parser.options['multlineWidth'],
+ columnwidth: '100%',
+ };
+ return ParseUtil_js_1.default.setArrayAlign(item, pos || 'c');
+ };
+MathtoolsMethods.HandleShove = function (parser, name, shove) {
+ var top = parser.stack.Top();
+ if (top.kind !== 'multline' && top.kind !== 'multlined') {
+ throw new TexError_js_1.default('CommandInMultlined', '%1 can only appear within the multline or multlined environments', name);
+ }
+ if (top.Size()) {
+ throw new TexError_js_1.default('CommandAtTheBeginingOfLine', '%1 must come at the beginning of the line', name);
+ }
+ top.setProperty('shove', shove);
+ var shift = parser.GetBrackets(name);
+ var mml = parser.ParseArg(name);
+ if (shift) {
+ var mrow = parser.create('node', 'mrow', []);
+ var mspace = parser.create('node', 'mspace', [], { width: shift });
+ if (shove === 'left') {
+ mrow.appendChild(mspace);
+ mrow.appendChild(mml);
+ }
+ else {
+ mrow.appendChild(mml);
+ mrow.appendChild(mspace);
+ }
+ mml = mrow;
+ }
+ parser.Push(mml);
+};
+MathtoolsMethods.Array = BaseMethods_js_1.default.Array;
+MathtoolsMethods.Macro = BaseMethods_js_1.default.Macro;
+MathtoolsMethods.xArrow = AmsMethods_js_1.AmsMethods.xArrow;
+new SymbolMap_js_1.CommandMap('mathtools-macros', {
+ shoveleft: ['HandleShove', TexConstants_js_1.TexConstant.Align.LEFT],
+ shoveright: ['HandleShove', TexConstants_js_1.TexConstant.Align.RIGHT],
+ coloneqq: ['Macro', '\\mathrel{≔}'],
+ xleftrightarrow: ['xArrow', 0x2194, 7, 6]
+}, MathtoolsMethods);
+new SymbolMap_js_1.EnvironmentMap('mathtools-environment', ParseMethods_js_1.default.environment, {
+ dcases: ['Array', null, '\\{', '.', 'll', null, '.2em', 'D'],
+ rcases: ['Array', null, '.', '\\}', 'll', null, '.2em', 'D'],
+ drcases: ['Array', null, '\\{', '\\}', 'll', null, '.2em', 'D'],
+ 'matrix*': ['MtMatrix', null, null, null],
+ 'pmatrix*': ['MtMatrix', null, '(', ')'],
+ 'bmatrix*': ['MtMatrix', null, '[', ']'],
+ 'Bmatrix*': ['MtMatrix', null, '\\{', '\\}'],
+ 'vmatrix*': ['MtMatrix', null, '\\vert', '\\vert'],
+ 'Vmatrix*': ['MtMatrix', null, '\\Vert', '\\Vert'],
+ 'smallmatrix*': ['MtSmallMatrix', null, null, null],
+ psmallmatrix: ['MtSmallMatrix', null, '(', ')', 'c'],
+ 'psmallmatrix*': ['MtSmallMatrix', null, '(', ')'],
+ bsmallmatrix: ['MtSmallMatrix', null, '[', ']', 'c'],
+ 'bsmallmatrix*': ['MtSmallMatrix', null, '[', ']'],
+ Bsmallmatrix: ['MtSmallMatrix', null, '\\{', '\\}', 'c'],
+ 'Bsmallmatrix*': ['MtSmallMatrix', null, '\\{', '\\}'],
+ vsmallmatrix: ['MtSmallMatrix', null, '\\vert', '\\vert', 'c'],
+ 'vsmallmatrix*': ['MtSmallMatrix', null, '\\vert', '\\vert'],
+ Vsmallmatrix: ['MtSmallMatrix', null, '\\Vert', '\\Vert', 'c'],
+ 'Vsmallmatrix*': ['MtSmallMatrix', null, '\\Vert', '\\Vert'],
+ multlined: 'MtMultlined',
+}, MathtoolsMethods);
+exports.MathtoolsConfiguration = Configuration_js_1.Configuration.create('mathtools', {
+ handler: {
+ macro: ['mathtools-macros'],
+ environment: ['mathtools-environment']
+ },
+ items: (_a = {}, _a[MultlinedItem.prototype.kind] = MultlinedItem, _a)
+});
+//# sourceMappingURL=MathtoolsConfiguration.js.map
\ No newline at end of file
diff --git a/js/MathtoolsConfiguration.js.map b/js/MathtoolsConfiguration.js.map
new file mode 100644
index 0000000..5020ddd
--- /dev/null
+++ b/js/MathtoolsConfiguration.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"MathtoolsConfiguration.js","sourceRoot":"","sources":["../ts/MathtoolsConfiguration.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
From 2e6b9c6950be48052a411f144ad05b8fe112e7d5 Mon Sep 17 00:00:00 2001
From: Peter Krautzberger
Date: Tue, 6 Oct 2020 14:59:09 +0200
Subject: [PATCH 6/6] fix(package): main's filename
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 7fbc343..f8e3afd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mathjax-mathtools",
- "main": "./js/mathtools.js",
+ "main": "./js/MathtoolsConfiguration.js",
"version": "1.3.0",
"description": "MathJax extension reimplementing (parts of) the mathtools package",
"keywords": [