Am 14.03.10 15:07, schrieb Andreas Harder:
If one removes the blank line after \section{Section} the output is correct, otherwise \TestSpace is ignored …
\def\DefineSectionBlank {\dotripleempty\doDefineSectionBlank} \def\doDefineSectionBlank[#1][#2][#3]#4% {\edef\CurrentSection{#1}% \setvalue{#1:#2:\ifthirdargument\the\dimexpr#3\relax\fi}{#4}} \def\SectionBlank#1#2% {\edef\CurrentSection{#1}% \executeifdefined{#1:#2:\LastSectionBlankSignal}{\executeifdefined{#1:#2:\the\dimexpr\zeropoint\relax}{\getvalue{#1:#2:}}}% \doif{#2}{after}{\SectionBlankSignal}} \let\LastSectionBlankSignal\zeropoint \EveryPar{\let\LastSectionBlankSignal\zeropoint} \def\SectionBlankSignal {\setevalue{LastSectionBlankSignal}{\the\dimexpr\csname\CurrentSection Signal\endcsname\relax}} % chapter \DefineSectionBlank [Chapter] [before] {\blank[force,48pt]} \DefineSectionBlank [Chapter] [after] {\blank[20pt]} \newsignal\ChapterSignal \setuphead [chapter] [before=\SectionBlank{Chapter}{before}, after=\SectionBlank{Chapter}{after}] % section \newsignal\SectionSignal \DefineSectionBlank [Section] [before] [\ChapterSignal] {\blank[18pt]} \DefineSectionBlank [Section] [before] {\blank[24pt]} \DefineSectionBlank [Section] [after] {\blank[18pt]} \setuphead [section] [before=\SectionBlank{Section}{before}, after=\SectionBlank{Section}{after}] \showgrid \starttext \chapter{Chapter} \section{Section} \chapter{Chapter}\edef\CurrentSection{Section}\SectionBlankSignal % tell \section the last header was \section too! \section{Section} \chapter{Chapter} text \section{Section} \stoptext Wolfgang