diff options
author | Hans Hagen <pragma@wxs.nl> | 2005-01-12 00:00:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2005-01-12 00:00:00 +0100 |
commit | 0fece0253ad71930dc23890d1ae3e1f76b296acb (patch) | |
tree | ee4101915a66616c98023bf6456d5615817b0766 /tex/context/base/core-reg.tex | |
parent | 5604cb0a875f6114b67391fd279060678a9b7937 (diff) | |
download | context-0fece0253ad71930dc23890d1ae3e1f76b296acb.tar.gz |
stable 2005.01.12
Diffstat (limited to 'tex/context/base/core-reg.tex')
-rw-r--r-- | tex/context/base/core-reg.tex | 124 |
1 files changed, 26 insertions, 98 deletions
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex index d9a94631d..9bf43bf45 100644 --- a/tex/context/base/core-reg.tex +++ b/tex/context/base/core-reg.tex @@ -74,26 +74,34 @@ \processseparatedlist[#1][+]\docommando \!!stringa} +% \enableregime[windows] \setupregister[index][keyexpansion=strict] +% +% \index[Ätsch]{Ätsch} test \index{QÄtsch} test \index[ratsch]{RÄtsch} test + \def\doprocesspageregister[#1]#2#3% key altnum entry {\begingroup \thisisnextinternal\s!ind \ifduplicate\getlastregisterentry{#3}\fi - \convertexpanded{\??id\currentregister}{#3}\asciiregisterentry + \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#1}\asciiregisterentryA + \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#3}\asciiregisterentryB +\doifvaluesomething{\??id\currentregister\c!keyexpansion} + {\ifx\asciiregisterentryA\empty + \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#3}\asciiregisterentryA + \fi}% \makesectionformat \doifelsevalue{\??id\currentregister\c!ownnumber}\v!yes \donetrue\donefalse % the spaces between } { are essential for texutil's split - \edef\schrijfwegnaarregister% + \expanded {\writeutility% {r \ifcase\registerpagestatus\space\or e \or f \or t \fi {\currentregister} % {\nextinternalreference} % - {#1} % - {\asciiregisterentry} % + {\asciiregisterentryA} % + {\asciiregisterentryB} % {\sectionformat\sectionseparator\sectionseparator \ifdone#2\else\noexpand\pagenumber\fi} % {\noexpand\realfolio}}}% - \schrijfwegnaarregister \getfirstcharacter\currentregister \registerinfo{> \firstcharacter}{#3}% \endgroup} @@ -140,54 +148,32 @@ \def\dostopregister[#1][#2]% {\getvalue{\??id#1\??id#2}\setgvalue{\??id#1\??id#2}{}} -%\def\dodostopregister[#1][#2]% -% {\chardef\registerpagestatus=3 -% \def\currentregister{#1}% -% \complexdoregister[#2]} - \def\dodostopregister[#1][#2]% {\chardef\registerpagestatus3 \def\currentregister{#1}% \donoregister[#2]} -% \def\complexdozieregister[#1]#2#3% -% {\begingroup -% \thisisnextinternal\s!ind -% \ifduplicate\getlastregisterentry{#2}\fi -% \convertexpanded{\??id\currentregister}{#2}\asciiregisterentryA -% \convertexpanded{\??id\currentregister}{#3}\asciiregisterentryB -% \makesectionformat -% \edef\schrijfwegnaarregister% -% {\writeutility% -% {r s % -% {\currentregister} % -% {\nextinternalreference} % -% {#1} % -% {\asciiregisterentryA} % -% {\asciiregisterentryB} % -% {\sectionformat}}}% -% \schrijfwegnaarregister -% \endgroup -% \registerinfo{> zie}{#2}% -% \GotoPar} - \def\complexdozieregister[#1]#2#3% {\begingroup \thisisnextinternal\s!ind \ifduplicate\getlastregisterentry{#2}\fi - \convertexpanded{\??id\currentregister}{#2}\asciiregisterentryA - \convertexpanded{\??id\currentregister}{#3}\asciiregisterentryB + \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#1}\asciiregisterentryA + \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#2}\asciiregisterentryB + \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#3}\asciiregisterentryC +\doifvaluesomething{\??id\currentregister\c!keyexpansion} + {\ifx\asciiregisterentryA\empty + \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#2}\asciiregisterentryA + \fi}% \makesectionformat - \edef\schrijfwegnaarregister% + \expanded {\writeutility% {r s % {\currentregister} % {\nextinternalreference} % - {#1} % {\asciiregisterentryA} % {\asciiregisterentryB} % + {\asciiregisterentryC} % {\sectionformat}}}% - \schrijfwegnaarregister \endgroup \registerinfo{> zie}{#2}% \GotoPar} @@ -196,10 +182,6 @@ {\def\currentregister{#1}% \complexorsimpleempty\dozieregister} -%\def\doschrijfnaarregister[#1]% % de twee-traps-aanroep is nodig -% {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter -% \doprocesspageregister} % mogelijk te maken - \def\dowritetoregister[#1]% % de twee-traps-aanroep is nodig {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter \doprocesspageregister{}} % mogelijk te maken @@ -308,61 +290,6 @@ \def\dosetpageregisterpage#1#2#3#4#5#6% {\doifreglevelelse[#5]{\dodosetpageregisterpage{#1}{#2}{#3}{#4}{#5}{#6}}{}} -% \def\dodosetpageregisterpage#1#2#3#4#5#6% -% {\global\utilitydonetrue -% \c!entryletter -% \setregisterhowto[#3]% -% \def\dohandleregisterentry##1% -% {\bgroup -% \if!!donea % \strut nieuw -% \setbox0\hbox{\showlocation{\doregistertexthowto{#2} -% {\strut\limitedregisterentry{#2}{##1}}}}% -% \gotonextinternal{\s!ind}{#4}{#6}{\box0}% -% \else -% \doregistertexthowto{#2}{##1}% -% \fi -% \egroup -% \!!doneafalse}% -% \!!doneafalse -% \doifelsevalue{\??id#2\c!interactie}\v!tekst -% {\ifcase\currententrylevel \or -% \!!doneatrue\c!entrya\c!entryb\c!entryc \or -% \c!entrya\!!doneatrue\c!entryb\c!entryc \or -% \c!entrya\c!entryb\!!doneatrue\c!entryc \fi} -% {\c!entrya\c!entryb\c!entryc}% -% \global\let\c!entrya\relax -% \global\let\c!entryb\relax -% \global\let\c!entryc\relax -% \global\let\c!entryletter\relax -% \global\let\c!entryreference\relax -% % \global\firstregisterentrytrue -% \iffirstregisterpage -% \global\chardef\lastregisterpagestatus\zerocount -% \expandafter\hskip\getvalue{\??id#2\c!afstand}\relax -% \donetrue -% \else\ifnum#1=3 -% |--|\relax % -- ! -% \donetrue -% \else\ifnum\lastregisterpagestatus=2 -% \donefalse % waiting for "to" pagenumber -% \else -% \registerpageseparator -% |\space|\relax % \relax needed because | looks ahead -% \donetrue -% \fi\fi\fi -% \ifdone -% \doifelsevalue{\??id#2\c!interactie}\v!paginanummer -% {\bgroup -% \setbox0\hbox -% {\showlocation{\doregisterpage{#2}[#5]\ifnum#1=2\/\fi}}% -% \gotonextinternal\s!ind{#4}{#6}{\box0}%{\copy0}% -% \egroup} -% {\hbox{\doregisterpage{#2}[#5]\ifnum#1=2\/\fi}}% -% \ignorespaces -% \global\chardef\lastregisterpagestatus#1\relax -% \fi -% \global\firstregisterpagefalse} - \def\dodosetpageregisterpage#1#2#3#4#5#6% {\global\utilitydonetrue \c!entryletter @@ -557,7 +484,7 @@ {\dosetfilterlevel{\getvalue{\??id#1\c!criterium}}\empty} \def\getalllistreferences#1#2% - {\doglobal\convertexpanded{\??id#1}{#2}\currentregisterentry + {\doglobal\convertexpanded{\getvalue{\??id#1\c!expansion}}{#2}\currentregisterentry \doifdefinedelse{\??id#1\??id\currentregisterentry} {\edef\alllistreferences% {\getvalue{\??id#1\??id\currentregisterentry}}% @@ -959,7 +886,8 @@ \c!maxwidth=, \c!number=\v!no, \c!unknownreference=\v!empty, - \c!expansion=]% + \c!expansion=, + \c!keyexpansion=]% \presetheadtext[#1=\Word{#1}]% \addutilityreset{#1}% \setvalue{#1}{\doregister{#1}}% @@ -971,7 +899,7 @@ \setvalue{\e!complete#1}{\completeregister[#1]}% \setvalue{\e!setup#1\e!endsetup}[##1]{\getparameters[\??id#1][##1]}} -\def\defineregister% +\def\defineregister {\dodoubleargument\dodefineregister} \def\registerlengte{\utilityregisterlength} |