strc-ini.mklx /size: 4569 b    last modification: 2021-10-28 13:51
1%D \module
2%D   [       file=strc-flt,
3%D        version=2008.10.20,
4%D          title=\CONTEXT\ Structure Macros,
5%D       subtitle=Initialization \& Helpers,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14\writestatus{loading}{ConTeXt Structure Macros / Initialization & Helpers}
15
16\registerctxluafile{strc-ini}{}
17
18\unprotect
19
20% segments: 0:100 2:3 chapter:subsection 3 (=self+2)        (alternative: sectionset)
21
22% section   : [sectionnumber(s)]
23%             sectionseparatorset (default) sectionconversionset (default) sectionstopper ()  sectionset sectionsegments
24
25% lists     : [sectionnumber(s)] [text] [prefix(es)[separator][pagenumber(s)]
26%             sectionseparatorset (default) sectionconversionset (default) sectionstopper     sectionset sectionsegments
27%             prefixseparatorset  (default) prefixconversionset  (default) prefixstopper  (.) prefixset  prefixsegments
28%             pageseparatorset    (default) pageconversionset    (default) pagestopper    ()             pagesegments
29%             prefix (no)
30
31% counter   : [prefix(es)[separator]][number(s)]
32%             prefixseparatorset  (default) prefixconversionset  (default) prefixstopper  (.) prefixset  prefixsegments
33%             numberseparatorset  (default) numberconversionset  (default) numberstopper  ()             numbersegments
34%             prefix (no)
35
36% pagenumber: [prefix(es)[separator]][pagenumber(s)]
37%             prefixseparatorset  (default) prefixconversionset  (default) prefixstopper  (.) prefixset  prefixsegments
38%             pageseparatorset    (default) pageconversionset    (default) pagestopper    ()
39%             prefix (no)
40
41%               text  mark  reference  list
42% section       P     P     P          P
43% float         P.N         P.N        P.N
44% itemize       P.N         P.N
45% enumerate     P.N         P.N        P.N
46% formula       P.N         P.N
47% footnote      P.N         P.N        P.N
48% number        P.N         P.N
49
50% number prefix section page
51
52% [text|marking|reference|list]:[number|prefix|pagenumber|pageprefix]:[separatorset|conversionset|conversion|stopper|set|segments|resetset|order]
53
54% figure caption  : text:number:* text:prefix:* -> \setupcaption[figure][...]; stores defaults
55% figure list     : list:number:* list:prefix:* list:pagenumber:* list:pageprefix:* -> \setuplist[figure][...]; takes stored defaults for number and pagenumber]
56% figure reference: reference:number:* reference:prefix:* reference:pagenumber:* reference:pageprefix:* -> \setupreference[figure]]...]; takes stored defaults
57
58% This module deals with structure: section headers, list and numbering and
59% eventually cross referencing. These components are rather interwoven and
60% therefore an inbetween layer is used. Eventually this will replace the
61% corresponding code in core-sec, core-lst, core-num and core-ref.
62
63% We collect operations that deal with things like formatting on each level of a
64% number in sets. This is all handles at the \LUA\ end. References to such sets
65% travel with the multipass information.
66
67\permanent\tolerant\protected\def\defineresetset     [#name]#spacer[#set]#spacer[#default]{\clf_definestructureset{structure:resets}     {#name}{\detokenize{#set}}{\detokenize{#default}}true\relax}
68\permanent\tolerant\protected\def\defineseparatorset [#name]#spacer[#set]#spacer[#default]{\clf_definestructureset{structure:separators} {#name}{\detokenize{#set}}{\detokenize{#default}}false\relax}
69\permanent\tolerant\protected\def\defineconversionset[#name]#spacer[#set]#spacer[#default]{\clf_definestructureset{structure:conversions}{#name}{\detokenize{#set}}{\detokenize{#default}}false\relax}
70\permanent\tolerant\protected\def\defineprefixset    [#name]#spacer[#set]#spacer[#default]{\clf_definestructureset{structure:prefixes}   {#name}{\detokenize{#set}}{\detokenize{#default}}false\relax}
71
72\aliased\let\definestructureresetset     \defineresetset
73\aliased\let\definestructureseparatorset \defineseparatorset
74\aliased\let\definestructureconversionset\defineconversionset
75\aliased\let\definestructureprefixset    \defineprefixset
76
77% \defineseparatorset [weird][!,?,*][:]                                  % tex content
78% \defineconversionset[weird][numbers,characters,romannumerals][numbers] % symbolic names
79% \defineresetset     [weird][0,0,1][0]                                  % numbers
80
81\protect \endinput
82