代码之家  ›  专栏  ›  技术社区  ›  Mike B

在网上写数学方程式的最好方法是什么?

  •  43
  • Mike B  · 技术社区  · 15 年前

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

    • 使用乳胶并将它们作为图像发布到我的网页上。
    • 使用MaLTML

    这两种解决方案都不理想,似乎有些过时。用图像替换应该是文本的内容从来都不是一个好主意,而且MathML不符合所有浏览器/操作系统。

    我希望有一个使用图像或数学语言的现代解决方案,也许是利用sifr来显示数学方程的东西?经过一番研究,我仍然没有找到任何真正的解决办法。

    请注意,我正在寻求一种新的公式发布方式。我不希望图像是显示在网页上的输出,而是希望将这些公式呈现为 文本的 数据。Mathml是我最近来的,但它仍然不理想。有一段时间我一直在想,是否可以使用像sifr这样的替代工具在flash中创建方程。有人在这方面有什么建议吗?

    编辑: 我上次更新这篇文章已经有一段时间了,但是随着HTML5被浏览器采用,游戏中出现了一个新的玩家,它将LaTex和MathML重新引入到混合中, MathJax! . Mathjax绝对是一条必经之路!

    类似问题: Math equations on the web

    12 回复  |  直到 9 年前
        1
  •  17
  •   Fanfan    15 年前

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

    JSMath包提供了一个方法 在HTML页面中包含数学 跨多个浏览器工作的 在Windows、Macintosh OS X、Linux下 以及其他风格的Unix。它 克服了许多缺点 传统的使用方法 表示数学的图像: JSMath使用本机字体,因此 当您更改 在浏览器中的文本,它们打印在 打印机的完整分辨率, 你不用等几十个 要下载的图像,以便 在网页上看数学。 网页也有优点 作者,因为没有必要 预处理网页以生成 任何图像,数学是 以tex形式输入,因此很容易 创建和维护网页。

    参见例如 this page that one .

        2
  •  9
  •   Dave Barton    13 年前

    我刚刚编写了一个名为jqmath的javascript模块来实现这一点。见 http://mathscribe.com/author/jqmath.html

    它有点像Mathjax,但是更简单、更小、更快。

        3
  •  4
  •   Irfanullah Jan    11 年前

    在我的网站上,我一直使用带有合并单元格的无边界表来显示数学公式。它对大多数方程都很有效。然而,由于标记通常有点复杂,因此在核心数学网站的情况下,它将是耗时的。

    代码如下:

    <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

        4
  •  3
  •   Mesh    15 年前

    乳胶已经广泛应用于网络和学术界,以呈现方程式。

    维基百科就是一个很好的例子,请看这一页,举一个例子。

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

    我知道这是一种概括,但是:使用图像是一种可行的方法,可以通过浏览器兼容的方式在网络上实现许多事情——前提是您提供了一些缺点。(如谷歌地图、圆角、图形、高级排版)

    “日期”也可以解释为“尝试、测试和功能完成”

    感谢您指出sifr-我稍后将要看的内容,我已经有了一个列表,可以用它来探索,比如打印?(HTML+图像可以很好地做到这一点,Sifr可以吗?……)

        5
  •  1
  •   Tim Robinson    15 年前

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

    我不知道你在用什么来托管这个网站,但是你可以使用类似的方法:在页面中嵌入乳胶源,并将其呈现为Web浏览器的图像。

        6
  •  1
  •   jvvw    15 年前

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

    http://www.mathtran.org/

        7
  •  1
  •   lhf    15 年前

    我都喜欢 MathBin.net Roger's Online Equation Editor . 后者允许您控制输出的质量。

        8
  •  1
  •   jiv-e    14 年前
        9
  •  0
  •   Gad    15 年前

    您可以直接在HTML页面中编写您的LaTex,并使用它动态显示它。 library :

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

        10
  •  0
  •   calculus1985    14 年前

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

    该网站允许您以乳胶格式键入公式,并使用其tex服务器,它将公式转换为图像,您将能够在那里显示您的数学公式。

    让我举个例子,假设我想打印一个我刚键入的积分公式:

    img style=“display:block;float:none;margin-left:auto;margin-right:auto”标题=“ \ int_a ^ b(x+2)dx “src=”http://latex.codecogs.com/gif.latex?\内景A ^ B(X+2)dx“

    参考上述代码的第3段,在src=__中的问号后插入乳胶数学方程式。 http://latex.codecogs.com/gif.latex?[put 这里是你的电话号码

        11
  •  0
  •   Sci Tech    11 年前

    这将取决于你的主要目的和听众。

    MathML(MathML2)听起来很有前途,但它在浏览器和MathML公式编辑器(或生成器)中仍然存在许多兼容性问题。许多复杂的公式在不同的浏览器中不会保持或显示相同的内容。许多数学编辑、转换器、生成器都说它们支持MathML。但结果并不相同,尽管输出可能看起来相似。在MathML2中定义许多复杂的方程是不容易或不可能的。 如果你只有一些简单的方程式,并且你可以让你的读者使用特定的浏览器,那么这可能是一个选项。 如果MathML3得到了广泛的支持,那么MathML可能就是解决问题的方法。

    如果您的数学表达式不是交互式的,不需要动态生成),而是静态的,那么PNG或JPG图像可能是一个不错的选择。在大多数情况下,图像的大小并没有那么大,在一个页面上显示数十个公式的速度相当快,因为我们大多数人现在都有高速互联网。与任何基于脚本的渲染方法相比,PNG图像没有太大的区别,因为基于脚本的公式通常只有几Kbs,而且在下载所有脚本之后,从本地计算机渲染图像需要时间。 此外,还有许多应用程序支持重新编辑基于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的公式编辑器,然后将页面转换为Web。或者使用一些第三方WYSIWYG公式编辑器(如MathType或MathMagic)快速编写和编辑,然后将公式保存为MathML、LaTex或wiki兼容的公式格式,并与在线公式呈现引擎(如codecogs.com或mathjax)一起使用。

    如果内容还应用于其他格式,如电子书/epub,则应考虑其他因素,包括方程的质量和与解的集成,如InDesign。

    如果有什么不正确的地方请纠正我。

        12
  •  0
  •   SparkAndShine    9 年前

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

    enter image description here

    推荐文章