我更喜欢使用MathJax,而不是选择呈现图像的解决方案(这会导致锯齿问题)。
MathJax是一种用于数学的开源JavaScript渲染引擎。 它使用CSS和Webfonts而不是图像或Flash,并且可以呈现LaTeX或MathML。 这样,您就不会遇到缩放问题,甚至还与屏幕阅读器兼容。
MediaWiki可以满足你的需求,它使用Texvc (http://en.wikipedia.org/wiki/Texvc)来“验证(AMS)LaTeX数学表达式并将其转换为HTML、MathML或PNG图形。”听起来就像是你在寻找的。
看看维基百科关于如何处理数学方程的文章:http://en.wikipedia.org/wiki/Help:Formula。他们还对LaTeX进行了广泛的参考,并列出了不同渲染类型(PNG/MathML/HTML)的优缺点。
这样做有多个好处:MediaWiki使用TeX标记的子集,包括从LaTeX和AMS-LaTeX中引入的一些扩展,用于表示数学公式。它根据用户的偏好和表达式的复杂性生成PNG图像或简单的HTML标记。未来,随着更多浏览器变得更加智能,它将能够在许多情况下生成增强的HTML甚至是MathML。(有关添加MathML支持的当前工作信息,请参见blahtex。)
更精确地说,MediaWiki通过Texvc过滤标记,Texvc将命令传递给TeX进行实际渲染。因此,只支持完整TeX语言的有限部分;详见下文。...
HTML的优点
- 内联HTML公式始终与其他HTML文本对齐。
- 公式的背景、字体大小和字体与HTML内容相匹配,外观符合CSS和浏览器设置。
- 使用HTML的页面将加载更快。
TeX的优点
- TeX在语义上优于HTML。在TeX中,“x”表示“数学变量x”,而在HTML中,“x”可能表示任何东西。信息已经不可挽回地丢失了。
只有一个(非常好的)回答提到了 KaTeX,它是我经验中最有效的解决方案,加载速度快,易于实现。
您需要在<head>
中添加一个<link>
标签(用于样式表),以及两个<script>
标签。然后在<body>
中使用\( \)
作为内联数学公式的定界符,\[ \]
作为显示数学公式的定界符。
这是一个带有实现的最小html5文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Katex</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
</head>
<body>
<p>Math can be inline like \(2^{2x}=4\), or displayed like:</p>
\[2^{3x}=8\]
</body>
</html>
katex.renderToString
来渲染脚本中的数学公式是非常宝贵的。 - undefined我开始自己研究这个问题,似乎事情已经有所发展。我找到了this比较演示KaTeX和MathJax。
简而言之(截至本文写作时):
但也许最决定性的是,我发现页面的总MathJax处理平均为1674毫秒,而KaTeX平均为128毫秒,这是一个数量级的改进!
当浏览他们各自的网站时,需要考虑一些其他比较要点:
我阅读了所有的答案,惊讶的是没有人提到从PDF转换为HTML。
如果您使用pdf2htmlEX,它将会从PDF中创建完美的网页。您只需将latex编译为pdf(pdflatex)即可。
默认情况下,它生成一个单独的html文件,其中包含由CSS、javascript和html构成的PDF内容。我尝试了很多工具来将latex转换为html,这绝对是我发现的最好且最容易的解决方案。