mathpix-markdown-it 1.0.84 → 1.0.85

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.
Files changed (62) hide show
  1. package/.idea/vcs.xml +1 -0
  2. package/.idea/workspace.xml +544 -447
  3. package/README.md +1 -1
  4. package/es5/bundle.js +1 -1
  5. package/es5/context-menu.js +1 -1
  6. package/es5/index.js +1 -1
  7. package/lib/contex-menu/index.js +8 -8
  8. package/lib/contex-menu/index.js.map +1 -1
  9. package/lib/contex-menu/menu/consts.d.ts +6 -1
  10. package/lib/contex-menu/menu/consts.js +15 -2
  11. package/lib/contex-menu/menu/consts.js.map +1 -1
  12. package/lib/contex-menu/menu/helper.d.ts +2 -1
  13. package/lib/contex-menu/menu/helper.js +25 -7
  14. package/lib/contex-menu/menu/helper.js.map +1 -1
  15. package/lib/contex-menu/menu/menu-item-actions.js +1 -1
  16. package/lib/contex-menu/menu/menu-item-actions.js.map +1 -1
  17. package/lib/contex-menu/menu/menu-item.js +12 -0
  18. package/lib/contex-menu/menu/menu-item.js.map +1 -1
  19. package/lib/markdown/common/consts.d.ts +6 -0
  20. package/lib/markdown/common/consts.js +7 -1
  21. package/lib/markdown/common/consts.js.map +1 -1
  22. package/lib/markdown/common/tsv.js +4 -2
  23. package/lib/markdown/common/tsv.js.map +1 -1
  24. package/lib/markdown/md-block-rule/begin-tabular/index.d.ts +1 -0
  25. package/lib/markdown/md-block-rule/begin-tabular/index.js +1 -0
  26. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  27. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +23 -4
  28. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
  29. package/lib/markdown/md-block-rule/begin-tabular/sub-math.d.ts +1 -1
  30. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +16 -7
  31. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
  32. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +2 -1
  33. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
  34. package/lib/markdown/md-renderer-rules/render-tabular.js +1 -1
  35. package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
  36. package/lib/markdown/mdPluginRaw.js +40 -1
  37. package/lib/markdown/mdPluginRaw.js.map +1 -1
  38. package/lib/mathjax/helpers/array/ArrayConfiguration.d.ts +6 -0
  39. package/lib/mathjax/helpers/array/ArrayConfiguration.js +14 -0
  40. package/lib/mathjax/helpers/array/ArrayConfiguration.js.map +1 -0
  41. package/lib/mathjax/helpers/array/ArrayMappings.d.ts +1 -0
  42. package/lib/mathjax/helpers/array/ArrayMappings.js +12 -0
  43. package/lib/mathjax/helpers/array/ArrayMappings.js.map +1 -0
  44. package/lib/mathjax/helpers/array/ArrayMethods.d.ts +6 -0
  45. package/lib/mathjax/helpers/array/ArrayMethods.js +28 -0
  46. package/lib/mathjax/helpers/array/ArrayMethods.js.map +1 -0
  47. package/lib/mathjax/index.d.ts +2 -0
  48. package/lib/mathjax/index.js +45 -8
  49. package/lib/mathjax/index.js.map +1 -1
  50. package/lib/mathjax/mathjax.d.ts +4 -0
  51. package/lib/mathjax/mathjax.js +12 -0
  52. package/lib/mathjax/mathjax.js.map +1 -1
  53. package/lib/mathjax/serialized-ascii/handlers.d.ts +2 -0
  54. package/lib/mathjax/serialized-ascii/handlers.js +246 -48
  55. package/lib/mathjax/serialized-ascii/handlers.js.map +1 -1
  56. package/lib/mathjax/serialized-ascii/helperA.d.ts +46 -0
  57. package/lib/mathjax/serialized-ascii/helperA.js +135 -124
  58. package/lib/mathjax/serialized-ascii/helperA.js.map +1 -1
  59. package/lib/mathjax/serialized-ascii/index.d.ts +3 -0
  60. package/lib/mathjax/serialized-ascii/index.js +43 -5
  61. package/lib/mathjax/serialized-ascii/index.js.map +1 -1
  62. package/package.json +1 -1
@@ -2,17 +2,21 @@ import { MathML } from "mathjax-full/js/input/mathml.js";
2
2
  import { SVG } from 'mathjax-full/js/output/svg.js';
3
3
  import { AsciiMath } from 'mathjax-full/js/input/asciimath.js';
4
4
  import 'mathjax-full/js/input/tex/AllPackages.js';
5
+ /** Load configuration for additional package array */
6
+ import './helpers/array/ArrayConfiguration';
5
7
  export declare const mml: MathML<unknown, unknown, unknown>;
6
8
  export declare const svg: SVG<unknown, unknown, unknown>;
7
9
  export declare const asciimath: AsciiMath<unknown, unknown, unknown>;
8
10
  export declare class MathJaxConfigure {
9
11
  mTex: any;
10
12
  tex: any;
13
+ texTSV: any;
11
14
  mathjax: any;
12
15
  adaptor: any;
13
16
  domNode: any;
14
17
  handler: any;
15
18
  docTeX: any;
19
+ docTeXTSV: any;
16
20
  mDocTeX: any;
17
21
  docMathML: any;
18
22
  docAsciiMath: any;
@@ -11,6 +11,8 @@ var html_js_1 = require("mathjax-full/js/handlers/html.js");
11
11
  var browserAdaptor_js_1 = require("mathjax-full/js/adaptors/browserAdaptor.js");
12
12
  var liteAdaptor_js_1 = require("mathjax-full/js/adaptors/liteAdaptor.js");
13
13
  require("mathjax-full/js/input/tex/AllPackages.js");
14
+ /** Load configuration for additional package array */
15
+ require("./helpers/array/ArrayConfiguration");
14
16
  var assistive_mml_js_1 = require("mathjax-full/js/a11y/assistive-mml.js");
15
17
  var mathJaxConfig_1 = require("./mathJaxConfig");
16
18
  require("./my-BaseMappings");
@@ -19,6 +21,10 @@ BaseConfiguration_js_1.BaseConfiguration.handler.macro.push('wasysym-mathchar0mo
19
21
  //wasysym-macros
20
22
  BaseConfiguration_js_1.BaseConfiguration.handler.macro.push('wasysym-macros');
21
23
  var texConfig = Object.assign({}, mathJaxConfig_1.default.TeX || {});
24
+ /** for TSV, add the array package, which will add an additional name attribute that points to the environment */
25
+ var texTSVConfig = Object.assign({}, texConfig, {
26
+ packages: [].concat(texConfig['packages'], ['array'])
27
+ });
22
28
  var mmlConfig = Object.assign({}, mathJaxConfig_1.default.MathML || {});
23
29
  var svgConfig = Object.assign({}, mathJaxConfig_1.default.SVG || {});
24
30
  // @ts-ignore
@@ -62,11 +68,13 @@ var MathJaxConfigure = /** @class */ (function () {
62
68
  // @ts-ignore
63
69
  _this.mTex = new MTeX(Object.assign({}, texConfig, { tags: "none" }));
64
70
  _this.tex = new tex_js_1.TeX(Object.assign({}, texConfig, { tags: "none" }));
71
+ _this.texTSV = new tex_js_1.TeX(Object.assign({}, texTSVConfig, { tags: "none" }));
65
72
  }
66
73
  else {
67
74
  // @ts-ignore
68
75
  _this.mTex = new MTeX(texConfig);
69
76
  _this.tex = new tex_js_1.TeX(texConfig);
77
+ _this.texTSV = new tex_js_1.TeX(texTSVConfig);
70
78
  }
71
79
  };
72
80
  this.setHandler = function (acssistiveMml, nonumbers) {
@@ -81,6 +89,10 @@ var MathJaxConfigure = /** @class */ (function () {
81
89
  InputJax: _this.tex,
82
90
  OutputJax: exports.svg
83
91
  });
92
+ _this.docTeXTSV = mathjax_js_1.mathjax.document(_this.domNode, {
93
+ InputJax: _this.texTSV,
94
+ OutputJax: exports.svg
95
+ });
84
96
  _this.mDocTeX = mathjax_js_1.mathjax.document(_this.domNode, {
85
97
  InputJax: _this.mTex,
86
98
  OutputJax: exports.svg
@@ -1 +1 @@
1
- {"version":3,"file":"mathjax.js","sourceRoot":"","sources":["../../src/mathjax/mathjax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mathjax.js","sourceRoot":"","sources":["../../src/mathjax/mathjax.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { MmlNode } from "mathjax-full/js/core/MmlTree/MmlNode";
2
+ import { eSymbolType } from "./helperA";
3
+ export declare const getSymbolType: (tag: string, output: string) => "" | eSymbolType;
2
4
  export declare const SymbolToAM: (tag: string, output: string, atr?: any, showStyle?: boolean) => any;
3
5
  export declare const FindSymbolReplace: (str: string) => string;
4
6
  export declare const FindSymbolToAM: (tag: string, output: string, atr?: any) => string;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handle = exports.getAttributes = exports.FindSymbolToAM = exports.FindSymbolReplace = exports.SymbolToAM = void 0;
3
+ exports.handle = exports.getAttributes = exports.FindSymbolToAM = exports.FindSymbolReplace = exports.SymbolToAM = exports.getSymbolType = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ var MmlNode_1 = require("mathjax-full/js/core/MmlTree/MmlNode");
5
6
  var helperA_1 = require("./helperA");
6
7
  var regW = /^\w/;
7
8
  var isFirstChild = function (node) {
@@ -67,6 +68,10 @@ var needLastSpase = function (node) {
67
68
  return haveSpace;
68
69
  }
69
70
  };
71
+ exports.getSymbolType = function (tag, output) {
72
+ var tags = helperA_1.AMsymbols.find(function (item) { return (item.tag === tag && item.output === output); });
73
+ return tags ? tags.symbolType : '';
74
+ };
70
75
  exports.SymbolToAM = function (tag, output, atr, showStyle) {
71
76
  var e_1, _a;
72
77
  if (atr === void 0) { atr = null; }
@@ -187,20 +192,15 @@ var menclose = function (handlerApi) {
187
192
  var atr = exports.getAttributes(node);
188
193
  var isLeft = false;
189
194
  var isRight = false;
190
- var isBottom = false;
191
195
  if (atr && atr.notation) {
192
196
  isLeft = atr.notation.toString().indexOf('left') > -1;
193
197
  isRight = atr.notation.toString().indexOf('right') > -1;
194
- isBottom = atr.notation.toString().indexOf('bottom') > -1;
195
198
  }
196
199
  mml += isLeft ? '[' : '';
197
200
  mml += handlerApi.handleAll(node, serialize);
198
201
  if (atr && atr.lcm) {
199
202
  mml += '';
200
203
  }
201
- else {
202
- mml += isBottom ? ',[hline]' : '';
203
- }
204
204
  mml += isRight ? ']' : '';
205
205
  return mml;
206
206
  }
@@ -210,29 +210,208 @@ var menclose = function (handlerApi) {
210
210
  }
211
211
  };
212
212
  };
213
+ var getNodeFromRow = function (node) {
214
+ if (node.childNodes.length === 1 && (node.childNodes[0].isKind('inferredMrow') || node.childNodes[0].isKind('TeXAtom'))) {
215
+ node = getNodeFromRow(node.childNodes[0]);
216
+ }
217
+ return node;
218
+ };
219
+ var getDataForVerticalMath = function (serialize, node, rowNumber) {
220
+ var mtdNode = getNodeFromRow(node);
221
+ var res = {
222
+ collChildrenCanBeVerticalMath: true,
223
+ startedFromMathOperation: false,
224
+ mmlCollVerticalMath: '',
225
+ mathOperation: ''
226
+ };
227
+ for (var k = 0; k < mtdNode.childNodes.length; k++) {
228
+ var child = mtdNode.childNodes[k];
229
+ /** The element is wrapped in curly braces:
230
+ * e.g. {\times 1}*/
231
+ if (child.isKind('inferredMrow') || child.isKind('TeXAtom')) {
232
+ var data = getDataForVerticalMath(serialize, child, rowNumber);
233
+ if (!data.collChildrenCanBeVerticalMath) {
234
+ res.collChildrenCanBeVerticalMath = false;
235
+ }
236
+ if (data.startedFromMathOperation) {
237
+ res.startedFromMathOperation = true;
238
+ }
239
+ if (data.mathOperation) {
240
+ res.mathOperation = data.mathOperation;
241
+ }
242
+ res.mmlCollVerticalMath += data.mmlCollVerticalMath;
243
+ continue;
244
+ }
245
+ var mmlChild = serialize.visitNode(child, '');
246
+ var text = getChilrenText(child);
247
+ if (child.kind === 'mo') {
248
+ var symbolType = exports.getSymbolType('mo', text);
249
+ if (symbolType === helperA_1.eSymbolType.logical
250
+ || symbolType === helperA_1.eSymbolType.relation
251
+ || symbolType === helperA_1.eSymbolType.arrow) {
252
+ res.collChildrenCanBeVerticalMath = false;
253
+ }
254
+ }
255
+ if (!child.isKind('mstyle')) {
256
+ if (k === 0 && child.kind === 'mo' && rowNumber > 0) {
257
+ var text_1 = getChilrenText(child);
258
+ if (text_1 === '+' || text_1 === '-'
259
+ || text_1 === '\u2212' //"-"
260
+ || text_1 === '\u00D7' //times
261
+ || text_1 === '\u00F7' //div
262
+ ) {
263
+ res.mathOperation = mmlChild;
264
+ res.startedFromMathOperation = true;
265
+ }
266
+ }
267
+ res.mmlCollVerticalMath += mmlChild === '","' ? ',' : mmlChild;
268
+ }
269
+ }
270
+ return res;
271
+ };
213
272
  var mtable = function () {
214
273
  return function (node, serialize) {
274
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
215
275
  var mml = '';
216
276
  try {
217
- var parentIsMenclose = node.Parent && node.Parent.kind === 'menclose';
218
- var isHasBranchOpen = node.parent && node.parent.kind === 'mrow'
219
- && node.parent.properties
220
- && node.parent.properties.hasOwnProperty('open');
221
- var isHasBranchClose = node.parent && node.parent.kind === 'mrow'
222
- && node.parent.properties
223
- && node.parent.properties.hasOwnProperty('close');
224
- mml += isHasBranchOpen || parentIsMenclose
225
- ? ''
226
- : '{:';
227
- for (var i = 0; i < node.childNodes.length; i++) {
228
- if (i > 0) {
229
- mml += ',';
277
+ /** MathJax: <mrow> came from \left...\right
278
+ * so treat as subexpression (TeX class INNER). */
279
+ var isSubExpression = ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.texClass) === MmlNode_1.TEXCLASS.INNER;
280
+ var parentIsMenclose = ((_b = node.Parent) === null || _b === void 0 ? void 0 : _b.kind) === 'menclose';
281
+ var countRow = node.childNodes.length;
282
+ var toTsv = serialize.options.tableToTsv
283
+ && (((_c = node.Parent) === null || _c === void 0 ? void 0 : _c.kind) === 'math' || (parentIsMenclose && ((_d = node.Parent.Parent) === null || _d === void 0 ? void 0 : _d.kind) === 'math'));
284
+ node.attributes.setInherited('toTsv', toTsv);
285
+ var columnAlign = node.attributes.get('columnalign');
286
+ var arrRowLines = node.attributes.isSet('rowlines') ? node.attributes.get('rowlines').split(' ') : [];
287
+ var envName = node.attributes.get('name');
288
+ /** Check if a table is enclosed in brackets */
289
+ var isHasBranchOpen = node.parent && node.parent.kind === 'mrow' && ((_e = node.parent.properties) === null || _e === void 0 ? void 0 : _e.hasOwnProperty('open'));
290
+ var isHasBranchClose = node.parent && node.parent.kind === 'mrow' && ((_f = node.parent.properties) === null || _f === void 0 ? void 0 : _f.hasOwnProperty('close'));
291
+ var thereAreBracketsIn_parent = (isHasBranchOpen && node.parent.properties['open'])
292
+ || (isHasBranchClose && node.parent.properties['close']);
293
+ var thereAreBracketsIn_Parent = parentIsMenclose && ((_g = node.Parent.Parent) === null || _g === void 0 ? void 0 : _g.isKind('mrow'))
294
+ && ((((_h = node.Parent.Parent.properties) === null || _h === void 0 ? void 0 : _h.hasOwnProperty('open')) && node.Parent.Parent.properties['open'])
295
+ || (((_j = node.Parent.Parent.properties) === null || _j === void 0 ? void 0 : _j.hasOwnProperty('close')) && node.Parent.Parent.properties['close']));
296
+ /** It is a matrix or system of equations with brackets */
297
+ var isMatrixOrSystemOfEquations = thereAreBracketsIn_parent || thereAreBracketsIn_Parent;
298
+ var itShouldBeFlatten = envName === 'array' && !isHasBranchOpen && !isHasBranchClose && !parentIsMenclose;
299
+ /** Vertical math:
300
+ * \begin{array}{r} and it should not be a matrix and not a system of equations */
301
+ var isVerticalMath = columnAlign === 'right' && !isMatrixOrSystemOfEquations;
302
+ var arrRows = [];
303
+ var startedFromMathOperation = false;
304
+ for (var i = 0; i < countRow; i++) {
305
+ var mtrNode = node.childNodes[i];
306
+ mtrNode.attributes.setInherited('toTsv', toTsv);
307
+ mtrNode.attributes.setInherited('itShouldBeFlatten', itShouldBeFlatten);
308
+ var mmlRow = '';
309
+ var mmlRowVerticalMath = '';
310
+ var mathOperation = '';
311
+ var countColl = (_k = mtrNode.childNodes) === null || _k === void 0 ? void 0 : _k.length;
312
+ /** It's EqnArray or AmsEqnArray or AlignAt.
313
+ * eqnarray*, align, align*, split, gather, gather*, aligned, gathered, alignat, alignat*, alignedat */
314
+ var isEqnArrayRow = mtrNode.attributes.get('displaystyle');
315
+ for (var j = 0; j < countColl; j++) {
316
+ if (j > 0 && !isEqnArrayRow) {
317
+ mmlRow += toTsv ? ((_l = serialize.options.tsv_separators) === null || _l === void 0 ? void 0 : _l.column) || '\t'
318
+ : itShouldBeFlatten ? ', ' : ',';
319
+ }
320
+ var mtdNode = mtrNode.childNodes[j];
321
+ var mmlColl = serialize.visitNode(mtdNode, '');
322
+ var mmlCollVerticalMath = '';
323
+ if (isVerticalMath) {
324
+ var dataColl = getDataForVerticalMath(serialize, mtdNode, i);
325
+ mmlCollVerticalMath = dataColl.mmlCollVerticalMath;
326
+ if (dataColl.startedFromMathOperation) {
327
+ startedFromMathOperation = true;
328
+ mathOperation = dataColl.mathOperation;
329
+ }
330
+ if (!dataColl.collChildrenCanBeVerticalMath) {
331
+ isVerticalMath = false;
332
+ }
333
+ }
334
+ mmlRow += !toTsv && itShouldBeFlatten ? mmlColl.trimEnd() : mmlColl;
335
+ mmlRowVerticalMath += mmlCollVerticalMath;
336
+ }
337
+ /** For vertical math, if the horizontal line is in front of the answer, then replace it with an equals sign */
338
+ if (isVerticalMath && (arrRowLines === null || arrRowLines === void 0 ? void 0 : arrRowLines.length) && (arrRowLines === null || arrRowLines === void 0 ? void 0 : arrRowLines.length) > i && arrRowLines[i] !== 'none') {
339
+ mmlRowVerticalMath += '=';
340
+ }
341
+ if (toTsv || itShouldBeFlatten) {
342
+ arrRows.push({
343
+ mmlRow: mmlRow,
344
+ mmlRowVerticalMath: mmlRowVerticalMath,
345
+ mathOperation: mathOperation,
346
+ encloseToSquareBrackets: false
347
+ });
348
+ continue;
349
+ }
350
+ /** It's EqnArray or AmsEqnArray or AlignAt.
351
+ * eqnarray*, align, align*, split, gather, gather*, aligned, gathered, alignat, alignat*, alignedat */
352
+ var isEqnArray = (_m = mtrNode.attributes) === null || _m === void 0 ? void 0 : _m.get('displaystyle');
353
+ arrRows.push({
354
+ mmlRow: mmlRow,
355
+ mmlRowVerticalMath: mmlRowVerticalMath,
356
+ mathOperation: mathOperation,
357
+ encloseToSquareBrackets: countRow > 1 || isSubExpression || (countColl > 1 && !isEqnArray)
358
+ });
359
+ }
360
+ /** If none of the row starts with math operation (+, -, times)
361
+ * then it can't be vertical math */
362
+ if (!startedFromMathOperation) {
363
+ isVerticalMath = false;
364
+ }
365
+ /** Check for the need to set mathematical operations before each line */
366
+ if (isVerticalMath && arrRows.length > 2) {
367
+ var mathOperation = '';
368
+ for (var i = arrRows.length - 1; i >= 0; i--) {
369
+ if (arrRows[i].mathOperation) {
370
+ mathOperation = arrRows[i].mathOperation;
371
+ continue;
372
+ }
373
+ if (mathOperation && i > 0) {
374
+ arrRows[i].mmlRowVerticalMath = mathOperation + arrRows[i].mmlRowVerticalMath;
375
+ }
376
+ }
377
+ }
378
+ var mmlTableContent = '';
379
+ for (var i = 0; i < arrRows.length; i++) {
380
+ if (i > 0 && !isVerticalMath) {
381
+ mmlTableContent += toTsv
382
+ ? ((_o = serialize.options.tsv_separators) === null || _o === void 0 ? void 0 : _o.row) || '\n'
383
+ : itShouldBeFlatten ? ', ' : ',';
384
+ }
385
+ var mmlRow = isVerticalMath
386
+ ? arrRows[i].mmlRowVerticalMath
387
+ : arrRows[i].mmlRow;
388
+ mmlTableContent += arrRows[i].encloseToSquareBrackets && !isVerticalMath
389
+ ? '[' + mmlRow + ']'
390
+ : mmlRow;
391
+ }
392
+ if (isVerticalMath) {
393
+ if ((_p = node.Parent) === null || _p === void 0 ? void 0 : _p.isKind('mrow')) {
394
+ node.Parent.attributes.setInherited('isVerticalMath', true);
395
+ }
396
+ if (((_q = node.Parent) === null || _q === void 0 ? void 0 : _q.isKind('menclose')) && ((_s = (_r = node.Parent) === null || _r === void 0 ? void 0 : _r.Parent) === null || _s === void 0 ? void 0 : _s.isKind('mrow'))) {
397
+ node.Parent.Parent.attributes.setInherited('isVerticalMath', true);
398
+ }
399
+ }
400
+ if (toTsv) {
401
+ mml += '"';
402
+ mml += mmlTableContent;
403
+ mml += '"';
404
+ }
405
+ else {
406
+ if (itShouldBeFlatten || isVerticalMath) {
407
+ mml += mmlTableContent;
408
+ }
409
+ else {
410
+ mml += isHasBranchOpen || parentIsMenclose ? '' : '{:';
411
+ mml += mmlTableContent;
412
+ mml += isHasBranchClose || parentIsMenclose ? '' : ':}';
230
413
  }
231
- mml += serialize.visitNode(node.childNodes[i], '');
232
414
  }
233
- mml += isHasBranchClose || parentIsMenclose
234
- ? ''
235
- : ':}';
236
415
  return mml;
237
416
  }
238
417
  catch (e) {
@@ -245,22 +424,23 @@ var mrow = function () {
245
424
  return function (node, serialize) {
246
425
  var mml = '';
247
426
  try {
248
- var isTexClass7 = node.properties && node.properties.texClass === 7
427
+ var isTexClass7 = node.properties && node.properties.texClass === MmlNode_1.TEXCLASS.INNER
249
428
  && node.parent && node.parent.kind === 'inferredMrow';
250
429
  var needBranchOpen = node.properties
251
430
  && node.properties.hasOwnProperty('open') && node.properties.open === '';
252
431
  var needBranchClose = node.properties
253
432
  && node.properties.hasOwnProperty('close') && node.properties.close === '';
254
- mml += isTexClass7 && needBranchOpen
255
- ? '{:'
256
- : '';
433
+ var mmlContent = '';
257
434
  for (var i = 0; i < node.childNodes.length; i++) {
258
- mml += serialize.visitNode(node.childNodes[i], '');
435
+ mmlContent += serialize.visitNode(node.childNodes[i], '');
259
436
  }
260
- mml += isTexClass7 && needBranchClose
437
+ var isVerticalMath = node.attributes.get('isVerticalMath');
438
+ mml += isTexClass7 && needBranchOpen && !isVerticalMath
439
+ ? '{:'
440
+ : '';
441
+ mml += mmlContent;
442
+ mml += isTexClass7 && needBranchClose && !isVerticalMath
261
443
  ? ':}' : '';
262
- if (isTexClass7 && (needBranchClose || needBranchOpen)) {
263
- }
264
444
  return mml;
265
445
  }
266
446
  catch (e) {
@@ -271,22 +451,22 @@ var mrow = function () {
271
451
  };
272
452
  var mtr = function () {
273
453
  return function (node, serialize) {
454
+ var _a;
274
455
  var mml = '';
275
456
  try {
276
- var needBranch = node.parent && node.parent.parent && node.parent.parent.texClass === 7;
277
- var display = node.attributes.get('displaystyle');
278
- var mtrContent = '';
457
+ /** It's EqnArray or AmsEqnArray or AlignAt.
458
+ * eqnarray*, align, align*, split, gather, gather*, aligned, gathered, alignat, alignat*, alignedat */
459
+ var isEqnArray = node.attributes.get('displaystyle');
460
+ var toTsv = node.attributes.get('toTsv');
461
+ var itShouldBeFlatten = node.attributes.get('itShouldBeFlatten');
279
462
  for (var i = 0; i < node.childNodes.length; i++) {
280
- if (i > 0) {
281
- mtrContent += display
282
- ? ''
283
- : ',';
463
+ if (i > 0 && !isEqnArray) {
464
+ mml += toTsv ? ((_a = serialize.options.tsv_separators) === null || _a === void 0 ? void 0 : _a.column) || '\t'
465
+ : itShouldBeFlatten ? ', ' : ',';
284
466
  }
285
- mtrContent += serialize.visitNode(node.childNodes[i], '');
467
+ var mmlCell = serialize.visitNode(node.childNodes[i], '');
468
+ mml += !toTsv && itShouldBeFlatten ? mmlCell === null || mmlCell === void 0 ? void 0 : mmlCell.trimEnd() : mmlCell;
286
469
  }
287
- mml += node.parent.childNodes.length > 1 || needBranch || (node.childNodes.length > 1 && !display)
288
- ? '[' + mtrContent + ']'
289
- : mtrContent;
290
470
  return mml;
291
471
  }
292
472
  catch (e) {
@@ -308,9 +488,12 @@ var mpadded = function (handlerApi) {
308
488
  }
309
489
  }
310
490
  }
311
- mml += '"';
491
+ /** For tsv:
492
+ * Omit the " in nested arrays
493
+ * */
494
+ mml += serialize.options.tableToTsv ? '' : '"';
312
495
  mml += mmlAdd;
313
- mml += '"';
496
+ mml += serialize.options.tableToTsv ? '' : '"';
314
497
  return mml;
315
498
  }
316
499
  catch (e) {
@@ -548,7 +731,11 @@ var mtext = function () {
548
731
  mml += asc;
549
732
  return mml;
550
733
  }
551
- if (value[0] === '(') {
734
+ var toTsv = node.attributes.get('toTsv');
735
+ if (value[0] === '(' || toTsv) {
736
+ if (toTsv) {
737
+ value = value.replace(/"/g, '');
738
+ }
552
739
  mml += value;
553
740
  }
554
741
  else {
@@ -556,7 +743,14 @@ var mtext = function () {
556
743
  mml += '';
557
744
  }
558
745
  else {
559
- mml += '"' + value + '"';
746
+ /** For tsv:
747
+ * Omit the " in nested arrays */
748
+ if (serialize.options.tableToTsv) {
749
+ mml += value.replace(/"/g, '');
750
+ }
751
+ else {
752
+ mml += '"' + value + '"';
753
+ }
560
754
  }
561
755
  }
562
756
  return mml;
@@ -613,10 +807,14 @@ var mo = function () {
613
807
  }
614
808
  else {
615
809
  if (abs === ',' && node.Parent.kind === 'mtd') {
616
- mml += '"' + abs + '"';
810
+ /** For tsv:
811
+ * Omit the " in nested arrays */
812
+ mml += serialize.options.tableToTsv ? '' : '"';
813
+ mml += abs;
814
+ mml += serialize.options.tableToTsv ? '' : '"';
617
815
  }
618
816
  else {
619
- mml += abs;
817
+ mml += abs === '"' && serialize.options.tableToTsv ? '' : abs;
620
818
  }
621
819
  }
622
820
  if (node.Parent && node.Parent.kind === "mpadded" && node.Parent.Parent && node.Parent.Parent.kind === "menclose") {
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/mathjax/serialized-ascii/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/mathjax/serialized-ascii/handlers.ts"],"names":[],"mappings":"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"}