Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MathJax数学公式有bug #70

Closed
cfdtlee opened this issue May 6, 2015 · 9 comments
Closed

MathJax数学公式有bug #70

cfdtlee opened this issue May 6, 2015 · 9 comments
Labels

Comments

@cfdtlee
Copy link

cfdtlee commented May 6, 2015

你好,我是landscape-p的使用者,我在编辑公式时发现简单的公式没有问题,但是公式一长,比如下面这样就会出问题,显示不了公式。公式应该没错,因为我在Mou中编辑的时候显示是正常的。请问这个应该在哪块修改?

$$
J \left( \theta_0, \theta_1 \right) =  \frac{1} {2m}\sum\_{k=1}^m{ \left( h_\theta \left( x^ \left( i \right) \right) - y^\left( i \right) \right)^2}
$$
@xiangming
Copy link
Owner

MathJax来自这条PR#35,你先看看能不能解决?

@Svtter 能帮忙看下这个问题?

@Svtter
Copy link
Contributor

Svtter commented May 6, 2015

@cfdtlee

最近在比赛,机器上没有环境。如果急用,你可以尝试修改一下[./layout/_partial/mathjax.ejs] 中代码,更换cdn尝试下。

@cfdtlee
Copy link
Author

cfdtlee commented May 7, 2015

恩恩,我试试

@pakchoi
Copy link

pakchoi commented May 15, 2015

我也遇到了同样的问题。。

@Svtter
Copy link
Contributor

Svtter commented May 16, 2015

@cfdtlee

你好,不知你是否解决了问题?

问题的原因是hexo会先使用marked编译一次,之后才会使用mathjax编译。因此,在使用时,在下划线前添加\防止出错。此外,还有{之前,使用\\{替代,更不容易出错。

例如你的公式写成

$$
J \left( \theta\_0, \theta\_1 \right) =  \frac{1} {2m}\sum\_{k=1}^m{ \left( h\_\theta \left( x^ \left( i \right) \right) - y^\left( i \right) \right)^2}
$$

就不会出问题了。

@pakchoi 是否也出现了类似的问题?可以详细说明下吗?

@pakchoi
Copy link

pakchoi commented May 16, 2015

@Svtter
估计问题也是出在这里。。有没有比较严格的表达式编辑器推荐啊?

$ d(i,\quad j)\quad =\quad \sqrt [ p ]{ { ({ x }_{ i1 }-{ x }_{ j1 }) }^{ p }+{ ({ x }_{ i2 }-{ x }_{ j2 }) }^{ p }+...+{ ({ x }_{ il }-{ x }_{ jl }) }^{ p } } $

@Svtter
Copy link
Contributor

Svtter commented May 16, 2015

@pakchoi

若想成功解析应为

$ d(i,\quad j)\quad =\quad \sqrt [ p ]{ { ({ x }{ i1 }-{ x }{ j1 }) }^{ p }+{ ({ x }{ i2 }-{ x }{ j2 }) }^{ p }+...+{ ({ x }{ il }-{ x }{ jl }) }^{ p } } $

并非是表达式编辑器的问题。hexo的markdown编译器会将_理解为斜体的标识,因此编译过程中会出现<em>元素,所以妨碍的mathjax的解析。请使用转义符来解决这个问题。

@pakchoi
Copy link

pakchoi commented May 16, 2015

@Svtter
嗯嗯,我懂你的意思。但是所有的表示式都这么改很浪费时间啊。我在想有没有现成的编辑器来处理这类问题。目前看比较简单的方法还是写个vim脚本来执行会方便点。

@cfdtlee
Copy link
Author

cfdtlee commented May 20, 2015

@Svtter 原理如此,按你说的改就可以了,有了数学公式瞬间高大上了,谢谢哈!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants