Files
v1.pivoine.art/assets/bower_components/katex/dist/contrib/mhchem.min.js
2025-10-25 12:39:30 +02:00

1854 lines
53 KiB
JavaScript

!(function (t, e) {
if ("object" == typeof exports && "object" == typeof module)
module.exports = e(require("katex"));
else if ("function" == typeof define && define.amd) define(["katex"], e);
else {
var n = "object" == typeof exports ? e(require("katex")) : e(t.katex);
for (var o in n) ("object" == typeof exports ? exports : t)[o] = n[o];
}
})("undefined" != typeof self ? self : this, function (t) {
return (function (t) {
var e = {};
function n(o) {
if (e[o]) return e[o].exports;
var a = (e[o] = { i: o, l: !1, exports: {} });
return t[o].call(a.exports, a, a.exports, n), (a.l = !0), a.exports;
}
return (
(n.m = t),
(n.c = e),
(n.d = function (t, e, o) {
n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: o });
}),
(n.r = function (t) {
"undefined" != typeof Symbol &&
Symbol.toStringTag &&
Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }),
Object.defineProperty(t, "__esModule", { value: !0 });
}),
(n.t = function (t, e) {
if ((1 & e && (t = n(t)), 8 & e)) return t;
if (4 & e && "object" == typeof t && t && t.__esModule) return t;
var o = Object.create(null);
if (
(n.r(o),
Object.defineProperty(o, "default", { enumerable: !0, value: t }),
2 & e && "string" != typeof t)
)
for (var a in t)
n.d(
o,
a,
function (e) {
return t[e];
}.bind(null, a),
);
return o;
}),
(n.n = function (t) {
var e =
t && t.__esModule
? function () {
return t.default;
}
: function () {
return t;
};
return n.d(e, "a", e), e;
}),
(n.o = function (t, e) {
return Object.prototype.hasOwnProperty.call(t, e);
}),
(n.p = ""),
n((n.s = 1))
);
})([
function (e, n) {
e.exports = t;
},
function (t, e, n) {
"use strict";
n.r(e);
var o = n(0),
a = n.n(o);
a.a.__defineMacro("\\ce", function (t) {
return r(t.consumeArgs(1)[0], "ce");
}),
a.a.__defineMacro("\\pu", function (t) {
return r(t.consumeArgs(1)[0], "pu");
}),
a.a.__defineMacro(
"\\tripledash",
"{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}",
);
var r = function (t, e) {
for (
var n = "", o = t[t.length - 1].loc.start, a = t.length - 1;
a >= 0;
a--
)
t[a].loc.start > o && ((n += " "), (o = t[a].loc.start)),
(n += t[a].text),
(o += t[a].text.length);
return c.go(i.go(n, e));
},
i = {
go: function (t, e) {
if (!t) return [];
void 0 === e && (e = "ce");
var n,
o = "0",
a = {};
(a.parenthesisLevel = 0),
(t = (t = (t = t.replace(/\n/g, " ")).replace(
/[\u2212\u2013\u2014\u2010]/g,
"-",
)).replace(/[\u2026]/g, "..."));
for (var r = 10, c = []; ; ) {
n !== t ? ((r = 10), (n = t)) : r--;
var u = i.stateMachines[e],
p = u.transitions[o] || u.transitions["*"];
t: for (var s = 0; s < p.length; s++) {
var _ = i.patterns.match_(p[s].pattern, t);
if (_) {
for (var d = p[s].task, m = 0; m < d.action_.length; m++) {
var l;
if (u.actions[d.action_[m].type_])
l = u.actions[d.action_[m].type_](
a,
_.match_,
d.action_[m].option,
);
else {
if (!i.actions[d.action_[m].type_])
throw [
"MhchemBugA",
"mhchem bug A. Please report. (" +
d.action_[m].type_ +
")",
];
l = i.actions[d.action_[m].type_](
a,
_.match_,
d.action_[m].option,
);
}
i.concatArray(c, l);
}
if (((o = d.nextState || o), !(t.length > 0))) return c;
if ((d.revisit || (t = _.remainder), !d.toContinue)) break t;
}
}
if (r <= 0) throw ["MhchemBugU", "mhchem bug U. Please report."];
}
},
concatArray: function (t, e) {
if (e)
if (Array.isArray(e))
for (var n = 0; n < e.length; n++) t.push(e[n]);
else t.push(e);
},
patterns: {
patterns: {
empty: /^$/,
else: /^./,
else2: /^./,
space: /^\s/,
"space A": /^\s(?=[A-Z\\$])/,
space$: /^\s$/,
"a-z": /^[a-z]/,
x: /^x/,
x$: /^x$/,
i$: /^i$/,
letters:
/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,
"\\greek":
/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,
"one lowercase latin letter $": /^(?:([a-z])(?:$|[^a-zA-Z]))$/,
"$one lowercase latin letter$ $":
/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,
"one lowercase greek letter $":
/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,
digits: /^[0-9]+/,
"-9.,9": /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,
"-9.,9 no missing 0": /^[+\-]?[0-9]+(?:[.,][0-9]+)?/,
"(-)(9.,9)(e)(99)": function (t) {
var e = t.match(
/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/,
);
return e && e[0]
? { match_: e.splice(1), remainder: t.substr(e[0].length) }
: null;
},
"(-)(9)^(-9)": function (t) {
var e = t.match(
/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/,
);
return e && e[0]
? { match_: e.splice(1), remainder: t.substr(e[0].length) }
: null;
},
"state of aggregation $": function (t) {
var e = i.patterns.findObserveGroups(
t,
"",
/^\([a-z]{1,3}(?=[\),])/,
")",
"",
);
if (e && e.remainder.match(/^($|[\s,;\)\]\}])/)) return e;
var n = t.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);
return n
? { match_: n[0], remainder: t.substr(n[0].length) }
: null;
},
"_{(state of aggregation)}$": /^_\{(\([a-z]{1,3}\))\}/,
"{[(": /^(?:\\\{|\[|\()/,
")]}": /^(?:\)|\]|\\\})/,
", ": /^[,;]\s*/,
",": /^[,;]/,
".": /^[.]/,
". ": /^([.\u22C5\u00B7\u2022])\s*/,
"...": /^\.\.\.(?=$|[^.])/,
"* ": /^([*])\s*/,
"^{(...)}": function (t) {
return i.patterns.findObserveGroups(t, "^{", "", "", "}");
},
"^($...$)": function (t) {
return i.patterns.findObserveGroups(t, "^", "$", "$", "");
},
"^a": /^\^([0-9]+|[^\\_])/,
"^\\x{}{}": function (t) {
return i.patterns.findObserveGroups(
t,
"^",
/^\\[a-zA-Z]+\{/,
"}",
"",
"",
"{",
"}",
"",
!0,
);
},
"^\\x{}": function (t) {
return i.patterns.findObserveGroups(
t,
"^",
/^\\[a-zA-Z]+\{/,
"}",
"",
);
},
"^\\x": /^\^(\\[a-zA-Z]+)\s*/,
"^(-1)": /^\^(-?\d+)/,
"'": /^'/,
"_{(...)}": function (t) {
return i.patterns.findObserveGroups(t, "_{", "", "", "}");
},
"_($...$)": function (t) {
return i.patterns.findObserveGroups(t, "_", "$", "$", "");
},
_9: /^_([+\-]?[0-9]+|[^\\])/,
"_\\x{}{}": function (t) {
return i.patterns.findObserveGroups(
t,
"_",
/^\\[a-zA-Z]+\{/,
"}",
"",
"",
"{",
"}",
"",
!0,
);
},
"_\\x{}": function (t) {
return i.patterns.findObserveGroups(
t,
"_",
/^\\[a-zA-Z]+\{/,
"}",
"",
);
},
"_\\x": /^_(\\[a-zA-Z]+)\s*/,
"^_": /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,
"{}": /^\{\}/,
"{...}": function (t) {
return i.patterns.findObserveGroups(t, "", "{", "}", "");
},
"{(...)}": function (t) {
return i.patterns.findObserveGroups(t, "{", "", "", "}");
},
"$...$": function (t) {
return i.patterns.findObserveGroups(t, "", "$", "$", "");
},
"${(...)}$": function (t) {
return i.patterns.findObserveGroups(t, "${", "", "", "}$");
},
"$(...)$": function (t) {
return i.patterns.findObserveGroups(t, "$", "", "", "$");
},
"=<>": /^[=<>]/,
"#": /^[#\u2261]/,
"+": /^\+/,
"-$": /^-(?=[\s_},;\]\/]|$|\([a-z]+\))/,
"-9": /^-(?=[0-9])/,
"- orbital overlap": /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,
"-": /^-/,
"pm-operator": /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,
operator:
/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,
arrowUpDown: /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,
"\\bond{(...)}": function (t) {
return i.patterns.findObserveGroups(t, "\\bond{", "", "", "}");
},
"->": /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,
CMT: /^[CMT](?=\[)/,
"[(...)]": function (t) {
return i.patterns.findObserveGroups(t, "[", "", "", "]");
},
"1st-level escape": /^(&|\\\\|\\hline)\s*/,
"\\,": /^(?:\\[,\ ;:])/,
"\\x{}{}": function (t) {
return i.patterns.findObserveGroups(
t,
"",
/^\\[a-zA-Z]+\{/,
"}",
"",
"",
"{",
"}",
"",
!0,
);
},
"\\x{}": function (t) {
return i.patterns.findObserveGroups(
t,
"",
/^\\[a-zA-Z]+\{/,
"}",
"",
);
},
"\\ca": /^\\ca(?:\s+|(?![a-zA-Z]))/,
"\\x": /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,
orbital: /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,
others: /^[\/~|]/,
"\\frac{(...)}": function (t) {
return i.patterns.findObserveGroups(
t,
"\\frac{",
"",
"",
"}",
"{",
"",
"",
"}",
);
},
"\\overset{(...)}": function (t) {
return i.patterns.findObserveGroups(
t,
"\\overset{",
"",
"",
"}",
"{",
"",
"",
"}",
);
},
"\\underset{(...)}": function (t) {
return i.patterns.findObserveGroups(
t,
"\\underset{",
"",
"",
"}",
"{",
"",
"",
"}",
);
},
"\\underbrace{(...)}": function (t) {
return i.patterns.findObserveGroups(
t,
"\\underbrace{",
"",
"",
"}_",
"{",
"",
"",
"}",
);
},
"\\color{(...)}0": function (t) {
return i.patterns.findObserveGroups(t, "\\color{", "", "", "}");
},
"\\color{(...)}{(...)}1": function (t) {
return i.patterns.findObserveGroups(
t,
"\\color{",
"",
"",
"}",
"{",
"",
"",
"}",
);
},
"\\color(...){(...)}2": function (t) {
return i.patterns.findObserveGroups(
t,
"\\color",
"\\",
"",
/^(?=\{)/,
"{",
"",
"",
"}",
);
},
"\\ce{(...)}": function (t) {
return i.patterns.findObserveGroups(t, "\\ce{", "", "", "}");
},
oxidation$: /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,
"d-oxidation$": /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,
"roman numeral": /^[IVX]+/,
"1/2$":
/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,
amount: function (t) {
var e;
if (
(e = t.match(
/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/,
))
)
return { match_: e[0], remainder: t.substr(e[0].length) };
var n = i.patterns.findObserveGroups(t, "", "$", "$", "");
return n &&
(e = n.match_.match(
/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/,
))
? { match_: e[0], remainder: t.substr(e[0].length) }
: null;
},
amount2: function (t) {
return this.amount(t);
},
"(KV letters),": /^(?:[A-Z][a-z]{0,2}|i)(?=,)/,
formula$: function (t) {
if (t.match(/^\([a-z]+\)$/)) return null;
var e = t.match(
/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/,
);
return e
? { match_: e[0], remainder: t.substr(e[0].length) }
: null;
},
uprightEntities: /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,
"/": /^\s*(\/)\s*/,
"//": /^\s*(\/\/)\s*/,
"*": /^\s*[*.]\s*/,
},
findObserveGroups: function (t, e, n, o, a, r, i, c, u, p) {
var s = function (t, e) {
if ("string" == typeof e)
return 0 !== t.indexOf(e) ? null : e;
var n = t.match(e);
return n ? n[0] : null;
},
_ = s(t, e);
if (null === _) return null;
if (((t = t.substr(_.length)), null === (_ = s(t, n))))
return null;
var d = (function (t, e, n) {
for (var o = 0; e < t.length; ) {
var a = t.charAt(e),
r = s(t.substr(e), n);
if (null !== r && 0 === o)
return { endMatchBegin: e, endMatchEnd: e + r.length };
if ("{" === a) o++;
else if ("}" === a) {
if (0 === o)
throw [
"ExtraCloseMissingOpen",
"Extra close brace or missing open brace",
];
o--;
}
e++;
}
return null;
})(t, _.length, o || a);
if (null === d) return null;
var m = t.substring(0, o ? d.endMatchEnd : d.endMatchBegin);
if (r || i) {
var l = this.findObserveGroups(
t.substr(d.endMatchEnd),
r,
i,
c,
u,
);
if (null === l) return null;
var f = [m, l.match_];
return { match_: p ? f.join("") : f, remainder: l.remainder };
}
return { match_: m, remainder: t.substr(d.endMatchEnd) };
},
match_: function (t, e) {
var n = i.patterns.patterns[t];
if (void 0 === n)
throw [
"MhchemBugP",
"mhchem bug P. Please report. (" + t + ")",
];
if ("function" == typeof n) return i.patterns.patterns[t](e);
var o = e.match(n);
return o
? {
match_: o[2] ? [o[1], o[2]] : o[1] ? o[1] : o[0],
remainder: e.substr(o[0].length),
}
: null;
},
},
actions: {
"a=": function (t, e) {
t.a = (t.a || "") + e;
},
"b=": function (t, e) {
t.b = (t.b || "") + e;
},
"p=": function (t, e) {
t.p = (t.p || "") + e;
},
"o=": function (t, e) {
t.o = (t.o || "") + e;
},
"q=": function (t, e) {
t.q = (t.q || "") + e;
},
"d=": function (t, e) {
t.d = (t.d || "") + e;
},
"rm=": function (t, e) {
t.rm = (t.rm || "") + e;
},
"text=": function (t, e) {
t.text_ = (t.text_ || "") + e;
},
insert: function (t, e, n) {
return { type_: n };
},
"insert+p1": function (t, e, n) {
return { type_: n, p1: e };
},
"insert+p1+p2": function (t, e, n) {
return { type_: n, p1: e[0], p2: e[1] };
},
copy: function (t, e) {
return e;
},
rm: function (t, e) {
return { type_: "rm", p1: e || "" };
},
text: function (t, e) {
return i.go(e, "text");
},
"{text}": function (t, e) {
var n = ["{"];
return i.concatArray(n, i.go(e, "text")), n.push("}"), n;
},
"tex-math": function (t, e) {
return i.go(e, "tex-math");
},
"tex-math tight": function (t, e) {
return i.go(e, "tex-math tight");
},
bond: function (t, e, n) {
return { type_: "bond", kind_: n || e };
},
"color0-output": function (t, e) {
return { type_: "color0", color: e[0] };
},
ce: function (t, e) {
return i.go(e);
},
"1/2": function (t, e) {
var n = [];
e.match(/^[+\-]/) && (n.push(e.substr(0, 1)), (e = e.substr(1)));
var o = e.match(
/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/,
);
return (
(o[1] = o[1].replace(/\$/g, "")),
n.push({ type_: "frac", p1: o[1], p2: o[2] }),
o[3] &&
((o[3] = o[3].replace(/\$/g, "")),
n.push({ type_: "tex-math", p1: o[3] })),
n
);
},
"9,9": function (t, e) {
return i.go(e, "9,9");
},
},
createTransitions: function (t) {
var e,
n,
o,
a,
r = {};
for (e in t)
for (n in t[e])
for (
o = n.split("|"), t[e][n].stateArray = o, a = 0;
a < o.length;
a++
)
r[o[a]] = [];
for (e in t)
for (n in t[e])
for (o = t[e][n].stateArray || [], a = 0; a < o.length; a++) {
var i = t[e][n];
if (i.action_) {
i.action_ = [].concat(i.action_);
for (var c = 0; c < i.action_.length; c++)
"string" == typeof i.action_[c] &&
(i.action_[c] = { type_: i.action_[c] });
} else i.action_ = [];
for (var u = e.split("|"), p = 0; p < u.length; p++)
if ("*" === o[a])
for (var s in r) r[s].push({ pattern: u[p], task: i });
else r[o[a]].push({ pattern: u[p], task: i });
}
return r;
},
stateMachines: {},
};
i.stateMachines = {
ce: {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
else: {
"0|1|2": {
action_: "beginsWithBond=false",
revisit: !0,
toContinue: !0,
},
},
oxidation$: { 0: { action_: "oxidation-output" } },
CMT: {
r: { action_: "rdt=", nextState: "rt" },
rd: { action_: "rqt=", nextState: "rdt" },
},
arrowUpDown: {
"0|1|2|as": {
action_: ["sb=false", "output", "operator"],
nextState: "1",
},
},
uprightEntities: {
"0|1|2": { action_: ["o=", "output"], nextState: "1" },
},
orbital: { "0|1|2|3": { action_: "o=", nextState: "o" } },
"->": {
"0|1|2|3": { action_: "r=", nextState: "r" },
"a|as": { action_: ["output", "r="], nextState: "r" },
"*": { action_: ["output", "r="], nextState: "r" },
},
"+": {
o: { action_: "d= kv", nextState: "d" },
"d|D": { action_: "d=", nextState: "d" },
q: { action_: "d=", nextState: "qd" },
"qd|qD": { action_: "d=", nextState: "qd" },
dq: { action_: ["output", "d="], nextState: "d" },
3: {
action_: ["sb=false", "output", "operator"],
nextState: "0",
},
},
amount: { "0|2": { action_: "a=", nextState: "a" } },
"pm-operator": {
"0|1|2|a|as": {
action_: [
"sb=false",
"output",
{ type_: "operator", option: "\\pm" },
],
nextState: "0",
},
},
operator: {
"0|1|2|a|as": {
action_: ["sb=false", "output", "operator"],
nextState: "0",
},
},
"-$": {
"o|q": { action_: ["charge or bond", "output"], nextState: "qd" },
d: { action_: "d=", nextState: "d" },
D: {
action_: ["output", { type_: "bond", option: "-" }],
nextState: "3",
},
q: { action_: "d=", nextState: "qd" },
qd: { action_: "d=", nextState: "qd" },
"qD|dq": {
action_: ["output", { type_: "bond", option: "-" }],
nextState: "3",
},
},
"-9": {
"3|o": {
action_: ["output", { type_: "insert", option: "hyphen" }],
nextState: "3",
},
},
"- orbital overlap": {
o: {
action_: ["output", { type_: "insert", option: "hyphen" }],
nextState: "2",
},
d: {
action_: ["output", { type_: "insert", option: "hyphen" }],
nextState: "2",
},
},
"-": {
"0|1|2": {
action_: [
{ type_: "output", option: 1 },
"beginsWithBond=true",
{ type_: "bond", option: "-" },
],
nextState: "3",
},
3: { action_: { type_: "bond", option: "-" } },
a: {
action_: ["output", { type_: "insert", option: "hyphen" }],
nextState: "2",
},
as: {
action_: [
{ type_: "output", option: 2 },
{ type_: "bond", option: "-" },
],
nextState: "3",
},
b: { action_: "b=" },
o: {
action_: { type_: "- after o/d", option: !1 },
nextState: "2",
},
q: {
action_: { type_: "- after o/d", option: !1 },
nextState: "2",
},
"d|qd|dq": {
action_: { type_: "- after o/d", option: !0 },
nextState: "2",
},
"D|qD|p": {
action_: ["output", { type_: "bond", option: "-" }],
nextState: "3",
},
},
amount2: { "1|3": { action_: "a=", nextState: "a" } },
letters: {
"0|1|2|3|a|as|b|p|bp|o": { action_: "o=", nextState: "o" },
"q|dq": { action_: ["output", "o="], nextState: "o" },
"d|D|qd|qD": { action_: "o after d", nextState: "o" },
},
digits: {
o: { action_: "q=", nextState: "q" },
"d|D": { action_: "q=", nextState: "dq" },
q: { action_: ["output", "o="], nextState: "o" },
a: { action_: "o=", nextState: "o" },
},
"space A": { "b|p|bp": {} },
space: {
a: { nextState: "as" },
0: { action_: "sb=false" },
"1|2": { action_: "sb=true" },
"r|rt|rd|rdt|rdq": { action_: "output", nextState: "0" },
"*": { action_: ["output", "sb=true"], nextState: "1" },
},
"1st-level escape": {
"1|2": {
action_: [
"output",
{ type_: "insert+p1", option: "1st-level escape" },
],
},
"*": {
action_: [
"output",
{ type_: "insert+p1", option: "1st-level escape" },
],
nextState: "0",
},
},
"[(...)]": {
"r|rt": { action_: "rd=", nextState: "rd" },
"rd|rdt": { action_: "rq=", nextState: "rdq" },
},
"...": {
"o|d|D|dq|qd|qD": {
action_: ["output", { type_: "bond", option: "..." }],
nextState: "3",
},
"*": {
action_: [
{ type_: "output", option: 1 },
{ type_: "insert", option: "ellipsis" },
],
nextState: "1",
},
},
". |* ": {
"*": {
action_: [
"output",
{ type_: "insert", option: "addition compound" },
],
nextState: "1",
},
},
"state of aggregation $": {
"*": {
action_: ["output", "state of aggregation"],
nextState: "1",
},
},
"{[(": {
"a|as|o": {
action_: ["o=", "output", "parenthesisLevel++"],
nextState: "2",
},
"0|1|2|3": {
action_: ["o=", "output", "parenthesisLevel++"],
nextState: "2",
},
"*": {
action_: ["output", "o=", "output", "parenthesisLevel++"],
nextState: "2",
},
},
")]}": {
"0|1|2|3|b|p|bp|o": {
action_: ["o=", "parenthesisLevel--"],
nextState: "o",
},
"a|as|d|D|q|qd|qD|dq": {
action_: ["output", "o=", "parenthesisLevel--"],
nextState: "o",
},
},
", ": { "*": { action_: ["output", "comma"], nextState: "0" } },
"^_": { "*": {} },
"^{(...)}|^($...$)": {
"0|1|2|as": { action_: "b=", nextState: "b" },
p: { action_: "b=", nextState: "bp" },
"3|o": { action_: "d= kv", nextState: "D" },
q: { action_: "d=", nextState: "qD" },
"d|D|qd|qD|dq": { action_: ["output", "d="], nextState: "D" },
},
"^a|^\\x{}{}|^\\x{}|^\\x|'": {
"0|1|2|as": { action_: "b=", nextState: "b" },
p: { action_: "b=", nextState: "bp" },
"3|o": { action_: "d= kv", nextState: "d" },
q: { action_: "d=", nextState: "qd" },
"d|qd|D|qD": { action_: "d=" },
dq: { action_: ["output", "d="], nextState: "d" },
},
"_{(state of aggregation)}$": {
"d|D|q|qd|qD|dq": { action_: ["output", "q="], nextState: "q" },
},
"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x": {
"0|1|2|as": { action_: "p=", nextState: "p" },
b: { action_: "p=", nextState: "bp" },
"3|o": { action_: "q=", nextState: "q" },
"d|D": { action_: "q=", nextState: "dq" },
"q|qd|qD|dq": { action_: ["output", "q="], nextState: "q" },
},
"=<>": {
"0|1|2|3|a|as|o|q|d|D|qd|qD|dq": {
action_: [{ type_: "output", option: 2 }, "bond"],
nextState: "3",
},
},
"#": {
"0|1|2|3|a|as|o": {
action_: [
{ type_: "output", option: 2 },
{ type_: "bond", option: "#" },
],
nextState: "3",
},
},
"{}": {
"*": { action_: { type_: "output", option: 1 }, nextState: "1" },
},
"{...}": {
"0|1|2|3|a|as|b|p|bp": { action_: "o=", nextState: "o" },
"o|d|D|q|qd|qD|dq": { action_: ["output", "o="], nextState: "o" },
},
"$...$": {
a: { action_: "a=" },
"0|1|2|3|as|b|p|bp|o": { action_: "o=", nextState: "o" },
"as|o": { action_: "o=" },
"q|d|D|qd|qD|dq": { action_: ["output", "o="], nextState: "o" },
},
"\\bond{(...)}": {
"*": {
action_: [{ type_: "output", option: 2 }, "bond"],
nextState: "3",
},
},
"\\frac{(...)}": {
"*": {
action_: [{ type_: "output", option: 1 }, "frac-output"],
nextState: "3",
},
},
"\\overset{(...)}": {
"*": {
action_: [{ type_: "output", option: 2 }, "overset-output"],
nextState: "3",
},
},
"\\underset{(...)}": {
"*": {
action_: [{ type_: "output", option: 2 }, "underset-output"],
nextState: "3",
},
},
"\\underbrace{(...)}": {
"*": {
action_: [{ type_: "output", option: 2 }, "underbrace-output"],
nextState: "3",
},
},
"\\color{(...)}{(...)}1|\\color(...){(...)}2": {
"*": {
action_: [{ type_: "output", option: 2 }, "color-output"],
nextState: "3",
},
},
"\\color{(...)}0": {
"*": {
action_: [{ type_: "output", option: 2 }, "color0-output"],
},
},
"\\ce{(...)}": {
"*": {
action_: [{ type_: "output", option: 2 }, "ce"],
nextState: "3",
},
},
"\\,": {
"*": {
action_: [{ type_: "output", option: 1 }, "copy"],
nextState: "1",
},
},
"\\x{}{}|\\x{}|\\x": {
"0|1|2|3|a|as|b|p|bp|o|c0": {
action_: ["o=", "output"],
nextState: "3",
},
"*": { action_: ["output", "o=", "output"], nextState: "3" },
},
others: {
"*": {
action_: [{ type_: "output", option: 1 }, "copy"],
nextState: "3",
},
},
else2: {
a: { action_: "a to o", nextState: "o", revisit: !0 },
as: {
action_: ["output", "sb=true"],
nextState: "1",
revisit: !0,
},
"r|rt|rd|rdt|rdq": {
action_: ["output"],
nextState: "0",
revisit: !0,
},
"*": { action_: ["output", "copy"], nextState: "3" },
},
}),
actions: {
"o after d": function (t, e) {
var n;
if ((t.d || "").match(/^[0-9]+$/)) {
var o = t.d;
(t.d = void 0), (n = this.output(t)), (t.b = o);
} else n = this.output(t);
return i.actions["o="](t, e), n;
},
"d= kv": function (t, e) {
(t.d = e), (t.dType = "kv");
},
"charge or bond": function (t, e) {
if (t.beginsWithBond) {
var n = [];
return (
i.concatArray(n, this.output(t)),
i.concatArray(n, i.actions.bond(t, e, "-")),
n
);
}
t.d = e;
},
"- after o/d": function (t, e, n) {
var o = i.patterns.match_("orbital", t.o || ""),
a = i.patterns.match_(
"one lowercase greek letter $",
t.o || "",
),
r = i.patterns.match_(
"one lowercase latin letter $",
t.o || "",
),
c = i.patterns.match_(
"$one lowercase latin letter$ $",
t.o || "",
),
u = "-" === e && ((o && "" === o.remainder) || a || r || c);
!u ||
t.a ||
t.b ||
t.p ||
t.d ||
t.q ||
o ||
!r ||
(t.o = "$" + t.o + "$");
var p = [];
return (
u
? (i.concatArray(p, this.output(t)),
p.push({ type_: "hyphen" }))
: ((o = i.patterns.match_("digits", t.d || "")),
n && o && "" === o.remainder
? (i.concatArray(p, i.actions["d="](t, e)),
i.concatArray(p, this.output(t)))
: (i.concatArray(p, this.output(t)),
i.concatArray(p, i.actions.bond(t, e, "-")))),
p
);
},
"a to o": function (t) {
(t.o = t.a), (t.a = void 0);
},
"sb=true": function (t) {
t.sb = !0;
},
"sb=false": function (t) {
t.sb = !1;
},
"beginsWithBond=true": function (t) {
t.beginsWithBond = !0;
},
"beginsWithBond=false": function (t) {
t.beginsWithBond = !1;
},
"parenthesisLevel++": function (t) {
t.parenthesisLevel++;
},
"parenthesisLevel--": function (t) {
t.parenthesisLevel--;
},
"state of aggregation": function (t, e) {
return { type_: "state of aggregation", p1: i.go(e, "o") };
},
comma: function (t, e) {
var n = e.replace(/\s*$/, "");
return n !== e && 0 === t.parenthesisLevel
? { type_: "comma enumeration L", p1: n }
: { type_: "comma enumeration M", p1: n };
},
output: function (t, e, n) {
var o, a, r;
t.r
? ((a =
"M" === t.rdt
? i.go(t.rd, "tex-math")
: "T" === t.rdt
? [{ type_: "text", p1: t.rd || "" }]
: i.go(t.rd)),
(r =
"M" === t.rqt
? i.go(t.rq, "tex-math")
: "T" === t.rqt
? [{ type_: "text", p1: t.rq || "" }]
: i.go(t.rq)),
(o = { type_: "arrow", r: t.r, rd: a, rq: r }))
: ((o = []),
(t.a || t.b || t.p || t.o || t.q || t.d || n) &&
(t.sb && o.push({ type_: "entitySkip" }),
t.o || t.q || t.d || t.b || t.p || 2 === n
? t.o || t.q || t.d || (!t.b && !t.p)
? t.o &&
"kv" === t.dType &&
i.patterns.match_("d-oxidation$", t.d || "")
? (t.dType = "oxidation")
: t.o &&
"kv" === t.dType &&
!t.q &&
(t.dType = void 0)
: ((t.o = t.a),
(t.d = t.b),
(t.q = t.p),
(t.a = t.b = t.p = void 0))
: ((t.o = t.a), (t.a = void 0)),
o.push({
type_: "chemfive",
a: i.go(t.a, "a"),
b: i.go(t.b, "bd"),
p: i.go(t.p, "pq"),
o: i.go(t.o, "o"),
q: i.go(t.q, "pq"),
d: i.go(
t.d,
"oxidation" === t.dType ? "oxidation" : "bd",
),
dType: t.dType,
})));
for (var c in t)
"parenthesisLevel" !== c &&
"beginsWithBond" !== c &&
delete t[c];
return o;
},
"oxidation-output": function (t, e) {
var n = ["{"];
return i.concatArray(n, i.go(e, "oxidation")), n.push("}"), n;
},
"frac-output": function (t, e) {
return { type_: "frac-ce", p1: i.go(e[0]), p2: i.go(e[1]) };
},
"overset-output": function (t, e) {
return { type_: "overset", p1: i.go(e[0]), p2: i.go(e[1]) };
},
"underset-output": function (t, e) {
return { type_: "underset", p1: i.go(e[0]), p2: i.go(e[1]) };
},
"underbrace-output": function (t, e) {
return { type_: "underbrace", p1: i.go(e[0]), p2: i.go(e[1]) };
},
"color-output": function (t, e) {
return { type_: "color", color1: e[0], color2: i.go(e[1]) };
},
"r=": function (t, e) {
t.r = e;
},
"rdt=": function (t, e) {
t.rdt = e;
},
"rd=": function (t, e) {
t.rd = e;
},
"rqt=": function (t, e) {
t.rqt = e;
},
"rq=": function (t, e) {
t.rq = e;
},
operator: function (t, e, n) {
return { type_: "operator", kind_: n || e };
},
},
},
a: {
transitions: i.createTransitions({
empty: { "*": {} },
"1/2$": { 0: { action_: "1/2" } },
else: { 0: { nextState: "1", revisit: !0 } },
"$(...)$": { "*": { action_: "tex-math tight", nextState: "1" } },
",": {
"*": { action_: { type_: "insert", option: "commaDecimal" } },
},
else2: { "*": { action_: "copy" } },
}),
actions: {},
},
o: {
transitions: i.createTransitions({
empty: { "*": {} },
"1/2$": { 0: { action_: "1/2" } },
else: { 0: { nextState: "1", revisit: !0 } },
letters: { "*": { action_: "rm" } },
"\\ca": { "*": { action_: { type_: "insert", option: "circa" } } },
"\\x{}{}|\\x{}|\\x": { "*": { action_: "copy" } },
"${(...)}$|$(...)$": { "*": { action_: "tex-math" } },
"{(...)}": { "*": { action_: "{text}" } },
else2: { "*": { action_: "copy" } },
}),
actions: {},
},
text: {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
"{...}": { "*": { action_: "text=" } },
"${(...)}$|$(...)$": { "*": { action_: "tex-math" } },
"\\greek": { "*": { action_: ["output", "rm"] } },
"\\,|\\x{}{}|\\x{}|\\x": { "*": { action_: ["output", "copy"] } },
else: { "*": { action_: "text=" } },
}),
actions: {
output: function (t) {
if (t.text_) {
var e = { type_: "text", p1: t.text_ };
for (var n in t) delete t[n];
return e;
}
},
},
},
pq: {
transitions: i.createTransitions({
empty: { "*": {} },
"state of aggregation $": {
"*": { action_: "state of aggregation" },
},
i$: { 0: { nextState: "!f", revisit: !0 } },
"(KV letters),": { 0: { action_: "rm", nextState: "0" } },
formula$: { 0: { nextState: "f", revisit: !0 } },
"1/2$": { 0: { action_: "1/2" } },
else: { 0: { nextState: "!f", revisit: !0 } },
"${(...)}$|$(...)$": { "*": { action_: "tex-math" } },
"{(...)}": { "*": { action_: "text" } },
"a-z": { f: { action_: "tex-math" } },
letters: { "*": { action_: "rm" } },
"-9.,9": { "*": { action_: "9,9" } },
",": {
"*": {
action_: { type_: "insert+p1", option: "comma enumeration S" },
},
},
"\\color{(...)}{(...)}1|\\color(...){(...)}2": {
"*": { action_: "color-output" },
},
"\\color{(...)}0": { "*": { action_: "color0-output" } },
"\\ce{(...)}": { "*": { action_: "ce" } },
"\\,|\\x{}{}|\\x{}|\\x": { "*": { action_: "copy" } },
else2: { "*": { action_: "copy" } },
}),
actions: {
"state of aggregation": function (t, e) {
return {
type_: "state of aggregation subscript",
p1: i.go(e, "o"),
};
},
"color-output": function (t, e) {
return { type_: "color", color1: e[0], color2: i.go(e[1], "pq") };
},
},
},
bd: {
transitions: i.createTransitions({
empty: { "*": {} },
x$: { 0: { nextState: "!f", revisit: !0 } },
formula$: { 0: { nextState: "f", revisit: !0 } },
else: { 0: { nextState: "!f", revisit: !0 } },
"-9.,9 no missing 0": { "*": { action_: "9,9" } },
".": {
"*": { action_: { type_: "insert", option: "electron dot" } },
},
"a-z": { f: { action_: "tex-math" } },
x: { "*": { action_: { type_: "insert", option: "KV x" } } },
letters: { "*": { action_: "rm" } },
"'": { "*": { action_: { type_: "insert", option: "prime" } } },
"${(...)}$|$(...)$": { "*": { action_: "tex-math" } },
"{(...)}": { "*": { action_: "text" } },
"\\color{(...)}{(...)}1|\\color(...){(...)}2": {
"*": { action_: "color-output" },
},
"\\color{(...)}0": { "*": { action_: "color0-output" } },
"\\ce{(...)}": { "*": { action_: "ce" } },
"\\,|\\x{}{}|\\x{}|\\x": { "*": { action_: "copy" } },
else2: { "*": { action_: "copy" } },
}),
actions: {
"color-output": function (t, e) {
return { type_: "color", color1: e[0], color2: i.go(e[1], "bd") };
},
},
},
oxidation: {
transitions: i.createTransitions({
empty: { "*": {} },
"roman numeral": { "*": { action_: "roman-numeral" } },
"${(...)}$|$(...)$": { "*": { action_: "tex-math" } },
else: { "*": { action_: "copy" } },
}),
actions: {
"roman-numeral": function (t, e) {
return { type_: "roman numeral", p1: e || "" };
},
},
},
"tex-math": {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
"\\ce{(...)}": { "*": { action_: ["output", "ce"] } },
"{...}|\\,|\\x{}{}|\\x{}|\\x": { "*": { action_: "o=" } },
else: { "*": { action_: "o=" } },
}),
actions: {
output: function (t) {
if (t.o) {
var e = { type_: "tex-math", p1: t.o };
for (var n in t) delete t[n];
return e;
}
},
},
},
"tex-math tight": {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
"\\ce{(...)}": { "*": { action_: ["output", "ce"] } },
"{...}|\\,|\\x{}{}|\\x{}|\\x": { "*": { action_: "o=" } },
"-|+": { "*": { action_: "tight operator" } },
else: { "*": { action_: "o=" } },
}),
actions: {
"tight operator": function (t, e) {
t.o = (t.o || "") + "{" + e + "}";
},
output: function (t) {
if (t.o) {
var e = { type_: "tex-math", p1: t.o };
for (var n in t) delete t[n];
return e;
}
},
},
},
"9,9": {
transitions: i.createTransitions({
empty: { "*": {} },
",": { "*": { action_: "comma" } },
else: { "*": { action_: "copy" } },
}),
actions: {
comma: function () {
return { type_: "commaDecimal" };
},
},
},
pu: {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
space$: { "*": { action_: ["output", "space"] } },
"{[(|)]}": { "0|a": { action_: "copy" } },
"(-)(9)^(-9)": { 0: { action_: "number^", nextState: "a" } },
"(-)(9.,9)(e)(99)": { 0: { action_: "enumber", nextState: "a" } },
space: { "0|a": {} },
"pm-operator": {
"0|a": {
action_: { type_: "operator", option: "\\pm" },
nextState: "0",
},
},
operator: { "0|a": { action_: "copy", nextState: "0" } },
"//": { d: { action_: "o=", nextState: "/" } },
"/": { d: { action_: "o=", nextState: "/" } },
"{...}|else": {
"0|d": { action_: "d=", nextState: "d" },
a: { action_: ["space", "d="], nextState: "d" },
"/|q": { action_: "q=", nextState: "q" },
},
}),
actions: {
enumber: function (t, e) {
var n = [];
return (
"+-" === e[0] || "+/-" === e[0]
? n.push("\\pm ")
: e[0] && n.push(e[0]),
e[1] &&
(i.concatArray(n, i.go(e[1], "pu-9,9")),
e[2] &&
(e[2].match(/[,.]/)
? i.concatArray(n, i.go(e[2], "pu-9,9"))
: n.push(e[2])),
(e[3] = e[4] || e[3]),
e[3] &&
((e[3] = e[3].trim()),
"e" === e[3] || "*" === e[3].substr(0, 1)
? n.push({ type_: "cdot" })
: n.push({ type_: "times" }))),
e[3] && n.push("10^{" + e[5] + "}"),
n
);
},
"number^": function (t, e) {
var n = [];
return (
"+-" === e[0] || "+/-" === e[0]
? n.push("\\pm ")
: e[0] && n.push(e[0]),
i.concatArray(n, i.go(e[1], "pu-9,9")),
n.push("^{" + e[2] + "}"),
n
);
},
operator: function (t, e, n) {
return { type_: "operator", kind_: n || e };
},
space: function () {
return { type_: "pu-space-1" };
},
output: function (t) {
var e,
n = i.patterns.match_("{(...)}", t.d || "");
n && "" === n.remainder && (t.d = n.match_);
var o = i.patterns.match_("{(...)}", t.q || "");
if (
(o && "" === o.remainder && (t.q = o.match_),
t.d &&
((t.d = t.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C")),
(t.d = t.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"))),
t.q)
) {
(t.q = t.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C")),
(t.q = t.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"));
var a = { d: i.go(t.d, "pu"), q: i.go(t.q, "pu") };
"//" === t.o
? (e = { type_: "pu-frac", p1: a.d, p2: a.q })
: ((e = a.d),
a.d.length > 1 || a.q.length > 1
? e.push({ type_: " / " })
: e.push({ type_: "/" }),
i.concatArray(e, a.q));
} else e = i.go(t.d, "pu-2");
for (var r in t) delete t[r];
return e;
},
},
},
"pu-2": {
transitions: i.createTransitions({
empty: { "*": { action_: "output" } },
"*": { "*": { action_: ["output", "cdot"], nextState: "0" } },
"\\x": { "*": { action_: "rm=" } },
space: { "*": { action_: ["output", "space"], nextState: "0" } },
"^{(...)}|^(-1)": { 1: { action_: "^(-1)" } },
"-9.,9": {
0: { action_: "rm=", nextState: "0" },
1: { action_: "^(-1)", nextState: "0" },
},
"{...}|else": { "*": { action_: "rm=", nextState: "1" } },
}),
actions: {
cdot: function () {
return { type_: "tight cdot" };
},
"^(-1)": function (t, e) {
t.rm += "^{" + e + "}";
},
space: function () {
return { type_: "pu-space-2" };
},
output: function (t) {
var e = [];
if (t.rm) {
var n = i.patterns.match_("{(...)}", t.rm || "");
e =
n && "" === n.remainder
? i.go(n.match_, "pu")
: { type_: "rm", p1: t.rm };
}
for (var o in t) delete t[o];
return e;
},
},
},
"pu-9,9": {
transitions: i.createTransitions({
empty: { 0: { action_: "output-0" }, o: { action_: "output-o" } },
",": { 0: { action_: ["output-0", "comma"], nextState: "o" } },
".": { 0: { action_: ["output-0", "copy"], nextState: "o" } },
else: { "*": { action_: "text=" } },
}),
actions: {
comma: function () {
return { type_: "commaDecimal" };
},
"output-0": function (t) {
var e = [];
if (((t.text_ = t.text_ || ""), t.text_.length > 4)) {
var n = t.text_.length % 3;
0 === n && (n = 3);
for (var o = t.text_.length - 3; o > 0; o -= 3)
e.push(t.text_.substr(o, 3)),
e.push({ type_: "1000 separator" });
e.push(t.text_.substr(0, n)), e.reverse();
} else e.push(t.text_);
for (var a in t) delete t[a];
return e;
},
"output-o": function (t) {
var e = [];
if (((t.text_ = t.text_ || ""), t.text_.length > 4)) {
for (var n = t.text_.length - 3, o = 0; o < n; o += 3)
e.push(t.text_.substr(o, 3)),
e.push({ type_: "1000 separator" });
e.push(t.text_.substr(o));
} else e.push(t.text_);
for (var a in t) delete t[a];
return e;
},
},
},
};
var c = {
go: function (t, e) {
if (!t) return "";
for (var n = "", o = !1, a = 0; a < t.length; a++) {
var r = t[a];
"string" == typeof r
? (n += r)
: ((n += c._go2(r)), "1st-level escape" === r.type_ && (o = !0));
}
return e || o || !n || (n = "{" + n + "}"), n;
},
_goInner: function (t) {
return t ? c.go(t, !0) : t;
},
_go2: function (t) {
var e;
switch (t.type_) {
case "chemfive":
e = "";
var n = {
a: c._goInner(t.a),
b: c._goInner(t.b),
p: c._goInner(t.p),
o: c._goInner(t.o),
q: c._goInner(t.q),
d: c._goInner(t.d),
};
n.a &&
(n.a.match(/^[+\-]/) && (n.a = "{" + n.a + "}"),
(e += n.a + "\\,")),
(n.b || n.p) &&
((e += "{\\vphantom{X}}"),
(e +=
"^{\\hphantom{" +
(n.b || "") +
"}}_{\\hphantom{" +
(n.p || "") +
"}}"),
(e += "{\\vphantom{X}}"),
(e +=
"^{\\smash[t]{\\vphantom{2}}\\mathllap{" +
(n.b || "") +
"}}"),
(e +=
"_{\\vphantom{2}\\mathllap{\\smash[t]{" +
(n.p || "") +
"}}}")),
n.o &&
(n.o.match(/^[+\-]/) && (n.o = "{" + n.o + "}"), (e += n.o)),
"kv" === t.dType
? ((n.d || n.q) && (e += "{\\vphantom{X}}"),
n.d && (e += "^{" + n.d + "}"),
n.q && (e += "_{\\smash[t]{" + n.q + "}}"))
: "oxidation" === t.dType
? (n.d &&
((e += "{\\vphantom{X}}"), (e += "^{" + n.d + "}")),
n.q &&
((e += "{\\vphantom{X}}"),
(e += "_{\\smash[t]{" + n.q + "}}")))
: (n.q &&
((e += "{\\vphantom{X}}"),
(e += "_{\\smash[t]{" + n.q + "}}")),
n.d &&
((e += "{\\vphantom{X}}"), (e += "^{" + n.d + "}")));
break;
case "rm":
e = "\\mathrm{" + t.p1 + "}";
break;
case "text":
t.p1.match(/[\^_]/)
? ((t.p1 = t.p1.replace(" ", "~").replace("-", "\\text{-}")),
(e = "\\mathrm{" + t.p1 + "}"))
: (e = "\\text{" + t.p1 + "}");
break;
case "roman numeral":
e = "\\mathrm{" + t.p1 + "}";
break;
case "state of aggregation":
e = "\\mskip2mu " + c._goInner(t.p1);
break;
case "state of aggregation subscript":
e = "\\mskip1mu " + c._goInner(t.p1);
break;
case "bond":
if (!(e = c._getBond(t.kind_)))
throw [
"MhchemErrorBond",
"mhchem Error. Unknown bond type (" + t.kind_ + ")",
];
break;
case "frac":
var o = "\\frac{" + t.p1 + "}{" + t.p2 + "}";
e =
"\\mathchoice{\\textstyle" +
o +
"}{" +
o +
"}{" +
o +
"}{" +
o +
"}";
break;
case "pu-frac":
var a =
"\\frac{" + c._goInner(t.p1) + "}{" + c._goInner(t.p2) + "}";
e =
"\\mathchoice{\\textstyle" +
a +
"}{" +
a +
"}{" +
a +
"}{" +
a +
"}";
break;
case "tex-math":
e = t.p1 + " ";
break;
case "frac-ce":
e = "\\frac{" + c._goInner(t.p1) + "}{" + c._goInner(t.p2) + "}";
break;
case "overset":
e =
"\\overset{" + c._goInner(t.p1) + "}{" + c._goInner(t.p2) + "}";
break;
case "underset":
e =
"\\underset{" +
c._goInner(t.p1) +
"}{" +
c._goInner(t.p2) +
"}";
break;
case "underbrace":
e =
"\\underbrace{" +
c._goInner(t.p1) +
"}_{" +
c._goInner(t.p2) +
"}";
break;
case "color":
e = "{\\color{" + t.color1 + "}{" + c._goInner(t.color2) + "}}";
break;
case "color0":
e = "\\color{" + t.color + "}";
break;
case "arrow":
var r = { rd: c._goInner(t.rd), rq: c._goInner(t.rq) },
i = "\\x" + c._getArrow(t.r);
r.rq && (i += "[{" + r.rq + "}]"),
(e = i += r.rd ? "{" + r.rd + "}" : "{}");
break;
case "operator":
e = c._getOperator(t.kind_);
break;
case "1st-level escape":
e = t.p1 + " ";
break;
case "space":
e = " ";
break;
case "entitySkip":
case "pu-space-1":
e = "~";
break;
case "pu-space-2":
e = "\\mkern3mu ";
break;
case "1000 separator":
e = "\\mkern2mu ";
break;
case "commaDecimal":
e = "{,}";
break;
case "comma enumeration L":
e = "{" + t.p1 + "}\\mkern6mu ";
break;
case "comma enumeration M":
e = "{" + t.p1 + "}\\mkern3mu ";
break;
case "comma enumeration S":
e = "{" + t.p1 + "}\\mkern1mu ";
break;
case "hyphen":
e = "\\text{-}";
break;
case "addition compound":
e = "\\,{\\cdot}\\,";
break;
case "electron dot":
e = "\\mkern1mu \\bullet\\mkern1mu ";
break;
case "KV x":
e = "{\\times}";
break;
case "prime":
e = "\\prime ";
break;
case "cdot":
e = "\\cdot ";
break;
case "tight cdot":
e = "\\mkern1mu{\\cdot}\\mkern1mu ";
break;
case "times":
e = "\\times ";
break;
case "circa":
e = "{\\sim}";
break;
case "^":
e = "uparrow";
break;
case "v":
e = "downarrow";
break;
case "ellipsis":
e = "\\ldots ";
break;
case "/":
e = "/";
break;
case " / ":
e = "\\,/\\,";
break;
default:
throw ["MhchemBugT", "mhchem bug T. Please report."];
}
return e;
},
_getArrow: function (t) {
switch (t) {
case "->":
case "\u2192":
case "\u27f6":
return "rightarrow";
case "<-":
return "leftarrow";
case "<->":
return "leftrightarrow";
case "<--\x3e":
return "rightleftarrows";
case "<=>":
case "\u21cc":
return "rightleftharpoons";
case "<=>>":
return "rightequilibrium";
case "<<=>":
return "leftequilibrium";
default:
throw ["MhchemBugT", "mhchem bug T. Please report."];
}
},
_getBond: function (t) {
switch (t) {
case "-":
case "1":
return "{-}";
case "=":
case "2":
return "{=}";
case "#":
case "3":
return "{\\equiv}";
case "~":
return "{\\tripledash}";
case "~-":
return "{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";
case "~=":
case "~--":
return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";
case "-~-":
return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";
case "...":
return "{{\\cdot}{\\cdot}{\\cdot}}";
case "....":
return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";
case "->":
return "{\\rightarrow}";
case "<-":
return "{\\leftarrow}";
case "<":
return "{<}";
case ">":
return "{>}";
default:
throw ["MhchemBugT", "mhchem bug T. Please report."];
}
},
_getOperator: function (t) {
switch (t) {
case "+":
return " {}+{} ";
case "-":
return " {}-{} ";
case "=":
return " {}={} ";
case "<":
return " {}<{} ";
case ">":
return " {}>{} ";
case "<<":
return " {}\\ll{} ";
case ">>":
return " {}\\gg{} ";
case "\\pm":
return " {}\\pm{} ";
case "\\approx":
case "$\\approx$":
return " {}\\approx{} ";
case "v":
case "(v)":
return " \\downarrow{} ";
case "^":
case "(^)":
return " \\uparrow{} ";
default:
throw ["MhchemBugT", "mhchem bug T. Please report."];
}
},
};
},
]).default;
});