diff options
Diffstat (limited to 'Master/texmf-dist/scripts')
-rwxr-xr-x | Master/texmf-dist/scripts/lyluatex/lyluatex.lua | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/Master/texmf-dist/scripts/lyluatex/lyluatex.lua b/Master/texmf-dist/scripts/lyluatex/lyluatex.lua index e9f333fc4f4..599eb7b8bb3 100755 --- a/Master/texmf-dist/scripts/lyluatex/lyluatex.lua +++ b/Master/texmf-dist/scripts/lyluatex/lyluatex.lua @@ -2,7 +2,7 @@ local err, warn, info, log = luatexbase.provides_module({ name = "lyluatex", version = '0', greinternalversion = internalversion, - date = "2017/11/19", + date = "2017/11/27", description = "Module lyluatex.", author = "The Gregorio Project (see CONTRIBUTORS.md)", copyright = "2008-2017 - The Gregorio Project", @@ -46,13 +46,13 @@ function direct_ly(ly, largeur, facteur) ly = ly:gsub('\\par ', '\n'):gsub('\\([^%s]*) %-([^%s])', '\\%1-%2') local sortie = TMP..'/'..string.gsub(md5.sumhexa(contenuIntegral(ly))..'-'..facteur..'-'..largeur, '%.', '-') if not lfs.isfile(sortie..'-systems.tex') then - compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie) + compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie, true) end retour_tex(sortie) end -function inclure_ly(entree, currfiledir, largeur, facteur) +function inclure_ly(entree, currfiledir, largeur, facteur, pleinepage) facteur = calcul_facteur(facteur) nom = splitext(entree, 'ly') entree = currfiledir..nom..'.ly' @@ -61,21 +61,29 @@ function inclure_ly(entree, currfiledir, largeur, facteur) local i = io.open(entree, 'r') ly = i:read('*a') i:close() - local sortie = TMP..'/' ..string.gsub(md5.sumhexa(contenuIntegral(ly))..'-'..facteur..'-'..largeur, '%.', '-') + local sortie = TMP..'/' ..string.gsub(md5.sumhexa(contenuIntegral(ly))..'-'..facteur..'-'..largeur..'-', '%.', '-') + if pleinepage then sortie = sortie..'-pleinepage' end if not lfs.isfile(sortie..'-systems.tex') then - compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie, dirname(entree)) + if pleinepage then + compiler_ly(ly, sortie, false, dirname(entree)) + i = io.open(sortie..'-systems.tex', 'w') + i:write('\\includepdf[pages=-]{'..sortie..'}') + i:close() + else + compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie, true, dirname(entree)) + end end retour_tex(sortie) end -function compiler_ly(ly, sortie, include) +function compiler_ly(ly, sortie, eps, include) mkdirs(dirname(sortie)) local commande = LILYPOND.." ".. "-dno-point-and-click ".. - "-dbackend=eps ".. "-djob-count=2 ".. "-ddelete-intermediate-files " + if eps then commande = commande.."-dbackend=eps " end if include then commande = commande.."-I '"..lfs.currentdir().."/"..include.."' " end commande = commande.."-o "..sortie.." -" local p = io.popen(commande, 'w') |