在 MathJax 中是否有理由支持 MathML 语法而不是 TeX?

2023-12-25

MathJax http://www.mathjax.org,用于渲染数学的开源 JavaScript 库,支持多种语法,包括 MathML 和 LaTeX。与 TeX 语法相比,是否有任何理由支持在页内方程中使用 MathML 语法?在我看来,MathML 更加冗长。


好吧,如果你仔细观察编码,你会发现 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 将 Latex 即时转换为 GIF。 (它们都有一个

事实是,你只有两个选择(嗯,从技术上讲是四个)。您有 MathML 或 GIF 图像作为主要的两个。所有这些脚本和托管站点的作用是促进从 LaTeX 到 GIF 或 MathML(或不太理想的 SVG 或 HTML-CSS)的转换。直接的 LaTeX 文本与 MathML 源代码一样难以阅读 - 您必须有某种渲染过程。

编写自己的 MathML 的一大优势是您可以完全控制基于 XML 的语言的语法和结构(如果您将其提供给其他数学程序和站点)。但其他优点是:您不需要 javascript,因此您的访问者不必启用 javascript。

巧合的是,ASCIIMath 是一个简单的 javascript 以非常漂亮和简化的方式将 LaTeX 转换为 Unicode 和 HTML-CSS 的好例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MathJax 中是否有理由支持 MathML 语法而不是 TeX? 的相关文章

  • Chart.js - 如何将数组集合推入数据集

    我一直在尝试多种方法将数组集合推送到数据集中 任何人都可以帮助我根据下面的代码将数组推入堆积图表中 这是例子 Codepen 堆叠栏 https codepen io narendrajadhav pen abzpWam JavaScrip
  • 获取 pdf 第 1 页(共 2 页)的图像

    我正在使用 html2canvas 和 jsPDF 以及 Angular4 创建图像 我想将此图像放置在 2 页生成的 pdf 的第 1 页上 但似乎这条线 doc save test pdf 需要在函数内部htm2canvas 因为如果我
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 使用 Javascript 对象模型在 SharePoint 任务上设置“分配给”

    我想创建一个共享点任务并将其分配给我自己 当前用户 在 javascript 对象模型中 我有下面的代码 但我认为我需要设置 spusercollection 对象 而不是设置特定用户 但是 我似乎无法在任何地方找到如何执行此操作的任何示例
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 如何使用javascript从特定标签获取HTML文档中的所有textNode?

    如何在不使用xpath或treewalker的情况下从单个数组中的一组特定标签中获取所有textNodes blockquote em h4 h6 p IE不允许您使用xpath和treewalker 请帮助我 如果脚本仅适用于 IE 那就
  • 如何将输入字段值作为 URL 查询字符串传递,单击提交按钮将打开该字符串?

    我必须输入这样的字段
  • 调用不带括号的 javascript 函数

    以下 renderChat 函数用于将消息和图像渲染到聊天板上 该函数内部还有另一个函数 var onComplete function 它完成创建列表元素并将其附加到聊天列表的所有工作 onComplete函数之后就只有这三行代码 img
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • JavaScript 按名称获取当前作用域中的变量

    所以我有一个变量和该变量名称的字符串 function Factory string var foo bar console log foo is equal to this string 如果变量所在的对象是当前对象 如何从字符串文字中获
  • 限制线的长度

    我正在尝试画一条代表 弹弓 的线 并且希望它具有最大拉伸长度 在 p5 中 我在位置和位置之间画了一条线 line posA x posA y posB x posB y posA 是鼠标 x 和 y posB 是画布上圆的位置 我想要做的
  • 自动更改 Twitter Bootstrap 选项卡

    我希望 Twitter Bootstrap 选项卡按时间顺序更改 我使用它们有点像旋转木马 我希望选项卡每 10 秒切换到下一个选项卡 这是一个例子 http library buffalo edu http library buffalo
  • 隔离必需的字段验证器?

    我在页面上有两个搜索按钮 一个链接到下拉列表 另一个链接到带有文本框的下拉列表以获取更多搜索条件 我在所有上述控件上都需要现场验证器 当我从第一个下拉列表中选择某些内容并单击相应的搜索按钮时 文本框的字段验证器会触发 从而禁用第一个搜索按钮
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设
  • 使用 BASH 和 AWK 创建 HTML 表

    我在创建 html 表来显示文本文件中的统计信息时遇到问题 我确信有 100 种方法可以做得更好 但这里是 以下脚本中的注释显示了输出 bin bash function getapistats curl s http api exampl
  • Chrome 中的 addEventListener

    我正在关注 Lynda com 上有关新 DOM 事件模型的教程 这是我正在使用的代码 function addEventHandler oNode sEvt fFunc bCapture if typeof window event un
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I

随机推荐