Как избежать двойной обратной косой черты для MathJax?

Я заставляю MathJax работать с WordPress, добавляя следующий код в footer.php. Это работает для простых математических символов и уравнений.

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            processEscapes: true
    }
});
</script>

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

Но это не работает для уравнений с многострочными, например,

введите здесь описание изображения

Он отображается как одна строка, как показано ниже.

введите здесь описание изображения

Это вызвано рендерингом \\ как \ по умолчанию в WordPress или редакторе уценки. Одно из возможных решений — превратить все \\ в $$...$$ в \\\\.

Я ожидаю, что смогу использовать \\ как разрыв строки напрямую. Он работает на StackEdit, но я не знаю, как это сделать, вероятно, экранируя \\ для MathJax.


Вот исходный код. (Я использую редактор уценки.)

$$
\begin{bmatrix}
PR(p_1) \\
PR(p_2) \\
\vdots \\
PR(p_N)
\end{bmatrix} =
\begin{bmatrix}
{(1-d)/ N} \\
{(1-d) / N} \\
\vdots \\
{(1-d) / N}
\end{bmatrix}
+ d
\begin{bmatrix}
\ell(p_1,p_1) & \ell(p_1,p_2) & \cdots & \ell(p_1,p_N) \\
\ell(p_2,p_1) & \ddots &  & \vdots \\
\vdots & & \ell(p_i,p_j) & \\
\ell(p_N,p_1) & \cdots & & \ell(p_N,p_N)
\end{bmatrix} 
\cdot
\begin{bmatrix}
PR(p_1) \\
PR(p_2) \\
\vdots \\
PR(p_N)
\end{bmatrix}
$$

person SparkAndShine    schedule 14.02.2017    source источник
comment
Примечание из будущего: срок службы cdn.mathjax.org подходит к концу, проверьте mathjax .org/cdn-shutting-down для советов по миграции.   -  person Peter Krautzberger    schedule 11.04.2017


Ответы (1)


\ — это escape-символ, обычно используемый во многих языках программирования.

Пример: в языках C \n указывает на разрыв строки. Здесь n указывает на новую строку, а \ сообщает компилятору, что n следует рассматривать иначе, чем обычный n. Управляющий символ \ используется, чтобы сообщить компилятору, что символ, непосредственно следующий за ним, не является нормальным и должен обрабатываться по-другому (например, как символ новой строки \n).

Вы можете использовать \ перед каждым фактическим \, которое вы хотите использовать. Итак, если вы хотите \begin{bmatrix}, вам нужно будет написать \\begin{bmatrix}, а если вы хотите \\, вам нужно использовать \\\\.

В некоторых системах также можно пометить текст как «дословный». Таким образом, вы можете пометить целый блок текста, чтобы игнорировать все символы, которые в противном случае имели бы особое значение в языке программирования. Это отличается от системы к системе, Markdown использует `code block` или ``code block``.

Попробуйте пометить свою математику как блок кода, и вы сможете нормально использовать обратную косую черту, например. `math here`.

Подробное объяснение: http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents

person Community    schedule 17.02.2017
comment
Спасибо. Я упомянул ваше решение в своем вопросе. Я ищу решение, в котором я могу напрямую использовать двойную обратную косую черту `\`. - person SparkAndShine; 17.02.2017
comment
Я добавил ссылку на подробное объяснение в свой ответ. Прочитайте весь раздел, он охватывает почти все. - person ; 17.02.2017
comment
Также отредактировал его, чтобы включить другой способ сделать это. - person ; 17.02.2017