在MathJax处理HTML页面之前自动宏替换

时间:2017-11-21 06:57:58

标签: javascript mathjax

我使用LaTeX多年,但我是MathJax和JavaScript的新手。

我有以下问题。假设我将使用我自己的宏(让我们将其命名为mycommand),所以我将它放在我的MathJax配置中(在宏部分中)。我想在数据分隔符(即\( ... \)$ ... $\[ ... \]$$ ... $$)之间的HTML页面上的任何地方使用此命令,其中任何与我匹配的字符串(已修复)正则表达式RE(例如,我们假设此正则表达式为\d+)正在出现。我的意思是:在匹配此STR的任何字符串RE出现在数学分隔符之间,必须自动应用此替换STR -> \mycommand{STR},例如,如果我们有,则在HTML源代码中:

\(foo STR0 bar\)
...
$foo STR1 bar$
...
\[
foo STR2 bar
\]
...
$$foo STR3 bar STR4 baz$$

(其中STR0STR1STR2STR3STR4都匹配我的正则表达式RE),然后在MathJax处理这些之前数学表达式,必须自动对这些表达式进行预处理:

\(foo \mycommand{STR0} bar\)
...
$foo \mycommand{STR1} bar$
...
\[
foo \mycommand{STR2} bar
\]
...
$$foo \mycommand{STR3} bar \mycommand{STR4} baz$$

这种替换应该在浏览器中自动完成,而不是手动或使用任何编辑软件。

是否可以使用MathJax(可能还有JavaScript)执行此操作?如果是的话,如何做到这一点?

0 个答案:

没有答案