[NTG-context] sections

Rik rik at panix.com
Sun Jun 1 17:40:44 CEST 2014


On 2014-06-01 07:51, Hans Hagen wrote:
> Hi Pablo,
>
> The section breaks are a bit of a headache. In the old mechanism (also 
> mkii) we used penalties between different section levels (different 
> values so that there is some hierarchy).
>
> In mkiv we have a weighted penalty/glue mechanism which has advantages 
> but can also create side effects. The method of a few weeks ago coul 
> deal with
>
> \section followed by 100 \subsections
>
> i.e. no text between this. In a strict mechanism you end up with one 
> long page fur to all the penalties. So, there was some precaution for 
> this. However that didn't work well with content following sections 
> that prefers breaks (read: section head followed by e.g. itemize or 
> tabulate).
>
> So, the newer mechanism tries to analyze the page stream which 
> (currently) is somewhat tricky. That's why we need to iterate to an 
> acceptable solution.
>
> Some of these mkiv mechanisms are already a bit old and could be done 
> better using some newer luatex trickery (but i need tome to do that).
>
> It would be nice to have a large test case for this (sort of hard to 
> make one as some trial and error is involved). As you already have 
> some, best collect them for future reference.
>
> A new beta ...
>
> Hans
>
Hans,

Is this also the cause of problems I noted with heading placed into the 
margin, as in the example below?

    %   Extra whitespace after some marginal section headings
    %
    %   When section heads are set in the margin, the following body
    %   text should start on the same line as the heading. This is
    %   the case with plain text, but not always the case with other
    %   features (floats and enumerations). Wolfgang suggested adding
    %   insidesection={blank[overlay]} to the section heading setup, but
    %   that only helps with enumerations and with tabulate tables that do
    %   not start with an HL (it fails with natural tables as well). And
    %   that success only comes with start/stop sectioning. With traditional
    %   sectioning, there are more failures.
    %
    %
           \setupexternalfigures[location=default]
           \setuphead
             [section]
             [alternative=text,
              command=\SectionCommand,
              distance=0pt,
              insidesection={\blank[overlay]},
             ]

           \define[2]\SectionCommand
             {\inmargin{#1 -- #2}}

           \setuplayout[backspace=4cm]

           \starttext
           \startchapter[title={Start/Stop sectioning}]
           \startsection[title={Okay with text first}]

           Text here
           \starttabulate
           \FL \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate

           \stopsection
           \startsection[title={Okay with itemize}]

           \startitemize
           \item One
           \item Two
           \item Three
           \stopitemize

           \stopsection
           \startsection[title={Okay with tabulate no HL}]

           \starttabulate
           \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate

           \page
           \stopsection
           \startsection[title={Fail with tabulate HL}]

           \starttabulate
           \FL \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate
           \stopsection
           \startsection[title={Fail with TABLE frame}]

           \bTABLE
           \bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
           \eTABLE

           \stopsection
           \startsection[title={Fail with TABLE no frame}]

           \bTABLE[frame=off]
           \bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
           \eTABLE

           \page
           \stopsection
           \startsection[title={Fails with figures}]

    \startplacefigure[location=right,reference={fig:2},title={Caption}]
             \externalfigure[cow.pdf][width=2cm]
           \stopplacefigure

           \input{tufte}

           \stopsection
           \stopchapter

           \chapter{Traditional sectioning}

           \section{Okay with text first}

           Text here
           \starttabulate
           \FL \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate

           \section{Fail with itemize}

           \startitemize
           \item One
           \item Two
           \item Three
           \stopitemize

           \page
           \section{Fail with tabulate no HL}

           \starttabulate
           \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate

           \section{Fail with tabulate HL}

           \starttabulate
           \FL \NC Knuth \NC \input{knuth} \NC\NR
           \stoptabulate

           \section{Fail with TABLE frame}

           \bTABLE
           \bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
           \eTABLE

           \section{Fail with TABLE no frame}

           \bTABLE[frame=off]
           \bTR \bTD Knuth \eTD\bTD \input{knuth} \eTD\eTR
           \eTABLE

           \page
           \section[title={Fails with figures startstop}]

    \startplacefigure[location=right,reference={fig:2},title={Caption}]
             \externalfigure[cow.pdf][width=2cm]
           \stopplacefigure

           \input{tufte}

           \section[title={Fails with figures traditional}]

           \placefigure[right][fig:2]{Caption}
             {\externalfigure[cow.pdf][width=2cm]}

           \input{tufte}

           \stoptext

    -- 
    Rik Kabel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20140601/8d5dbbdd/attachment.html>


More information about the ntg-context mailing list