较复杂度LaTeX公式无法解析
Closed this issue · 4 comments
Actual behavior
较复杂度LaTeX公式无法解析。
Expected behavior
正确解析公式。
How to reproduce
下面两个公式均无法正常解析:
- 行内公式
$f(i)=max\{f(j)|j<i,a_j<a_i\}+1$
原因:虽然正确解析,但是<
导致网页中公式解析失败。 - 行间公式
原因:在解析之后行末代表换行的双反斜杠
$$ \begin{aligned} \dot{x}&=\sigma(y-x)\\ \dot{y}&=\rho x-y-xz\\ \dot{z}&=-\beta z+xy \end{aligned} $$
\\
变成了\
,也就是变成了如下所示:$$ \begin{aligned} \dot{x}&=\sigma(y-x)\ \dot{y}&=\rho x-y-xz\ \dot{z}&=-\beta z+xy \end{aligned} $$
Environment and configuration
使用的是commitid
为d1572bd9a47f9a920c32268697b4b8a19602bf7d
的Maverick,即大佬您Wiki中使用的版本。
主题为latest
分支的Kepler(但是我感觉该问题应该和主题无关QAQ)。
演示链接中的第三行可以看到错误的解析。
Additional information
我尝试过解决,但是没能完全解决。
上述行内公式由于<
的问题网页中解析失败可以通过修改Maverick/Maverick/Markdown.py
文件164
行MathRendererMixin
中所有text
为mistune.escape(text)
来转义解决。
上述行间公式解析错误我感觉应该是mistune解析把双反斜杠吃掉了,但是因为我基本不会python所以没能解决问题QAQ。
希望大佬有空的时候研究一下。
顺便,由衷感谢大佬写的解析器和主题QwQ。
应该是解析时的转义问题,请看看新的 Maverick 有没有解决这个问题。
并没有解决唉,双反斜杠还是没能解析出来QAQ。
推荐一个解析器pandoc,功能比较强大,可能能够解决各种markdown和html混杂的问题(也可以解决公式问题),python中有pypandoc组件可以调用pandoc来解析Markdown。
但是需要电脑提前安装了pandoc才能用pypandoc,可能不是很方便。不过如果是利用github action的话可以将pandoc的deb包上传到仓库然后在action中安装deb包。
如果大佬感兴趣可以尝试一下。
可以了,抱歉是因为Markdown写法的原因QAQ。
如果$$
和之前的文字之间没有换行仍会导致双反斜杠消失,中间有换行则不会。
不过这个写法可能本身就不规范,总之感谢大佬QwQ。