3

ボランティアの仕事では、多数のLaTeXドキュメントをePubファイル形式に変換する必要があります。これは、これまでオンデマンド印刷サービスを介して紙でのみ作成された一連のオープンソースのフィクション本です。最良の結果を得るためにePub形式を必要とする書籍リーダーデバイス(Kindleなど)のユーザーに書籍を提供できるようにしたいと考えています。

幸い、ePubは非常に単純な形式ですが、LaTeXが必要なXHTML出力を生成するための簡単な方法はありません。

代替のLaTeXコンパイラー(例:plastex)を試しましたが、最終的には、LaTeX言語の小さなサブセットを理解し、XHTML/ePubに直接コンパイルする独自のコンパイラーを作成する方がはるかに簡単であると考えました。

以前、私はGOLDと呼ばれるWindows上のツールを使用していました。これにより、BNF文法からスタブパーサーに直接移動することができました。また、好きな言語でパーサーを実装することもできました。(私はPythonを選びます)。

この製品はLinuxで動作する必要があるため、Ubutnu / Eclipse/Pythonでも動作する同等のツールチェーンがあるかどうか疑問に思います。TeXの文法を採用し、その小さなサブセットを実装するという考え方ですが、文法と構文解析について心配することに膨大な時間を費やしたくはありません。パーサジェネレータは明らかに私たちにかなりの時間を節約するでしょう。

サル


更新1:優れたドキュメントまたはチュートリアルを備えたソリューションのボーナスマーク。


更新2:TeXの文法ファイルがすでに利用可能である場合は、追加のボーナスがあります。私がしなければならないのは、関心のある関数を実装することだけだからです。

4

3 に答える 3

5

pyparsingを試してください。

http://pyparsing.wikispaces.com/WhosUsingPyparsingを参照し、TeXを検索します。そのページに記載されているTeX構文のサブセットを解析するためにpyparsingが使用されるプロジェクトがあります。

ドキュメントについては、pyparsingの作者による「Gettingstartedwithpyparsing」電子書籍をお勧めします。

編集:PaulMcGによると Pyparsingはwikispaces.comでホストされなくなりました。新しいGitHubサイトに移動します

于 2010-04-12T14:16:23.547 に答える
3

PLYをお試しください。

于 2010-04-12T12:38:42.600 に答える
3

私はかつてtex4htを使用してLaTeXをXHTML+MathMLに変換しました。かなりうまくいきました。それ以降は、出力HTMLをePubのベースとして使用できます。

もちろん、これはPythonツールチェーンを壊すので、お気に入りの方法にはならないかもしれません...

于 2010-04-12T12:51:17.760 に答える