[NTG-context] Newbie questions

Thomas Moore tmoore at pomona.edu
Wed Jun 28 20:36:39 CEST 2006

On Jun 25, 2006, at 9:54 AM, Hans Hagen wrote:

> Mojca Miklavec wrote:
>> ....Hoping that someone can fix at least one of the solutions  
>> above to
>> work as intended,
> ok, here is a trick: ....
> now, the left right page problem is up to you ... keep in mind that  
> we have
> \setupbackgrounds
>   [leftpage]
>   [...]
> \setupbackgrounds
>   [rightpage]
>   [...]
Thanks, Mojca, for your ideas! Special thanks to Hans, whose solution  
seemed efficient and worked like a charm (after I made one minor  
fix). I have attached to the end of this message code that works well  
on *either* right pages *or* left pages. Now I'd like to extend the  
code so that it would work on *both* kinds of pages. But my  
experimentation has raised the following questions:

1. When I change the \setupbackgrounds [page][background=thepage] in  
the code shown below to \setupbackgrounds [rightpage] 
[background=thepage], I expected that the left page would have no  
header and the right page would have the appropriate header. However,  
when I do this, I get two superimposed headers with different lengths  
on right pages (and nothing, as expected, on left pages). Why do I  
get *two* headers on the right page?

2. I also do not understand \startsetups command, which I could not  
find in the ConTexT manual or in the online summary of ConTexT  
commands. It looks like the purpose of this command is to put a  
wrapper around the \setlayerframed command so that it can be used in  
the \setupheadertexts command. Is this right?  Also:

    a.  I guess that I don't understand why the \setlayerframed  
command could not be used directly in the \setupheadertexts command:  
why do we need the wrapper?

    b.  And why this particular wrapping command? (\startfoo ...  
\stopfoo doesn't work.)

    c.  Also, I am assuming that the colon is simply part of the name  
assigned to this setup and has no other significance: is this right?

3. So, my guess (once problem 1 is fixed), is that I will define  
*two* layers (one for right pages and one for left pages), and do a  
\setupbackground [rightpage][background=therightpage] and a  
\setupbackground[leftpage][background=theleftpage]. But I don't know  
what to do inside the \startsetup ... \stopsetup. Do I have a pair of  
\setlayerframed statements? Do I surround this pair with something  
like an if onRightPage ... if onLeftPage statement? Or do I put the  
if-then statements *inside* the \setlayerframed statement?

Thanks for any help...


Code follows:


	header=0.5 in,

\leftmargindistance\relax,  % for left pages
   [hoffset=\the\dimexpr\backspace\relax,  % for right pages


\startsetups page:setup

%  [width=\dimexpr\textwidth+\leftmarginwidth+\leftmargindistance 
\relax,  % for left pages
\relax, % for right pages
% {\pagenumber\hfill\getmarking[chapter][first]}  % for left pages
   {\getmarking[chapter][first]\hfill\pagenumber}  % for right pages

This is a test of some math stuff. $0 = g_{\mu\nu}dx^\nu dx^\nu$.
\dorecurse{10}{\input knuth}


More information about the ntg-context mailing list