0

我正在使用 MathJax 尝试使用 .NET 和 DocFX 呈现方程。

此等式为浏览器中的\right错误提供缺失或无法识别的分隔符。

\(D_{text{mi}} = 1 - \frac{U_{c}}{U_{i}} = C_{t} - 0.05 - \lbrack \left( 16C_{t} - 0.5 \right) I_{\text{amb}}/1000\rbrack\)

但是,如果我在https://www.mathjax.org/#demo中运行它,那么它会正确预览。

在此处输入图像描述

这是我的脚本:

{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}

<script type="text/javascript" src="{{_rel}}styles/docfx.vendor.js"></script>
<script type="text/javascript" src="{{_rel}}styles/docfx.js"></script>
<script type="text/javascript" src="{{_rel}}styles/main.js"></script>

<!-- configure MathJax object to define tex macros -->
<!-- Don't forget to escape \, since js also uses \ -->
<script>

MathJax = {
  tex: {
    packages: ['base'],        // extensions to use
    inlineMath: [              // start/end delimiter pairs for in-line math
      ['\\(', '\\)']
    ],
    displayMath: [             // start/end delimiter pairs for display math
      ['$$', '$$'],
      ['\[', '\]'],
      ['\(', '}\)'],
      ['\(','\)'],
      ['\\[', '\\]'],
    ],
  }
};

</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
4

1 回答 1

0

你的displayMath设置有点奇怪。请注意,javascript中的字符串'\('和表示字符和(无反斜杠),因此您已将普通的旧括号(和普通的旧括号)设置为显示数学分隔符(而您的参数设置为内联数学分隔符)。我怀疑首先找到了 displayMath 分隔符,所以你的表达'\('()inlineMath\(\)

\(D_{text{mi}} = 1 - \frac{U_{c}}{U_{i}} = C_{t} - 0.05 - \lbrack \left( 16C_{t} - 0.5 \right) I_{\text{amb}}/1000\rbrack\)

匹配

( 16C_{t} - 0.5 \right)

如显示的数学(带有分隔符),使正在处理的数学成为16C_{t} - 0.5 \right. 在这种情况下,\right 缺少它的参数(因为您将括号设置为显示数学分隔符)。

我不确定您要通过displayMath设置完成什么,但我怀疑它们是问题的根源。

于 2020-05-01T11:26:57.897 回答