blob: 9b5e0b6ebfa878bb71a9331a7f814cddd9859879 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
%D \module
%D [ file=page-par, % copied from page-lin
%D version=1997.03.31,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Line Numbering,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%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 Page Macros / Paragraph Numbering}
\unprotect
\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}
\setupparagraphnumbering
[\c!state=\v!stop,
\c!style=,
\c!color=,
\c!distance=\ifcase\linenumberlocation2em\else\!!zeropoint\fi] % will change
\protect \endinput
|