site/node_modules/mathjax-full/js/input/tex/ParseMethods.js

110 lines
4.4 KiB
JavaScript
Raw Permalink Normal View History

2024-10-14 06:09:33 +00:00
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var NodeUtil_js_1 = __importDefault(require("./NodeUtil.js"));
var TexConstants_js_1 = require("./TexConstants.js");
var ParseUtil_js_1 = __importDefault(require("./ParseUtil.js"));
var ParseMethods;
(function (ParseMethods) {
function variable(parser, c) {
var def = ParseUtil_js_1.default.getFontDef(parser);
var env = parser.stack.env;
if (env.multiLetterIdentifiers && env.font !== '') {
c = parser.string.substr(parser.i - 1).match(env.multiLetterIdentifiers)[0];
parser.i += c.length - 1;
if (def.mathvariant === TexConstants_js_1.TexConstant.Variant.NORMAL && env.noAutoOP && c.length > 1) {
def.autoOP = false;
}
}
var node = parser.create('token', 'mi', def, c);
parser.Push(node);
}
ParseMethods.variable = variable;
function digit(parser, c) {
var mml;
var pattern = parser.configuration.options['digits'];
var n = parser.string.slice(parser.i - 1).match(pattern);
var def = ParseUtil_js_1.default.getFontDef(parser);
if (n) {
mml = parser.create('token', 'mn', def, n[0].replace(/[{}]/g, ''));
parser.i += n[0].length - 1;
}
else {
mml = parser.create('token', 'mo', def, c);
}
parser.Push(mml);
}
ParseMethods.digit = digit;
function controlSequence(parser, _c) {
var name = parser.GetCS();
parser.parse('macro', [parser, name]);
}
ParseMethods.controlSequence = controlSequence;
function mathchar0mi(parser, mchar) {
var def = mchar.attributes || { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC };
var node = parser.create('token', 'mi', def, mchar.char);
parser.Push(node);
}
ParseMethods.mathchar0mi = mathchar0mi;
function mathchar0mo(parser, mchar) {
var def = mchar.attributes || {};
def['stretchy'] = false;
var node = parser.create('token', 'mo', def, mchar.char);
NodeUtil_js_1.default.setProperty(node, 'fixStretchy', true);
parser.configuration.addNode('fixStretchy', node);
parser.Push(node);
}
ParseMethods.mathchar0mo = mathchar0mo;
function mathchar7(parser, mchar) {
var def = mchar.attributes || { mathvariant: TexConstants_js_1.TexConstant.Variant.NORMAL };
if (parser.stack.env['font']) {
def['mathvariant'] = parser.stack.env['font'];
}
var node = parser.create('token', 'mi', def, mchar.char);
parser.Push(node);
}
ParseMethods.mathchar7 = mathchar7;
function delimiter(parser, delim) {
var def = delim.attributes || {};
def = Object.assign({ fence: false, stretchy: false }, def);
var node = parser.create('token', 'mo', def, delim.char);
parser.Push(node);
}
ParseMethods.delimiter = delimiter;
function environment(parser, env, func, args) {
var end = args[0];
var mml = parser.itemFactory.create('begin').setProperties({ name: env, end: end });
mml = func.apply(void 0, __spreadArray([parser, mml], __read(args.slice(1)), false));
parser.Push(mml);
}
ParseMethods.environment = environment;
})(ParseMethods || (ParseMethods = {}));
exports.default = ParseMethods;
//# sourceMappingURL=ParseMethods.js.map