diff options
Diffstat (limited to 'tex/context/base/publ-usr.lua')
-rw-r--r-- | tex/context/base/publ-usr.lua | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/tex/context/base/publ-usr.lua b/tex/context/base/publ-usr.lua deleted file mode 100644 index 6bb93ebee..000000000 --- a/tex/context/base/publ-usr.lua +++ /dev/null @@ -1,91 +0,0 @@ -if not modules then modules = { } end modules ['publ-usr'] = { - version = 1.001, - comment = "this module part of publication support", - author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", - copyright = "PRAGMA ADE / ConTeXt Development Team", - license = "see context related readme files" -} - --- local chardata = characters.data - --- local str = [[ --- \startpublication[k=Berdnikov:TB21-2-129,t=article,a={{Berdnikov},{}},y=2000,n=2257,s=BHHJ00] --- \artauthor[]{Alexander}[A.]{}{Berdnikov} --- \artauthor[]{Hans}[H.]{}{Hagen} --- \artauthor[]{Taco}[T.]{}{Hoekwater} --- \artauthor[]{Bogus{\l}aw}[B.]{}{Jackowski} --- \pubyear{2000} --- \arttitle{{Even more MetaFun with \MP: A request for permission}} --- \journal{TUGboat} --- \issn{0896-3207} --- \volume{21} --- \issue{2} --- \pages{129--130} --- \month{6} --- \stoppublication --- ]] - -local remapped = { - artauthor = "author", - arttitle = "title", -} - -local P, Cs, R, Cc, Carg = lpeg.P, lpeg.Cs, lpeg.R, lpeg.Cc, lpeg.Carg - -local function register(target,key,a,b,c,d,e) - key = remapped[key] or key - if b and d and e then - local s = nil - if b ~= "" and b then - s = s and s .. " " .. b or b - end - if d ~= "" and d then - s = s and s .. " " .. d or d - end - if e ~= "" and e then - s = s and s .. " " .. e or e - end - if a ~= "" and a then - s = s and s .. " " .. a or a - end - local value = target[key] - if s then - if value then - target[key] = value .. " and " .. s - else - target[key] = s - end - else - if not value then - target[key] = s - end - end - else - target[key] = b - end -end - -local leftbrace = P("{") -local rightbrace = P("}") -local leftbracket = P("[") -local rightbracket = P("]") - -local key = P("\\") * Cs(R("az","AZ")^1) * lpeg.patterns.space^0 -local mandate = leftbrace * Cs(lpeg.patterns.balanced) * rightbrace + Cc(false) -local optional = leftbracket * Cs((1-rightbracket)^0) * rightbracket + Cc(false) -local value = optional^-1 * mandate^-1 * optional^-1 * mandate^-2 - -local pattern = ((Carg(1) * key * value) / register + P(1))^0 - -function publications.addtexentry(dataset,settings,content) - settings = utilities.parsers.settings_to_hash(settings) - local data = { - tag = settings.tag or settings.k or "no tag", - category = settings.category or settings.t or "article", - } - lpeg.match(pattern,content,1,data) -- can set tag too - dataset.userdata[data.tag] = data - dataset.luadata[data.tag] = data - publications.markasupdated(dataset) - return data -end |