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]{{structure:resets} {#name}{\detokenize{#set}}{\detokenize{#default}}true\relax} 68\permanent\tolerant\protected\def\defineseparatorset [#name]#spacer[#set]#spacer[#default]{{structure:separators} {#name}{\detokenize{#set}}{\detokenize{#default}}false\relax} 69\permanent\tolerant\protected\def\defineconversionset[#name]#spacer[#set]#spacer[#default]{{structure:conversions}{#name}{\detokenize{#set}}{\detokenize{#default}}false\relax} 70\permanent\tolerant\protected\def\defineprefixset [#name]#spacer[#set]#spacer[#default]{{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 |