[NTG-context] problem with goto - was: How to implement a changing
navigation bar?
Stefan Wachter
stefan.wachter at gmx.de
Thu Sep 23 11:57:25 CEST 2004
Hi Hans,
I implemented my changing navigation bar like you proposed, i.e. using a
layer that is "refreshed" by the footer text:
\definelayer[navbar]
\setupbackgrounds[text][leftmargin][background=navbar]
\startsetups NavBar
... some quite complicated code setting up the navigation bar layer ...
\stopsetups
\setupfootertexts[\setups{NavBar}]
Everything works now, but I was not able to use the \goto makro inside
the navigation layer setup code. It seems that the \goto makro somehow
interferes with the output routine. Therefore I had to replace the \goto
makro in the setup code with my self written \PrevOrNextPage makro. This
makro writes a "raw" pdftex link. (Sometime ago you hinted me to replace
my \PrevOrNextPage makro by the \goto makro.)
Using the \goto makro I get the following error message:
! Missing } inserted.
<inserted text>
}
<to be read again>
\endgroup
\dosingletexts ...atetexts {#1#2#5}{#6{}{}{}}}}}}}
\egroup
<argument> ...tk \v!voet \v!tekst \c!middentekst }
\hss }\hskip
-\zetbreedte ...
\dododoplacelayouttextline ...#2 #3}\hbox to #1{#4
}\stoplayoutcomponent
\get...
\dodoplacelayouttextline ... \c!kantlijntekst }}}}
\fi \ifdim
\rechtermargebr...
...
l.211 ...t\crlf{} Die Landesregierung\blank[small]
Can you please have a look on the example? I attach a file that when it
is texexecuted produces the above error. When you comment out line 150
in the file and use line 148 instead, then the example works fine.
Thanks,
--Stefan
Hans Hagen wrote:
> Stefan Wachter wrote:
>
>> Hi all,
>>
>> I use an overlay to implement a navigation bar in the left margin of a
>> document. It seems to me that the processing of the overlay is done
>> only once and not for every page again. In addition, the \lastpage is
>> not available.
>
>
> page, paper and text backgrounda are calculated each page, unless you
> say \setupbackgrounds[state=repeat], in which case all are recalculated;
> if you put something in a layer it happens directly (but the layer may
> be flushed later)
>
>> Does anyone know a solution? Maybe headers/footers are a solution. But
>> how is absolute positioning accomplished with them?
>>
> you can put a layer in the background of the header area and that do
> something:
>
> \startsetups whatever
>
> \setlayer[thatlayer][....positioning...]{\the\pageno}
>
> \stopsetups
>
> \setupheadertexts[\setups{whatever}]
>
>> PS: Here is my current implementation:
>>
>> \definelayer[navbar]
>> \setupbackgrounds[text][leftmargin][background=navbar]
>> \setlayer[navbar][x=0cm,y=10cm]{\the\pageno}
>
>
> lastpage etc only make sense in the output routine (during page
> building) since one does not know where tex will break the page.
> H
> -----------------------------------------------------------------
> Hans Hagen | PRAGMA ADE
> Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
> | www.pragma-pod.nl
> -----------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: inhalt.tex
Type: application/x-tex
Size: 28779 bytes
Desc: not available
Url : http://www.ntg.nl/pipermail/ntg-context/attachments/20040923/95036204/inhalt-0001.tex
More information about the ntg-context
mailing list