使用 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
中的 target
设置为“documents/personal_statement.pdf”,则 LaTeX 编译发生在“documents/personal_statement.pdf”中。我只希望最终输出,即“personal_statement.pdf”出现在“documents/personal_statement.pdf”中。 目前我分两步进行。步骤1:编译文件,步骤2:将生成的PDF移动到另一个目录。 有没有一种方法可以一步完成这一任务,而不是使用两步?
Consider the following snippet
env = Environment()
env.PDF(target="personal_statement.pdf", source="personal_statement.tex")
env.Command("documents/personal_statement.pdf", "personal_statement.pdf", Copy('$TARGET', '$SOURCE'))
If I set target
in env.PDF
to "documents/personal_statement.pdf", the LaTeX compilation happens in "documents/personal_statement.pdf". I want only the final output, namely "personal_statement.pdf" to be present in "documents/personal_statement.pdf".
Currently I am doing this in two steps. Step 1: compile the file, Step 2: move the resulting PDF to another directory.
Is there some way of accomplishing this in one step instead of using two steps?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
分两步执行此操作的限制更多地与 pdflatex 有关,而不是与 SCons 有关。 pdflatex 有
-output-directory
选项,但它会将所有内容(包括所有临时文件)写入该目录。虽然您的示例片段可能有效,但我相信更典型的方法是使用安装构建器。
The limitation of doing this in two steps is more related to pdflatex rather than SCons. pdflatex has the
-output-directory
option, but it will either write everything (including all of the temporary files) to that directory.While your example snippet may work, I believe the more typical approach is to use the Install builder.