如何在MathJax中转义双反斜杠?

3

我通过在footer.php中添加以下代码来使MathJax与WordPress配合使用。它适用于简单的数学符号和方程。

<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或Markdown编辑器默认将\\渲染为\所致。一个可能的解决方案是将$$...$$中所有的\\替换为\\\\
我希望可以直接使用\\作为换行符。在StackEdit上可以使用,但我不知道如何实现,可能需要对MathJax进行转义。

这是源代码(我使用Markdown编辑器)。

$$
\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/以获取迁移提示。 - Peter Krautzberger
1个回答

5

\ 是一个通用的转义字符,被广泛地应用于许多编程语言。

例如:在 C 语言中,\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


1
谢谢。我在我的问题中提到了你的解决方案。我正在寻找一个可以直接使用双反斜杠 \\ 的解决方案。 - SparkAndShine
我在我的回答中添加了一个详细解释的链接。请阅读整个部分,它涵盖了几乎所有内容。 - user7600596
还进行了编辑,以包含另一种实现方式。 - user7600596

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接