Closed vasekp closed 8 years ago
Latexové soubory (šablona) by neměly být temp
. Je to např. kvůli ladění (pokud chci pokusně měnit texový zdroják např. v TeXStudiu). Nebo kvůli tomu, aby si člověk mohl zazálohovat latexové zdrojáky celého zpěvníku.
Jinak pozor na jednu specifickou vlastnost Snakemaku (kvůli které se snažím temp moc nepoužívat pro mezičlánky). Pokud mám workflow soubor1
=> temp(soubor2)
=> soubor3
a změní se soubor1
, tak se soubor2
znovu generovat nebude, čili i soubor3
zůstane neaktualizovaný (alespoň pokud si to dobře pamatuju; to je taková nešťastná odlišnost od Make).
Jinak už se může vyhodit i
import PyPDF2
Nevšiml jsem si, že tam zůstal. Ale i když ne teď, je to jedno, bude se hodit brzo – plánuji ho použít na to vytváření singles
z jednoho celkového souboru.
Ad předchozí komentář: v téhle situaci, když je pro soubor3
potřeba, by se soubor2
vygenerovat znovu musel, protože by přestal existovat. Rozdíly oproti make
určitě budou, ale já jsem o tom nepřemýšlel jako o "jiném make
", zkoušel jsem to brát jako prostě nový workflow.
Se zazálohováním zdrojáků pro vlastní kopii bez potřeby Snakemake souhlasím. Upravím a věci pro překlad v cache nechám. Počítám, že tím se vyřeší i tohle.
Teď se jako dočasné soubory mažou jen .log
(při úspěšném překladu netřeba), .out
(prázdný), .pdf
v cache (ten zkopírovaný do hlavního adresáře je identický), .idx
(jen mezistupeň pro .ind
, při překladu regenerovaný), .ind.old
a _single_XXX.aux
(jednotlivé písničky .aux
nepotřebují).
Viz rozšířený popis posledního commitu.
Super! Jinak co se týče toho run()
, tak to je přesně způsob, který používám např. u RNFtools (viz. např. http://rnftools.readthedocs.org/en/latest/tutorial/01_first_snakefile.html). Až tpcb
bude samostatný balíček, tak se do zpěvníku bude vkládat akorát:
import tpcb
...
include: tpcb.include()
rule: input: tpcb.input()
temp
(po úspěšném překladu se automaticky smažou, až už nejsou potřeba)tpcb
)_single_XXX.pdf
nechat vcache_dir()
(fixes #28).idx
,.ind
a.idx.old
, mezi překlady stačí zachovat.ind