在生成输出pdf之前先耙依赖于png

时间:2019-02-25 02:29:37

标签: ruby latex rake

我具有项目的当前文件夹结构

.
├── Rakefile
└── S6
    ├── CD_CS304.md
    ├── CN_CS306.md
    ├── DAA_CS302.md
    └── graphviz
        └── cs304_compilerphases.dot

2 directories, 5 files

我正在为每个markdown文件构建单独的pdf,这是我的Rakefile

# Convert all markdown files to PDF
MD_SOURCES = Rake::FileList.new("**/*.md")
DOT_SOURCES = Rake::FileList.new("**/*.dot")

task :default => :output_pdfs
task :output_pdfs => [MD_SOURCES.ext(".pdf"), :output_dotpngs].flatten
task :output_dotpngs => DOT_SOURCES.ext(".png")

rule ".pdf" => ".md" do |t| 
    sh 'pandoc ' \
        '--variable fontsize=12pt ' \
        '--variable date:"\today" ' \
        '--variable geometry:a4paper ' \
      '--variable documentclass:book ' \
    '--table-of-contents ' \
    '--number-sections ' \
    '--filter pandoc-fignos ' \
    "-f markdown #{t.source} " \
    "-o #{t.name}"
end

rule ".png" => ".dot" do |t| 
  sh `dot -Tpng #{t.source} -o #{t.name}`
end

我想将点程序的输出嵌入到乳胶pdf中,但是在这里Rakefile不会将点文件变成png,而是直接编译pdf。

由于png文件不存在,这会使pdf编译出错。

0 个答案:

没有答案