% experimental, based on an idea by Aditya, messed up by Hans. \unprotect \installnamespace{overview} \installsimplecommandhandler \????overview {overview} \initializeboxstack{\????overview} \let\overviewsection\empty \let\overview_previous_headnumber\!!minusone \let\overview_current_headnumber \!!zerocount \unexpanded\def\overview_save_page#1% {\ifx\overviewsection\empty \page_shipouts_normal{#1}% \else \xdef\overview_current_headnumber{\somenamedheadnumber\overviewsection\c!current}% \setbox\nextbox\hbox{#1}% \ifx\overview_previous_headnumber\overview_current_headnumber \else \glet\overview_previous_headnumber\overview_current_headnumber \setbox\scratchbox\copy\nextbox \cleanupbox\scratchbox % remove nodes that should not be seen in the backend twice \writestatus{overview}{saving first page of \overviewsection\space\overview_current_headnumber}% \savebox{\????overview}{\overview_current_headnumber}{\box\scratchbox}% \fi \page_shipouts_normal{\box\nextbox}% \fi} \installshipoutmethod{overview}\overview_save_page \definelistalternative [overview] [\c!renderingsetup=\??listrenderings:overview] \setuplistalternative [overview] [\c!before=\dontleavehmode, \c!after=\space, \c!width=.4\textwidth] % or \listparameter\c!width \startsetups[\??listrenderings:overview] \doifboxelse{\????overview}{\currentlistentrynumber} {\listalternativeparameter\c!before \startcurrentlistentrywrapper \scale [\c!width=\listalternativeparameter\c!width] {\foundbox{\????overview}{\currentlistentrynumber}}% \stopcurrentlistentrywrapper \listalternativeparameter\c!after} {}% \stopsetups \unexpanded\def\placeoverviewpage {\startstandardmakeup[\c!align=\v!middle] \placelist [\overviewsection] [\c!criterium=\v!all, \c!alternative=overview] \stopstandardmakeup} \appendtoks \ifx\overviewsection\empty \edef\overviewsection{\overviewparameter\c!level}% \ifx\overviewsection\empty \setuppaper[\c!method=\v!normal]% \else \setuppaper[\c!method=overview]% \fi \else \writestatus{overview}{level is already set to \overviewsection, ignoring \overviewparameter\c!level}% \fi \to \everysetupoverview \protect \continueifinputfile{m-pageview.mkiv} \usemodule[pageview] \setupinteraction [state=start] \setupoverview [level=section] \setuppapersize [S4] \starttext \dorecurse{4} {\startsection[title={Section #1}] \dorecurse{3}{\input knuth \par} \stopsection \page} \placeoverviewpage \stoptext