From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/6171 Path: main.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: (pdfe)TeX register clash? Date: Fri, 16 Nov 2001 09:41:38 +0100 Sender: owner-ntg-context@let.uu.nl Message-ID: <5.1.0.14.1.20011116093933.042c5ab0@server-1> References: <5.1.0.14.1.20011115092246.0403c490@server-1> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Trace: main.gmane.org 1035396715 8171 80.91.224.250 (23 Oct 2002 18:11:55 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 18:11:55 +0000 (UTC) Cc: ntg-context@ntg.nl Original-To: maley@idaccr.org In-Reply-To: <3BF466AB.43C7382B@idaccr.org> Xref: main.gmane.org gmane.comp.tex.context:6171 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:6171 At 08:07 PM 11/15/2001 -0500, F. Miller Maley wrote: >Hans Hagen wrote: > > Context offers \newcount and \newbox (although the implementation is > > adapted to etex's >256 register count; i don't use the original etex > macros). > > > > So, there must be something else going on. How does the macro that uses > the > > counter look? Maybe there is some unsafe testing going on there (lookahead > > problem). > >Thank you, this answers my question, and made me realize where my bug was. >Things are now working as expected, but perhaps there is a better solution >than the hack I came up with. My real question is this: > >Suppose I want to format something (a table, a section title) differently >depending on whether it appears on a left or right page. I promise that >the two formats (left/right) will behave the same with regard to page >breaking. What is the cleanest way to do this? > >My idea was to (1) use the cross-reference mechanism to make a self-reference, >(2) extract the page number from the reference into a counter and (3) test it >with \ifodd. Step (2) was a bit tricky, and my solution unfortunately relies >on ConTeXt internal macros (\doifreferencefoundelse, etc.). there are two ways to do this: \getpagestatus after which you can use \ifrightpage .... watch out, \getpagestatus inserts a node you can also try : \doifrightpageelse{...}{...}, but here you need to insert the \signalrightpage node yourself. These mechanisms may merge some day. Both adapt themselves to single/doublesides and use two pass data (which is more efficient than references) Concerning references: \doifreferencefoundelse{blabla} {.... \currentrealreference holds the pagenumber which you can test on odd} {...} Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com -------------------------------------------------------------------------