summaryrefslogtreecommitdiff
path: root/tex/context/base/page-par.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/page-par.mkiv')
-rw-r--r--tex/context/base/page-par.mkiv88
1 files changed, 39 insertions, 49 deletions
diff --git a/tex/context/base/page-par.mkiv b/tex/context/base/page-par.mkiv
index 588065d65..26e306ef5 100644
--- a/tex/context/base/page-par.mkiv
+++ b/tex/context/base/page-par.mkiv
@@ -15,59 +15,49 @@
\unprotect
-\installcorenamespace {paragraphnumbering}
-\installcorenamespace {paragraphnumberingvariants}
-
-\installsimplecommandhandler \??paragraphnumbering {paragraphnumbering} \??paragraphnumbering
-
-\definecounter[\v!paragraph]
-
-\let\showparagraphnumber\relax
-
-\appendtoks
- \page_par_check_state
-\to \everysetupparagraphnumbering
-
-\unexpanded\def\page_par_check_state
- {\rawprocesscommacommand[\paragraphnumberingparameter\c!state]\page_par_check_state_step}
-
-\def\page_par_check_state_step#1%
- {\ifcsname\??paragraphnumberingvariants#1\endcsname
- \csname\??paragraphnumberingvariants#1\endcsname
- \fi}
-
-\setvalue{\??paragraphnumberingvariants\v!start}%
- {\let\showparagraphnumber\page_par_show_number_normal}
-
-\setvalue{\??paragraphnumberingvariants\v!stop}%
- {\let\showparagraphnumber\relax}
-
-\setvalue{\??paragraphnumberingvariants\v!line}%
- {\let\showparagraphnumber\page_par_show_number_lines}
-
-\setvalue{\??paragraphnumberingvariants\v!reset}%
- {\strc_counters_reset\v!paragraph
- \let\showparagraphnumber\page_par_show_number_normal}
-
-\unexpanded\def\page_par_show_number_normal
- {\strc_counters_increment\v!paragraph
- \inleftmargin % todo: \c!location, only a few make sense
- {\hfill % no complaints
- \tf % \tf normalizes em
- \useparagraphnumberingstyleandcolor\c!style\c!color
- \convertedcounter[\v!paragraph]%
- \kern\paragraphnumberingparameter\c!distance}}
-
-\unexpanded\def\page_par_show_number_lines
+\newcount\internalparagraphnumber
+
+\unexpanded\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
+ \dousestyleparameter\@phstyle
+ \dousecolorparameter\@phcolor
+ \the\internalparagraphnumber
+ \kern\@@phdistance}}
+
+\def\doshowparagraphnumberA
+ {%\ifprocessingverbatim
+ % \iflinepar
+ % % obsolete: \dodoshowparagraphnumber
+ % \fi
+ %\else
+ \dodoshowparagraphnumber
+ }%\fi}
+
+\def\doshowparagraphnumberB
{\ifnumberinglines
- \page_par_show_number_normal
+ \doshowparagraphnumberA
\fi}
\setupparagraphnumbering
[\c!state=\v!stop,
- %\c!location,
- %\c!style=,
- %\c!color=,
- \c!distance=\ifcase\c_page_lines_location2\emwidth\else\zeropoint\fi] % will change
+ \c!style=,
+ \c!color=,
+ \c!distance=\ifcase\linenumberlocation2em\else\!!zeropoint\fi] % will change
\protect \endinput