如何让scons调用外部脚本?

saf*_*fsd 16 python latex scons tex

我正在尝试使用scons来构建一个乳胶文档.特别是,我想让scons调用一个python程序,该程序生成一个包含一个表\ input {}的文件到主文档中.我查看了scons文档,但我不清楚我需要做什么.

我希望实现的基本上是你用这个makefile得到的东西:

document.pdf:  table.tex
    pdflatex document.tex

table.tex:
    python table_generator.py
Run Code Online (Sandbox Code Playgroud)

我如何在scons中表达这一点?

Hex*_*gon 16

沿着这些方向应该做的事情 -

env.Command ('document.tex', '', 'python table_generator.py')
env.PDF ('document.pdf', 'document.tex')
Run Code Online (Sandbox Code Playgroud)

它声明'document.tex'是通过调用Python脚本生成的,并请求从这个generatd'document.tex'文件创建一个PDF文档.

请注意,这只是精神上的.这可能需要一些调整.特别是,我不确定你想要生成'document.tex'需要什么样的语义 - 它是否应该每次生成?只有它不存在?当其他一些文件发生变化?(您希望将此依赖项添加为Command()的第二个参数).

此外,如果需要,Command()的输出可以用作PDF()的输入.为清楚起见,我没有这样做.