2009-11-19 38 views
8

还有many tools for converting latex into html。我正在寻找一个Java或C++程序来做到这一点。它需要在多个操作系统上运行。该解决方案将用于学术论文,所以理想情况下,它应该能够解释像bibtex这样的东西。将胶乳转换为Java或C++中的html?

我发现htmltolatex这是一个“将HTML页面转换成LaTeX的Java程序”,但它似乎并没有在其他方向上运行。

相关问题:

更新: 只是为了澄清远一点:我想在将接受任何LaTeX的另一种语言分发包记录和生成HTML输出(主要是学术论文)。我不能指望已经在机器上安装任何其他东西(例如ghostscript,perl,latex2html,tth),并且它需要运行跨平台。换句话说,如果我可以找到具有可编译源代码的东西(或者使用Java或C++编写的代码),那么我宁愿沿着这条路线走,这样应用程序就是自包含的。或者,我只会使用latex2html或tth,并要求用户分别安装这些(尽管这并不理想)。

+0

在第一个链接中提到的latex2html有什么不好?我经常使用它,它很棒。它不适用于您的平台吗? – Davide 2009-12-06 00:01:57

+0

我希望能够分发我的程序而不存在任何依赖关系。如果这是不可能的,我可能只需要安装TtH或latex2html。 – Shane 2009-12-06 21:26:23

回答

7

Latex2html是要走的路。你说你不想要任何依赖,但是你选择的任何库都是你需要依赖的东西。Latex2html:

  • 的伟大工程,
  • 它的TeX的一部分
  • 相对来说比较小,你可以用你的应用程序捆绑可执行
  • 它是开源的(GPL),所以你也可以尝试链接它在你的程序中,并没有外部依赖(你需要释放一个GPL兼容许可证,虽然)
  • 支持bibtex开箱,
  • 理解超链接(如果你从后记转换,你会失去hyp erlinks)

我相信它可以在所有主流平台(Linux,Windows,Mac)上编译 - 但老实说我只有Linux,所以我不能肯定地说。

+0

是的,但是如果我可以使用API​​或原始源代码,那么我不需要安装任何单独的组件。我将测试Latex2html并查看它的工作情况。我以前只使用过TtH,而且效果很好。另外,我无法在任何地方找到Latex2html源代码。有任何想法吗? – Shane 2009-12-10 19:18:05

+0

好吧,如果图书馆不是很大,你用你的代码重新分配它。但你也可以使用latex2html(无论是源代码还是二进制文件)。在过去,我开发了一个称为小外部二进制文件的Java应用程序(由同事用C编写)。我们捆绑了两者的分布(当然,它并不适用于所有的Java平台,但仅适用于他提供二进制文件的那些平台)。这很容易,并且很好地满足了我们的目的。 – Davide 2009-12-10 19:18:08

+0

顺便说一句,latex2html是用Perl编写的。不需要编译它... – Gonzalo 2009-12-11 03:32:13

2

我不知道原生的Java或C++库来做到这一点。但是,如果您生成HTML,则始终可以使用JavaScript将乳胶转换为文档中的html。

jsMath这是伟大的:

http://www.math.union.edu/~dpvc/jsMath/

+0

我可能是错的,但是jsMath只解析方程吗?我需要解析整个LaTex文档,包括格式化。 – Shane 2009-12-06 21:13:55

+0

它解析Latex – Inverse 2009-12-09 21:54:27

1

你为什么不只是运行乳胶,并将转换结果输出(后记PDF?)为HTML?

+0

是否有Java或C++库将postscript或pdf转换为HTML?这需要运行跨平台,不能依赖任何依赖关系。 – Shane 2009-12-06 21:14:57

+0

Ghostscript(GNU)AFAIK是跨平台的并且可以PS - > PDF。我认为它必须直接找到PDF - > HTML。 – 2009-12-06 21:42:29

+0

Ghostscript将是一个依赖项,我不能依赖它被安装。我发现它是C++的pdftohtml(http://sourceforge.net/projects/pdftohtml/),但经过测试,它不处理复杂的文档。 – Shane 2009-12-09 13:59:51

2

在我看来,有五个相当广泛采用的工具,乳胶到HTML的转换(有are many more which are less actively used):

  • Latex2Hmtl是一组Perl脚本。
  • TtH以C编译并写入。
  • Hevea以OCaml(带有GNU库通用公共许可证)编译和编写。
  • TeX4ht被编译并用C编写(具有LPPL许可证)。
  • 另一个有趣的选择是用Python编写的plasTeX

USENIX has a nice page显示如何使用其中的一些。

到目前为止,我的最佳选择似乎是TtH,因为我可以很容易地将C源代码编译到我的C++应用程序中。

2

我使用LyX作为乳胶的前端,这使得编辑变得更加方便,并且产生了它自己的乳胶味道。好处在于,对于LyX,有一个单独的html导出,它使用LyX中提供的所有额外信息。该工具被称为eLyxer。

homepage状态:

还有为TeX的一些工具 - > HTML 转换......但结果往往 是穷人和刚性。 eLyXer的意思是 产生可接受的美丽的HTML 的代码,这取决于你的浏览器的 Unicode和CSS渲染的优点。

我不能真正比较elyxer的输出与tex2html工具,但我可以确认elyxer生成干净漂亮的html代码,可能会做你想做的。如果你愿意给LyX一个镜头:)

+0

+1谢谢。这真的很干净。我一定会检查出来的。我不能指望我的所有用户都将LyX作为前端,但是,这不是一个真正可行的解决方案。 – Shane 2009-12-11 14:47:43