diff options
author | Karl Berry <karl@freefriends.org> | 2006-11-18 01:37:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-11-18 01:37:52 +0000 |
commit | 5c91b9f8a88e06f057a6a08b0a755a224d08e019 (patch) | |
tree | 57cfafb6bd6c146dcdfc911dbef8db622c6476bd /Master/texmf-dist/tex/context/base/core-reg.tex | |
parent | 983736c2ab572e9a860c74f0f781b3decd282f13 (diff) |
context 17nov06 update
git-svn-id: svn://tug.org/texlive/trunk@2449 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/core-reg.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/core-reg.tex | 414 |
1 files changed, 175 insertions, 239 deletions
diff --git a/Master/texmf-dist/tex/context/base/core-reg.tex b/Master/texmf-dist/tex/context/base/core-reg.tex index 309aee2f9ed..bd64bd6adda 100644 --- a/Master/texmf-dist/tex/context/base/core-reg.tex +++ b/Master/texmf-dist/tex/context/base/core-reg.tex @@ -69,9 +69,8 @@ {\dotripleempty\dosetupregister} \def\getlastregisterentry#1% - {\def\docommando##1% - {\def\!!stringa{##1}}% - \processseparatedlist[#1][+]\docommando + {\def\docommand##1{\def\!!stringa{##1}}% + \processseparatedlist[#1][+]\docommand \!!stringa} \def\registerparameter#1{\csname\??id\currentregister#1\endcsname} @@ -80,61 +79,37 @@ % % \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{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA -% \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryB -% \doifsomething{\registerparameter\c!keyexpansion} -% {\ifx\asciiregisterentryA\empty -% \convertexpanded{\registerparameter\c!keyexpansion}{#3}\asciiregisterentryA -% \fi}% -% \makesectionformat -% \doifelse{\registerparameter\c!ownnumber}\v!yes -% \donetrue\donefalse -% % the spaces between } { are essential for texutil's split -% \expanded -% {\writeutility% -% {r \ifcase\registerpagestatus\space\or e \or f \or t \fi -% {\currentregister} % -% {\nextinternalreference} % -% {\asciiregisterentryA} % -% {\asciiregisterentryB} % -% {\sectionformat\sectionseparator\sectionseparator -% \ifdone#2\else\noexpand\pagenumber\fi} % -% {\noexpand\realfolio}}}% -% \getfirstcharacter\currentregister -% \registerinfo{> \firstcharacter}{#3}% -% \endgroup} +\newif\ifwritetoregister \writetoregistertrue \def\doprocesspageregister[#1]#2#3% key altnum entry - {\begingroup - \thisisnextinternal\s!ind - \ifduplicate\getlastregisterentry{#3}\fi - \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA - \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryB - \doifsomething{\registerparameter\c!keyexpansion} - {\ifx\asciiregisterentryA\empty - \convertexpanded{\registerparameter\c!keyexpansion}{#3}\asciiregisterentryA - \fi}% - \makesectionformat - \doifelse{\registerparameter\c!ownnumber}\v!yes - \donetrue\donefalse - % the spaces between } { are essential for texutil's split - \expanded - {\writeutility% - {r \ifcase\registerpagestatus\space\or e \or f \or t \fi - {\currentregister} % - {\nextinternalreference} % - {\asciiregisterentryA} % - {\asciiregisterentryB} % - {\sectionformat\sectionseparator\sectionseparator - \ifdone#2\else\noexpand\pagenumber\fi} % - {\noexpand\realfolio}}}% - \getfirstcharacter\currentregister - \registerinfo{> \firstcharacter}{#3}% - \endgroup} + {\ifwritetoregister + \begingroup + \thisisnextinternal\s!ind + \ifduplicate\getlastregisterentry{#3}\fi + \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA + \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryB + \doifsomething{\registerparameter\c!keyexpansion} + {\ifx\asciiregisterentryA\empty + \convertexpanded{\registerparameter\c!keyexpansion}{#3}\asciiregisterentryA + \fi}% + \makesectionformat + \doifelse{\registerparameter\c!ownnumber}\v!yes + \donetrue\donefalse + % the spaces between } { are essential for texutil's split + \expanded + {\writeutility% + {r \ifcase\registerpagestatus\space\or e \or f \or t \fi + {\currentregister} % + {\nextinternalreference} % + {\asciiregisterentryA} % + {\asciiregisterentryB} % + {\sectionformat\sectionseparator\sectionseparator + \ifdone#2\else\noexpand\pagenumber\fi} % + {\noexpand\realfolio}}}% + \getfirstcharacter\currentregister + \registerinfo{> \firstcharacter}{#3}% + \endgroup + \fi} \def\doregister#1% {\chardef\registerpagestatus\plusone @@ -146,11 +121,6 @@ \def\donoregister[#1]% {\dodoregister[#1]{}} -% \def\dodoregister[#1]#2#3% -% {\doprocesspageregister[#1]{#2}{#3}% -% \ifvmode\nobreak\fi -% \GotoPar} - % \long\def\doflushatpar#1% % %{\dogotopar{#1}} % %{\dogotopar{\dontleavehmode#1}} % this one can introduce empty lines @@ -193,7 +163,8 @@ \dodoregister[#2]{}{#3}} % key altnum entry \def\doprocessseeregister[#1]#2#3% - {\begingroup + {\ifwritetoregister + \begingroup \thisisnextinternal\s!ind \ifduplicate\getlastregisterentry{#2}\fi \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA @@ -213,8 +184,9 @@ {\asciiregisterentryB} % {\asciiregisterentryC} % {\sectionformat}}}% - \endgroup - \registerinfo{> see}{#2}} + \endgroup + \registerinfo{> see}{#2}% + \fi} \def\complexdoseeregister[#1]#2#3% {\doflushatpar{\doprocessseeregister[#1]{#2}{#3}}} @@ -249,7 +221,9 @@ {\nextregisterpage \hbox to 1em{\hss\doregisterpagehowto{#1}{#2}\hss}} -\def\setregisterpage#1% +% todo: \installregisterpagehandler + +\def\setregisterpage#1% todo: currentregister gebruiken {\let\registerpageseparator\empty \processaction [\getvalue{\??id#1\c!symbol}] @@ -260,18 +234,37 @@ 1=>{\def\doregisterpage##1[##2]% {\doregisterpagelocation{#1}{$\bullet$}}}, 2=>{\def\doregisterpage##1[##2]% - {\doregisterpagelocation{#1}{\vrule\!!width1em\!!height1ex\!!depth\!!zeropoint}}}, + {\doregisterpagelocation{#1}{\vrule\!!width1em\!!height1ex\!!depth\zeropoint}}}, \v!none=>{\def\doregisterpage##1[##2]{}},% \s!unknown=>{\def\registerpagesymbol{\getvalue{\??id#1\c!symbol}}% \def\doregisterpage##1[##2]% {\doregisterpagelocation{#1}{\registerpagesymbol}}}, - \s!default=>{\def\registerpageseparator% - {,}% - \def\doregisterpage##1[##2]% - {\doregisterpagehowto{##1} - {\strut - \pageprefix{\??id##1}[##2]% - \translatednumber[##2]}}}]} + \s!default=>{\def\registerpageseparator{,}% + \let\doregisterpage\doregisterpagedefault}]} + +\def\doregisterpagedefault#1[#2]% + {\doregisterpagehowto{#1}{\strut\pageprefix{\??id#1}[#2]\translatednumber[#2]}} + +% test case +% +% \starttext +% \placelist[section][criterium=all] \blank[2*big] +% \placeregister[index][compress=no] \blank[2*big] +% \placeregister[index][compress=no,sectionnumber=yes] \blank[2*big] +% \placeregister[index][compress=yes] \page +% test text \index{test index} +% \section{heading} +% more test text \index{test index} +% \section{heading} +% more test text \index{test index} +% \page +% \section{heading text \index{test index}} +% more test text \index{test index} +% \page +% test text \index{test index} +% \section{heading text \index{test index}} +% more test text \index{test index} +% \stoptext \let\registerpagehowto\empty \let\registertexthowto\empty @@ -320,8 +313,6 @@ \let\c!entryb =\relax \let\c!entryc =\relax -\chardef\lastregisterpagestatus=0 - \def\limitedregisterentry#1#2% {\getvalue{\??id#1\c!textcommand}% {\doifelsenothing{\??id#1\c!maxwidth} @@ -331,74 +322,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}% -% % -% \hhboxindent\hangindent % maybe also left and right skip -% \setbox0\hbox{\doregistertexthowto{#2}{\strut\limitedregisterentry{#2}{##1}}}% -% \unhhbox0\with{\gotonextinternal\s!ind{#4}{#6}{\box\hhbox}}% -% % -% \else -% \doregistertexthowto{#2}{##1}% -% \fi -% \egroup -% \!!doneafalse}% -% \!!doneafalse -% \doifelsevalue{\??id#2\c!interaction}\v!text -% {\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!distance}\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 -% \begingroup -% % -% \doifelsevalue{\??id#2\c!prefix}\v!none % default v!both -% {\chardef\pageprefixmode\zerocount}% -% {\doifvalue{\??id#2\c!prefix}\v!first % only first in range (1.2-4) -% {\ifnum#1=3 \chardef\pageprefixmode\zerocount \fi}}% -% % -% \doifelsevalue{\??id#2\c!interaction}\v!pagenumber -% {\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}}% -% \endgroup -% \ignorespaces -% \global\chardef\lastregisterpagestatus#1\relax -% \fi -% \global\firstregisterpagefalse} - \def\dodosetpageregisterpageA#1#2#3#4#5#6% {\global\utilitydonetrue \c!entryletter @@ -428,41 +351,33 @@ \global\let\c!entryreference\relax} \def\dodosetpageregisterpageB#1#2#3#4#5#6% - {% \global\firstregisterentrytrue - \iffirstregisterpage - \global\chardef\lastregisterpagestatus\zerocount - \expandafter\hskip\getvalue{\??id#2\c!distance}\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 - \begingroup - % - \doifelsevalue{\??id#2\c!prefix}\v!none % default v!both - {\chardef\pageprefixmode\zerocount}% - {\doifvalue{\??id#2\c!prefix}\v!first % only first in range (1.2-4) - {\ifnum#1=3 \chardef\pageprefixmode\zerocount \fi}}% - % - \doifelsevalue{\??id#2\c!interaction}\v!pagenumber - {\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}}% - \endgroup - \ignorespaces - \global\chardef\lastregisterpagestatus#1\relax - \fi - \global\firstregisterpagefalse} + {\iffirstregisterpage + \expandafter\hskip\getvalue{\??id#2\c!distance}\relax + \else\ifnum#1=3 + \strut|--|\relax % -- ! + \else + % \relax after space needed because | looks ahead + \strut\registerpageseparator|\space|\relax + \fi\fi + \iftrue % \iftrue ...\fi to preserve indentation, can be folded out + \begingroup + % + \doifelsevalue{\??id#2\c!prefix}\v!none % default v!both + {\chardef\pageprefixmode\zerocount}% + {\doifvalue{\??id#2\c!prefix}\v!first % only first in range (1.2-4) + {\ifnum#1=3 \chardef\pageprefixmode\zerocount \fi}}% + % + \doifelsevalue{\??id#2\c!interaction}\v!pagenumber + {\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}}% + \endgroup + \ignorespaces + \relax + \fi + \global\firstregisterpagefalse} \def\resetseenregisterpage {\global\let\firstseenregisterreal \relax @@ -477,27 +392,61 @@ \def\dodosetpageregisterpageC#1#2#3#4#5#6% {\xdef\currentseenregisterpage{#5}% \xdef\currentseenregisterreal{#6}% - \gdef\flushseenregisterpage{\doflushseenregisterpage{#1}{#2}{#3}{#4}}% \ifx\firstseenregisterreal\relax + % no range yet \global\let\firstseenregisterreal\currentseenregisterreal \global\let\firstseenregisterpage\currentseenregisterpage \global\let\lastseenregisterreal \currentseenregisterreal \global\let\lastseenregisterpage \currentseenregisterpage + \else\ifnum\lastseenregisterreal=\currentseenregisterreal\relax + % same page (catch error) \else\ifnum\numexpr\lastseenregisterreal+\plusone\relax=\currentseenregisterreal\relax \global\let\lastseenregisterreal \currentseenregisterreal \global\let\lastseenregisterpage \currentseenregisterpage \else - \ifx\firstseenregisterreal\lastseenregisterreal - \expanded{\dodosetpageregisterpageB{1}{#2}{#3}{#4}{\lastseenregisterpage}{\lastseenregisterreal}}% - \else - \expanded{\dodosetpageregisterpageB{2}{#2}{#3}{#4}{\firstseenregisterpage}{\firstseenregisterreal}}% - \expanded{\dodosetpageregisterpageB{3}{#2}{#3}{#4}{\lastseenregisterpage }{\lastseenregisterreal }}% - \fi - \global\let\firstseenregisterreal\currentseenregisterreal - \global\let\firstseenregisterpage\currentseenregisterpage - \global\let\lastseenregisterreal \currentseenregisterreal - \global\let\lastseenregisterpage \currentseenregisterpage - \fi\fi} + \global\let\savedcurrentseenregisterreal\currentseenregisterreal + \global\let\savedcurrentseenregisterpage\currentseenregisterpage + \flushseenregisterpage + \global\let\firstseenregisterreal\savedcurrentseenregisterreal + \global\let\firstseenregisterpage\savedcurrentseenregisterpage + \global\let\lastseenregisterreal \savedcurrentseenregisterreal + \global\let\lastseenregisterpage \savedcurrentseenregisterpage + \fi\fi\fi + \gdef\flushseenregisterpage{\doflushseenregisterpage{#1}{#2}{#3}{#4}}} + +% \def\dodosetpageregisterpageC#1#2#3#4#5#6% +% {\xdef\currentseenregisterpage{#5}% +% \xdef\currentseenregisterreal{#6}% +% \firstregisterpagefalse +% \gdef\flushseenregisterpage{\doflushseenregisterpage{#1}{#2}{#3}{#4}}% +% \ifx\firstseenregisterreal\relax +% % no range yet +% \global\let\firstseenregisterreal\currentseenregisterreal +% \global\let\firstseenregisterpage\currentseenregisterpage +% \global\let\lastseenregisterreal \currentseenregisterreal +% \global\let\lastseenregisterpage \currentseenregisterpage +% \else\ifnum\firstseenregisterreal=\currentseenregisterreal\relax +% \global\let\firstseenregisterreal\currentseenregisterreal +% \global\let\firstseenregisterpage\currentseenregisterpage +% \global\let\lastseenregisterreal \currentseenregisterreal +% \global\let\lastseenregisterpage \currentseenregisterpage +% \else\ifnum\lastseenregisterreal=\currentseenregisterreal\relax +% \global\let\lastseenregisterpage \currentseenregisterpage +% \else\ifnum\numexpr\lastseenregisterreal+\plusone\relax=\currentseenregisterreal\relax +% \global\let\lastseenregisterreal \currentseenregisterreal +% \global\let\lastseenregisterpage \currentseenregisterpage +% \else +% % back up, flush, go on +% \global\let\savedcurrentseenregisterreal\currentseenregisterreal +% \global\let\savedcurrentseenregisterpage\currentseenregisterpage +% \let\currentseenregisterpage\lastseenregisterpage +% \let\currentseenregisterreal\lastseenregisterreal +% \flushseenregisterpage +% \global\let\firstseenregisterreal\savedcurrentseenregisterreal +% \global\let\firstseenregisterpage\savedcurrentseenregisterpage +% \global\let\lastseenregisterreal \savedcurrentseenregisterreal +% \global\let\lastseenregisterpage \savedcurrentseenregisterpage +% \fi\fi\fi\fi} \def\doflushseenregisterpage#1#2#3#4% {\global\let\flushseenregisterpage\relax @@ -526,8 +475,13 @@ {\dodosetpageregisterpageA{#1}{#2}{#3}{#4}{#5}{#6}% \dodosetpageregisterpageB{#1}{#2}{#3}{#4}{#5}{#6}} +% \def\dodosetpageregisterpagecollapsed#1#2#3#4#5#6% +% {\dodosetpageregisterpageA{#1}{#2}{#3}{#4}{#5}{#6}% +% \dodosetpageregisterpageC{#1}{#2}{#3}{#4}{#5}{#6}} + \def\dodosetpageregisterpagecollapsed#1#2#3#4#5#6% - {\dodosetpageregisterpageA{#1}{#2}{#3}{#4}{#5}{#6}% + {\ifx\firstseenregisterreal\relax\flushseenregisterpage\fi + \dodosetpageregisterpageA{#1}{#2}{#3}{#4}{#5}{#6}% \dodosetpageregisterpageC{#1}{#2}{#3}{#4}{#5}{#6}} % test case for collapsing (experimental, for Steffen Wolfrum) @@ -564,9 +518,8 @@ \global\let\c!entryc\relax \global\let\c!entryletter\relax \global\let\c!entryreference\relax - \global\chardef\lastregisterpagestatus\zerocount % \global\firstregisterentrytrue - \global\firstregisterpagefalse}} + \global\firstregisterpagetrue}} {}} %D Extended with variant: @@ -699,7 +652,6 @@ \global\firstsubentrytrue \global\firstsubsubentrytrue \setregisterpage{#1}% - \chardef\lastregisterpagestatus\zerocount \setvalue{#1\s!entrya}{\dosetpageregisterentrya {#1}}% \setvalue{#1\s!entryb}{\dosetpageregisterentryb {#1}}% \setvalue{#1\s!entryc}{\dosetpageregisterentryc {#1}}% @@ -763,7 +715,7 @@ \fi \fi % aangepast - \def\dodocommando[##1-##2]% + \def\dodocommand[##1-##2]% {\gotonextinternal{\s!ind}{##1}{##2}{\box0}}% \doifelsevalue{\??id#1\c!interaction}\v!pagenumber {\limitedregisterentry{#1}{#2}} % paginanummer @@ -772,25 +724,25 @@ \ifx\midlistreference\empty \box0 \else - \expandafter\dodocommando\expandafter[\midlistreference]% + \expandafter\dodocommand\expandafter[\midlistreference]% \fi \else - \expandafter\dodocommando\expandafter[\firstlistreference]% + \expandafter\dodocommand\expandafter[\firstlistreference]% \fi}}% \doifvalue{\??id#1\c!number}\v!yes {\hskip\getvalue{\??id#1\c!distance}(\commalistsize)}% \doifnotvalue{\??id#1\c!interaction}\v!text % paginanummer,alles - {\def\docommando##1##2% + {\def\docommand##1##2% {{\setbox0\hbox{\showlocation{\hbox to 1em{\hss\symbol[##2]\hss}}}% \ifx##1\empty % \hskip\wd0 % (optioneel maken) \else - \expandafter\dodocommando\expandafter[##1]% + \expandafter\dodocommand\expandafter[##1]% \fi}}% \hskip\getvalue{\??id#1\c!distance}% - \docommando\firstlistreference\v!previous - \docommando\midlistreference\v!somewhere - \docommando\lastlistreference\v!next}% + \docommand\firstlistreference\v!previous + \docommand\midlistreference\v!somewhere + \docommand\lastlistreference\v!next}% % tot hier \else % no \endgraf @@ -857,8 +809,9 @@ \ifcase0\countervalue{autolink:#1}\relax % only once \begingroup \let\dosetregister\doloadregisterlinks + \def\currentregister{#1}% \setupregister[#1][#2]% - \doutilities{#1}\jobname{#1}\relax\relax + \doutilities{#1}{\registerparameter\c!file}{#1}\relax\relax \endgroup \ifautoregisterhack \doinitializeautoregister{#1}% @@ -871,10 +824,10 @@ \def\coupleregister {\dodoubleempty\docoupleregister} -\def\dodocommandoprolinrefAA[#1-#2]% +\def\dodocommandprolinrefAA[#1-#2]% {\def\lastlistreference{#1-#2}} -\def\dodocommandoprolinrefA[#1-#2]% +\def\dodocommandprolinrefA[#1-#2]% {\def\lastlistreference{#1-#2}% \ifx\firstlistreference\empty \let\firstlistreference\lastlistreference @@ -883,24 +836,24 @@ \let\prevlistreference\lastlistreference \else\ifnum#1>\nextinternalreference\relax \let\nextlistreference\lastlistreference - \let\dodocommandoprolinrefA\dodocommandoprolinrefAA + \let\dodocommandprolinrefA\dodocommandprolinrefAA \else \let\selflistreference\lastlistreference \fi\fi} -\def\docommandoprolinrefA#1% - {\dodocommandoprolinrefA[#1]} +\def\docommandprolinrefA#1% + {\dodocommandprolinrefA[#1]} -\def\dodocommandoprolinrefB[#1-#2]% +\def\dodocommandprolinrefB[#1-#2]% {\gotonextinternal{\s!ind}{#1}{#2}{\box0}} -\def\docommandoprolinrefB#1#2#3% +\def\docommandprolinrefB#1#2#3% {\bgroup \ifx#2\empty \doifvalue{\??id#1\c!unknownreference}\v!empty{\hskip1em}% \else \setbox0\hbox to 1em{\hss\showlocation{\symbol[#3]}\hss}% - \expandafter\dodocommandoprolinrefB\expandafter[#2]% + \expandafter\dodocommandprolinrefB\expandafter[#2]% \fi \egroup} @@ -914,7 +867,7 @@ \let\nextlistreference\empty \getalllistreferences{#1}{#3}% \ifx\alllistreferences\empty \else - \expanded{\rawprocesscommalist[\alllistreferences]}\docommandoprolinrefA + \expanded{\rawprocesscommalist[\alllistreferences]}\docommandprolinrefA \fi \ifx\prevlistreference\empty \let\prevlistreference\lastlistreference @@ -929,11 +882,11 @@ \setalignmentswitch{\getvalue{\??id#1\c!location}}% \ifcase\alignmentswitch % links - \docommandoprolinrefB{#1}\prevlistreference\v!previous - \docommandoprolinrefB{#1}\nextlistreference\v!next + \docommandprolinrefB{#1}\prevlistreference\v!previous + \docommandprolinrefB{#1}\nextlistreference\v!next \or % midden - \docommandoprolinrefB{#1}\prevlistreference\v!previous + \docommandprolinrefB{#1}\prevlistreference\v!previous \or % rechts \fi @@ -946,31 +899,13 @@ % links \or % midden - \docommandoprolinrefB{#1}\nextlistreference\v!next + \docommandprolinrefB{#1}\nextlistreference\v!next \or % rechts - \docommandoprolinrefB{#1}\prevlistreference\v!previous - \docommandoprolinrefB{#1}\nextlistreference\v!next + \docommandprolinrefB{#1}\prevlistreference\v!previous + \docommandprolinrefB{#1}\nextlistreference\v!next \fi}} -% \def\dodolinkedregister[#1][#2]#3% page auto link -% {\bgroup -% \chardef\registerpagestatus\plusone -% \def\currentregister{#1}% -% \iflocation -% \ifautoregisterhack -% \def\next{\doprocessautoregister[#1][#2]}% -% \else -% \def\next{\doprocesslinkregister[#1][#2]}% -% \fi -% \else -% \def\next{\doprocesspageregister[#2]{}}% -% \fi -% \next{#3}% -% \egroup -% \ifvmode\nobreak\fi -% \GotoPar} - \def\doprocesslinkedregister[#1][#2]#3% page auto link {\bgroup \chardef\registerpagestatus\plusone @@ -1092,7 +1027,7 @@ \c!align=\registerparameter\c!align]% \dontcomplain \startpacked[\v!blank]% - \doutilities\currentregister\jobname\currentregister\dobeforeplaceregister\doafterplaceregister + \doutilities\currentregister{\registerparameter\c!file}\currentregister\dobeforeplaceregister\doafterplaceregister \stoppacked \stopcolumns \endgroup @@ -1151,6 +1086,7 @@ \c!prefix=\v!both, \c!expansion=, \c!keyexpansion=, + \c!file=\jobname, %\c!deeptextcommand=, % undefined by default ! \s!language=\currentmainlanguage]% \doglobal\appendtoksonce @@ -1176,6 +1112,7 @@ \def\dodetermineregistercharacteristics[#1][#2]% {\begingroup + \def\currentregister{#1}% \setupregister[#1][#2]% \dosetreglevel{#1}% \setvalue{#1\s!from}% @@ -1186,8 +1123,7 @@ \global\utilitydonetrue} {}}% \doglobal\newcounter\utilityregisterlength - \setbox0\vbox - {\doutilities{#1}\jobname{#1}\relax\relax}% + \setbox0\vbox{\doutilities{#1}{\registerparameter\c!file}{#1}\relax\relax}% \endgroup \ifregistergeplaatst \setsystemmode \v!register |