diff options
author | Hans Hagen <pragma@wxs.nl> | 2020-06-10 10:02:10 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2020-06-10 10:02:10 +0200 |
commit | 0226b596b39ea5d055dc37ea0609b67b64fe3d75 (patch) | |
tree | b8e19522cb8e3a0683da0db73b23e40b5d6a9437 /tex | |
parent | 0aa14799b67298a50dd2c31c249622915e103994 (diff) | |
download | context-0226b596b39ea5d055dc37ea0609b67b64fe3d75.tar.gz |
2020-06-09 18:55:00
Diffstat (limited to 'tex')
249 files changed, 3170 insertions, 669 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 3430f5db5..99d624dc7 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2020.05.25 23:36} +\newcontextversion{2020.06.09 18:53} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 482570ae9..8f714b4c4 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii index 1d2425c9a..7f5778aab 100644 --- a/tex/context/base/mkii/mult-it.mkii +++ b/tex/context/base/mkii/mult-it.mkii @@ -907,7 +907,10 @@ \setinterfaceconstant{keys}{keys} \setinterfaceconstant{keyword}{parolachiave} \setinterfaceconstant{label}{etichetta} +\setinterfaceconstant{labelalternative}{labelalternative} +\setinterfaceconstant{labelcolor}{labelcolor} \setinterfaceconstant{labeloffset}{labeloffset} +\setinterfaceconstant{labelstyle}{labelstyle} \setinterfaceconstant{language}{language} \setinterfaceconstant{last}{last} \setinterfaceconstant{lastnamesep}{lastnamesep} diff --git a/tex/context/base/mkiv/back-exp.lua b/tex/context/base/mkiv/back-exp.lua index f72cd68b8..3b9a8f3ac 100644 --- a/tex/context/base/mkiv/back-exp.lua +++ b/tex/context/base/mkiv/back-exp.lua @@ -144,6 +144,7 @@ local treeroot = tree local treehash = { } local extras = { } local checks = { } +local fixes = { } local finalizers = { } local nofbreaks = 0 local used = { } @@ -707,6 +708,35 @@ end do + function fixes.linenumber(di,data,i) + local ni = data[i+1] + if ni and ni.data then + while true do + local d = ni.data[1] + if d then + local e = d.element + if e then + if e == "line" or e == "verbatimline" then + table.insert(d.data,1,di) + data[i] = false + return + else + ni = d + end + else + return + end + else + return + end + end + end + end + +end + +do + local synonyms = { } local sortings = { } @@ -2305,8 +2335,10 @@ do if not p then -- skip elseif exportproperties == v_yes then + n = n + 1 r[n] = attributes(p) else + n = n + 1 r[n] = properties(p) end end @@ -2574,9 +2606,12 @@ do -- also tabulaterow reconstruction .. maybe better as a checker -- i.e cell attribute - local function collapsetree() - for tag, trees in next, treehash do + local function collapsetree(tree) + for tag, trees in sortedhash(treehash) do +-- for tag, trees in next, treehash do local d = trees[1].data +-- print("!!!!!!!!",tag) +-- inspect(trees) if d then local nd = #d if nd > 0 then @@ -2630,10 +2665,22 @@ do end end + -- local function showtree(data,when,where) + -- if data then + -- for i=1,#data do + -- local d = data[i] + -- if type(d) == "table" and d.element then + -- print(when,where,i,d.element,d.parnumber or 0) + -- end + -- end + -- end + -- end + local function indextree(tree) local data = tree.data if data then local n, new = 0, { } + -- showtree(data,"before","index") for i=1,#data do local d = data[i] if not d then @@ -2650,22 +2697,43 @@ do end end tree.data = new + -- showtree(new,"after","index") end end local function checktree(tree) local data = tree.data if data then + -- showtree(data,"before","check") for i=1,#data do local d = data[i] if type(d) == "table" then local check = checks[d.tg] if check then - check(d) + check(d,data,i) end checktree(d) -- so parts can pass twice end end + -- showtree(data,"after","check") + end + end + + local function fixtree(tree) + local data = tree.data + if data then + -- showtree(data,"before","fix") + for i=1,#data do + local d = data[i] + if type(d) == "table" then + local fix = fixes[d.tg] + if fix then + fix(d,data,i) + end + fixtree(d) -- so parts can pass twice + end + end + -- showtree(data,"after","fix") end end @@ -2675,6 +2743,7 @@ do wrapups.finalizetree = finalizetree wrapups.indextree = indextree wrapups.checktree = checktree + wrapups.fixtree = fixtree end @@ -3828,6 +3897,7 @@ local htmltemplate = [[ end report_export("") -- + wrapups.fixtree(tree) wrapups.collapsetree(tree) wrapups.indextree(tree) wrapups.checktree(tree) diff --git a/tex/context/base/mkiv/buff-ini.lua b/tex/context/base/mkiv/buff-ini.lua index 5b5c47867..e4f01c03f 100644 --- a/tex/context/base/mkiv/buff-ini.lua +++ b/tex/context/base/mkiv/buff-ini.lua @@ -42,6 +42,10 @@ local scantokencode = scanners.tokencode local getters = tokens.getters local gettoken = getters.token +local getcommand = token.get_command +local getcsname = token.get_csname +local getnextchar = token.get_next_char + local scanners = interfaces.scanners local variables = interfaces.variables @@ -375,7 +379,7 @@ local tochar = { local experiment = false local experiment = scantokencode and true -function tokens.pickup(start,stop) +local function pickup(start,stop) local stoplist = split[stop] -- totable(stop) local stoplength = #stoplist local stoplast = stoplist[stoplength] @@ -439,11 +443,11 @@ function tokens.pickup(start,stop) -- we're skipping leading stuff, like obeyedlines and relaxes if experiment and size > 0 then -- we're probably in a macro - local char = tochar[token.get_command(t)] -- could also be char(token.get_mode(t)) + local char = tochar[getcommand(t)] if char then size = size + 1 ; list[size] = char else - local csname = token.get_csname(t) + local csname = getcsname(t) if csname == stop then stoplength = 0 break @@ -494,6 +498,118 @@ function tokens.pickup(start,stop) end end +-- -- lmtx: +-- +-- local function pickup(start,stop) +-- local stoplist = split[stop] -- totable(stop) +-- local stoplength = #stoplist +-- local stoplast = stoplist[stoplength] +-- local startlist = split[start] -- totable(start) +-- local startlength = #startlist +-- local startlast = startlist[startlength] +-- local list = { } +-- local size = 0 +-- local depth = 0 +-- getnextchar() -- we start with a \relax +-- while true do -- or use depth +-- local char = getnextchar() +-- if char then +-- size = size + 1 +-- list[size] = char +-- if char == stoplast and size >= stoplength then +-- local done = true +-- local last = size +-- for i=stoplength,1,-1 do +-- if stoplist[i] ~= list[last] then +-- done = false +-- break +-- end +-- last = last - 1 +-- end +-- if done then +-- if depth > 0 then +-- depth = depth - 1 +-- else +-- break +-- end +-- char = false -- trick: let's skip the next (start) test +-- end +-- end +-- if char == startlast and size >= startlength then +-- local done = true +-- local last = size +-- for i=startlength,1,-1 do +-- if startlist[i] ~= list[last] then +-- done = false +-- break +-- end +-- last = last - 1 +-- end +-- if done then +-- depth = depth + 1 +-- end +-- end +-- else +-- local t = gettoken() +-- if t then +-- -- we're skipping leading stuff, like obeyedlines and relaxes +-- if experiment and size > 0 then +-- -- we're probably in a macro +-- local char = tochar[getcommand(t)] +-- if char then +-- size = size + 1 ; list[size] = char +-- else +-- local csname = getcsname(t) +-- if csname == stop then +-- stoplength = 0 +-- break +-- else +-- size = size + 1 ; list[size] = "\\" +-- size = size + 1 ; list[size] = csname +-- size = size + 1 ; list[size] = " " +-- end +-- end +-- else +-- -- ignore and hope for the best +-- end +-- else +-- break +-- end +-- end +-- end +-- local start = 1 +-- local stop = size - stoplength - 1 +-- -- not good enough: only empty lines, but even then we miss the leading +-- -- for verbatim +-- -- +-- -- the next is not yet adapted to the new scanner ... we don't need lpeg here +-- -- +-- for i=start,stop do +-- local li = list[i] +-- if lpegmatch(blackspace,li) then +-- -- keep going +-- elseif lpegmatch(eol,li) then +-- -- okay +-- start = i + 1 +-- else +-- break +-- end +-- end +-- for i=stop,start,-1 do +-- if lpegmatch(whitespace,list[i]) then +-- stop = i - 1 +-- else +-- break +-- end +-- end +-- -- +-- if start <= stop then +-- return concat(list,"",start,stop) +-- else +-- return "" +-- end +-- end + -- function buffers.pickup(name,start,stop,finish,catcodes,doundent) -- local data = tokens.pickup(start,stop) -- if doundent or (autoundent and doundent == nil) then @@ -505,6 +621,8 @@ end -- commands.pickupbuffer = buffers.pickup +tokens.pickup = pickup + scanners.pickupbuffer = function() local name = scanstring() local start = scanstring() @@ -512,7 +630,7 @@ scanners.pickupbuffer = function() local finish = scanstring() local catcodes = scaninteger() local doundent = scanboolean() - local data = tokens.pickup(start,stop) + local data = pickup(start,stop) if doundent or (autoundent and doundent == nil) then data = undent(data) end diff --git a/tex/context/base/mkiv/buff-ini.mkiv b/tex/context/base/mkiv/buff-ini.mkiv index 8e71c9865..a8a120d90 100644 --- a/tex/context/base/mkiv/buff-ini.mkiv +++ b/tex/context/base/mkiv/buff-ini.mkiv @@ -116,7 +116,7 @@ {\endgroup % (1) \endgroup % (2) #5}% - % todo: we need to skip the first lineending which is na active character + % todo: we need to skip the first lineending which is an active character % but sometimes we have something different ... this is a side effect of % checking for optional arguments i.e. the next token is already tokenized % and for that reason we have the \relax as well as the \string diff --git a/tex/context/base/mkiv/cldf-ini.mkiv b/tex/context/base/mkiv/cldf-ini.mkiv index 29fb15d68..0a1ee639f 100644 --- a/tex/context/base/mkiv/cldf-ini.mkiv +++ b/tex/context/base/mkiv/cldf-ini.mkiv @@ -17,8 +17,7 @@ \registerctxluafile{cldf-ini}{} -%D With each new update of \MKIV\ we can join Within Temptation in -%D singing: +%D With each new update of \MKIV\ we can join Within Temptation in singing: %D %D \startbuffer %D \startluacode diff --git a/tex/context/base/mkiv/cldf-int.mkxl b/tex/context/base/mkiv/cldf-int.mkxl new file mode 100644 index 000000000..aae7d0416 --- /dev/null +++ b/tex/context/base/mkiv/cldf-int.mkxl @@ -0,0 +1,31 @@ +%D \module +%D [ file=mult-ini, +%D version=2008.10.22, % 1996.06.01, +%D title=\CONTEXT\ Multilingual Macros, +%D subtitle=Initialization, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Multilingual Macros / Lua} + +\registerctxluafile{cldf-int}{} + +\unprotect + +\unexpanded\def\newluatable#1{\clf_newluatable#1\atendofgrouped{\disposeluatable#1}} +\unexpanded\def\useluatable#1{\clf_useluatable#1\atendofgrouped{\disposeluatable#1}} + +\installcorenamespace{datavalue} + +\unexpanded\def\setdatavalue#1#2% #2 is a number (expression) + {\expandafter\letdatacode\csname\??datavalue#1\endcsname\numexpr#2\relax} + +\def\getdatavalue#1{\begincsname\??datavalue#1\endcsname} +\def\thedatavalue#1{\the\begincsname\??datavalue#1\endcsname} + +\protect \endinput diff --git a/tex/context/base/mkiv/cldf-lmt.lua b/tex/context/base/mkiv/cldf-lmt.lua index 74ba5c224..ab25f962e 100644 --- a/tex/context/base/mkiv/cldf-lmt.lua +++ b/tex/context/base/mkiv/cldf-lmt.lua @@ -6,45 +6,52 @@ if not modules then modules = { } end modules ['cldf-lmt'] = { license = "see context related readme files" } -local random = math.random -local randomseed = math.randomseed -local round = math.round -local abs = math.abs - -local scanners = tokens.scanners -local scanword = scanners.word -local scanstring = scanners.string -local scanboolean = scanners.boolean -local scandimen = scanners.dimen -local scanfloat = scanners.float -local scancount = scanners.integer -local scaninteger = scanners.luainteger -local scancardinal = scanners.luacardinal -local scannumber = scanners.luanumber -local scanargument = scanners.argument -local scantoken = scanners.token -local getindex = token.get_index -local texsetdimen = tex.setdimen - -local values = tokens.values -local none_code = values.none -local integer_code = values.integer -local cardinal_code = values.cardinal -local dimension_code = values.dimension -local skip_code = values.skip -local boolean_code = values.boolean -local float_code = values.float - -local context = context +local next, load = next, load + +local setmetatableindex = table.setmetatableindex +local serialize = table.serialize + +local random = math.random +local randomseed = math.randomseed +local round = math.round +local abs = math.abs + +local implement = interfaces.implement + +local scanners = tokens.scanners +local scanword = scanners.word +local scanstring = scanners.string +local scanboolean = scanners.boolean +local scandimen = scanners.dimen +local scanfloat = scanners.float +local scancount = scanners.integer +local scaninteger = scanners.luainteger +local scancardinal = scanners.luacardinal +local scannumber = scanners.luanumber +local scanargument = scanners.argument +local scantoken = scanners.token +local getindex = token.get_index +local texsetdimen = tex.setdimen + +local values = tokens.values +local none_code = values.none +local integer_code = values.integer +local cardinal_code = values.cardinal +local dimension_code = values.dimension +local skip_code = values.skip +local boolean_code = values.boolean +local float_code = values.float + +local context = context + +-- variables -- local floats = { } local integers = { } local cardinals = { } local numbers = { } --- variables -- - -interfaces.implement { +implement { name = "luafloat", public = true, value = true, @@ -59,7 +66,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luainteger", public = true, value = true, @@ -73,7 +80,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luacount", public = true, value = true, @@ -87,7 +94,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luadimen", public = true, value = true, @@ -101,7 +108,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luacardinal", public = true, value = true, @@ -115,7 +122,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luanumber", public = true, value = true, @@ -130,7 +137,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luarandom", public = true, value = true, @@ -159,7 +166,7 @@ interfaces.arrays = arrays local newindex = lua.newindex -interfaces.implement { +implement { name = "newarray", public = true, protected = true, @@ -220,7 +227,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "arrayvalue", public = true, value = true, @@ -252,7 +259,7 @@ interfaces.implement { } -interfaces.implement { +implement { name = "arrayequals", public = true, value = true, @@ -276,7 +283,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "arraycompare", public = true, value = true, @@ -308,7 +315,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "showarray", public = true, protected = true, @@ -334,7 +341,7 @@ end) table.makeweak(cache) -interfaces.implement { +implement { name = "luaexpression", public = true, actions = function() @@ -367,7 +374,7 @@ interfaces.implement { local dimenfactors = number.dimenfactors -interfaces.implement { +implement { name = "nodimen", public = true, value = true, @@ -397,3 +404,206 @@ interfaces.implement { end end, } + +-- experimental: + +local grouped = { } +local slots = { } +local nofslots = 0 +local nofgrouped = 0 + +local getdata = tokens.getdata +local setdata = tokens.setdata + +local report = logs.reporter("lua table") + +----- ctxsprint = context.sprint + +-- we could have an extra one that collects all end of grouped actions +-- so that we dispose more in one go but it doesn's pay off + +local function newluatable(name,mt,dispose) + local g = { } + local t = slots[nofslots] + slots[nofslots] = false + nofslots = nofslots - 1 + if not t then + nofgrouped = nofgrouped + 1 + t = nofgrouped + end + if mt then + mt = getdata(name) + if mt then + mt = grouped[mt] + if mt then + setmetatableindex(g,mt) + end + end + end + grouped[t] = g + setdata(name,t) + -- This is the slow part. Doing this at the TeX end saved 10% runtime. I'll + -- think of something that we can set it at the Lua end. + if dispose then + ctxsprint("\\atendofgrouped{\\disposeluatable\\" .. name .. "}") + end +end + +local function disposeluatable(name) + local t = getdata(name) + local g = grouped[t] + if g then + grouped[t] = false + nofslots = nofslots + 1 + slots[nofslots] = t + end +end + +local function setluatable(name,kv) + local t = getdata(name) + local g = grouped[t] + if g and kv then + for k, v in next, kv do + g[k] = v + end + end +end + +local function getfromluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + local v = g[k] + if v then + context(v) + else + local n = tonumber(k) + if n then + local v = g[n] + if v then + context(v) + end + end + end + end +end + +local function idxfromluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + local v = g[k] + if v then + context(v) + end + end +end + +local function getluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + return g + end +end + +local function inspectluatable(name) + local t = getdata(name) + local g = grouped[t] + if g then + report("%s", serialize(g,'[grouped slot ' .. t .. ']')) + end +end + +local function showluatables() + report("nofgrouped %i, nofslots %i",nofgrouped,nofslots) + for t=1,nofgrouped do + local g = grouped[t] + if g then + report("%s", serialize(g,'[grouped slot ' .. t .. ']')) + end + end +end + +implement { + name = "newluatable", + protected = true, + -- public = true, + arguments = { "csname" }, + actions = newluatable, +} + +implement { + name = "useluatable", + protected = true, + -- public = true, + arguments = { "csname", true }, + actions = newluatable, +} + +implement { + name = "disposeluatable", + protected = true, + public = true, + arguments = { "csname" }, + actions = disposeluatable, +} + +implement { + name = "inspectluatable", + protected = true, + public = true, + arguments = { "csname" }, + actions = inspectluatable, +} + +implement { + name = "showluatables", + protected = true, + public = true, + actions = showluatables, +} + +implement { + name = "setluatable", + protected = true, + public = true, + arguments = { "csname", "argument" }, + actions = function(name,data) + data = load("return {" .. data .. "}") + if data then + data = data() + if data then + setluatable(name,data) + end + end + end +} + +implement { + name = "getfromluatable", + protected = false, + public = true, + arguments = { "csname", "argument" }, + actions = getfromluatable, +} + +implement { + name = "idxfromluatable", + protected = false, + public = true, + arguments = { "csname", "integer" }, + actions = idxfromluatable, +} + +context.luatables = { + new = function(name) newluatable(name,false,true) end, + use = function(name) useluatable(name,true, true) end, + dispose = disposeluatable, + set = setluatable, + get = getluatable, + getfrom = getfromluatable, + idxfrom = idxfromluatable, + inspect = inspectluatable, + show = showluatables, +} diff --git a/tex/context/base/mkiv/colo-imp-rgb.mkiv b/tex/context/base/mkiv/colo-imp-rgb.mkiv index 85122cb44..ab11ae996 100644 --- a/tex/context/base/mkiv/colo-imp-rgb.mkiv +++ b/tex/context/base/mkiv/colo-imp-rgb.mkiv @@ -35,12 +35,19 @@ % adapted per 2011.10.28 -\definecolor [lightred] [r=1, g=0, b=0] -\definecolor [lightgreen] [r=0, g=1, b=0] -\definecolor [lightblue] [r=0, g=0, b=1] -\definecolor [lightcyan] [r=0, g=1, b=1] -\definecolor [lightmagenta] [r=1, g=0, b=1] -\definecolor [lightyellow] [r=1, g=1, b=0] +% \definecolor [lightred] [r=1, g=0, b=0] +% \definecolor [lightgreen] [r=0, g=1, b=0] +% \definecolor [lightblue] [r=0, g=0, b=1] +% \definecolor [lightcyan] [r=0, g=1, b=1] +% \definecolor [lightmagenta] [r=1, g=0, b=1] +% \definecolor [lightyellow] [r=1, g=1, b=0] + +\definecolor [lightred] [r=1, g=0.5, b=0.5] % [.5(red,white)] +\definecolor [lightgreen] [r=0.5, g=1, b=0.5] % [.5(green,white)] +\definecolor [lightblue] [r=0.5, g=0.5, b=1] % [.5(blue,white)] +\definecolor [lightcyan] [r=0.5, g=1, b=1] % [.5(cyan,white)] +\definecolor [lightmagenta] [r=1, g=0.5, b=1] % [.5(magenta,white)] +\definecolor [lightyellow] [r=1, g=1, b=0.5] % [.5(yellow,white)] \definecolor [middlered] [r=.8, g=0, b=0] \definecolor [middlegreen] [r=0, g=.8, b=0] diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index a0e290ba2..269c8d98f 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2020.05.25 23:36} +\newcontextversion{2020.06.09 18:53} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context-performance.tex b/tex/context/base/mkiv/context-performance.tex index dd3768664..8b6ef11b2 100644 --- a/tex/context/base/mkiv/context-performance.tex +++ b/tex/context/base/mkiv/context-performance.tex @@ -1,5 +1,3 @@ -% language=uk - \usemodule[art-01,abr-01] \starttext diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 7a8bc7827..a33d7b1ed 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -45,7 +45,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} \edef\contextkind {beta} %D Kind of special: diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl index 76352fe98..eefe2f97b 100644 --- a/tex/context/base/mkiv/context.mkxl +++ b/tex/context/base/mkiv/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} \edef\contextkind {beta} %D Kind of special: @@ -142,7 +142,7 @@ \loadmarkfile{mult-chk} \loadmkvifile{mult-dim} -\loadmarkfile{cldf-int} % interface +\loadmkxlfile{cldf-int} % interface \loadmarkfile{trac-ctx} % maybe move up diff --git a/tex/context/base/mkiv/core-env.lua b/tex/context/base/mkiv/core-env.lua index 50759dd19..c496a5a8c 100644 --- a/tex/context/base/mkiv/core-env.lua +++ b/tex/context/base/mkiv/core-env.lua @@ -47,12 +47,13 @@ local cache = tokens.cache local iftrue = cache["iftrue"].mode -local dimencode = cache["scratchdimen"] .command -local countcode = cache["scratchcounter"] .command -local tokencode = cache["scratchtoken"] .command -local skipcode = cache["scratchskip"] .command -local muskipcode = cache["scratchmuskip"] .command ------ attributecode = cache["scratchattribute"].command +local dimencode = cache["scratchdimen"] .command -- tokens.commands.assign_dimen +local countcode = cache["scratchcounter"] .command -- tokens.commands.assign_int +local tokencode = cache["scratchtoken"] .command -- tokens.commands.assign_toks +local skipcode = cache["scratchskip"] .command -- tokens.commands.assign_glue +local muskipcode = cache["scratchmuskip"] .command -- tokens.commands.assign_mu_glue +----- attributecode = cache["scratchattribute"].command -- tokens.commands.assign_attr +local conditioncode = cache["iftrue"] .command -- tokens.commands.if_test local types = { [dimencode] = "dimen", @@ -61,6 +62,7 @@ local types = { [skipcode] = "skip", [muskipcode] = "muskip", -- [attributecode] = "attribute", + [conditioncode] = "condition" } setmetatableindex(texmodes, function(t,k) @@ -123,6 +125,30 @@ setmetatablenewindex(texifs, function(t,k) -- just ignore end) +if CONTEXTLMTXMODE > 0 then + + iftrue = cache["iftrue"].index + + -- if we really need performance we can have a dedicated cache for each + -- kind of variable + + setmetatableindex(texconstants, function(t,k) + return cache[k].command == countcode and texgetcount(k) or 0 + end) + + setmetatableindex(texconditionals, function(t,k) -- 0 == true + return cache[k].command == countcode and texgetcount(k) == 0 + end) + + table.setmetatableindex(texifs, function(t,k) + local c = cache[k] + print(k) + inspect(c) + return c.command == conditioncode and c.index == iftrue + end) + +end + tex.isdefined = isdefined function tex.isdimen(name) diff --git a/tex/context/base/mkiv/core-lmt.mkxl b/tex/context/base/mkiv/core-lmt.mkxl index 75a791a50..7fb38e830 100644 --- a/tex/context/base/mkiv/core-lmt.mkxl +++ b/tex/context/base/mkiv/core-lmt.mkxl @@ -13,14 +13,11 @@ \writestatus{loading}{ConTeXt System Macros / Primitives} -%D This is offered temporarily because in the end we don't expect u sers to use the -%D low level direction directives directly. - \registerctxluafile{core-lmt}{} \unprotect -% nothing yet +% nothing here \protect \endinput diff --git a/tex/context/base/mkiv/export-example.css b/tex/context/base/mkiv/export-example.css index 096408ee1..7cfd7f291 100644 --- a/tex/context/base/mkiv/export-example.css +++ b/tex/context/base/mkiv/export-example.css @@ -479,8 +479,9 @@ context|div.verbatim { font-family : "DejaVu Sans Mono", "Lucida Console", monospace ; } -/* lines : display */ -/* line : mixed */ +/* lines : display */ +/* line : mixed */ +/* linenumber : inline */ lines, context|div.lines { @@ -501,6 +502,15 @@ context|div.line { white-space : pre-wrap ; } +linenumber, +context|div.linenumber { + display : inline-block ; + margin-right : 1em ; + width : 3em ; + text-align : left ; + font-family : "DejaVu Sans Mono", "Lucida Console", monospace ; +} + /* synonym : inline */ /* sorting : inline */ diff --git a/tex/context/base/mkiv/export-example.tex b/tex/context/base/mkiv/export-example.tex index 32cb79c5e..9ef414422 100644 --- a/tex/context/base/mkiv/export-example.tex +++ b/tex/context/base/mkiv/export-example.tex @@ -1,5 +1,3 @@ -% language=uk - \usemodule[abr-01] \setupexport diff --git a/tex/context/base/mkiv/font-fil.mklx b/tex/context/base/mkiv/font-fil.mklx index 2b8224dfe..65cd64428 100644 --- a/tex/context/base/mkiv/font-fil.mklx +++ b/tex/context/base/mkiv/font-fil.mklx @@ -92,7 +92,7 @@ {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file \doifelsenextoptionalcs\font_basics_define_font_synonym_yes_opt\font_basics_define_font_synonym_yes_nil} -\unexpanded\def\edefinefontsynonym[#name]#crap[#file]% +\unexpanded\def\edefinefontsynonym[#name]#ignore[#file]% {\edef\m_font_name{#name}% \edef\m_font_file{#file}% \ifempty\fontclass @@ -101,33 +101,66 @@ \expandafter\font_basics_define_font_synonym_yes_expanded \fi} -\unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]% +\unexpanded\def\font_basics_define_font_synonym_nop_expanded#ignore[#spec]% {\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file - \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}} + \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}} -\unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]% +\unexpanded\def\font_basics_define_font_synonym_yes_expanded#ignore[#spec]% {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file \normalexpanded{\font_basics_define_font_synonym_yes_opt[#spec]}} +% \unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]% +% {\let\p_features \undefined +% \let\p_fallbacks \undefined +% \let\p_goodies \undefined +% \let\p_designsize\undefined +% \expandafter\font_basics_get_font_parameter_nop#specification,]=,} +% +% \unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]% +% {\let\p_features \undefined +% \let\p_fallbacks \undefined +% \let\p_goodies \undefined +% \let\p_designsize\undefined +% \expandafter\font_basics_get_font_parameter_yes#specification,]=,} +% +% % todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that +% % can be default then: \let\mathsizesuffix\relax .. i need to play with it first +% +% \def\font_basics_get_font_parameter_nop#key=#value,% +% {\if]#key% +% \font_basics_get_font_parameter_nop_finish +% \else +% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix +% \expandafter\font_basics_get_font_parameter_nop +% \fi} +% +% \def\font_basics_get_font_parameter_yes#key=#value,% +% {\if]#key% +% \font_basics_get_font_parameter_yes_finish +% \else +% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix +% \expandafter\font_basics_get_font_parameter_yes +% \fi} + \unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]% {\let\p_features \undefined \let\p_fallbacks \undefined \let\p_goodies \undefined \let\p_designsize\undefined - \expandafter\font_basics_get_font_parameter_nop#specification,]=,} + \expandafter\font_basics_get_font_parameter_nop#specification,\ignorearguments} \unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]% {\let\p_features \undefined \let\p_fallbacks \undefined \let\p_goodies \undefined \let\p_designsize\undefined - \expandafter\font_basics_get_font_parameter_yes#specification,]=,} + \expandafter\font_basics_get_font_parameter_yes#specification,\ignorearguments} % todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that % can be default then: \let\mathsizesuffix\relax .. i need to play with it first \def\font_basics_get_font_parameter_nop#key=#value,% - {\if]#key% + {\ifarguments \font_basics_get_font_parameter_nop_finish \else \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix @@ -135,7 +168,7 @@ \fi} \def\font_basics_get_font_parameter_yes#key=#value,% - {\if]#key% + {\ifarguments \font_basics_get_font_parameter_yes_finish \else \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix @@ -202,32 +235,66 @@ % todo: replace * by ... less messy with features +% \def\truefontname#name% +% {\expandafter\font_helpers_true_fontname#name*\empty*\relax} +% +% \def\font_helpers_true_fontname#name*#first#rest*#crap\relax +% {\ifcsname\??fontfile\fontclass#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \orelse\ifcsname\??fontfile#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \else +% #name\ifempty#first\else*#first#rest\fi +% \fi} +% +% \def\font_helpers_true_fontname_check#name% +% {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} +% +% \def\font_helpers_true_fontname_check_indeed#name*#crap\relax +% {\ifcsname\??fontfile\fontclass#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \orelse\ifcsname\??fontfile#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \else +% #name% +% \fi} + \def\truefontname#name% {\expandafter\font_helpers_true_fontname#name*\empty*\relax} -\def\font_helpers_true_fontname#name*#first#rest*#crap\relax +\def\font_helpers_true_fontname#name*#first#rest*#ignore\relax {\ifcsname\??fontfile\fontclass#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile\fontclass#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile\defaultfontclass#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \orelse\ifcsname\??fontfile#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \else @@ -237,15 +304,12 @@ \def\font_helpers_true_fontname_check#name% {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} -\def\font_helpers_true_fontname_check_indeed#name*#crap\relax +\def\font_helpers_true_fontname_check_indeed#name*#ignore\relax {\ifcsname\??fontfile\fontclass#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \orelse\ifcsname\??fontfile#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \else #name% @@ -271,10 +335,8 @@ \def\expandfontsynonym#command#name% one level expansion {\ifcsname\??fontfile\fontclass#name\endcsname - %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\fontclass#name\endcsname}% \expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}% \orelse\ifcsname\??fontfile\defaultfontclass#2\endcsname - %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\defaultfontclass#name\endcsname}% \expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}% \fi} diff --git a/tex/context/base/mkiv/font-fil.mkvi b/tex/context/base/mkiv/font-fil.mkvi index 8622e733f..f70be13ee 100644 --- a/tex/context/base/mkiv/font-fil.mkvi +++ b/tex/context/base/mkiv/font-fil.mkvi @@ -103,7 +103,7 @@ \unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]% {\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file - \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}} + \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}} \unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]% {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file diff --git a/tex/context/base/mkiv/font-mat.mklx b/tex/context/base/mkiv/font-mat.mklx index d08a2ce87..da576bf9a 100644 --- a/tex/context/base/mkiv/font-mat.mklx +++ b/tex/context/base/mkiv/font-mat.mklx @@ -386,25 +386,13 @@ \font_helpers_synchronize_math_family_mr \fi} -\ifdefined \fontid % we need to keep this test for a while - \appendtoks - \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy - \else - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy - \fi - \to \t_font_math_strategies -\else - \appendtoks - \edef\currentmathfontmr{\fontname\textfont\zerocount}% - \edef\currentmathfontmb{\fontname\textfont\plusthree}% - \ifx\currentmathfontmr\currentmathfontmb - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy - \else - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy - \fi - \to \t_font_math_strategies -\fi +\appendtoks + \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree + \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy + \else + \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy + \fi +\to \t_font_math_strategies %def\font_helpers_synchronize_math_bold_strategy{\csname\??fontmathstoredstrategy\fontclass\endcsname} \def\font_helpers_synchronize_math_bold_strategy{\begincsname\??fontmathstoredstrategy\fontclass\endcsname} diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index 3b6ea6a72..b612e85e7 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -2056,6 +2056,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local sweepnode = sweepnode local sweeptype = sweeptype local sweepoverflow = false + local checkdisc = getprev(head) local keepdisc = not sweepnode local lookaheaddisc = nil local backtrackdisc = nil @@ -2089,6 +2090,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) sweepnode = current current = getnext(current) else + -- we can use an iterator while replace and i <= l do if getid(replace) == glyph_code then i = i + 1 @@ -2189,7 +2191,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local current = prev local i = f local t = sweeptype == "pre" or sweeptype == "replace" - if not current and t and current == checkdisk then + if not current and t and current == checkdisc then current = getprev(sweepnode) end while current and i > 1 do -- missing getprev added / moved outside @@ -2218,7 +2220,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) end end current = getprev(current) - if t and current == checkdisk then + if t and current == checkdisc then current = getprev(sweepnode) end end @@ -2443,6 +2445,10 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s local current = start local last = start + if s == 1 then + goto next + end + -- current match if l > f then @@ -2512,10 +2518,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s break end end - -- commented, for Kai to check - -- if n <= l then - -- notmatchpre[last] = true - -- end + if n <= l then + notmatchpre[last] = true + end else notmatchpre[last] = true end diff --git a/tex/context/base/mkiv/grph-trf.mkiv b/tex/context/base/mkiv/grph-trf.mkiv index 522dd08d6..d6a6acd78 100644 --- a/tex/context/base/mkiv/grph-trf.mkiv +++ b/tex/context/base/mkiv/grph-trf.mkiv @@ -969,7 +969,7 @@ \d_grph_rotate_used_height\ht\nextbox % \clf_analyzerotate % rather accurate - \numexpr\p_rotation_rotation\relax + \p_rotation_rotation\space \d_grph_rotate_width \d_grph_rotate_height \d_grph_rotate_depth diff --git a/tex/context/base/mkiv/lpdf-lmt.lua b/tex/context/base/mkiv/lpdf-lmt.lua index 43c4c1059..90e1fcea2 100644 --- a/tex/context/base/mkiv/lpdf-lmt.lua +++ b/tex/context/base/mkiv/lpdf-lmt.lua @@ -2713,7 +2713,8 @@ do -- pdf.setforcefile(false) -- default anyway -- end -- - pdfname = file.addsuffix(tex.jobname,"pdf") + -- pdfname = file.addsuffix(tex.jobname,"pdf") + pdfname = tex.jobname .. ".pdf" openfile(pdfname) -- luatex.registerstopactions(1,function() diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua index ec1064a0d..1c80eb5b2 100644 --- a/tex/context/base/mkiv/lpdf-pde.lua +++ b/tex/context/base/mkiv/lpdf-pde.lua @@ -48,6 +48,7 @@ local abs = math.abs local concat, swapped, sortedhash, sortedkeys = table.concat, table.swapped, table.sortedhash, table.sortedkeys local utfchar = string.char local setmetatableindex = table.setmetatableindex +local ioopen = io.open local lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns local P, C, S, R, Ct, Cc, V, Carg, Cs, Cf, Cg = lpeg.P, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cc, lpeg.V, lpeg.Carg, lpeg.Cs, lpeg.Cf, lpeg.Cg @@ -67,6 +68,7 @@ local lpdf_epdf = { } lpdf.epdf = lpdf_epdf local pdfopen = pdfe.open +local pdfopenfile = pdfe.openfile local pdfnew = pdfe.new local pdfclose = pdfe.close @@ -440,8 +442,11 @@ function lpdf_epdf.load(filename,userpassword,ownerpassword,fromstring) if not document then statistics.starttiming(lpdf_epdf) local __data__ + local __file__ if fromstring then __data__ = pdfnew(filename,#filename) + elseif pdfopenfile then + __data__ = pdfopenfile(ioopen(filename,"rb")) else __data__ = pdfopen(filename) end diff --git a/tex/context/base/mkiv/luat-mac.lua b/tex/context/base/mkiv/luat-mac.lua index e6789a233..c754f602c 100644 --- a/tex/context/base/mkiv/luat-mac.lua +++ b/tex/context/base/mkiv/luat-mac.lua @@ -30,36 +30,89 @@ local report_macros = logs.reporter("interface","macros") local stack, top, n, hashes = { }, nil, 0, { } +-- local function set(s) +-- if top then +-- n = n + 1 +-- if n > 9 then +-- report_macros("number of arguments > 9, ignoring %s",s) +-- else +-- local ns = #stack +-- local h = hashes[ns] +-- if not h then +-- h = rep("#",2^(ns-1)) +-- hashes[ns] = h +-- end +-- if s == "ignore" then +-- top[s] = "" +-- return h .. "0" +-- else +-- local m = h .. n +-- top[s] = m +-- return m +-- end +-- end +-- end +-- end + +-- local function get(s) +-- if s == "ignore" then +-- return "" +-- else +-- if not top then +-- report_macros("keeping #%s, no stack",s) +-- return "#" .. s -- can be lua +-- end +-- local m = top[s] +-- if m then +-- return m +-- else +-- report_macros("keeping #%s, not on stack",s) +-- return "#" .. s -- quite likely an error +-- end +-- end +-- end + local function set(s) if top then - n = n + 1 - if n > 9 then - report_macros("number of arguments > 9, ignoring %s",s) + local ns = #stack + local h = hashes[ns] + if not h then + h = rep("#",2^(ns-1)) + hashes[ns] = h + end + if s == "ignore" then + return h .. "-" else - local ns = #stack - local h = hashes[ns] - if not h then - h = rep("#",2^(ns-1)) - hashes[ns] = h + n = n + 1 + if n > 9 then + report_macros("number of arguments > 9, ignoring %s",s) + elseif s == "discard" then + top[s] = "" + return h .. "0" + else + local m = h .. n + top[s] = m + return m end - local m = h .. n - top[s] = m - return m end end end local function get(s) - if not top then - report_macros("keeping #%s, no stack",s) - return "#" .. s -- can be lua - end - local m = top[s] - if m then - return m + if s == "ignore" or s == "discard" then + return "" else - report_macros("keeping #%s, not on stack",s) - return "#" .. s -- quite likely an error + if not top then + report_macros("keeping #%s, no stack",s) + return "#" .. s -- can be lua + end + local m = top[s] + if m then + return m + else + report_macros("keeping #%s, not on stack",s) + return "#" .. s -- quite likely an error + end end end @@ -336,6 +389,8 @@ end -- ]])) -- print(macros.preprocessed([[\checked \def \bla #bla{bla#{bla}}]])) +-- print(macros.preprocessed([[\checked \def \bla #bla#discard#foo{bla#{bla}+#ignore+bla#foo}]])) +-- print(macros.preprocessed([[\checked \def \bla #bla#ignore#foo{bla#{bla}+#ignore+bla#foo}]])) -- print(macros.preprocessed([[\def\bla#bla{#{bla}bla}]])) -- print(macros.preprocessed([[\def\blä#{blá}{blà:#{blá}}]])) -- print(macros.preprocessed([[\def\blä#bla{blà:#bla}]])) diff --git a/tex/context/base/mkiv/math-ini.mkxl b/tex/context/base/mkiv/math-ini.mkxl index 9cc3dfe1f..41b4e5d53 100644 --- a/tex/context/base/mkiv/math-ini.mkxl +++ b/tex/context/base/mkiv/math-ini.mkxl @@ -427,10 +427,8 @@ \unexpanded\def\math_set_font_style_alternate#1% {\ifcsname\??mathstylealternative\fontclass:#1\endcsname - %\expandafter\math_set_font_alternate\csname\??mathstylealternate\fontclass:#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs \orelse\ifcsname\??mathstylealternative#1\endcsname - %\expandafter\math_set_font_alternate\csname\??mathstylealternate#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs \fi} @@ -719,15 +717,15 @@ \unexpanded\def\math_strut_normal {\vrule - \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \s!width \zeropoint + \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \relax} \unexpanded\def\math_strut_visual {\hskip-.01\emwidth \vrule - \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \s!width .02\emwidth + \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \relax \hskip-.01\emwidth} diff --git a/tex/context/base/mkiv/math-rad.mkvi b/tex/context/base/mkiv/math-rad.mkvi index c640e768e..c279c3526 100644 --- a/tex/context/base/mkiv/math-rad.mkvi +++ b/tex/context/base/mkiv/math-rad.mkvi @@ -26,12 +26,24 @@ % \def\rootradical{\Uroot \defaultmathfamily "221A } % can be done in char-def % \def\surdradical{\Uradical \defaultmathfamily "221A } % can be done in char-def -\def\root#1\of{\rootradical{#1}} % #2 +\unexpanded\def\root#1\of{\rootradical{#1}} % #2 \unexpanded\def\sqrt{\doifelsenextoptionalcs\rootwithdegree\rootwithoutdegree} -\unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird - {\normalexpanded{\rootradical{\normalunexpanded{#1}}{\noexpand\triggermathstyle{\normalmathstyle}\normalunexpanded{#2}}}} +\ifcase \contextlmtxmode + + \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird + {\normalexpanded{\rootradical + {\normalunexpanded{#1}}% + {\noexpand\triggermathstyle{\number\normalmathstyle}% + \normalunexpanded{#2}}}} + +\else % experimental new keyword: (maybe keywords should come after the symbol) + + \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird + {\Uroot style \normalmathstyle "0 "221A {#1}{#2}} + +\fi \unexpanded\def\rootwithdegree[#1]{\rootradical{#1}} \unexpanded\def\rootwithoutdegree {\rootradical {}} diff --git a/tex/context/base/mkiv/mult-aux.mkxl b/tex/context/base/mkiv/mult-aux.mkxl index e73b5ef45..74e717128 100644 --- a/tex/context/base/mkiv/mult-aux.mkxl +++ b/tex/context/base/mkiv/mult-aux.mkxl @@ -168,6 +168,10 @@ %D manual does less than 6000 assignments and the payoff starts around a tenfold of %D that. But \unknown\ it's less tracing, so that's another benefit. +%D Watch out: we accept that a \[k=v,,k=v] will generate a case where a key can become +%D a comma and trigger a warning but we intercept that elsewhere. The alternative is +%D to skip to the comma first which takes more time. + \let\m_mult_interfaces_namespace\empty \def\mult_interfaces_get_parameters#1[#2% @@ -201,8 +205,11 @@ \mult_interfaces_adef\m_mult_interfaces_namespace{#1}{#2}% \fi} -\def\mult_interfaces_get_parameters_item_error#0#0#0#4#5% - {\mult_interfaces_get_parameters_error_indeed{#4}{#5}} +% \def\mult_interfaces_get_parameters_item_error#0#0#0#4#5% +% {\if,#5\else\mult_interfaces_get_parameters_error_indeed{#4}{#5}\fi} + +\def\mult_interfaces_get_parameters_item_error#-#-#-#1#2% + {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi} \startinterface english @@ -215,18 +222,27 @@ \expandafter\def\csname\m_mult_interfaces_namespace#1\endcsname{#2}% \fi} - \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0% - {\mult_interfaces_get_parameters_error_indeed{#2}{#3}} +% \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0% +% {\if,#3\else\mult_interfaces_get_parameters_error_indeed{#2}{#3}\fi} + + \def\mult_interfaces_get_parameters_item_error#-\csname#1#2\endcsname#-% + {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi} \stopinterface %D Used? -\def\mult_check_for_assignment_indeed#0=#2#0^^^^0004% - {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi} +% \def\mult_check_for_assignment_indeed#0=#2#0^^^^0004% +% {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi} +% +% \def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004% +% {\if#2^^^^0003} + +\def\mult_check_for_assignment_indeed#-=#1#-^^^^0004% + {\if#1^^^^0003\assignmentfalse\else\assignmenttrue\fi} -\def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004% - {\if#2^^^^0003} +\def\mult_check_for_assignment_indeed_begin_#-=#1#-^^^^0004% + {\if#1^^^^0003} \def\mult_check_for_assignment#1% {\expandafter\mult_check_for_assignment_indeed\detokenize{#1}=^^^^0003^^^^0003^^^^0004} diff --git a/tex/context/base/mkiv/mult-ini.lua b/tex/context/base/mkiv/mult-ini.lua index 0c8581281..3dc425953 100644 --- a/tex/context/base/mkiv/mult-ini.lua +++ b/tex/context/base/mkiv/mult-ini.lua @@ -454,16 +454,18 @@ implement { local function showassignerror(namespace,key,line) - local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)") - if ns then - namespace = corenamespaces[tonumber(ns)] or ns - end - -- injected in the stream for timing: - if instance and instance ~= "" then - context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key)) - else - context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key)) - end + -- if key and key ~= "" and key ~= "," then + local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)") + if ns then + namespace = corenamespaces[tonumber(ns)] or ns + end + -- injected in the stream for timing: + if instance and instance ~= "" then + context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key)) + else + context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key)) + end + -- end end implement { diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index ec65d6a7c..58202fa1a 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -57,7 +57,8 @@ return { "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", -- "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", - "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", + "commaasciicode", "spaceasciicode", "periodasciicode", + "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index 91afcf524..e4ff584b4 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -271,8 +271,10 @@ return { "etoksapp", "etokspre", "exceptionpenalty", + "expandafterpars", "expandafterspaces", "expanded", + "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", @@ -329,6 +331,7 @@ return { "lastnodesubtype", "leftmarginkern", "letcharcode", + "letdatacode", "letfrozen", "letprotected", "linedirection", diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv index ba81a0956..393668c60 100644 --- a/tex/context/base/mkiv/pack-rul.mkiv +++ b/tex/context/base/mkiv/pack-rul.mkiv @@ -1900,7 +1900,7 @@ {\iffirstargument \setupcurrentmathframed[#1]% \fi - \c_framed_mstyle\mathstyle + \c_framed_mstyle\normalmathstyle \edef\m_framed_location{\mathframedparameter\c!location}% \ifx\m_framed_location\v!mathematics \let\normalstrut\pack_framed_math_pos diff --git a/tex/context/base/mkiv/pack-rul.mkxl b/tex/context/base/mkiv/pack-rul.mkxl index 4fef06ad0..6268aad3e 100644 --- a/tex/context/base/mkiv/pack-rul.mkxl +++ b/tex/context/base/mkiv/pack-rul.mkxl @@ -1949,7 +1949,7 @@ {\iffirstargument \setupcurrentmathframed[#1]% \fi - \c_framed_mstyle\mathstyle + \c_framed_mstyle\normalmathstyle \edef\m_framed_location{\mathframedparameter\c!location}% \ifx\m_framed_location\v!mathematics \let\normalstrut\pack_framed_math_pos diff --git a/tex/context/base/mkiv/page-bck.mkiv b/tex/context/base/mkiv/page-bck.mkiv index 1ec7cdbb8..1af681049 100644 --- a/tex/context/base/mkiv/page-bck.mkiv +++ b/tex/context/base/mkiv/page-bck.mkiv @@ -269,14 +269,14 @@ \def\page_backgrounds_set_boxes_b {\ifconditional\c_page_backgrounds_new_left % \showmessage\m!layouts8\empty - \page_backgrounds_set_box\leftbackground % \conditionalfalse + \page_backgrounds_set_box\leftbackground \global\setfalse\c_page_backgrounds_new_left \fi} \def\page_backgrounds_set_boxes_c {\ifconditional\c_page_backgrounds_new_right % \showmessage\m!layouts8\empty - \page_backgrounds_set_box\rightbackground % \conditionaltrue + \page_backgrounds_set_box\rightbackground \global\setfalse\c_page_backgrounds_new_right \fi} diff --git a/tex/context/base/mkiv/page-lin.mkvi b/tex/context/base/mkiv/page-lin.mkvi index 6a03d12e4..4debcb68f 100644 --- a/tex/context/base/mkiv/page-lin.mkvi +++ b/tex/context/base/mkiv/page-lin.mkvi @@ -16,6 +16,9 @@ % % to be redone (was experiment) .. can be hooked into margin code % reshuffle arguments +% +% this is early luatex code, 2007 or even before that, and it shows ... we +% have better tricks now \writestatus{loading}{ConTeXt Core Macros / Line Numbering} @@ -348,6 +351,7 @@ \def\page_lines_add_numbers_to_box#box#column#max#nesting% {\bgroup + \strc_tags_enable_indeed \b_page_lines_number #box\relax \c_page_lines_column #column\relax \c_page_lines_last_column#max\relax @@ -459,24 +463,34 @@ % \def\dodollap{\hbox to \zeropoint{\normalhss\box\nextbox}\endgroup} \def\page_line_handle_left#align#width#distance% - {\llap + {\dostarttagged\t!linenumber\empty + \llap {\page_lines_number_inject#align#width% + \dostarttagged\t!ignore\empty \kern\dimexpr #distance+\d_page_lines_distance \ifconditional\c_page_lines_dir_left_to_right\else+\d_page_lines_line_width\fi \relax \the\everylinenumber - \hss}} + \hss + \dostoptagged}% + \dostoptagged} \def\page_line_handle_right#align#width#distance% - {\rlap - {\kern\dimexpr + {\dostarttagged\t!linenumber\empty + \rlap + {\dostarttagged\t!ignore\empty + \kern\dimexpr #distance+\d_page_lines_distance \ifconditional\c_page_lines_dir_left_to_right+\d_page_lines_line_width\fi \relax + \dostoptagged \page_lines_number_inject#align#width% + \dostarttagged\t!ignore\empty \the\everylinenumber - \hss}} + \hss + \dostoptagged}% + \dostoptagged} \setuvalue{\??linenumberinghandler\v!left}% {\page_line_handle_left\p_align\leftmarginwidth\leftmargindistance} diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex 3aa2579ce..e57661b9e 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 713f812fa..271444c2d 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/strc-tag.lua b/tex/context/base/mkiv/strc-tag.lua index 88e0f108d..694f7bdf0 100644 --- a/tex/context/base/mkiv/strc-tag.lua +++ b/tex/context/base/mkiv/strc-tag.lua @@ -104,6 +104,7 @@ local properties = allocate { -- todo: more "record = true" to improve forma lines = { pdf = "Code", nature = "display" }, line = { pdf = "Code", nature = "mixed" }, + linenumber = { pdf = "Span", nature = "inline" }, synonym = { pdf = "Span", nature = "inline" }, sorting = { pdf = "Span", nature = "inline" }, @@ -362,7 +363,9 @@ function tags.start(tag,specification) metadata = nil end local userdata = specification.userdata - if userdata ~= "" and type(userdata) == "string" then + if userdata == "" then + specification.userdata = nil + elseif type(userdata) == "string" then specification.userdata = settings_to_hash(userdata) end local detail = specification.detail diff --git a/tex/context/base/mkiv/strc-tag.mkiv b/tex/context/base/mkiv/strc-tag.mkiv index 83ee03090..ab532f0ef 100644 --- a/tex/context/base/mkiv/strc-tag.mkiv +++ b/tex/context/base/mkiv/strc-tag.mkiv @@ -61,6 +61,7 @@ \def\t!lines {lines} % Code \def\t!line {line} % Code +\def\t!linenumber {linenumber} % Span \def\t!sorting {sorting} % Span \def\t!synonym {synonym} % Span @@ -329,11 +330,8 @@ \chardef\strc_tags_placeholder_char\zerocount % "FFFC -\unexpanded\def\strc_tags_enable - {% once enable one is toast - \global\settrue\c_strc_tags_enabled - % and gets: - \let\dotaggedplaceholder \strc_tags_placeholder_char +\unexpanded\def\strc_tags_enable_indeed + {\let\dotaggedplaceholder \strc_tags_placeholder_char \let\dostarttagged \strc_tags_enabled_start_detail \let\dostarttaggednodetail\strc_tags_enabled_start_no_detail \let\dostarttaggedchained \strc_tags_enabled_start_chained @@ -341,6 +339,12 @@ \let\dostartignoretagging \strc_tags_start_yes_ignore \let\dostopignoretagging \strc_tags_stop_yes_ignore} +\unexpanded\def\strc_tags_enable + {% once enable one is toast + \global\settrue\c_strc_tags_enabled + % and gets: + \strc_tags_enable_indeed} + \unexpanded\def\strc_tags_disable {\ifconditional\c_strc_tags_enabled % so now all are artifacts diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua index 8c615b528..353562344 100644 --- a/tex/context/base/mkiv/supp-box.lua +++ b/tex/context/base/mkiv/supp-box.lua @@ -28,6 +28,11 @@ local vlist_code = nodecodes.vlist local glue_code = nodecodes.glue local penalty_code = nodecodes.penalty local glyph_code = nodecodes.glyph +local localpar_code = nodecodes.localpar + +local indent_code = nodes.listcodes.indent + +local hmode_code = tex.modelevels.horizontal local nuts = nodes.nuts local tonut = nuts.tonut @@ -39,6 +44,7 @@ local getprev = nuts.getprev local getboth = nuts.getboth local getdisc = nuts.getdisc local getid = nuts.getid +local getsubtype = nuts.getsubtype local getlist = nuts.getlist local getattribute = nuts.getattribute local getbox = nuts.getbox @@ -89,6 +95,7 @@ local setlistcolor = nodes.tracers.colors.setlist local texget = tex.get local texgetbox = tex.getbox local texsetdimen = tex.setdimen +local texgetnest = tex.getnest local function hyphenatedlist(head,usecolor) local current = head and tonut(head) @@ -828,24 +835,50 @@ implement { if CONTEXTLMTXMODE > 0 then - interfaces.implement { name = "widthuptohere", public = true, protected = true, value = true, actions = function() - local n = tex.getnest() + local n = texgetnest() local w = 0 - if n.mode == tex.modelevels.horizontal then - local h = nodes.hpack(n.head.next) - w = h.width - h.list = nil - nodes.free(h) + if n.mode == hmode_code then + local h = hpack(getnext(tonut(n.head))) + w = getwidth(h) + setlist(h) + free(h) end return tokens.values.dimension, w end, } - end + +interfaces.implement { + name = "doifelseindented", + public = true, + protected = true, + actions = function() + local n = texgetnest() + local b = false + if n.mode == hmode_code then + n = tonut(n.head) + while n do + n = getnext(n) + if n then + local id = getid(n) + if id == hlist_code then + if getsubtype(n) == indent_code then + b = getwidth(n) > 0 + break + end + elseif id ~= localpar_code then + break + end + end + end + end + commands.doifelse(b) + end, +} diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv index 74a3462dd..35b400b09 100644 --- a/tex/context/base/mkiv/supp-box.mkiv +++ b/tex/context/base/mkiv/supp-box.mkiv @@ -220,7 +220,7 @@ \newcount\c_boxes_math_style \unexpanded\def\syst_boxes_math_set_nextbox#1% - {\c_boxes_math_style\mathstyle + {\c_boxes_math_style\normalmathstyle \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}} %D \macros diff --git a/tex/context/base/mkiv/supp-box.mkxl b/tex/context/base/mkiv/supp-box.mkxl index af1030f2f..bb3c71aaa 100644 --- a/tex/context/base/mkiv/supp-box.mkxl +++ b/tex/context/base/mkiv/supp-box.mkxl @@ -189,7 +189,7 @@ \newcount\c_boxes_math_style \unexpanded\def\syst_boxes_math_set_nextbox#1% - {\c_boxes_math_style\mathstyle + {\c_boxes_math_style\normalmathstyle \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}} %D \macros diff --git a/tex/context/base/mkiv/syst-aux.mkxl b/tex/context/base/mkiv/syst-aux.mkxl index c92201aa2..d78a7b307 100644 --- a/tex/context/base/mkiv/syst-aux.mkxl +++ b/tex/context/base/mkiv/syst-aux.mkxl @@ -201,21 +201,37 @@ %D is more efficient but it probably won't be noticed. It's anyway cheaper on memory %D access. -\def\gobbleoneargument #0{} -\def\gobbletwoarguments #0#0{} -\def\gobblethreearguments #0#0#0{} -\def\gobblefourarguments #0#0#0#0{} -\def\gobblefivearguments #0#0#0#0{} -\def\gobblesixarguments #0#0#0#0{} -\def\gobblesevenarguments #0#0#0#0#0{} -\def\gobbleeightarguments #0#0#0#0#0#0{} -\def\gobbleninearguments #0#0#0#0#0#0#0{} - -\def\gobbleoneoptional [#0]{} -\def\gobbletwooptionals [#0][#0]{} -\def\gobblethreeoptionals[#0][#0][#0]{} -\def\gobblefouroptionals [#0][#0][#0][#0]{} -\def\gobblefiveoptionals [#0][#0][#0][#0][#0]{} +% \def\gobbleoneargument #0{} +% \def\gobbletwoarguments #0#0{} +% \def\gobblethreearguments #0#0#0{} +% \def\gobblefourarguments #0#0#0#0{} +% \def\gobblefivearguments #0#0#0#0{} +% \def\gobblesixarguments #0#0#0#0{} +% \def\gobblesevenarguments #0#0#0#0#0{} +% \def\gobbleeightarguments #0#0#0#0#0#0{} +% \def\gobbleninearguments #0#0#0#0#0#0#0{} +% +% \def\gobbleoneoptional [#0]{} +% \def\gobbletwooptionals [#0][#0]{} +% \def\gobblethreeoptionals[#0][#0][#0]{} +% \def\gobblefouroptionals [#0][#0][#0][#0]{} +% \def\gobblefiveoptionals [#0][#0][#0][#0][#0]{} + +\def\gobbleoneargument #-{} +\def\gobbletwoarguments #-#-{} +\def\gobblethreearguments #-#-#-{} +\def\gobblefourarguments #-#-#-#-{} +\def\gobblefivearguments #-#-#-#-{} +\def\gobblesixarguments #-#-#-#-{} +\def\gobblesevenarguments #-#-#-#-#-{} +\def\gobbleeightarguments #-#-#-#-#-#-{} +\def\gobbleninearguments #-#-#-#-#-#-#-{} + +\def\gobbleoneoptional [#-]{} +\def\gobbletwooptionals [#-][#-]{} +\def\gobblethreeoptionals[#-][#-][#-]{} +\def\gobblefouroptionals [#-][#-][#-][#-]{} +\def\gobblefiveoptionals [#-][#-][#-][#-][#-]{} %D Reserved macros for tests: @@ -621,31 +637,65 @@ %D These are normally only used for keywords, i.e.\ strings so we can delegate %D the work to \LUA: -% \unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}} -% \unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}} -% \unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}} +\unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}} +\unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}} +\unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}} % % \let\firstinset \clf_firstinset -\unexpanded\def\doifelseinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\firstoftwoarguments - \else - \expandafter\secondoftwoarguments - \fi} +% These don't accept spaces after commas: +% +% \unexpanded\def\doifelseinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\firstoftwoarguments +% \else +% \expandafter\secondoftwoarguments +% \fi} -\unexpanded\def\doifinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\firstofoneargument - \else - \expandafter\gobbleoneargument - \fi} +% \unexpanded\def\doifinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\firstofoneargument +% \else +% \expandafter\gobbleoneargument +% \fi} -\unexpanded\def\doifnotinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\gobbleoneargument - \else - \expandafter\firstofoneargument - \fi} +% \unexpanded\def\doifnotinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\gobbleoneargument +% \else +% \expandafter\firstofoneargument +% \fi} + +% But these do: + +\edef\a!comma{\expandtoken \ignorecatcode \commaasciicode} +\edef\a!space{\expandtoken \ignorecatcode \spaceasciicode} + +\normalexpanded { + + \unexpanded \def \noexpand \doifelseinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\firstoftwoarguments + \noexpand\else + \noexpand\expandafter\noexpand\secondoftwoarguments + \noexpand\fi} + + \unexpanded \def \noexpand \doifinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\firstofoneargument + \noexpand\else + \noexpand\expandafter\noexpand\gobbleoneargument + \noexpand\fi} + + \unexpanded \def \noexpand \doifnotinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\gobbleoneargument + \noexpand\else + \noexpand\expandafter\noexpand\firstofoneargument + \noexpand\fi} + +} + +%D Done. \let\doifinsetelse\doifelseinset @@ -769,10 +819,15 @@ \normalexpanded{\noexpand\expandafterspaces\syst_helpers_process_comma_item#1,}\ignorearguments\ignorearguments\ignorearguments \popmacro\commalistcommand} +% \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next +% \def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} +% \def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} +% \def\syst_helpers_process_comma_item_gobble#0\ignorearguments{} + \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next -\def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} -\def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} -\def\syst_helpers_process_comma_item_gobble#0\ignorearguments{} +\def\syst_helpers_process_comma_item_next_b#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} +\def\syst_helpers_process_comma_item_next_c#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} +\def\syst_helpers_process_comma_item_gobble#-\ignorearguments{} \unexpanded\def\quitcommalist {\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} \unexpanded\def\quitprevcommalist{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_c} @@ -1298,7 +1353,10 @@ \fi \fi} -\def\syst_helpers_raw_process_action_gobble#0\ignorearguments +% \def\syst_helpers_raw_process_action_gobble#0\ignorearguments +% {} + +\def\syst_helpers_raw_process_action_gobble#-\ignorearguments {} \def\syst_helpers_raw_process_action_next @@ -1483,10 +1541,16 @@ \def\syst_helpers_grab_parameter_next {\expandafterspaces\syst_helpers_grab_parameter} -\unexpanded\def\dogetparameters#1[#2]#0[#4]% +% \unexpanded\def\dogetparameters#1[#2]#0[#4]% +% {\def\m_syst_parameter_n{#2}% +% \let\m_syst_parameter_s#1% +% \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments} + +\unexpanded\def\dogetparameters#1[#2]#-[#3]% {\def\m_syst_parameter_n{#2}% \let\m_syst_parameter_s#1% - \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments} + \expandafterspaces\syst_helpers_grab_parameter#3\ignorearguments\ignorearguments} + %D \macros %D {getemptyparameters} @@ -1634,7 +1698,7 @@ \def\commalistsize{0} -\def\syst_helpers_get_comma_list_size#0,% +\def\syst_helpers_get_comma_list_size#0,% no #- as we need to count {\ifarguments\or \advance\commalistcounter\plusone \expandafter\syst_helpers_get_comma_list_size @@ -1665,7 +1729,9 @@ %D Filters: -\def\syst_helpers_gobble_comma_list#0\ignorearguments{} +% \def\syst_helpers_gobble_comma_list#0\ignorearguments{} + +\def\syst_helpers_gobble_comma_list#-\ignorearguments{} \def\syst_helpers_get_from_comma_list#1,% {\ifarguments \or @@ -2505,32 +2571,59 @@ % \def\fifthofsixarguments #1#2#3#4#5#6{#5} % \def\sixthofsixarguments #1#2#3#4#5#6{#6} +% \def\firstofoneargument #1{#1} +% +% \def\firstoftwoarguments #1#0{#1} +% \def\secondoftwoarguments #0#2{#2} +% +% \def\firstofthreearguments #1#0#0{#1} +% \def\secondofthreearguments #0#2#0{#2} +% \def\thirdofthreearguments #0#0#3{#3} +% +% \def\firstoffourarguments #1#0#0#0{#1} +% \def\secondoffourarguments #0#2#0#0{#2} +% \def\thirdoffourarguments #0#0#3#0{#3} +% \def\fourthoffourarguments #0#0#0#4{#4} +% +% \def\firstoffivearguments #1#0#0#0#0{#1} +% \def\secondoffivearguments #0#2#0#0#0{#2} +% \def\thirdoffivearguments #0#0#3#0#0{#3} +% \def\fourthoffivearguments #0#0#0#4#0{#4} +% \def\fifthoffivearguments #0#0#0#0#5{#5} +% +% \def\firstofsixarguments #1#0#0#0#0#0{#1} +% \def\secondofsixarguments#0#2#0#0#0#0{#2} +% \def\thirdofsixarguments #0#0#3#0#0#0{#3} +% \def\fourthofsixarguments#0#0#0#4#0#0{#4} +% \def\fifthofsixarguments #0#0#0#0#5#0{#5} +% \def\sixthofsixarguments #0#0#0#0#0#6{#6} + \def\firstofoneargument #1{#1} -\def\firstoftwoarguments #1#0{#1} -\def\secondoftwoarguments #0#2{#2} +\def\firstoftwoarguments #1#-{#1} +\def\secondoftwoarguments #-#1{#1} -\def\firstofthreearguments #1#0#0{#1} -\def\secondofthreearguments #0#2#0{#2} -\def\thirdofthreearguments #0#0#3{#3} +\def\firstofthreearguments #1#-#-{#1} +\def\secondofthreearguments #-#1#-{#1} +\def\thirdofthreearguments #-#-#1{#1} -\def\firstoffourarguments #1#0#0#0{#1} -\def\secondoffourarguments #0#2#0#0{#2} -\def\thirdoffourarguments #0#0#3#0{#3} -\def\fourthoffourarguments #0#0#0#4{#4} +\def\firstoffourarguments #1#-#-#-{#1} +\def\secondoffourarguments #-#1#-#-{#1} +\def\thirdoffourarguments #-#-#1#-{#1} +\def\fourthoffourarguments #-#-#-#1{#1} -\def\firstoffivearguments #1#0#0#0#0{#1} -\def\secondoffivearguments #0#2#0#0#0{#2} -\def\thirdoffivearguments #0#0#3#0#0{#3} -\def\fourthoffivearguments #0#0#0#4#0{#4} -\def\fifthoffivearguments #0#0#0#0#5{#5} +\def\firstoffivearguments #1#-#-#-#-{#1} +\def\secondoffivearguments #-#1#-#-#-{#1} +\def\thirdoffivearguments #-#-#1#-#-{#1} +\def\fourthoffivearguments #-#-#-#1#-{#1} +\def\fifthoffivearguments #-#-#-#-#1{#1} -\def\firstofsixarguments #1#0#0#0#0#0{#1} -\def\secondofsixarguments#0#2#0#0#0#0{#2} -\def\thirdofsixarguments #0#0#3#0#0#0{#3} -\def\fourthofsixarguments#0#0#0#4#0#0{#4} -\def\fifthofsixarguments #0#0#0#0#5#0{#5} -\def\sixthofsixarguments #0#0#0#0#0#6{#6} +\def\firstofsixarguments #1#-#-#-#-#-{#1} +\def\secondofsixarguments#-#1#-#-#-#-{#1} +\def\thirdofsixarguments #-#-#1#-#-#-{#1} +\def\fourthofsixarguments#-#-#-#1#-#-{#1} +\def\fifthofsixarguments #-#-#-#-#1#-{#1} +\def\sixthofsixarguments #-#-#-#-#-#1{#1} % \unexpanded\def\firstofoneunexpanded #1{#1} % @@ -2541,14 +2634,23 @@ % \unexpanded\def\secondofthreeunexpanded#1#2#3{#2} % \unexpanded\def\thirdofthreeunexpanded #1#2#3{#3} +% \unexpanded\def\firstofoneunexpanded #1{#1} +% +% \unexpanded\def\firstoftwounexpanded #1#0{#1} +% \unexpanded\def\secondoftwounexpanded #0#2{#2} +% +% \unexpanded\def\firstofthreeunexpanded #1#0#0{#1} +% \unexpanded\def\secondofthreeunexpanded#0#2#0{#2} +% \unexpanded\def\thirdofthreeunexpanded #0#0#3{#3} + \unexpanded\def\firstofoneunexpanded #1{#1} -\unexpanded\def\firstoftwounexpanded #1#0{#1} -\unexpanded\def\secondoftwounexpanded #0#2{#2} +\unexpanded\def\firstoftwounexpanded #1#-{#1} +\unexpanded\def\secondoftwounexpanded #-#1{#1} -\unexpanded\def\firstofthreeunexpanded #1#0#0{#1} -\unexpanded\def\secondofthreeunexpanded#0#2#0{#2} -\unexpanded\def\thirdofthreeunexpanded #0#0#3{#3} +\unexpanded\def\firstofthreeunexpanded #1#-#-{#1} +\unexpanded\def\secondofthreeunexpanded#-#1#-{#1} +\unexpanded\def\thirdofthreeunexpanded #-#-#1{#1} %D \macros %D {globalletempty,letempty, @@ -2643,10 +2745,15 @@ \def\syst_helpers_grab_raw_parameter_next {\expandafterspaces\syst_helpers_grab_raw_parameter} -\unexpanded\def\rawgetparameters#1[#2]#0[#4]% +% \unexpanded\def\rawgetparameters#1[#2]#0[#4]% +% {\def\m_syst_parameter_n{#2}% +% %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} +% \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} + +\unexpanded\def\rawgetparameters#1[#2]#-[#3]% {\def\m_syst_parameter_n{#2}% - %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} - \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} + %\expandafterspaces\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments} + \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments} %D \macros %D {doglobal, @@ -3082,10 +3189,7 @@ \globalpushmacro\recurseaction \unexpanded\gdef\recurseaction##1##2{#1}% \let\endofloop\syst_helpers_loop - \syst_helpers_loop1% no \plusone else \recurselevel wrong - \globalpopmacro\recurselevel - \globalpopmacro\recurseaction - \global\advance\outerrecurse\minusone} + \syst_helpers_loop1}% no \plusone else \recurselevel wrong \unexpanded\def\syst_helpers_loop#1% {\def\recurselevel{#1}% @@ -3095,13 +3199,16 @@ {\syst_helpers_recurse_content \endofloop} -\unexpanded\def\syst_helpers_loop_nop#1% - {} +\unexpanded\def\syst_helpers_loop_nop#0% + {\let\endofloop\syst_helpers_loop + \globalpopmacro\recurselevel + \globalpopmacro\recurseaction + \global\advance\outerrecurse\minusone} \unexpanded\def\exitloop % \exitloop quits at end {\let\endofloop\syst_helpers_loop_nop} -\unexpanded\def\exitloopnow#1\endofloop % \exitloopnow quits directly +\unexpanded\def\exitloopnow#0\endofloop % \exitloopnow quits directly {\syst_helpers_loop_nop} %D The loop is executed at least once, so beware of situations like: @@ -3689,9 +3796,9 @@ % {} \unexpanded\def\gobbleuntil#1% - {\def\syst_helpers_gobble_indeed##0#1{}\syst_helpers_gobble_indeed} + {\def\syst_helpers_gobble_indeed##-#1{}\syst_helpers_gobble_indeed} -\unexpanded\def\gobbleuntilrelax#0\relax +\unexpanded\def\gobbleuntilrelax#-\relax {} %D The next one simply expands the pickup up tokens. @@ -4316,7 +4423,7 @@ \let\syst_helpers_split_string\relax \unexpanded\def\beforesplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##1#2##0^^^^0004% + {\def\syst_helpers_split_string##1#2##0^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4327,7 +4434,7 @@ \expandafter\syst_helpers_split_string#1^^^^0004\ignorearguments\ignorearguments} \unexpanded\def\aftersplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##0#2##2^^^^0004% + {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4387,7 +4494,7 @@ \let\beforetestandsplitstring\beforesplitstring \unexpanded\def\aftertestandsplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##0#2##2^^^^0004% + {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4418,11 +4525,17 @@ %D splitatcolon, %D splitatcolons} -\unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}} +% \unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}} + +\unexpanded\def\syst_helpers_splitatperiod #1.#2.#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcomma #1,#2,#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcolon #1:#2:#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcolons #1::#2::#-^^^^0004#3#4{\edef#3{#1}\edef#4{#2}} \unexpanded\def\splitatperiod #1{\normalexpanded{\syst_helpers_splitatperiod #1}..^^^^0004} \unexpanded\def\splitatcomma #1{\normalexpanded{\syst_helpers_splitatcomma #1},,^^^^0004} % not at ", " @@ -4528,14 +4641,16 @@ {\dodoglobal\edef#2{#1\ifempty#2\else,#2\fi}}} \unexpanded\def\xsplitstring#1#2% \cs {str} - {\def\syst_helpers_split_string##1,#2,##2,#2,##3\\% + %{\def\syst_helpers_split_string##1,#2,##2,#2,##3\\% + {\def\syst_helpers_split_string##1,#2,##2,#2,##-\\% {\edef\m_syst_string_one{\bcleanedupcommalist##1\empty\empty\relax}% \edef\m_syst_string_two{\acleanedupcommalist##2,,\relax}}% \expandafter\syst_helpers_split_string\expandafter,#1,,#2,,#2,\\} \def\bcleanedupcommalist#1#2#3\relax{\if#1,\else#1\fi\if#2,\else#2\fi#3} \def\bcleanedupcommalist#1#2\relax{\if#1,\else#1\fi#2} -\def\acleanedupcommalist#1,,#2\relax{#1} +%def\acleanedupcommalist#1,,#2\relax{#1} +\def\acleanedupcommalist#1,,#-\relax{#1} \unexpanded\def\removefromcommalist#1#2% to be sped up {\rawdoifelseinset{#1}#2% @@ -4694,8 +4809,7 @@ % \def\PtToCm#1% % {\withoutpt\the\dimexpr0.0351459804\dimexpr#1\relax\relax cm} -\def\PtToCm#1% - {\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm} +\def\PtToCm#1{\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm} %D We also support: %D @@ -5228,9 +5342,16 @@ %D This command can be integrated in \type {\getparameters}, but we decided best not %D to do so. +% \unexpanded\def\processassignlist#1[#2]#3% +% {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]% +% {\doif{##3}\relax{#3{##1}}}% +% \def\syst_helpers_process_assign_list_step##1% +% {\syst_helpers_process_assign_list_assign[##1==\relax]}% +% \processcommalist[#2]\syst_helpers_process_assign_list_step} + \unexpanded\def\processassignlist#1[#2]#3% - {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]% - {\doif{##3}\relax{#3{##1}}}% + {\def\syst_helpers_process_assign_list_assign[##1=##-=##2]% + {\doif{##2}\relax{#3{##1}}}% \def\syst_helpers_process_assign_list_step##1% {\syst_helpers_process_assign_list_assign[##1==\relax]}% \processcommalist[#2]\syst_helpers_process_assign_list_step} @@ -6293,7 +6414,10 @@ \def\docheckedpair#1% {\syst_helpers_checked_pair#1,,\_o_e_p_} -\def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_ +% \def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_ +% {#1,#2} + +\def\syst_helpers_checked_pair#1,#2,#-\_o_e_p_ {#1,#2} %D Here are some nasty helpers. They can be used to fill often expanded token diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index 3e71e0893..1de243a6d 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -58,7 +58,9 @@ \chardef\primeasciicode 39 % ' \chardef\leftparentasciicode 40 \chardef\rightparentasciicode 41 +\chardef\commaasciicode 44 \chardef\hyphenasciicode 45 +\chardef\periodasciicode 46 \chardef\forwardslashasciicode 47 % / \chardef\colonasciicode 58 \chardef\lessthanasciicode 60 % < used as alternative verbatim { diff --git a/tex/context/base/mkiv/syst-ini.mkxl b/tex/context/base/mkiv/syst-ini.mkxl index 09ab93d58..a4c355bba 100644 --- a/tex/context/base/mkiv/syst-ini.mkxl +++ b/tex/context/base/mkiv/syst-ini.mkxl @@ -58,7 +58,9 @@ \chardef\primeasciicode 39 % ' \chardef\leftparentasciicode 40 \chardef\rightparentasciicode 41 +\chardef\commaasciicode 44 \chardef\hyphenasciicode 45 +\chardef\periodasciicode 46 \chardef\forwardslashasciicode 47 % / \chardef\colonasciicode 58 \chardef\lessthanasciicode 60 % < used as alternative verbatim { diff --git a/tex/context/base/mkiv/toks-ini.lua b/tex/context/base/mkiv/toks-ini.lua index f38cf915f..da5affa63 100644 --- a/tex/context/base/mkiv/toks-ini.lua +++ b/tex/context/base/mkiv/toks-ini.lua @@ -67,7 +67,7 @@ local scan_luainteger = token.scan_luainteger or scan_int -- only lmtx local scan_luacardinal = token.scan_luacardinal or scan_int -- only lmtx local get_next = token.get_next -local get_next_token = token.get_next_token +----- get_next_token = token.get_next_token local skip_next = token.skip_next local peek_next_char = token.peek_next_char local is_next_char = token.is_next_char @@ -90,6 +90,9 @@ tokens.istoken = is_token tokens.isdefined = is_defined tokens.defined = is_defined +tokens.getdata = token.get_data -- only lmtx +tokens.setdata = token.set_data -- only lmtx + local bits = { escape = 0x00000001, -- 2^00 begingroup = 0x00000002, -- 2^01 @@ -278,6 +281,7 @@ if setinspector then frozen = t.frozen, mode = t.mode, index = t.index, + user = t.user, cmdname = cmdname, } end @@ -298,3 +302,18 @@ tokens.cache = table.setmetatableindex(function(t,k) t[k] = v return v end) + +if LUATEXVERSION < 114 and CONTEXTLMTXMODE == 0 then + + local d = tokens.defined + local c = tokens.create + + function tokens.defined(s,b) + if b then + return d(s) + else + return c(s).cmd_name == "undefined_cmd" + end + end + +end diff --git a/tex/context/base/mkiv/type-ini.mklx b/tex/context/base/mkiv/type-ini.mklx index b4eee64d8..c710fbec5 100644 --- a/tex/context/base/mkiv/type-ini.mklx +++ b/tex/context/base/mkiv/type-ini.mklx @@ -277,7 +277,7 @@ \expandafter\font_typescripts_start_gobble \fi} -\def\font_typescripts_start_gobble#definitions\stoptypescript{} +\def\font_typescripts_start_gobble#ignore\stoptypescript{} \def\font_typescripts_start_document#definitions\stoptypescript {\toksapp\c_font_typescripts_document{\starttypescript#definitions\stoptypescript}} diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml index 7ae291cf0..881705608 100644 --- a/tex/context/interface/mkii/keys-it.xml +++ b/tex/context/interface/mkii/keys-it.xml @@ -913,7 +913,10 @@ <cd:constant name='keys' value='keys'/> <cd:constant name='keyword' value='parolachiave'/> <cd:constant name='label' value='etichetta'/> + <cd:constant name='labelalternative' value='labelalternative'/> + <cd:constant name='labelcolor' value='labelcolor'/> <cd:constant name='labeloffset' value='labeloffset'/> + <cd:constant name='labelstyle' value='labelstyle'/> <cd:constant name='language' value='language'/> <cd:constant name='last' value='last'/> <cd:constant name='lastnamesep' value='lastnamesep'/> diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml index 33ee652e1..ff6203585 100644 --- a/tex/context/interface/mkiv/context-en.xml +++ b/tex/context/interface/mkiv/context-en.xml @@ -931,6 +931,20 @@ </cd:assignments> </cd:arguments> </cd:command> + <cd:command file="back-ini.mkxl" name="setupoutput"> + <cd:arguments> + <cd:keywords> + <cd:constant type="default"/> + <cd:constant type="pdf"/> + <cd:constant type="lua"/> + <cd:constant type="json"/> + <cd:constant type="js"/> + <cd:constant type="mps"/> + <cd:constant type="none"/> + <cd:constant type="empty"/> + </cd:keywords> + </cd:arguments> + </cd:command> </cd:interface> <cd:interface file="i-background.xml"> <cd:command category="background" file="pack-bck.mkvi" level="style" name="definebackground"> @@ -1368,6 +1382,8 @@ <cd:constant method="none" prefix="type␣" type="cd:text"/> <cd:constant method="none" prefix="data␣" type="cd:text"/> <cd:constant method="none" prefix="name␣" type="cd:text"/> + <cd:constant method="none" prefix="radius␣" type="cd:dimension"/> + <cd:constant method="none" prefix="corner␣" type="cd:text"/> </cd:keywords> <cd:delimiter name="relax"/> </cd:arguments> @@ -4383,6 +4399,19 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="conditional" file="typo-chr.mkiv" level="system" name="doifelsemarkedcontent"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:true"/> + </cd:keywords> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:false"/> + </cd:keywords> + </cd:arguments> + </cd:command> <cd:command file="typo-cln.mkiv" level="system" name="setcharactercleaning"> <cd:arguments> <cd:keywords> @@ -6206,28 +6235,28 @@ </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="counter" file="core-con.mkiv" level="style" name="monthlong"> + <cd:command category="counter" file="core-con.mkiv" level="style" name="month"> <cd:arguments> <cd:keywords delimiters="braces"> <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="counter" file="core-con.mkiv" level="style" name="monthshort"> + <cd:command category="counter" file="core-con.mkiv" level="style" name="monthlong"> <cd:arguments> <cd:keywords delimiters="braces"> <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="counter" file="core-con.mkiv" level="style" name="convertmonth"> + <cd:command category="counter" file="core-con.mkiv" level="style" name="monthshort"> <cd:arguments> <cd:keywords delimiters="braces"> <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="counter" file="core-con.mkiv" level="style" name="month"> + <cd:command category="counter" file="core-con.mkiv" level="style" name="convertmonth"> <cd:arguments> <cd:keywords delimiters="braces"> <cd:constant type="cd:number"/> @@ -6269,6 +6298,34 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="counter" file="core-con.mkiv" level="style" name="daylong"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="core-con.mkiv" level="style" name="dayshort"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="core-con.mkiv" level="style" name="DAYLONG"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="core-con.mkiv" level="style" name="DAYSHORT"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> <cd:command category="counter" file="core-con.mkiv" level="style" name="dayoftheweek"> <cd:arguments> <cd:keywords delimiters="braces"> @@ -6345,40 +6402,52 @@ <cd:arguments> <cd:keywords list="yes" optional="yes"> <cd:constant type="year"/> - <cd:constant type="month"/> - <cd:constant type="day"/> - <cd:constant type="weekday"/> <cd:constant type="y"/> <cd:constant type="yy"/> <cd:constant type="Y"/> + <cd:constant type="YY"/> + <cd:constant type="month"/> + <cd:constant type="month:mnem"/> + <cd:constant type="month:jalali"/> <cd:constant type="m"/> + <cd:constant type="m:mnem"/> + <cd:constant type="m:jalali"/> + <cd:constant type="MONTH"/> + <cd:constant type="MONTH:mnem"/> + <cd:constant type="MONTH:jalali"/> <cd:constant type="mm"/> <cd:constant type="M"/> - <cd:constant type="d"/> - <cd:constant type="dd"/> - <cd:constant type="D"/> - <cd:constant type="w"/> - <cd:constant type="W"/> - <cd:constant type="space"/> - <cd:constant type="\\\\\\\\␣"/> - <cd:constant type="month:mnem"/> - <cd:constant type="m:mnem"/> - <cd:constant type="d:ord"/> - <cd:constant type="day:ord"/> - <cd:constant type="dd:ord"/> - <cd:constant type="D:ord"/> - <cd:constant type="cd:text"/> - <cd:constant type="referral"/> + <cd:constant type="day"/> <cd:constant type="day:+"/> + <cd:constant type="day:ord"/> <cd:constant type="day:++"/> + <cd:constant type="day:highord"/> + <cd:constant type="d"/> <cd:constant type="d:+"/> + <cd:constant type="d:ord"/> <cd:constant type="d:++"/> + <cd:constant type="d:highord"/> + <cd:constant type="dd"/> <cd:constant type="dd:+"/> + <cd:constant type="dd:ord"/> <cd:constant type="dd:++"/> + <cd:constant type="dd:highord"/> + <cd:constant type="D"/> <cd:constant type="D:+"/> + <cd:constant type="D:ord"/> <cd:constant type="D:++"/> - <cd:constant type="month:jalali"/> - <cd:constant type="m:jalali"/> + <cd:constant type="D:highord"/> + <cd:constant type="weekday"/> + <cd:constant type="weekday:mnem"/> + <cd:constant type="w"/> + <cd:constant type="w:mnem"/> + <cd:constant type="WEEKDAY"/> + <cd:constant type="WEEKDAY:mnem"/> + <cd:constant type="W"/> + <cd:constant type="referral"/> + <cd:constant type="space"/> + <cd:constant type="\\\\\\\\␣"/> + <cd:constant type="cd:text"/> <cd:constant type="jalali:to"/> <cd:constant type="jalali:from"/> </cd:keywords> @@ -6537,6 +6606,8 @@ <cd:constant type="slovenianNumerals"/> <cd:constant type="spanishnumerals"/> <cd:constant type="spanishNumerals"/> + <cd:constant type="russiannumerals"/> + <cd:constant type="russianNumerals"/> <cd:constant type="mathgreek"/> <cd:constant type="set␣0"/> <cd:constant type="set␣1"/> @@ -6710,6 +6781,20 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="counter language" file="core-con.mkiv" level="style" name="russiannumerals"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter language" file="core-con.mkiv" level="style" name="russianNumerals"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> <cd:command category="counter" file="core-con.mkiv" level="style" name="unihex"> <cd:arguments> <cd:keywords delimiters="braces"> @@ -6731,9 +6816,65 @@ </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="system" file="core-con.mkiv" level="style" name="actualyear"/> - <cd:command category="system" file="core-con.mkiv" level="style" name="actualmonth"/> - <cd:command category="system" file="core-con.mkiv" level="style" name="actualday"/> + <cd:command category="system" file="core-con.lua" level="style" name="actualyear"/> + <cd:command category="system" file="core-con.lua" level="style" name="actualmonth"/> + <cd:command category="system" file="core-con.lua" level="style" name="actualday"/> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="lchexnumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="uchexnumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="lchexnumbers"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="uchexnumbers"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="hexnumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="octnumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="hexstringtonumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="counter" file="syst-con.mkxl" level="style" name="octstringtonumber"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> </cd:interface> <cd:interface file="i-counter.xml"> <cd:command category="counter" file="strc-num.mkiv" level="system" name="definecounter"> @@ -10565,6 +10706,35 @@ </cd:assignments> </cd:arguments> </cd:command> + <cd:command category="structure fonts counter" file="strc-flt.mkvi" level="style" name="placefloatcaption"> + <cd:arguments> + <cd:keywords> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="title"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="bookmark"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="marking"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="list"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="reference"> + <cd:constant type="cd:reference"/> + </cd:parameter> + </cd:assignments> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="cd:key"> + <cd:constant type="cd:value"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> <cd:command category="structure background" file="strc-flt.mkvi" level="style" name="setupfloatframed"> <cd:arguments> <cd:keywords list="yes" optional="yes"> @@ -11336,6 +11506,11 @@ <cd:parameter name="color"> <cd:constant type="cd:color"/> </cd:parameter> + <cd:parameter name="width"> + <cd:constant default="yes" type="fit"/> + <cd:constant type="frame"/> + <cd:constant type="cd:dimension"/> + </cd:parameter> <cd:inherit name="setupframed"/> </cd:assignments> </cd:arguments> @@ -11833,7 +12008,11 @@ <cd:constant default="yes" type="yes"/> <cd:constant type="no"/> </cd:parameter> - <cd:parameter name="cd:name"> + <cd:parameter name="uppercasing"> + <cd:constant type="yes"/> + <cd:constant default="yes" type="no"/> + </cd:parameter> + <cd:parameter name="lowercasing"> <cd:constant type="yes"/> <cd:constant default="yes" type="no"/> </cd:parameter> @@ -11844,6 +12023,13 @@ <cd:constant type="yes"/> <cd:constant default="yes" type="no"/> </cd:parameter> + <cd:parameter name="metapost"> + <cd:constant type="cd:name"/> + </cd:parameter> + <cd:parameter name="cd:name"> + <cd:constant type="yes"/> + <cd:constant default="yes" type="no"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> @@ -12749,6 +12935,9 @@ <cd:command category="fonts" file="font-pre.mkiv" level="style" name="setoldstyle"/> <cd:command category="fonts" file="font-pre.mkiv" level="style" name="settabular"/> <cd:command category="fonts" file="font-pre.mkiv" level="style" name="setsuperiors"/> + <cd:command category="fonts" file="font-pre.mkiv" level="style" name="setfractions"/> + <cd:command category="fonts" file="font-pre.mkiv" level="style" name="uppercasing"/> + <cd:command category="fonts" file="font-pre.mkiv" level="style" name="lowercasing"/> <cd:command category="fonts" file="font-pre.mkiv" level="style" name="tinyfont"/> <cd:command category="fonts" file="font-pre.mkiv" level="style" name="infofont"/> <cd:command category="fonts" file="font-pre.mkiv" level="style" name="infofontbold"/> @@ -13419,6 +13608,44 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="fonts" file="hand-ini.mkx" level="style" name="defineexpansion"> + <cd:arguments> + <cd:keywords> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:keywords optional="yes"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:assignments list="yes" optional="yes"> + <cd:inherit name="setupexpansion"/> + </cd:assignments> + </cd:arguments> + </cd:command> + <cd:command category="fonts" file="hand-ini.mkx" level="style" name="setupexpansion"> + <cd:arguments> + <cd:keywords list="yes" optional="yes"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:assignments list="yes"> + <cd:parameter name="step"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="stretch"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="shrink"> + <cd:constant type="cd:number"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + <cd:command category="fonts" file="font-ini.mkvi" level="style" name="setexpansion"> + <cd:arguments> + <cd:keywords> + <cd:constant type="cd:name"/> + </cd:keywords> + </cd:arguments> + </cd:command> </cd:interface> <cd:interface file="i-form.xml"> <cd:command category="pdf" file="scrn-fld.mkvi" level="style" name="setupforms"> @@ -14740,6 +14967,11 @@ <cd:parameter name="color"> <cd:constant type="cd:color"/> </cd:parameter> + <cd:parameter name="cmyk"> + <cd:constant type="yes"/> + <cd:constant default="yes" type="no"/> + <cd:constant type="auto"/> + </cd:parameter> <cd:parameter name="arguments"> <cd:constant type="cd:text"/> </cd:parameter> @@ -14898,6 +15130,16 @@ </cd:assignments> </cd:arguments> </cd:command> + <cd:command category="graphics" file="grph-inc.mkvi" level="style" name="setupexternalfigures"> + <cd:arguments> + <cd:keywords list="yes" optional="yes"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:assignments list="yes"> + <cd:inherit name="setupexternalfigure"/> + </cd:assignments> + </cd:arguments> + </cd:command> <cd:command category="graphics" file="grph-inc.mkiv" level="style" name="useexternalfigure"> <cd:arguments> <cd:keywords> @@ -15235,6 +15477,30 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="graphics" file="grph-inc.mkiv" level="document" name="includesvgfile"> + <cd:arguments> + <cd:keywords> + <cd:constant type="cd:file"/> + </cd:keywords> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="offset"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + <cd:command category="graphics" file="grph-inc.mkiv" level="document" name="includesvgbuffer"> + <cd:arguments> + <cd:keywords> + <cd:constant type="cd:buffer"/> + </cd:keywords> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="offset"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> </cd:interface> <cd:interface file="i-grid.xml"> <cd:command category="layout" file="page-grd.mkiv" level="document" name="showgrid"> @@ -15826,6 +16092,29 @@ </cd:keywords> </cd:arguments> </cd:command> + <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacebefore"/> + <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspaceafter"/> + <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacesbefore"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspacesafter"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="whitespace" file="spac/hor.mkiv" level="system" name="interwordspaces"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> </cd:interface> <cd:interface file="i-hyphenation.xml"> <cd:command category="language" file="lang-hyp.mkiv" level="style" name="setuphyphenation"> @@ -15856,7 +16145,7 @@ </cd:keywords> </cd:arguments> </cd:command> - <cd:command category="language" file="lang-hyp.mkiv" level="style" name="definehypenationfeatures"> + <cd:command category="language" file="lang-hyp.mkiv" level="style" name="definehyphenationfeatures"> <cd:arguments> <cd:keywords> <cd:constant type="cd:name"/> @@ -21048,10 +21337,11 @@ <cd:parameter name="pagecommand"> <cd:constant type="cd:oneargument"/> </cd:parameter> - <cd:parameter name="pagenumber"> + <cd:parameter list="yes" name="pagenumber"> <cd:constant default="yes" type="yes"/> <cd:constant type="no"/> <cd:constant type="always"/> + <cd:constant type="realpage"/> </cd:parameter> <cd:parameter name="headnumber"> <cd:constant default="yes" type="yes"/> @@ -21625,11 +21915,15 @@ <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKII"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKIV"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKVI"/> + <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKXL"/> + <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKLX"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKIX"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MKXI"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPII"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPIV"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPVI"/> + <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPXL"/> + <cd:command category="symbols" file="cont-log.mkiv" level="document" name="MPLX"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="PPCHTeX"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="PPCHTEX"/> <cd:command category="symbols" file="cont-log.mkiv" level="document" name="PRAGMA"/> @@ -22105,6 +22399,76 @@ </cd:sequence> </cd:command> </cd:interface> + <cd:interface file="i-luatable.xml"> + <cd:command category="lua" file="cldf-int.mkxl" level="system" name="newluatable"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-int.mkxl" level="system" name="useluatable"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="disposeluatable"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="inspectluatable"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="showluatables"/> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="setluatable"> + <cd:arguments> + <cd:csname/> + <cd:content/> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="getfromluatable"> + <cd:arguments> + <cd:csname/> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:key"/> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-lmt.lua" level="system" name="idxfromluatable"> + <cd:arguments> + <cd:csname/> + <cd:keywords delimiters="none"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-int.mkxl" level="system" name="setdatavalue"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-int.mkxl" level="system" name="getdatavalue"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:name"/> + </cd:keywords> + </cd:arguments> + </cd:command> + <cd:command category="lua" file="cldf-int.mkxl" level="system" name="thedatavalue"> + <cd:arguments> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:name"/> + </cd:keywords> + </cd:arguments> + </cd:command> + </cd:interface> <cd:interface file="i-makeup.xml"> <cd:command category="structure layout" file="page-mak.mkvi" level="style" name="definemakeup"> <cd:arguments> @@ -22643,6 +23007,7 @@ <cd:keywords optional="yes"> <cd:constant default="yes" type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords optional="yes"> <cd:constant type="first"/> @@ -22736,6 +23101,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords> <cd:constant type="first"/> @@ -22765,6 +23131,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords> <cd:constant type="first"/> @@ -22794,6 +23161,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> @@ -22805,6 +23173,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> @@ -22924,9 +23293,9 @@ <cd:constant type="normal"/> </cd:parameter> <cd:parameter name="collapsing"> - <cd:constant type="1"/> + <cd:constant default="yes" type="1"/> <cd:constant type="2"/> - <cd:constant default="yes" type="3"/> + <cd:constant type="3"/> <cd:constant type="none"/> <cd:constant type="reset"/> </cd:parameter> @@ -24769,14 +25138,40 @@ <cd:command category="graphics metapost" file="meta-ini.mkiv" level="style" name="MPdefinitions" type="environment"> <cd:arguments> <cd:keywords delimiters="braces" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> </cd:arguments> </cd:command> <cd:command category="graphics metapost" file="meta-ini.mkiv" level="style" name="MPextensions" type="environment"> <cd:arguments> <cd:keywords delimiters="braces" list="yes" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> </cd:arguments> </cd:command> @@ -24787,7 +25182,20 @@ <cd:constant type="+"/> </cd:keywords> <cd:keywords delimiters="braces" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> </cd:arguments> </cd:command> @@ -24797,7 +25205,20 @@ <cd:constant type="+"/> </cd:keywords> <cd:keywords delimiters="braces" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> <cd:content/> </cd:arguments> @@ -24823,6 +25244,7 @@ <cd:assignments list="yes"> <cd:parameter name="format"> <cd:constant default="yes" type="metafun"/> + <cd:constant type="minifun"/> <cd:constant type="mpost"/> </cd:parameter> <cd:parameter name="initializations"> @@ -25110,14 +25532,40 @@ <cd:command category="graphics metapost" file="meta-ini.mkiv" level="document" name="MPcode" type="environment"> <cd:arguments> <cd:keywords delimiters="braces" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> </cd:arguments> </cd:command> <cd:command category="graphics metapost" file="meta-ini.mkiv" level="document" name="MPcode"> <cd:arguments> <cd:keywords delimiters="braces" optional="yes"> - <cd:constant type="cd:name"/> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> </cd:keywords> <cd:content/> </cd:arguments> @@ -26848,6 +27296,9 @@ <cd:parameter name="compressdistance"> <cd:constant type="cd:dimension"/> </cd:parameter> + <cd:parameter name="compressstopper"> + <cd:constant type="cd:command"/> + </cd:parameter> <cd:inherit name="setupnote"/> </cd:assignments> </cd:arguments> @@ -27571,6 +28022,7 @@ <cd:constant type="lastpage"/> <cd:constant type="start"/> <cd:constant type="stop"/> + <cd:constant type="xy"/> </cd:keywords> </cd:arguments> </cd:command> @@ -27602,6 +28054,7 @@ <cd:constant type="lastpage"/> <cd:constant type="start"/> <cd:constant type="stop"/> + <cd:constant type="xy"/> <cd:constant type="cd:name"/> </cd:keywords> </cd:arguments> @@ -33840,6 +34293,33 @@ <cd:constant type="-"/> <cd:constant type="cd:text"/> </cd:parameter> + <cd:parameter name="labelalternative"> + <cd:constant type="inleftmargin"/> + <cd:constant type="inrightmargin"/> + <cd:constant type="inoutermargin"/> + <cd:constant type="ininnermargin"/> + <cd:constant type="inleftedge"/> + <cd:constant type="inrightedge"/> + <cd:constant type="inouteredge"/> + <cd:constant type="ininneredge"/> + <cd:constant type="atleftmargin"/> + <cd:constant type="atrightmargin"/> + <cd:constant type="inleft"/> + <cd:constant type="inright"/> + <cd:constant type="inouter"/> + <cd:constant type="ininner"/> + <cd:constant type="inmargin"/> + <cd:constant type="inother"/> + <cd:constant type="margintext"/> + <cd:constant type="cd:name"/> + </cd:parameter> + <cd:parameter name="labelstyle"> + <cd:constant type="cd:style"/> + <cd:constant type="cd:command"/> + </cd:parameter> + <cd:parameter name="labelcolor"> + <cd:constant type="cd:color"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> @@ -37987,7 +38467,18 @@ <cd:command category="structure layout" file="page-smp.mkiv" level="system" name="simplecolumns" type="environment"> <cd:arguments> <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setsimplecolumnshsize"/> + <cd:parameter name="n"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="width"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="distance"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="lines"> + <cd:constant type="cd:number"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> @@ -43654,6 +44145,7 @@ <cd:command file="syst-aux.mkiv" level="system" name="resettimer"/> <cd:command file="syst-aux.mkiv" level="system" name="elapsedtime"/> <cd:command file="syst-aux.mkiv" level="system" name="elapsedseconds"/> + <cd:command file="syst-aux.mkiv" level="system" name="elapsedsteptime"/> <cd:command file="syst-aux.mkiv" level="system" name="currentfeaturetest"/> <cd:command file="syst-aux.mkiv" level="system" name="testfeature"> <cd:arguments> @@ -43663,6 +44155,7 @@ <cd:content/> </cd:arguments> </cd:command> + <cd:command file="syst-aux.mkiv" level="system" name="retestfeature"/> <cd:command file="syst-aux.mkiv" level="system" name="showtimer"> <cd:arguments> <cd:keywords delimiters="braces"> @@ -44155,7 +44648,7 @@ </cd:command> </cd:interface> <cd:interface file="i-tabulation.xml"> - <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulation"> + <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulate"> <cd:arguments> <cd:keywords> <cd:constant type="cd:name"/> @@ -44163,14 +44656,15 @@ <cd:keywords optional="yes"> <cd:constant type="cd:name"/> </cd:keywords> - <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> + <cd:template optional="yes"/> </cd:arguments> </cd:command> - <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulation"> + <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulate"> <cd:arguments> - <cd:keywords list="yes" optional="yes"> + <cd:keywords optional="yes"> + <cd:constant type="cd:name"/> + </cd:keywords> + <cd:keywords optional="yes"> <cd:constant type="cd:name"/> </cd:keywords> <cd:assignments list="yes"> @@ -44322,43 +44816,6 @@ </cd:assignments> </cd:arguments> </cd:command> - <cd:command category="tables" file="tabl-tbl.mkiv" generated="yes" level="document" name="tabulation" type="environment" variant="example"> - <cd:sequence> - <cd:variable value="tabulation"/> - </cd:sequence> - <cd:arguments> - <cd:keywords optional="yes"> - <cd:constant type="cd:name"/> - </cd:keywords> - <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> - </cd:arguments> - </cd:command> - <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="definetabulate"> - <cd:arguments> - <cd:keywords> - <cd:constant type="cd:name"/> - </cd:keywords> - <cd:keywords optional="yes"> - <cd:constant type="cd:name"/> - </cd:keywords> - <cd:template optional="yes"/> - </cd:arguments> - </cd:command> - <cd:command category="tables" file="tabl-tbl.mkiv" level="style" name="setuptabulate"> - <cd:arguments> - <cd:keywords optional="yes"> - <cd:constant type="cd:name"/> - </cd:keywords> - <cd:keywords optional="yes"> - <cd:constant type="cd:name"/> - </cd:keywords> - <cd:assignments list="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> - </cd:arguments> - </cd:command> <cd:command category="tables" file="tabl-tbl.mkiv" level="document" name="tabulate" type="environment"> <cd:arguments> <cd:template optional="yes"/> diff --git a/tex/context/interface/mkiv/i-accent.xml b/tex/context/interface/mkiv/i-accent.xml index 190e1faa9..1b9560cb1 100644 --- a/tex/context/interface/mkiv/i-accent.xml +++ b/tex/context/interface/mkiv/i-accent.xml @@ -261,4 +261,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-anchor.xml b/tex/context/interface/mkiv/i-anchor.xml index c8dad56d5..b3c366cfd 100644 --- a/tex/context/interface/mkiv/i-anchor.xml +++ b/tex/context/interface/mkiv/i-anchor.xml @@ -32,4 +32,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-attachment.xml b/tex/context/interface/mkiv/i-attachment.xml index 550cc57ce..ed7586000 100644 --- a/tex/context/interface/mkiv/i-attachment.xml +++ b/tex/context/interface/mkiv/i-attachment.xml @@ -160,4 +160,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-attribute.xml b/tex/context/interface/mkiv/i-attribute.xml index 0ea4ce7c0..f1117cf04 100644 --- a/tex/context/interface/mkiv/i-attribute.xml +++ b/tex/context/interface/mkiv/i-attribute.xml @@ -95,4 +95,4 @@ <cd:command name="showattributes" category="attribute" level="document" file="attr-ini.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-backend.xml b/tex/context/interface/mkiv/i-backend.xml index d0bdb4853..ccb948e9b 100644 --- a/tex/context/interface/mkiv/i-backend.xml +++ b/tex/context/interface/mkiv/i-backend.xml @@ -86,4 +86,19 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file + <cd:command name="setupoutput" file="back-ini.mkxl"> + <cd:arguments> + <cd:keywords> + <cd:constant type="default"/> + <cd:constant type="pdf"/> + <cd:constant type="lua"/> + <cd:constant type="json"/> + <cd:constant type="js"/> + <cd:constant type="mps"/> + <cd:constant type="none"/> + <cd:constant type="empty"/> + </cd:keywords> + </cd:arguments> + </cd:command> + +</cd:interface> diff --git a/tex/context/interface/mkiv/i-blackrule.xml b/tex/context/interface/mkiv/i-blackrule.xml index 0463f21ed..d9561a59f 100644 --- a/tex/context/interface/mkiv/i-blackrule.xml +++ b/tex/context/interface/mkiv/i-blackrule.xml @@ -110,9 +110,11 @@ <cd:constant type="cd:text" prefix="type␣" method="none"/> <cd:constant type="cd:text" prefix="data␣" method="none"/> <cd:constant type="cd:text" prefix="name␣" method="none"/> + <cd:constant type="cd:dimension" prefix="radius␣" method="none"/> + <cd:constant type="cd:text" prefix="corner␣" method="none"/> </cd:keywords> <cd:delimiter name="relax"/> </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-bleed.xml b/tex/context/interface/mkiv/i-bleed.xml index ee860b85f..f48b9d40c 100644 --- a/tex/context/interface/mkiv/i-bleed.xml +++ b/tex/context/interface/mkiv/i-bleed.xml @@ -61,4 +61,4 @@ <cd:command name="bleedheight" level="style" category="graphics" file="pack-box.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-bookmark.xml b/tex/context/interface/mkiv/i-bookmark.xml index 3dbfa3406..4b02ab7d1 100644 --- a/tex/context/interface/mkiv/i-bookmark.xml +++ b/tex/context/interface/mkiv/i-bookmark.xml @@ -76,4 +76,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-buffer.xml b/tex/context/interface/mkiv/i-buffer.xml index f08cb8ca4..b166c84b1 100644 --- a/tex/context/interface/mkiv/i-buffer.xml +++ b/tex/context/interface/mkiv/i-buffer.xml @@ -231,4 +231,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-capitals.xml b/tex/context/interface/mkiv/i-capitals.xml index 6115b1519..03d8d7f8b 100644 --- a/tex/context/interface/mkiv/i-capitals.xml +++ b/tex/context/interface/mkiv/i-capitals.xml @@ -223,4 +223,4 @@ <cd:command name="randomized" type="environment" level="document" category="fonts" file="typo-cap.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-catcodes.xml b/tex/context/interface/mkiv/i-catcodes.xml index 351e8f6e4..75a17a0e4 100644 --- a/tex/context/interface/mkiv/i-catcodes.xml +++ b/tex/context/interface/mkiv/i-catcodes.xml @@ -120,4 +120,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-characteralign.xml b/tex/context/interface/mkiv/i-characteralign.xml index b95ff8487..d2aa3f9eb 100644 --- a/tex/context/interface/mkiv/i-characteralign.xml +++ b/tex/context/interface/mkiv/i-characteralign.xml @@ -93,4 +93,4 @@ <cd:command name="setsecondpasscharacteralign" level="system" category="alignment" file="typo-tal.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-characterspacing.xml b/tex/context/interface/mkiv/i-characterspacing.xml index 0247115a3..6c43db076 100644 --- a/tex/context/interface/mkiv/i-characterspacing.xml +++ b/tex/context/interface/mkiv/i-characterspacing.xml @@ -40,4 +40,4 @@ <cd:command name="resetcharacterspacing" level="style" category="fonts" file="typo-spa.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-characterstripping.xml b/tex/context/interface/mkiv/i-characterstripping.xml index 5c776e3ab..ee9750f3e 100644 --- a/tex/context/interface/mkiv/i-characterstripping.xml +++ b/tex/context/interface/mkiv/i-characterstripping.xml @@ -17,4 +17,4 @@ <cd:command name="forcecharacterstripping" level="style" category="language" file="typo-rep.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-chart.xml b/tex/context/interface/mkiv/i-chart.xml index 43672efa0..7f0a51393 100644 --- a/tex/context/interface/mkiv/i-chart.xml +++ b/tex/context/interface/mkiv/i-chart.xml @@ -541,4 +541,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-charwidth.xml b/tex/context/interface/mkiv/i-charwidth.xml index dc19713f3..14d5d71ed 100644 --- a/tex/context/interface/mkiv/i-charwidth.xml +++ b/tex/context/interface/mkiv/i-charwidth.xml @@ -14,4 +14,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-chemical.xml b/tex/context/interface/mkiv/i-chemical.xml index a2df03ede..2d2498797 100644 --- a/tex/context/interface/mkiv/i-chemical.xml +++ b/tex/context/interface/mkiv/i-chemical.xml @@ -252,4 +252,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-cleaning.xml b/tex/context/interface/mkiv/i-cleaning.xml index dd54fdacc..f5f7b353a 100644 --- a/tex/context/interface/mkiv/i-cleaning.xml +++ b/tex/context/interface/mkiv/i-cleaning.xml @@ -35,6 +35,14 @@ </cd:arguments> </cd:command> + <cd:command name="doifelsemarkedcontent" level="system" category="conditional" file="typo-chr.mkiv"> + <cd:arguments> + <cd:resolve name="argument-name"/> + <cd:resolve name="argument-true"/> + <cd:resolve name="argument-false"/> + </cd:arguments> + </cd:command> + <cd:command name="setcharactercleaning" level="system" file="typo-cln.mkiv"> <cd:arguments> <cd:keywords> diff --git a/tex/context/interface/mkiv/i-clipping.xml b/tex/context/interface/mkiv/i-clipping.xml index c823b102d..2eda483b6 100644 --- a/tex/context/interface/mkiv/i-clipping.xml +++ b/tex/context/interface/mkiv/i-clipping.xml @@ -75,4 +75,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-collector.xml b/tex/context/interface/mkiv/i-collector.xml index 6642e6980..8531d4009 100644 --- a/tex/context/interface/mkiv/i-collector.xml +++ b/tex/context/interface/mkiv/i-collector.xml @@ -111,4 +111,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-color.xml b/tex/context/interface/mkiv/i-color.xml index 6a4042ae8..ee5597e95 100644 --- a/tex/context/interface/mkiv/i-color.xml +++ b/tex/context/interface/mkiv/i-color.xml @@ -610,4 +610,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-columns.xml b/tex/context/interface/mkiv/i-columns.xml index aa290a0a9..d112efeb9 100644 --- a/tex/context/interface/mkiv/i-columns.xml +++ b/tex/context/interface/mkiv/i-columns.xml @@ -81,9 +81,40 @@ </cd:arguments> </cd:command> - <cd:command name="setsimplecolumnshsize" level="system" category="columns" file="page-mul.mkiv"> + <!-- + + <cd:command name="setsimplecolumnshsize" level="system" category="columns" file="page-mul.mkiv"> + <cd:arguments> + <cd:assignments list="yes"> + <cd:parameter name="n"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="width"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="distance"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="lines"> + <cd:constant type="cd:number"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv"> + <cd:arguments> + <cd:assignments list="yes" optional="yes"> + <cd:inherit name="setsimplecolumnshsize"/> + </cd:assignments> + </cd:arguments> + </cd:command> + + --> + + <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv"> <cd:arguments> - <cd:assignments list="yes"> + <cd:assignments list="yes" optional="yes"> <cd:parameter name="n"> <cd:constant type="cd:number"/> </cd:parameter> @@ -100,12 +131,4 @@ </cd:arguments> </cd:command> - <cd:command name="simplecolumns" type="environment" level="system" category="columns" file="page-mul.mkiv"> - <cd:arguments> - <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setsimplecolumnshsize"/> - </cd:assignments> - </cd:arguments> - </cd:command> - -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-combination.xml b/tex/context/interface/mkiv/i-combination.xml index bd732c264..d2d07f06e 100644 --- a/tex/context/interface/mkiv/i-combination.xml +++ b/tex/context/interface/mkiv/i-combination.xml @@ -128,4 +128,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-comment.xml b/tex/context/interface/mkiv/i-comment.xml index a1eb14d23..913b8e152 100644 --- a/tex/context/interface/mkiv/i-comment.xml +++ b/tex/context/interface/mkiv/i-comment.xml @@ -153,4 +153,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-argument.xml b/tex/context/interface/mkiv/i-common-argument.xml index 89ce1904b..5741a1c8a 100644 --- a/tex/context/interface/mkiv/i-common-argument.xml +++ b/tex/context/interface/mkiv/i-common-argument.xml @@ -565,4 +565,33 @@ </cd:keywords> </cd:define> -</cd:interface>
\ No newline at end of file + <!-- * --> + <!-- \... {...} --> + <!-- --> + <!-- * INSTANCE --> + + <cd:define name="argument-instance"> + <cd:keywords delimiters="braces"> + <cd:resolve name="value-instance"/> + </cd:keywords> + </cd:define> + + <cd:define name="argument-instance-optional"> + <cd:keywords delimiters="braces" optional="yes"> + <cd:resolve name="value-instance"/> + </cd:keywords> + </cd:define> + + <cd:define name="argument-instance-list"> + <cd:keywords delimiters="braces" list="yes"> + <cd:resolve name="value-instance"/> + </cd:keywords> + </cd:define> + + <cd:define name="argument-instance-list-optional"> + <cd:keywords delimiters="braces" list="yes" optional="yes"> + <cd:resolve name="value-instance"/> + </cd:keywords> + </cd:define> + +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-assignment.xml b/tex/context/interface/mkiv/i-common-assignment.xml index 900a75452..f9d296484 100644 --- a/tex/context/interface/mkiv/i-common-assignment.xml +++ b/tex/context/interface/mkiv/i-common-assignment.xml @@ -333,4 +333,4 @@ </cd:assignments> </cd:define> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-definitions.xml b/tex/context/interface/mkiv/i-common-definitions.xml index 54e729aa4..9f6d461f9 100644 --- a/tex/context/interface/mkiv/i-common-definitions.xml +++ b/tex/context/interface/mkiv/i-common-definitions.xml @@ -9,4 +9,4 @@ <cd:interfacefile filename="i-common-value.xml"/> <cd:interfacefile filename="i-common-instance.xml"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-instance.xml b/tex/context/interface/mkiv/i-common-instance.xml index 3d4864de7..74d30263a 100644 --- a/tex/context/interface/mkiv/i-common-instance.xml +++ b/tex/context/interface/mkiv/i-common-instance.xml @@ -431,4 +431,4 @@ <cd:constant value="underbrackettext"/> </cd:define> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-keyword.xml b/tex/context/interface/mkiv/i-common-keyword.xml index 8469dab2f..19a4e18c7 100644 --- a/tex/context/interface/mkiv/i-common-keyword.xml +++ b/tex/context/interface/mkiv/i-common-keyword.xml @@ -809,4 +809,26 @@ </cd:keywords> </cd:define> -</cd:interface>
\ No newline at end of file + <!-- * --> + <!-- \... [...] --> + <!-- --> + <!-- * TRACKER --> + + <cd:define name="keyword-tracker-list"> + <cd:keywords list="yes"> + <cd:resolve name="value-tracker"/> + </cd:keywords> + </cd:define> + + <!-- * --> + <!-- \... [...] --> + <!-- --> + <!-- * DIRECTIVE --> + + <cd:define name="keyword-directive-list"> + <cd:keywords list="yes"> + <cd:resolve name="value-directive"/> + </cd:keywords> + </cd:define> + +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-string.xml b/tex/context/interface/mkiv/i-common-string.xml index 0c0bb2ef3..abcd8a78f 100644 --- a/tex/context/interface/mkiv/i-common-string.xml +++ b/tex/context/interface/mkiv/i-common-string.xml @@ -191,4 +191,4 @@ </cd:keywords> </cd:define> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-common-value.xml b/tex/context/interface/mkiv/i-common-value.xml index d34e1fc7d..c3caf1062 100644 --- a/tex/context/interface/mkiv/i-common-value.xml +++ b/tex/context/interface/mkiv/i-common-value.xml @@ -174,6 +174,7 @@ <cd:constant type="lastpage"/> <cd:constant type="start"/> <cd:constant type="stop"/> + <cd:constant type="xy"/> </cd:define> <!-- columnbreak = ... --> @@ -914,4 +915,655 @@ <cd:constant type="cd:name"/> </cd:define> + <!-- margindata --> + + <cd:define name="value-margindata"> + <cd:constant type="inleftmargin"/> + <cd:constant type="inrightmargin"/> + <cd:constant type="inoutermargin"/> + <cd:constant type="ininnermargin"/> + <cd:constant type="inleftedge"/> + <cd:constant type="inrightedge"/> + <cd:constant type="inouteredge"/> + <cd:constant type="ininneredge"/> + <cd:constant type="atleftmargin"/> + <cd:constant type="atrightmargin"/> + <cd:constant type="inleft"/> + <cd:constant type="inright"/> + <cd:constant type="inouter"/> + <cd:constant type="ininner"/> + <cd:constant type="inmargin"/> + <cd:constant type="inother"/> + <cd:constant type="margintext"/> + <cd:constant type="cd:name"/> + </cd:define> + + <!-- instance --> + + <cd:define name="value-instance"> + <cd:constant type="metafun"/> + <cd:constant type="minifun"/> + <cd:constant type="extrafun"/> + <cd:constant type="lessfun"/> + <cd:constant type="doublefun"/> + <cd:constant type="binaryfun"/> + <cd:constant type="decimalfun"/> + <cd:constant type="mprun"/> + <cd:constant type="metapost"/> + <cd:constant type="nofun"/> + <cd:constant type="doublepost"/> + <cd:constant type="binarypost"/> + <cd:constant type="decimalpost"/> + <cd:constant type="simplefun"/> + </cd:define> + + <!-- tracker --> + + <cd:define name="value-tracker"> + <cd:constant type="afm.features"/> + <cd:constant type="afm.indexing"/> + <cd:constant type="afm.loading"/> + <cd:constant type="attachments.anchors"/> + <cd:constant type="backend"/> + <cd:constant type="backend.details"/> + <cd:constant type="backend.finalizers"/> + <cd:constant type="backend.format"/> + <cd:constant type="backend.info"/> + <cd:constant type="backend.objects"/> + <cd:constant type="backend.pdf.fonts"/> + <cd:constant type="backend.resources"/> + <cd:constant type="backend.spaces"/> + <cd:constant type="backend.swf"/> + <cd:constant type="backend.variables"/> + <cd:constant type="backend.xmp"/> + <cd:constant type="backends.fields"/> + <cd:constant type="backends.javascript"/> + <cd:constant type="backends.pdf.threshold"/> + <cd:constant type="backgrounds.alignments"/> + <cd:constant type="backgrounds.shapes"/> + <cd:constant type="backgrounds.shapes.free"/> + <cd:constant type="backgrounds.shapes.ranges"/> + <cd:constant type="btxrendering"/> + <cd:constant type="buffers.grab"/> + <cd:constant type="buffers.parallel"/> + <cd:constant type="buffers.run"/> + <cd:constant type="buffers.visualize"/> + <cd:constant type="builders.hpack.overflow"/> + <cd:constant type="builders.hpack.quality"/> + <cd:constant type="builders.page"/> + <cd:constant type="builders.paragraphs.adjusting"/> + <cd:constant type="builders.paragraphs.basic"/> + <cd:constant type="builders.paragraphs.expansion"/> + <cd:constant type="builders.paragraphs.expansion.both"/> + <cd:constant type="builders.paragraphs.expansion.verbose"/> + <cd:constant type="builders.paragraphs.lastlinefit"/> + <cd:constant type="builders.paragraphs.protruding"/> + <cd:constant type="builders.paragraphs.solutions.splitters.colors"/> + <cd:constant type="builders.paragraphs.solutions.splitters.optimizer"/> + <cd:constant type="builders.paragraphs.solutions.splitters.splitter"/> + <cd:constant type="builders.post"/> + <cd:constant type="builders.vbox"/> + <cd:constant type="builders.vpack.quality"/> + <cd:constant type="characters.defining"/> + <cd:constant type="chemistry.boundingbox"/> + <cd:constant type="chemistry.boxes"/> + <cd:constant type="chemistry.metapost"/> + <cd:constant type="chemistry.molecules"/> + <cd:constant type="chemistry.structure"/> + <cd:constant type="chemistry.textstack"/> + <cd:constant type="colors.define"/> + <cd:constant type="colors.pgf"/> + <cd:constant type="columnsets.cells"/> + <cd:constant type="columnsets.details"/> + <cd:constant type="columnsets.trace"/> + <cd:constant type="comments.anchors"/> + <cd:constant type="context.define"/> + <cd:constant type="context.files"/> + <cd:constant type="context.stack"/> + <cd:constant type="context.trace"/> + <cd:constant type="delimited.language"/> + <cd:constant type="export.trace"/> + <cd:constant type="export.trace.details"/> + <cd:constant type="export.trace.spacing"/> + <cd:constant type="figures.comments"/> + <cd:constant type="figures.fields"/> + <cd:constant type="figures.inclusion"/> + <cd:constant type="figures.links"/> + <cd:constant type="figures.merging"/> + <cd:constant type="figures.outlines"/> + <cd:constant type="floats.anchoring"/> + <cd:constant type="floats.caching"/> + <cd:constant type="floats.collecting"/> + <cd:constant type="floats.freeregion"/> + <cd:constant type="fonts.addcharacters"/> + <cd:constant type="fonts.automode"/> + <cd:constant type="fonts.cff.charstrings"/> + <cd:constant type="fonts.collecting"/> + <cd:constant type="fonts.composing.define"/> + <cd:constant type="fonts.composing.visualize"/> + <cd:constant type="fonts.defining"/> + <cd:constant type="fonts.designsize"/> + <cd:constant type="fonts.effect"/> + <cd:constant type="fonts.expansion"/> + <cd:constant type="fonts.extend"/> + <cd:constant type="fonts.features"/> + <cd:constant type="fonts.goodies"/> + <cd:constant type="fonts.injections"/> + <cd:constant type="fonts.injections.cursive"/> + <cd:constant type="fonts.injections.marks"/> + <cd:constant type="fonts.injections.spaces"/> + <cd:constant type="fonts.loading"/> + <cd:constant type="fonts.mapfiles"/> + <cd:constant type="fonts.mapping"/> + <cd:constant type="fonts.merge"/> + <cd:constant type="fonts.missing"/> + <cd:constant type="fonts.names"/> + <cd:constant type="fonts.otf.loader.memory"/> + <cd:constant type="fonts.protrusion"/> + <cd:constant type="fonts.rejections"/> + <cd:constant type="fonts.reorderlookups"/> + <cd:constant type="fonts.scaling"/> + <cd:constant type="fonts.slant"/> + <cd:constant type="fonts.specifications"/> + <cd:constant type="fonts.squeeze"/> + <cd:constant type="fonts.stripping"/> + <cd:constant type="fonts.treatments"/> + <cd:constant type="fonts.unicoding"/> + <cd:constant type="fonts.usage"/> + <cd:constant type="fonts.warnings"/> + <cd:constant type="formulas.boxes"/> + <cd:constant type="formulas.framed"/> + <cd:constant type="graphic.runfile"/> + <cd:constant type="graphics.backend"/> + <cd:constant type="graphics.bases"/> + <cd:constant type="graphics.conversion"/> + <cd:constant type="graphics.fonts"/> + <cd:constant type="graphics.inclusion"/> + <cd:constant type="graphics.inheritance"/> + <cd:constant type="graphics.locating"/> + <cd:constant type="graphics.memstreams"/> + <cd:constant type="graphics.pdf"/> + <cd:constant type="graphics.programs"/> + <cd:constant type="graphics.usage"/> + <cd:constant type="hyphenator.steps"/> + <cd:constant type="hyphenator.visualize"/> + <cd:constant type="hyphenators.urls"/> + <cd:constant type="interfaces.namespaces"/> + <cd:constant type="job.datasets"/> + <cd:constant type="job.pagestates"/> + <cd:constant type="languages.labels"/> + <cd:constant type="languages.patterns"/> + <cd:constant type="languages.replacements"/> + <cd:constant type="languages.replacements.details"/> + <cd:constant type="languages.url"/> + <cd:constant type="linecorrection.boxes"/> + <cd:constant type="lines.numbers"/> + <cd:constant type="lines.numbers.show"/> + <cd:constant type="lmx.variables"/> + <cd:constant type="lxml.access"/> + <cd:constant type="lxml.comments"/> + <cd:constant type="lxml.inclusions"/> + <cd:constant type="lxml.loading"/> + <cd:constant type="lxml.manipulations"/> + <cd:constant type="lxml.selectors"/> + <cd:constant type="lxml.setups"/> + <cd:constant type="marks.details"/> + <cd:constant type="marks.get"/> + <cd:constant type="marks.set"/> + <cd:constant type="math.alternates"/> + <cd:constant type="math.analyzing"/> + <cd:constant type="math.classes"/> + <cd:constant type="math.collapsing"/> + <cd:constant type="math.collecting"/> + <cd:constant type="math.defining"/> + <cd:constant type="math.domains"/> + <cd:constant type="math.fallbacks"/> + <cd:constant type="math.families"/> + <cd:constant type="math.fences"/> + <cd:constant type="math.fixing"/> + <cd:constant type="math.goodies"/> + <cd:constant type="math.greek"/> + <cd:constant type="math.italics"/> + <cd:constant type="math.italics.visualize"/> + <cd:constant type="math.kernpairs"/> + <cd:constant type="math.makeup"/> + <cd:constant type="math.normalizing"/> + <cd:constant type="math.openedup"/> + <cd:constant type="math.patching"/> + <cd:constant type="math.processing"/> + <cd:constant type="math.remapping"/> + <cd:constant type="math.showtree"/> + <cd:constant type="math.stackers.texts"/> + <cd:constant type="math.timings"/> + <cd:constant type="math.unstack"/> + <cd:constant type="math.variants"/> + <cd:constant type="math.virtual"/> + <cd:constant type="memory.checking"/> + <cd:constant type="metapost.blobs"/> + <cd:constant type="metapost.btexetex"/> + <cd:constant type="metapost.forcestroke"/> + <cd:constant type="metapost.graphics"/> + <cd:constant type="metapost.lua"/> + <cd:constant type="metapost.nodes"/> + <cd:constant type="metapost.properties"/> + <cd:constant type="metapost.runs"/> + <cd:constant type="metapost.scripts"/> + <cd:constant type="metapost.showlog"/> + <cd:constant type="metapost.svg"/> + <cd:constant type="metapost.svg.colors"/> + <cd:constant type="metapost.svg.path"/> + <cd:constant type="metapost.svg.result"/> + <cd:constant type="metapost.svg.text"/> + <cd:constant type="metapost.terminal"/> + <cd:constant type="metapost.textexts"/> + <cd:constant type="metapost.tracingall"/> + <cd:constant type="metapost.variables"/> + <cd:constant type="mixedcolumns.boxes"/> + <cd:constant type="mixedcolumns.details"/> + <cd:constant type="mixedcolumns.trace"/> + <cd:constant type="modules.loading"/> + <cd:constant type="nodes.areas"/> + <cd:constant type="nodes.boxes"/> + <cd:constant type="nodes.callbacks"/> + <cd:constant type="nodes.characters"/> + <cd:constant type="nodes.destinations"/> + <cd:constant type="nodes.destinations.show"/> + <cd:constant type="nodes.directions"/> + <cd:constant type="nodes.fontrun"/> + <cd:constant type="nodes.frequencies"/> + <cd:constant type="nodes.migrations"/> + <cd:constant type="nodes.references"/> + <cd:constant type="nodes.references.show"/> + <cd:constant type="nodes.rules"/> + <cd:constant type="nodes.shifting"/> + <cd:constant type="nodes.stripping"/> + <cd:constant type="nodes.variants"/> + <cd:constant type="objects"/> + <cd:constant type="otf.actions"/> + <cd:constant type="otf.alternatives"/> + <cd:constant type="otf.analyzing"/> + <cd:constant type="otf.applied"/> + <cd:constant type="otf.baseinit"/> + <cd:constant type="otf.bugs"/> + <cd:constant type="otf.chains"/> + <cd:constant type="otf.cleanups"/> + <cd:constant type="otf.cmap"/> + <cd:constant type="otf.cmap.details"/> + <cd:constant type="otf.compruns"/> + <cd:constant type="otf.contexts"/> + <cd:constant type="otf.cursive"/> + <cd:constant type="otf.details"/> + <cd:constant type="otf.dynamics"/> + <cd:constant type="otf.features"/> + <cd:constant type="otf.kernruns"/> + <cd:constant type="otf.kerns"/> + <cd:constant type="otf.ligatures"/> + <cd:constant type="otf.loading"/> + <cd:constant type="otf.marks"/> + <cd:constant type="otf.markwidth"/> + <cd:constant type="otf.multiples"/> + <cd:constant type="otf.optimizations"/> + <cd:constant type="otf.packing"/> + <cd:constant type="otf.plugins"/> + <cd:constant type="otf.positions"/> + <cd:constant type="otf.preparing"/> + <cd:constant type="otf.sample"/> + <cd:constant type="otf.sample.silent"/> + <cd:constant type="otf.singles"/> + <cd:constant type="otf.skips"/> + <cd:constant type="otf.steps"/> + <cd:constant type="otf.substitutions"/> + <cd:constant type="otf.testruns"/> + <cd:constant type="otf.unicodes"/> + <cd:constant type="otr.forcestrutdepth"/> + <cd:constant type="pagebuilder.injections"/> + <cd:constant type="pagebuilder.insert"/> + <cd:constant type="pages.mark"/> + <cd:constant type="pages.timing"/> + <cd:constant type="paragraphs.anchors"/> + <cd:constant type="parbuilders.keeptogether"/> + <cd:constant type="physics.units"/> + <cd:constant type="profiling.show"/> + <cd:constant type="profiling.trace"/> + <cd:constant type="publications"/> + <cd:constant type="publications.authorhash"/> + <cd:constant type="publications.cite"/> + <cd:constant type="publications.cite.missing"/> + <cd:constant type="publications.cite.references"/> + <cd:constant type="publications.details"/> + <cd:constant type="publications.duplicates"/> + <cd:constant type="publications.match"/> + <cd:constant type="publications.setups"/> + <cd:constant type="publications.sorters"/> + <cd:constant type="publications.strings"/> + <cd:constant type="publications.suffixes"/> + <cd:constant type="references.bookmarks"/> + <cd:constant type="references.destinations"/> + <cd:constant type="references.references"/> + <cd:constant type="regimes.translating"/> + <cd:constant type="resolvers.cache"/> + <cd:constant type="resolvers.containers"/> + <cd:constant type="resolvers.details"/> + <cd:constant type="resolvers.expansions"/> + <cd:constant type="resolvers.globbing"/> + <cd:constant type="resolvers.lib"/> + <cd:constant type="resolvers.libraries"/> + <cd:constant type="resolvers.locating"/> + <cd:constant type="resolvers.methods"/> + <cd:constant type="resolvers.paths"/> + <cd:constant type="resolvers.readfile"/> + <cd:constant type="resolvers.readfile.details"/> + <cd:constant type="resolvers.schemes"/> + <cd:constant type="resolvers.storage"/> + <cd:constant type="resolvers.virtual"/> + <cd:constant type="rules.mp"/> + <cd:constant type="sandbox"/> + <cd:constant type="sandbox.tracecalls"/> + <cd:constant type="sandbox.tracefiles"/> + <cd:constant type="scripts.analyzing"/> + <cd:constant type="scripts.autofeature"/> + <cd:constant type="scripts.details"/> + <cd:constant type="scripts.injections"/> + <cd:constant type="scripts.splitting"/> + <cd:constant type="scripts.splitting.details"/> + <cd:constant type="selectfont.alternatives"/> + <cd:constant type="selectfont.features"/> + <cd:constant type="selectfont.files"/> + <cd:constant type="selectfont.goodies"/> + <cd:constant type="selectfont.register"/> + <cd:constant type="selectfont.typescripts"/> + <cd:constant type="sequencers.details"/> + <cd:constant type="sequencers.used"/> + <cd:constant type="sorters.methods"/> + <cd:constant type="sorters.orders"/> + <cd:constant type="sorters.replacements"/> + <cd:constant type="sorters.tests"/> + <cd:constant type="stacker.resolve"/> + <cd:constant type="streams.collecting"/> + <cd:constant type="streams.flushing"/> + <cd:constant type="structure.sidefloats.pageflush"/> + <cd:constant type="structures.counters"/> + <cd:constant type="structures.details"/> + <cd:constant type="structures.lists"/> + <cd:constant type="structures.notes"/> + <cd:constant type="structures.notes.references"/> + <cd:constant type="structures.pages"/> + <cd:constant type="structures.referencing"/> + <cd:constant type="structures.referencing.analyzing"/> + <cd:constant type="structures.referencing.empty"/> + <cd:constant type="structures.referencing.identifying"/> + <cd:constant type="structures.referencing.importing"/> + <cd:constant type="structures.referencing.show"/> + <cd:constant type="structures.registers"/> + <cd:constant type="structures.sectioning"/> + <cd:constant type="structures.showused"/> + <cd:constant type="structures.tags"/> + <cd:constant type="structures.tags.info"/> + <cd:constant type="system.callbacks"/> + <cd:constant type="system.directives"/> + <cd:constant type="system.dump"/> + <cd:constant type="system.experiments"/> + <cd:constant type="system.jobfiles"/> + <cd:constant type="system.jobstatus"/> + <cd:constant type="system.prepfiles"/> + <cd:constant type="system.randomizer"/> + <cd:constant type="system.randomizer.details"/> + <cd:constant type="system.showcodes"/> + <cd:constant type="system.synctex.visualize"/> + <cd:constant type="system.synctex.xml"/> + <cd:constant type="system.tempfiles"/> + <cd:constant type="system.texstatus"/> + <cd:constant type="tables.natural.widths"/> + <cd:constant type="tables.tabulate.breaks"/> + <cd:constant type="tasks.creation"/> + <cd:constant type="templates.trace"/> + <cd:constant type="tfm.features"/> + <cd:constant type="tfm.loading"/> + <cd:constant type="tokens.compile"/> + <cd:constant type="typesetters.breakpoints"/> + <cd:constant type="typesetters.casing"/> + <cd:constant type="typesetters.characteralign"/> + <cd:constant type="typesetters.characters"/> + <cd:constant type="typesetters.cleaners"/> + <cd:constant type="typesetters.cleaners.autocase"/> + <cd:constant type="typesetters.digits"/> + <cd:constant type="typesetters.directions"/> + <cd:constant type="typesetters.directions.details"/> + <cd:constant type="typesetters.directions.list"/> + <cd:constant type="typesetters.directions.math"/> + <cd:constant type="typesetters.directions.text"/> + <cd:constant type="typesetters.firstlines"/> + <cd:constant type="typesetters.initials"/> + <cd:constant type="typesetters.italics"/> + <cd:constant type="typesetters.kerns.ligatures"/> + <cd:constant type="typesetters.kerns.ligatures.details"/> + <cd:constant type="typesetters.margindata"/> + <cd:constant type="typesetters.margindata.group"/> + <cd:constant type="typesetters.margindata.stack"/> + <cd:constant type="typesetters.nbsp"/> + <cd:constant type="typesetters.periodkerns"/> + <cd:constant type="typesetters.processors"/> + <cd:constant type="typesetters.rubies"/> + <cd:constant type="typesetters.spacing"/> + <cd:constant type="typesetters.suspects"/> + <cd:constant type="typesetters.threshold"/> + <cd:constant type="typesetters.wrappers"/> + <cd:constant type="visualizers.all"/> + <cd:constant type="visualizers.boxes"/> + <cd:constant type="visualizers.depth"/> + <cd:constant type="visualizers.discretionary"/> + <cd:constant type="visualizers.expansion"/> + <cd:constant type="visualizers.fontkern"/> + <cd:constant type="visualizers.glue"/> + <cd:constant type="visualizers.glyph"/> + <cd:constant type="visualizers.hbox"/> + <cd:constant type="visualizers.italic"/> + <cd:constant type="visualizers.justification"/> + <cd:constant type="visualizers.kern"/> + <cd:constant type="visualizers.line"/> + <cd:constant type="visualizers.makeup"/> + <cd:constant type="visualizers.marginkern"/> + <cd:constant type="visualizers.math"/> + <cd:constant type="visualizers.origin"/> + <cd:constant type="visualizers.penalty"/> + <cd:constant type="visualizers.reset"/> + <cd:constant type="visualizers.simple"/> + <cd:constant type="visualizers.simplehbox"/> + <cd:constant type="visualizers.simplevbox"/> + <cd:constant type="visualizers.simplevtop"/> + <cd:constant type="visualizers.space"/> + <cd:constant type="visualizers.strut"/> + <cd:constant type="visualizers.user"/> + <cd:constant type="visualizers.vbox"/> + <cd:constant type="visualizers.vtop"/> + <cd:constant type="visualizers.whatsit"/> + <cd:constant type="vspacing.collect"/> + <cd:constant type="vspacing.forcestrutdepth"/> + <cd:constant type="vspacing.page"/> + <cd:constant type="vspacing.snapping"/> + <cd:constant type="vspacing.spacing"/> + <cd:constant type="vspacing.specials"/> + <cd:constant type="vspacing.synchronizepage"/> + <cd:constant type="vspacing.vbox"/> + <cd:constant type="widgets.attachments"/> + <cd:constant type="xml.entities"/> + <cd:constant type="xml.parse"/> + <cd:constant type="xml.path"/> + <cd:constant type="xml.profile"/> + <cd:constant type="xtable.construct"/> + </cd:define> + + <!-- directive --> + + <cd:define name="value-directive"> + <cd:constant type="attributes.inheritance"/> + <cd:constant type="backend.addtags"/> + <cd:constant type="backend.date"/> + <cd:constant type="backend.format"/> + <cd:constant type="backend.omitextraboxes"/> + <cd:constant type="backend.pdf.forcecidset"/> + <cd:constant type="backend.pdf.threshold"/> + <cd:constant type="backend.trailerid"/> + <cd:constant type="backend.verbosexmp"/> + <cd:constant type="backend.xmp"/> + <cd:constant type="backends.spaces"/> + <cd:constant type="builders.paragraphs.adjusting.kerns"/> + <cd:constant type="builders.paragraphs.solutions.splitters.encapsulate"/> + <cd:constant type="characters.blockstoo"/> + <cd:constant type="characters.spaceafteruppercase"/> + <cd:constant type="chemistry.strictindex"/> + <cd:constant type="chemistry.strictorder"/> + <cd:constant type="colors.cmykrgbmode"/> + <cd:constant type="colors.pgf"/> + <cd:constant type="context.sorthash"/> + <cd:constant type="context.steps.noclose"/> + <cd:constant type="context.steps.nosteps"/> + <cd:constant type="destinations.log"/> + <cd:constant type="destinations.offset"/><!-- 5.0pt --> + <cd:constant type="export.comment"/> + <cd:constant type="export.embed"/> + <cd:constant type="export.lessstate"/> + <cd:constant type="export.math.autoapply"/> + <cd:constant type="export.math.autonumber"/> + <cd:constant type="export.math.autorows"/> + <cd:constant type="export.math.autostrip"/> + <cd:constant type="figures.embedded"/> + <cd:constant type="filters.utf.collapse"/> + <cd:constant type="filters.utf.decompose"/> + <cd:constant type="filters.utf.reorder"/> + <cd:constant type="fontgoodies.mathkerning"/> + <cd:constant type="fonts.autoreload"/> + <cd:constant type="fonts.checksharing"/> + <cd:constant type="fonts.embedall"/> + <cd:constant type="fonts.features.combine"/> + <cd:constant type="fonts.injections.useitalics"/> + <cd:constant type="fonts.mapping.forceligatures"/> + <cd:constant type="fonts.otf.loader.cleanup"/> + <cd:constant type="fonts.otf.loader.force"/> + <cd:constant type="fonts.otf.loader.forcenotdef"/> + <cd:constant type="fonts.otf.loader.syncspace"/> + <cd:constant type="fonts.streamreader"/><!-- 6 --> + <cd:constant type="fonts.streams.compact"/> + <cd:constant type="fonts.svg.cached"/> + <cd:constant type="fonts.usesystemfonts"/> + <cd:constant type="framed.checkmath"/> + <cd:constant type="graphics.autotransform"/> + <cd:constant type="graphics.conversion.cmykprofile"/> + <cd:constant type="graphics.conversion.eps.cleanup.ai"/> + <cd:constant type="graphics.conversion.rgbprofile"/> + <cd:constant type="graphics.extracheck"/> + <cd:constant type="graphics.pdf.recompress"/> + <cd:constant type="graphics.pdf.stripmarked"/> + <cd:constant type="graphics.png.compresslevel"/> + <cd:constant type="graphics.png.purelua"/> + <cd:constant type="graphics.png.recompress"/> + <cd:constant type="hyphenator.flatten"/> + <cd:constant type="hyphenator.optimize"/> + <cd:constant type="hyphenators.method"/> + <cd:constant type="hyphenators.urls.packslashes"/> + <cd:constant type="interaction.identity.preroll"/> + <cd:constant type="job.pack"/> + <cd:constant type="job.save"/> + <cd:constant type="languages.words.dump"/> + <cd:constant type="lmx.cache.files"/> + <cd:constant type="lmx.cache.templates"/> + <cd:constant type="logs.blocked"/> + <cd:constant type="logs.errors"/> + <cd:constant type="logs.target"/> + <cd:constant type="luatex.expanddepth"/><!-- 10000 --> + <cd:constant type="luatex.hashextra"/><!-- 100000 --> + <cd:constant type="luatex.maxinopen"/><!-- 500 --> + <cd:constant type="luatex.maxprintline"/><!-- 10000 --> + <cd:constant type="luatex.maxstrings"/><!-- 500000 --> + <cd:constant type="luatex.nestsize"/><!-- 1000 --> + <cd:constant type="luatex.paramsize"/><!-- 25000 --> + <cd:constant type="luatex.savesize"/><!-- 50000 --> + <cd:constant type="luatex.stacksize"/><!-- 10000 --> + <cd:constant type="lxml.entities.escaped"/> + <cd:constant type="lxml.entities.useelement"/> + <cd:constant type="marks.boxestoo"/> + <cd:constant type="math.checkcoverage"/> + <cd:constant type="math.virtual.optional"/> + <cd:constant type="metapost.lua.tolerant"/> + <cd:constant type="metapost.savetable"/> + <cd:constant type="modules.permitunprefixed"/> + <cd:constant type="mplib.texerrors"/> + <cd:constant type="nodes.basepass"/> + <cd:constant type="nodes.boundaryrun"/> + <cd:constant type="nodes.discrun"/> + <cd:constant type="nodes.keepredundant"/> + <cd:constant type="nodes.processors.force"/> + <cd:constant type="otf.acceptlanguages"/> + <cd:constant type="otf.acceptscripts"/> + <cd:constant type="otf.analyze.useunicodemarks"/> + <cd:constant type="otf.checksofthyphen"/> + <cd:constant type="otf.compact.pairs"/> + <cd:constant type="otf.compact.singles"/> + <cd:constant type="otf.fastdisc"/> + <cd:constant type="otf.forcediscretionaries"/> + <cd:constant type="otf.forcepairadvance"/> + <cd:constant type="otf.keepnames"/> + <cd:constant type="otf.merge.alternates"/> + <cd:constant type="otf.merge.cursives"/> + <cd:constant type="otf.merge.ligatures"/> + <cd:constant type="otf.merge.marks"/> + <cd:constant type="otf.merge.multiples"/> + <cd:constant type="otf.merge.pairs"/> + <cd:constant type="otf.merge.singles"/> + <cd:constant type="otf.merge.substitutions"/> + <cd:constant type="otf.threshold"/> + <cd:constant type="pdf.compact"/> + <cd:constant type="publications.prerollauthor"/> + <cd:constant type="references.bookmarks.preroll"/> + <cd:constant type="references.border"/> + <cd:constant type="references.linkmethod"/> + <cd:constant type="references.sharelinks"/> + <cd:constant type="references.untexurls"/> + <cd:constant type="resolvers.maxreadlevel"/> + <cd:constant type="resolvers.otherwise"/> + <cd:constant type="schemes.cleanmethod"/> + <cd:constant type="schemes.threshold"/> + <cd:constant type="structures.referencing.checkduplicates"/> + <cd:constant type="structures.tags.embed"/> + <cd:constant type="structures.tags.embedmath"/> + <cd:constant type="system.caches.direct"/> + <cd:constant type="system.caches.fast"/> + <cd:constant type="system.callbacks.permitoverloads"/> + <cd:constant type="system.commandlist"/><!-- mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit --> + <cd:constant type="system.commandmode"/><!-- any --> + <cd:constant type="system.compile.cleanup"/> + <cd:constant type="system.compile.strip"/> + <cd:constant type="system.dumpdelta"/> + <cd:constant type="system.dumpfiles"/> + <cd:constant type="system.dumphash"/> + <cd:constant type="system.errorcontext"/><!-- 10 --> + <cd:constant type="system.executionlist"/> + <cd:constant type="system.executionmode"/> + <cd:constant type="system.inputmode"/><!-- any --> + <cd:constant type="system.librarylist"/> + <cd:constant type="system.librarymode"/> + <cd:constant type="system.linesplitmethod"/> + <cd:constant type="system.nolibraries"/> + <cd:constant type="system.nostatistics"/> + <cd:constant type="system.outputmode"/><!-- restricted --> + <cd:constant type="system.profile"/> + <cd:constant type="system.quitonerror"/> + <cd:constant type="system.reportfiles"/> + <cd:constant type="system.rootlist"/> + <cd:constant type="system.showerror"/> + <cd:constant type="system.synctex.compression"/> + <cd:constant type="system.usescitelexer"/> + <cd:constant type="tabulate.linenumbers"/> + <cd:constant type="typesetters.casing.checkkerns"/> + <cd:constant type="typesetters.characteralign.autofont"/> + <cd:constant type="typesetters.directions.onetoo"/> + <cd:constant type="typesetters.directions.removecontrols"/> + <cd:constant type="typesetters.processors.overloadcatcodes"/> + <cd:constant type="visualizers.fraction"/> + <cd:constant type="visualizers.raisepenalties"/> + <cd:constant type="vspacing.removemathskips"/> + <cd:constant type="vspacing.synchronizepage"/> + <cd:constant type="xml.path.keeplastmatch"/> + </cd:define> + </cd:interface> diff --git a/tex/context/interface/mkiv/i-context-modules.xml b/tex/context/interface/mkiv/i-context-modules.xml index 85194c6ec..319ba53df 100644 --- a/tex/context/interface/mkiv/i-context-modules.xml +++ b/tex/context/interface/mkiv/i-context-modules.xml @@ -37,4 +37,4 @@ <cd:interfacefile filename="i-translate.xml"/> <cd:interfacefile filename="i-visual.xml"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex 018ee8cb5..ca7a9bbbf 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-context.xml b/tex/context/interface/mkiv/i-context.xml index 17ef0636a..cb82fb4a4 100644 --- a/tex/context/interface/mkiv/i-context.xml +++ b/tex/context/interface/mkiv/i-context.xml @@ -56,6 +56,9 @@ <cd:interfacefile filename="i-combination.xml"/> <cd:interfacefile filename="i-commandhandler.xml"/> <cd:interfacefile filename="i-comment.xml"/> + <!-- + <cd:interfacefile filename="i-contextname.xml"/> + --> <cd:interfacefile filename="i-conversion.xml"/> <cd:interfacefile filename="i-counter.xml"/> <cd:interfacefile filename="i-dataset.xml"/> @@ -124,6 +127,7 @@ <cd:interfacefile filename="i-logo.xml"/> <cd:interfacefile filename="i-lohi.xml"/> <cd:interfacefile filename="i-lua.xml"/> + <cd:interfacefile filename="i-luatable.xml"/> <cd:interfacefile filename="i-makeup.xml"/> <cd:interfacefile filename="i-marginblock.xml"/> <cd:interfacefile filename="i-margindata.xml"/> @@ -134,6 +138,9 @@ <cd:interfacefile filename="i-mathcases.xml"/> <cd:interfacefile filename="i-mathfence.xml"/> <cd:interfacefile filename="i-mathmatrix.xml"/> + <!-- + <cd:interfacefile filename="i-mathname.xml"/> + --> <cd:interfacefile filename="i-mathornament.xml"/> <cd:interfacefile filename="i-mathradical.xml"/> <cd:interfacefile filename="i-mathstackers.xml"/> @@ -215,6 +222,9 @@ <cd:interfacefile filename="i-table.xml"/> <cd:interfacefile filename="i-tabulation.xml"/> <cd:interfacefile filename="i-tagging.xml"/> + <!-- + <cd:interfacefile filename="i-tex.xml"/> + --> <cd:interfacefile filename="i-textbackground.xml"/> <cd:interfacefile filename="i-textflow.xml"/> <cd:interfacefile filename="i-textrule.xml"/> diff --git a/tex/context/interface/mkiv/i-contextname.xml b/tex/context/interface/mkiv/i-contextname.xml index 3e289f3f5..c1b7d85cb 100644 --- a/tex/context/interface/mkiv/i-contextname.xml +++ b/tex/context/interface/mkiv/i-contextname.xml @@ -2350,4 +2350,4 @@ <cd:command name="zerowidthnobreakspace" level="document" category="characters" file="char-def.lua"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-conversion.xml b/tex/context/interface/mkiv/i-conversion.xml index 80db79cad..4c8c9683e 100644 --- a/tex/context/interface/mkiv/i-conversion.xml +++ b/tex/context/interface/mkiv/i-conversion.xml @@ -214,25 +214,25 @@ </cd:arguments> </cd:command> - <cd:command name="monthlong" level="style" category="counter" file="core-con.mkiv"> + <cd:command name="month" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> </cd:arguments> </cd:command> - <cd:command name="monthshort" level="style" category="counter" file="core-con.mkiv"> + <cd:command name="monthlong" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> </cd:arguments> </cd:command> - <cd:command name="convertmonth" level="style" category="counter" file="core-con.mkiv"> + <cd:command name="monthshort" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> </cd:arguments> </cd:command> - <cd:command name="month" level="style" category="counter" file="core-con.mkiv"> + <cd:command name="convertmonth" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> </cd:arguments> @@ -268,6 +268,30 @@ </cd:arguments> </cd:command> + <cd:command name="daylong" level="style" category="counter" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="dayshort" level="style" category="counter" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="DAYLONG" level="style" category="counter" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="DAYSHORT" level="style" category="counter" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + <cd:command name="dayoftheweek" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> @@ -318,40 +342,52 @@ <cd:arguments> <cd:keywords list="yes" optional="yes"> <cd:constant type="year"/> - <cd:constant type="month"/> - <cd:constant type="day"/> - <cd:constant type="weekday"/> <cd:constant type="y"/> <cd:constant type="yy"/> <cd:constant type="Y"/> + <cd:constant type="YY"/> + <cd:constant type="month"/> + <cd:constant type="month:mnem"/> + <cd:constant type="month:jalali"/> <cd:constant type="m"/> + <cd:constant type="m:mnem"/> + <cd:constant type="m:jalali"/> + <cd:constant type="MONTH"/> + <cd:constant type="MONTH:mnem"/> + <cd:constant type="MONTH:jalali"/> <cd:constant type="mm"/> <cd:constant type="M"/> - <cd:constant type="d"/> - <cd:constant type="dd"/> - <cd:constant type="D"/> - <cd:constant type="w"/> - <cd:constant type="W"/> - <cd:constant type="space"/> - <cd:constant type="\␣"/> - <cd:constant type="month:mnem"/> - <cd:constant type="m:mnem"/> - <cd:constant type="d:ord"/> - <cd:constant type="day:ord"/> - <cd:constant type="dd:ord"/> - <cd:constant type="D:ord"/> - <cd:constant type="cd:text"/> - <cd:constant type="referral"/> + <cd:constant type="day"/> <cd:constant type="day:+"/> + <cd:constant type="day:ord"/> <cd:constant type="day:++"/> + <cd:constant type="day:highord"/> + <cd:constant type="d"/> <cd:constant type="d:+"/> + <cd:constant type="d:ord"/> <cd:constant type="d:++"/> + <cd:constant type="d:highord"/> + <cd:constant type="dd"/> <cd:constant type="dd:+"/> + <cd:constant type="dd:ord"/> <cd:constant type="dd:++"/> + <cd:constant type="dd:highord"/> + <cd:constant type="D"/> <cd:constant type="D:+"/> + <cd:constant type="D:ord"/> <cd:constant type="D:++"/> - <cd:constant type="month:jalali"/> - <cd:constant type="m:jalali"/> + <cd:constant type="D:highord"/> + <cd:constant type="weekday"/> + <cd:constant type="weekday:mnem"/> + <cd:constant type="w"/> + <cd:constant type="w:mnem"/> + <cd:constant type="WEEKDAY"/> + <cd:constant type="WEEKDAY:mnem"/> + <cd:constant type="W"/> + <cd:constant type="referral"/> + <cd:constant type="space"/> + <cd:constant type="\␣"/> + <cd:constant type="cd:text"/> <cd:constant type="jalali:to"/> <cd:constant type="jalali:from"/> </cd:keywords> @@ -496,6 +532,8 @@ <cd:constant type="slovenianNumerals"/> <cd:constant type="spanishnumerals"/> <cd:constant type="spanishNumerals"/> + <cd:constant type="russiannumerals"/> + <cd:constant type="russianNumerals"/> <cd:constant type="mathgreek"/> <cd:constant type="set␣0"/> <cd:constant type="set␣1"/> @@ -631,6 +669,18 @@ </cd:arguments> </cd:command> + <cd:command name="russiannumerals" level="style" category="counter language" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="russianNumerals" level="style" category="counter language" file="core-con.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + <cd:command name="unihex" level="style" category="counter" file="core-con.mkiv"> <cd:arguments> <cd:resolve name="argument-number"/> @@ -649,10 +699,58 @@ </cd:arguments> </cd:command> - <cd:command name="actualyear" level="style" category="system" file="core-con.mkiv"/> + <cd:command name="actualyear" level="style" category="system" file="core-con.lua"/> - <cd:command name="actualmonth" level="style" category="system" file="core-con.mkiv"/> + <cd:command name="actualmonth" level="style" category="system" file="core-con.lua"/> + + <cd:command name="actualday" level="style" category="system" file="core-con.lua"/> + + <cd:command name="lchexnumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="uchexnumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> - <cd:command name="actualday" level="style" category="system" file="core-con.mkiv"/> + <cd:command name="lchexnumbers" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="uchexnumbers" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="hexnumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="octnumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="hexstringtonumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="octstringtonumber" level="style" category="counter" file="syst-con.mkxl"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> </cd:interface> diff --git a/tex/context/interface/mkiv/i-counter.xml b/tex/context/interface/mkiv/i-counter.xml index ec841a597..bba8004f0 100644 --- a/tex/context/interface/mkiv/i-counter.xml +++ b/tex/context/interface/mkiv/i-counter.xml @@ -514,4 +514,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-database.xml b/tex/context/interface/mkiv/i-database.xml index a81cd75f8..24ae7ac1e 100644 --- a/tex/context/interface/mkiv/i-database.xml +++ b/tex/context/interface/mkiv/i-database.xml @@ -115,4 +115,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-dataset.xml b/tex/context/interface/mkiv/i-dataset.xml index c006454d3..afb8f8fa3 100644 --- a/tex/context/interface/mkiv/i-dataset.xml +++ b/tex/context/interface/mkiv/i-dataset.xml @@ -48,4 +48,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-define.xml b/tex/context/interface/mkiv/i-define.xml index 91975e752..f37645cf1 100644 --- a/tex/context/interface/mkiv/i-define.xml +++ b/tex/context/interface/mkiv/i-define.xml @@ -20,4 +20,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-digits.xml b/tex/context/interface/mkiv/i-digits.xml index c917bf0d4..f962ac734 100644 --- a/tex/context/interface/mkiv/i-digits.xml +++ b/tex/context/interface/mkiv/i-digits.xml @@ -23,4 +23,4 @@ <cd:command name="dummydigit" level="document" file="typo-dig.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-dimension.xml b/tex/context/interface/mkiv/i-dimension.xml index 1980687ab..bb7c3bfa7 100644 --- a/tex/context/interface/mkiv/i-dimension.xml +++ b/tex/context/interface/mkiv/i-dimension.xml @@ -64,4 +64,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-direction.xml b/tex/context/interface/mkiv/i-direction.xml index 87e64e457..a29314549 100644 --- a/tex/context/interface/mkiv/i-direction.xml +++ b/tex/context/interface/mkiv/i-direction.xml @@ -52,4 +52,4 @@ <cd:command name="showdirsinmargin" level="document" category="alignment" file="supp-dir.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-document.xml b/tex/context/interface/mkiv/i-document.xml index 178f7e9fe..5886aa8eb 100644 --- a/tex/context/interface/mkiv/i-document.xml +++ b/tex/context/interface/mkiv/i-document.xml @@ -248,4 +248,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-dummy.xml b/tex/context/interface/mkiv/i-dummy.xml index 47d005e20..dfb3bcf5b 100644 --- a/tex/context/interface/mkiv/i-dummy.xml +++ b/tex/context/interface/mkiv/i-dummy.xml @@ -55,4 +55,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-enumeration.xml b/tex/context/interface/mkiv/i-enumeration.xml index 0f286b8b5..ab10e0bf1 100644 --- a/tex/context/interface/mkiv/i-enumeration.xml +++ b/tex/context/interface/mkiv/i-enumeration.xml @@ -226,4 +226,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-export.xml b/tex/context/interface/mkiv/i-export.xml index 3c3afff2b..07156c95b 100644 --- a/tex/context/interface/mkiv/i-export.xml +++ b/tex/context/interface/mkiv/i-export.xml @@ -74,4 +74,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-field.xml b/tex/context/interface/mkiv/i-field.xml index 7a67786f9..04f947144 100644 --- a/tex/context/interface/mkiv/i-field.xml +++ b/tex/context/interface/mkiv/i-field.xml @@ -380,4 +380,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-file.xml b/tex/context/interface/mkiv/i-file.xml index bf12e5825..df649e8e0 100644 --- a/tex/context/interface/mkiv/i-file.xml +++ b/tex/context/interface/mkiv/i-file.xml @@ -407,4 +407,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-fillinline.xml b/tex/context/interface/mkiv/i-fillinline.xml index eb2f9d6ae..614a9bc99 100644 --- a/tex/context/interface/mkiv/i-fillinline.xml +++ b/tex/context/interface/mkiv/i-fillinline.xml @@ -40,4 +40,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-fillinrule.xml b/tex/context/interface/mkiv/i-fillinrule.xml index d73b70ff9..9802b4fbb 100644 --- a/tex/context/interface/mkiv/i-fillinrule.xml +++ b/tex/context/interface/mkiv/i-fillinrule.xml @@ -63,4 +63,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-firstline.xml b/tex/context/interface/mkiv/i-firstline.xml index b22035651..074326769 100644 --- a/tex/context/interface/mkiv/i-firstline.xml +++ b/tex/context/interface/mkiv/i-firstline.xml @@ -49,4 +49,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-fittingpage.xml b/tex/context/interface/mkiv/i-fittingpage.xml index f5daafcf1..309e6c542 100644 --- a/tex/context/interface/mkiv/i-fittingpage.xml +++ b/tex/context/interface/mkiv/i-fittingpage.xml @@ -100,4 +100,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-floats.xml b/tex/context/interface/mkiv/i-floats.xml index b37953746..afb945e3e 100644 --- a/tex/context/interface/mkiv/i-floats.xml +++ b/tex/context/interface/mkiv/i-floats.xml @@ -521,6 +521,30 @@ </cd:arguments> </cd:command> + <cd:command name="placefloatcaption" level="style" category="structure fonts counter" file="strc-flt.mkvi"> + <cd:arguments> + <cd:resolve name="keyword-name"/> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="title"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="bookmark"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="marking"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="list"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="reference"> + <cd:constant type="cd:reference"/> + </cd:parameter> + </cd:assignments> + <cd:resolve name="assignment-userdata-list-optional"/> + </cd:arguments> + </cd:command> + <!-- <cd:command name="definefloatframed" level="style" category="structure background" file="strc-flt.mkvi"> @@ -1000,6 +1024,11 @@ <cd:parameter name="color"> <cd:constant type="cd:color"/> </cd:parameter> + <cd:parameter name="width"> + <cd:constant type="fit" default="yes"/> + <cd:constant type="frame"/> + <cd:constant type="cd:dimension"/> + </cd:parameter> <cd:inherit name="setupframed"/> </cd:assignments> </cd:arguments> diff --git a/tex/context/interface/mkiv/i-fontfamily.xml b/tex/context/interface/mkiv/i-fontfamily.xml index e20346319..e5683d21a 100644 --- a/tex/context/interface/mkiv/i-fontfamily.xml +++ b/tex/context/interface/mkiv/i-fontfamily.xml @@ -222,4 +222,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-fonts.xml b/tex/context/interface/mkiv/i-fonts.xml index a6d826c41..08a8974a9 100644 --- a/tex/context/interface/mkiv/i-fonts.xml +++ b/tex/context/interface/mkiv/i-fonts.xml @@ -292,7 +292,11 @@ <cd:constant type="yes" default="yes"/> <cd:constant type="no"/> </cd:parameter> - <cd:parameter name="cd:name"> + <cd:parameter name="uppercasing"> + <cd:constant type="yes"/> + <cd:constant type="no" default="yes"/> + </cd:parameter> + <cd:parameter name="lowercasing"> <cd:constant type="yes"/> <cd:constant type="no" default="yes"/> </cd:parameter> @@ -303,6 +307,13 @@ <cd:constant type="yes"/> <cd:constant type="no" default="yes"/> </cd:parameter> + <cd:parameter name="metapost"> + <cd:constant type="cd:name"/> + </cd:parameter> + <cd:parameter name="cd:name"> + <cd:constant type="yes"/> + <cd:constant type="no" default="yes"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> @@ -1116,6 +1127,12 @@ <cd:command name="setsuperiors" level="style" category="fonts" file="font-pre.mkiv"/> + <cd:command name="setfractions" level="style" category="fonts" file="font-pre.mkiv"/> + + <cd:command name="uppercasing" level="style" category="fonts" file="font-pre.mkiv"/> + + <cd:command name="lowercasing" level="style" category="fonts" file="font-pre.mkiv"/> + <cd:command name="tinyfont" level="style" category="fonts" file="font-pre.mkiv"/> <cd:command name="infofont" level="style" category="fonts" file="font-pre.mkiv"/> @@ -1753,4 +1770,37 @@ </cd:arguments> </cd:command> + <cd:command name="defineexpansion" level="style" category="fonts" file="hand-ini.mkx"> + <cd:arguments> + <cd:resolve name="keyword-name"/> + <cd:resolve name="keyword-name-optional"/> + <cd:assignments list="yes" optional="yes"> + <cd:inherit name="setupexpansion"/> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="setupexpansion" level="style" category="fonts" file="hand-ini.mkx"> + <cd:arguments> + <cd:resolve name="keyword-name-list-optional"/> + <cd:assignments list="yes"> + <cd:parameter name="step"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="stretch"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="shrink"> + <cd:constant type="cd:number"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="setexpansion" level="style" category="fonts" file="font-ini.mkvi"> + <cd:arguments> + <cd:resolve name="keyword-name"/> + </cd:arguments> + </cd:command> + </cd:interface> diff --git a/tex/context/interface/mkiv/i-form.xml b/tex/context/interface/mkiv/i-form.xml index fcb4979d0..fac867412 100644 --- a/tex/context/interface/mkiv/i-form.xml +++ b/tex/context/interface/mkiv/i-form.xml @@ -20,4 +20,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-fraction.xml b/tex/context/interface/mkiv/i-fraction.xml index 33252dde2..a2146bc8d 100644 --- a/tex/context/interface/mkiv/i-fraction.xml +++ b/tex/context/interface/mkiv/i-fraction.xml @@ -202,4 +202,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-framed.xml b/tex/context/interface/mkiv/i-framed.xml index e76e29368..c3b9a0419 100644 --- a/tex/context/interface/mkiv/i-framed.xml +++ b/tex/context/interface/mkiv/i-framed.xml @@ -653,4 +653,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-framedtable.xml b/tex/context/interface/mkiv/i-framedtable.xml index 51699b5bc..db985b3b9 100644 --- a/tex/context/interface/mkiv/i-framedtable.xml +++ b/tex/context/interface/mkiv/i-framedtable.xml @@ -83,4 +83,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-graphics.xml b/tex/context/interface/mkiv/i-graphics.xml index 7bd3fb9bc..222d7e93f 100644 --- a/tex/context/interface/mkiv/i-graphics.xml +++ b/tex/context/interface/mkiv/i-graphics.xml @@ -85,6 +85,11 @@ <cd:parameter name="color"> <cd:constant type="cd:color"/> </cd:parameter> + <cd:parameter name="cmyk"> + <cd:constant type="yes"/> + <cd:constant type="no" default="yes"/> + <cd:constant type="auto"/> + </cd:parameter> <cd:parameter name="arguments"> <cd:constant type="cd:text"/> </cd:parameter> @@ -250,18 +255,14 @@ </cd:arguments> </cd:command> - <!-- - - <cd:command name="setupexternalfigures" level="style" category="graphics" file="grph-inc.mkvi"> - <cd:arguments> - <cd:resolve name="keyword-name-list-optional"/> - <cd:assignments list="yes"> - <cd:inherit name="setupexternalfigure"/> - </cd:assignments> - </cd:arguments> - </cd:command> - - --> + <cd:command name="setupexternalfigures" level="style" category="graphics" file="grph-inc.mkvi"> + <cd:arguments> + <cd:resolve name="keyword-name-list-optional"/> + <cd:assignments list="yes"> + <cd:inherit name="setupexternalfigure"/> + </cd:assignments> + </cd:arguments> + </cd:command> <cd:command name="useexternalfigure" level="style" category="graphics" file="grph-inc.mkiv"> <cd:arguments> @@ -555,4 +556,26 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file + <cd:command name="includesvgfile" level="document" category="graphics" file="grph-inc.mkiv"> + <cd:arguments> + <cd:resolve name="keyword-file"/> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="offset"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="includesvgbuffer" level="document" category="graphics" file="grph-inc.mkiv"> + <cd:arguments> + <cd:resolve name="keyword-buffer"/> + <cd:assignments list="yes" optional="yes"> + <cd:parameter name="offset"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + +</cd:interface> diff --git a/tex/context/interface/mkiv/i-help.xml b/tex/context/interface/mkiv/i-help.xml index 6e8612c5a..f1cd9907f 100644 --- a/tex/context/interface/mkiv/i-help.xml +++ b/tex/context/interface/mkiv/i-help.xml @@ -86,4 +86,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-hemistich.xml b/tex/context/interface/mkiv/i-hemistich.xml index a508c51f8..9337315cd 100644 --- a/tex/context/interface/mkiv/i-hemistich.xml +++ b/tex/context/interface/mkiv/i-hemistich.xml @@ -89,4 +89,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-highlight.xml b/tex/context/interface/mkiv/i-highlight.xml index 9da39818e..35e954148 100644 --- a/tex/context/interface/mkiv/i-highlight.xml +++ b/tex/context/interface/mkiv/i-highlight.xml @@ -61,4 +61,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-hspace.xml b/tex/context/interface/mkiv/i-hspace.xml index 31c215864..d807fbb57 100644 --- a/tex/context/interface/mkiv/i-hspace.xml +++ b/tex/context/interface/mkiv/i-hspace.xml @@ -167,4 +167,26 @@ </cd:arguments> </cd:command> + <cd:command name="interwordspacebefore" level="system" category="whitespace" file="spac/hor.mkiv"/> + + <cd:command name="interwordspaceafter" level="system" category="whitespace" file="spac/hor.mkiv"/> + + <cd:command name="interwordspacesbefore" level="system" category="whitespace" file="spac/hor.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="interwordspacesafter" level="system" category="whitespace" file="spac/hor.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="interwordspaces" level="system" category="whitespace" file="spac/hor.mkiv"> + <cd:arguments> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + </cd:interface> diff --git a/tex/context/interface/mkiv/i-hyphenation.xml b/tex/context/interface/mkiv/i-hyphenation.xml index 75cdbae75..4ab4fe1d8 100644 --- a/tex/context/interface/mkiv/i-hyphenation.xml +++ b/tex/context/interface/mkiv/i-hyphenation.xml @@ -34,7 +34,7 @@ </cd:arguments> </cd:command> - <cd:command name="definehypenationfeatures" level="style" category="language" file="lang-hyp.mkiv"> + <cd:command name="definehyphenationfeatures" level="style" category="language" file="lang-hyp.mkiv"> <cd:arguments> <cd:resolve name="keyword-name"/> <cd:assignments list="yes"> @@ -261,4 +261,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-imposition.xml b/tex/context/interface/mkiv/i-imposition.xml index 68ba5893d..ad05424ce 100644 --- a/tex/context/interface/mkiv/i-imposition.xml +++ b/tex/context/interface/mkiv/i-imposition.xml @@ -79,4 +79,4 @@ <cd:command name="arrangedpages" type="environment" begin="push" end="pop" level="system" category="layout" file="page-imp.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-indentedtext.xml b/tex/context/interface/mkiv/i-indentedtext.xml index 8d19c321f..4921115a5 100644 --- a/tex/context/interface/mkiv/i-indentedtext.xml +++ b/tex/context/interface/mkiv/i-indentedtext.xml @@ -69,4 +69,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-injector.xml b/tex/context/interface/mkiv/i-injector.xml index 3728d7bb8..2ba2a5da2 100644 --- a/tex/context/interface/mkiv/i-injector.xml +++ b/tex/context/interface/mkiv/i-injector.xml @@ -70,4 +70,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-insertion.xml b/tex/context/interface/mkiv/i-insertion.xml index c8c4ed721..8bb52616b 100644 --- a/tex/context/interface/mkiv/i-insertion.xml +++ b/tex/context/interface/mkiv/i-insertion.xml @@ -45,4 +45,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-interaction.xml b/tex/context/interface/mkiv/i-interaction.xml index 2496e5d94..36c0c3572 100644 --- a/tex/context/interface/mkiv/i-interaction.xml +++ b/tex/context/interface/mkiv/i-interaction.xml @@ -157,4 +157,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-interactionbar.xml b/tex/context/interface/mkiv/i-interactionbar.xml index e03d2a071..8981c6e2b 100644 --- a/tex/context/interface/mkiv/i-interactionbar.xml +++ b/tex/context/interface/mkiv/i-interactionbar.xml @@ -97,4 +97,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-interactionmenu.xml b/tex/context/interface/mkiv/i-interactionmenu.xml index 32fac36f9..26b7eabe8 100644 --- a/tex/context/interface/mkiv/i-interactionmenu.xml +++ b/tex/context/interface/mkiv/i-interactionmenu.xml @@ -277,4 +277,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-interface.xml b/tex/context/interface/mkiv/i-interface.xml index 66b48535e..08c273812 100644 --- a/tex/context/interface/mkiv/i-interface.xml +++ b/tex/context/interface/mkiv/i-interface.xml @@ -199,4 +199,4 @@ </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-interlinespace.xml b/tex/context/interface/mkiv/i-interlinespace.xml index 94911afb9..e0fbe0dca 100644 --- a/tex/context/interface/mkiv/i-interlinespace.xml +++ b/tex/context/interface/mkiv/i-interlinespace.xml @@ -173,4 +173,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-ipsum.xml b/tex/context/interface/mkiv/i-ipsum.xml index b3fb7cfdd..3cb4a5350 100644 --- a/tex/context/interface/mkiv/i-ipsum.xml +++ b/tex/context/interface/mkiv/i-ipsum.xml @@ -78,4 +78,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-italiccorrection.xml b/tex/context/interface/mkiv/i-italiccorrection.xml index 2d406bdf5..4522634fc 100644 --- a/tex/context/interface/mkiv/i-italiccorrection.xml +++ b/tex/context/interface/mkiv/i-italiccorrection.xml @@ -29,4 +29,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-items.xml b/tex/context/interface/mkiv/i-items.xml index ab50b669d..6ff396bed 100644 --- a/tex/context/interface/mkiv/i-items.xml +++ b/tex/context/interface/mkiv/i-items.xml @@ -82,4 +82,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-javascript.xml b/tex/context/interface/mkiv/i-javascript.xml index e97c5109c..1c3f11f63 100644 --- a/tex/context/interface/mkiv/i-javascript.xml +++ b/tex/context/interface/mkiv/i-javascript.xml @@ -48,4 +48,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-kerning.xml b/tex/context/interface/mkiv/i-kerning.xml index 64a2513b9..a467a11f5 100644 --- a/tex/context/interface/mkiv/i-kerning.xml +++ b/tex/context/interface/mkiv/i-kerning.xml @@ -122,4 +122,4 @@ <cd:command name="resetperiodkerning" level="style" catgeory="fonts whitespace" file="typo-pnc.mkic"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-label.xml b/tex/context/interface/mkiv/i-label.xml index a1d36ef43..9faf850a5 100644 --- a/tex/context/interface/mkiv/i-label.xml +++ b/tex/context/interface/mkiv/i-label.xml @@ -221,4 +221,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-labeltext.xml b/tex/context/interface/mkiv/i-labeltext.xml index 7ad6b6ba8..47bdd23af 100644 --- a/tex/context/interface/mkiv/i-labeltext.xml +++ b/tex/context/interface/mkiv/i-labeltext.xml @@ -520,4 +520,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-layer.xml b/tex/context/interface/mkiv/i-layer.xml index 77aaf7d52..a851b64bd 100644 --- a/tex/context/interface/mkiv/i-layer.xml +++ b/tex/context/interface/mkiv/i-layer.xml @@ -324,4 +324,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-layout.xml b/tex/context/interface/mkiv/i-layout.xml index ff5a0e57b..2f918bf0d 100644 --- a/tex/context/interface/mkiv/i-layout.xml +++ b/tex/context/interface/mkiv/i-layout.xml @@ -387,4 +387,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-linenumber.xml b/tex/context/interface/mkiv/i-linenumber.xml index 3dc562e68..4aa68c319 100644 --- a/tex/context/interface/mkiv/i-linenumber.xml +++ b/tex/context/interface/mkiv/i-linenumber.xml @@ -169,4 +169,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-lines.xml b/tex/context/interface/mkiv/i-lines.xml index 500786276..dcaca281e 100644 --- a/tex/context/interface/mkiv/i-lines.xml +++ b/tex/context/interface/mkiv/i-lines.xml @@ -120,4 +120,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-linetable.xml b/tex/context/interface/mkiv/i-linetable.xml index a515f40fd..756b20d5d 100644 --- a/tex/context/interface/mkiv/i-linetable.xml +++ b/tex/context/interface/mkiv/i-linetable.xml @@ -162,4 +162,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-linewidth.xml b/tex/context/interface/mkiv/i-linewidth.xml index 6d9043a1f..e276572af 100644 --- a/tex/context/interface/mkiv/i-linewidth.xml +++ b/tex/context/interface/mkiv/i-linewidth.xml @@ -17,4 +17,4 @@ <cd:command name="linewidth" level="style" category="layout" file="pack-rul.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-list.xml b/tex/context/interface/mkiv/i-list.xml index a3ae22676..ac20aefff 100644 --- a/tex/context/interface/mkiv/i-list.xml +++ b/tex/context/interface/mkiv/i-list.xml @@ -101,10 +101,11 @@ <cd:parameter name="pagecommand"> <cd:constant type="cd:oneargument"/> </cd:parameter> - <cd:parameter name="pagenumber"> + <cd:parameter name="pagenumber" list="yes"> <cd:constant type="yes" default="yes"/> <cd:constant type="no"/> <cd:constant type="always"/> + <cd:constant type="realpage"/> </cd:parameter> <cd:parameter name="headnumber"> <cd:constant type="yes" default="yes"/> @@ -680,4 +681,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-logo.xml b/tex/context/interface/mkiv/i-logo.xml index 3208555e0..d345d76c8 100644 --- a/tex/context/interface/mkiv/i-logo.xml +++ b/tex/context/interface/mkiv/i-logo.xml @@ -7,6 +7,11 @@ <cd:command name="TeX" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="TEX" level="document" category="symbols" file="cont-log.mkiv"/> + <!-- + <cd:command name="TeXprefix" level="document" category="symbols" file="cont-log.mkiv"/> + <cd:command name="TeXsuffix" level="document" category="symbols" file="cont-log.mkiv"/> + --> + <cd:command name="Context" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="ConTeXt" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="CONTEXT" level="document" category="symbols" file="cont-log.mkiv"/> @@ -23,12 +28,16 @@ <cd:command name="MKII" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MKIV" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MKVI" level="document" category="symbols" file="cont-log.mkiv"/> + <cd:command name="MKXL" level="document" category="symbols" file="cont-log.mkiv"/> + <cd:command name="MKLX" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MKIX" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MKXI" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MPII" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MPIV" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="MPVI" level="document" category="symbols" file="cont-log.mkiv"/> + <cd:command name="MPXL" level="document" category="symbols" file="cont-log.mkiv"/> + <cd:command name="MPLX" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="PPCHTeX" level="document" category="symbols" file="cont-log.mkiv"/> <cd:command name="PPCHTEX" level="document" category="symbols" file="cont-log.mkiv"/> diff --git a/tex/context/interface/mkiv/i-lohi.xml b/tex/context/interface/mkiv/i-lohi.xml index c174a9f54..035c7b23b 100644 --- a/tex/context/interface/mkiv/i-lohi.xml +++ b/tex/context/interface/mkiv/i-lohi.xml @@ -226,4 +226,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-lua.xml b/tex/context/interface/mkiv/i-lua.xml index c7f114251..94f25d0f7 100644 --- a/tex/context/interface/mkiv/i-lua.xml +++ b/tex/context/interface/mkiv/i-lua.xml @@ -190,4 +190,4 @@ </cd:sequence> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-luatable.xml b/tex/context/interface/mkiv/i-luatable.xml new file mode 100644 index 000000000..a2eb74d82 --- /dev/null +++ b/tex/context/interface/mkiv/i-luatable.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?context-directive job ctxfile x-setups.ctx ?> + +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands"> + + <cd:command name="newluatable" level="system" category="lua" file="cldf-int.mkxl"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + + <cd:command name="useluatable" level="system" category="lua" file="cldf-int.mkxl"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + + <cd:command name="disposeluatable" level="system" category="lua" file="cldf-lmt.lua"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + + <cd:command name="inspectluatable" level="system" category="lua" file="cldf-lmt.lua"> + <cd:arguments> + <cd:csname/> + </cd:arguments> + </cd:command> + + <cd:command name="showluatables" level="system" category="lua" file="cldf-lmt.lua"/> + + <cd:command name="setluatable" level="system" category="lua" file="cldf-lmt.lua"> + <cd:arguments> + <cd:csname/> + <cd:content/> + </cd:arguments> + </cd:command> + + <cd:command name="getfromluatable" level="system" category="lua" file="cldf-lmt.lua"> + <cd:arguments> + <cd:csname/> + <cd:keywords delimiters="braces"> + <cd:constant type="cd:key"/> + <cd:constant type="cd:number"/> + </cd:keywords> + </cd:arguments> + </cd:command> + + <cd:command name="idxfromluatable" level="system" category="lua" file="cldf-lmt.lua"> + <cd:arguments> + <cd:csname/> + <cd:resolve name="string-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="setdatavalue" level="system" category="lua" file="cldf-int.mkxl"> + <cd:arguments> + <cd:resolve name="argument-name"/> + <cd:resolve name="argument-number"/> + </cd:arguments> + </cd:command> + + <cd:command name="getdatavalue" level="system" category="lua" file="cldf-int.mkxl"> + <cd:arguments> + <cd:resolve name="argument-name"/> + </cd:arguments> + </cd:command> + + <cd:command name="thedatavalue" level="system" category="lua" file="cldf-int.mkxl"> + <cd:arguments> + <cd:resolve name="argument-name"/> + </cd:arguments> + </cd:command> + +</cd:interface> diff --git a/tex/context/interface/mkiv/i-makeup.xml b/tex/context/interface/mkiv/i-makeup.xml index dc2bd9ad4..fee025a9a 100644 --- a/tex/context/interface/mkiv/i-makeup.xml +++ b/tex/context/interface/mkiv/i-makeup.xml @@ -173,4 +173,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-marginblock.xml b/tex/context/interface/mkiv/i-marginblock.xml index 0d0e3c2b4..fffa32113 100644 --- a/tex/context/interface/mkiv/i-marginblock.xml +++ b/tex/context/interface/mkiv/i-marginblock.xml @@ -84,4 +84,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-margindata.xml b/tex/context/interface/mkiv/i-margindata.xml index a157aaf9c..cb97090b6 100644 --- a/tex/context/interface/mkiv/i-margindata.xml +++ b/tex/context/interface/mkiv/i-margindata.xml @@ -430,4 +430,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-marker.xml b/tex/context/interface/mkiv/i-marker.xml index 2db8a9de1..8dc6ba978 100644 --- a/tex/context/interface/mkiv/i-marker.xml +++ b/tex/context/interface/mkiv/i-marker.xml @@ -30,4 +30,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-marking.xml b/tex/context/interface/mkiv/i-marking.xml index 914922cf2..bd0d9b45b 100644 --- a/tex/context/interface/mkiv/i-marking.xml +++ b/tex/context/interface/mkiv/i-marking.xml @@ -88,6 +88,7 @@ <cd:keywords optional="yes"> <cd:constant type="page" default="yes"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords optional="yes"> <cd:resolve name="value-markposition"/> @@ -131,6 +132,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords> <cd:resolve name="value-markposition"/> @@ -144,6 +146,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> <cd:keywords> <cd:resolve name="value-markposition"/> @@ -157,6 +160,7 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> @@ -167,8 +171,9 @@ <cd:keywords> <cd:constant type="page"/> <cd:constant type="cd:name"/> + <cd:constant type="cd:number"/> </cd:keywords> </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-math.xml b/tex/context/interface/mkiv/i-math.xml index 888d2bac5..1f2255cef 100644 --- a/tex/context/interface/mkiv/i-math.xml +++ b/tex/context/interface/mkiv/i-math.xml @@ -111,9 +111,9 @@ <cd:constant type="normal"/> </cd:parameter> <cd:parameter name="collapsing"> - <cd:constant type="1"/> + <cd:constant type="1" default="yes"/> <cd:constant type="2"/> - <cd:constant type="3" default="yes"/> + <cd:constant type="3"/> <cd:constant type="none"/> <cd:constant type="reset"/> </cd:parameter> @@ -567,4 +567,4 @@ <cd:command name="unstackscripts" level="document" category="mathematics" file="math-ini.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-mathalignment.xml b/tex/context/interface/mkiv/i-mathalignment.xml index 325b288c7..be1c86c5d 100644 --- a/tex/context/interface/mkiv/i-mathalignment.xml +++ b/tex/context/interface/mkiv/i-mathalignment.xml @@ -87,4 +87,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-mathcases.xml b/tex/context/interface/mkiv/i-mathcases.xml index 837f2b782..76af5a4f8 100644 --- a/tex/context/interface/mkiv/i-mathcases.xml +++ b/tex/context/interface/mkiv/i-mathcases.xml @@ -75,4 +75,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-mathname.xml b/tex/context/interface/mkiv/i-mathname.xml index 63dab0991..29b8ad32f 100644 --- a/tex/context/interface/mkiv/i-mathname.xml +++ b/tex/context/interface/mkiv/i-mathname.xml @@ -1088,4 +1088,4 @@ <cd:command name="varrho" level="document" category="character mathematics" file="char-def.lua"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-mathornament.xml b/tex/context/interface/mkiv/i-mathornament.xml index 70100b8e4..11f630c65 100644 --- a/tex/context/interface/mkiv/i-mathornament.xml +++ b/tex/context/interface/mkiv/i-mathornament.xml @@ -43,4 +43,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-mathradical.xml b/tex/context/interface/mkiv/i-mathradical.xml index a7ba93b75..9a29ad82b 100644 --- a/tex/context/interface/mkiv/i-mathradical.xml +++ b/tex/context/interface/mkiv/i-mathradical.xml @@ -53,4 +53,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-metapost.xml b/tex/context/interface/mkiv/i-metapost.xml index 1c8fd2d0b..e2cc0d443 100644 --- a/tex/context/interface/mkiv/i-metapost.xml +++ b/tex/context/interface/mkiv/i-metapost.xml @@ -6,13 +6,13 @@ <cd:command name="MPdefinitions" type="environment" level="style" category="graphics metapost" file="meta-ini.mkiv"> <cd:arguments> - <cd:resolve name="argument-name-optional"/> + <cd:resolve name="argument-instance-optional"/> </cd:arguments> </cd:command> <cd:command name="MPextensions" type="environment" level="style" category="graphics metapost" file="meta-ini.mkiv"> <cd:arguments> - <cd:resolve name="argument-name-list-optional"/> + <cd:resolve name="argument-instance-list-optional"/> </cd:arguments> </cd:command> @@ -23,7 +23,7 @@ <cd:keywords optional="yes"> <cd:constant type="+"/> </cd:keywords> - <cd:resolve name="argument-name-optional"/> + <cd:resolve name="argument-instance-optional"/> </cd:arguments> </cd:command> @@ -32,7 +32,7 @@ <cd:keywords optional="yes"> <cd:constant type="+"/> </cd:keywords> - <cd:resolve name="argument-name-optional"/> + <cd:resolve name="argument-instance-optional"/> <cd:content/> </cd:arguments> </cd:command> @@ -53,6 +53,7 @@ <cd:assignments list="yes"> <cd:parameter name="format"> <cd:constant type="metafun" default="yes"/> + <cd:constant type="minifun"/> <cd:constant type="mpost"/> </cd:parameter> <cd:parameter name="initializations"> @@ -296,13 +297,13 @@ <cd:command name="MPcode" type="environment" level="document" category="graphics metapost" file="meta-ini.mkiv"> <cd:arguments> - <cd:resolve name="argument-name-optional"/> + <cd:resolve name="argument-instance-optional"/> </cd:arguments> </cd:command> <cd:command name="MPcode" level="document" category="graphics metapost" file="meta-ini.mkiv"> <cd:arguments> - <cd:resolve name="argument-name-optional"/> + <cd:resolve name="argument-instance-optional"/> <cd:content/> </cd:arguments> </cd:command> @@ -403,4 +404,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-modes.xml b/tex/context/interface/mkiv/i-modes.xml index 8b35da6f8..beee0b392 100644 --- a/tex/context/interface/mkiv/i-modes.xml +++ b/tex/context/interface/mkiv/i-modes.xml @@ -213,4 +213,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-modules.xml b/tex/context/interface/mkiv/i-modules.xml index 03ed005e2..d3c846a16 100644 --- a/tex/context/interface/mkiv/i-modules.xml +++ b/tex/context/interface/mkiv/i-modules.xml @@ -123,4 +123,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-naturaltable.xml b/tex/context/interface/mkiv/i-naturaltable.xml index d005810a0..9aca6a848 100644 --- a/tex/context/interface/mkiv/i-naturaltable.xml +++ b/tex/context/interface/mkiv/i-naturaltable.xml @@ -309,4 +309,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-note.xml b/tex/context/interface/mkiv/i-note.xml index ee1ac5a31..44604fd22 100644 --- a/tex/context/interface/mkiv/i-note.xml +++ b/tex/context/interface/mkiv/i-note.xml @@ -636,6 +636,9 @@ <cd:parameter name="compressdistance"> <cd:constant type="cd:dimension"/> </cd:parameter> + <cd:parameter name="compressstopper"> + <cd:constant type="cd:command"/> + </cd:parameter> <cd:inherit name="setupnote"/> </cd:assignments> </cd:arguments> @@ -759,4 +762,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-object.xml b/tex/context/interface/mkiv/i-object.xml index 2083c3572..ee692b396 100644 --- a/tex/context/interface/mkiv/i-object.xml +++ b/tex/context/interface/mkiv/i-object.xml @@ -129,4 +129,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-offset.xml b/tex/context/interface/mkiv/i-offset.xml index 15a162b1a..ddc54736e 100644 --- a/tex/context/interface/mkiv/i-offset.xml +++ b/tex/context/interface/mkiv/i-offset.xml @@ -71,4 +71,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-opposite.xml b/tex/context/interface/mkiv/i-opposite.xml index 3ed22559f..3f32f3c2b 100644 --- a/tex/context/interface/mkiv/i-opposite.xml +++ b/tex/context/interface/mkiv/i-opposite.xml @@ -26,4 +26,4 @@ <cd:command name="opposite" type="environment" level="document" category="layout" file="page-fac.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-ornament.xml b/tex/context/interface/mkiv/i-ornament.xml index 847fda4e6..8ee83a17e 100644 --- a/tex/context/interface/mkiv/i-ornament.xml +++ b/tex/context/interface/mkiv/i-ornament.xml @@ -100,4 +100,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-output.xml b/tex/context/interface/mkiv/i-output.xml index 28b5b3799..c5b9f796d 100644 --- a/tex/context/interface/mkiv/i-output.xml +++ b/tex/context/interface/mkiv/i-output.xml @@ -46,4 +46,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-overlay.xml b/tex/context/interface/mkiv/i-overlay.xml index 40d0bda93..da79925a4 100644 --- a/tex/context/interface/mkiv/i-overlay.xml +++ b/tex/context/interface/mkiv/i-overlay.xml @@ -42,4 +42,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagebreak.xml b/tex/context/interface/mkiv/i-pagebreak.xml index 9972800ec..8858c41c4 100644 --- a/tex/context/interface/mkiv/i-pagebreak.xml +++ b/tex/context/interface/mkiv/i-pagebreak.xml @@ -132,4 +132,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagecomment.xml b/tex/context/interface/mkiv/i-pagecomment.xml index 75b9056a8..8e72c42a9 100644 --- a/tex/context/interface/mkiv/i-pagecomment.xml +++ b/tex/context/interface/mkiv/i-pagecomment.xml @@ -37,4 +37,4 @@ <cd:command name="pagecomment" type="environment" level="document" category="pdf" file="page-com.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagefigure.xml b/tex/context/interface/mkiv/i-pagefigure.xml index 0e8af435f..5eba4ff28 100644 --- a/tex/context/interface/mkiv/i-pagefigure.xml +++ b/tex/context/interface/mkiv/i-pagefigure.xml @@ -32,4 +32,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagegrid.xml b/tex/context/interface/mkiv/i-pagegrid.xml index 8b2cd86b9..b1ccd82ef 100644 --- a/tex/context/interface/mkiv/i-pagegrid.xml +++ b/tex/context/interface/mkiv/i-pagegrid.xml @@ -486,4 +486,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pageinjection.xml b/tex/context/interface/mkiv/i-pageinjection.xml index f2ded298e..e98272cd5 100644 --- a/tex/context/interface/mkiv/i-pageinjection.xml +++ b/tex/context/interface/mkiv/i-pageinjection.xml @@ -86,4 +86,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagelayout.xml b/tex/context/interface/mkiv/i-pagelayout.xml index 3aadda0ff..06afe400d 100644 --- a/tex/context/interface/mkiv/i-pagelayout.xml +++ b/tex/context/interface/mkiv/i-pagelayout.xml @@ -38,4 +38,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagemarks.xml b/tex/context/interface/mkiv/i-pagemarks.xml index 4d41bbfdd..3bab14121 100644 --- a/tex/context/interface/mkiv/i-pagemarks.xml +++ b/tex/context/interface/mkiv/i-pagemarks.xml @@ -33,4 +33,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pagenumber.xml b/tex/context/interface/mkiv/i-pagenumber.xml index 91c0d8f59..20414d9c3 100644 --- a/tex/context/interface/mkiv/i-pagenumber.xml +++ b/tex/context/interface/mkiv/i-pagenumber.xml @@ -183,4 +183,4 @@ <cd:command name="placepagenumber" level="style" category="counter" file="strc-pag.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pageselection.xml b/tex/context/interface/mkiv/i-pageselection.xml index 082f53b6d..90d419bbc 100644 --- a/tex/context/interface/mkiv/i-pageselection.xml +++ b/tex/context/interface/mkiv/i-pageselection.xml @@ -178,4 +178,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pageshift.xml b/tex/context/interface/mkiv/i-pageshift.xml index 01e014a28..779304d6c 100644 --- a/tex/context/interface/mkiv/i-pageshift.xml +++ b/tex/context/interface/mkiv/i-pageshift.xml @@ -26,4 +26,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pairedbox.xml b/tex/context/interface/mkiv/i-pairedbox.xml index a5a0b9b5f..f80ed4f53 100644 --- a/tex/context/interface/mkiv/i-pairedbox.xml +++ b/tex/context/interface/mkiv/i-pairedbox.xml @@ -181,4 +181,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-papersize.xml b/tex/context/interface/mkiv/i-papersize.xml index 8156235bd..4b92bda9a 100644 --- a/tex/context/interface/mkiv/i-papersize.xml +++ b/tex/context/interface/mkiv/i-papersize.xml @@ -300,4 +300,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-paragraph.xml b/tex/context/interface/mkiv/i-paragraph.xml index b253f404b..c729f76d4 100644 --- a/tex/context/interface/mkiv/i-paragraph.xml +++ b/tex/context/interface/mkiv/i-paragraph.xml @@ -68,4 +68,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-paragraphnumber.xml b/tex/context/interface/mkiv/i-paragraphnumber.xml index 6d35f11a0..144619088 100644 --- a/tex/context/interface/mkiv/i-paragraphnumber.xml +++ b/tex/context/interface/mkiv/i-paragraphnumber.xml @@ -26,4 +26,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-paragraphs.xml b/tex/context/interface/mkiv/i-paragraphs.xml index e2fc9116e..bbbbe1bf2 100644 --- a/tex/context/interface/mkiv/i-paragraphs.xml +++ b/tex/context/interface/mkiv/i-paragraphs.xml @@ -166,4 +166,4 @@ <cd:command name="paragraphscell" type="environment" level="document" category="tables" file="tabl-mis.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-parallel.xml b/tex/context/interface/mkiv/i-parallel.xml index 3f7154c9f..c182df093 100644 --- a/tex/context/interface/mkiv/i-parallel.xml +++ b/tex/context/interface/mkiv/i-parallel.xml @@ -82,4 +82,4 @@ </cd:sequence> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-parbuilder.xml b/tex/context/interface/mkiv/i-parbuilder.xml index 95621fce0..243e4c9bd 100644 --- a/tex/context/interface/mkiv/i-parbuilder.xml +++ b/tex/context/interface/mkiv/i-parbuilder.xml @@ -32,4 +32,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-pdf.xml b/tex/context/interface/mkiv/i-pdf.xml index fc83777a1..1d835158f 100644 --- a/tex/context/interface/mkiv/i-pdf.xml +++ b/tex/context/interface/mkiv/i-pdf.xml @@ -128,4 +128,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-penalty.xml b/tex/context/interface/mkiv/i-penalty.xml index d69c196f9..527a51670 100644 --- a/tex/context/interface/mkiv/i-penalty.xml +++ b/tex/context/interface/mkiv/i-penalty.xml @@ -26,4 +26,4 @@ <cd:command name="setdefaultpenalties" level="system" category="layout" file="spac-ver.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-periods.xml b/tex/context/interface/mkiv/i-periods.xml index 5cded3b1c..2fd4e8d38 100644 --- a/tex/context/interface/mkiv/i-periods.xml +++ b/tex/context/interface/mkiv/i-periods.xml @@ -40,4 +40,4 @@ <cd:command name="unknown" level="document" category="symbols" file="enco-ini.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-phantom.xml b/tex/context/interface/mkiv/i-phantom.xml index 8458be67b..8efca3ce6 100644 --- a/tex/context/interface/mkiv/i-phantom.xml +++ b/tex/context/interface/mkiv/i-phantom.xml @@ -38,4 +38,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-placement.xml b/tex/context/interface/mkiv/i-placement.xml index 665d9aeb8..e07998a69 100644 --- a/tex/context/interface/mkiv/i-placement.xml +++ b/tex/context/interface/mkiv/i-placement.xml @@ -72,4 +72,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-position.xml b/tex/context/interface/mkiv/i-position.xml index b9f4b3780..2e62592ba 100644 --- a/tex/context/interface/mkiv/i-position.xml +++ b/tex/context/interface/mkiv/i-position.xml @@ -531,4 +531,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-positionbar.xml b/tex/context/interface/mkiv/i-positionbar.xml index 286466bef..037045aaa 100644 --- a/tex/context/interface/mkiv/i-positionbar.xml +++ b/tex/context/interface/mkiv/i-positionbar.xml @@ -70,4 +70,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-positioning.xml b/tex/context/interface/mkiv/i-positioning.xml index 9d873fd46..7c3b2cb9a 100644 --- a/tex/context/interface/mkiv/i-positioning.xml +++ b/tex/context/interface/mkiv/i-positioning.xml @@ -95,4 +95,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-postponing.xml b/tex/context/interface/mkiv/i-postponing.xml index 0d4c98d7a..929a0c75d 100644 --- a/tex/context/interface/mkiv/i-postponing.xml +++ b/tex/context/interface/mkiv/i-postponing.xml @@ -12,4 +12,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-processor.xml b/tex/context/interface/mkiv/i-processor.xml index 7e23c6631..364e428a1 100644 --- a/tex/context/interface/mkiv/i-processor.xml +++ b/tex/context/interface/mkiv/i-processor.xml @@ -48,4 +48,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-profile.xml b/tex/context/interface/mkiv/i-profile.xml index acc486cb7..af98e9c10 100644 --- a/tex/context/interface/mkiv/i-profile.xml +++ b/tex/context/interface/mkiv/i-profile.xml @@ -97,4 +97,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-publication.xml b/tex/context/interface/mkiv/i-publication.xml index b6280047a..a13a06d8d 100644 --- a/tex/context/interface/mkiv/i-publication.xml +++ b/tex/context/interface/mkiv/i-publication.xml @@ -1139,4 +1139,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-random.xml b/tex/context/interface/mkiv/i-random.xml index a1a17f669..1bf425898 100644 --- a/tex/context/interface/mkiv/i-random.xml +++ b/tex/context/interface/mkiv/i-random.xml @@ -61,4 +61,4 @@ <cd:command name="mprandomnumber" level="system" file="supp-ran.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex affc21f56..4eb6b1845 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/context/interface/mkiv/i-references.xml b/tex/context/interface/mkiv/i-references.xml index 0c8407b42..a04b589a3 100644 --- a/tex/context/interface/mkiv/i-references.xml +++ b/tex/context/interface/mkiv/i-references.xml @@ -49,6 +49,16 @@ <cd:parameter name="prefix"> <cd:resolve name="value-referenceprefix"/> </cd:parameter> + <!-- all margindata locations are possible --> + <cd:parameter name="labelalternative"> + <cd:resolve name="value-margindata"/> + </cd:parameter> + <cd:parameter name="labelstyle"> + <cd:resolve name="value-style"/> + </cd:parameter> + <cd:parameter name="labelcolor"> + <cd:constant type="cd:color"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> @@ -577,4 +587,4 @@ <cd:command name="referencesymbol" level="style" category="references" file="strc-ref.mkvi"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-regime.xml b/tex/context/interface/mkiv/i-regime.xml index e126abb65..d30d96332 100644 --- a/tex/context/interface/mkiv/i-regime.xml +++ b/tex/context/interface/mkiv/i-regime.xml @@ -85,4 +85,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-renderingwindow.xml b/tex/context/interface/mkiv/i-renderingwindow.xml index 525415c70..ee2dd9ce5 100644 --- a/tex/context/interface/mkiv/i-renderingwindow.xml +++ b/tex/context/interface/mkiv/i-renderingwindow.xml @@ -59,4 +59,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-replacement.xml b/tex/context/interface/mkiv/i-replacement.xml index 851d2b773..8e21c1f17 100644 --- a/tex/context/interface/mkiv/i-replacement.xml +++ b/tex/context/interface/mkiv/i-replacement.xml @@ -23,4 +23,4 @@ <cd:command name="resetreplacements" level="style" category="language" file="lang-rep.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-rotation.xml b/tex/context/interface/mkiv/i-rotation.xml index 7bfb9b2de..b35f9de18 100644 --- a/tex/context/interface/mkiv/i-rotation.xml +++ b/tex/context/interface/mkiv/i-rotation.xml @@ -51,4 +51,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-ruby.xml b/tex/context/interface/mkiv/i-ruby.xml index 4422029b8..fff39f665 100644 --- a/tex/context/interface/mkiv/i-ruby.xml +++ b/tex/context/interface/mkiv/i-ruby.xml @@ -74,4 +74,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-scale.xml b/tex/context/interface/mkiv/i-scale.xml index 36a46479e..4d88c912d 100644 --- a/tex/context/interface/mkiv/i-scale.xml +++ b/tex/context/interface/mkiv/i-scale.xml @@ -121,4 +121,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-scite.xml b/tex/context/interface/mkiv/i-scite.xml index f04e575e0..3e1ed2e81 100644 --- a/tex/context/interface/mkiv/i-scite.xml +++ b/tex/context/interface/mkiv/i-scite.xml @@ -30,4 +30,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-script.xml b/tex/context/interface/mkiv/i-script.xml index affa2658b..da5c5049d 100644 --- a/tex/context/interface/mkiv/i-script.xml +++ b/tex/context/interface/mkiv/i-script.xml @@ -106,4 +106,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-section.xml b/tex/context/interface/mkiv/i-section.xml index 0ec20a804..0395a741c 100644 --- a/tex/context/interface/mkiv/i-section.xml +++ b/tex/context/interface/mkiv/i-section.xml @@ -546,4 +546,4 @@ <cd:command name="headsetupspacing" level="system" category="structure" file="strc-ren.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-sectionblock.xml b/tex/context/interface/mkiv/i-sectionblock.xml index 1cb2debde..3c13ee394 100644 --- a/tex/context/interface/mkiv/i-sectionblock.xml +++ b/tex/context/interface/mkiv/i-sectionblock.xml @@ -129,4 +129,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-selector.xml b/tex/context/interface/mkiv/i-selector.xml index 44970669b..ce9a90e9e 100644 --- a/tex/context/interface/mkiv/i-selector.xml +++ b/tex/context/interface/mkiv/i-selector.xml @@ -49,4 +49,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-setup.xml b/tex/context/interface/mkiv/i-setup.xml index a4420bfcf..fe41ff18d 100644 --- a/tex/context/interface/mkiv/i-setup.xml +++ b/tex/context/interface/mkiv/i-setup.xml @@ -167,4 +167,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-shift.xml b/tex/context/interface/mkiv/i-shift.xml index 521317d1d..68199337e 100644 --- a/tex/context/interface/mkiv/i-shift.xml +++ b/tex/context/interface/mkiv/i-shift.xml @@ -89,4 +89,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-sidebar.xml b/tex/context/interface/mkiv/i-sidebar.xml index 7518b5c61..5f4258028 100644 --- a/tex/context/interface/mkiv/i-sidebar.xml +++ b/tex/context/interface/mkiv/i-sidebar.xml @@ -100,4 +100,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-simplecolumns.xml b/tex/context/interface/mkiv/i-simplecolumns.xml index caefa9fbb..40829f786 100644 --- a/tex/context/interface/mkiv/i-simplecolumns.xml +++ b/tex/context/interface/mkiv/i-simplecolumns.xml @@ -26,9 +26,20 @@ <cd:command name="simplecolumns" type="environment" level="system" category="structure layout" file="page-smp.mkiv"> <cd:arguments> <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setsimplecolumnshsize"/> + <cd:parameter name="n"> + <cd:constant type="cd:number"/> + </cd:parameter> + <cd:parameter name="width"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="distance"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="lines"> + <cd:constant type="cd:number"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-smash.xml b/tex/context/interface/mkiv/i-smash.xml index 9183c8a6b..74df570e2 100644 --- a/tex/context/interface/mkiv/i-smash.xml +++ b/tex/context/interface/mkiv/i-smash.xml @@ -79,4 +79,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-sort.xml b/tex/context/interface/mkiv/i-sort.xml index 6858fd90e..889d20e69 100644 --- a/tex/context/interface/mkiv/i-sort.xml +++ b/tex/context/interface/mkiv/i-sort.xml @@ -204,4 +204,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-soundtrack.xml b/tex/context/interface/mkiv/i-soundtrack.xml index c374268bb..ecb474d34 100644 --- a/tex/context/interface/mkiv/i-soundtrack.xml +++ b/tex/context/interface/mkiv/i-soundtrack.xml @@ -27,4 +27,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-spellchecking.xml b/tex/context/interface/mkiv/i-spellchecking.xml index 90a219fc8..6495826aa 100644 --- a/tex/context/interface/mkiv/i-spellchecking.xml +++ b/tex/context/interface/mkiv/i-spellchecking.xml @@ -30,4 +30,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-spreadsheet.xml b/tex/context/interface/mkiv/i-spreadsheet.xml index 8181cfe2d..942be9f7d 100644 --- a/tex/context/interface/mkiv/i-spreadsheet.xml +++ b/tex/context/interface/mkiv/i-spreadsheet.xml @@ -137,4 +137,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-startstop.xml b/tex/context/interface/mkiv/i-startstop.xml index ba0abb0b7..3df32a516 100644 --- a/tex/context/interface/mkiv/i-startstop.xml +++ b/tex/context/interface/mkiv/i-startstop.xml @@ -97,4 +97,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-steps.xml b/tex/context/interface/mkiv/i-steps.xml index c71bc2e2f..dc86f6397 100644 --- a/tex/context/interface/mkiv/i-steps.xml +++ b/tex/context/interface/mkiv/i-steps.xml @@ -409,4 +409,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-stream.xml b/tex/context/interface/mkiv/i-stream.xml index 7e769fdb6..b392fd001 100644 --- a/tex/context/interface/mkiv/i-stream.xml +++ b/tex/context/interface/mkiv/i-stream.xml @@ -71,4 +71,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-string.xml b/tex/context/interface/mkiv/i-string.xml index aba5429c5..567881602 100644 --- a/tex/context/interface/mkiv/i-string.xml +++ b/tex/context/interface/mkiv/i-string.xml @@ -66,4 +66,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-synctex.xml b/tex/context/interface/mkiv/i-synctex.xml index 21f49e3f6..363d9657c 100644 --- a/tex/context/interface/mkiv/i-synctex.xml +++ b/tex/context/interface/mkiv/i-synctex.xml @@ -39,4 +39,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-synonym.xml b/tex/context/interface/mkiv/i-synonym.xml index d2a966f15..017b688c4 100644 --- a/tex/context/interface/mkiv/i-synonym.xml +++ b/tex/context/interface/mkiv/i-synonym.xml @@ -237,4 +237,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-system.xml b/tex/context/interface/mkiv/i-system.xml index d00ebc01a..b7c46c9ce 100644 --- a/tex/context/interface/mkiv/i-system.xml +++ b/tex/context/interface/mkiv/i-system.xml @@ -3425,6 +3425,8 @@ <cd:command name="elapsedseconds" level="system" file="syst-aux.mkiv"/> + <cd:command name="elapsedsteptime" level="system" file="syst-aux.mkiv"/> + <cd:command name="currentfeaturetest" level="system" file="syst-aux.mkiv"/> <cd:command name="testfeature" level="system" file="syst-aux.mkiv"> @@ -3434,6 +3436,8 @@ </cd:arguments> </cd:command> + <cd:command name="retestfeature" level="system" file="syst-aux.mkiv"/> + <cd:command name="showtimer" level="system" file="syst-aux.mkiv"> <cd:arguments> <cd:resolve name="argument-text"/> diff --git a/tex/context/interface/mkiv/i-systemlog.xml b/tex/context/interface/mkiv/i-systemlog.xml index fc3243cfb..93717af21 100644 --- a/tex/context/interface/mkiv/i-systemlog.xml +++ b/tex/context/interface/mkiv/i-systemlog.xml @@ -28,4 +28,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-table.xml b/tex/context/interface/mkiv/i-table.xml index b4a4e7dde..c75fc1d8e 100644 --- a/tex/context/interface/mkiv/i-table.xml +++ b/tex/context/interface/mkiv/i-table.xml @@ -407,4 +407,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-tabulation.xml b/tex/context/interface/mkiv/i-tabulation.xml index 6768b9b4c..09937504f 100644 --- a/tex/context/interface/mkiv/i-tabulation.xml +++ b/tex/context/interface/mkiv/i-tabulation.xml @@ -4,19 +4,164 @@ <cd:interface xmlns:cd="http://www.pragma-ade.com/commands"> - <cd:command name="definetabulation" level="style" category="tables" file="tabl-tbl.mkiv"> + <!-- + + <cd:command name="definetabulation" level="style" category="tables" file="tabl-tbl.mkiv"> + <cd:arguments> + <cd:resolve name="keyword-name"/> + <cd:resolve name="keyword-name-optional"/> + <cd:assignments list="yes" optional="yes"> + <cd:inherit name="setuptabulation"/> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="setuptabulation" level="style" category="tables" file="tabl-tbl.mkiv"> + <cd:arguments> + <cd:resolve name="keyword-name-list-optional"/> + <cd:assignments list="yes"> + <cd:parameter name="format"> + <cd:constant type="cd:template"/> + <cd:constant type="none"/> + </cd:parameter> + <cd:parameter name="before"> + <cd:constant type="cd:command"/> + </cd:parameter> + <cd:parameter name="after"> + <cd:constant type="cd:command"/> + </cd:parameter> + <cd:parameter name="distance"> + <cd:constant type="small"/> + <cd:constant type="medium" default="yes"/> + <cd:constant type="big"/> + <cd:constant type="none"/> + <cd:constant type="blank"/> + <cd:constant type="depth" default="yes"/> + <cd:constant type="grid"/> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="blank"> + <cd:resolve name="value-blank"/> + </cd:parameter> + <cd:parameter name="headstyle"> + <cd:resolve name="value-style"/> + </cd:parameter> + <cd:parameter name="headcolor"> + <cd:constant type="cd:color"/> + </cd:parameter> + <cd:parameter name="background"> + <cd:constant type="cd:name"/> + </cd:parameter> + <cd:parameter name="backgroundcolor"> + <cd:constant type="cd:color"/> + </cd:parameter> + <cd:parameter name="foregroundstyle"> + <cd:resolve name="value-style"/> + </cd:parameter> + <cd:parameter name="foregroundcolor"> + <cd:constant type="cd:color"/> + </cd:parameter> + <cd:parameter name="align"> + <cd:constant type="left"/> + <cd:constant type="middle"/> + <cd:constant type="right"/> + <cd:constant type="dimension"/> + </cd:parameter> + <cd:parameter name="rule"> + <cd:constant type="line"/> + <cd:constant type="normal" default="yes"/> + </cd:parameter> + <cd:parameter name="rulecolor"> + <cd:constant type="cd:color"/> + </cd:parameter> + <cd:parameter name="rulethickness"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="bodyfont"> + <cd:inherit name="setupbodyfont"/> + </cd:parameter> + <cd:parameter name="indenting"> + <cd:constant type="yes"/> + <cd:constant type="no" default="yes"/> + </cd:parameter> + <cd:parameter name="split"> + <cd:constant type="yes"/> + <cd:constant type="no"/> + <cd:constant type="repeat"/> + <cd:constant type="auto" default="yes"/> + </cd:parameter> + <cd:parameter name="unit"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="margin"> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="inner"> + <cd:constant type="cd:command"/> + </cd:parameter> + <cd:parameter name="EQ"> + <cd:constant type="cd:command"/> + </cd:parameter> + <cd:parameter name="header"> + <cd:constant type="yes" default="yes"/> + <cd:constant type="repeat"/> + <cd:constant type="text"/> + </cd:parameter> + <cd:parameter name="frame"> + <cd:constant type="on"/> + <cd:constant type="off" default="yes"/> + </cd:parameter> + <cd:parameter name="title"> + <cd:constant type="cd:text"/> + </cd:parameter> + <cd:parameter name="keeptogether"> + <cd:constant type="yes" default="yes"/> + <cd:constant type="no"/> + </cd:parameter> + </cd:assignments> + </cd:arguments> + </cd:command> + + <cd:command name="tabulation" type="environment" generated="yes" variant="example" level="document" category="tables" file="tabl-tbl.mkiv"> + <cd:sequence> + <cd:variable value="tabulation"/> + </cd:sequence> + <cd:arguments> + <cd:resolve name="keyword-name-optional"/> + <cd:assignments list="yes" optional="yes"> + <cd:inherit name="setuptabulation"/> + </cd:assignments> + </cd:arguments> + </cd:command> + + --> + + <cd:command name="definetabulate" level="style" category="tables" file="tabl-tbl.mkiv"> <cd:arguments> <cd:resolve name="keyword-name"/> <cd:resolve name="keyword-name-optional"/> - <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> + <cd:template optional="yes"/> </cd:arguments> </cd:command> - <cd:command name="setuptabulation" level="style" category="tables" file="tabl-tbl.mkiv"> + <!-- + + <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv"> + <cd:arguments> + <cd:resolve name="keyword-name-optional"/> + <cd:resolve name="keyword-name-optional"/> + <cd:assignments list="yes"> + <cd:inherit name="setuptabulation"/> + </cd:assignments> + </cd:arguments> + </cd:command> + + --> + + <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv"> <cd:arguments> - <cd:resolve name="keyword-name-list-optional"/> + <cd:resolve name="keyword-name-optional"/> + <cd:resolve name="keyword-name-optional"/> <cd:assignments list="yes"> <cd:parameter name="format"> <cd:constant type="cd:template"/> @@ -120,36 +265,6 @@ </cd:arguments> </cd:command> - <cd:command name="tabulation" type="environment" generated="yes" variant="example" level="document" category="tables" file="tabl-tbl.mkiv"> - <cd:sequence> - <cd:variable value="tabulation"/> - </cd:sequence> - <cd:arguments> - <cd:resolve name="keyword-name-optional"/> - <cd:assignments list="yes" optional="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> - </cd:arguments> - </cd:command> - - <cd:command name="definetabulate" level="style" category="tables" file="tabl-tbl.mkiv"> - <cd:arguments> - <cd:resolve name="keyword-name"/> - <cd:resolve name="keyword-name-optional"/> - <cd:template optional="yes"/> - </cd:arguments> - </cd:command> - - <cd:command name="setuptabulate" level="style" category="tables" file="tabl-tbl.mkiv"> - <cd:arguments> - <cd:resolve name="keyword-name-optional"/> - <cd:resolve name="keyword-name-optional"/> - <cd:assignments list="yes"> - <cd:inherit name="setuptabulation"/> - </cd:assignments> - </cd:arguments> - </cd:command> - <cd:command name="tabulate" type="environment" level="document" category="tables" file="tabl-tbl.mkiv"> <cd:arguments> <cd:template optional="yes"/> diff --git a/tex/context/interface/mkiv/i-tex.xml b/tex/context/interface/mkiv/i-tex.xml index 277c4db95..5599315c5 100644 --- a/tex/context/interface/mkiv/i-tex.xml +++ b/tex/context/interface/mkiv/i-tex.xml @@ -454,4 +454,4 @@ <cd:command name="xspaceskip" level="primitive"/> <cd:command name="year" level="primitive"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-textbackground.xml b/tex/context/interface/mkiv/i-textbackground.xml index 6104b1d9a..9d5b36c07 100644 --- a/tex/context/interface/mkiv/i-textbackground.xml +++ b/tex/context/interface/mkiv/i-textbackground.xml @@ -148,4 +148,4 @@ <cd:command name="textbackgroundmanual" type="environment" level="system" category="background" file="anch-bck.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-textflow.xml b/tex/context/interface/mkiv/i-textflow.xml index 9c9ea2190..b532b10f9 100644 --- a/tex/context/interface/mkiv/i-textflow.xml +++ b/tex/context/interface/mkiv/i-textflow.xml @@ -81,4 +81,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-textrule.xml b/tex/context/interface/mkiv/i-textrule.xml index b71df66a6..addbc1316 100644 --- a/tex/context/interface/mkiv/i-textrule.xml +++ b/tex/context/interface/mkiv/i-textrule.xml @@ -69,4 +69,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-texts.xml b/tex/context/interface/mkiv/i-texts.xml index eb6f79ec8..18f40911c 100644 --- a/tex/context/interface/mkiv/i-texts.xml +++ b/tex/context/interface/mkiv/i-texts.xml @@ -286,4 +286,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-thinrule.xml b/tex/context/interface/mkiv/i-thinrule.xml index 372f9a238..bc150083a 100644 --- a/tex/context/interface/mkiv/i-thinrule.xml +++ b/tex/context/interface/mkiv/i-thinrule.xml @@ -71,4 +71,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-token.xml b/tex/context/interface/mkiv/i-token.xml index 09e2ad3d6..8d9ced890 100644 --- a/tex/context/interface/mkiv/i-token.xml +++ b/tex/context/interface/mkiv/i-token.xml @@ -59,4 +59,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-tolerance.xml b/tex/context/interface/mkiv/i-tolerance.xml index 3d0010edf..1613c3170 100644 --- a/tex/context/interface/mkiv/i-tolerance.xml +++ b/tex/context/interface/mkiv/i-tolerance.xml @@ -19,4 +19,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-tooltip.xml b/tex/context/interface/mkiv/i-tooltip.xml index df43ff9ce..99019933b 100644 --- a/tex/context/interface/mkiv/i-tooltip.xml +++ b/tex/context/interface/mkiv/i-tooltip.xml @@ -88,4 +88,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-tracker.xml b/tex/context/interface/mkiv/i-tracker.xml index 3db36addc..579de59fb 100644 --- a/tex/context/interface/mkiv/i-tracker.xml +++ b/tex/context/interface/mkiv/i-tracker.xml @@ -72,4 +72,4 @@ <cd:command name="showjustification" level="system" file="trac-jus.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-translate.xml b/tex/context/interface/mkiv/i-translate.xml index a865a4dd0..566208f96 100644 --- a/tex/context/interface/mkiv/i-translate.xml +++ b/tex/context/interface/mkiv/i-translate.xml @@ -23,4 +23,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-translation.xml b/tex/context/interface/mkiv/i-translation.xml index f4f03037e..9737fffaa 100644 --- a/tex/context/interface/mkiv/i-translation.xml +++ b/tex/context/interface/mkiv/i-translation.xml @@ -26,4 +26,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-twopassdata.xml b/tex/context/interface/mkiv/i-twopassdata.xml index 992735693..63783d040 100644 --- a/tex/context/interface/mkiv/i-twopassdata.xml +++ b/tex/context/interface/mkiv/i-twopassdata.xml @@ -121,4 +121,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-typography.xml b/tex/context/interface/mkiv/i-typography.xml index c5f06fa13..8f6fb1974 100644 --- a/tex/context/interface/mkiv/i-typography.xml +++ b/tex/context/interface/mkiv/i-typography.xml @@ -170,4 +170,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-unit.xml b/tex/context/interface/mkiv/i-unit.xml index c8092a4ed..247254ec5 100644 --- a/tex/context/interface/mkiv/i-unit.xml +++ b/tex/context/interface/mkiv/i-unit.xml @@ -137,4 +137,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-variables.xml b/tex/context/interface/mkiv/i-variables.xml index 7c295f9ad..12855e36f 100644 --- a/tex/context/interface/mkiv/i-variables.xml +++ b/tex/context/interface/mkiv/i-variables.xml @@ -370,4 +370,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-verbatim.xml b/tex/context/interface/mkiv/i-verbatim.xml index 830b8bb11..f81665cc1 100644 --- a/tex/context/interface/mkiv/i-verbatim.xml +++ b/tex/context/interface/mkiv/i-verbatim.xml @@ -440,4 +440,4 @@ --> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-version.xml b/tex/context/interface/mkiv/i-version.xml index 22a3846d9..1e6e46d58 100644 --- a/tex/context/interface/mkiv/i-version.xml +++ b/tex/context/interface/mkiv/i-version.xml @@ -75,4 +75,4 @@ </cd:arguments> </cd:command> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-viewerlayer.xml b/tex/context/interface/mkiv/i-viewerlayer.xml index fde846e4d..6b68b7fb9 100644 --- a/tex/context/interface/mkiv/i-viewerlayer.xml +++ b/tex/context/interface/mkiv/i-viewerlayer.xml @@ -65,4 +65,4 @@ <cd:command name="showlayoutcomponents" level="document" category="pdf" file="attr-lay.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-visual.xml b/tex/context/interface/mkiv/i-visual.xml index 7849ab90b..dc9e96ec3 100644 --- a/tex/context/interface/mkiv/i-visual.xml +++ b/tex/context/interface/mkiv/i-visual.xml @@ -151,4 +151,4 @@ <cd:command name="coloredstrut" level="system" file="m-visual.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/context/interface/mkiv/i-whitespace.xml b/tex/context/interface/mkiv/i-whitespace.xml index a44b08f1d..0f3e0bdcc 100644 --- a/tex/context/interface/mkiv/i-whitespace.xml +++ b/tex/context/interface/mkiv/i-whitespace.xml @@ -61,4 +61,4 @@ <cd:command name="forgetparskip" category="alignment" level="system" file="spac-ver.mkiv"/> -</cd:interface>
\ No newline at end of file +</cd:interface> diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 0af016d2a..d0aa965f3 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2020-05-25 23:36 +-- merge date : 2020-06-09 18:53 do -- begin closure to overcome local limits and interference @@ -27999,6 +27999,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local sweepnode=sweepnode local sweeptype=sweeptype local sweepoverflow=false + local checkdisc=getprev(head) local keepdisc=not sweepnode local lookaheaddisc=nil local backtrackdisc=nil @@ -28122,7 +28123,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local current=prev local i=f local t=sweeptype=="pre" or sweeptype=="replace" - if not current and t and current==checkdisk then + if not current and t and current==checkdisc then current=getprev(sweepnode) end while current and i>1 do @@ -28150,7 +28151,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) end end current=getprev(current) - if t and current==checkdisk then + if t and current==checkdisc then current=getprev(sweepnode) end end @@ -28335,6 +28336,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s local l=ck[5] local current=start local last=start + if s==1 then + goto next + end if l>f then local discfound local n=f+1 @@ -28400,6 +28404,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s break end end + if n<=l then + notmatchpre[last]=true + end else notmatchpre[last]=true end |