diff --git a/ts/input/tex.ts b/ts/input/tex.ts index 91730585c..205ecd4ff 100644 --- a/ts/input/tex.ts +++ b/ts/input/tex.ts @@ -187,6 +187,7 @@ export class TeX extends AbstractInputJax { * @override */ public reset(tag: number = 0) { + this.parseOptions.clear(); this.parseOptions.tags.reset(tag); } diff --git a/ts/input/tex/Configuration.ts b/ts/input/tex/Configuration.ts index 6306dafe2..038680623 100644 --- a/ts/input/tex/Configuration.ts +++ b/ts/input/tex/Configuration.ts @@ -159,7 +159,7 @@ export class Configuration { } /** - * Creates an unnamed, ephemeral package configuration. It will not added to + * Creates an unnamed, ephemeral package configuration. It is not added to * the configuration handler. * * @param {object} config See `create` method. diff --git a/ts/input/tex/TexParser.ts b/ts/input/tex/TexParser.ts index 8e4b1603b..119d8cced 100644 --- a/ts/input/tex/TexParser.ts +++ b/ts/input/tex/TexParser.ts @@ -248,11 +248,11 @@ export default class TexParser { * @returns {MmlNode} The internal Mathml structure. */ public mml(): MmlNode { + this.configuration.popParser(); if (!this.stack.Top().isKind('mml')) { return null; } const node = this.stack.Top().First; - this.configuration.popParser(); const latex = this.trimTex(this.string); if (latex) { node.attributes.set(TexConstant.Attr.LATEX, latex); diff --git a/ts/input/tex/textmacros/TextMacrosConfiguration.ts b/ts/input/tex/textmacros/TextMacrosConfiguration.ts index 981362af7..462c41609 100644 --- a/ts/input/tex/textmacros/TextMacrosConfiguration.ts +++ b/ts/input/tex/textmacros/TextMacrosConfiguration.ts @@ -160,6 +160,7 @@ export const TextMacrosConfiguration = Configuration.create('textmacros', { // const config = data.data.packageData.get('textmacros'); config.parseOptions.nodeFactory.setMmlFactory(config.jax.mmlFactory); + config.parseOptions.clear(); }, ], [ConfigurationType.OPTIONS]: {