MathJax Parenthesis - пропущенный или нераспознанный разделитель для \ right - PullRequest
0 голосов
/ 01 мая 2020

Я использую 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, тогда он выглядит неправильно.

enter image description here

Вот мой сценарий :

{!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>

1 Ответ

0 голосов
/ 01 мая 2020

Ваши displayMath настройки немного странные. Обратите внимание, что строки '\(' и '\(' в javascript представляют символы ( и ) (без обратной косой черты), поэтому вы установили простые старые скобки (и простые старые скобки) для отображения разделителей математики (в то время как ваши inlineMath параметры устанавливают \( и \) как встроенные математические разделители). Я подозреваю, что сначала определяются разделители displayMath, и поэтому ваше выражение

\(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 является отсутствующим аргументом (поскольку в качестве разделителей для отображения по математике установлены круглые скобки).

Я не уверен, что вы пытаетесь выполнить sh с вашими displayMath настройками, но я подозреваю, что они являются источником проблемы.

...