Headers and Footers
From ConTeXt wiki
< Structurals |
Contents |
[edit] Headers with centered content
ConTeXt offers the possibility to have mirrored headers (for odd and even pages); content can be in two parts, at the inner and outer margin of each page. But how do you get a header that will have one part of its content centered and one part in the outer margin? (This is a common setup for books: chapter title centered, page number in outer margin.) Hans posted this solution to the list:
\setuppagenumbering[alternative=doublesided] \setupheadertexts[] \setupheadertexts[\setups{text a}][][][\setups{text b}] \startsetups[text a] \rlap{\pagenumber} \hfill \getmarking[chapter] \hfill \llap{whatever} \stopsetups \startsetups[text b] \rlap{whatever} \hfill \getmarking[section] \hfill \llap{\pagenumber} \stopsetups
The use of the TeX macros rlap and llap allows centering of content.
[edit] Using capitals
In the previous example, the chapter title and the section title were fetched with the macro \getmarking which wraps around \fetchmark. However, in case you need a raw version of the mark, say for instance to put it uppercase, you may use this setup instead:
\startsetups[text a] \rlap{\pagenumber} \hfill \expanded{\uppercase{\fetchmark[chapter][first]}} \hfill \llap{whatever} \stopsetups \startsetups[text b] \rlap{whatever} \hfill \expanded{\uppercase{\fetchmark[section][first]}} \hfill \llap{\pagenumber} \stopsetups
You can replace \uppercase by \WORD and so on.
[edit] Marginal headings and centered headings
The following file gives a way to achieve marginal and centered headings for doublesided documents. Experiment to achieve other effects!
% output=pdf interface=en \setuppapersize [A5][A4] \newdimen\Margin \Margin=3cm \newdimen\MarginRaise \MarginRaise=56ex \setuplayout[width=middle, height=middle, footer=3\bodyfontsize, header=\bodyfontsize, headerdistance=\bodyfontsize, bottom=3\bodyfontsize, location={middle,doublesided}, margin=\Margin, marking=on] \setuppagenumbering[alternative=doublesided, location={footer,middle}] \setuptexttexts[margin][][\setups{text a}][\setups{text b}][] \setuptext[style=\tf,state=high] \startsetups[text a] \raise\MarginRaise\hbox{\vtop{\hsize=\Margin% \startalignment[right] \getmarking[chapter] \stopalignment }} \stopsetups \startsetups[text b] \raise\MarginRaise\hbox{\vtop{\hsize=\Margin% \startalignment[left] \getmarking[section] \stopalignment }} \stopsetups \setupbottomtexts[pagenumber] \setupbottom[style=\tf,state=high] \setupfootertexts% [][\setups{text c}][\setups{text d}][] \setupfooter[style=\tf, state=high] \startsetups[text c] \midaligned{\raise2\bodyfontsize\hbox{\getmarking[chapter]}} \stopsetups \startsetups[text d] \midaligned{\raise2\bodyfontsize\hbox{\getmarking[section]}} \stopsetups \setupinmargin[align=inner, style=\tfx\setupinterlinespace] \showframe \starttext \chapter{Chapter Knuth Testing} \section{Section Knuth Testing} \dorecurse{20}{\input knuth\par\ } \stoptext
[edit] Skipping headers or footers
You can suppress or bypass a header or footer on a chapter page like this, as Hans showed:
\setuphead[chapter][header=high,footer=none]
Also refer to this post about header and footer suppression: http://archive.contextgarden.net/message/20030329.100709.4c6212d5.en.html

