MathJax не отображает динамически добавляемую (используя js) матрицу должным образом - PullRequest
1 голос
/ 19 мая 2019

Я новичок в MathJax и только начал изучать его.Я пытаюсь отобразить матрицу, добавив ее на страницу с помощью js.Но это не отображается должным образом.Мой код для размещения матрицы:

function displayTransformationMatrix()
{
    var matrix = "$$\begin{bmatrix} 1 & 0 & 0 & vx \\ 0 & 1 & 0 & vy \\ 0 & 0 & 1 & vz \\ 0 & 0 & 0 & 1 \end{bmatrix}$$"
    var tranMat = document.getElementById("transformMatrix");
    tranMat.innerHTML = matrix;
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, 'transformMatrix']);
}

Здесь transformMatrix - это div, vx, vy, vz - переменные.Матрица отображается правильно, когда тот же текст добавляется непосредственно в div, но если сделано таким образом, это дает: enter image description here

Какую ошибку я делаю?Я только начал изучать MathJax, поэтому, пожалуйста, поймите, если есть какая-то глупая ошибка.

1 Ответ

2 голосов
/ 19 мая 2019

В javascript \ зарезервирован как escape-символ, если вы хотите, чтобы он был в строке, вы должны удвоить его и вместо этого написать \\ (см. Журнал в вашей консоли)

function displayTransformationMatrix()
{
    var matrix = "$$\\begin{bmatrix} 1 & 0 & 0 & vx \\\\ 0 & 1 & 0 & vy \\\\ 0 & 0 & 1 & vz \\\\ 0 & 0 & 0 & 1 \\end{bmatrix}$$"
    var tranMat = document.getElementById("transformMatrix");
    tranMat.innerHTML = matrix;
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, 'transformMatrix']);
    console.log(matrix);
}

displayTransformationMatrix();
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_SVG-full" type="text/javascript"></script>

 <span id="transformMatrix"></span>
...