2009-11-19 77 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