page-par.mkxl /size: 2276 b    last modification: 2021-10-28 13:51
1%D \module
2%D   [       file=page-par, % copied from page-lin
3%D        version=1997.03.31,
4%D          title=\CONTEXT\ Page Macros,
5%D       subtitle=Line Numbering,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14\writestatus{loading}{ConTeXt Page Macros / Paragraph Numbering}
15
16\unprotect
17
18\installcorenamespace {paragraphnumbering}
19\installcorenamespace {paragraphnumberingvariants}
20
21\installsimplecommandhandler \??paragraphnumbering {paragraphnumbering} \??paragraphnumbering
22
23\definecounter[\v!paragraph]
24
25\permanent\lettonothing\showparagraphnumber
26
27\appendtoks
28    \page_par_check_state
29\to \everysetupparagraphnumbering
30
31\protected\def\page_par_check_state
32  {\rawprocesscommacommand[\paragraphnumberingparameter\c!state]\page_par_check_state_step}
33
34\def\page_par_check_state_step#1%
35  {\ifcsname\??paragraphnumberingvariants#1\endcsname
36     \lastnamedcs
37   \fi}
38
39\defcsname\??paragraphnumberingvariants\v!start\endcsname
40  {\enforced\let\showparagraphnumber\page_par_show_number_normal}
41
42\defcsname\??paragraphnumberingvariants\v!stop\endcsname
43  {\enforced\lettonothing\showparagraphnumber}
44
45\defcsname\??paragraphnumberingvariants\v!line\endcsname
46  {\enforced\let\showparagraphnumber\page_par_show_number_lines}
47
48\defcsname\??paragraphnumberingvariants\v!reset\endcsname
49  {\strc_counters_reset\v!paragraph
50   \enforced\let\showparagraphnumber\page_par_show_number_normal}
51
52\permanent\protected\def\page_par_show_number_normal
53  {\strc_counters_increment\v!paragraph
54   \inleftmargin % todo: \c!location, only a few make sense
55     {\hfill % no complaints
56      \tf % \tf normalizes em
57      \useparagraphnumberingstyleandcolor\c!style\c!color
58      \convertedcounter[\v!paragraph]%
59      \kern\paragraphnumberingparameter\c!distance}}
60
61\permanent\protected\def\page_par_show_number_lines
62  {\ifnumberinglines
63     \page_par_show_number_normal
64   \fi}
65
66\setupparagraphnumbering
67  [\c!state=\v!stop,
68  %\c!location,
69  %\c!style=,
70  %\c!color=,
71   \c!distance=\ifcase\c_page_lines_location2\emwidth\else\zeropoint\fi] % will change
72
73\protect \endinput
74