环境信息

博客与插件版本:
:halo 2.7
:katex 1.0.0
:ByteMD 1.1.1
:StackEdit 1.0.0

问题描述

1. 使用katex.org官方提供的编辑器渲染以下公式可以正常渲染

\begin{equation}
\begin{split}
G&=\sqrt[n]{X_1X_2...X_n}\\
&= (X_1X_2...X_n)^{\frac{1}{n}}\\
logG&=log[(X_1X_2...X_n)^{\frac{1}{n}}]\\
&=\frac{1}{n}log(X_1X_2...X_n)\\
&=\frac{1}{n} \sum_{i=1}^{n} logX_i\\
G&=log^{-1}(\frac{1}{n} \sum_{i=1}^{n} logX_i)
\end{split} 
\end{equation}

\begin{equation}
\begin{split}
指数&运算:
\\&a^{\frac{m}{n} }=\sqrt[n]{X^m}
\\
对数&运算:
\\&log \quad a^m = m·log \quad a
\\&log(a·b) = log \quad a+log \quad b
\end{split} 
\end{equation}

\begin{equation}
\begin{split}
y=1729x \\ y=1729-x
\end{split}
\end{equation} 

katex.org渲染结果

2. 使用默认富文本编辑器可以正常渲染公式

3. ByteMD渲染错误

ByteMD渲染单行公式是可以正确渲染的

目前发现渲染多行公式无法强制换行,且如果出现定位符“&”,整段公式都会报错,报错信息:Phrase Error:KaTex phrase error:too many tab characters:& at positionXXXXX

4. StackEdit直接不兼容

StackEdit讲究的就是一个,编辑器里啥公式都能好好显示,但啥公式都别想在博客里正常显示出来。个人推测是不是为了防止XSS注入,StackEdit本身渲染出来的HTML文本被halo转译过,显示出来一团糟

    关于 StackEdit 公式的问题可以关注:halo-sigs/plugin-katex5

    沉迷科研无法自拔 StackEdit本身渲染出来的HTML文本被halo转译过,显示出来一团糟

    Halo 没有对 StackEdit 提供的内容进行转义,应该是 StackEdit 渲染出来的 HTML 就已经被转义过,晚点研究一下。

    9 个月 后

    楼主现在解决了吗?我也遇到一样的问题了😅