在数学公式字符串中转义反斜杠
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
我将 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