summaryrefslogtreecommitdiff
path: root/tex/context/base/page-par.mkiv
blob: 26e306ef50f02b149175db4f856f3e7f7957a234 (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
59
60
61
62
63
%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

\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
     \doshowparagraphnumberA
   \fi}

\setupparagraphnumbering
  [\c!state=\v!stop,
   \c!style=,
   \c!color=,
   \c!distance=\ifcase\linenumberlocation2em\else\!!zeropoint\fi] % will change

\protect \endinput