MathJax 的文本模式宏

MathJax 的文本模式宏

我发现这里MathJax 仅支持数学模式宏(例如\sqrt{}),而不支持文本模式宏(例如\begin{align})。我目前正在构建一个小型 wiki,用于托管数学文章,因此希望这两种宏都是可取的。上面链接的页面推荐使用 TeX 到 HTML 转换器,但(除非我理解错误)这些似乎都是备择方案到 MathJax。

有什么好的解决方案可以结合 LaTeX 中的标准文本模式对齐环境来获得有吸引力的数学符号渲染(如 MathJax 中)?

答案1

MathJax处理\begin{align}...\end{align}作为其 AMSmath 扩展的一部分,因为这是一个数学环境。它不执行文本模式宏或环境(如\begin{enumerate}...\end{enumerate})。您可以查看完整的列表支持的宏和环境这可以帮助您确定可以使用哪些。

就您所在网站上建议的“其他选项”而言,其中一些(例如tex4ht)具有 MathJax 输出模式,因此数学运算将由 MathJax 处理,而文本将由预处理器处理,因此这些不一定备择方案MathJax,但可以与其一起工作。

Andrew 建议保存 MathJax 的输出并以静态方式提供,但这不是一个好主意。MathJax 的输出取决于所使用的浏览器,以及与读者浏览器相关的许多因素(系统上可用的字体、默认字体大小等),因此为一个读者生成的 HTML 可能与为另一个读者生成的 HTML 不同。因此,按照他的建议做意味着并非所有读者都能很好地了解您的数学。您还需要保存 MathJax 动态创建的 CSS,这也依赖于浏览器。结果是,缓存 MathJax 的输出通常效果不佳。最好按照文档中概述的方式使用 MathJax。

答案2

MathJaX 可以配置为将 MathML 转换为浏览器可读的内容。如果用户/浏览器喜欢 MathML,则它会将其传递,如果用户/浏览器更喜欢 HTML+CSS,则 MathJaX 会对其进行转换。因此,您可以使用 TeXish-to-MathML 转换器,然后在其上安装 MathJaX,从而获得“数学符号的吸引人的呈现(如 MathJax 中一样)”。

这样做有一定的优势,主要的优势是对于那些足够开明、喜欢 MathML 的人来说,MathJaX 什么都不做,这意味着页面渲染速度超快(与 MathJaX 从 TeX 类语法转换所需的时间相比)。因此,“MathJaX 或转换器”不一定是互斥的或。

此外,您认为 MathJaX 的“吸引人的渲染”实际上是浏览器的功劳。MathJaX 的作用是以浏览器可以理解的方式呈现材料,当然,它这样做是为了“吸引人地渲染”。但由于它浏览器进行渲染,如果您显示具有相同信息的静态页面,那么它将同样具有吸引力地呈现(并且开销更少,加载时间更快)。

对于具有良好数学支持的维基,我可以诚挚地推荐因斯蒂基. 这是实验室还有很多这些页面上的数学知识!数学转换由一个名为文本标记语言。具体来说,对于您的问题,它支持环境,aligned因此相当于(在 AMSMath 中也非常好)。\begin{align} ... \end{align}$$\begin{aligned} ... \end{aligned}$$

此外,我是一个 TeX 爱好者,觉得编写 wiki 页面有点困难,尤其是当他们讨论 TeX 中的页面时。所以我编写了一个 LaTeX 类,它尽力将真正的 LaTeX 转换为正确的语法,以便输入到 Instiki、wordpress、blosxom 等……无论你说出什么,它都可以适应。例如,文章这个 nlab 页面是转换 LaTeX 文档的结果(由其他人编写,在考虑将其包含在 nLab 之前编写)。我在我们的TeX-SX 博客实际上是转换为适合 Wordpress 格式的 LaTeX 文档。由于它实际上是一个 LaTeX 类,因此它可以处理用户定义的宏和其他内容,而这些内容对于非基于 TeX 的转换器来说很难处理。

答案3

目前尚无针对 HTML 页面中基于文本的 TeX 或 LaTeX 宏渲染的解决方案,并且 MathJax 仅针对 TeX 的一个子集(它仅模拟数学引擎)。

我建议使用好的 CSS 进行模拟。请记住,HTML 5 将允许未知标签,浏览器会将其呈现为标签。例如,您可以有一个标签,然后可以使用适当的 CSS 对其进行修饰。我发现这对于我正在处理的类似内容来说是最简单的。

<style type="text/css">
...
section{font-size:1em;
        font-weight:bold;}
</style>
<body>
...
<section>A section</section>
  ... text
  ... maths

答案4

可以使用 TeX 符号进行设置$$...$$。以下是示例: http://latex.userpage.fu-berlin.de/math.html

相关内容