diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/page-lin.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/page-lin.tex | 454 |
1 files changed, 0 insertions, 454 deletions
diff --git a/Master/texmf-dist/tex/context/base/page-lin.tex b/Master/texmf-dist/tex/context/base/page-lin.tex deleted file mode 100644 index d28674686ac..00000000000 --- a/Master/texmf-dist/tex/context/base/page-lin.tex +++ /dev/null @@ -1,454 +0,0 @@ -%D \module -%D [ file=page-lin, % copied from main-001 -%D version=1997.03.31, -%D title=\CONTEXT\ Core Macros, -%D subtitle=Line Numbering, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\writestatus{loading}{Context Core Macros / Line Numbering} - -\unprotect - -\newif\ifnumberinglines -\newif\iftypesettinglines - -\newcount\linenumber -\newcount\linestepper - -\chardef\linenumberlocation=0 - -\newtoks\beforeeverylinenumbering -\newtoks\aftereverylinenumbering - -\def\setuplines - {\dodoubleargument\getparameters[\??rg]} - -\def\startlines - {\@@rgbefore - \pushmacro\checkindentation - \whitespace - %\page[\v!preference]} gaat mis na koppen, nieuw: later \nobreak - \begingroup - \setupindenting[\@@rgindenting]% - \typesettinglinestrue - \setupwhitespace[\v!none]% - \obeylines - \ignorespaces - \gdef\afterfirstobeyedline % tzt two pass, net als opsomming - {\gdef\afterfirstobeyedline - {\nobreak - \global\let\afterfirstobeyedline\relax}}% - \def\obeyedline - {\par - \afterfirstobeyedline - \futurelet\next\dobetweenthelines}% - \activatespacehandler\@@rgspace - \GotoPar} - -\def\stoplines - {\endgroup - \popmacro\checkindentation - \@@rgafter} - -%D When spacing is active we need to handle commands in -%D a special way: -%D -%D \starttyping -%D \setuplines[space=on] -%D -%D \startlines -%D Let's talk about this{\ttsl\gobbleoneargument or}that. -%D \stoplines -%D -%D \startlines -%D Let's talk about this{\getvalue{ttsl}or}that. -%D \stoplines -%D \stoptyping -%D -%D One can indent in several ways: -%D -%D \starttyping -%D \setupindenting[medium] \setuplines[indenting=odd] % no yes odd even -%D -%D \startlines -%D first -%D second -%D third -%D fourth -%D \stoplines -%D \stoptyping - -% this is not the natural place - -\def\installspacehandler#1#2% needs to set \obeyedspace - {\setvalue{\??sr#1}{#2}} - -\installspacehandler \v!on - {\obeyspaces - \def\obeyedspace{\mathortext\normalspace{\dontleavehmode{\tt\controlspace}}}% - \let\ =\obeyedspace} - -\installspacehandler \v!yes - {\obeyspaces - \def\obeyedspace{\mathortext\normalspace{\dontleavehmode \normalspace }}% - \let\ =\obeyedspace} - -\installspacehandler \v!off - {\normalspaces - \let\obeyedspace\normalspace - \let\ =\normalspace} - -\def\activatespacehandler#1% - {\executeifdefined{\??sr#1}{\activatespacehandler\v!off}} - -\def\dobetweenthelines - {\doifmeaningelse\next\obeyedline\@@rginbetween\donothing} - -% het gebruik van \setlocalreference scheelt een hash entry - -\def\dodoshowlinenumber % for use elsewhere, to be extended - {\doplacelinenumber - \global\advance\linenumber \plusone} - -\def\completelinenumber - {\@@rnleft\convertnumber\@@rnconversion\linenumber\@@rnright} - -\def\dosetuplinenumbering[#1]% - {\getparameters[\??rn][\c!start=1,\c!step=1,#1]% - \global\linenumber\plusone} - -\def\setuplinenumbering - {\dosingleargument\dosetuplinenumbering} - -\def\dostartnummerenLINE - {\EveryPar{\placelinenumber}} % why not append to everypar ? better - -\def\dostopnummerenLINE - {\the\aftereverylinenumbering - \egroup} - -\def\dostartnummerenVERB - {\EveryLine{\placelinenumber}} - -\def\dostopnummerenVERB - {\the\aftereverylinenumbering - \egroup} - -\newevery \everylinenumber \relax - -\def\dodoplacelinenumber - {% beware of em's, the font is already switched ! - \setbox\scratchbox\hbox - {\setbox0\hbox{\@@rncommand{\completelinenumber}}\vsmashbox0% - \ifcase\linenumberlocation - \iftypesettinglines % hack - \expandafter\llap - \else - \expandafter\rlap - \fi{\hbox to \@@rnwidth{\box0\hss}}% was \llap, nog testen !! - \or - \inleftmargin - {\forgetall - \doifelse\@@rnwidth\v!margin - {\hsize\leftmarginwidth}{\hsize\@@rnwidth}% - \alignedline\@@rnalign\v!right{\box0\hskip\@@rndistance}}% - \else - \inrightmargin - {\forgetall - \doifelse\@@rnwidth\v!margin - {\hsize\rightmarginwidth}{\hsize\@@rnwidth}% - \alignedline\@@rnalign\v!left{\hskip\@@rndistance\box0}}% - \fi}% - \vsmashbox\scratchbox - \box\scratchbox - \the\everylinenumber} - -\def\complexstartlinenumbering[#1]% - {\doifnot{#1}\v!continue - {\doifnumberelse{#1} - {\global\linenumber#1\relax} - {\doifelsenothing\@@rnstart - {\global\linenumber\plusone} - {\global\linenumber\@@rnstart}}}% - \chardef\linenumberlocation\zerocount - \processaction - [\@@rnlocation] - [ \v!inmargin=>\chardef\linenumberlocation\plusone, - \v!inleft=>\chardef\linenumberlocation\plusone, - \v!inright=>\chardef\linenumberlocation\plustwo, - \v!margin=>\chardef\linenumberlocation\plusone]% - % \v!text=>\chardef\linenumberlocation\zerocount, - %\s!unknown=>\chardef\linenumberlocation\zerocount, - %\s!default=>\chardef\linenumberlocation\zerocount]% - \doifnot\@@rnwidth\v!margin - {\freezedimenmacro\@@rnwidth - \ifcase\linenumberlocation % text - \advance\leftskip\@@rnwidth\relax - \fi}% - \freezedimenmacro\@@rndistance - \chardef\@@rn@@rnmethod - \ifprocessingverbatim\zerocount\else\iftypesettinglines\plusone\else\plustwo\fi\fi - \processaction - [\@@rnmethod] - [ \v!type=>\chardef\@@rn@@rnmethod\zerocount, - \v!line=>\chardef\@@rn@@rnmethod\plusone, - \v!text=>\chardef\@@rn@@rnmethod\plustwo, - \v!file=>\chardef\@@rn@@rnmethod\plusthree]% - \ifcase\@@rn@@rnmethod % verbatim, line by line - \typesettinglinestrue - \let\dostartnummeren\dostartnummerenVERB - \let\stoplinenumbering\dostopnummerenVERB - \def\placelinenumber - {\doplacelinenumber - \global\advance\linenumber \plusone}% - \or % text, line by line - \let\dostartnummeren\dostartnummerenLINE - \let\stoplinenumbering\dostopnummerenLINE - \def\placelinenumber - {\doplacelinenumber - \global\advance\linenumber \plusone}% - \or % text, whole lot - \let\dostartnummeren\dostartnummerenPAR - \let\stoplinenumbering\dostopnummerenPAR - \def\placelinenumber - {\global\advance\linenumber \minusone - \doplacelinenumber}% - \or % verbatim, selective line by line - \typesettinglinestrue - \let\dostartnummeren\dostartnummerenVERB - \let\stoplinenumbering\dostopnummerenVERB - \def\placelinenumber - {\global\linenumber\verbatimlinenumber - \global\advance\linenumber \minusone - \doplacelinenumber}% - \fi - \dostartnummeren} - -\def\startlinenumbering - {\bgroup - \the\beforeeverylinenumbering - \numberinglinestrue - \complexorsimpleempty\startlinenumbering} - -\def\donoplacelinenumber - {\the\everylinenumber} - -\def\doplacelinenumber - {\ifnum\linenumber<\@@rnstart\relax - \donoplacelinenumber - \else - \ifnum\numexpr(\linenumber/\@@rnstep)*\@@rnstep\relax=\linenumber - \doattributes\??rn\c!style\c!color\dodoplacelinenumber - \else - \donoplacelinenumber - \fi - \fi} - -\def\someline[#1]% - {\dolinereference0[#1]\ignorespaces} - -\def\startline[#1]% - {\dolinereference1[#1]\ignorespaces} - -\def\stopline[#1]% - {\removelastspace\dolinereference2[#1]} - -\def\inline#1[#2]% - {\doifelsenothing{#1} - {\doifinstringelse{--}\currenttextreference - {\in{\leftlabeltext\v!lines}{\rightlabeltext\v!lines}[\@@rnprefix#2]} - {\in{\leftlabeltext\v!line }{\rightlabeltext\v!line }[\@@rnprefix#2]}} - {\in{#1}[\@@rnprefix#2]}} - -\def\dostartnummerenPAR - {\beginofshapebox - \doglobal\newcounter\linereference} - -% localcrossref heroverwegen - -\def\setlinereference#1#2#3#4% - {\setxvalue{lrf:#1}{\noexpand\dogetlinereference{#2}{#3}{#4}}} - -\def\getlinereference#1% - {\getvalue{lrf:#1}} - -\def\dogetlinereference#1#2#3% - {\edef\linereferencename{#1}% - \edef\linereferenceline{#2}% - \edef\linereferenceplus{#3}} - -% 1 xxx xxx xxx xxx xxx xxx xxx -% 2 xxx yyy yyy yyy yyy yyy yyy <= start y -% 3 yyy yyy yyy yyy yyy yyy yyy -% 4 yyy yyy yyy yyy yyy xxx xxx <= stop y -% 5 xxx xxx xxx xxx xxx xxx xxx - -\def\dolinereference#1[#2]% - {\bgroup - \dimen0=\strutdp - \doif\@@rnreferencing\v!on - {\doglobal\increment\linereference - % start 1=>(n=y,l=0,p=1) - % stop 2=>(n=y,l=0,p=2) - \setlinereference{\linereference}{\@@rnprefix#2}{0}{#1}% - \advance\dimen0 \linereference sp}% - \prewordbreak - \vrule \!!width \zeropoint \!!depth \dimen0 \!!height \zeropoint - \prewordbreak - \egroup} - -\def\dostopnummerenPAR % dp's -> openstrutdepth - {\endofshapebox - \checkreferences - \linestepper\zerocount - \reshapebox{\global\advance\linestepper \plusone}% - \global\advance\linenumber \linestepper - \doifelse\@@rnreferencing\v!on - {\reshapebox % We are going back! - {\global\advance\linenumber \minusone - \dimen0=\dp\shapebox - \advance\dimen0 -\strutdp\relax - \ifdim\dimen0>\zeropoint - % 1=>4 | 2=>4 1=>2 - % start 1=>(n=y,l=2,p=1) - % stop 2=>(n=y,l=4,p=2) - \dostepwiserecurse\plusone{\number\dimen0}\plusone - {\getlinereference\recurselevel - \setlinereference\recurselevel - {\linereferencename}{\the\linenumber}{\linereferenceplus}}% - \fi}% - \global\advance\linenumber \linestepper - \ifnum\linereference>\zerocount % anders vreemde loop in paragraphs+recurse - \dorecurse\linereference - {\getlinereference\recurselevel - \ifnum\linereferenceplus=2 % stop - % ref y: text = 4 / Kan dit buiten referentie mechanisme om? - \expanded{\setlocalcrossreference - {\referenceprefix\linereferencename}{}{}{\linereferenceline}}% - \fi}% - \dorecurse\linereference - {\getlinereference\recurselevel - \ifnum\linereferenceplus<2 % start / lone - \ifnum\linereferenceplus=1 % start - \getreferenceelements\linereferencename % text = 4 - \ifnum\linereferenceline<0\currenttextreference\relax % 0 prevents error - \edef\linereferenceline{\linereferenceline--\currenttextreference}% - \fi - \fi - \expanded{\setlocalcrossreference - {\referenceprefix\linereferencename}{}{}{\linereferenceline}}% - \fi}% - \global\let\scratchline\linenumber % We are going back! - \reshapebox - {\doglobal\decrement\scratchline - \hbox - {\dorecurse\linereference - {\getlinereference\recurselevel - \getreferenceelements\linereferencename - \beforesplitstring\currenttextreference--\at--\to\firstline - \ifnum\firstline=\scratchline\relax - % beter een rawtextreference, i.e. expanded - % \textreference[\linereferencename]{\currenttextreference}% - \rawtextreference\s!lin\linereferencename\currenttextreference - \expanded{\setlocalcrossreference - {\referenceprefix\linereferencename}{}{}{0}}% ==done - \fi}% - \dimen0\dp\shapebox - \advance\dimen0 -\strutdp\relax - \ifdim\dimen0>\zeropoint - \dp\shapebox\strutdp - \fi - \placelinenumber\box\shapebox}}% no \strut ! - \else - \reshapebox{\hbox{\placelinenumber\box\shapebox}}% no \strut ! - \fi} - {\reshapebox{\global\advance\linenumber \minusone}% - \global\advance\linenumber \linestepper - \reshapebox{\hbox{\placelinenumber\box\shapebox}}}% no \strut ! - \global\advance\linenumber \linestepper - \flushshapebox - \the\aftereverylinenumbering - \egroup} - -\def\emptylines - {\dosingleempty\doemptylines} - -\def\doemptylines[#1]% - {\endgraf\dorecurse{\iffirstargument#1\else3\fi}\crlf} - -\newcount\internalparagraphnumber - -\def\setupparagraphnumbering - {\dosingleempty\dosetupparagraphnumbering} - -\def\dosetupparagraphnumbering[#1]% - {\getparameters - [\??ph][#1]% - \processaction - [\@@phstate] - [\v!start=>\let\showparagraphnumber\doshowparagraphnumberA, - \v!stop=>\let\showparagraphnumber\relax, - \v!line=>\let\showparagraphnumber\doshowparagraphnumberB, - \v!reset=>\global\internalparagraphnumber\zerocount - \let\showparagraphnumber\doshowparagraphnumberA]} - -\def\dodoshowparagraphnumber - {\global\advance\internalparagraphnumber \plusone - \inleftmargin % \tf normalizes em - {\tf{\doattributes\??ph\c!style\c!color{\the\internalparagraphnumber}}% - \kern\@@phdistance}} - -\def\doshowparagraphnumberA - {\ifprocessingverbatim - \iflinepar\dodoshowparagraphnumber\fi - \else - \dodoshowparagraphnumber - \fi} - -\def\doshowparagraphnumberB - {\ifnumberinglines - \doshowparagraphnumberA - \fi} - -\setuplinenumbering - [\c!method=, - \c!conversion=\v!numbers, - \c!start=1, - \c!step=1, - \c!location=\v!margin, - \c!style=, - \c!color=, - \c!width=2em, - \c!prefix=, - \c!referencing=\v!on] - -% new - -\setuplinenumbering - [\c!width=\ifcase\linenumberlocation2em\else\v!margin\fi, - \c!left=, - \c!right=, - \c!command=, - \c!distance=\zeropoint, - \c!align=\ifcase\linenumberlocation\v!right\or\v!right\or\v!left\fi] - -\setupparagraphnumbering - [\c!state=\v!stop, - \c!style=, - \c!color=, - \c!distance=\ifcase\linenumberlocation2em\else\!!zeropoint\fi] - -\setuplines - [\c!before=\blank, - \c!after=\blank, - \c!inbetween=\blank, - \c!indenting=\v!no, - \c!space=\v!default] - -\protect \endinput |