在网页中embeddedLaTeX的最佳方式是什么?

我不问有关将LaTeX文档转换为HTML。

我希望能够做的是有一些方法来在HTML文档中使用LaTeXmath命令,并使其正确显示在浏览器中。 这可以完成服务器或客户端。

MediaWiki可以做你正在寻找的东西。 它使用Texvc( http://en.wikipedia.org/wiki/Texvc )“validation(AMS)LaTeXmathexpression式并将它们转换为HTML,MathML或PNGgraphics。” 听起来就像你在找什么。

查看维基百科有关他们如何处理math方程式的文章: http : //en.wikipedia.org/wiki/Help : Formula 。 他们也对LaTeX和不同渲染types(PNG / MathML / HTML)的优缺点有广泛的参考。

MediaWiki使用TeX标记的子集,包括来自LaTeX和AMS-LaTeX的一些扩展,用于math公式。 它根据用户的喜好和expression的复杂性生成PNG图像或简单的HTML标记。 未来,随着更多的浏览器变得更加智能化,在许多情况下,它将能够生成增强的HTML甚至MathML。 (有关添加MathML支持的当前工作的信息,请参阅blahtex。)

更确切地说,MediaWiki通过Texvc过滤标记,Texvc依次将命令传递给TeX进行实际渲染。 因此,仅支持全部TeX语言的有限部分; 详情见下文。 …

HTML的优点

  • 在线HTML公式总是与其他HTML文本正确alignment。
  • 公式的背景,字体大小和面部匹配HTML内容的其余部分,外观尊重CSS和浏览器设置。
  • 使用HTML的页面加载速度会更快。

TeX的优点

  • TeX在语义上优于HTML。 在TeX中,“x”的意思是“mathvariablesx”,而在HTML中“x”可能意味着什么。 信息已经不可挽回地丢失了。 这有多个好处:
    1. TeX可以转换成HTML,但反之亦然。 这意味着,在服务器端,我们总是可以根据文本的复杂性和位置,用户偏好,浏览器types等来转换公式,因此,如果可能的话,HTML的所有好处都可以保留, TeX的好处。 目前情况确实不理想,但这不是放弃信息/内容的理由。 这是帮助改善情况的一个理由。
    2. TeX可以被转换为支持它的浏览器的MathML,从而保持其语义,并允许它被渲染为一个vector。
  • TeX专门用于排版配方,所以input更容易,更自然,输出更美观。
  • 在TeX中编写时,编辑者不必担心浏览器的支持,因为它被服务器渲染成图像。 另一方面,HTML公式可能最终会被编辑器的意图(或根本不),一些浏览器或浏览器的旧版本所不一致。

我更喜欢MathJaxselect渲染图像的解决scheme(这会导致混叠问题)。

MathJax是一个用于math的开源Javascript渲染引擎。 它使用CSS和Webfonts而不是图像或Flash,并可以渲染LaTeX或MathML。 这样你就不会遇到缩放问题,甚至可以兼容屏幕阅读器。

我曾经开发过一个jQuery插件,实际上是这样的: jsLaTeX

以下是如何使用它的最简单的例子:

$(".latex").latex(); <div class="latex"> \int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi </div> 

以上将在您的页面上生成以下LaTeX公式:

公式http://img16.imageshack.us/img16/5462/gifwm.gif

该插件的演示页面包含更多的代码示例和演示。

如果你想把math作为图像embedded,你可以看看MathTran 。

如果您希望将math主要作为文本插入到页面中(仅在必要时使用图片), 那么jsMath可能就是您要查找的内容。

从历史上看,渲染LaTeX和提取图像是跨平台,跨浏览器的math内容的最佳select。 MathML越来越成为一个合理的select。 这里有一个在线转换器,它将从Tex标记中发出MathML,然后embedded到您的网页中。 我知道Firefox和Camino等基于Gecko的浏览器和MathML一样好,Opera也是。 IE不能使用,但有插件可用(像这样 )。

Texvc是一个伟大的发现! 如果您主要对上标/下标/斜体/常用符号感兴趣,则纯粹的HTML输出应该可以正常工作,但对于更复杂的事情,请注意最stream行的以math为导向的网站(例如Wolfram )会生成图像,如果您对跨浏览器兼容性感兴趣,可能只有这么多: –

我在这里阅读所有的答案,我很惊讶没有人提到从PDF转换为HTML。 如果您使用pdf2htmlEX ,它将从PDF创build完美的网页 。 你只需要将你的latex编译成pdf(pdflatex)。

默认情况下,它会生成一个单一的HTML文件,PDF文件的内容由CSS,javascript和html构成。 我尝试了很多工具将胶乳转换为html,这是迄今为止我发现最好,最简单的解决scheme

你可以试试LaTexRenderer 。 我不知道这是否是最好的,但它确实有效。

如果这符合你的要求,我肯定会鼓励你看看MathML,但是与JsTeX的一些小工作可以为你提供所需的一切。

你可以使用tex2gif 。 它需要一个LaTeX代码片段,运行LaTeX并生成一个PNG(或GIF)。 易于embedded,易于脚本。 这个对我有用。

你也可以检查tex2png 。