2011-09-25 67 views

回答

1

如果你不需要人写出方程,MathML更强健。对标记有一个清晰的解释(在所有MathJax实现中默认使用哪种显示模式?),MathML的文本到语音支持的机会更大。使用XPath轻松搜索数学元素等。

MathJax方法的其他缺点是启动时间税,它强制浏览器使用Javascript。

+0

MathJax的默认显示模式是HTML-CSS。 – CogitoErgoCogitoSum

0

MathML为视障人士提供了辅助功能,但即使您使用LaTeX创作,也可以将MathML显示为MathML。

至于Elazar关于“默认情况下将在所有MathJax实现中使用哪种显示模式”的问题,在设置页面时严格取决于您。完成<script>标签,如MathJax documentation中所述。

2

那么,如果你真的仔细看编码,你会发现MathJax,以及jsMath和其他类似的JavaScript程序,都做了几乎相同的事情。它们将网页源代码中的LaTeX(由服务器提供)转换为客户端的MathML。随意突出你的“LaTeX”,看看选定的源代码实际上是什么样的浏览器。你会发现它是MathML(在大多数情况下)。

除非您使用将LaTeX栅格化为GIF或PNG图像(这是另一种可行选项)的脚本或托管站点,否则您的LaTeX将呈现为MathML-Presentation。

然而,在MathJax的情况下,它也提供了SVG和HTML-CSS渲染选项。这两者都需要大量的客户端源代码。 SVG并不是很实用(不幸的是它甚至没有被普遍认可),但它确实很酷。尽管HTML-CSS可能看起来更好,但它不能被数学解析器或XML解析器读取......它也是MathJax的默认设置,并且会在客户端造成更大的负载。所以默认他们的MathML渲染更好,在我看来。

因此,如果我正确理解你的问题,你的问题实际上是没有意义的。在这两种情况下,你已经在处理MathML。不同之处在于,您更容易在页面中编写和嵌入哪些内容?就个人而言,我更喜欢用LaTeX而不是MathML编写。

我已经使用jsMath和最近的MathJax。但我目前仍然使用Codecogs.com将乳胶转换为GIF。 (他们有一个<脚本>,你可以使用直接链接< img src =>)

事实是,你只有两个选择(以及4个技术上)。主要有两个MathML或GIF图像。所有这些脚本和托管站点所做的都是促进从LaTeX到GIF或MathML(或较不理想的SVG或HTML-CSS)的转换。直线LaTeX文本与MathML源代码一样难以阅读 - 您必须进行某种渲染过程。

编写自己的MathML的一个巨大优势是,您可以完全控制基于XML的语言的语法和结构(以防其他数学程序和网站可用)。但其他优点是:您不需要JavaScript,因此您的访问者不必启用JavaScript。

巧合的是,ASCIIMath是一个简单的JavaScript将LaTeX转换为Unicode和HTML-CSS的很好的例子,它以一种非常漂亮和流畅的方式。