8d48034d3e1c3e3d917dd46589000bb3dc39920d97032c07f0439c0f83045843.json 79 KB

1
  1. {"ast":null,"code":"\"use strict\";\n\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar BaseMethods_js_1 = __importDefault(require(\"../base/BaseMethods.js\"));\nvar TexParser_js_1 = __importDefault(require(\"../TexParser.js\"));\nvar TexError_js_1 = __importDefault(require(\"../TexError.js\"));\nvar MmlNode_js_1 = require(\"../../../core/MmlTree/MmlNode.js\");\nvar ParseUtil_js_1 = __importDefault(require(\"../ParseUtil.js\"));\nvar NodeUtil_js_1 = __importDefault(require(\"../NodeUtil.js\"));\nvar NodeFactory_js_1 = require(\"../NodeFactory.js\");\nvar PhysicsMethods = {};\nvar pairs = {\n '(': ')',\n '[': ']',\n '{': '}',\n '|': '|'\n};\nvar biggs = /^(b|B)i(g{1,2})$/;\nPhysicsMethods.Quantity = function (parser, name, open, close, arg, named, variant) {\n if (open === void 0) {\n open = '(';\n }\n if (close === void 0) {\n close = ')';\n }\n if (arg === void 0) {\n arg = false;\n }\n if (named === void 0) {\n named = '';\n }\n if (variant === void 0) {\n variant = '';\n }\n var star = arg ? parser.GetStar() : false;\n var next = parser.GetNext();\n var position = parser.i;\n var big = null;\n if (next === '\\\\') {\n parser.i++;\n big = parser.GetCS();\n if (!big.match(biggs)) {\n var empty = parser.create('node', 'mrow');\n parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));\n parser.i = position;\n return;\n }\n next = parser.GetNext();\n }\n var right = pairs[next];\n if (arg && next !== '{') {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n if (!right) {\n var empty = parser.create('node', 'mrow');\n parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));\n parser.i = position;\n return;\n }\n if (named) {\n var mml = parser.create('token', 'mi', {\n texClass: MmlNode_js_1.TEXCLASS.OP\n }, named);\n if (variant) {\n NodeUtil_js_1.default.setAttribute(mml, 'mathvariant', variant);\n }\n parser.Push(parser.itemFactory.create('fn', mml));\n }\n if (next === '{') {\n var argument = parser.GetArgument(name);\n next = arg ? open : '\\\\{';\n right = arg ? close : '\\\\}';\n argument = star ? next + ' ' + argument + ' ' + right : big ? '\\\\' + big + 'l' + next + ' ' + argument + ' ' + '\\\\' + big + 'r' + right : '\\\\left' + next + ' ' + argument + ' ' + '\\\\right' + right;\n parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n return;\n }\n if (arg) {\n next = open;\n right = close;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: next,\n close: right,\n big: big\n }));\n};\nPhysicsMethods.Eval = function (parser, name) {\n var star = parser.GetStar();\n var next = parser.GetNext();\n if (next === '{') {\n var arg = parser.GetArgument(name);\n var replace = '\\\\left. ' + (star ? '\\\\smash{' + arg + '}' : arg) + ' ' + '\\\\vphantom{\\\\int}\\\\right|';\n parser.string = parser.string.slice(0, parser.i) + replace + parser.string.slice(parser.i);\n return;\n }\n if (next === '(' || next === '[') {\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: next,\n close: '|',\n smash: star,\n right: '\\\\vphantom{\\\\int}'\n }));\n return;\n }\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n};\nPhysicsMethods.Commutator = function (parser, name, open, close) {\n if (open === void 0) {\n open = '[';\n }\n if (close === void 0) {\n close = ']';\n }\n var star = parser.GetStar();\n var next = parser.GetNext();\n var big = null;\n if (next === '\\\\') {\n parser.i++;\n big = parser.GetCS();\n if (!big.match(biggs)) {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n next = parser.GetNext();\n }\n if (next !== '{') {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var argument = arg1 + ',' + arg2;\n argument = star ? open + ' ' + argument + ' ' + close : big ? '\\\\' + big + 'l' + open + ' ' + argument + ' ' + '\\\\' + big + 'r' + close : '\\\\left' + open + ' ' + argument + ' ' + '\\\\right' + close;\n parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nvar latinCap = [0x41, 0x5A];\nvar latinSmall = [0x61, 0x7A];\nvar greekCap = [0x391, 0x3A9];\nvar greekSmall = [0x3B1, 0x3C9];\nvar digits = [0x30, 0x39];\nfunction inRange(value, range) {\n return value >= range[0] && value <= range[1];\n}\nfunction createVectorToken(factory, kind, def, text) {\n var parser = factory.configuration.parser;\n var token = NodeFactory_js_1.NodeFactory.createToken(factory, kind, def, text);\n var code = text.codePointAt(0);\n if (text.length === 1 && !parser.stack.env.font && parser.stack.env.vectorFont && (inRange(code, latinCap) || inRange(code, latinSmall) || inRange(code, greekCap) || inRange(code, digits) || inRange(code, greekSmall) && parser.stack.env.vectorStar || NodeUtil_js_1.default.getAttribute(token, 'accent'))) {\n NodeUtil_js_1.default.setAttribute(token, 'mathvariant', parser.stack.env.vectorFont);\n }\n return token;\n}\nPhysicsMethods.VectorBold = function (parser, name) {\n var star = parser.GetStar();\n var arg = parser.GetArgument(name);\n var oldToken = parser.configuration.nodeFactory.get('token');\n var oldFont = parser.stack.env.font;\n delete parser.stack.env.font;\n parser.configuration.nodeFactory.set('token', createVectorToken);\n parser.stack.env.vectorFont = star ? 'bold-italic' : 'bold';\n parser.stack.env.vectorStar = star;\n var node = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();\n if (oldFont) {\n parser.stack.env.font = oldFont;\n }\n delete parser.stack.env.vectorFont;\n delete parser.stack.env.vectorStar;\n parser.configuration.nodeFactory.set('token', oldToken);\n parser.Push(node);\n};\nPhysicsMethods.StarMacro = function (parser, name, argcount) {\n var parts = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n parts[_i - 3] = arguments[_i];\n }\n var star = parser.GetStar();\n var args = [];\n if (argcount) {\n for (var i = args.length; i < argcount; i++) {\n args.push(parser.GetArgument(name));\n }\n }\n var macro = parts.join(star ? '*' : '');\n macro = ParseUtil_js_1.default.substituteArgs(parser, args, macro);\n parser.string = ParseUtil_js_1.default.addArgs(parser, macro, parser.string.slice(parser.i));\n parser.i = 0;\n ParseUtil_js_1.default.checkMaxMacros(parser);\n};\nvar vectorApplication = function (parser, kind, name, operator, fences) {\n var op = new TexParser_js_1.default(operator, parser.stack.env, parser.configuration).mml();\n parser.Push(parser.itemFactory.create(kind, op));\n var left = parser.GetNext();\n var right = pairs[left];\n if (!right) {\n return;\n }\n var lfence = '',\n rfence = '',\n arg = '';\n var enlarge = fences.indexOf(left) !== -1;\n if (left === '{') {\n arg = parser.GetArgument(name);\n lfence = enlarge ? '\\\\left\\\\{' : '';\n rfence = enlarge ? '\\\\right\\\\}' : '';\n var macro = lfence + ' ' + arg + ' ' + rfence;\n parser.string = macro + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n if (!enlarge) {\n return;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: left,\n close: right\n }));\n};\nPhysicsMethods.OperatorApplication = function (parser, name, operator) {\n var fences = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n fences[_i - 3] = arguments[_i];\n }\n vectorApplication(parser, 'fn', name, operator, fences);\n};\nPhysicsMethods.VectorOperator = function (parser, name, operator) {\n var fences = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n fences[_i - 3] = arguments[_i];\n }\n vectorApplication(parser, 'mml', name, operator, fences);\n};\nPhysicsMethods.Expression = function (parser, name, opt, id) {\n if (opt === void 0) {\n opt = true;\n }\n if (id === void 0) {\n id = '';\n }\n id = id || name.slice(1);\n var exp = opt ? parser.GetBrackets(name) : null;\n var mml = parser.create('token', 'mi', {\n texClass: MmlNode_js_1.TEXCLASS.OP\n }, id);\n if (exp) {\n var sup = new TexParser_js_1.default(exp, parser.stack.env, parser.configuration).mml();\n mml = parser.create('node', 'msup', [mml, sup]);\n }\n parser.Push(parser.itemFactory.create('fn', mml));\n if (parser.GetNext() !== '(') {\n return;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: '(',\n close: ')'\n }));\n};\nPhysicsMethods.Qqtext = function (parser, name, text) {\n var star = parser.GetStar();\n var arg = text ? text : parser.GetArgument(name);\n var replace = (star ? '' : '\\\\quad') + '\\\\text{' + arg + '}\\\\quad ';\n parser.string = parser.string.slice(0, parser.i) + replace + parser.string.slice(parser.i);\n};\nPhysicsMethods.Differential = function (parser, name, op) {\n var optArg = parser.GetBrackets(name);\n var power = optArg != null ? '^{' + optArg + '}' : ' ';\n var parens = parser.GetNext() === '(';\n var braces = parser.GetNext() === '{';\n var macro = op + power;\n if (!(parens || braces)) {\n macro += parser.GetArgument(name, true) || '';\n var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();\n parser.Push(mml);\n return;\n }\n if (braces) {\n macro += parser.GetArgument(name);\n var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();\n parser.Push(parser.create('node', 'TeXAtom', [mml], {\n texClass: MmlNode_js_1.TEXCLASS.OP\n }));\n return;\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: '(',\n close: ')'\n }));\n};\nPhysicsMethods.Derivative = function (parser, name, argMax, op) {\n var star = parser.GetStar();\n var optArg = parser.GetBrackets(name);\n var argCounter = 1;\n var args = [];\n args.push(parser.GetArgument(name));\n while (parser.GetNext() === '{' && argCounter < argMax) {\n args.push(parser.GetArgument(name));\n argCounter++;\n }\n var ignore = false;\n var power1 = ' ';\n var power2 = ' ';\n if (argMax > 2 && args.length > 2) {\n power1 = '^{' + (args.length - 1) + '}';\n ignore = true;\n } else if (optArg != null) {\n if (argMax > 2 && args.length > 1) {\n ignore = true;\n }\n power1 = '^{' + optArg + '}';\n power2 = power1;\n }\n var frac = star ? '\\\\flatfrac' : '\\\\frac';\n var first = args.length > 1 ? args[0] : '';\n var second = args.length > 1 ? args[1] : args[0];\n var rest = '';\n for (var i = 2, arg = void 0; arg = args[i]; i++) {\n rest += op + ' ' + arg;\n }\n var macro = frac + '{' + op + power1 + first + '}' + '{' + op + ' ' + second + power2 + ' ' + rest + '}';\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n if (parser.GetNext() === '(') {\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open').setProperties({\n open: '(',\n close: ')',\n ignore: ignore\n }));\n }\n};\nPhysicsMethods.Bra = function (parser, name) {\n var starBra = parser.GetStar();\n var bra = parser.GetArgument(name);\n var ket = '';\n var hasKet = false;\n var starKet = false;\n if (parser.GetNext() === '\\\\') {\n var saveI = parser.i;\n parser.i++;\n var cs = parser.GetCS();\n var symbol = parser.lookup('macro', cs);\n if (symbol && symbol.symbol === 'ket') {\n hasKet = true;\n saveI = parser.i;\n starKet = parser.GetStar();\n if (parser.GetNext() === '{') {\n ket = parser.GetArgument(cs, true);\n } else {\n parser.i = saveI;\n starKet = false;\n }\n } else {\n parser.i = saveI;\n }\n }\n var macro = '';\n if (hasKet) {\n macro = starBra || starKet ? \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(ket, \"}\\\\rangle\") : \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(ket, \"}\\\\right\\\\rangle\");\n } else {\n macro = starBra || starKet ? \"\\\\langle{\".concat(bra, \"}\\\\vert\") : \"\\\\left\\\\langle{\".concat(bra, \"}\\\\right\\\\vert{\").concat(ket, \"}\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.Ket = function (parser, name) {\n var star = parser.GetStar();\n var ket = parser.GetArgument(name);\n var macro = star ? \"\\\\vert{\".concat(ket, \"}\\\\rangle\") : \"\\\\left\\\\vert{\".concat(ket, \"}\\\\right\\\\rangle\");\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.BraKet = function (parser, name) {\n var star = parser.GetStar();\n var bra = parser.GetArgument(name);\n var ket = null;\n if (parser.GetNext() === '{') {\n ket = parser.GetArgument(name, true);\n }\n var macro = '';\n if (ket == null) {\n macro = star ? \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(bra, \"}\\\\rangle\") : \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(bra, \"}\\\\right\\\\rangle\");\n } else {\n macro = star ? \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(ket, \"}\\\\rangle\") : \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(ket, \"}\\\\right\\\\rangle\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.KetBra = function (parser, name) {\n var star = parser.GetStar();\n var ket = parser.GetArgument(name);\n var bra = null;\n if (parser.GetNext() === '{') {\n bra = parser.GetArgument(name, true);\n }\n var macro = '';\n if (bra == null) {\n macro = star ? \"\\\\vert{\".concat(ket, \"}\\\\rangle\\\\!\\\\langle{\").concat(ket, \"}\\\\vert\") : \"\\\\left\\\\vert{\".concat(ket, \"}\\\\middle\\\\rangle\\\\!\\\\middle\\\\langle{\").concat(ket, \"}\\\\right\\\\vert\");\n } else {\n macro = star ? \"\\\\vert{\".concat(ket, \"}\\\\rangle\\\\!\\\\langle{\").concat(bra, \"}\\\\vert\") : \"\\\\left\\\\vert{\".concat(ket, \"}\\\\middle\\\\rangle\\\\!\\\\middle\\\\langle{\").concat(bra, \"}\\\\right\\\\vert\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nfunction outputBraket(_a, star1, star2) {\n var _b = __read(_a, 3),\n arg1 = _b[0],\n arg2 = _b[1],\n arg3 = _b[2];\n return star1 && star2 ? \"\\\\left\\\\langle{\".concat(arg1, \"}\\\\middle\\\\vert{\").concat(arg2, \"}\\\\middle\\\\vert{\").concat(arg3, \"}\\\\right\\\\rangle\") : star1 ? \"\\\\langle{\".concat(arg1, \"}\\\\vert{\").concat(arg2, \"}\\\\vert{\").concat(arg3, \"}\\\\rangle\") : \"\\\\left\\\\langle{\".concat(arg1, \"}\\\\right\\\\vert{\").concat(arg2, \"}\\\\left\\\\vert{\").concat(arg3, \"}\\\\right\\\\rangle\");\n}\nPhysicsMethods.Expectation = function (parser, name) {\n var star1 = parser.GetStar();\n var star2 = star1 && parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = null;\n if (parser.GetNext() === '{') {\n arg2 = parser.GetArgument(name, true);\n }\n var macro = arg1 && arg2 ? outputBraket([arg2, arg1, arg2], star1, star2) : star1 ? \"\\\\langle {\".concat(arg1, \"} \\\\rangle\") : \"\\\\left\\\\langle {\".concat(arg1, \"} \\\\right\\\\rangle\");\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.MatrixElement = function (parser, name) {\n var star1 = parser.GetStar();\n var star2 = star1 && parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var arg3 = parser.GetArgument(name);\n var macro = outputBraket([arg1, arg2, arg3], star1, star2);\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.MatrixQuantity = function (parser, name, small) {\n var star = parser.GetStar();\n var next = parser.GetNext();\n var array = small ? 'smallmatrix' : 'array';\n var arg = '';\n var open = '';\n var close = '';\n switch (next) {\n case '{':\n arg = parser.GetArgument(name);\n break;\n case '(':\n parser.i++;\n open = star ? '\\\\lgroup' : '(';\n close = star ? '\\\\rgroup' : ')';\n arg = parser.GetUpTo(name, ')');\n break;\n case '[':\n parser.i++;\n open = '[';\n close = ']';\n arg = parser.GetUpTo(name, ']');\n break;\n case '|':\n parser.i++;\n open = '|';\n close = '|';\n arg = parser.GetUpTo(name, '|');\n break;\n default:\n open = '(';\n close = ')';\n break;\n }\n var macro = (open ? '\\\\left' : '') + open + '\\\\begin{' + array + '}{} ' + arg + '\\\\end{' + array + '}' + (open ? '\\\\right' : '') + close;\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.IdentityMatrix = function (parser, name) {\n var arg = parser.GetArgument(name);\n var size = parseInt(arg, 10);\n if (isNaN(size)) {\n throw new TexError_js_1.default('InvalidNumber', 'Invalid number');\n }\n if (size <= 1) {\n parser.string = '1' + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n var zeros = Array(size).fill('0');\n var columns = [];\n for (var i = 0; i < size; i++) {\n var row = zeros.slice();\n row[i] = '1';\n columns.push(row.join(' & '));\n }\n parser.string = columns.join('\\\\\\\\ ') + parser.string.slice(parser.i);\n parser.i = 0;\n};\nPhysicsMethods.XMatrix = function (parser, name) {\n var star = parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var arg3 = parser.GetArgument(name);\n var n = parseInt(arg2, 10);\n var m = parseInt(arg3, 10);\n if (isNaN(n) || isNaN(m) || m.toString() !== arg3 || n.toString() !== arg2) {\n throw new TexError_js_1.default('InvalidNumber', 'Invalid number');\n }\n n = n < 1 ? 1 : n;\n m = m < 1 ? 1 : m;\n if (!star) {\n var row = Array(m).fill(arg1).join(' & ');\n var matrix_1 = Array(n).fill(row).join('\\\\\\\\ ');\n parser.string = matrix_1 + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n var matrix = '';\n if (n === 1 && m === 1) {\n matrix = arg1;\n } else if (n === 1) {\n var row = [];\n for (var i = 1; i <= m; i++) {\n row.push(\"\".concat(arg1, \"_{\").concat(i, \"}\"));\n }\n matrix = row.join(' & ');\n } else if (m === 1) {\n var row = [];\n for (var i = 1; i <= n; i++) {\n row.push(\"\".concat(arg1, \"_{\").concat(i, \"}\"));\n }\n matrix = row.join('\\\\\\\\ ');\n } else {\n var rows = [];\n for (var i = 1; i <= n; i++) {\n var row = [];\n for (var j = 1; j <= m; j++) {\n row.push(\"\".concat(arg1, \"_{{\").concat(i, \"}{\").concat(j, \"}}\"));\n }\n rows.push(row.join(' & '));\n }\n matrix = rows.join('\\\\\\\\ ');\n }\n parser.string = matrix + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n};\nPhysicsMethods.PauliMatrix = function (parser, name) {\n var arg = parser.GetArgument(name);\n var matrix = arg.slice(1);\n switch (arg[0]) {\n case '0':\n matrix += ' 1 & 0\\\\\\\\ 0 & 1';\n break;\n case '1':\n case 'x':\n matrix += ' 0 & 1\\\\\\\\ 1 & 0';\n break;\n case '2':\n case 'y':\n matrix += ' 0 & -i\\\\\\\\ i & 0';\n break;\n case '3':\n case 'z':\n matrix += ' 1 & 0\\\\\\\\ 0 & -1';\n break;\n default:\n }\n parser.string = matrix + parser.string.slice(parser.i);\n parser.i = 0;\n};\nPhysicsMethods.DiagonalMatrix = function (parser, name, anti) {\n if (parser.GetNext() !== '{') {\n return;\n }\n var startI = parser.i;\n parser.GetArgument(name);\n var endI = parser.i;\n parser.i = startI + 1;\n var elements = [];\n var element = '';\n var currentI = parser.i;\n while (currentI < endI) {\n try {\n element = parser.GetUpTo(name, ',');\n } catch (e) {\n parser.i = endI;\n elements.push(parser.string.slice(currentI, endI - 1));\n break;\n }\n if (parser.i >= endI) {\n elements.push(parser.string.slice(currentI, endI));\n break;\n }\n currentI = parser.i;\n elements.push(element);\n }\n parser.string = makeDiagMatrix(elements, anti) + parser.string.slice(endI);\n parser.i = 0;\n};\nfunction makeDiagMatrix(elements, anti) {\n var length = elements.length;\n var matrix = [];\n for (var i = 0; i < length; i++) {\n matrix.push(Array(anti ? length - i : i + 1).join('&') + '\\\\mqty{' + elements[i] + '}');\n }\n return matrix.join('\\\\\\\\ ');\n}\nPhysicsMethods.AutoClose = function (parser, fence, _texclass) {\n var mo = parser.create('token', 'mo', {\n stretchy: false\n }, fence);\n var item = parser.itemFactory.create('mml', mo).setProperties({\n autoclose: fence\n });\n parser.Push(item);\n};\nPhysicsMethods.Vnabla = function (parser, _name) {\n var argument = parser.options.physics.arrowdel ? '\\\\vec{\\\\gradientnabla}' : '{\\\\gradientnabla}';\n return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.DiffD = function (parser, _name) {\n var argument = parser.options.physics.italicdiff ? 'd' : '{\\\\rm d}';\n return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.Macro = BaseMethods_js_1.default.Macro;\nPhysicsMethods.NamedFn = BaseMethods_js_1.default.NamedFn;\nPhysicsMethods.Array = BaseMethods_js_1.default.Array;\nexports.default = PhysicsMethods;","map":{"version":3,"names":["__read","o","n","m","Symbol","iterator","i","call","r","ar","e","next","done","push","value","error","__importDefault","mod","__esModule","Object","defineProperty","exports","BaseMethods_js_1","require","TexParser_js_1","TexError_js_1","MmlNode_js_1","ParseUtil_js_1","NodeUtil_js_1","NodeFactory_js_1","PhysicsMethods","pairs","biggs","Quantity","parser","name","open","close","arg","named","variant","star","GetStar","GetNext","position","big","GetCS","match","empty","create","Push","default","fenced","configuration","right","currentCS","mml","texClass","TEXCLASS","OP","setAttribute","itemFactory","argument","GetArgument","stack","env","setProperties","Eval","replace","string","slice","smash","Commutator","arg1","arg2","latinCap","latinSmall","greekCap","greekSmall","digits","inRange","range","createVectorToken","factory","kind","def","text","token","NodeFactory","createToken","code","codePointAt","length","font","vectorFont","vectorStar","getAttribute","VectorBold","oldToken","nodeFactory","get","oldFont","set","node","StarMacro","argcount","parts","_i","arguments","args","macro","join","substituteArgs","addArgs","checkMaxMacros","vectorApplication","operator","fences","op","left","lfence","rfence","enlarge","indexOf","OperatorApplication","VectorOperator","Expression","opt","id","exp","GetBrackets","sup","Qqtext","Differential","optArg","power","parens","braces","Derivative","argMax","argCounter","ignore","power1","power2","frac","first","second","rest","Bra","starBra","bra","ket","hasKet","starKet","saveI","cs","symbol","lookup","concat","Ket","BraKet","KetBra","outputBraket","_a","star1","star2","_b","arg3","Expectation","MatrixElement","MatrixQuantity","small","array","GetUpTo","IdentityMatrix","size","parseInt","isNaN","zeros","Array","fill","columns","row","XMatrix","toString","matrix_1","matrix","rows","j","PauliMatrix","DiagonalMatrix","anti","startI","endI","elements","element","currentI","makeDiagMatrix","AutoClose","fence","_texclass","mo","stretchy","item","autoclose","Vnabla","_name","options","physics","arrowdel","DiffD","italicdiff","Macro","NamedFn"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mathjax-full/js/input/tex/physics/PhysicsMethods.js"],"sourcesContent":["\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseMethods_js_1 = __importDefault(require(\"../base/BaseMethods.js\"));\nvar TexParser_js_1 = __importDefault(require(\"../TexParser.js\"));\nvar TexError_js_1 = __importDefault(require(\"../TexError.js\"));\nvar MmlNode_js_1 = require(\"../../../core/MmlTree/MmlNode.js\");\nvar ParseUtil_js_1 = __importDefault(require(\"../ParseUtil.js\"));\nvar NodeUtil_js_1 = __importDefault(require(\"../NodeUtil.js\"));\nvar NodeFactory_js_1 = require(\"../NodeFactory.js\");\nvar PhysicsMethods = {};\nvar pairs = {\n '(': ')',\n '[': ']',\n '{': '}',\n '|': '|',\n};\nvar biggs = /^(b|B)i(g{1,2})$/;\nPhysicsMethods.Quantity = function (parser, name, open, close, arg, named, variant) {\n if (open === void 0) { open = '('; }\n if (close === void 0) { close = ')'; }\n if (arg === void 0) { arg = false; }\n if (named === void 0) { named = ''; }\n if (variant === void 0) { variant = ''; }\n var star = arg ? parser.GetStar() : false;\n var next = parser.GetNext();\n var position = parser.i;\n var big = null;\n if (next === '\\\\') {\n parser.i++;\n big = parser.GetCS();\n if (!big.match(biggs)) {\n var empty = parser.create('node', 'mrow');\n parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));\n parser.i = position;\n return;\n }\n next = parser.GetNext();\n }\n var right = pairs[next];\n if (arg && next !== '{') {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n if (!right) {\n var empty = parser.create('node', 'mrow');\n parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));\n parser.i = position;\n return;\n }\n if (named) {\n var mml = parser.create('token', 'mi', { texClass: MmlNode_js_1.TEXCLASS.OP }, named);\n if (variant) {\n NodeUtil_js_1.default.setAttribute(mml, 'mathvariant', variant);\n }\n parser.Push(parser.itemFactory.create('fn', mml));\n }\n if (next === '{') {\n var argument = parser.GetArgument(name);\n next = arg ? open : '\\\\{';\n right = arg ? close : '\\\\}';\n argument = star ? next + ' ' + argument + ' ' + right :\n (big ?\n '\\\\' + big + 'l' + next + ' ' + argument + ' ' + '\\\\' + big + 'r' + right :\n '\\\\left' + next + ' ' + argument + ' ' + '\\\\right' + right);\n parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n return;\n }\n if (arg) {\n next = open;\n right = close;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: next, close: right, big: big }));\n};\nPhysicsMethods.Eval = function (parser, name) {\n var star = parser.GetStar();\n var next = parser.GetNext();\n if (next === '{') {\n var arg = parser.GetArgument(name);\n var replace = '\\\\left. ' +\n (star ? '\\\\smash{' + arg + '}' : arg) +\n ' ' + '\\\\vphantom{\\\\int}\\\\right|';\n parser.string = parser.string.slice(0, parser.i) + replace +\n parser.string.slice(parser.i);\n return;\n }\n if (next === '(' || next === '[') {\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: next, close: '|',\n smash: star, right: '\\\\vphantom{\\\\int}' }));\n return;\n }\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n};\nPhysicsMethods.Commutator = function (parser, name, open, close) {\n if (open === void 0) { open = '['; }\n if (close === void 0) { close = ']'; }\n var star = parser.GetStar();\n var next = parser.GetNext();\n var big = null;\n if (next === '\\\\') {\n parser.i++;\n big = parser.GetCS();\n if (!big.match(biggs)) {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n next = parser.GetNext();\n }\n if (next !== '{') {\n throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);\n }\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var argument = arg1 + ',' + arg2;\n argument = star ? open + ' ' + argument + ' ' + close :\n (big ?\n '\\\\' + big + 'l' + open + ' ' + argument + ' ' + '\\\\' + big + 'r' + close :\n '\\\\left' + open + ' ' + argument + ' ' + '\\\\right' + close);\n parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nvar latinCap = [0x41, 0x5A];\nvar latinSmall = [0x61, 0x7A];\nvar greekCap = [0x391, 0x3A9];\nvar greekSmall = [0x3B1, 0x3C9];\nvar digits = [0x30, 0x39];\nfunction inRange(value, range) {\n return (value >= range[0] && value <= range[1]);\n}\nfunction createVectorToken(factory, kind, def, text) {\n var parser = factory.configuration.parser;\n var token = NodeFactory_js_1.NodeFactory.createToken(factory, kind, def, text);\n var code = text.codePointAt(0);\n if (text.length === 1 && !parser.stack.env.font &&\n parser.stack.env.vectorFont &&\n (inRange(code, latinCap) || inRange(code, latinSmall) ||\n inRange(code, greekCap) || inRange(code, digits) ||\n (inRange(code, greekSmall) && parser.stack.env.vectorStar) ||\n NodeUtil_js_1.default.getAttribute(token, 'accent'))) {\n NodeUtil_js_1.default.setAttribute(token, 'mathvariant', parser.stack.env.vectorFont);\n }\n return token;\n}\nPhysicsMethods.VectorBold = function (parser, name) {\n var star = parser.GetStar();\n var arg = parser.GetArgument(name);\n var oldToken = parser.configuration.nodeFactory.get('token');\n var oldFont = parser.stack.env.font;\n delete parser.stack.env.font;\n parser.configuration.nodeFactory.set('token', createVectorToken);\n parser.stack.env.vectorFont = star ? 'bold-italic' : 'bold';\n parser.stack.env.vectorStar = star;\n var node = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();\n if (oldFont) {\n parser.stack.env.font = oldFont;\n }\n delete parser.stack.env.vectorFont;\n delete parser.stack.env.vectorStar;\n parser.configuration.nodeFactory.set('token', oldToken);\n parser.Push(node);\n};\nPhysicsMethods.StarMacro = function (parser, name, argcount) {\n var parts = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n parts[_i - 3] = arguments[_i];\n }\n var star = parser.GetStar();\n var args = [];\n if (argcount) {\n for (var i = args.length; i < argcount; i++) {\n args.push(parser.GetArgument(name));\n }\n }\n var macro = parts.join(star ? '*' : '');\n macro = ParseUtil_js_1.default.substituteArgs(parser, args, macro);\n parser.string = ParseUtil_js_1.default.addArgs(parser, macro, parser.string.slice(parser.i));\n parser.i = 0;\n ParseUtil_js_1.default.checkMaxMacros(parser);\n};\nvar vectorApplication = function (parser, kind, name, operator, fences) {\n var op = new TexParser_js_1.default(operator, parser.stack.env, parser.configuration).mml();\n parser.Push(parser.itemFactory.create(kind, op));\n var left = parser.GetNext();\n var right = pairs[left];\n if (!right) {\n return;\n }\n var lfence = '', rfence = '', arg = '';\n var enlarge = fences.indexOf(left) !== -1;\n if (left === '{') {\n arg = parser.GetArgument(name);\n lfence = enlarge ? '\\\\left\\\\{' : '';\n rfence = enlarge ? '\\\\right\\\\}' : '';\n var macro = lfence + ' ' + arg + ' ' + rfence;\n parser.string = macro + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n if (!enlarge) {\n return;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: left, close: right }));\n};\nPhysicsMethods.OperatorApplication = function (parser, name, operator) {\n var fences = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n fences[_i - 3] = arguments[_i];\n }\n vectorApplication(parser, 'fn', name, operator, fences);\n};\nPhysicsMethods.VectorOperator = function (parser, name, operator) {\n var fences = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n fences[_i - 3] = arguments[_i];\n }\n vectorApplication(parser, 'mml', name, operator, fences);\n};\nPhysicsMethods.Expression = function (parser, name, opt, id) {\n if (opt === void 0) { opt = true; }\n if (id === void 0) { id = ''; }\n id = id || name.slice(1);\n var exp = opt ? parser.GetBrackets(name) : null;\n var mml = parser.create('token', 'mi', { texClass: MmlNode_js_1.TEXCLASS.OP }, id);\n if (exp) {\n var sup = new TexParser_js_1.default(exp, parser.stack.env, parser.configuration).mml();\n mml = parser.create('node', 'msup', [mml, sup]);\n }\n parser.Push(parser.itemFactory.create('fn', mml));\n if (parser.GetNext() !== '(') {\n return;\n }\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: '(', close: ')' }));\n};\nPhysicsMethods.Qqtext = function (parser, name, text) {\n var star = parser.GetStar();\n var arg = text ? text : parser.GetArgument(name);\n var replace = (star ? '' : '\\\\quad') + '\\\\text{' + arg + '}\\\\quad ';\n parser.string = parser.string.slice(0, parser.i) + replace +\n parser.string.slice(parser.i);\n};\nPhysicsMethods.Differential = function (parser, name, op) {\n var optArg = parser.GetBrackets(name);\n var power = optArg != null ? '^{' + optArg + '}' : ' ';\n var parens = parser.GetNext() === '(';\n var braces = parser.GetNext() === '{';\n var macro = op + power;\n if (!(parens || braces)) {\n macro += parser.GetArgument(name, true) || '';\n var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();\n parser.Push(mml);\n return;\n }\n if (braces) {\n macro += parser.GetArgument(name);\n var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();\n parser.Push(parser.create('node', 'TeXAtom', [mml], { texClass: MmlNode_js_1.TEXCLASS.OP }));\n return;\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: '(', close: ')' }));\n};\nPhysicsMethods.Derivative = function (parser, name, argMax, op) {\n var star = parser.GetStar();\n var optArg = parser.GetBrackets(name);\n var argCounter = 1;\n var args = [];\n args.push(parser.GetArgument(name));\n while (parser.GetNext() === '{' && argCounter < argMax) {\n args.push(parser.GetArgument(name));\n argCounter++;\n }\n var ignore = false;\n var power1 = ' ';\n var power2 = ' ';\n if (argMax > 2 && args.length > 2) {\n power1 = '^{' + (args.length - 1) + '}';\n ignore = true;\n }\n else if (optArg != null) {\n if (argMax > 2 && args.length > 1) {\n ignore = true;\n }\n power1 = '^{' + optArg + '}';\n power2 = power1;\n }\n var frac = star ? '\\\\flatfrac' : '\\\\frac';\n var first = args.length > 1 ? args[0] : '';\n var second = args.length > 1 ? args[1] : args[0];\n var rest = '';\n for (var i = 2, arg = void 0; arg = args[i]; i++) {\n rest += op + ' ' + arg;\n }\n var macro = frac + '{' + op + power1 + first + '}' +\n '{' + op + ' ' + second + power2 + ' ' + rest + '}';\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n if (parser.GetNext() === '(') {\n parser.i++;\n parser.Push(parser.itemFactory.create('auto open')\n .setProperties({ open: '(', close: ')', ignore: ignore }));\n }\n};\nPhysicsMethods.Bra = function (parser, name) {\n var starBra = parser.GetStar();\n var bra = parser.GetArgument(name);\n var ket = '';\n var hasKet = false;\n var starKet = false;\n if (parser.GetNext() === '\\\\') {\n var saveI = parser.i;\n parser.i++;\n var cs = parser.GetCS();\n var symbol = parser.lookup('macro', cs);\n if (symbol && symbol.symbol === 'ket') {\n hasKet = true;\n saveI = parser.i;\n starKet = parser.GetStar();\n if (parser.GetNext() === '{') {\n ket = parser.GetArgument(cs, true);\n }\n else {\n parser.i = saveI;\n starKet = false;\n }\n }\n else {\n parser.i = saveI;\n }\n }\n var macro = '';\n if (hasKet) {\n macro = (starBra || starKet) ?\n \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(ket, \"}\\\\rangle\") :\n \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(ket, \"}\\\\right\\\\rangle\");\n }\n else {\n macro = (starBra || starKet) ?\n \"\\\\langle{\".concat(bra, \"}\\\\vert\") : \"\\\\left\\\\langle{\".concat(bra, \"}\\\\right\\\\vert{\").concat(ket, \"}\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.Ket = function (parser, name) {\n var star = parser.GetStar();\n var ket = parser.GetArgument(name);\n var macro = star ? \"\\\\vert{\".concat(ket, \"}\\\\rangle\") :\n \"\\\\left\\\\vert{\".concat(ket, \"}\\\\right\\\\rangle\");\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.BraKet = function (parser, name) {\n var star = parser.GetStar();\n var bra = parser.GetArgument(name);\n var ket = null;\n if (parser.GetNext() === '{') {\n ket = parser.GetArgument(name, true);\n }\n var macro = '';\n if (ket == null) {\n macro = star ?\n \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(bra, \"}\\\\rangle\") :\n \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(bra, \"}\\\\right\\\\rangle\");\n }\n else {\n macro = star ?\n \"\\\\langle{\".concat(bra, \"}\\\\vert{\").concat(ket, \"}\\\\rangle\") :\n \"\\\\left\\\\langle{\".concat(bra, \"}\\\\middle\\\\vert{\").concat(ket, \"}\\\\right\\\\rangle\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.KetBra = function (parser, name) {\n var star = parser.GetStar();\n var ket = parser.GetArgument(name);\n var bra = null;\n if (parser.GetNext() === '{') {\n bra = parser.GetArgument(name, true);\n }\n var macro = '';\n if (bra == null) {\n macro = star ?\n \"\\\\vert{\".concat(ket, \"}\\\\rangle\\\\!\\\\langle{\").concat(ket, \"}\\\\vert\") :\n \"\\\\left\\\\vert{\".concat(ket, \"}\\\\middle\\\\rangle\\\\!\\\\middle\\\\langle{\").concat(ket, \"}\\\\right\\\\vert\");\n }\n else {\n macro = star ?\n \"\\\\vert{\".concat(ket, \"}\\\\rangle\\\\!\\\\langle{\").concat(bra, \"}\\\\vert\") :\n \"\\\\left\\\\vert{\".concat(ket, \"}\\\\middle\\\\rangle\\\\!\\\\middle\\\\langle{\").concat(bra, \"}\\\\right\\\\vert\");\n }\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nfunction outputBraket(_a, star1, star2) {\n var _b = __read(_a, 3), arg1 = _b[0], arg2 = _b[1], arg3 = _b[2];\n return (star1 && star2) ?\n \"\\\\left\\\\langle{\".concat(arg1, \"}\\\\middle\\\\vert{\").concat(arg2, \"}\\\\middle\\\\vert{\").concat(arg3, \"}\\\\right\\\\rangle\") :\n (star1 ? \"\\\\langle{\".concat(arg1, \"}\\\\vert{\").concat(arg2, \"}\\\\vert{\").concat(arg3, \"}\\\\rangle\") :\n \"\\\\left\\\\langle{\".concat(arg1, \"}\\\\right\\\\vert{\").concat(arg2, \"}\\\\left\\\\vert{\").concat(arg3, \"}\\\\right\\\\rangle\"));\n}\nPhysicsMethods.Expectation = function (parser, name) {\n var star1 = parser.GetStar();\n var star2 = star1 && parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = null;\n if (parser.GetNext() === '{') {\n arg2 = parser.GetArgument(name, true);\n }\n var macro = (arg1 && arg2) ?\n outputBraket([arg2, arg1, arg2], star1, star2) :\n (star1 ? \"\\\\langle {\".concat(arg1, \"} \\\\rangle\") :\n \"\\\\left\\\\langle {\".concat(arg1, \"} \\\\right\\\\rangle\"));\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.MatrixElement = function (parser, name) {\n var star1 = parser.GetStar();\n var star2 = star1 && parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var arg3 = parser.GetArgument(name);\n var macro = outputBraket([arg1, arg2, arg3], star1, star2);\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.MatrixQuantity = function (parser, name, small) {\n var star = parser.GetStar();\n var next = parser.GetNext();\n var array = small ? 'smallmatrix' : 'array';\n var arg = '';\n var open = '';\n var close = '';\n switch (next) {\n case '{':\n arg = parser.GetArgument(name);\n break;\n case '(':\n parser.i++;\n open = star ? '\\\\lgroup' : '(';\n close = star ? '\\\\rgroup' : ')';\n arg = parser.GetUpTo(name, ')');\n break;\n case '[':\n parser.i++;\n open = '[';\n close = ']';\n arg = parser.GetUpTo(name, ']');\n break;\n case '|':\n parser.i++;\n open = '|';\n close = '|';\n arg = parser.GetUpTo(name, '|');\n break;\n default:\n open = '(';\n close = ')';\n break;\n }\n var macro = (open ? '\\\\left' : '') + open +\n '\\\\begin{' + array + '}{} ' + arg + '\\\\end{' + array + '}' +\n (open ? '\\\\right' : '') + close;\n parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.IdentityMatrix = function (parser, name) {\n var arg = parser.GetArgument(name);\n var size = parseInt(arg, 10);\n if (isNaN(size)) {\n throw new TexError_js_1.default('InvalidNumber', 'Invalid number');\n }\n if (size <= 1) {\n parser.string = '1' + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n var zeros = Array(size).fill('0');\n var columns = [];\n for (var i = 0; i < size; i++) {\n var row = zeros.slice();\n row[i] = '1';\n columns.push(row.join(' & '));\n }\n parser.string = columns.join('\\\\\\\\ ') + parser.string.slice(parser.i);\n parser.i = 0;\n};\nPhysicsMethods.XMatrix = function (parser, name) {\n var star = parser.GetStar();\n var arg1 = parser.GetArgument(name);\n var arg2 = parser.GetArgument(name);\n var arg3 = parser.GetArgument(name);\n var n = parseInt(arg2, 10);\n var m = parseInt(arg3, 10);\n if (isNaN(n) || isNaN(m) || m.toString() !== arg3 || n.toString() !== arg2) {\n throw new TexError_js_1.default('InvalidNumber', 'Invalid number');\n }\n n = n < 1 ? 1 : n;\n m = m < 1 ? 1 : m;\n if (!star) {\n var row = Array(m).fill(arg1).join(' & ');\n var matrix_1 = Array(n).fill(row).join('\\\\\\\\ ');\n parser.string = matrix_1 + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n }\n var matrix = '';\n if (n === 1 && m === 1) {\n matrix = arg1;\n }\n else if (n === 1) {\n var row = [];\n for (var i = 1; i <= m; i++) {\n row.push(\"\".concat(arg1, \"_{\").concat(i, \"}\"));\n }\n matrix = row.join(' & ');\n }\n else if (m === 1) {\n var row = [];\n for (var i = 1; i <= n; i++) {\n row.push(\"\".concat(arg1, \"_{\").concat(i, \"}\"));\n }\n matrix = row.join('\\\\\\\\ ');\n }\n else {\n var rows = [];\n for (var i = 1; i <= n; i++) {\n var row = [];\n for (var j = 1; j <= m; j++) {\n row.push(\"\".concat(arg1, \"_{{\").concat(i, \"}{\").concat(j, \"}}\"));\n }\n rows.push(row.join(' & '));\n }\n matrix = rows.join('\\\\\\\\ ');\n }\n parser.string = matrix + parser.string.slice(parser.i);\n parser.i = 0;\n return;\n};\nPhysicsMethods.PauliMatrix = function (parser, name) {\n var arg = parser.GetArgument(name);\n var matrix = arg.slice(1);\n switch (arg[0]) {\n case '0':\n matrix += ' 1 & 0\\\\\\\\ 0 & 1';\n break;\n case '1':\n case 'x':\n matrix += ' 0 & 1\\\\\\\\ 1 & 0';\n break;\n case '2':\n case 'y':\n matrix += ' 0 & -i\\\\\\\\ i & 0';\n break;\n case '3':\n case 'z':\n matrix += ' 1 & 0\\\\\\\\ 0 & -1';\n break;\n default:\n }\n parser.string = matrix + parser.string.slice(parser.i);\n parser.i = 0;\n};\nPhysicsMethods.DiagonalMatrix = function (parser, name, anti) {\n if (parser.GetNext() !== '{') {\n return;\n }\n var startI = parser.i;\n parser.GetArgument(name);\n var endI = parser.i;\n parser.i = startI + 1;\n var elements = [];\n var element = '';\n var currentI = parser.i;\n while (currentI < endI) {\n try {\n element = parser.GetUpTo(name, ',');\n }\n catch (e) {\n parser.i = endI;\n elements.push(parser.string.slice(currentI, endI - 1));\n break;\n }\n if (parser.i >= endI) {\n elements.push(parser.string.slice(currentI, endI));\n break;\n }\n currentI = parser.i;\n elements.push(element);\n }\n parser.string = makeDiagMatrix(elements, anti) + parser.string.slice(endI);\n parser.i = 0;\n};\nfunction makeDiagMatrix(elements, anti) {\n var length = elements.length;\n var matrix = [];\n for (var i = 0; i < length; i++) {\n matrix.push(Array(anti ? length - i : i + 1).join('&') +\n '\\\\mqty{' + elements[i] + '}');\n }\n return matrix.join('\\\\\\\\ ');\n}\nPhysicsMethods.AutoClose = function (parser, fence, _texclass) {\n var mo = parser.create('token', 'mo', { stretchy: false }, fence);\n var item = parser.itemFactory.create('mml', mo).\n setProperties({ autoclose: fence });\n parser.Push(item);\n};\nPhysicsMethods.Vnabla = function (parser, _name) {\n var argument = parser.options.physics.arrowdel ?\n '\\\\vec{\\\\gradientnabla}' : '{\\\\gradientnabla}';\n return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.DiffD = function (parser, _name) {\n var argument = parser.options.physics.italicdiff ? 'd' : '{\\\\rm d}';\n return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());\n};\nPhysicsMethods.Macro = BaseMethods_js_1.default.Macro;\nPhysicsMethods.NamedFn = BaseMethods_js_1.default.NamedFn;\nPhysicsMethods.Array = BaseMethods_js_1.default.Array;\nexports.default = PhysicsMethods;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}