在数学公式字符串中转义反斜杠

Escape backslash in math formula String

我将 MathJax 与 React 结合使用来显示数学公式 (mathjax-react)。我需要从 JSON.

中提取公式代码

我有这个:

import React from 'react'
import { MathComponent } from 'mathjax-react'

function Card({ formula }) {
    return (
         <div>
               <MathComponent tex={String.raw`\int_0^1 x^2\ dx`} />
         </div>
    )
}

相反,我想插入公式:

<MathComponent tex={ formula } />

formula 将从 JSON 中提取:

{
    "formula": `\int_0^1 x^2\ dx`
}

但是JSON不允许使用反引号。并且 String.raw 似乎 工作 正确转义反斜杠 只有反引号。 我想在不修改 TeX 公式的情况下转义 \(比如手动添加第二个 \)。

我该怎么办?

谢谢!

PS: 我精确地指出,字符串中可以有多个反斜杠并且无处不在。 Here some examples and how to create a math formula。 使用 String.raw() 作为 un 函数,没有后面的字符就不会提取反斜杠。只有带反引号的 String.raw 才有效。

JS

const fx = {
  formula: `\int_0^1 x^2\ dx`
};

const formula = "\" + String.raw({ raw: fx.formula });

在 JSX 中

<MathComponent tex={formula} />

Codesandbox 示例 https://codesandbox.io/s/late-morning-538gf

MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw