- 高専3年在学時に,課題で自由に作品を作る課題が与えられたときに,作成したものになります.
- LaTeX の数式表現を等価な OpenOffice.org の数式表現に変換するプログラムです.
- 「\frac{\frac{\alpha}{\beta}}{\gamma}」→「{{{{{ α } over { β }}} over { γ }}}」などと変換します.
- よく出てくるコマンドには対応しているはずですが,対応していない場合は op_list.txt に記述を追加しなければなりません.
- 次のURLで動作を試すことができます.このデモでは行ごとに変換するようになっています. http://kyu.pw/demos/T2O/
- OpenOffice数式の仕様ドキュメントを見つけることが出来なかったので,手探りでの開発を行いました.
- main.cpp : C++で書かれたメインプログラムです.g++でコンパイルできます.
- 標準入力または引数でLaTeX数式が与えられると,それに対応した OpenOffice.org(OOo) 数式を標準出力に吐き出します.
- html を返す cgi として動作する仕様になっているので,手元で動かした場合標準出力に付加情報が混ざります.
- op_list.txt : 記法(コマンド,関数)の変換表ファイルです.
- 「[TeXコマンド名] [TeXコマンドでの引数の数] [OOoコマンド名] [TeXコマンドが前置記法なら1,そうでないなら0]」というふうに記述されています.
- 例えば,「\frac{\alpha}{\beta}」はOOo数式上で「{α} over {β}」と記述されるので「\frac 2 over 1」と記述します.
- cssやhtml,jsファイル : Webサービスとして動かすために必要なファイルです.
- main.cppを a.cgi という名前で保存して適切な権限を割り振ると動作すると思います.
- 残念ながらセキュリティ対策はあまりできていません.