代码之家  ›  专栏  ›  技术社区  ›  nlucaroni

ocaml unix.system调用pdflatex

  •  1
  • nlucaroni  · 技术社区  · 14 年前

    我在从已编译的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;只有编译的(字节代码)才不起作用。

    1 回复  |  直到 14 年前
        1
  •  0
  •   nlucaroni    14 年前

    我没有关闭先前写入的tex文件的通道,因此不会写入任何数据。感谢Gilles建议我在运行时检查文件。