[NTG-context] how to put page X of N in header or top space?

Alan Braslau braslau.list at comcast.net
Tue Aug 14 23:40:56 CEST 2018

On Tue, 14 Aug 2018 14:19:25 -0700
David Walther <david at clearbrookdistillery.com> wrote:

> On Tue, Aug 14, 2018 at 02:58:58PM -0600, Alan Braslau wrote:
> >On Tue, 14 Aug 2018 13:44:43 -0700
> >David Walther <david at clearbrookdistillery.com> wrote:
> >  
> >> I did page Page X of N, but in the output, it displays like
> >> Page 2of 3, Page 1of 3, etc.  It ignores the space between the number and the word of.  
> >
> >You must have forgotten the trailing "\ " of "\userpagenumber\ ".  
> Thank you Alan.  That worked.  I didn't forget it; I never knew it.  I'm
> starting to run into the area where the Wiki isn't enough, but I don't know
> enough TeX to read the Context source for the macros.  What is recommended to
> get up to speed on Context?  Should I go back and re-read Knuth's book on TeX
> then try reading ConTeXt source?  Last time I read it was 20 years ago, and
> only got half way through; that was enough for my needs back then.  I guess a
> week or two reading everything on this page would help too:
>   http://www.luatex.org/documentation.html
> Now just need an answer for the blank page issue and I can start shipping these
> spreadsheets to clients.

TeX commands such as \userpagenumber "gobble" a trailing blank space, delimiting the end of the token name ("userpagenumber"). It can also be terminated by any non-token-name character or another token. So we generally write \userpagenumber\ . One could also write {\userpagenumber}, i.e. enclosing the TeX command within delimiters, and it is a question of taste what coding is more readable. \userpagenumber{} is also valid, yet I find this even less readable.

You can learn much from emulation, paying attention to details, as Wolfgang had written

   [] [Page \userpagenumber\ of \lastuserpagenumber]
   [Page \userpagenumber\ of \lastuserpagenumber] []

One tricky point that might not be obvious, \setupheadertexts can take a varying number of arguments enclosed in []. The form above (4 groups of []), sets the left/right headertexts for even/odd pages. Whereas the single group instance

\setupheadertexts [My Spreadsheet]

sets the center text. Having three or five group versions gets unwieldy or ambiguous (the two group version sets left/right for singlesided layout), so having to make two "calls" to \setupheadertexts as above is cleaner, although was confusing to me at first.


More information about the ntg-context mailing list