[NTG-context] two additional pagenumber series

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Wed Apr 29 15:32:01 CEST 2020


Pablo Rodriguez schrieb am 29.04.2020 um 14:00:
> Dear list,
> 
> for one of the documents I share with others, I need to add five
> pagenumber series.
> 
> I’m already using realpage, userpage and subpage. I have just tried to
> use \definecounter, but it doesn’t work.
> 
>      \setuppapersize[A9]
>      \definecounter[ncounter]
>          [way=bychapter]
>      \starttext
>      \rawcountervalue[ncounter]\page
>      \incrementcounter[ncounter][1]
>      \page
>      \lastcountervalue[ncounter]
>      \chapter{}
>      \lastcountervalue[ncounter]
>      \stoptext
> 
> I don’t know how to link any page increment to the defined counter.
> Although method is page, this seems to be related to a different issue.
> 
> My question is: how could I get new pagenumber series using \definecounter?


While I think there are better solutions to your problem (e.g. adding 
the section number as prefix) you can increment a counter with each page.

The hard part is to find a hook for this because AFAIK there is no 
simple key to do this (e.g. \setuppaper[setups=...]). What you have to 
do in this case is to append the counter settings to a token register 
which is called when ConTeXt has finished a page.

\definecounter [section:chapter] [way=bychapter]
\definecounter [section:section] [way=bysection]

\appendtoks
   \incrementcounter[section:chapter]%
   \incrementcounter[section:section]%
\to \everybeforepagebody

\startsetups[header:pagenumber]
   \starttabulate[|l|rw(1em)|]
   \NC Pagenumber \EQ \pagenumber                       \NC\NR
   \NC Chapter    \EQ \rawcountervalue[section:chapter] \NC\NR
   \NC Section    \EQ \rawcountervalue[section:section] \NC\NR
   \stoptabulate
\stopsetups

\setupheadertexts[\directsetup{header:pagenumber}]

\starttext

%\dorecurse{10}{\samplefile{lorem}}

\dorecurse{5}
   {\chapter{Chapter \convertnumber{word}{#1}}
    \dorecurse{5}
      {\section{Section \convertnumber{word}{##1}}
       \dorecurse{\numexpr#1+##1\relax}{\samplefile{lorem}}}}

\stoptext

Wolfgang


More information about the ntg-context mailing list