Hans Hagen wrote
Patrick Gundlach wrote:
Guy Worthington wrote:
You've a good success rate -- first time you haven't read my mind.
perhaps I anticipated that the problem would give me a headache.
:-)
[pithy summary of my problem; consults crystal ball and exclaims]
But there is probably a) a switch already in ConTeXt, that I haven't seen or b) Hans has just needed such code, so it is already in the pre-beta ...
[Hans Hagen posts a simple interface, that's hiding complex code.]
Thanks Hans the interface is clean and easy to use. Here is my environment file (Please, if anyone finds my posting of my full environment annoying, please say so, and I'll refrain from doing it.) ------------------------- %% environment file \startenvironment EnvironmentISOLayout %%----- % Bugs and enhancements in ConTeXt \unprotect \def\preparethenumber#1#2#3% {\??id#1} \number \result {\doifelsevaluenothing{#1\c!scheider} {\let\numberseparator\empty \let#3#2} {\edef\numberseparator{\getvalue{#1\c!scheider}}% \edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex % more tolerancy needed \def\dohandelpaginaafB#1% {\doifvaluesomething{\??ko#1\c!pagina} {\def\resetcurrentsectionmarks% toegevoegd, zie \pagina {\resetsectionmarks{\previoussection\@@sectie}}% \pagina[\getvalue{\??ko#1\c!pagina}]% \dohandelpaginaafBB{#1}\v!hoofd\c!hoofd \dohandelpaginaafBB{#1}\v!tekst\c!tekst \dohandelpaginaafBB{#1}\v!voet \c!voet}} % we install a few page handler keys \installpagebreakhandler \v!hoofd {\doifnotvalue{\??tk\v!hoofd\c!status}\v!stop {\setupheader[\c!status=\v!leeg]}} \installpagebreakhandler \v!voet {\doifnotvalue{\??tk\v!voet\c!status}\v!stop {\setupfooter[\c!status=\v!leeg]}} \protect %%----- \autoloadmapfilestrue %% pagelayout lucida-brightISOLayout (double page) \usetypescript [serif] [hanging] [thanh] \setupencoding [default=texnansi] \setupbodyfont [cmr,14.4pt] \setupalign [hanging] \def\GoldenRatio{1.61803} \setbox0\hbox{\dorecurse{26}{\character\recurselevel}} \setuplayout [width=2.5\wd0, header=\lineheight, footer=\lineheight, height=\GoldenRatio\makeupwidth, headerdistance=\dimexpr( (\makeupheight - 35\lineheight - \headerheight - \footerheight) /2), footerdistance=\headerdistance, backspace=\dimexpr(\makeupwidth/7), topspace=\dimexpr(\makeupwidth/7)] %% global stuff \setupcolors[state=start] \setuppagenumbering[alternative=doublesided, % option=doublesided, location={header,marginedge}] %% chapter head layout \setuplist [section] [style=boldslanted, align=right, interaction=all, symbol=1, width=1em, pagenumber=no, before=, after=] \definepagebreak % now we can define a new page break: [chapter] [yes,header,right] \definetext[chapter][footer][pagenumber] % page on which chapters begin \setuphead [chapter] [page=chapter, header=empty, % suppress header at start of chapter footer=chapter, % footer at start of chapter numberstyle=ChapterTitleNumberFont, textstyle=ChapterTitleTextFont alternative=command, command=\ContentsHead, prefix=+, after={\blank[2*big]}] \definefont [ChapterTitleTextFont][Serif at 24.9pt] \definefont [ChapterTitleNumberFont][SerifBold at 40pt] \def\ContentsHead#1#2% {\setupframed [frame=off]% \framed [width=\hsize,offset=overlay] {\placesidebyside {\doifmodeelse{*sectionnumber} {\framed [width=.6\hsize,offset=1em,strut=no,align=right, background=screen] {\vi In this chapter: \blank \placelist [section][criterium=chapter]}} {\framed [width=.6\hsize]{}}} % dummy {\framed [width=.4\hsize,strut=no,align=left] %% Typeset Chapter Number {\hbox{\vbox to 24.9pt{% height ChapterTitleTextFont \vss #1}}} \vfilll} }% %% Typeset Chapter Title \llap{\lower24.9pt\hbox{#2\hskip0.5em}}} %% sectionblocks (headers and footers) \setupheader [text] [style=\sc, before={\inframed[width=\makeupwidth, frame=off, bottomframe=on]\bgroup}, after=\egroup] \startsectionblockenvironment[frontpart] \setupheadertexts [{\getmarking[chapter][first]}] [] % an optional second arg let you specify what specific mark you want [] % \getmarking[section][first last previous both all] [{\getmarking[chapter][first]}] \setuppagenumbering [conversion=romannumerals] \stopsectionblockenvironment \startsectionblockenvironment[bodypart] \setupheadertexts [Chapter {\getmarking[chapternumber][first]}. {\getmarking[chapter][first]}] [] [] [{\getmarking[section][first]}] \setuppagenumber [number=1] \stopsectionblockenvironment \setuphead [section] [number=no, style=\tfa] \setuphead [subsection] [style=bold] \setuphead [subsubsection] [style=italic] %% paragraph layout \setupwhitespace [medium] \setupindenting [medium] %% pretty printing \definetype [typeXML] [option=XML,palet=graypretty,style=\ix] \definetype [typeJV] [option=JV,palet=graypretty,style=\ix] \setuptyping [XML] [palet=graypretty,style=\ix] \setuptyping [typing] [palet=graypretty, style=\ix] %% urls \setupurl [style=smalltype] \definesymbol[MySep][--] \defineenumeration [example] [location=serried, text=Example, before=\blank, after=\blank, way=bychapter, style=italic, separator={\symbol[MySep]}] \setupcaptions [style=italic, separator={\symbol[MySep]}, align=right] % visual debuggers % \showframe % \version[temporary] \stopenvironment %%% Local Variables: %%% mode:context %%% End: ------------------------- and a driver: ------------------------- \environment EnvironmentISOLayout \starttext \startbodymatter \chapter {test} \section {test} \dorecurse{10}{\input tufte } \section {test} \dorecurse{12}{\input tufte } \chapter {test} \section {test} \dorecurse{10}{\input tufte } \stopbodymatter \stoptext ------------------------- PS. Sorry for taking so long to reply, my computer was hit by lightning and it's taken a while to reload my system from backups.