2017-02-14 3 views
4

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

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

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

enter image description here

Это визуализируется в виде одной строки, как показано ниже.

enter image description here

Это вызвано рендеринга \\ как \ по умолчанию в 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} 
$$ 
+1

Примечание из будущего: cdn.mathjax.org близится к концу срока их использования, проверить https://www.mathjax.org/cdn-shutting-down/ для миграции чаевые. –

ответ

1

\ является экранирующий символ часто используется во многих языках программирования.

Пример: на языках 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

+0

Thx. Я упомянул ваше решение в своем вопросе. Я ищу решение, в котором я могу использовать двойную обратную косую черту '\\' напрямую. – SparkAndShine

+0

Я добавил ссылку на подробное объяснение в своем ответе. Прочитайте весь раздел, он охватывает почти все. –

+0

Также отредактирован, чтобы включить другой способ сделать это. –

Смежные вопросы