Рендеринг MathJax через JavaScript не работает хорошо - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь отобразить некоторые математические уравнения в MathJax с помощью JavaScript, но он не работает хорошо для всех формул.

<html>
<head>
    <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"
        async>
    </script>
</head>

<body>
    <div id="formula"> </div>
    <script>
        function render() {
            document.getElementById('formula').innerHTML = "$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$"
            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
        };
        render();
    </script>
</body>
</html>

Однако он работает довольно хорошо напрямую, например

   <div id="formula"> $$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$ </div>

1 Ответ

0 голосов
/ 12 февраля 2019

Наконец-то я нашел решение.Обратная косая черта должна быть удвоена в текстовых строковых литералах JavaScript (поскольку обратная косая черта является специальным символом в строках).Так что должно быть "$$ x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a} $$ ", чтобы получить тот же результат, что и исходный HTML.

...