1

コンパイル済みの ocaml アプリケーション pdflatex から外部アプリケーションを呼び出す際に問題が発生しています。適切な文字列を引数として使用しています。トップレベルから実行すると、期待される結果が得られます。

Unix.system "pdflatex -interaction batchmode -output-directory res ALGO_GEN.tex";;

そして、適切な出力を生成し、

This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
 restricted \write18 enabled.
entering extended mode
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo))
(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty
(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty))
(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty))
(/usr/share/texmf-texlive/tex/latex/algorithms/algorithmic.sty
(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty)
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty))
No file ALGO_GEN.aux.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
(maze.html.res/ALGO_GEN.aux) )</usr/share/texmf-texlive/fonts/type1/public/a
msfonts/cm/cmbx10.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/
cmmi10.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb><
/usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb>
Output written on res/ALGO_GEN.pdf (1 page, 36816 bytes).
Transcript written on res/ALGO_GEN.log.
- : Unix.process_status = Unix.WEXITED 0

コンパイルされたアプリケーションのログは、次のことを示しています。

*** (job aborted, no legal \end found)

しばらくの間、私を混乱させてきました。Unix モジュールからの他のシステム コールと、他のコマンド ライン オプションを使用しました。どなたか、今後の進め方についてアドバイスをいただけないでしょうか。アプリケーションはいくつかの tex ドキュメントを生成し、それらを pdf に変換する必要があります。トップレベルから、それらのリストに対してマップを呼び出すと、pdf が適切に生成されます。コンパイルされた(バイトコード)だけでは機能しません。

4

1 に答える 1

0

以前に書き込まれた tex ファイルへのチャネルを閉じていなかったので、データが書き込まれない可能性があります。実行時にファイルを検査することを提案してくれた Gilles に感謝します。

于 2010-09-14T14:26:15.180 に答える