2011-10-19 28 views
1

考虑下面的代码片段移动建立产品到不同的目录与scons的

env = Environment() 
env.PDF(target="personal_statement.pdf", source="personal_statement.tex") 
env.Command("documents/personal_statement.pdf", "personal_statement.pdf", Copy('$TARGET', '$SOURCE')) 

如果我在env.PDF到“文档/ personal_statement.pdf”设置target,乳胶编译发生在“文件/ personal_statement.pdf ”。我只想要最后的输出,即“personal_statement.pdf”出现在“documents/personal_statement.pdf”中。 目前我正在这两个步骤。步骤1:编译文件,步骤2:将生成的PDF移动到另一个目录。 有没有一种方法来完成这一步而不是使用两个步骤?

回答

1

在两个步骤中这样做的局限性与pdflatex而不是SCons相关。 pdflatex具有-output-directory选项,但它会将所有内容(包括所有临时文件)写入该目录。

尽管您的示例代码片段可能有效,但我相信更典型的方法是使用“安装”构建器。

env = DefaultEnvironment() 
dst = env.PDF("personal_statement.tex") 
inst = env.Install("documents",dst) 
Default(inst) 
+0

对不起,响应缓慢。当你回答时,我已经停止了这个工作。你的方法肯定比我所做的更优雅。谢谢。 –

相关问题