diff options
author | Marius <mariausol@gmail.com> | 2012-04-14 01:40:13 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-04-14 01:40:13 +0300 |
commit | d30dc77c610b72db7e7bc53f2a10e18756cfe437 (patch) | |
tree | b049068beb7e5152b91833d9e7ad64e2c2ea584c /tex/context/base/strc-itm.mkvi | |
parent | 69bafd00a14cf4d886d6ed79273f4437f7e2add2 (diff) | |
download | context-d30dc77c610b72db7e7bc53f2a10e18756cfe437.tar.gz |
beta 2012.04.14 00:10
Diffstat (limited to 'tex/context/base/strc-itm.mkvi')
-rw-r--r-- | tex/context/base/strc-itm.mkvi | 91 |
1 files changed, 48 insertions, 43 deletions
diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi index 50b4035c2..d0191f78f 100644 --- a/tex/context/base/strc-itm.mkvi +++ b/tex/context/base/strc-itm.mkvi @@ -242,50 +242,55 @@ \strc_itemgroups_insert_reference_indeed \fi \fi} -\def\strc_itemgroups_insert_reference_indeed % maybe we need a 'frozen counter' numberdata blob - {\setnextinternalreference +\def\strc_itemgroups_insert_reference_indeed % maybe we need a 'frozen counter' numberdata blob / quick hack .. .mive this to strc-ref + {%\setnextinternalreference % no need to collect nodes in \b_strc_destination_nodes here ... maybe at some point - \ctxlua {structures.references.setandgetattribute("\s!full", "\referenceprefix","\currentitemreference", - { - metadata = { - kind = "item",% ? - catcodes = \the\catcodetable, - xmlroot = \ifx\currentreferencecoding\s!xml "\xmldocument" \else nil \fi, % only useful when text - }, - references = { - internal = \nextinternalreference, - section = structures.sections.currentid(), - }, - prefixdata = structures.helpers.simplify { - prefix = "\counterparameter\v_strc_itemgroups_counter\c!prefix", - separatorset = "\counterparameter\v_strc_itemgroups_counter\c!prefixseparatorset", - conversion = \!!bs\counterparameter\v_strc_itemgroups_counter\c!prefixconversion\!!es, - conversionset = "\counterparameter\v_strc_itemgroups_counter\c!prefixconversionset", - set = "\counterparameter\v_strc_itemgroups_counter\c!prefixset", - segments = "\counterparameter\v_strc_itemgroups_counter\c!prefixsegments", - % segments = "\askedprefixsegments", - connector = \!!bs\counterparameter\v_strc_itemgroups_counter\c!prefixconnector\!!es, - }, - numberdata = structures.helpers.simplify { - numbers = structures.counters.compact("\v_strc_itemgroups_counter",nil,true), - separatorset = "\counterparameter\v_strc_itemgroups_counter\c!numberseparatorset", -% conversion = "\counterparameter\v_strc_itemgroups_counter\c!numberconversion", -% conversion = "\currentitemgroupconversionset", -% conversionset = "\counterparameter\v_strc_itemgroups_counter\c!numberconversionset", -% todo: fixedconversion = "\currentitemgroupconversionset", % temp hack: -conversionset = "fixed::\currentitemgroupconversionset", - % - % for the moment no stopper, we need to make references configurable first - % stopper = \!!bs\counterparameter\v_strc_itemgroups_counter\c!numberstopper\!!es, - segments = "\counterparameter\v_strc_itemgroups_counter\c!numbersegments", - }, - }) - }% - \xdef\currentitemattribute{\number\lastdestinationattribute}% - \begingroup - \attribute\destinationattribute\currentitemattribute - \kern\zeropoint % signal - \endgroup} + \strc_references_start_destination_nodes + \ctxlua {structures.references.setandgetattribute("\s!full", "\referenceprefix","\currentitemreference", + { + metadata = { + kind = "item",% ? + catcodes = \the\catcodetable, + xmlroot = \ifx\currentreferencecoding\s!xml "\xmldocument" \else nil \fi, % only useful when text + }, + references = { + % internal = \nextinternalreference, % no: this spoils references + block = "\currentsectionblock", + section = structures.sections.currentid(), + }, + prefixdata = structures.helpers.simplify { + prefix = "\counterparameter\v_strc_itemgroups_counter\c!prefix", + separatorset = "\counterparameter\v_strc_itemgroups_counter\c!prefixseparatorset", + conversion = \!!bs\counterparameter\v_strc_itemgroups_counter\c!prefixconversion\!!es, + conversionset = "\counterparameter\v_strc_itemgroups_counter\c!prefixconversionset", + set = "\counterparameter\v_strc_itemgroups_counter\c!prefixset", + segments = "\counterparameter\v_strc_itemgroups_counter\c!prefixsegments", + % segments = "\askedprefixsegments", + connector = \!!bs\counterparameter\v_strc_itemgroups_counter\c!prefixconnector\!!es, + }, + numberdata = structures.helpers.simplify { + numbers = structures.counters.compact("\v_strc_itemgroups_counter",nil,true), + separatorset = "\counterparameter\v_strc_itemgroups_counter\c!numberseparatorset", + % conversion = "\counterparameter\v_strc_itemgroups_counter\c!numberconversion", + % conversion = "\currentitemgroupconversionset", + % conversionset = "\counterparameter\v_strc_itemgroups_counter\c!numberconversionset", + % todo: fixedconversion = "\currentitemgroupconversionset", % temp hack: + conversionset = "fixed::\currentitemgroupconversionset", + % + % for the moment no stopper, we need to make references configurable first + % stopper = \!!bs\counterparameter\v_strc_itemgroups_counter\c!numberstopper\!!es, + segments = "\counterparameter\v_strc_itemgroups_counter\c!numbersegments", + }, + }) + }% + \strc_references_stop_destination_nodes + \xdef\currentdestinationattribute{\number\lastdestinationattribute}% + % will become an option: + \ifnum\lastdestinationattribute>\zerocount + \dontleavehmode\hbox attr \destinationattribute\lastdestinationattribute\bgroup + \strc_references_flush_destination_nodes + \egroup + \fi} %D Defining and setup: |