2011-10-19 39 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

對不起,響應緩慢。當你回答時,我已經停止了這個工作。你的方法肯定比我所做的更優雅。謝謝。 –

相關問題