ocaml Unix.system вызов pdflatex - PullRequest
       22

ocaml Unix.system вызов pdflatex

1 голос
/ 12 сентября 2010

У меня проблема с вызовом внешнего приложения из скомпилированного приложения 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 и другие параметры командной строки. Мне интересно, если кто-нибудь может дать какой-нибудь совет о том, как поступить. Приложение генерирует несколько текстовых документов, и они должны быть преобразованы в PDF. На верхнем уровне, вызов карты над списком из них генерирует PDF правильно; только скомпилированный (байт-код) не работает.

1 Ответ

0 голосов
/ 14 сентября 2010

Я не закрывал канал для ранее записанного текстового файла, поэтому никакие данные не могли быть записаны. Спасибо Жилю за предложение проверить файлы во время выполнения.

...