CenternotConfiguration.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var __values = (this && this.__values) || function(o) {
  3. var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
  4. if (m) return m.call(o);
  5. if (o && typeof o.length === "number") return {
  6. next: function () {
  7. if (o && i >= o.length) o = void 0;
  8. return { value: o && o[i++], done: !o };
  9. }
  10. };
  11. throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
  12. };
  13. var __importDefault = (this && this.__importDefault) || function (mod) {
  14. return (mod && mod.__esModule) ? mod : { "default": mod };
  15. };
  16. Object.defineProperty(exports, "__esModule", { value: true });
  17. exports.CenternotConfiguration = exports.filterCenterOver = void 0;
  18. var Configuration_js_1 = require("../Configuration.js");
  19. var TexParser_js_1 = __importDefault(require("../TexParser.js"));
  20. var NodeUtil_js_1 = __importDefault(require("../NodeUtil.js"));
  21. var SymbolMap_js_1 = require("../SymbolMap.js");
  22. var BaseMethods_js_1 = __importDefault(require("../base/BaseMethods.js"));
  23. new SymbolMap_js_1.CommandMap('centernot', {
  24. centerOver: 'CenterOver',
  25. centernot: ['Macro', '\\centerOver{#1}{{\u29F8}}', 1]
  26. }, {
  27. CenterOver: function (parser, name) {
  28. var arg = '{' + parser.GetArgument(name) + '}';
  29. var over = parser.ParseArg(name);
  30. var base = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
  31. var mml = parser.create('node', 'TeXAtom', [
  32. new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml(),
  33. parser.create('node', 'mpadded', [
  34. parser.create('node', 'mpadded', [over], { width: 0, lspace: '-.5width' }),
  35. parser.create('node', 'mphantom', [base])
  36. ], { width: 0, lspace: '-.5width' })
  37. ]);
  38. parser.configuration.addNode('centerOver', base);
  39. parser.Push(mml);
  40. },
  41. Macro: BaseMethods_js_1.default.Macro
  42. });
  43. function filterCenterOver(_a) {
  44. var e_1, _b;
  45. var data = _a.data;
  46. try {
  47. for (var _c = __values(data.getList('centerOver')), _d = _c.next(); !_d.done; _d = _c.next()) {
  48. var base = _d.value;
  49. var texClass = NodeUtil_js_1.default.getTexClass(base.childNodes[0].childNodes[0]);
  50. if (texClass !== null) {
  51. NodeUtil_js_1.default.setProperties(base.parent.parent.parent.parent.parent.parent, { texClass: texClass });
  52. }
  53. }
  54. }
  55. catch (e_1_1) { e_1 = { error: e_1_1 }; }
  56. finally {
  57. try {
  58. if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
  59. }
  60. finally { if (e_1) throw e_1.error; }
  61. }
  62. }
  63. exports.filterCenterOver = filterCenterOver;
  64. exports.CenternotConfiguration = Configuration_js_1.Configuration.create('centernot', {
  65. handler: { macro: ['centernot'] },
  66. postprocessors: [filterCenterOver]
  67. });
  68. //# sourceMappingURL=CenternotConfiguration.js.map