【问题标题】:What's the best way to write Mathematical Equations on the Web?在 Web 上编写数学方程的最佳方法是什么?
【发布时间】:2010-10-22 06:22:27
【问题描述】:

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

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

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

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

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

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

类似问题: Math equations on the web

【问题讨论】:

  • 与这个 StackOverflow 问题相同:stackoverflow.com/questions/775168/math-equations-on-the-web
  • 标题相同,但我要求的是不涉及图像的具体解决方案。这些解决方案已经过时了,这个问题是关于找到一种在文本形式中插入方程式的新方法,该方法可能使用 CSS 或 Flash 设置样式,而不是使用图像。
  • 在相关说明中,有谁知道堆栈溢出中是否存在这些选项?
  • 从去年初开始,SE 现在使用 MathJax。 mathjax.org/2011/04/12/news/…
  • 是的,math.se 使用各种数学渲染库已经有一段时间了,原因...

标签: math mathjax mathml jqmath


【解决方案1】:

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

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

参见例如this pagethat one

【讨论】:

  • 这与我正在寻找的非常接近,我很高兴看到至少有一些关于这些主题的研究。
【解决方案2】:

我刚刚编写了一个名为 jqmath 的 javascript 模块来执行此操作。见http://mathscribe.com/author/jqmath.html

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

【讨论】:

  • 这看起来不错,希望在接下来的几周内,我会给它一个适当的试驾,看看它的表现如何。
  • 您好!您的 jqmath 可以与 ASCIIMath 一起使用吗?我正在努力实现两个目标,我已经通过 MathJax 实现了这两个目标。 (但我想要一个更快的网页。) 1. 能够输入“math here”。 2. 能够在文本区域中输入数学并实时查看结果形式。 (获取 JavaScript 来更新显示结果的 div 的内容。)用 jqmath 很容易做到这一点吗? MathJax 的解决方案是使用他们的 ASCIIMathML.js 实现来做第 1 点,并使用原始的 ASCIIMathML.js 来做第 2 点。
  • @50ndr33 jqMath 使用 Unicode,而不是 ASCIIMath ASCII 表示法。请参阅stackoverflow.com/questions/8517334/… 了解您的第 2 点。
  • mathscribe.com 已关闭。
【解决方案3】:

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

代码如下:

<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>

这是上面代码的输出:

【讨论】:

    【解决方案4】:

    LaTeX 已在网络和学术界广泛用于渲染方程式。

    维基百科就是一个很好的例子,请查看此页面以获取 1 个示例。

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

    我知道这是一个概括,但是:使用图像是一种可行的方式,可以在浏览器兼容的方式中实现网络上的许多事情 - 只要您准备好一些缺点。 (例如 Google 地图、圆角、图表、高级排版)

    “过时”也可以解释为“经过尝试、测试和功能完整”

    感谢您指出 sIFR - 我稍后会看的东西,我已经有了一个要探索的东西列表,比如打印? (html + images 可以很好地做到这一点,sIFR 可以吗?....)

    【讨论】:

    • 我对它们的问题是它们不像文本数据那样容易抓取,输出与网页上的文本完全不同,而且它们不可访问。在学术界,有一些插件可以让浏览器像文本一样渲染方程式,所以我想知道是否可以使用我们目前已经拥有的(Flash、JavaScript 等)来做到这一点。如果尚未找到解决方案,这可能是一个有趣的问题。 sIFR 是一个很好的替代工具,文字总是看起来不错,但它仍然不是真正的替代品。
    • 如何查询方程?您最好在页面上包含足够的可搜索/可抓取的文本信息。并确保你的方程对人类来说是可呈现的。这些学术插件是否对您不可用 - 您肯定会更好地遵守其中一个作为标准吗?
    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

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

      http://www.mathtran.org/

      【讨论】:

        【解决方案7】:

        我喜欢MathBin.netRoger's Online Equation Editor。后者可让您控制输出的质量。

        【讨论】:

          【解决方案8】:

          【讨论】:

          • 看起来是个好主意!它是像 sIFR 一样通过替换文本来使用,还是需要使用 Flash 来构建?
          • 有Flash IDE(Windows)的插件面板,也可以使用AS3。
          【解决方案9】:

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

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

          【讨论】:

            【解决方案10】:

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

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

            让我给你看一个例子,假设我想打印一个我只需输入的积分公式:

            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"

            参考上面第三段代码,在src=”http://latex.codecogs.com/gif.latex?[put your TeX Code here]”中问号后面插入LaTex数学方程”

            【讨论】:

              【解决方案11】:

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

              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 的公式编辑器,然后将页面转换为网页。或者使用一些第 3 方所见即所得方程编辑器(如 MathType 或 MathMagic)进行快速编写和编辑,然后将方程保存为符合 MathML、LaTeX 或 Wiki 的方程格式,并与 codecogs.com 等在线方程渲染引擎一起使用或 MathJax。

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

              如有不妥请指正。

              【讨论】:

                【解决方案12】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-11-04
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-03-11
                  • 1970-01-01
                  相关资源
                  最近更新 更多