summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-ref.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/strc-ref.lua')
-rw-r--r--tex/context/base/strc-ref.lua20
1 files changed, 16 insertions, 4 deletions
diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua
index 16f5b6c41..a145098df 100644
--- a/tex/context/base/strc-ref.lua
+++ b/tex/context/base/strc-ref.lua
@@ -810,13 +810,25 @@ end
--
+function jobreferences.get_current_kind()
+ local data = currentreference and currentreference.i
+ if data then
+ local kind = data.metadata and data.metadata.kind
+ if kind then
+ texsprint(ctxcatcodes,kind)
+ end
+ end
+end
+
+--
+
jobreferences.filters = jobreferences.filters or { }
local filters = jobreferences.filters
local helpers = structure.helpers
local sections = structure.sections
-function jobreferences.filter(name) -- number page title ...
+function jobreferences.filter(name,...) -- number page title ...
local data = currentreference and currentreference.i
if data then
local kind = data.metadata and data.metadata.kind
@@ -824,7 +836,7 @@ function jobreferences.filter(name) -- number page title ...
local filter = filters[kind] or filters.generic
filter = filter and (filter[name] or filter.unknown or filters.generic[name] or filters.generic.unknown)
if filter then
- filter(data,name)
+ filter(data,name,...)
elseif trace_referencing then
logs.report("referencing","no (generic) filter.name for '%s'",name)
end
@@ -856,11 +868,11 @@ function filters.generic.text(data)
end
end
-function filters.generic.number(data) -- todo: spec and then no stopper
+function filters.generic.number(data,what,...) -- todo: spec and then no stopper
if data then
local numberdata = data.numberdata
if numberdata then
- helpers.prefix(data)
+ helpers.prefix(data,...)
sections.typesetnumber(numberdata,"number",numberdata or false)
else
local useddata = data.useddata