javascript - MathJax 中的 HTML 实体(<、> 和 &)支持

标签 javascript mathjax mathjs

我在 TEX 代码中遇到了 HTML 实体的问题。我经历过这个link并尝试了从那里开始的所有步骤,但我仍然面临 "&" 符号中的问题。

这是我的 Mathjax 配置对象:

<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
    messageStyle: 'none', 
    showMathMenu: false,
    processEnvironments:true,
    tex2jax: { inlineMath: [['$', '$'], ["\\(", "\\)"]], 
    processClass: "equationrender", 
    ignoreClass:"StylePara"
    } });
</script>

当我渲染下面的 latex 时,

\begin{align}
h(x) &= \int \left( \frac{f(x) + g(x)}{1+ f^{2}(x)}\right)\nonumber\\
r^{2} &= s^{2} + t^{2}, \nonumber\\
2u + 1 &= v + w^{\alpha},\nonumber\\
x &= \frac{y + z}{\sqrt{s + 2u}};
\end{align}

在网页中渲染后,TEX 代码更改如下,

\begin{align}
h(x)  &amp; = \int \left( \frac{f(x) + g(x)}{1+ f^{2}(x)}\right)\nonumber\\
r^{2}  &amp; = s^{2} + t^{2}, \nonumber\\
2u + 1  &amp; = v + w^{\alpha},\nonumber\\
x  &amp; = \frac{y + z}{\sqrt{s + 2u}};
\end{align}

如何将 & 转换为 mathjax 可理解的 latex 代码(请引用屏幕截图,TEX 在浏览器中呈现)。请给我建议。 enter image description here

最佳答案

在 HTML 中,& 符号 ( & ) 用作引入实体的特殊字符,例如 &lt;对于 <&gt;对于 > , 等等。因此,要在文档中获取显式的“&”符号,您需要使用 &amp; ,它是 & 符号的实体。大多数为您提供编辑器来输入页面内容的内容管理系统 (CMS) 都会翻译 &&amp;自动为您服务,这是正确的做法。

我怀疑在你的情况下, & 的翻译至&amp;进行了两次,结果是&amp;amp;在您的 HTML 页面中。当浏览器读取该内容时,它会翻译第一个 &amp;返回& ,离开&amp;在您的页面中。 MathJax 看起来像 r^{2} &amp; = s^{2} + t^{2} \\作为对齐中的一行,并(正确地)将其解析为 r^{2}在第一列和 amp; = s^{2} + t^{2}在第二个。

如果您使用浏览器的“查看源代码”选项,您应该能够看到原始的 &amp;amp;在 HTML 中(除非您的 CMS 动态加载内容,否则您无法查看原始源)。

所以问题似乎出在您的 CMS 上,它似乎正在执行 &&amp;转换两次。尽管您可以配置 MathJax 来运行过滤器来转换 &amp;返回&第二次(在浏览器完成转换之后),真正的问题在于 CMS,而不是 MathJax,因此这就是应该应用修复的地方(应用于 CMS,而不是 MathJax)。

关于javascript - MathJax 中的 HTML 实体(<、> 和 &)支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60500227/

相关文章:

javascript - 如何动态添加ondragstart事件到动态创建的div

javascript - 如何将 <ul> 与 html 一起复制到 jquery 中的另一个 <ul> 中?

javascript - 关于MathJax的具体问题,然后(自动?)保存到word或pdf

html - Bootstrap 和 MathJax 单行

javascript - 使用 MathJax 和 Vue.js 更新 DOM

javascript - 将逗号分隔的数字字符串转换为数字

javascript - AngularJS ng-click 创建子范围,但在后续 ng-click 后推送到主范围

javascript - 在 Javascript 中从 math.matrix 获取元素

javascript - 使用 MathLive 和 Vue 更新数学方程式

javascript - 外部 Javascript 数学无法在 HTML 中正确更新