【问题标题】:How to use MathJax library on Google App Engine如何在 Google App Engine 上使用 MathJax 库
【发布时间】:2011-06-05 04:19:53
【问题描述】:

我正在尝试将 Tex 支持添加到我的应用程序中,我想使用 MathJax 在客户端呈现数学公式,因为我放弃了 服务器端解决方案解释here.
MathJax 库非常庞大(30.000 个文件),由于files number limitation,它无法轻松安装在 App Engine 上。

我没有使用 MathJax 库的经验,因此我对其他策略持开放态度,例如:

  • 可用的 MathJax CDN
  • 减少一些目录/文件以减少包的文件数量。

您知道在 Google App Engine 上使用 Mathjax 的任何方法吗?

【问题讨论】:

  • 现在下载 mathjax 看看他们为什么使用 30,000 个文件!我认为这与字体/字形有关?
  • 哇。是的,每个符号/字母/数字等似乎都有单独的png…每种字体。这些可能仅在浏览器无法处理涉及实际字体的“更好”解决方案时用作备份。您可以尝试删除“fonts\HTML-CSS\TeX\png\”文件夹,看看这些东西在大多数浏览器中是否仍然有效......
  • @Peter 感谢您抽出宝贵时间,我尝试了您的解决方案,它确实适合 Gae。

标签: python google-app-engine tex mathjax


【解决方案1】:

如果删除 png 文件,请务必在配置中将 imageFont 值设置为 null,这样 MathJax 就不会尝试使用图像字体。 Peter 是正确的,它们适用于不处理 @font-face CSS 指令的浏览器(这包括 iPhone/iTouch/iPad,尽管 iOS4.2 现在可以正确处理它,MathJax 应该很快会处理它),但也被使用对于 Firefox,当从本地文件(file:// URL)加载 MathJax 时,该文件不在同一目录或包含加载它的 HTML 文件的子目录中。如果您不属于上述任何一种情况,则删除图像字体是安全的。

【讨论】:

  • 我删除了图像字体目录并将 imageFont 设置为 null。在 Firefox 3.6.13+OSX 10.5.8 上,当它必须下载 webfonts 时,它似乎要等待一些超时,Chrome 9.0 也在做同样的事情,Safari 还不错。在 Windows XP 上尝试了 FF 3.6,它运行顺利。演示here
  • 您可以参考 www.mathjax.org 上的 MathJax 副本,而不是自己加载。我们还在为 MathJax 设置 CDN,但还没有完全准备好。
  • FF 3.6.13 引入了更严格的字体分析器,MathJax 的原始 OTF 字体没有通过其检查。我看到您使用的是 v1.0.1;您是否已将字体更新为适用于 FF 3.6.13 的新字体集?有关详细信息,请参阅mathjax.org/download。我检查了 FF 3.6.8,它运行良好,所以我怀疑您没有将字体更新为适用于 FF 3.6.13 的新 OTF 字体。
  • 看起来您没有在 fonts/HTML-CSS/TeX 目录中加载 SVG 字体。如果只移动 OTF,那是不够的。您还需要 SVG 和 EOT 目录。唯一可以消除的是 PNG 目录。 Chrome 使用 SVG 字体,因此如果缺少它们,这将导致 Chrome 运行缓慢,因为它会在继续之前等待字体超时。
  • 感谢您的帮助,我选择了更适合 Google App Engine 的 connectmv.com 解决方案。
【解决方案2】:

您可以使用http://mathjax.connectmv.com:我们不是 CDN,但我们免费公开托管最新的 MathJax 文件。

我们将过期标头设置为 2 周和 Access-Control-Allow-Origin: * 以允许跨站点访问。

【讨论】:

  • 到目前为止,一切都很好。演示使用 connectmv.com here
【解决方案3】:

自 2011 年 3 月起 MathJAX has its own CDN,因此您现在无需将任何文件上传到 GAE 即可使用它。只要确保这是在任何页面的标题中:

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?...">
</script>

【讨论】:

  • 对我来说,它需要在 URL 后加上 ?config=TeX-AMS-MML_HTMLorMML,正如 MathJax Getting Started 部分中所建议的那样。
  • @BobStein-VisiBone:感谢您的修改。我已经添加了查询字符串。
  • 不客气,@MatthewLeingang。根据您的喜好重新格式化?如果没有,请恢复。
  • 这很有帮助。太糟糕了,这不适用于 https。
  • 未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。
猜你喜欢
  • 1970-01-01
  • 2021-01-07
  • 1970-01-01
  • 2017-02-18
  • 2012-03-25
  • 1970-01-01
  • 2012-04-03
  • 2012-09-11
  • 1970-01-01
相关资源
最近更新 更多