PageRenderTime 62ms CodeModel.GetById 10ms RepoModel.GetById 1ms app.codeStats 1ms

/main/khan/static/latestKhan/utils/MathJax/1.1a/config/KAthJax-62e7a7b628ba168df6b9cd3de8feac38.js

https://github.com/togaurav/class2go
JavaScript | 5957 lines | 5957 code | 0 blank | 0 comment | 887 complexity | 62e7a7b628ba168df6b9cd3de8feac38 MD5 | raw file
Possible License(s): Apache-2.0

Large files files are truncated, but you can click here to view the full file

  1. MathJax.Hub.Config({
  2. messageStyle: "none",
  3. skipStartupTypeset: !0,
  4. jax: [ "input/TeX", "output/HTML-CSS" ],
  5. extensions: [ "tex2jax.js", "MathZoom.js" ],
  6. TeX: {
  7. extensions: [ "AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js", "newcommand.js", "boldsymbol.js" ],
  8. Macros: {
  9. RR: "\\mathbb{R}",
  10. blue: "\\color{#6495ED}",
  11. orange: "\\color{#FFA500}",
  12. pink: "\\color{#FF00AF}",
  13. red: "\\color{red}",
  14. green: "\\color{#28AE7B}",
  15. gray: "\\color{gray}",
  16. purple: "\\color{purple}"
  17. },
  18. Augment: {
  19. Definitions: {
  20. macros: {
  21. lrsplit: "LRSplit",
  22. cancel: "Cancel",
  23. lcm: [ "NamedOp", 0 ]
  24. }
  25. },
  26. Parse: {
  27. prototype: {
  28. LRSplit: function(e) {
  29. var t = this.GetArgument(e), n = this.GetArgument(e), r = MathJax.ElementJax.mml.mfrac(MathJax.InputJax.TeX.Parse("\\strut\\textstyle{" + t + "\\qquad}", this.stack.env).mml(), MathJax.InputJax.TeX.Parse("\\strut\\textstyle{\\qquad " + n + "}", this.stack.env).mml());
  30. r.numalign = MathJax.ElementJax.mml.ALIGN.LEFT, r.denomalign = MathJax.ElementJax.mml.ALIGN.RIGHT, r.linethickness = "0em", this.Push(r);
  31. },
  32. Cancel: function(e) {
  33. this.Push(MathJax.ElementJax.mml.menclose(this.ParseArg(e)).With({
  34. notation: MathJax.ElementJax.mml.NOTATION.UPDIAGONALSTRIKE
  35. }));
  36. }
  37. }
  38. }
  39. }
  40. },
  41. "HTML-CSS": {
  42. scale: 100,
  43. showMathMenu: !1,
  44. availableFonts: [ "TeX" ],
  45. imageFont: null
  46. }
  47. }), MathJax.Hub.elementScripts = function(e) {
  48. return e.nodeName.toLowerCase() === "code" ? [ e ] : e.getElementsByTagName("code");
  49. }, MathJax.Hub.Browser.isKonqueror = !0, MathJax.Ajax.timeout = 6e4, MathJax.Ajax.loadError = function(e) {
  50. return function(t) {
  51. Khan.warnTimeout(), MathJax.Ajax.loadComplete = function(e) {}, e.call(this, t);
  52. };
  53. }(MathJax.Ajax.loadError), MathJax.Hub.Register.StartupHook("HTML-CSS Jax - disable web fonts", function() {
  54. Khan.warnFont();
  55. }), MathJax.Message.Init = function(e) {
  56. return function(t) {
  57. if (this.div && this.div.parentNode == null) {
  58. var n = document.getElementById("MathJax_Message");
  59. if (n && n.firstChild == null) {
  60. var r = n.parentNode;
  61. r && r.removeChild(n);
  62. }
  63. }
  64. e.call(this, t);
  65. };
  66. }(MathJax.Message.Init), MathJax.Hub.Startup.onload(), MathJax.Ajax.Preloading("[MathJax]/extensions/MathZoom.js", "[MathJax]/extensions/TeX/AMSmath.js", "[MathJax]/extensions/TeX/AMSsymbols.js", "[MathJax]/extensions/TeX/noErrors.js", "[MathJax]/extensions/TeX/noUndefined.js", "[MathJax]/extensions/TeX/newcommand.js", "[MathJax]/extensions/TeX/boldsymbol.js", "[MathJax]/extensions/tex2jax.js", "[MathJax]/jax/element/mml/jax.js", "[MathJax]/jax/input/TeX/config.js", "[MathJax]/jax/input/TeX/jax.js", "[MathJax]/jax/output/HTML-CSS/config.js", "[MathJax]/jax/output/HTML-CSS/jax.js"), MathJax.Hub.Config({
  67. "v1.0-compatible": !1
  68. }), function(e, t, n, r, i) {
  69. var s = "1.1", o = e.CombineConfig("MathZoom", {
  70. delay: 400,
  71. styles: {
  72. "#MathJax_Zoom": {
  73. position: "absolute",
  74. "background-color": "#F0F0F0",
  75. overflow: "auto",
  76. display: "block",
  77. "z-index": 301,
  78. padding: ".5em",
  79. border: "1px solid black",
  80. margin: 0,
  81. "font-family": "serif",
  82. "font-size": "85%",
  83. "font-weight": "normal",
  84. "font-style": "normal",
  85. "text-align": "left",
  86. "text-indent": 0,
  87. "text-transform": "none",
  88. "line-height": "normal",
  89. "letter-spacing": "normal",
  90. "word-spacing": "normal",
  91. "word-wrap": "normal",
  92. "white-space": "nowrap",
  93. "float": "none",
  94. "box-shadow": "5px 5px 15px #AAAAAA",
  95. "-webkit-box-shadow": "5px 5px 15px #AAAAAA",
  96. "-moz-box-shadow": "5px 5px 15px #AAAAAA",
  97. "-khtml-box-shadow": "5px 5px 15px #AAAAAA",
  98. filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')"
  99. },
  100. "#MathJax_ZoomOverlay": {
  101. position: "absolute",
  102. left: 0,
  103. top: 0,
  104. "z-index": 300,
  105. display: "inline-block",
  106. width: "100%",
  107. height: "100%",
  108. border: 0,
  109. padding: 0,
  110. margin: 0,
  111. "background-color": "white",
  112. opacity: 0,
  113. filter: "alpha(opacity=0)"
  114. }
  115. }
  116. }), u = function(e) {
  117. return e || (e = window.event), e && (e.preventDefault && e.preventDefault(), e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0, e.returnValue = !1), !1;
  118. }, a = MathJax.Extension.MathZoom = {
  119. version: s,
  120. settings: e.config.menuSettings,
  121. HandleEvent: function(e, t, n) {
  122. return e || (e = window.event), a.settings.CTRL && !e.ctrlKey ? !0 : a.settings.ALT && !e.altKey ? !0 : a.settings.CMD && !e.metaKey ? !0 : a.settings.Shift && !e.shiftKey ? !0 : a[t](e, n);
  123. },
  124. Click: function(e, t) {
  125. if (this.settings.zoom === "Click") return this.Zoom(t, e);
  126. },
  127. DblClick: function(e, t) {
  128. if (this.settings.zoom === "Double-Click") return this.Zoom(t, e);
  129. },
  130. Mouseover: function(e, t) {
  131. if (this.settings.zoom === "Hover") return a.oldMouseOver = t.onmouseover, t.onmouseover = null, t.onmousemove = this.Mousemove, t.onmouseout = this.Mouseout, a.Timer(e, t);
  132. },
  133. Mouseout: function(e) {
  134. return this.onmouseover = a.oldMouseOver, delete a.oldMouseOver, this.onmousemove = this.onmouseout = null, a.ClearTimer(), u(e);
  135. },
  136. Mousemove: function(e) {
  137. return a.Timer(e || window.event, this);
  138. },
  139. Timer: function(e, t) {
  140. return this.ClearTimer(), this.timer = setTimeout(MathJax.Callback([ "Zoom", this, t, {} ]), o.delay), u(e);
  141. },
  142. ClearTimer: function() {
  143. this.timer && (clearTimeout(this.timer), delete this.timer);
  144. },
  145. Zoom: function(n, s) {
  146. this.ClearTimer(), this.Remove();
  147. var a = n.parentNode;
  148. a.className === "MathJax_MathContainer" && (a = a.parentNode), a.parentNode.className === "MathJax_MathContainer" && (a = a.parentNode.parentNode);
  149. var f = (String(a.className).match(/^MathJax_(MathML|Display)$/) ? a : n).nextSibling, l = e.getJaxFor(f), p = l.root, v = r && l.outputJax.isa(r.constructor) ? "HTMLCSS" : i && l.outputJax.isa(i.constructor) ? "MathML" : null;
  150. if (!v) return;
  151. var m = Math.floor(.85 * document.body.clientWidth), y = Math.floor(.85 * document.body.clientHeight), w = t.Element("span", {
  152. style: {
  153. position: "relative",
  154. display: "inline-block",
  155. height: 0,
  156. width: 0
  157. },
  158. id: "MathJax_ZoomFrame"
  159. }, [ [ "span", {
  160. id: "MathJax_ZoomOverlay",
  161. onmousedown: this.Remove
  162. } ], [ "span", {
  163. id: "MathJax_Zoom",
  164. onclick: this.Remove,
  165. style: {
  166. visibility: "hidden",
  167. fontSize: this.settings.zscale,
  168. "max-width": m + "px",
  169. "max-height": y + "px"
  170. }
  171. }, [ [ "span" ] ] ] ]), E = w.lastChild, S = E.firstChild, x = w.firstChild;
  172. n.parentNode.insertBefore(w, n);
  173. if (this.msieZIndexBug) {
  174. var T = t.Element("img", {
  175. src: "about:blank",
  176. id: "MathJax_ZoomTracker",
  177. style: {
  178. width: 0,
  179. height: 0,
  180. position: "relative"
  181. }
  182. });
  183. document.body.appendChild(w), w.style.position = "absolute", w.style.zIndex = o.styles["#MathJax_ZoomOverlay"]["z-index"], w = T;
  184. }
  185. var N = this["Zoom" + v](p, S, n);
  186. return this.msiePositionBug ? (this.msieIE8Bug && (S.style.position = "absolute", E.style.height = S.offsetHeight, S.style.position = "", E.offsetHeight <= y && E.offsetWidth <= m && (E.style.overflow = "visible")), this.msieWidthBug ? E.style.width = Math.min(m, N.w) : N.w > m && (E.style.width = m), E.offsetHeight > y && (E.style.Height = y + "px"), n.nextSibling ? n.parentNode.insertBefore(w, n.nextSibling) : a.appendChild(w)) : this.operaPositionBug && (E.style.width = Math.min(m, S.offsetWidth) + "px"), this.Position(E, N, v === "MathML" && a.nodeName.toLowerCase() === "div"), E.style.visibility = "", this.settings.zoom === "Hover" && (x.onmouseover = this.Remove), window.addEventListener ? addEventListener("resize", this.Resize, !1) : window.attachEvent ? attachEvent("onresize", this.Resize) : (this.onresize = window.onresize, window.onresize = this.Resize), u(s);
  187. },
  188. ZoomHTMLCSS: function(e, t, n) {
  189. t.className = "MathJax", r.idPostfix = "-zoom", r.getScales(t, t), e.toHTML(t, t);
  190. var i = e.HTMLspanElement().bbox;
  191. r.idPostfix = "";
  192. if (i.width && i.width !== "100%") {
  193. var s = Math.floor(.85 * document.body.clientWidth);
  194. t.style.width = s + "px", t.style.display = "inline-block";
  195. var o = (e.id || "MathJax-Span-" + e.spanID) + "-zoom", u = document.getElementById(o).firstChild;
  196. while (u && u.style.width !== i.width) u = u.nextSibling;
  197. u && (u.style.width = "100%");
  198. }
  199. t.appendChild(this.topImg);
  200. var a = this.topImg.offsetTop;
  201. t.removeChild(this.topImg);
  202. var f = this.msieWidthBug ? r.getW(n) * r.em : n.offsetWidth;
  203. return {
  204. w: i.w * r.em,
  205. Y: -a,
  206. W: f
  207. };
  208. },
  209. ZoomMathML: function(e, t, n) {
  210. e.toNativeMML(t, t);
  211. var r;
  212. t.appendChild(this.topImg), r = this.topImg.offsetTop, t.removeChild(this.topImg);
  213. var i = (this.ffMMLwidthBug ? n.parentNode : n).offsetWidth;
  214. return {
  215. w: t.offsetWidth,
  216. Y: -r,
  217. W: i
  218. };
  219. },
  220. Position: function(e, t, n) {
  221. var r = this.Resize(), i = r.x, s = r.y, o = t.W;
  222. this.msiePositionBug && (o = -o), n && this.ffMMLcenterBug && (o = 0);
  223. var u = -Math.floor((e.offsetWidth - o) / 2), a = t.Y;
  224. e.style.left = Math.max(u, 20 - i) + "px", e.style.top = Math.max(a, 20 - s) + "px";
  225. },
  226. Resize: function(e) {
  227. a.onresize && a.onresize(e);
  228. var t = 0, n = 0, r = document.getElementById("MathJax_ZoomFrame"), i = document.getElementById("MathJax_ZoomOverlay"), s = a.msieZIndexBug ? document.getElementById("MathJax_ZoomTracker") : r;
  229. a.operaPositionBug && (r.style.border = "1px solid");
  230. if (s.offsetParent) do t += s.offsetLeft, n += s.offsetTop; while (s = s.offsetParent);
  231. return a.operaPositionBug && (r.style.border = ""), a.msieZIndexBug && (r.style.left = t + "px", r.style.top = n + "px"), i.style.left = -t + "px", i.style.top = -n + "px", a.msiePositionBug ? setTimeout(a.SetWH, 0) : a.SetWH(), {
  232. x: t,
  233. y: n
  234. };
  235. },
  236. SetWH: function() {
  237. var e = document.getElementById("MathJax_ZoomOverlay");
  238. e.style.width = e.style.height = "1px", e.style.width = document.body.scrollWidth + "px", e.style.height = document.body.scrollHeight + "px";
  239. },
  240. Remove: function(e) {
  241. var n = document.getElementById("MathJax_ZoomFrame");
  242. if (n) {
  243. n.parentNode.removeChild(n), n = document.getElementById("MathJax_ZoomTracker"), n && n.parentNode.removeChild(n);
  244. if (a.operaRefreshBug) {
  245. var r = t.addElement(document.body, "div", {
  246. style: {
  247. position: "fixed",
  248. left: 0,
  249. top: 0,
  250. width: "100%",
  251. height: "100%",
  252. backgroundColor: "white",
  253. opacity: 0
  254. },
  255. id: "MathJax_OperaDiv"
  256. });
  257. document.body.removeChild(r);
  258. }
  259. window.removeEventListener ? removeEventListener("resize", a.Resize, !1) : window.detachEvent ? detachEvent("onresize", a.Resize) : (window.onresize = a.onresize, delete a.onresize);
  260. }
  261. return u(e);
  262. }
  263. };
  264. e.Register.StartupHook("HTML-CSS Jax Ready", function() {
  265. r = MathJax.OutputJax["HTML-CSS"], r.Augment({
  266. HandleEvent: a.HandleEvent
  267. });
  268. }), e.Register.StartupHook("NativeMML Jax Ready", function() {
  269. i = MathJax.OutputJax.NativeMML, i.Augment({
  270. HandleEvent: a.HandleEvent,
  271. MSIEmouseup: function(e, t, n) {
  272. return this.trapUp ? (delete this.trapUp, !0) : this.MSIEzoomKeys(e) ? !0 : !1;
  273. },
  274. MSIEclick: function(e, t, n) {
  275. return this.trapClick ? (delete this.trapClick, !0) : this.MSIEzoomKeys(e) ? this.settings.zoom.match(/Click/) ? a.Click(e, t) === !1 : !1 : !1;
  276. },
  277. MSIEdblclick: function(e, t, n) {
  278. return this.MSIEzoomKeys(e) ? a.DblClick(e, t) === !1 : !1;
  279. },
  280. MSIEmouseover: function(e, t, n) {
  281. return this.settings.zoom !== "Hover" ? !1 : (a.Timer(e, t), !0);
  282. },
  283. MSIEmouseout: function(e, t, n) {
  284. return this.settings.zoom !== "Hover" ? !1 : (a.ClearTimer(), !0);
  285. },
  286. MSIEmousemove: function(e, t, n) {
  287. return this.settings.zoom !== "Hover" ? !1 : (a.Timer(e, t), !0);
  288. },
  289. MSIEzoomKeys: function(e) {
  290. return this.settings.CTRL && !e.ctrlKey ? !1 : this.settings.CMD && !e.metaKey ? !1 : this.settings.ALT && !e.altKey ? !1 : this.settings.Shift && !e.shiftKey ? !1 : !0;
  291. }
  292. });
  293. }), e.Browser.Select({
  294. MSIE: function(e) {
  295. var t = document.compatMode === "BackCompat", n = e.versionAtLeast("8.0") && document.documentMode > 7;
  296. a.msiePositionBug = !0, a.msieWidthBug = !t, a.msieIE8Bug = n, a.msieZIndexBug = !n, a.msieInlineBlockAlignBug = !n || t, document.documentMode >= 9 && delete o.styles["#MathJax_Zoom"].filter;
  297. },
  298. Opera: function(e) {
  299. a.operaPositionBug = !0, a.operaRefreshBug = !0;
  300. },
  301. Firefox: function(e) {
  302. a.ffMMLwidthBug = !0, a.ffMMLcenterBug = !0;
  303. }
  304. }), a.topImg = a.msieInlineBlockAlignBug ? t.Element("img", {
  305. style: {
  306. width: 0,
  307. height: 0
  308. },
  309. src: "about:blank"
  310. }) : t.Element("span", {
  311. style: {
  312. width: 0,
  313. height: 0,
  314. display: "inline-block"
  315. }
  316. }), a.operaPositionBug && (a.topImg.style.border = "1px solid"), MathJax.Callback.Queue([ "Styles", n, o.styles ], [ "Post", e.Startup.signal, "MathZoom Ready" ], [ "loadComplete", n, "[MathJax]/extensions/MathZoom.js" ]);
  317. }(MathJax.Hub, MathJax.HTML, MathJax.Ajax, MathJax.OutputJax["HTML-CSS"], MathJax.OutputJax.NativeMML), MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  318. var e = "1.1", t = MathJax.ElementJax.mml, n = MathJax.InputJax.TeX, r = n.Definitions, i = n.Stack.Item, s = function(e) {
  319. return e.join("em ") + "em";
  320. };
  321. MathJax.Hub.Insert(r, {
  322. macros: {
  323. mathring: [ "Accent", "2DA" ],
  324. nobreakspace: "Tilde",
  325. negmedspace: [ "Spacer", t.LENGTH.NEGATIVEMEDIUMMATHSPACE ],
  326. negthickspace: [ "Spacer", t.LENGTH.NEGATIVETHICKMATHSPACE ],
  327. intI: [ "Macro", "\\mathchoice{\\!}{}{}{}\\!\\!\\int" ],
  328. iiiint: [ "MultiIntegral", "\\int\\intI\\intI\\intI" ],
  329. idotsint: [ "MultiIntegral", "\\int\\cdots\\int" ],
  330. dddot: [ "Macro", "\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}", 1 ],
  331. ddddot: [ "Macro", "\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}", 1 ],
  332. sideset: [ "Macro", "\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}", 3 ],
  333. boxed: [ "Macro", "\\fbox{$\\displaystyle{#1}$}", 1 ],
  334. tag: "HandleTag",
  335. notag: "HandleNoTag",
  336. substack: [ "Macro", "\\begin{subarray}{c}#1\\end{subarray}", 1 ],
  337. injlim: [ "Macro", "\\mathop{\\rm inj\\,lim}" ],
  338. projlim: [ "Macro", "\\mathop{\\rm proj\\,lim}" ],
  339. varliminf: [ "Macro", "\\mathop{\\underline{\\rm lim}}" ],
  340. varlimsup: [ "Macro", "\\mathop{\\overline{\\rm lim}}" ],
  341. varinjlim: [ "Macro", "\\mathop{\\underrightarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}" ],
  342. varprojlim: [ "Macro", "\\mathop{\\underleftarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}" ],
  343. DeclareMathOperator: "HandleDeclareOp",
  344. operatorname: "HandleOperatorName",
  345. genfrac: "Genfrac",
  346. frac: [ "Genfrac", "", "", "", "" ],
  347. tfrac: [ "Genfrac", "", "", "", 1 ],
  348. dfrac: [ "Genfrac", "", "", "", 0 ],
  349. binom: [ "Genfrac", "(", ")", "0em", "" ],
  350. tbinom: [ "Genfrac", "(", ")", "0em", 1 ],
  351. dbinom: [ "Genfrac", "(", ")", "0em", 0 ],
  352. cfrac: "CFrac",
  353. shoveleft: [ "HandleShove", t.ALIGN.LEFT ],
  354. shoveright: [ "HandleShove", t.ALIGN.RIGHT ],
  355. xrightarrow: [ "xArrow", 8594, 5, 6 ],
  356. xleftarrow: [ "xArrow", 8592, 7, 3 ]
  357. },
  358. environment: {
  359. align: [ "AMSarray", null, !0, !0, "rlrlrlrlrlrl", s([ 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18 ]) ],
  360. "align*": [ "AMSarray", null, !1, !0, "rlrlrlrlrlrl", s([ 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18 ]) ],
  361. multline: [ "Multline", null, !0 ],
  362. "multline*": [ "Multline", null, !1 ],
  363. split: [ "AMSarray", null, !1, !1, "rl", s([ 5 / 18 ]) ],
  364. gather: [ "AMSarray", null, !0, !0, "c" ],
  365. "gather*": [ "AMSarray", null, !1, !0, "c" ],
  366. alignat: [ "AlignAt", null, !0, !0 ],
  367. "alignat*": [ "AlignAt", null, !1, !0 ],
  368. alignedat: [ "AlignAt", null, !1, !1 ],
  369. aligned: [ "Array", null, null, null, "rlrlrlrlrlrl", s([ 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18, 2, 5 / 18 ]), ".5em", "D" ],
  370. gathered: [ "Array", null, null, null, "c", null, ".5em", "D" ],
  371. subarray: [ "Array", null, null, null, null, s([ 0, 0, 0, 0 ]), "0.1em", "S", 1 ],
  372. smallmatrix: [ "Array", null, null, null, "c", s([ 1 / 3 ]), ".2em", "S", 1 ]
  373. },
  374. delimiter: {
  375. "\\lvert": [ "2223", {
  376. texClass: t.TEXCLASS.OPEN
  377. } ],
  378. "\\rvert": [ "2223", {
  379. texClass: t.TEXCLASS.CLOSE
  380. } ],
  381. "\\lVert": [ "2225", {
  382. texClass: t.TEXCLASS.OPEN
  383. } ],
  384. "\\rVert": [ "2225", {
  385. texClass: t.TEXCLASS.CLOSE
  386. } ]
  387. }
  388. }), n.Parse.Augment({
  389. HandleTag: function(e) {
  390. var r = this.trimSpaces(this.GetArgument(e));
  391. r === "*" ? r = this.GetArgument(e) : r = "(" + r + ")", this.stack.global.notag && n.Error(e + " not allowed in " + this.stack.global.notag + " environment"), this.stack.global.tag && n.Error("Multiple " + e), this.stack.global.tag = t.mtd.apply(t, this.InternalMath(r));
  392. },
  393. HandleNoTag: function(e) {
  394. this.stack.global.tag && delete this.stack.global.tag;
  395. },
  396. HandleDeclareOp: function(e) {
  397. var t = "", r = this.trimSpaces(this.GetArgument(e));
  398. r == "*" && (t = "\\limits", r = this.trimSpaces(this.GetArgument(e))), r.charAt(0) == "\\" && (r = r.substr(1));
  399. var i = this.GetArgument(e);
  400. i = i.replace(/\*/g, "\\text{*}").replace(/-/g, "\\text{-}"), n.Definitions.macros[r] = [ "Macro", "\\mathop{\\rm " + i + "}" + t ];
  401. },
  402. HandleOperatorName: function(e) {
  403. var t = "\\nolimits", n = this.trimSpaces(this.GetArgument(e));
  404. n == "*" && (t = "\\limits", n = this.trimSpaces(this.GetArgument(e))), n = n.replace(/\*/g, "\\text{*}").replace(/-/g, "\\text{-}"), this.string = "\\mathop{\\rm " + n + "}" + t + " " + this.string.slice(this.i), this.i = 0;
  405. },
  406. HandleShove: function(e, t) {
  407. var r = this.stack.Top();
  408. (r.type !== "multline" || r.data.length) && n.Error(e + " must come at the beginning of the line"), r.data.shove = t;
  409. },
  410. CFrac: function(e) {
  411. var r = this.trimSpaces(this.GetBrackets(e)), i = this.GetArgument(e), s = this.GetArgument(e), o = t.mfrac(n.Parse("\\strut\\textstyle{" + i + "}", this.stack.env).mml(), n.Parse("\\strut\\textstyle{" + s + "}", this.stack.env).mml());
  412. r = {
  413. l: t.ALIGN.LEFT,
  414. r: t.ALIGN.RIGHT,
  415. "": ""
  416. }[r], r == null && n.Error("Illegal alignment specified in " + e), r && (o.numalign = o.denomalign = r), this.Push(o);
  417. },
  418. Genfrac: function(e, r, i, s, o) {
  419. r == null ? r = this.GetDelimiterArg(e) : r = this.convertDelimiter(r), i == null ? i = this.GetDelimiterArg(e) : i = this.convertDelimiter(i), s == null && (s = this.GetArgument(e)), o == null && (o = this.trimSpaces(this.GetArgument(e)));
  420. var u = this.ParseArg(e), l = this.ParseArg(e), c = t.mfrac(u, l);
  421. s !== "" && (c.linethickness = s);
  422. if (r || i) c = t.mfenced(c).With({
  423. open: r,
  424. close: i
  425. });
  426. if (o !== "") {
  427. var h = [ "D", "T", "S", "SS" ][o];
  428. h == null && n.Error("Bad math style for " + e), c = t.mstyle(c), h === "D" ? (c.displaystyle = !0, c.scriptlevel = 0) : (c.displaystyle = !1, c.scriptlevel = o - 1);
  429. }
  430. this.Push(c);
  431. },
  432. Multline: function(e, t) {
  433. return this.Push(e), i.multline().With({
  434. arraydef: {
  435. displaystyle: !0,
  436. rowspacing: ".5em",
  437. width: n.config.MultLineWidth,
  438. columnwidth: "100%",
  439. side: n.config.TagSide,
  440. minlabelspacing: n.config.TagIndent
  441. }
  442. });
  443. },
  444. AMSarray: function(e, t, r, s, o) {
  445. return this.Push(e), s = s.replace(/[^clr]/g, "").split("").join(" "), s = s.replace(/l/g, "left").replace(/r/g, "right").replace(/c/g, "center"), i.AMSarray(e.name, t, r, this.stack).With({
  446. arraydef: {
  447. displaystyle: !0,
  448. rowspacing: ".5em",
  449. columnalign: s,
  450. columnspacing: o || "1em",
  451. rowspacing: "3pt",
  452. side: n.config.TagSide,
  453. minlabelspacing: n.config.TagIndent
  454. }
  455. });
  456. },
  457. AlignAt: function(e, t, r) {
  458. var i = this.GetArgument("\\begin{" + e.name + "}");
  459. i.match(/[^0-9]/) && n.Error("Argument to \\begin{" + e.name + "} must me a positive integer"), align = "", spacing = [];
  460. while (i > 0) align += "rl", spacing.push("0em 0em"), i--;
  461. return spacing = spacing.join(" "), r ? this.AMSarray(e, t, r, align, spacing) : this.Array(e, null, null, align, spacing, ".5em", "D");
  462. },
  463. MultiIntegral: function(e, t) {
  464. var n = this.GetNext();
  465. if (n === "\\") {
  466. var r = this.i;
  467. n = this.GetArgument(e), this.i = r, n === "\\limits" && (e === "\\idotsint" ? t = "\\!\\!\\mathop{\\,\\," + t + "}" : t = "\\!\\!\\!\\mathop{\\,\\,\\," + t + "}");
  468. }
  469. this.string = t + " " + this.string.slice(this.i), this.i = 0;
  470. },
  471. xArrow: function(e, r, i, s) {
  472. var o = {
  473. width: "+" + (i + s) + "mu",
  474. lspace: i + "mu"
  475. }, u = this.GetBrackets(e), l = this.ParseArg(e), c = t.mo(t.chars(String.fromCharCode(r))).With({
  476. stretchy: !0,
  477. texClass: t.TEXCLASS.REL
  478. }), h = t.munderover(c);
  479. h.SetData(h.over, t.mpadded(l).With(o).With({
  480. voffset: ".15em"
  481. })), u && (u = n.Parse(u, this.stack.env).mml(), h.SetData(h.under, t.mpadded(u).With(o).With({
  482. voffset: "-.24em"
  483. }))), this.Push(h);
  484. },
  485. GetDelimiterArg: function(e) {
  486. var t = this.trimSpaces(this.GetArgument(e));
  487. return t == "" ? null : (r.delimiter[t] || n.Error("Missing or unrecognized delimiter for " + e), this.convertDelimiter(t));
  488. }
  489. }), i.multline = i.array.Subclass({
  490. type: "multline",
  491. EndEntry: function() {
  492. var e = t.mtd.apply(t, this.data);
  493. this.data.shove && (e.columnalign = this.data.shove), this.row.push(e), this.data = [];
  494. },
  495. EndRow: function() {
  496. this.row.length != 1 && n.Error("multline rows must have exactly one column"), this.table.push(this.row), this.row = [];
  497. },
  498. EndTable: function() {
  499. this.SUPER(arguments).EndTable.call(this);
  500. if (this.table.length) {
  501. var e = this.table.length - 1, n;
  502. this.table[0][0].columnalign || (this.table[0][0].columnalign = t.ALIGN.LEFT), this.table[e][0].columnalign || (this.table[e][0].columnalign = t.ALIGN.RIGHT);
  503. var r = t.mtr;
  504. this.global.tag && (this.table[0] = [ this.global.tag ].concat(this.table[0]), delete this.global.tag, r = t.mlabeledtr), this.table[0] = r.apply(t, this.table[0]);
  505. for (n = 1, e = this.table.length; n < e; n++) this.table[n] = t.mtr.apply(t, this.table[n]);
  506. }
  507. }
  508. }), i.AMSarray = i.array.Subclass({
  509. type: "AMSarray",
  510. Init: function(e, t, n, r) {
  511. this.SUPER(arguments).Init.apply(this), this.numbered = t, this.save_notag = r.global.notag, r.global.notag = n ? null : e;
  512. },
  513. EndRow: function() {
  514. var e = t.mtr;
  515. this.global.tag && (this.row = [ this.global.tag ].concat(this.row), e = t.mlabeledtr, delete this.global.tag), this.table.push(e.apply(t, this.row)), this.row = [];
  516. },
  517. EndTable: function() {
  518. this.SUPER(arguments).EndTable.call(this), this.global.notag = this.save_notag;
  519. }
  520. }), i.start.Augment({
  521. oldCheckItem: i.start.prototype.checkItem,
  522. checkItem: function(e) {
  523. if (e.type === "stop") {
  524. var r = this.mmlData();
  525. if (this.global.tag) {
  526. var s = [ this.global.tag, t.mtd(r) ];
  527. delete this.global.tag;
  528. var o = {
  529. side: n.config.TagSide,
  530. minlabelspacing: n.config.TagIndent,
  531. columnalign: r.displayAlign
  532. };
  533. r.displayAlign === t.INDENTALIGN.LEFT ? (o.width = "100%", r.displayIndent && !String(r.displayIndent).match(/^0+(\.0*)?($|[a-z%])/) && (o.columnwidth = r.displayIndent + " fit", o.columnspacing = "0", s = [ s[0], t.mtd(), s[1] ])) : r.displayAlign === t.INDENTALIGN.RIGHT && (o.width = "100%", r.displayIndent && !String(r.displayIndent).match(/^0+(\.0*)?($|[a-z%])/) && (o.columnwidth = "fit " + r.displayIndent, o.columnspacing = "0", s[2] = t.mtd())), r = t.mtable(t.mlabeledtr.apply(t, s)).With(o);
  534. }
  535. return i.mml(r);
  536. }
  537. return this.SUPER(arguments).checkItem.call(this, e);
  538. }
  539. }), MathJax.Hub.Startup.signal.Post("TeX AMSmath Ready");
  540. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSmath.js"), MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  541. var e = "1.1.2", t = MathJax.ElementJax.mml;
  542. MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions, {
  543. mathchar0mi: {
  544. digamma: "03DD",
  545. varkappa: "03F0",
  546. varGamma: [ "0393", {
  547. mathvariant: t.VARIANT.ITALIC
  548. } ],
  549. varDelta: [ "0394", {
  550. mathvariant: t.VARIANT.ITALIC
  551. } ],
  552. varTheta: [ "0398", {
  553. mathvariant: t.VARIANT.ITALIC
  554. } ],
  555. varLambda: [ "039B", {
  556. mathvariant: t.VARIANT.ITALIC
  557. } ],
  558. varXi: [ "039E", {
  559. mathvariant: t.VARIANT.ITALIC
  560. } ],
  561. varPi: [ "03A0", {
  562. mathvariant: t.VARIANT.ITALIC
  563. } ],
  564. varSigma: [ "03A3", {
  565. mathvariant: t.VARIANT.ITALIC
  566. } ],
  567. varUpsilon: [ "03A5", {
  568. mathvariant: t.VARIANT.ITALIC
  569. } ],
  570. varPhi: [ "03A6", {
  571. mathvariant: t.VARIANT.ITALIC
  572. } ],
  573. varPsi: [ "03A8", {
  574. mathvariant: t.VARIANT.ITALIC
  575. } ],
  576. varOmega: [ "03A9", {
  577. mathvariant: t.VARIANT.ITALIC
  578. } ],
  579. beth: "2136",
  580. gimel: "2137",
  581. daleth: "2138",
  582. backprime: [ "2035", {
  583. variantForm: !0
  584. } ],
  585. hslash: [ "210F", {
  586. variantForm: !0
  587. } ],
  588. varnothing: [ "2205", {
  589. variantForm: !0
  590. } ],
  591. blacktriangle: "25B2",
  592. triangledown: "25BD",
  593. blacktriangledown: "25BC",
  594. square: "25A1",
  595. Box: "25A1",
  596. blacksquare: "25A0",
  597. lozenge: "25CA",
  598. Diamond: "25CA",
  599. blacklozenge: "29EB",
  600. circledS: [ "24C8", {
  601. mathvariant: t.VARIANT.NORMAL
  602. } ],
  603. bigstar: "2605",
  604. sphericalangle: "2222",
  605. measuredangle: "2221",
  606. nexists: "2204",
  607. complement: "2201",
  608. mho: "2127",
  609. eth: [ "00F0", {
  610. mathvariant: t.VARIANT.NORMAL
  611. } ],
  612. Finv: "2132",
  613. diagup: "2571",
  614. Game: "2141",
  615. diagdown: "2572",
  616. Bbbk: [ "006B", {
  617. mathvariant: t.VARIANT.DOUBLESTRUCK
  618. } ],
  619. yen: "00A5",
  620. circledR: "00AE",
  621. checkmark: "2713",
  622. maltese: "2720"
  623. },
  624. mathchar0mo: {
  625. dotplus: "2214",
  626. ltimes: "22C9",
  627. smallsetminus: [ "2216", {
  628. variantForm: !0
  629. } ],
  630. rtimes: "22CA",
  631. Cap: "22D2",
  632. doublecap: "22D2",
  633. leftthreetimes: "22CB",
  634. Cup: "22D3",
  635. doublecup: "22D3",
  636. rightthreetimes: "22CC",
  637. barwedge: "22BC",
  638. curlywedge: "22CF",
  639. veebar: "22BB",
  640. curlyvee: "22CE",
  641. doublebarwedge: "2A5E",
  642. boxminus: "229F",
  643. circleddash: "229D",
  644. boxtimes: "22A0",
  645. circledast: "229B",
  646. boxdot: "22A1",
  647. circledcirc: "229A",
  648. boxplus: "229E",
  649. centerdot: "22C5",
  650. divideontimes: "22C7",
  651. intercal: "22BA",
  652. leqq: "2266",
  653. geqq: "2267",
  654. leqslant: "2A7D",
  655. geqslant: "2A7E",
  656. eqslantless: "2A95",
  657. eqslantgtr: "2A96",
  658. lesssim: "2272",
  659. gtrsim: "2273",
  660. lessapprox: "2A85",
  661. gtrapprox: "2A86",
  662. approxeq: "224A",
  663. lessdot: "22D6",
  664. gtrdot: "22D7",
  665. lll: "22D8",
  666. llless: "22D8",
  667. ggg: "22D9",
  668. gggtr: "22D9",
  669. lessgtr: "2276",
  670. gtrless: "2277",
  671. lesseqgtr: "22DA",
  672. gtreqless: "22DB",
  673. lesseqqgtr: "2A8B",
  674. gtreqqless: "2A8C",
  675. doteqdot: "2251",
  676. Doteq: "2251",
  677. eqcirc: "2256",
  678. risingdotseq: "2253",
  679. circeq: "2257",
  680. fallingdotseq: "2252",
  681. triangleq: "225C",
  682. backsim: "223D",
  683. thicksim: [ "223C", {
  684. variantForm: !0
  685. } ],
  686. backsimeq: "22CD",
  687. thickapprox: "2248",
  688. subseteqq: "2AC5",
  689. supseteqq: "2AC6",
  690. Subset: "22D0",
  691. Supset: "22D1",
  692. sqsubset: "228F",
  693. sqsupset: "2290",
  694. preccurlyeq: "227C",
  695. succcurlyeq: "227D",
  696. curlyeqprec: "22DE",
  697. curlyeqsucc: "22DF",
  698. precsim: "227E",
  699. succsim: "227F",
  700. precapprox: "2AB7",
  701. succapprox: "2AB8",
  702. vartriangleleft: "22B2",
  703. lhd: "22B2",
  704. vartriangleright: "22B3",
  705. rhd: "22B3",
  706. trianglelefteq: "22B4",
  707. unlhd: "22B4",
  708. trianglerighteq: "22B5",
  709. unrhd: "22B5",
  710. vDash: "22A8",
  711. Vdash: "22A9",
  712. Vvdash: "22AA",
  713. smallsmile: "2323",
  714. shortmid: [ "2223", {
  715. variantForm: !0
  716. } ],
  717. smallfrown: "2322",
  718. shortparallel: [ "2225", {
  719. variantForm: !0
  720. } ],
  721. bumpeq: "224F",
  722. between: "226C",
  723. Bumpeq: "224E",
  724. pitchfork: "22D4",
  725. varpropto: "221D",
  726. backepsilon: "220D",
  727. blacktriangleleft: "25C0",
  728. blacktriangleright: "25B6",
  729. therefore: "2234",
  730. because: "2235",
  731. eqsim: "2242",
  732. vartriangle: [ "25B3", {
  733. variantForm: !0
  734. } ],
  735. Join: "22C8",
  736. nless: "226E",
  737. ngtr: "226F",
  738. nleq: "2270",
  739. ngeq: "2271",
  740. nleqslant: [ "2A87", {
  741. variantForm: !0
  742. } ],
  743. ngeqslant: [ "2A88", {
  744. variantForm: !0
  745. } ],
  746. nleqq: [ "2270", {
  747. variantForm: !0
  748. } ],
  749. ngeqq: [ "2271", {
  750. variantForm: !0
  751. } ],
  752. lneq: "2A87",
  753. gneq: "2A88",
  754. lneqq: "2268",
  755. gneqq: "2269",
  756. lvertneqq: [ "2268", {
  757. variantForm: !0
  758. } ],
  759. gvertneqq: [ "2269", {
  760. variantForm: !0
  761. } ],
  762. lnsim: "22E6",
  763. gnsim: "22E7",
  764. lnapprox: "2A89",
  765. gnapprox: "2A8A",
  766. nprec: "2280",
  767. nsucc: "2281",
  768. npreceq: [ "22E0", {
  769. variantForm: !0
  770. } ],
  771. nsucceq: [ "22E1", {
  772. variantForm: !0
  773. } ],
  774. precneqq: "2AB5",
  775. succneqq: "2AB6",
  776. precnsim: "22E8",
  777. succnsim: "22E9",
  778. precnapprox: "2AB9",
  779. succnapprox: "2ABA",
  780. nsim: "2241",
  781. ncong: "2246",
  782. nshortmid: [ "2224", {
  783. variantForm: !0
  784. } ],
  785. nshortparallel: [ "2226", {
  786. variantForm: !0
  787. } ],
  788. nmid: "2224",
  789. nparallel: "2226",
  790. nvdash: "22AC",
  791. nvDash: "22AD",
  792. nVdash: "22AE",
  793. nVDash: "22AF",
  794. ntriangleleft: "22EA",
  795. ntriangleright: "22EB",
  796. ntrianglelefteq: "22EC",
  797. ntrianglerighteq: "22ED",
  798. nsubseteq: "2288",
  799. nsupseteq: "2289",
  800. nsubseteqq: [ "2288", {
  801. variantForm: !0
  802. } ],
  803. nsupseteqq: [ "2289", {
  804. variantForm: !0
  805. } ],
  806. subsetneq: "228A",
  807. supsetneq: "228B",
  808. varsubsetneq: [ "228A", {
  809. variantForm: !0
  810. } ],
  811. varsupsetneq: [ "228B", {
  812. variantForm: !0
  813. } ],
  814. subsetneqq: "2ACB",
  815. supsetneqq: "2ACC",
  816. varsubsetneqq: [ "2ACB", {
  817. variantForm: !0
  818. } ],
  819. varsupsetneqq: [ "2ACC", {
  820. variantForm: !0
  821. } ],
  822. leftleftarrows: "21C7",
  823. rightrightarrows: "21C9",
  824. leftrightarrows: "21C6",
  825. rightleftarrows: "21C4",
  826. Lleftarrow: "21DA",
  827. Rrightarrow: "21DB",
  828. twoheadleftarrow: "219E",
  829. twoheadrightarrow: "21A0",
  830. leftarrowtail: "21A2",
  831. rightarrowtail: "21A3",
  832. looparrowleft: "21AB",
  833. looparrowright: "21AC",
  834. leftrightharpoons: "21CB",
  835. rightleftharpoons: [ "21CC", {
  836. variantForm: !0
  837. } ],
  838. curvearrowleft: "21B6",
  839. curvearrowright: "21B7",
  840. circlearrowleft: "21BA",
  841. circlearrowright: "21BB",
  842. Lsh: "21B0",
  843. Rsh: "21B1",
  844. upuparrows: "21C8",
  845. downdownarrows: "21CA",
  846. upharpoonleft: "21BF",
  847. upharpoonright: "21BE",
  848. downharpoonleft: "21C3",
  849. restriction: "21BE",
  850. multimap: "22B8",
  851. downharpoonright: "21C2",
  852. leftrightsquigarrow: "21AD",
  853. rightsquigarrow: "21DD",
  854. leadsto: "21DD",
  855. dashrightarrow: "21E2",
  856. dashleftarrow: "21E0",
  857. nleftarrow: "219A",
  858. nrightarrow: "219B",
  859. nLeftarrow: "21CD",
  860. nRightarrow: "21CF",
  861. nleftrightarrow: "21AE",
  862. nLeftrightarrow: "21CE"
  863. },
  864. delimiter: {
  865. "\\ulcorner": "250C",
  866. "\\urcorner": "2510",
  867. "\\llcorner": "2514",
  868. "\\lrcorner": "2518"
  869. },
  870. macros: {
  871. implies: [ "Macro", "\\;\\Longrightarrow\\;" ],
  872. impliedby: [ "Macro", "\\;\\Longleftarrow\\;" ]
  873. }
  874. });
  875. var n = t.mo.OPTYPES.REL;
  876. MathJax.Hub.Insert(t.mo.prototype, {
  877. OPTABLE: {
  878. infix: {
  879. "\u2322": n,
  880. "\u2323": n,
  881. "\u25b3": n,
  882. "\ue006": n,
  883. "\ue007": n,
  884. "\ue00c": n,
  885. "\ue00d": n,
  886. "\ue00e": n,
  887. "\ue00f": n,
  888. "\ue010": n,
  889. "\ue011": n,
  890. "\ue016": n,
  891. "\ue017": n,
  892. "\ue018": n,
  893. "\ue019": n,
  894. "\ue01a": n,
  895. "\ue01b": n,
  896. "\ue04b": n,
  897. "\ue04f": n
  898. }
  899. }
  900. });
  901. }), MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function() {
  902. var e = MathJax.OutputJax["HTML-CSS"], t = e.FONTDATA.VARIANT;
  903. e.fontInUse === "TeX" && (t["-TeX-variant"] = {
  904. fonts: [ "MathJax_AMS", "MathJax_Main", "MathJax_Size1" ],
  905. remap: {
  906. 8808: 57356,
  907. 8809: 57357,
  908. 8816: 57361,
  909. 8817: 57358,
  910. 10887: 57360,
  911. 10888: 57359,
  912. 8740: 57350,
  913. 8742: 57351,
  914. 8840: 57366,
  915. 8841: 57368,
  916. 8842: 57370,
  917. 8843: 57371,
  918. 10955: 57367,
  919. 10956: 57369,
  920. 988: 57352,
  921. 1008: 57353
  922. }
  923. }, e.msieIE6 && MathJax.Hub.Insert(t["-TeX-variant"].remap, {
  924. 8592: [ 58049, "-WinIE6" ],
  925. 8594: [ 58048, "-WinIE6" ],
  926. 8739: [ 58050, "-WinIE6" ],
  927. 8741: [ 58051, "-WinIE6" ],
  928. 8764: [ 58052, "-WinIE6" ],
  929. 9651: [ 58067, "-WinIE6" ]
  930. })), e.fontInUse === "STIX" && MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  931. var e = MathJax.InputJax.TeX.Definitions;
  932. e.mathchar0mi.varnothing = "2205", e.mathchar0mi.hslash = "210F", e.mathchar0mi.blacktriangle = "25B4", e.mathchar0mi.blacktriangledown = "25BE", e.mathchar0mi.square = "25FB", e.mathchar0mi.blacksquare = "25FC", e.mathchar0mi.vartriangle = [ "25B3", {
  933. mathsize: "71%"
  934. } ], e.mathchar0mi.triangledown = [ "25BD", {
  935. mathsize: "71%"
  936. } ], e.mathchar0mo.blacktriangleleft = "25C2", e.mathchar0mo.blacktriangleright = "25B8", e.mathchar0mo.smallsetminus = "2216", MathJax.Hub.Insert(t["-STIX-variant"], {
  937. remap: {
  938. 10887: 57360,
  939. 10888: 57359,
  940. 8816: 57361,
  941. 8817: 57358,
  942. 8928: 57419,
  943. 8929: 57423,
  944. 8840: 57366,
  945. 8841: 57368
  946. }
  947. });
  948. }), MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready");
  949. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js"), function() {
  950. var e = "1.1", t = MathJax.Hub.CombineConfig("TeX.noErrors", {
  951. multiLine: !0,
  952. inlineDelimiters: [ "", "" ],
  953. style: {
  954. "font-family": "serif",
  955. "font-size": "80%",
  956. "text-align": "left",
  957. color: "black",
  958. padding: "1px 3px",
  959. border: "1px solid"
  960. }
  961. }), n = "\u00a0";
  962. MathJax.Extension["TeX/noErrors"] = {
  963. version: e,
  964. config: t
  965. }, MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  966. MathJax.InputJax.TeX.Augment({
  967. formatError: function(e, r, i, s) {
  968. var o = t.inlineDelimiters, u = i || t.multiLine;
  969. return i || (r = o[0] + r + o[1]), u ? r = r.replace(/ /g, n) : r = r.replace(/\n/g, " "), MathJax.ElementJax.mml.merror(r).With({
  970. isError: !0,
  971. multiLine: u
  972. });
  973. }
  974. });
  975. }), MathJax.Hub.Register.StartupHook("HTML-CSS Jax Config", function() {
  976. MathJax.Hub.Config({
  977. "HTML-CSS": {
  978. styles: {
  979. ".MathJax .merror": MathJax.Hub.Insert({
  980. "font-style": null,
  981. "background-color": null,
  982. "vertical-align": MathJax.Hub.Browser.isMSIE && t.multiLine ? "-2px" : ""
  983. }, t.style)
  984. }
  985. }
  986. });
  987. });
  988. }(), MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function() {
  989. var e = MathJax.ElementJax.mml, t = MathJax.OutputJax["HTML-CSS"], n = e.math.prototype.toHTML;
  990. e.math.Augment({
  991. toHTML: function(e, t) {
  992. return this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError ? this.data[0].data[0].toHTML(e) : n.call(this, e, t);
  993. }
  994. }), e.merror.Augment({
  995. toHTML: function(n) {
  996. if (!this.isError) return e.mbase.prototype.toHTML.call(this, n);
  997. n = this.HTMLcreateSpan(n), this.multiLine && (n.style.display = "inline-block");
  998. var r = this.data[0].data[0].data.join("").split(/\n/);
  999. for (var i = 0, s = r.length; i < s; i++) t.addText(n, r[i]), i !== s - 1 && t.addElement(n, "br");
  1000. var o = t.getHD(n.parentNode), u = t.getW(n.parentNode);
  1001. if (s > 1) {
  1002. var f = (o.h + o.d) / 2, l = t.TeX.x_height / 2, c = t.config.styles[".MathJax .merror"]["font-size"];
  1003. c && c.match(/%/) && (l *= parseInt(c) / 100), n.parentNode.style.verticalAlign = t.Em(o.d + (l - f)), o.h = l + f, o.d = f - l;
  1004. }
  1005. return n.bbox = {
  1006. h: o.h,
  1007. d: o.d,
  1008. w: u,
  1009. lw: 0,
  1010. rw: u
  1011. }, n;
  1012. }
  1013. }), MathJax.Hub.Startup.signal.Post("TeX noErrors Ready");
  1014. }), MathJax.Hub.Register.StartupHook("NativeMML Jax Ready", function() {
  1015. var e = MathJax.ElementJax.mml, t = MathJax.Extension["TeX/noErrors"].config, n = e.math.prototype.toNativeMML;
  1016. e.math.Augment({
  1017. toNativeMML: function(e) {
  1018. return this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError ? this.data[0].data[0].toNativeMML(e) : n.call(this, e);
  1019. }
  1020. }), e.merror.Augment({
  1021. toNativeMML: function(n) {
  1022. if (!this.isError) return e.mbase.prototype.toNativeMML.call(this, n);
  1023. n = n.appendChild(document.createElement("span"));
  1024. var r = this.data[0].data[0].data.join("").split(/\n/);
  1025. for (var i = 0, s = r.length; i < s; i++) n.appendChild(document.createTextNode(r[i])), i !== s - 1 && n.appendChild(document.createElement("br"));
  1026. this.multiLine && (n.style.display = "inline-block", s > 1 && (n.style.verticalAlign = "middle"));
  1027. for (var o in t.style) if (t.style.hasOwnProperty(o)) {
  1028. var u = o.replace(/-./g, function(e) {
  1029. return e.charAt(1).toUpperCase();
  1030. });
  1031. n.style[u] = t.style[o];
  1032. }
  1033. return n;
  1034. }
  1035. }), MathJax.Hub.Startup.signal.Post("TeX noErrors Ready");
  1036. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"), MathJax.Extension["TeX/noUndefined"] = {
  1037. version: "1.1",
  1038. config: MathJax.Hub.CombineConfig("TeX.noUndefined", {
  1039. attributes: {
  1040. mathcolor: "red"
  1041. }
  1042. })
  1043. }, MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  1044. var e = MathJax.Extension["TeX/noUndefined"].config, t = MathJax.ElementJax.mml;
  1045. MathJax.InputJax.TeX.Parse.Augment({
  1046. csUndefined: function(n) {
  1047. this.Push(t.mtext(n).With(e.attributes));
  1048. }
  1049. }), MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready");
  1050. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"), MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  1051. var e = "1.1", t = MathJax.InputJax.TeX, n = t.Definitions;
  1052. MathJax.Hub.Insert(n, {
  1053. macros: {
  1054. newcommand: "NewCommand",
  1055. renewcommand: "NewCommand",
  1056. newenvironment: "NewEnvironment",
  1057. def: "MacroDef"
  1058. }
  1059. }), t.Parse.Augment({
  1060. NewCommand: function(e) {
  1061. var r = this.trimSpaces(this.GetArgument(e)), i = this.trimSpaces(this.GetBrackets(e)), s = this.GetArgument(e);
  1062. i === "" && (i = null), r.charAt(0) === "\\" && (r = r.substr(1)), r.match(/^(.|[a-z]+)$/i) || t.Error("Illegal control sequence name for " + e), i != null && !i.match(/^[0-9]+$/) && t.Error("Illegal number of parameters specified in " + e), n.macros[r] = [ "Macro", s, i ];
  1063. },
  1064. NewEnvironment: function(e) {
  1065. var r = this.trimSpaces(this.GetArgument(e)), i = this.trimSpaces(this.GetBrackets(e)), s = this.GetArgument(e), o = this.GetArgument(e);
  1066. i === "" && (i = null), i != null && !i.match(/^[0-9]+$/) && t.Error("Illegal number of parameters specified in " + e), n.environment[r] = [ "BeginEnv", "EndEnv", s, o, i ];
  1067. },
  1068. MacroDef: function(e) {
  1069. var t = this.GetCSname(e), r = this.GetTemplate(e, "\\" + t), i = this.GetArgument(e);
  1070. r instanceof Array ? n.macros[t] = [ "MacroWithTemplate", i, r[0], r[1] ] : n.macros[t] = [ "Macro", i, r ];
  1071. },
  1072. GetCSname: function(e) {
  1073. var n = this.GetNext();
  1074. n !== "\\" && t.Error("\\ must be followed by a control sequence");
  1075. var r = this.trimSpaces(this.GetArgument(e));
  1076. return r.substr(1);
  1077. },
  1078. GetTemplate: function(e, n) {
  1079. var r, i = [], s = 0;
  1080. r = this.GetNext();
  1081. var o = this.i;
  1082. while (this.i < this.string.length) {
  1083. r = this.GetNext();
  1084. if (r === "#") o !== this.i && (i[s] = this.string.substr(o, this.i - o)), r = this.string.charAt(++this.i), r.match(/^[1-9]$/) || t.Error("Illegal use of # in template for " + n), parseInt(r) != ++s && t.Error("Parameters for " + n + " must be numbered sequentially"), o = this.i + 1; else if (r === "{") return o !== this.i && (i[s] = this.string.substr(o, this.i - o)), i.length > 0 ? [ s, i ] : s;
  1085. this.i++;
  1086. }
  1087. t.Error("Missing replacement string for definition of " + e);
  1088. },
  1089. MacroWithTemplate: function(e, n, r, i) {
  1090. if (r) {
  1091. var s = [];
  1092. this.GetNext(), i[0] && !this.MatchParam(i[0]) && t.Error("Use of " + e + " doesn't match its definition");
  1093. for (var o = 0; o < r; o++) s.push(this.GetParameter(e, i[o + 1]));
  1094. n = this.SubstituteArgs(s, n);
  1095. }
  1096. this.string = this.AddArgs(n, this.string.slice(this.i)), this.i = 0, ++this.macroCount > t.config.MAXMACROS && t.Error("MathJax maximum macro substitution count exceeded; is there a recursive macro call?");
  1097. },
  1098. BeginEnv: function(e, t, n, r) {
  1099. if (r) {
  1100. var i = [];
  1101. for (var s = 0; s < r; s++) i.push(this.GetArgument("\\begin{" + name + "}"));
  1102. t = this.SubstituteArgs(i, t), n = this.SubstituteArgs(i, n);
  1103. }
  1104. return e.edef = n, this.string = this.AddArgs(t, this.string.slice(this.i)), this.i = 0, e;
  1105. },
  1106. EndEnv: function(e, t) {
  1107. return this.string = this.AddArgs(e.edef, this.string.slice(this.i)), this.i = 0, t;
  1108. },
  1109. GetParameter: function(e, n) {
  1110. if (n == null) return this.GetArgument(e);
  1111. var r = this.i, i = 0, s = 0;
  1112. while (this.i < this.string.length) if (this.string.charAt(this.i) === "{") this.i === r && (s = 1), this.GetArgument(e), i = this.i - r; else {
  1113. if (this.MatchParam(n)) return s && (r++, i -= 2), this.string.substr(r, i);
  1114. this.i++, i++, s = 0;
  1115. }
  1116. t.Error("Runaway argument for " + e + "?");
  1117. },
  1118. MatchParam: function(e) {
  1119. return this.string.substr(this.i, e.length) !== e ? 0 : (this.i += e.length, 1);
  1120. }
  1121. }), t.Environment = function(e) {
  1122. n.environment[e] = [ "BeginEnv", "EndEnv" ].concat([].slice.call(arguments, 1));
  1123. }, MathJax.Hub.Startup.signal.Post("TeX newcommand Ready");
  1124. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/newcommand.js"), MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() {
  1125. var e = "1.1", t = MathJax.ElementJax.mml, n = MathJax.InputJax.TeX, r = n.Definitions, i = {};
  1126. i[t.VARIANT.NORMAL] = t.VARIANT.BOLD, i[t.VARIANT.ITALIC] = t.VARIANT.BOLDITALIC, i[t.VARIANT.FRAKTUR] = t.VARIANT.BOLDFRAKTUR, i[t.VARIANT.SCRIPT] = t.VARIANT.BOLDSCRIPT, i[t.VARIANT.SANSSERIF] = t.VARIANT.BOLDSANSSERIF, i["-tex-caligraphic"] = "-tex-caligraphic-bold", i["-tex-oldstyle"] = "-tex-oldstyle-bold", r.macros.boldsymbol = "Boldsymbol", n.Parse.Augment({
  1127. mmlToken: function(e) {
  1128. if (this.stack.env.boldsymbol) {
  1129. var n = e.Get("mathvariant");
  1130. n == null ? e.mathvariant = t.VARIANT.BOLD : e.mathvariant = i[n] || n;
  1131. }
  1132. return e;
  1133. },
  1134. Boldsymbol: function(e) {
  1135. var t = this.stack.env.boldsymbol, n = this.stack.env.font;
  1136. this.stack.env.boldsymbol = !0, this.stack.env.font = null;
  1137. var r = this.ParseArg(e);
  1138. this.stack.env.font = n, this.stack.env.boldsymbol = t, this.Push(r);
  1139. }
  1140. });
  1141. }), MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function() {
  1142. var e = MathJax.OutputJax["HTML-CSS"], t = e.FONTDATA.FONTS, n = e.FONTDATA.VARIANT;
  1143. e.fontInUse === "TeX" ? (t["MathJax_Caligraphic-bold"] = "Caligraphic/Bold/Main.js", n["-tex-caligraphic-bold"] = {
  1144. fonts: [ "MathJax_Caligraphic-bold", "MathJax_Main-bold", "MathJax_Main", "MathJax_Math", "MathJax_Size1" ],
  1145. offsetA: 65,
  1146. variantA: "bold-italic"
  1147. }, n["-tex-oldstyle-bold"] = {
  1148. fonts: [ "MathJax_Caligraphic-bold", "MathJax_Main-bold", "MathJax_Main", "MathJax_Math", "MathJax_Size1" ]
  1149. }, e.msieCheckGreek && e.Font.testFont({
  1150. family: "MathJax_Greek",
  1151. weight: "bold",
  1152. style: "italic",
  1153. testString: e.msieCheckGreek
  1154. }) && (n["bold-italic"].offsetG = 913, n["bold-italic"].variantG = "-Greek-Bold-Italic", n["-Greek-Bold-Italic"] = {
  1155. fonts: [ "MathJax_Greek-bold-italic" ]
  1156. }, t["MathJax_Greek-bold-italic"] = "Greek/BoldItalic/Main.js"), MathJax.Hub.Browser.isChrome && !MathJax.Hub.Browser.versionAtLeast("5.0") && (n["-tex-caligraphic-bold"].remap = {
  1157. 84: [ 58096, "-WinChrome" ]
  1158. })) : e.fontInUse === "STIX" && (n["-tex-caligraphic-bold"] = {
  1159. fonts: [ "STIXGeneral-bold-italic", "STIXNonUnicode-bold-italic", "STIXNonUnicode", "STIXGeneral", "STIXSizeOneSym" ],
  1160. offsetA: 57927,
  1161. noLowerCase: 1
  1162. }, n["-tex-oldstyle-bold"] = {
  1163. fonts: [ "STIXGeneral-bold", "STIXNonUnicode-bold", "STIXGeneral", "STIXSizeOneSym" ],
  1164. offsetN: 57955,
  1165. remap: {
  1166. 57956: 57959,
  1167. 57957: 57963,
  1168. 57958: 57967,
  1169. 57959: 57971,
  1170. 57960: 57975,
  1171. 57961: 57979,
  1172. 57962: 57983,
  1173. 57963: 57987,
  1174. 57964: 57991
  1175. }
  1176. }), MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready");
  1177. }), MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js"), MathJax.Extension.tex2jax = {
  1178. version: "1.1.3",
  1179. config: {
  1180. inlineMath: [ [ "\\(", "\\)" ] ],
  1181. displayMath: [ [ "$$", "$$" ], [ "\\[", "\\]" ] ],
  1182. skipTags: [ "script", "noscript", "style", "textarea", "pre", "code" ],
  1183. ignoreClass: "tex2jax_ignore",
  1184. processClass: "tex2jax_process",
  1185. processEscapes: !1,
  1186. processEnvironments: !0,
  1187. preview: "TeX"
  1188. },
  1189. PreProcess: function(e) {
  1190. this.configured || (this.config = MathJax.Hub.CombineConfig("tex2jax", this.config), this.config.Augment && MathJax.Hub.Insert(this, this.config.Augment), typeof this.config.previewTeX != "undefined" && !this.config.previewTeX && (this.config.preview = "none"), this.configured = !0), typeof e == "string" && (e = document.getElementById(e)), e || (e = document.body), this.createPatterns(), this.scanElement(e, e.nextSibling);
  1191. },
  1192. createPatterns: function() {
  1193. var e = [], t, n, r = this.config;
  1194. this.match = {};
  1195. for (t = 0, n = r.inlineMath.length; t < n; t++) e.push(this.patternQuote(r.inlineMath[t][0])), this.match[r.inlineMath[t][0]] = {
  1196. mode: "",
  1197. end: r.inlineMath[t][1],
  1198. pattern: this.endPattern(r.inlineMath[t][1])
  1199. };
  1200. for (t = 0, n = r.displayMath.length; t < n; t++) e.push(this.patternQuote(r.displayMath[t][0])), this.match[r.displayMath[t][0]] = {
  1201. mode: "; mode=display",
  1202. end: r.displayMath[t][1],
  1203. pattern: this.endPattern(r.displayMath[t][1])
  1204. };
  1205. this.start = new RegExp(e.sort(this.sortLength).join("|") + (r.processEnvironments ? "|\\\\begin\\{([^}]*)\\}" : "") + (r.processEscapes ? "|\\\\*\\\\\\$" : ""), "g"), this.skipTags = new RegExp("^(" + r.skipTags.join("|") + ")$", "i"), this.ignoreClass = new RegExp("(^| )(" + r.ignoreClass + ")( |$)"), this.processClass = new RegExp("(^| )(" + r.processClass + ")( |$)");
  1206. },
  1207. patternQuote: function(e) {
  1208. return e.replace(/([\^$(){}+*?\-|\[\]\:\\])/g, "\\$1");
  1209. },
  1210. endPattern: function(e) {
  1211. return new RegExp(this.patternQuote(e) + "|\\\\.", "g");
  1212. },
  1213. sortLength: function(e, t) {
  1214. return e.length !== t.length ? t.length - e.length : e == t ? 0 : e < t ? -1 : 1;
  1215. },
  1216. scanElement: function(e, t, n) {
  1217. var r, i, s;
  1218. while (e && e != t) e.nodeName.toLowerCase() === "#text" ? n || (e = this.scanText(e)) : (r = typeof e.className == "undefined" ? "" : e.className, i = typeof e.tagName == "undefined" ? "" : e.tagName, typeof r != "string" && (r = String(r)), e.firstChild && !r.match(/(^| )MathJax/) && !this.skipTags.exec(i) && (s = (n || this.ignoreClass.exec(r)) && !this.processClass.exec(r), this.scanElement(e.firstChild, t, s))), e && (e = e.nextSibling);
  1219. },
  1220. scanText: function(e) {
  1221. if (e.nodeValue.replace(/\s+/, "") == "") return e;
  1222. var t, n;
  1223. this.search = {
  1224. start: !0
  1225. }, this.pattern = this.start;
  1226. while (e) {
  1227. this.pattern.lastIndex = 0;
  1228. while (e && e.nodeName.toLowerCase() === "#text" && (t = this.pattern.exec(e.nodeValue))) this.search.start ? e = this.startMatch(t, e) : e = this.endMatch(t, e);
  1229. this.search.matched && (e = this.encloseMath(e));
  1230. if (e) {
  1231. do n = e, e = e.nextSibling; while (e && (e.nodeName.toLowerCase() === "br" || e.nodeName.toLowerCase() === "#comment"));
  1232. if (!e || e.nodeName !== "#text") return n;
  1233. }
  1234. }
  1235. return e;
  1236. },
  1237. startMatch: function(e, t) {
  1238. var n = this.match[e[0]];
  1239. if (n != null) this.search = {
  1240. end: n.end,
  1241. mode: n.mode,
  1242. open: t,
  1243. olen: e[0].length,
  1244. opos: this.pattern.lastIndex - e[0].length
  1245. }, this.switchPattern(n.pattern); else if (e[0].substr(0, 6) === "\\begin") this.search = {
  1246. end: "\\end{" + e[1] + "}",
  1247. mode: "; mode=display",
  1248. open: t,
  1249. olen: 0,
  1250. opos: this.pattern.lastIndex - e[0].length,
  1251. isBeginEnd: !0
  1252. }, this.switchPattern(this.endPattern(this.search.end)); else {
  1253. var r = e[0].substr(0, e[0].length - 1), i, s;
  1254. r.length % 2 === 0 ? (s = [ r.replace(/\\\\/g, "\\") ], i = 1) : (s = [ r.substr(1).replace(/\\\\/g, "\\"), "$" ], i = 0), s = MathJax.HTML.Element("span", null, s);
  1255. var o = MathJax.HTML.TextNode(t.nodeValue.substr(0, e.index));
  1256. t.nodeValue = t.nodeValue.substr(e.index + e[0].length - i), t.parentNode.insertBefore(s, t), t.parentNode.insertBefore(o, s), this.pattern.lastIndex = i;
  1257. }
  1258. return t;
  1259. },
  1260. endMatch: function(e, t) {
  1261. return e[0] == this.search.end && (this.search.close = t, this.search.cpos = this.pattern.lastIndex, this.search.clen = this.search.isBeginEnd ? 0 : e[0].length, this.search.matched = !0, t = this.encloseMath(t), this.switchPattern(this.start)), t;
  1262. },
  1263. switchPattern: function(e) {
  1264. e.lastIndex = this.pattern.lastIndex, this.pattern = e, this.search.start = e === this.start;
  1265. },
  1266. encloseMath: function(e) {
  1267. var t = this.search, n = t.close, r, i;
  1268. t.cpos === n.length ? n = n.nextSibling : n = n.splitText(t.cpos), n || (r = n = MathJax.HTML.addText(t.close.parentNode, "")), t.close = n, i = t.opos ? t.open.splitText(t.opos) : t.open;
  1269. while (i.nextSibling && i.nextSibling !== n) i.nextSibling.nodeValue !== null ? i.nextSibling.nodeName === "#comment" ? i.nodeValue += i.nextSibling.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/, "$1") : i.nodeValue += i.nextSibling.nodeValue : this.msieNewlineBug ? i.nodeValue += i.nextSibling.nodeName.toLowerCase() === "br" ? "\n" : " " : i.nodeValue += " ", i.parentNode.removeChild(i.nextSibling);
  1270. var s = i.nodeValue.substr(t.olen, i.nodeValue.length - t.olen - t.clen);
  1271. return i.parentNode.removeChild(i), this.config.preview !== "none" && this.createPreview(t.mode, s), i = this.createMathTag(t.mode, s), this.search = {}, this.pattern.lastIndex = 0, r && r.parentNode.removeChild(r), i;
  1272. },
  1273. insertNode: function(e) {
  1274. var t = this.search;
  1275. t.close.parentNode.insertBefore(e, t.close);
  1276. },
  1277. createPreview: function(e, t) {
  1278. var n;
  1279. this.config.preview === "TeX" ? n = [ this.filterTeX(t) ] : this.config.preview instanceof Array && (n = this.config.preview), n && (n = MathJax.HTML.Element("span", {
  1280. className: MathJax.Hub.config.preRemoveClass
  1281. }, n), this.insertNode(n));
  1282. },
  1283. createMathTag: function(e, t) {
  1284. var n = document.createElement("script");
  1285. return n.type = "math/tex" + e, MathJax.HTML.setScript(n, t), this.insertNode(n), n;
  1286. },
  1287. filterTeX: function(e) {
  1288. return e;
  1289. },
  1290. msieNewlineBug: MathJax.Hub.Browser.isMSIE && document.documentMode < 9
  1291. }, MathJax.Hub.Register.PreProcessor([ "PreProcess", MathJax.Extension.tex2jax ]), MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js"), MathJax.ElementJax.mml = MathJax.ElementJax({
  1292. mimeType: "jax/mml"
  1293. }, {
  1294. id: "mml",
  1295. version: "1.1.1",
  1296. directory: MathJax.ElementJax.directory + "/mml",
  1297. extensionDir: MathJax.ElementJax.extensionDir + "/mml",
  1298. optableDir: MathJax.ElementJax.directory + "/mml/optable"
  1299. }), MathJax.ElementJax.mml.Augment({
  1300. Init: function() {
  1301. arguments.length === 1 && arguments[0].type === "math" ? this.root = arguments[0] : this.root = MathJax.ElementJax.mml.math.apply(this, arguments), this.root.mode && (!this.root.display && this.root.mode === "display" && (this.root.display = "block"), delete this.root.mode);
  1302. }
  1303. }, {
  1304. INHERIT: "_inherit_",
  1305. AUTO: "_auto_",
  1306. SIZE: {
  1307. INFINITY: "infinity",
  1308. SMALL: "small",
  1309. NORMAL: "normal",
  1310. BIG: "big"
  1311. },
  1312. COLOR: {
  1313. TRANSPARENT: "transparent"
  1314. },
  1315. VARIANT: {
  1316. NORMAL: "normal",
  1317. BOLD: "bold",
  1318. ITALIC: "italic",
  1319. BOLDITALIC: "bold-italic",
  1320. DOUBLESTRUCK: "double-struck",
  1321. FRAKTUR: "fraktur",
  1322. BOLDFRAKTUR: "bold-fraktur",
  1323. SCRIPT: "script",
  1324. BOLDSCRIPT: "bold-script",
  1325. SANSSERIF: "sans-serif",
  1326. BOLDSANSSERIF: "bold-sans-serif",
  1327. SANSSERIFITALIC: "sans-serif-italic",
  1328. SANSSERIFBOLDITALIC: "sans-serif-bold-italic",
  1329. MONOSPACE: "monospace",
  1330. INITIAL: "inital",
  1331. TAILED: "tailed",
  1332. LOOPED: "looped",
  1333. STRETCHED: "stretched",
  1334. CALIGRAPHIC: "-tex-caligraphic",
  1335. OLDSTYLE: "-tex-oldstyle"
  1336. },
  1337. FORM: {
  1338. PREFIX: "prefix",
  1339. INFIX: "infix",
  1340. POSTFIX: "postfix"
  1341. },
  1342. LINEBREAK: {
  1343. AUTO: "auto",
  1344. NEWLINE: "newline",
  1345. NOBREAK: "nobreak",
  1346. GOODBREAK: "goodbreak",
  1347. BADBREAK: "badbreak"
  1348. },
  1349. LINEBREAKSTYLE: {
  1350. BEFORE: "before",
  1351. AFTER: "after",
  1352. DUPLICATE: "duplicate",
  1353. INFIXLINBREAKSTYLE: "infixlinebreakstyle"
  1354. },
  1355. INDENTALIGN: {
  1356. LEFT: "left",
  1357. CENTER: "center",
  1358. RIGHT: "right",
  1359. AUTO: "auto",
  1360. ID: "id",
  1361. INDENTALIGN: "indentalign"
  1362. },
  1363. INDENTSHIFT: {
  1364. INDENTSHIFT: "indentshift"
  1365. },
  1366. LINETHICKNESS: {
  1367. THIN: "thin",
  1368. MEDIUM: "medium",
  1369. THICK: "thick"
  1370. },
  1371. NOTATION: {
  1372. LONGDIV: "longdiv",
  1373. ACTUARIAL: "actuarial",
  1374. RADICAL: "radical",
  1375. BOX: "box",
  1376. ROUNDEDBOX: "roundedbox",
  1377. CIRCLE: "circle",
  1378. LEFT: "left",
  1379. RIGHT: "right",
  1380. TOP: "top",
  1381. BOTTOM: "bottom",
  1382. UPDIAGONALSTRIKE: "updiagonalstrike",
  1383. DOWNDIAGONALSTRIKE: "downdiagonalstrike",
  1384. VERTICALSTRIKE: "verticalstrike",
  1385. HORIZONTALSTRIKE: "horizontalstrike",
  1386. MADRUWB: "madruwb"
  1387. },
  1388. ALIGN: {
  1389. TOP: "top",
  1390. BOTTOM: "bottom",
  1391. CENTER: "center",
  1392. BASELINE: "baseline",
  1393. AXIS: "axis",
  1394. LEFT: "left",
  1395. RIGHT: "right"
  1396. },
  1397. LINES: {
  1398. NONE: "none",
  1399. SOLID: "solid",
  1400. DASHED: "dashed"
  1401. },
  1402. SIDE: {
  1403. LEFT: "left",
  1404. RIGHT: "right",
  1405. LEFTOVERLAP: "leftoverlap",
  1406. RIGHTOVERLAP: "rightoverlap"
  1407. },
  1408. WIDTH: {
  1409. AUTO: "auto",
  1410. FIT: "fit"
  1411. },
  1412. ACTIONTYPE: {
  1413. TOGGLE: "toggle",
  1414. STATUSLINE: "statusline",
  1415. TOOLTIP: "tooltip",
  1416. INPUT: "input"
  1417. },
  1418. LENGTH: {
  1419. VERYVERYTHINMATHSPACE: "veryverythinmathspace",
  1420. VERYTHINMATHSPACE: "verythinmathspace",
  1421. THINMATHSPACE: "thinmathspace",
  1422. MEDIUMMATHSPACE: "mediummathspace",
  1423. THICKMATHSPACE: "thickmathspace",
  1424. VERYTHICKMATHSPACE: "verythickmathspace",
  1425. VERYVERYTHICKMATHSPACE: "veryverythickmathspace",
  1426. NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace",
  1427. NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace",
  1428. NEGATIVETHINMATHSPACE: "negativethinmathspace",
  1429. NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace",
  1430. NEGATIVETHICKMATHSPACE: "negativethickmathspace",
  1431. NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace",
  1432. NEGATIVEVERYVERYTHICKMATHSP

Large files files are truncated, but you can click here to view the full file