diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua')
-rwxr-xr-x | Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua b/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua new file mode 100755 index 00000000000..6d4cb2b6e35 --- /dev/null +++ b/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua @@ -0,0 +1,59 @@ +#! /usr/bin/texlua +-- buildmtxdoc.lua © Dirk Laurie 2015 MIT license +-- Build M-Tx documentation from scratch. + +local project = {halleluja = "-t kroonhom loofnou -f -q -p halleluja"; +kanons = "-t viva dona sanctus -f -q -p kanons"; +mtxdoc = "-t borup chord dertod dwoman macro".. +" melisma1 melisma2 melisma3 melisma4 melisma5 melisma6".. +" meter mozart mozart0 netfirst netsoos1 netsoos2 psalm42 title title1 volta".. +" -f -x -q -p mtxdoc"} + +local sys = function(...) + print(...) + return(os.execute(...)) +end + +local cat = function(target,...) + local result = io.open(target,'w') + for k=1,select('#',...) do + for line in io.open((select(k,...))):lines() do + result:write(line,"\n") + end + end + result:close() +end + +local make_examples = function() + cat("dwoman.mtx","dwoman.mta","dwoman.mtb") + for k=1,2 do + mtxname = ("netsoos%d.mtx"):format(k) + cat(mtxname,"netsoos.mta",("netsoos%d.mtb"):format(k)) + end + for k=1,6 do + mtxname = ("melisma%d.mtx"):format(k) + cat(mtxname,"melisma.mta",("melisma%d.mtb"):format(k)) + end +end + +local build_project = function(target) + if target == "mtxdoc" then + make_examples() + end + sys("musixtex -q "..project[target]) +end + +-- Main program + +if type(arg)~='table' or not arg[1] then build_project"mtxdoc" +elseif project[arg[1]] then build_project(arg[1]) +else print[[ +This is buildmtxdoc version 0.1. +Usage: [texlua] buildmtx.lua [project] +Projects: + mtxdoc + halleluja + kanons + +If no project is specified, "mtxdoc" is built.]] +end |