special _______________________ headertexts
Hi! As usually chick got a problem which seems to have easy answer. Let's say I want to set header/footer text which has the following order: chaptername _____________________________ pagenumber I tried \setupheadertexts[\thinrule] \setupheadertexts[chapter][pagenumber][pagenumber][chapter] but that is not what I really need. Chaptername and pagenumber are underlined by thinrule and I want to separate thinrule and text with given glue/kern. I hardly try to avoid construction such as: \setupheadertexts[\ifodd\pageno\line{\chaptername \hrulefill \pagenumber}\else...\fi] where \chaptername is a previously defined reference to chapter title... Is there any other way to do that? I'm sure there is... Pawe/l
At 09:01 19/09/2003 +0200, you wrote:
Hi!
As usually chick got a problem which seems to have easy answer.
Let's say I want to set header/footer text which has the following order:
chaptername _____________________________ pagenumber
I tried
\setupheadertexts[\thinrule] \setupheadertexts[chapter][pagenumber][pagenumber][chapter]
but that is not what I really need. Chaptername and pagenumber are underlined by thinrule and I want to separate thinrule and text with given glue/kern. I hardly try to avoid construction such as:
\setupheadertexts[\ifodd\pageno\line{\chaptername \hrulefill \pagenumber}\else...\fi]
where \chaptername is a previously defined reference to chapter title... Is there any other way to do that? I'm sure there is...
simple way: \setupheadertexts[\hbox to \hsize{\getmarking[chapter]\hrulefill\pagenumber}] clever way: \startsetups[left header] \hbox to \hsize \bgroup \getmarking[chapter] \quad \hrulefill \quad \pagenumber \egroup \stopsetups \startsetups[right header] \hbox to \hsize \bgroup \pagenumber \quad \hrulefill \quad \getmarking[chapter] \egroup \stopsetups \setuppagenumbering [alternative=doublesided] \setupheadertexts [] \setupheadertexts [\setups{left header}] [] [] [\setups{right header}] % prettier way \startsetups[left header] \hbox to \hsize \bgroup \doiftext{\quad \getmarking[chapter]} \hrulefill \quad \pagenumber \egroup \stopsetups \startsetups[right header] \hbox to \hsize \bgroup \pagenumber \hrulefill \quad \doiftext{\quad \getmarking[chapter]} \egroup \stopsetups \starttext \chapter{test} \input ward \chapter{test} \input ward \chapter{test} \input ward \stoptext ------------------------------------------------------------------------- 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 ------------------------------------------------------------------------- information: http://www.pragma-ade.com/roadmap.pdf documentation: http://www.pragma-ade.com/showcase.pdf -------------------------------------------------------------------------
simple way:
\setupheadertexts[\hbox to \hsize{\getmarking[chapter]\hrulefill\pagenumber}]
Of course simple way works ok. Below I described why \getmarking may couse suprises.
clever way:
\startsetups[left header]
\hbox to \hsize \bgroup \getmarking[chapter] \quad \hrulefill \quad \pagenumber \egroup
\stopsetups
\startsetups[right header]
\hbox to \hsize \bgroup \pagenumber \quad \hrulefill \quad \getmarking[chapter] \egroup
\stopsetups
\setuppagenumbering [alternative=doublesided] \setupheadertexts [] \setupheadertexts [\setups{left header}] [] [] [\setups{right header}] ...
Suprisingly clever way has no results -- headers are just EMPTYon every page / every chapter. The same with prettier way (with \doiftext clausule). Probably there is my mistake, I will come back to it. While studying this codes I've come across two not obvious things. Let's look at this (silly) document \setupheadertexts[] \setupheadertexts[chapter][section] \starttext \chapter{Chapter One} Short introduction of \getmarking[chapter] \section{Section in first chapter} Body of \getmarking[section] \chapter{Chapter Two} \dorecurse{50}{Quite long introduction of \getmarking[chapter], which needs at least one page. } \section{Section in second one} Body of {\bf\getmarking[section]} \stoptext The first is that \getmarking[whatever] used in bodytex and in header expand to something different. I can imagine that user has \in, \at, \about etc. instead, so that is not a real problem. It puzzles me, however! Another thing is that the header of the second page (begining of the SECOND chapter) of this document contains a section mark of the FIRST, already ended chapter. The same problem appear with plain \mark primitive which is global. That is why I had to use additional commands to reset marks. Is there any reasons for that that new part of document (chapter, section) desn't reset marks of lower level parts? ... I've just noticed that the ConTeXt I use is a bit archaic. I will try to do some upgrade and come back to the problem with fresh soft and mind. Regards, Pawe/l
participants (2)
-
Hans Hagen
-
Pawel Jackowski na Onet