diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-19 23:04:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-19 23:04:15 +0000 |
commit | f74161ca4e7eb3c5af9afcbe92522ae3b58987c1 (patch) | |
tree | 3c30a13df5ac7968195c85070a2b074578e669d2 /Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua | |
parent | 1d5a55ac8f5506a7ae9cfca52f4b588182e199d4 (diff) |
context beta/cont-tmf.zip (Apr 16 12:55)
git-svn-id: svn://tug.org/texlive/trunk@43931 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua b/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua index 223554b4daa..76171cb7f21 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/bibl-tra.lua @@ -21,7 +21,9 @@ end -- end of hack -local match, gmatch, format, concat, sort = string.match, string.gmatch, string.format, table.concat, table.sort +local gmatch, format = string.gmatch, string.format +local sort = table.sort +local savedata = io.savedata bibtex = bibtex or { } local bibtex = bibtex @@ -61,10 +63,31 @@ local template = [[ \bibdata{%s} ]] -local bibtexbin = environment.arguments.mlbibtex and "mlbibcontext" or "bibtex" +local runners = { + bibtex = sandbox.registerrunner { + name = "bibtex", + method = "execute", + program = "bibtex", + template = [["%filename%"]], + checkers = { + filename = "readable", + } + }, + mlbibtex = sandbox.registerrunner { + name = "mlbibtex", + method = "execute", + program = "mlbibcontext", + template = [["%filename%"]], + checkers = { + filename = "readable", + } + } +} + +local runner = environment.arguments.mlbibtex and runners.mlbibtex or runners.bibtex directives.register("publications.usemlbibtex", function(v) - bibtexbin = v and "mlbibcontext" or "bibtex" + runner = v and runners.mlbibtex or runners.bibtex end) function hacks.process(settings) @@ -74,11 +97,11 @@ function hacks.process(settings) if database ~= "" then local targetfile = file.addsuffix(jobname,"aux") interfaces.showmessage("publications",3,targetfile) - io.savedata(targetfile,format(template,style,database)) + savedata(targetfile,format(template,style,database)) if trace_bibtex then report_tex("processing bibtex file %a using %a",jobname,bibtexbin) end - os.execute(format("%s %q",bibtexbin,jobname)) + runner { filename = jobname } -- purge 'm end end |