MathJax,开源的javascript库来渲染数学,支持多种语法,包括MathML和LaTeX。是否有理由赞成使用MathML语法来编写页内方程与TeX语法?它只在我看来,MathML是非常详细的。在MathJax中赞成使用TeX的MathML语法的任何理由?
回答
如果你不需要人写出方程,MathML更强健。对标记有一个清晰的解释(在所有MathJax实现中默认使用哪种显示模式?),MathML的文本到语音支持的机会更大。使用XPath轻松搜索数学元素等。
MathJax方法的其他缺点是启动时间税,它强制浏览器使用Javascript。
MathML为视障人士提供了辅助功能,但即使您使用LaTeX创作,也可以将MathML显示为MathML。
至于Elazar关于“默认情况下将在所有MathJax实现中使用哪种显示模式”的问题,在设置页面时严格取决于您。完成<script>
标签,如MathJax documentation中所述。
那么,如果你真的仔细看编码,你会发现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的很好的例子,它以一种非常漂亮和流畅的方式。
- 1. 是否可以用MathJax将TeX/MathML内的HTML放入jqMath中?
- 2. 在MathML和MathJax中使用OpenMath注释
- 3. 使用MathJax和JQuery插入MathML
- 4. MathML DTD语法的解释
- 5. XMPP语法不赞成在swift 3.0
- 6. 使用不赞成的方法
- 7. iOS的Swift语法Mathjax
- 8. 我想在我的博客中使用'LaTeX'语法(MathJax)
- 9. MathJax不呈现所有tex表达式
- 10. MathJax节点为内联TeX生成SVG输出
- 11. 在MS单词中插入MathMl,Tex或LaTex公式.docs?
- 12. clEnqueTask在openCL 2.0中不赞成使用
- 13. 任何不使用字典的理由
- 14. 任何Xampp赞成Ruby On Rails?
- 15. TeX 1.8 - 无效语法
- 16. 如何在MathML中使用lambda
- 17. 在C#中使用字节/短等的任何理由?
- 18. 如何获得与MathJax中渲染的数学相关的Tex标记?
- 19. ASCII成MathML
- 20. 在Mac OS X和TeX Live的matplotlib中使用TeX
- 21. 是否有任何理由在方法的第二行中使用'return'?
- 22. “的setText:不赞成使用”警告
- 23. 试图了解语法上我们如何引用多数民众赞成由ActiveRecord的
- 24. 温斯顿朱莉娅 - 警告:不赞成的语法
- 25. 如何在CocosBuilder中使用由TexturePacker生成的纹理?
- 26. 不赞成使用的PHP函数的替代方法:eregi_replace
- 27. 有在asp.net mvc的使用ViewData的任何正当理由
- 28. 任何不使用USE_ETAGS与Django中的CommonMiddleware的理由?
- 29. 如何在表单中使用MathJax?
- 30. 是否有任何理由使用System.Uri?
MathJax的默认显示模式是HTML-CSS。 – CogitoErgoCogitoSum