- Published on
The workflow for my thesis
Overview
- Write thesis body in Pandoc Markdown.
- Build latex sources and pdf using Waf build system.
- Do with thesis pandoc template file if you need.
Example of wscript
wscript
is like Makefile for Waf.
srcdir='.'
blddir='build'
def configure(ctx):
ctx.load('tex')
if not ctx.env.LATEX:
ctx.fatal('The program LaTex is required')
from waflib.Configure import conf
@conf
def mktex(ctx):
ctx.exec_command('pandoc %s -t latex --template ./pandoc-template.tex -o %s'%('mthesis.markdown', 'mthesis.tex'))
def view_pdf(bld):
bld.exec_command("open -a Preview \"{0}/mthesis.pdf\"".format(blddir))
def build(bld):
bld(
features = 'tex',
type = 'xelatex', # pdflatex or xelatex
source = 'mthesis.tex', # mandatory, the source
outs = 'pdf', # 'pdf' or 'ps pdf'
deps = 'crossreferencing.lst', # to give dependencies directly
prompt = 1, # 0 for the batch mode
)
bld.install_files('${PREFIX}','output_pdf_file.pdf')
Example of 'make'-ing
./waf clean configure mktex build view_pdf
SublimeText2 build system setting
{
"working_dir": "$filedir",
"path": "/usr/local/texlive/2011/bin/x86_64-darwin:/usr/bin:/usr/local/bin",
"cmd": ["./waf", "clean", "mktex", "configure", "build", "view_pdf"]
}
Press Cmd+B (on Mac) will do everything