在网上编写数学方程的最佳方法是什么?

时间:2009-04-28 08:56:36

标签: math mathjax mathml jqmath

我正在研究与数学相关的网页,我正在寻找一种将数学方程式轻松编写到网页上的解决方案。目前我可以使用几种解决方案:

  • 使用LaTeX并将其作为图像发布在我的网页上。
  • 使用MathML

这两种解决方案都不理想,看起来有点过时了。用图像替换文本应该是一个好主意并且MathML不符合所有浏览器/操作系统。

我希望有一个现代的解决方案来使用图像或MathML,也许利用sIFR显示数学方程式?经过一番研究后,我仍然没有找到任何真正的解决方案。

请注意我要求一种新的方法发布方法。我不希望图像成为网页上显示的输出,而是希望将这些等式呈现为文本数据。 MathML是我最接近的,但它仍然不理想。我想知道是否可以利用像sIFR这样的替换工具在Flash中创建方程式。任何人都有这方面的建议吗?

编辑:自从我上次更新这篇文章以来已经有一段时间了,但随着HTML5被浏览器采用,游戏中有一个新玩家将LaTeX和MathML重新引入混合,{{ 3}}。 MathJax肯定是要走的路!

类似问题: MathJax!

12 个答案:

答案 0 :(得分:17)

jsMath 包是一个使用LaTeX标记和本机字体的选项。从他们的网页引用http://www.math.union.edu/~dpvc/jsMath/

  

jsMath包提供了一种方法   在HTML页面中包含数学   适用于多个浏览器   在Windows,Macintosh OS X,Linux下   和其他口味的unix。它   克服了一些缺点   传统的使用方法   代表数学的图像:   jsMath使用原生字体,所以他们   更改大小时调整大小   浏览器中的文字,它们打印在   打印机的全分辨率,   而且你不必等待几十个   要下载的图像   在网页上看到数学。   网页也有优势   作者,因为没有必要   预处理您的网页以生成   任何图像,数学都是   以TeX形式输入,因此很容易   创建和维护您的网页。

例如,请参阅this pagethat one

答案 1 :(得分:9)

我刚刚编写了一个javascript模块,名为jqmath。见http://mathscribe.com/author/jqmath.html

它类似于MathJax,但更简单,更小,更快。

答案 2 :(得分:4)

我一直在我网站上使用带有合并单元格的无边框表来显示数学方程式。它适用于大多数方程式。但是,由于标记通常有点复杂,因此在核心数学网站的情况下会很费时。

以下是代码:

<style type="text/css">
  table.math{font:17px georgia, times, serif;border-collapse:collapse;border:none;}
  td.a{text-align:center;}
  td.b{padding:0 2px;}
  td.c{border-top:1px solid #505050;border-left:1px solid #505050;border-bottom:1px solid #505050;}
  td.d{border-top:1px solid #505050;border-right:1px solid #505050;border-bottom:1px solid #505050;}
  td.e{text-align:center;border-top:1px solid #505050;}
</style>
<table class="math">
  <tr>
    <td class="a">1</td>
    <td class="b" rowspan="2">&times;</td>
    <td class="c" rowspan="2">&nbsp;</td>
    <td class="a">8</td>
    <td class="b" rowspan="2">+</td>
    <td class="a">1</td>
    <td class="d" rowspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td class="e">x + 2</td>
    <td class="e">x + 2</td>
    <td class="e">x &minus; 1</td>
  </tr>
</table>

以下是上述代码的输出:

enter image description here

答案 3 :(得分:3)

LaTeX已广泛用于网络和学术界,以提供方程式。

这方面的一个很好的例子是维基百科在这个页面上有一个例子。

http://en.wikipedia.org/wiki/Latitude

我知道这是一个传统但是:使用图像是一种以浏览器兼容的方式在网络上实现许多功能的可行方法 - 前提是您提供了一些缺点。 (例如谷歌地图,圆角,图表,高级版式)

同样'过时'可以解释为'经过试验,测试和功能完整'

并感谢指出sIFR - 我稍后会看到的东西,我已经有了一些要探索的东西,例如打印? (html +图像可以做得很好,可以sIFR吗?....)

答案 4 :(得分:1)

我一直在使用Confluence wiki的LaTeX插件在网络上编写公式(好吧,在内联网上)。它在Web浏览器中显示图像,但如果您编辑页面,仍然可以看到LaTeX源。

我不知道您使用什么来托管网站,但您可以使用类似的方法:将LaTeX源嵌入页面,并将其渲染为Web浏览器的图像。

答案 5 :(得分:1)

MathTran是我遇到过的最好的解决方案:

http://www.mathtran.org/

答案 6 :(得分:1)

我同时感谢MathBin.netRoger's Online Equation Editor。后者可让您控制输出的质量。

答案 7 :(得分:1)

试试我的LaTeX2Flash解决方案! :)

http://validi.fi/latex2flash

http://sourceforge.net/projects/latex2flash/

答案 8 :(得分:0)

您可以直接在HTML页面中编写乳胶,并使用此library动态显示它:

http://www.codecogs.com/components/equationeditor/equationeditor.php

答案 9 :(得分:0)

解决方案是使用http://www.codecogs.com/components/equationeditor/equationeditor.php

该网站允许您以LaTeX格式键入您的等式并使用其TeX Server,它将等式转换为图像,您将能够在那里显示您的数学等式。

让我给你举个例子,假设我想打印一个集成公式我只需输入:

img style =“display:block; float:none; margin-left:auto; margin-right:auto”title =“   \ int_ {A} ^ {B}(X + 2)DX “src =”http://latex.codecogs.com/gif.latex?\int_{a}^{b}(x+2)dx“

请参阅上面代码的第3部分,在src =“http://latex.codecogs.com/gif.latex?[put您的TeX代码中的问号”之后插入LaTex数学公式“

答案 10 :(得分:0)

这取决于您的主要目的和受众。

MathML(MathML2)听起来很有希望,但它在浏览器和MathML方程编辑器(或生成器)之间仍存在很多兼容性问题。许多复杂的方程式不会在不同的浏览器中保持或显示相同。许多数学编辑,转换器,生成器都表示他们支持MathML。但结果并不相同,尽管输出可能看起来相似。在MathML 2中定义许多复杂的方程式并不容易/不可能。 如果你只是有一些简单的方程式,如果你可以让你的观众使用某些浏览器,那么这可能是一个选项。 如果MathML3得到广泛支持,那么MathML可能就是您的选择。

如果您的数学表达式不是交互式的而且不必动态生成)而且页面上是静态的,那么PNG或JPG图像可能是一个不错的选择。在大多数情况下,图像的大小并不是那么大,并且在页面中显示数十个方程式非常快,因为我们大多数人现在都拥有高速互联网。 PNG图像与任何基于脚本的渲染方法之间差别不大,因为基于脚本的方程式通常为几KB,并且在下载所有脚本后从本地计算机渲染图像需要时间。 此外,有许多应用程序支持重新编辑基于PNG或JPG的方程图像。 MathMagic(www.mathmagic.com)支持可重新编辑的PNG(透明PNG),GIF,JPG,BMP。 MathType(www.dessci.com)支持可重新编辑的GIF。 MathMagic还读取MathType图像。

如果屏幕和高质量输出(如打印)都需要基于矢量的图像格式,则可能需要使用SVG。此外,在某些情况下,PDF可以是一种选择。 许多Mac方程式编辑器支持PDF格式,因为它是一种(几乎是原生的)Mac OS X格式。但只有少数支持Windows上的PDF。 它看起来最新的MathType Mac版本支持PDF。 MathMagic在Mac和Win上都支持PDF。它看起来MathMagic也支持SVG。

如果方程是由一些有限的作家创建的,那么有许多选项可以组合以获得最佳结果。比如使用最新的MS Word内置的基于MathML / XML的公式编辑器,然后将页面转换为网页。或者使用一些第三方WYSIWYG方程编辑器(例如MathType或MathMagic)进行快速编写和编辑,然后将方程式保存为MathML,LaTeX或Wiki兼容的方程格式,并使用在线方程渲染引擎(如codecogs.com)或MathJax。

如果内容也应该用于其他格式,例如eBook / ePub,还应该考虑其他因素,包括方程的质量和与InDesign等解决方案的集成。

如果有任何不正确的地方,请纠正我。

答案 11 :(得分:0)

iTex2Img是我用过的最好的一个。这是一个带有示例的屏幕截图。

enter image description here