summaryrefslogtreecommitdiff
path: root/tex/context/base/page-lin.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-lin.tex')
-rw-r--r--tex/context/base/page-lin.tex274
1 files changed, 151 insertions, 123 deletions
diff --git a/tex/context/base/page-lin.tex b/tex/context/base/page-lin.tex
index 10f875fc0..1d69d18e1 100644
--- a/tex/context/base/page-lin.tex
+++ b/tex/context/base/page-lin.tex
@@ -15,39 +15,35 @@
\unprotect
-\newif\ifnumberinglines
-\newif\iftypesettinglines
-
-\newcount\linenumber
-\newcount\linestepper
+\newif\ifinregels % \newif\ifregelnummersinmarge
\chardef\linenumberlocation=0
\newtoks\beforeeverylinenumbering
\newtoks\aftereverylinenumbering
-\def\setuplines
+\def\stelregelsin
{\dodoubleargument\getparameters[\??rg]}
-\def\startlines
- {\@@rgbefore
- \whitespace
- %\page[\v!preference]} gaat mis na koppen, nieuw: later \nobreak
+\def\startregels
+ {\@@rgvoor
+ \witruimte
+ %\pagina[\v!voorkeur]} gaat mis na koppen, nieuw: later \nobreak
\begingroup
\def\@@rgstepyes{\parindent\zeropoint}%
\def\@@rgstepno {\parindent\zeropoint}%
\edef\@@rgparindent{\the\parindent}%
\globallet\@@rglinesteptoggle\!!plusone
\processaction
- [\@@rgindenting]
- [ \v!yes=>\def\@@rgstepyes{\parindent\@@rgparindent}%
+ [\@@rginspringen]
+ [ \v!ja=>\def\@@rgstepyes{\parindent\@@rgparindent}%
\def\@@rgstepno {\parindent\@@rgparindent},
- \v!odd=>\def\@@rgstepyes{\parindent\zeropoint }%
+ \v!oneven=>\def\@@rgstepyes{\parindent\zeropoint }%
\def\@@rgstepno {\parindent\@@rgparindent},
\v!even=>\def\@@rgstepno {\parindent\zeropoint }%
\def\@@rgstepyes{\parindent\@@rgparindent}]%
- \typesettinglinestrue
- \setupwhitespace[\v!none]%
+ \inregelstrue
+ \setupwhitespace[\v!geen]%
\obeylines
\let\checkindentation\relax
\@@rgstepno
@@ -81,37 +77,41 @@
% \fi} % etex
\def\dobetweenthelines
- {\doifmeaningelse\next\obeyedline\@@rginbetween\donothing}
+ {\doifmeaningelse\next\obeyedline\@@rgtussen\donothing}
-\def\stoplines
+\def\stopregels
{\endgroup
- \@@rgafter}
+ \@@rgna}
+
+\newcount\linenumber
+\newcount\linestepper
+\newif\ifinregelnummeren
% het gebruik van \setlocalreference scheelt een hash entry
\def\dodoshowlinenumber % for use elsewhere, to be extended
- {\doplacelinenumber
+ {\doschrijfregelnummer
\global\advance\linenumber \plusone}
-\def\completelinenumber
- {\@@rnleft\convertnumber\@@rnconversion\linenumber\@@rnright}
+\def\regelweergave
+ {\@@rnlinks\convertnumber\@@rnconversie\linenumber\@@rnrechts}
-\def\dosetuplinenumbering[#1]%
- {\getparameters[\??rn][\c!start=1,\c!step=1,#1]%
+\def\dostelregelnummerenin[#1]%
+ {\getparameters[\??rn][\c!start=1,\c!stap=1,#1]%
\global\linenumber\plusone}
-\def\setuplinenumbering
- {\dosingleargument\dosetuplinenumbering}
+\def\stelregelnummerenin
+ {\dosingleargument\dostelregelnummerenin}
\def\dostartnummerenLINE
- {\EveryPar{placelinenumber}}
+ {\EveryPar{\schrijfregelnummer}}
\def\dostopnummerenLINE
{\the\aftereverylinenumbering
\egroup}
\def\dostartnummerenVERB
- {\EveryLine{\placelinenumber}}
+ {\EveryLine{\schrijfregelnummer}}
\def\dostopnummerenVERB
{\the\aftereverylinenumbering
@@ -119,31 +119,31 @@
\newevery \everylinenumber \relax
-\def\dodoplacelinenumber
+\def\dodoschrijfregelnummer
{% beware of em's, the font is already switched !
\setbox\scratchbox\hbox
- {\setbox0\hbox{\@@rncommand{\completelinenumber}}\vsmashbox0%
+ {\setbox0\hbox{\@@rncommando{\regelweergave}}\vsmashbox0%
\ifcase\linenumberlocation
- \rlap{\hbox to \@@rnwidth{\box0\hss}}% was \llap, nog testen !!
+ \rlap{\hbox to \@@rnbreedte{\box0\hss}}% was \llap, nog testen !!
\or
\inleftmargin
{\forgetall
- \doifelse\@@rnwidth\v!margin
- {\hsize\leftmarginwidth}{\hsize\@@rnwidth}%
- \alignedline\@@rnalign\v!right{\box0\hskip\@@rndistance}}%
+ \doifelse\@@rnbreedte\v!marge
+ {\hsize\linkermargebreedte}{\hsize\@@rnbreedte}%
+ \alignedline\@@rnuitlijnen\v!rechts{\box0\hskip\@@rnafstand}}%
\else
\inrightmargin
{\forgetall
- \doifelse\@@rnwidth\v!margin
- {\hsize\rightmarginwidth}{\hsize\@@rnwidth}%
- \alignedline\@@rnalign\v!left{\hskip\@@rndistance\box0}}%
+ \doifelse\@@rnbreedte\v!marge
+ {\hsize\rechtermargebreedte}{\hsize\@@rnbreedte}%
+ \alignedline\@@rnuitlijnen\v!links{\hskip\@@rnafstand\box0}}%
\fi}%
\vsmashbox\scratchbox
\box\scratchbox
\the\everylinenumber}
-\def\complexstartlinenumbering[#1]%
- {\doifnot{#1}\v!continue
+\def\complexstartregelnummeren[#1]%
+ {\doifnot{#1}\v!verder
{\doifnumberelse{#1}
{\global\linenumber#1\relax}
{\doifelsenothing\@@rnstart
@@ -151,85 +151,97 @@
{\global\linenumber\@@rnstart}}}%
\chardef\linenumberlocation\zerocount
\processaction
- [\@@rnlocation]
- [ \v!inmargin=>\chardef\linenumberlocation1,
- \v!inleft=>\chardef\linenumberlocation1,
- \v!inright=>\chardef\linenumberlocation2,
- \v!margin=>\chardef\linenumberlocation1]%
- % \v!text=>\chardef\linenumberlocation0,
+ [\@@rnplaats]
+ [ \v!inmarge=>\chardef\linenumberlocation1,
+ \v!inlinker=>\chardef\linenumberlocation1,
+ \v!inrechter=>\chardef\linenumberlocation2,
+ \v!marge=>\chardef\linenumberlocation1]%
+ % \v!tekst=>\chardef\linenumberlocation0,
%\s!unknown=>\chardef\linenumberlocation0,
%\s!default=>\chardef\linenumberlocation0]%
\ifcase\linenumberlocation % text
- \advance\leftskip \@@rnwidth\relax
+ \advance\leftskip \@@rnbreedte\relax
\fi
\chardef\@@rn@@rnmethod
- \ifprocessingverbatim0\else\iftypesettinglines1\else2\fi\fi
+ \ifprocessingverbatim0\else\ifinregels1\else2\fi\fi
\processaction
- [\@@rnmethod]
+ [\@@rnmethode]
[ \v!type=>\chardef\@@rn@@rnmethod0,
- \v!line=>\chardef\@@rn@@rnmethod1,
- \v!text=>\chardef\@@rn@@rnmethod2,
+ \v!regel=>\chardef\@@rn@@rnmethod1,
+ \v!tekst=>\chardef\@@rn@@rnmethod2,
\v!file=>\chardef\@@rn@@rnmethod3]%
\ifcase\@@rn@@rnmethod % verbatim, line by line
- \typesettinglinestrue
+ \inregelstrue
\let\dostartnummeren\dostartnummerenVERB
- \let\stoplinenumbering\dostopnummerenVERB
- \def\placelinenumber
- {\doplacelinenumber
+ \let\stopregelnummeren\dostopnummerenVERB
+ \def\schrijfregelnummer
+ {\doschrijfregelnummer
\global\advance\linenumber \plusone}%
\or % text, line by line
\let\dostartnummeren\dostartnummerenLINE
- \let\stoplinenumbering\dostopnummerenLINE
- \def\placelinenumber
- {\doplacelinenumber
+ \let\stopregelnummeren\dostopnummerenLINE
+ \def\schrijfregelnummer
+ {\doschrijfregelnummer
\global\advance\linenumber \plusone}%
\or % text, whole lot
\let\dostartnummeren\dostartnummerenPAR
- \let\stoplinenumbering\dostopnummerenPAR
- \def\placelinenumber
+ \let\stopregelnummeren\dostopnummerenPAR
+ \def\schrijfregelnummer
{\global\advance\linenumber \minusone
- \doplacelinenumber}%
+ \doschrijfregelnummer}%
\or % verbatim, selective line by line
- \typesettinglinestrue
+ \inregelstrue
\let\dostartnummeren\dostartnummerenVERB
- \let\stoplinenumbering\dostopnummerenVERB
- \def\placelinenumber
+ \let\stopregelnummeren\dostopnummerenVERB
+ \def\schrijfregelnummer
{\global\linenumber\verbatimlinenumber
- \doplacelinenumber}%
+ \doschrijfregelnummer}%
\fi
\dostartnummeren}
-\def\startlinenumbering
+\def\startregelnummeren
{\bgroup
\the\beforeeverylinenumbering
- \numberinglinestrue
- \complexorsimpleempty\startlinenumbering}
+ \inregelnummerentrue
+ \complexorsimpleempty\startregelnummeren}
-\def\doplacelinenumber
+\def\doschrijfregelnummer
{\ifnum\linenumber<\@@rnstart\relax
\else
\!!counta\linenumber
- \divide\!!counta \@@rnstep
- \multiply\!!counta \@@rnstep\relax
+ \divide\!!counta \@@rnstap
+ \multiply\!!counta \@@rnstap\relax
\ifnum\!!counta=\linenumber
- \doattributes\??rn\c!style\c!color\dodoplacelinenumber
+ \doattributes\??rn\c!letter\c!kleur\dodoschrijfregelnummer
\fi
\fi}
-\def\someline[#1]%
- {\dolinereference0[#1]\ignorespaces}
+\def\eenregel[#1]%
+ {\regelreferentie0[#1]\ignorespaces}
+
+\def\startregel[#1]%
+ {\regelreferentie1[#1]\ignorespaces}
-\def\startline[#1]%
- {\dolinereference1[#1]\ignorespaces}
+\def\stopregel[#1]%
+ {\removelastspace\regelreferentie2[#1]}
-\def\stopline[#1]%
- {\removelastspace\dolinereference2[#1]}
+% \def\inregellabel#1%
+% {\doifinstringelse{--}{#1}
+% {\labeltext{\v!regels}}
+% {\labeltext{\v!regel}}}
+%
+% \def\inregel#1[#2]%
+% {\doifelsenothing{#1}
+% {\in{\inregellabel{\currenttextreference}}[\@@rnprefix#2]}
+% {\in{#1}[\@@rnprefix#2]}}
+%
+% double labels:
-\def\inline#1[#2]%
+\def\inregel#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{\leftlabeltext\v!regels}{\rightlabeltext\v!regels}[\@@rnprefix#2]}
+ {\in{\leftlabeltext\v!regel }{\rightlabeltext\v!regel }[\@@rnprefix#2]}}
{\in{#1}[\@@rnprefix#2]}}
\def\dostartnummerenPAR
@@ -255,10 +267,26 @@
% 4 yyy yyy yyy yyy yyy xxx xxx <= stop y
% 5 xxx xxx xxx xxx xxx xxx xxx
-\def\dolinereference#1[#2]%
+%\def\regelreferentie#1[#2]%
+% {\bgroup
+% \dimen0\strutdp
+% \doif{\@@rnrefereren}{\v!aan}
+% {\doglobal\increment\linereference
+% % start 1=>(n=y,l=0,p=1)
+% % stop 2=>(n=y,l=0,p=2)
+% \setxvalue{lrf:n:\linereference}{\@@rnprefix#2}%
+% \setxvalue{lrf:l:\linereference}{0}%
+% \setxvalue{lrf:p:\linereference}{#1}%
+% \advance\dimen0 by \linereference sp}%
+% \prewordbreak
+% \vrule \!!width \!!zeropoint \!!depth \dimen0 \!!height \!!zeropoint
+% \prewordbreak
+% \egroup}
+
+\def\regelreferentie#1[#2]%
{\bgroup
\dimen0=\strutdp
- \doif\@@rnreferencing\v!on
+ \doif\@@rnrefereren\v!aan
{\doglobal\increment\linereference
% start 1=>(n=y,l=0,p=1)
% stop 2=>(n=y,l=0,p=2)
@@ -275,7 +303,7 @@
\linestepper\zerocount
\reshapebox{\global\advance\linestepper \plusone}%
\global\advance\linenumber \linestepper
- \doifelse\@@rnreferencing\v!on
+ \doifelse\@@rnrefereren\v!aan
{\reshapebox % We are going back!
{\global\advance\linenumber \minusone
\dimen0=\dp\shapebox
@@ -330,13 +358,13 @@
\ifdim\dimen0>\zeropoint
\dp\shapebox\strutdp
\fi
- \placelinenumber\box\shapebox}}% no \strut !
+ \schrijfregelnummer\box\shapebox}}% no \strut !
\else
- \reshapebox{\hbox{\placelinenumber\box\shapebox}}% no \strut !
+ \reshapebox{\hbox{\schrijfregelnummer\box\shapebox}}% no \strut !
\fi}
{\reshapebox{\global\advance\linenumber \minusone}%
\global\advance\linenumber \linestepper
- \reshapebox{\hbox{\placelinenumber\box\shapebox}}}% no \strut !
+ \reshapebox{\hbox{\schrijfregelnummer\box\shapebox}}}% no \strut !
\global\advance\linenumber \linestepper
\flushshapebox
\the\aftereverylinenumbering
@@ -350,25 +378,25 @@
\newcount\internalparagraphnumber
-\def\setupparagraphnumbering%
- {\dosingleempty\dosetupparagraphnumbering}
+\def\stelparagraafnummerenin%
+ {\dosingleempty\dostelparagraafnummerenin}
-\def\dosetupparagraphnumbering[#1]%
+\def\dostelparagraafnummerenin[#1]%
{\getparameters
[\??ph][#1]%
\processaction
- [\@@phstate]
+ [\@@phstatus]
[\v!start=>\let\showparagraphnumber\doshowparagraphnumberA,
\v!stop=>\let\showparagraphnumber\relax,
- \v!line=>\let\showparagraphnumber\doshowparagraphnumberB,
+ \v!regel=>\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}}
+ {\tf{\doattributes\??ph\c!letter\c!kleur{\the\internalparagraphnumber}}%
+ \kern\@@phafstand}}
\def\doshowparagraphnumberA
{\ifprocessingverbatim
@@ -378,42 +406,42 @@
\fi}
\def\doshowparagraphnumberB
- {\ifnumberinglines
+ {\ifinregelnummeren
\doshowparagraphnumberA
\fi}
-\setuplinenumbering
- [\c!method=,
- \c!conversion=\v!numbers,
+\stelregelnummerenin
+ [\c!methode=,
+ \c!conversie=\v!cijfers,
\c!start=1,
- \c!step=1,
- \c!location=\v!margin,
- \c!style=,
- \c!color=,
- \c!width=2em,
+ \c!stap=1,
+ \c!plaats=\v!marge,
+ \c!letter=,
+ \c!kleur=,
+ \c!breedte=2em,
\c!prefix=,
- \c!referencing=\v!on]
+ \c!refereren=\v!aan]
% 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]
-
-\protect \endinput
+\stelregelnummerenin
+ [\c!breedte=\ifcase\linenumberlocation2em\else\v!marge\fi,
+ \c!links=,
+ \c!rechts=,
+ \c!commando=,
+ \c!afstand=\zeropoint,
+ \c!uitlijnen=\ifcase\linenumberlocation\v!rechts\or\v!rechts\or\v!links\fi]
+
+\stelparagraafnummerenin
+ [\c!status=\v!stop,
+ \c!letter=,
+ \c!kleur=,
+ \c!afstand=\ifcase\linenumberlocation2em\else\!!zeropoint\fi]
+
+\stelregelsin
+ [\c!voor=\blanko,
+ \c!na=\blanko,
+ \c!tussen=\blanko,
+ \c!inspringen=\v!nee]
+
+\protect \endinput \ No newline at end of file