diff options
author | Marius <mariausol@gmail.com> | 2012-06-13 11:20:14 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-06-13 11:20:14 +0300 |
commit | ce5e3838a9f6f947562e79bca07d1fb758caab29 (patch) | |
tree | 059abcaba271c57227e81e3fe0b008da17882810 /tex/context/base/page-par.mkiv | |
parent | c064009980372b0f3113ed4133b9ed0e8418861c (diff) | |
download | context-ce5e3838a9f6f947562e79bca07d1fb758caab29.tar.gz |
beta 2012.06.13 09:57
Diffstat (limited to 'tex/context/base/page-par.mkiv')
-rw-r--r-- | tex/context/base/page-par.mkiv | 88 |
1 files changed, 49 insertions, 39 deletions
diff --git a/tex/context/base/page-par.mkiv b/tex/context/base/page-par.mkiv index 26e306ef5..868cdec51 100644 --- a/tex/context/base/page-par.mkiv +++ b/tex/context/base/page-par.mkiv @@ -15,49 +15,59 @@ \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 +\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 {\ifnumberinglines - \doshowparagraphnumberA + \page_par_show_number_normal \fi} \setupparagraphnumbering [\c!state=\v!stop, - \c!style=, - \c!color=, - \c!distance=\ifcase\linenumberlocation2em\else\!!zeropoint\fi] % will change + %\c!location, + %\c!style=, + %\c!color=, + \c!distance=\ifcase\linenumberlocation2\emwidth\else\zeropoint\fi] % will change \protect \endinput |