我使用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$$
(其中STR0
,STR1
,STR2
,STR3
,STR4
都匹配我的正则表达式RE
),然后在MathJax处理这些之前数学表达式,必须自动对这些表达式进行预处理:
\(foo \mycommand{STR0} bar\)
...
$foo \mycommand{STR1} bar$
...
\[
foo \mycommand{STR2} bar
\]
...
$$foo \mycommand{STR3} bar \mycommand{STR4} baz$$
这种替换应该在浏览器中自动完成,而不是手动或使用任何编辑软件。
是否可以使用MathJax(可能还有JavaScript)执行此操作?如果是的话,如何做到这一点?